1
+ ( function webpackUniversalModuleDefinition ( root , factory ) {
2
+ if ( typeof exports === 'object' && typeof module === 'object' )
3
+ module . exports = factory ( require ( "react" ) ) ;
4
+ else if ( typeof define === 'function' && define . amd )
5
+ define ( [ "react" ] , factory ) ;
6
+ else if ( typeof exports === 'object' )
7
+ exports [ "MediaQueryable" ] = factory ( require ( "react" ) ) ;
8
+ else
9
+ root [ "MediaQueryable" ] = factory ( root [ "React" ] ) ;
10
+ } ) ( this , function ( __WEBPACK_EXTERNAL_MODULE_2__ ) {
11
+ return /******/ ( function ( modules ) { // webpackBootstrap
12
+ /******/ // The module cache
13
+ /******/ var installedModules = { } ;
14
+
15
+ /******/ // The require function
16
+ /******/ function __webpack_require__ ( moduleId ) {
17
+
18
+ /******/ // Check if module is in cache
19
+ /******/ if ( installedModules [ moduleId ] )
20
+ /******/ return installedModules [ moduleId ] . exports ;
21
+
22
+ /******/ // Create a new module (and put it into the cache)
23
+ /******/ var module = installedModules [ moduleId ] = {
24
+ /******/ exports : { } ,
25
+ /******/ id : moduleId ,
26
+ /******/ loaded : false
27
+ /******/ } ;
28
+
29
+ /******/ // Execute the module function
30
+ /******/ modules [ moduleId ] . call ( module . exports , module , module . exports , __webpack_require__ ) ;
31
+
32
+ /******/ // Flag the module as loaded
33
+ /******/ module . loaded = true ;
34
+
35
+ /******/ // Return the exports of the module
36
+ /******/ return module . exports ;
37
+ /******/ }
38
+
39
+
40
+ /******/ // expose the modules object (__webpack_modules__)
41
+ /******/ __webpack_require__ . m = modules ;
42
+
43
+ /******/ // expose the module cache
44
+ /******/ __webpack_require__ . c = installedModules ;
45
+
46
+ /******/ // __webpack_public_path__
47
+ /******/ __webpack_require__ . p = "" ;
48
+
49
+ /******/ // Load entry module and return exports
50
+ /******/ return __webpack_require__ ( 0 ) ;
51
+ /******/ } )
52
+ /************************************************************************/
53
+ /******/ ( [
54
+ /* 0 */
55
+ /***/ function ( module , exports , __webpack_require__ ) {
56
+
57
+ module . exports = __webpack_require__ ( 1 ) ;
58
+
59
+
60
+ /***/ } ,
61
+ /* 1 */
62
+ /***/ function ( module , exports , __webpack_require__ ) {
63
+
64
+ var React = __webpack_require__ ( 2 ) ;
65
+ var MediaListener = __webpack_require__ ( 3 ) ;
66
+
67
+ module . exports = React . createClass ( {
68
+ displayName : 'MediaQueryable' ,
69
+
70
+ getInitialState : function ( ) {
71
+ return {
72
+ mediaQuery : undefined
73
+ } ;
74
+ } ,
75
+
76
+ componentDidMount : function ( ) {
77
+ new MediaListener ( this . props . mediaQueries , this . _onMediaQueryChange ) ;
78
+ } ,
79
+
80
+ render : function ( ) {
81
+ if ( this . state . mediaQuery == undefined ) {
82
+ return null ;
83
+ }
84
+
85
+ var renderedChildren = React . Children . map ( this . props . children , function ( child ) {
86
+ return React . cloneElement ( child , { mediaQuery : this . state . mediaQuery } ) ;
87
+ } . bind ( this ) ) ;
88
+ return React . DOM . div ( { children : renderedChildren } ) ;
89
+ } ,
90
+
91
+ _onMediaQueryChange : function ( name ) {
92
+ this . setState ( {
93
+ mediaQuery : name
94
+ } ) ;
95
+ }
96
+ } ) ;
97
+
98
+
99
+ /***/ } ,
100
+ /* 2 */
101
+ /***/ function ( module , exports , __webpack_require__ ) {
102
+
103
+ module . exports = __WEBPACK_EXTERNAL_MODULE_2__ ;
104
+
105
+ /***/ } ,
106
+ /* 3 */
107
+ /***/ function ( module , exports , __webpack_require__ ) {
108
+
109
+ function MediaListener ( mediaQueries , changeHandler ) {
110
+ this . mediaQueries = mediaQueries ;
111
+ this . changeHandler = changeHandler ;
112
+
113
+ var mediaQuery ;
114
+ for ( mediaQuery in this . mediaQueries ) {
115
+ this . _setupMediaQuery ( mediaQuery ) ;
116
+ }
117
+ }
118
+
119
+ MediaListener . prototype . _setupMediaQuery = function ( name ) {
120
+ var mql = window . matchMedia ( this . mediaQueries [ name ] ) ;
121
+ mql . addListener ( function ( e ) {
122
+ return this . _handleMediaQueryChange ( e . matches , name ) ;
123
+ } . bind ( this ) ) ;
124
+ return this . _handleMediaQueryChange ( mql . matches , name ) ;
125
+ } ;
126
+
127
+ MediaListener . prototype . _handleMediaQueryChange = function ( matches , name ) {
128
+ if ( matches ) {
129
+ return this . changeHandler ( name ) ;
130
+ }
131
+ } ;
132
+
133
+ module . exports = MediaListener ;
134
+
135
+
136
+ /***/ }
137
+ /******/ ] )
138
+ } ) ;
139
+ ;
0 commit comments