{"version":3,"sources":["node_modules\\react-native-web\\dist\\modules\\applyLayout\\index.js"],"names":["_ExecutionEnvironment","require","_debounce","_debounce2","_interopRequireDefault","obj","__esModule","default","emptyObject","registry","id","guid","canUseDOM","triggerAll","Object","keys","forEach","key","instance","_handleLayout","window","addEventListener","safeOverride","original","next","prototypeOverride","call","applyLayout","Component","componentDidMount","prototype","componentDidUpdate","componentWillUnmount","_layoutState","_isMounted","_onLayoutId","_this","layout","onLayout","props","measure","x","y","width","height","nativeEvent","timeStamp","Date","now","module","exports"],"mappings":"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","file":"index.js","sourceRoot":"d:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["\n\n\n\n\n\n\nvar _ExecutionEnvironment=require('fbjs/lib/ExecutionEnvironment');\nvar _debounce=require('debounce');var _debounce2=_interopRequireDefault(_debounce);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}\n\nvar emptyObject={};\nvar registry={};\n\nvar id=1;\nvar guid=function guid(){return'r-'+id++;};\n\nif(_ExecutionEnvironment.canUseDOM){\nvar triggerAll=function triggerAll(){\nObject.keys(registry).forEach(function(key){\nvar instance=registry[key];\ninstance._handleLayout();\n});\n};\n\nwindow.addEventListener('resize',(0,_debounce2.default)(triggerAll,16),false);\n}\n\nvar safeOverride=function safeOverride(original,next){\nif(original){\nreturn function prototypeOverride(){\noriginal.call(this);\nnext.call(this);\n};\n}\nreturn next;\n};\n\nvar applyLayout=function applyLayout(Component){\nvar componentDidMount=Component.prototype.componentDidMount;\nvar componentDidUpdate=Component.prototype.componentDidUpdate;\nvar componentWillUnmount=Component.prototype.componentWillUnmount;\n\nComponent.prototype.componentDidMount=safeOverride(\ncomponentDidMount,\nfunction componentDidMount(){\nthis._layoutState=emptyObject;\nthis._isMounted=true;\nthis._onLayoutId=guid();\nregistry[this._onLayoutId]=this;\nthis._handleLayout();\n});\n\n\nComponent.prototype.componentDidUpdate=safeOverride(\ncomponentDidUpdate,\nfunction componentDidUpdate(){\nthis._handleLayout();\n});\n\n\nComponent.prototype.componentWillUnmount=safeOverride(\ncomponentWillUnmount,\nfunction componentWillUnmount(){\nthis._isMounted=false;\ndelete registry[this._onLayoutId];\n});\n\n\nComponent.prototype._handleLayout=function(){var _this=this;\nvar layout=this._layoutState;var\nonLayout=this.props.onLayout;\n\nif(onLayout){\nthis.measure(function(x,y,width,height){\nif(!_this._isMounted)return;\n\nif(\nlayout.x!==x||\nlayout.y!==y||\nlayout.width!==width||\nlayout.height!==height)\n{\n_this._layoutState={x:x,y:y,width:width,height:height};\nvar nativeEvent={layout:_this._layoutState};\nonLayout({nativeEvent:nativeEvent,timeStamp:Date.now()});\n}\n});\n}\n};\nreturn Component;\n};\n\nmodule.exports=applyLayout;"]}