{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport invariant from 'fbjs/lib/invariant';\nvar dimensions = {\n  window: {\n    fontScale: 1,\n    height: 0,\n    scale: 1,\n    width: 0\n  },\n  screen: {\n    fontScale: 1,\n    height: 0,\n    scale: 1,\n    width: 0\n  }\n};\nvar listeners = {};\n\nvar Dimensions = function () {\n  function Dimensions() {}\n\n  Dimensions.get = function get(dimension) {\n    invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n    return dimensions[dimension];\n  };\n\n  Dimensions.set = function set(initialDimensions) {\n    if (initialDimensions) {\n      if (canUseDOM) {\n        invariant(false, 'Dimensions cannot be set in the browser');\n      } else {\n        if (initialDimensions.screen != null) {\n          dimensions.screen = initialDimensions.screen;\n        }\n\n        if (initialDimensions.window != null) {\n          dimensions.window = initialDimensions.window;\n        }\n      }\n    }\n  };\n\n  Dimensions._update = function _update() {\n    if (!canUseDOM) {\n      return;\n    }\n\n    var win = window;\n    var docEl = win.document.documentElement;\n    dimensions.window = {\n      fontScale: 1,\n      height: docEl.clientHeight,\n      scale: win.devicePixelRatio || 1,\n      width: docEl.clientWidth\n    };\n    dimensions.screen = {\n      fontScale: 1,\n      height: win.screen.height,\n      scale: win.devicePixelRatio || 1,\n      width: win.screen.width\n    };\n\n    if (Array.isArray(listeners['change'])) {\n      listeners['change'].forEach(function (handler) {\n        return handler(dimensions);\n      });\n    }\n  };\n\n  Dimensions.addEventListener = function addEventListener(type, handler) {\n    listeners[type] = listeners[type] || [];\n    listeners[type].push(handler);\n  };\n\n  Dimensions.removeEventListener = function removeEventListener(type, handler) {\n    if (Array.isArray(listeners[type])) {\n      listeners[type] = listeners[type].filter(function (_handler) {\n        return _handler !== handler;\n      });\n    }\n  };\n\n  return Dimensions;\n}();\n\nexport { Dimensions as default };\n\nif (canUseDOM) {\n  Dimensions._update();\n\n  window.addEventListener('resize', Dimensions._update, false);\n}","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-web/dist/exports/Dimensions/index.js"],"names":["canUseDOM","invariant","dimensions","window","fontScale","height","scale","width","screen","listeners","Dimensions","get","dimension","set","initialDimensions","_update","win","docEl","document","documentElement","clientHeight","devicePixelRatio","clientWidth","Array","isArray","forEach","handler","addEventListener","type","push","removeEventListener","filter","_handler","default"],"mappings":"AASA,SAASA,SAAT,QAA0B,+BAA1B;AACA,OAAOC,SAAP,MAAsB,oBAAtB;AACA,IAAIC,UAAU,GAAG;AACfC,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE,CADL;AAENC,IAAAA,MAAM,EAAE,CAFF;AAGNC,IAAAA,KAAK,EAAE,CAHD;AAINC,IAAAA,KAAK,EAAE;AAJD,GADO;AAOfC,EAAAA,MAAM,EAAE;AACNJ,IAAAA,SAAS,EAAE,CADL;AAENC,IAAAA,MAAM,EAAE,CAFF;AAGNC,IAAAA,KAAK,EAAE,CAHD;AAINC,IAAAA,KAAK,EAAE;AAJD;AAPO,CAAjB;AAcA,IAAIE,SAAS,GAAG,EAAhB;;AAEA,IAAIC,UAAU,GAAgB,YAAY;AACxC,WAASA,UAAT,GAAsB,CAAE;;AAExBA,EAAAA,UAAU,CAACC,GAAX,GAAiB,SAASA,GAAT,CAAaC,SAAb,EAAwB;AACvCX,IAAAA,SAAS,CAACC,UAAU,CAACU,SAAD,CAAX,EAAwB,8BAA8BA,SAAtD,CAAT;AACA,WAAOV,UAAU,CAACU,SAAD,CAAjB;AACD,GAHD;;AAKAF,EAAAA,UAAU,CAACG,GAAX,GAAiB,SAASA,GAAT,CAAaC,iBAAb,EAAgC;AAC/C,QAAIA,iBAAJ,EAAuB;AACrB,UAAId,SAAJ,EAAe;AACbC,QAAAA,SAAS,CAAC,KAAD,EAAQ,yCAAR,CAAT;AACD,OAFD,MAEO;AACL,YAAIa,iBAAiB,CAACN,MAAlB,IAA4B,IAAhC,EAAsC;AACpCN,UAAAA,UAAU,CAACM,MAAX,GAAoBM,iBAAiB,CAACN,MAAtC;AACD;;AAED,YAAIM,iBAAiB,CAACX,MAAlB,IAA4B,IAAhC,EAAsC;AACpCD,UAAAA,UAAU,CAACC,MAAX,GAAoBW,iBAAiB,CAACX,MAAtC;AACD;AACF;AACF;AACF,GAdD;;AAgBAO,EAAAA,UAAU,CAACK,OAAX,GAAqB,SAASA,OAAT,GAAmB;AACtC,QAAI,CAACf,SAAL,EAAgB;AACd;AACD;;AAED,QAAIgB,GAAG,GAAGb,MAAV;AACA,QAAIc,KAAK,GAAGD,GAAG,CAACE,QAAJ,CAAaC,eAAzB;AACAjB,IAAAA,UAAU,CAACC,MAAX,GAAoB;AAClBC,MAAAA,SAAS,EAAE,CADO;AAElBC,MAAAA,MAAM,EAAEY,KAAK,CAACG,YAFI;AAGlBd,MAAAA,KAAK,EAAEU,GAAG,CAACK,gBAAJ,IAAwB,CAHb;AAIlBd,MAAAA,KAAK,EAAEU,KAAK,CAACK;AAJK,KAApB;AAMApB,IAAAA,UAAU,CAACM,MAAX,GAAoB;AAClBJ,MAAAA,SAAS,EAAE,CADO;AAElBC,MAAAA,MAAM,EAAEW,GAAG,CAACR,MAAJ,CAAWH,MAFD;AAGlBC,MAAAA,KAAK,EAAEU,GAAG,CAACK,gBAAJ,IAAwB,CAHb;AAIlBd,MAAAA,KAAK,EAAES,GAAG,CAACR,MAAJ,CAAWD;AAJA,KAApB;;AAOA,QAAIgB,KAAK,CAACC,OAAN,CAAcf,SAAS,CAAC,QAAD,CAAvB,CAAJ,EAAwC;AACtCA,MAAAA,SAAS,CAAC,QAAD,CAAT,CAAoBgB,OAApB,CAA4B,UAAUC,OAAV,EAAmB;AAC7C,eAAOA,OAAO,CAACxB,UAAD,CAAd;AACD,OAFD;AAGD;AACF,GAzBD;;AA2BAQ,EAAAA,UAAU,CAACiB,gBAAX,GAA8B,SAASA,gBAAT,CAA0BC,IAA1B,EAAgCF,OAAhC,EAAyC;AACrEjB,IAAAA,SAAS,CAACmB,IAAD,CAAT,GAAkBnB,SAAS,CAACmB,IAAD,CAAT,IAAmB,EAArC;AACAnB,IAAAA,SAAS,CAACmB,IAAD,CAAT,CAAgBC,IAAhB,CAAqBH,OAArB;AACD,GAHD;;AAKAhB,EAAAA,UAAU,CAACoB,mBAAX,GAAiC,SAASA,mBAAT,CAA6BF,IAA7B,EAAmCF,OAAnC,EAA4C;AAC3E,QAAIH,KAAK,CAACC,OAAN,CAAcf,SAAS,CAACmB,IAAD,CAAvB,CAAJ,EAAoC;AAClCnB,MAAAA,SAAS,CAACmB,IAAD,CAAT,GAAkBnB,SAAS,CAACmB,IAAD,CAAT,CAAgBG,MAAhB,CAAuB,UAAUC,QAAV,EAAoB;AAC3D,eAAOA,QAAQ,KAAKN,OAApB;AACD,OAFiB,CAAlB;AAGD;AACF,GAND;;AAQA,SAAOhB,UAAP;AACD,CAjE6B,EAA9B;;AAmEA,SAASA,UAAU,IAAIuB,OAAvB;;AAEA,IAAIjC,SAAJ,EAAe;AACbU,EAAAA,UAAU,CAACK,OAAX;;AAEAZ,EAAAA,MAAM,CAACwB,gBAAP,CAAwB,QAAxB,EAAkCjB,UAAU,CAACK,OAA7C,EAAsD,KAAtD;AACD","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport invariant from 'fbjs/lib/invariant';\nvar dimensions = {\n  window: {\n    fontScale: 1,\n    height: 0,\n    scale: 1,\n    width: 0\n  },\n  screen: {\n    fontScale: 1,\n    height: 0,\n    scale: 1,\n    width: 0\n  }\n};\nvar listeners = {};\n\nvar Dimensions = /*#__PURE__*/function () {\n  function Dimensions() {}\n\n  Dimensions.get = function get(dimension) {\n    invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n    return dimensions[dimension];\n  };\n\n  Dimensions.set = function set(initialDimensions) {\n    if (initialDimensions) {\n      if (canUseDOM) {\n        invariant(false, 'Dimensions cannot be set in the browser');\n      } else {\n        if (initialDimensions.screen != null) {\n          dimensions.screen = initialDimensions.screen;\n        }\n\n        if (initialDimensions.window != null) {\n          dimensions.window = initialDimensions.window;\n        }\n      }\n    }\n  };\n\n  Dimensions._update = function _update() {\n    if (!canUseDOM) {\n      return;\n    }\n\n    var win = window;\n    var docEl = win.document.documentElement;\n    dimensions.window = {\n      fontScale: 1,\n      height: docEl.clientHeight,\n      scale: win.devicePixelRatio || 1,\n      width: docEl.clientWidth\n    };\n    dimensions.screen = {\n      fontScale: 1,\n      height: win.screen.height,\n      scale: win.devicePixelRatio || 1,\n      width: win.screen.width\n    };\n\n    if (Array.isArray(listeners['change'])) {\n      listeners['change'].forEach(function (handler) {\n        return handler(dimensions);\n      });\n    }\n  };\n\n  Dimensions.addEventListener = function addEventListener(type, handler) {\n    listeners[type] = listeners[type] || [];\n    listeners[type].push(handler);\n  };\n\n  Dimensions.removeEventListener = function removeEventListener(type, handler) {\n    if (Array.isArray(listeners[type])) {\n      listeners[type] = listeners[type].filter(function (_handler) {\n        return _handler !== handler;\n      });\n    }\n  };\n\n  return Dimensions;\n}();\n\nexport { Dimensions as default };\n\nif (canUseDOM) {\n  Dimensions._update();\n\n  window.addEventListener('resize', Dimensions._update, false);\n}"]},"metadata":{},"sourceType":"module"}