{"ast":null,"code":"import getBoundingClientRect from \"../../modules/getBoundingClientRect\";\nimport setValueForStyles from \"../../modules/setValueForStyles\";\n\nvar getRect = function getRect(node) {\n  var _getBoundingClientRec = getBoundingClientRect(node),\n      x = _getBoundingClientRec.x,\n      y = _getBoundingClientRec.y,\n      top = _getBoundingClientRec.top,\n      left = _getBoundingClientRec.left;\n\n  var width = node.offsetWidth;\n  var height = node.offsetHeight;\n  return {\n    x: x,\n    y: y,\n    width: width,\n    height: height,\n    top: top,\n    left: left\n  };\n};\n\nvar _measureLayout = function measureLayout(node, relativeToNativeNode, callback) {\n  var relativeNode = relativeToNativeNode || node && node.parentNode;\n\n  if (node && relativeNode) {\n    setTimeout(function () {\n      var relativeRect = getBoundingClientRect(relativeNode);\n\n      var _getRect = getRect(node),\n          height = _getRect.height,\n          left = _getRect.left,\n          top = _getRect.top,\n          width = _getRect.width;\n\n      var x = left - relativeRect.left;\n      var y = top - relativeRect.top;\n      callback(x, y, width, height, left, top);\n    }, 0);\n  }\n};\n\nvar focusableElements = {\n  A: true,\n  INPUT: true,\n  SELECT: true,\n  TEXTAREA: true\n};\nvar UIManager = {\n  blur: function blur(node) {\n    try {\n      node.blur();\n    } catch (err) {}\n  },\n  focus: function focus(node) {\n    try {\n      var name = node.nodeName;\n\n      if (node.getAttribute('tabIndex') == null && focusableElements[name] == null) {\n        node.setAttribute('tabIndex', '-1');\n      }\n\n      node.focus();\n    } catch (err) {}\n  },\n  measure: function measure(node, callback) {\n    _measureLayout(node, null, callback);\n  },\n  measureInWindow: function measureInWindow(node, callback) {\n    if (node) {\n      setTimeout(function () {\n        var _getRect2 = getRect(node),\n            height = _getRect2.height,\n            left = _getRect2.left,\n            top = _getRect2.top,\n            width = _getRect2.width;\n\n        callback(left, top, width, height);\n      }, 0);\n    }\n  },\n  measureLayout: function measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n    _measureLayout(node, relativeToNativeNode, onSuccess);\n  },\n  updateView: function updateView(node, props) {\n    for (var prop in props) {\n      if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n        continue;\n      }\n\n      var value = props[prop];\n\n      switch (prop) {\n        case 'style':\n          {\n            setValueForStyles(node, value);\n            break;\n          }\n\n        case 'class':\n        case 'className':\n          {\n            node.setAttribute('class', value);\n            break;\n          }\n\n        case 'text':\n        case 'value':\n          node.value = value;\n          break;\n\n        default:\n          node.setAttribute(prop, value);\n      }\n    }\n  },\n  configureNextLayoutAnimation: function configureNextLayoutAnimation(config, onAnimationDidEnd) {\n    onAnimationDidEnd();\n  },\n  setLayoutAnimationEnabledExperimental: function setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","map":{"version":3,"sources":["/Users/nishan/Desktop/oss/responsive-breakpoints/example/node_modules/react-native-web/dist/exports/UIManager/index.js"],"names":["getBoundingClientRect","setValueForStyles","getRect","node","_getBoundingClientRec","x","y","top","left","width","offsetWidth","height","offsetHeight","_measureLayout","measureLayout","relativeToNativeNode","callback","relativeNode","parentNode","setTimeout","relativeRect","_getRect","focusableElements","A","INPUT","SELECT","TEXTAREA","UIManager","blur","err","focus","name","nodeName","getAttribute","setAttribute","measure","measureInWindow","_getRect2","onFail","onSuccess","updateView","props","prop","Object","prototype","hasOwnProperty","call","value","configureNextLayoutAnimation","config","onAnimationDidEnd","setLayoutAnimationEnabledExperimental"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\n\nvar getRect = function getRect(node) {\n  // Unlike the DOM's getBoundingClientRect, React Native layout measurements\n  // for \"height\" and \"width\" ignore scale transforms.\n  // https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Determining_the_dimensions_of_elements\n  var _getBoundingClientRec = getBoundingClientRect(node),\n      x = _getBoundingClientRec.x,\n      y = _getBoundingClientRec.y,\n      top = _getBoundingClientRec.top,\n      left = _getBoundingClientRec.left;\n\n  var width = node.offsetWidth;\n  var height = node.offsetHeight;\n  return {\n    x: x,\n    y: y,\n    width: width,\n    height: height,\n    top: top,\n    left: left\n  };\n};\n\nvar _measureLayout = function measureLayout(node, relativeToNativeNode, callback) {\n  var relativeNode = relativeToNativeNode || node && node.parentNode;\n\n  if (node && relativeNode) {\n    setTimeout(function () {\n      var relativeRect = getBoundingClientRect(relativeNode);\n\n      var _getRect = getRect(node),\n          height = _getRect.height,\n          left = _getRect.left,\n          top = _getRect.top,\n          width = _getRect.width;\n\n      var x = left - relativeRect.left;\n      var y = top - relativeRect.top;\n      callback(x, y, width, height, left, top);\n    }, 0);\n  }\n};\n\nvar focusableElements = {\n  A: true,\n  INPUT: true,\n  SELECT: true,\n  TEXTAREA: true\n};\nvar UIManager = {\n  blur: function blur(node) {\n    try {\n      node.blur();\n    } catch (err) {}\n  },\n  focus: function focus(node) {\n    try {\n      var name = node.nodeName; // A tabIndex of -1 allows element to be programmatically focused but\n      // prevents keyboard focus, so we don't want to set the value on elements\n      // that support keyboard focus by default.\n\n      if (node.getAttribute('tabIndex') == null && focusableElements[name] == null) {\n        node.setAttribute('tabIndex', '-1');\n      }\n\n      node.focus();\n    } catch (err) {}\n  },\n  measure: function measure(node, callback) {\n    _measureLayout(node, null, callback);\n  },\n  measureInWindow: function measureInWindow(node, callback) {\n    if (node) {\n      setTimeout(function () {\n        var _getRect2 = getRect(node),\n            height = _getRect2.height,\n            left = _getRect2.left,\n            top = _getRect2.top,\n            width = _getRect2.width;\n\n        callback(left, top, width, height);\n      }, 0);\n    }\n  },\n  measureLayout: function measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n    _measureLayout(node, relativeToNativeNode, onSuccess);\n  },\n  updateView: function updateView(node, props) {\n    for (var prop in props) {\n      if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n        continue;\n      }\n\n      var value = props[prop];\n\n      switch (prop) {\n        case 'style':\n          {\n            setValueForStyles(node, value);\n            break;\n          }\n\n        case 'class':\n        case 'className':\n          {\n            node.setAttribute('class', value);\n            break;\n          }\n\n        case 'text':\n        case 'value':\n          // native platforms use `text` prop to replace text input value\n          node.value = value;\n          break;\n\n        default:\n          node.setAttribute(prop, value);\n      }\n    }\n  },\n  configureNextLayoutAnimation: function configureNextLayoutAnimation(config, onAnimationDidEnd) {\n    onAnimationDidEnd();\n  },\n  // mocks\n  setLayoutAnimationEnabledExperimental: function setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;"]},"metadata":{},"sourceType":"module"}