1c395a3c2cfa5cac6bc3f293f465d1e3.json 32.5 KB
{"ast":null,"code":"var _interopRequireDefault=require(\"@babel/runtime/helpers/interopRequireDefault\");Object.defineProperty(exports,\"__esModule\",{value:true});exports.default=createStyleResolver;var _extends2=_interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));var _ExecutionEnvironment=require(\"fbjs/lib/ExecutionEnvironment\");var _createCSSStyleSheet=_interopRequireDefault(require(\"./createCSSStyleSheet\"));var _createCompileableStyle=_interopRequireDefault(require(\"./createCompileableStyle\"));var _createOrderedCSSStyleSheet=_interopRequireDefault(require(\"./createOrderedCSSStyleSheet\"));var _flattenArray=_interopRequireDefault(require(\"../../modules/flattenArray\"));var _flattenStyle=_interopRequireDefault(require(\"./flattenStyle\"));var _I18nManager=_interopRequireDefault(require(\"../I18nManager\"));var _i18nStyle=_interopRequireDefault(require(\"./i18nStyle\"));var _compile=require(\"./compile\");var _initialRules=_interopRequireDefault(require(\"./initialRules\"));var _modality=_interopRequireDefault(require(\"./modality\"));var _constants=require(\"./constants\");function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==='function'){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable;}));}ownKeys.forEach(function(key){_defineProperty(target,key,source[key]);});}return target;}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}var emptyObject={};function createStyleResolver(){var inserted,sheet,lookup;var resolved={css:{},ltr:{},rtl:{},rtlNoSwap:{}};var init=function init(){inserted={css:{},ltr:{},rtl:{},rtlNoSwap:{}};sheet=(0,_createOrderedCSSStyleSheet.default)((0,_createCSSStyleSheet.default)(_constants.STYLE_ELEMENT_ID));lookup={byClassName:{},byProp:{}};(0,_modality.default)(function(rule){return sheet.insert(rule,_constants.STYLE_GROUPS.modality);});_initialRules.default.forEach(function(rule){sheet.insert(rule,_constants.STYLE_GROUPS.reset);});};init();function addToLookup(className,prop,value){if(!lookup.byProp[prop]){lookup.byProp[prop]={};}lookup.byProp[prop][value]=className;lookup.byClassName[className]={prop:prop,value:value};}function getClassName(prop,value){var val=(0,_compile.stringifyValueWithProperty)(value,prop);var cache=lookup.byProp;return cache[prop]&&cache[prop].hasOwnProperty(val)&&cache[prop][val];}function _injectRegisteredStyle(id){var doLeftAndRightSwapInRTL=_I18nManager.default.doLeftAndRightSwapInRTL,isRTL=_I18nManager.default.isRTL;var dir=isRTL?doLeftAndRightSwapInRTL?'rtl':'rtlNoSwap':'ltr';if(!inserted[dir][id]){var style=(0,_createCompileableStyle.default)((0,_i18nStyle.default)((0,_flattenStyle.default)(id)));var results=(0,_compile.atomic)(style);Object.keys(results).forEach(function(key){var _results$key=results[key],identifier=_results$key.identifier,property=_results$key.property,rules=_results$key.rules,value=_results$key.value;addToLookup(identifier,property,value);rules.forEach(function(rule){var group=_constants.STYLE_GROUPS.custom[property]||_constants.STYLE_GROUPS.atomic;sheet.insert(rule,group);});});inserted[dir][id]=true;}}function resolve(style,classList){var nextClassList=[];var props={};if(!style&&!classList){return props;}if(Array.isArray(classList)){(0,_flattenArray.default)(classList).forEach(function(identifier){if(identifier){if(inserted.css[identifier]==null&&resolved.css[identifier]!=null){var item=resolved.css[identifier];item.rules.forEach(function(rule){sheet.insert(rule,item.group);});inserted.css[identifier]=true;}nextClassList.push(identifier);}});}if(typeof style==='number'){_injectRegisteredStyle(style);var key=createCacheKey(style);props=_resolveStyle(style,key);}else if(!Array.isArray(style)){props=_resolveStyle(style);}else{var flatArray=(0,_flattenArray.default)(style);var isArrayOfNumbers=true;var cacheKey='';for(var i=0;i<flatArray.length;i++){var id=flatArray[i];if(typeof id!=='number'){isArrayOfNumbers=false;}else{if(isArrayOfNumbers){cacheKey+=id+'-';}_injectRegisteredStyle(id);}}var _key=isArrayOfNumbers?createCacheKey(cacheKey):null;props=_resolveStyle(flatArray,_key);}nextClassList.push.apply(nextClassList,props.classList);var finalProps={className:classListToString(nextClassList),classList:nextClassList};if(props.style){finalProps.style=props.style;}return finalProps;}function resolveWithNode(rnStyleNext,node){function getDeclaration(className){return lookup.byClassName[className]||emptyObject;}var _getDOMStyleInfo=getDOMStyleInfo(node),rdomClassList=_getDOMStyleInfo.classList,rdomStyle=_getDOMStyleInfo.style;var _rdomClassList$reduce=rdomClassList.reduce(function(styleProps,className){var _getDeclaration=getDeclaration(className),prop=_getDeclaration.prop,value=_getDeclaration.value;if(prop){styleProps.style[prop]=value;}else{styleProps.classList.push(className);}return styleProps;},{classList:[],style:{}}),rnClassList=_rdomClassList$reduce.classList,rnStyle=_rdomClassList$reduce.style;var _resolve=resolve([(0,_i18nStyle.default)(rnStyle),rnStyleNext]),rdomClassListNext=_resolve.classList,rdomStyleNext=_resolve.style;var className=classListToString(rdomClassListNext.concat(rnClassList));var style=_objectSpread({},rdomStyle);rdomClassListNext.forEach(function(className){var _getDeclaration2=getDeclaration(className),prop=_getDeclaration2.prop;if(style[prop]){style[prop]='';}});(0,_extends2.default)(style,rdomStyleNext);return{className:className,style:style};}function _resolveStyle(style,key){var doLeftAndRightSwapInRTL=_I18nManager.default.doLeftAndRightSwapInRTL,isRTL=_I18nManager.default.isRTL;var dir=isRTL?doLeftAndRightSwapInRTL?'rtl':'rtlNoSwap':'ltr';if(key!=null&&resolved[dir][key]!=null){return resolved[dir][key];}var flatStyle=(0,_flattenStyle.default)(style);var localizedStyle=(0,_createCompileableStyle.default)((0,_i18nStyle.default)(flatStyle));var props=Object.keys(localizedStyle).sort().reduce(function(props,styleProp){var value=localizedStyle[styleProp];if(value!=null){var className=getClassName(styleProp,value);if(className){props.classList.push(className);}else{if(styleProp==='animationKeyframes'||styleProp==='placeholderTextColor'||styleProp==='pointerEvents'||styleProp==='scrollbarWidth'){var _atomic;var a=(0,_compile.atomic)((_atomic={},_atomic[styleProp]=value,_atomic));Object.values(a).forEach(function(_ref){var identifier=_ref.identifier,rules=_ref.rules;props.classList.push(identifier);rules.forEach(function(rule){sheet.insert(rule,_constants.STYLE_GROUPS.atomic);});});}else{if(!props.style){props.style={};}props.style[styleProp]=value;}}}return props;},{classList:[]});if(props.style){props.style=(0,_compile.inline)(props.style);}if(key!=null){resolved[dir][key]=props;}return props;}return{getStyleSheet:function getStyleSheet(){var textContent=sheet.getTextContent();if(!_ExecutionEnvironment.canUseDOM){init();}return{id:_constants.STYLE_ELEMENT_ID,textContent:textContent};},createCSS:function createCSS(rules,group){var result={};Object.keys(rules).forEach(function(name){var style=rules[name];var compiled=(0,_compile.classic)(style,name);Object.values(compiled).forEach(function(_ref2){var identifier=_ref2.identifier,rules=_ref2.rules;resolved.css[identifier]={group:group||_constants.STYLE_GROUPS.classic,rules:rules};result[name]=identifier;});});return result;},resolve:resolve,sheet:sheet,resolveWithNode:resolveWithNode};}var createCacheKey=function createCacheKey(id){var prefix='rn';return prefix+\"-\"+id;};var classListToString=function classListToString(list){return list.join(' ').trim();};var hyphenPattern=/-([a-z])/g;var toCamelCase=function toCamelCase(str){return str.replace(hyphenPattern,function(m){return m[1].toUpperCase();});};var getDOMStyleInfo=function getDOMStyleInfo(node){var nodeStyle=node.style;var classList=Array.prototype.slice.call(node.classList);var style={};for(var i=0;i<nodeStyle.length;i+=1){var property=nodeStyle.item(i);if(property){style[toCamelCase(property)]=nodeStyle.getPropertyValue(property);}}return{classList:classList,style:style};};","map":{"version":3,"sources":["C:/Users/bluej/Desktop/2_2/searchGuide/searchGuide/node_modules/react-native-web/dist/exports/StyleSheet/createStyleResolver.js"],"names":["_objectSpread","target","i","arguments","length","source","ownKeys","Object","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","enumerable","forEach","key","_defineProperty","obj","value","defineProperty","configurable","writable","emptyObject","createStyleResolver","inserted","sheet","lookup","resolved","css","ltr","rtl","rtlNoSwap","init","STYLE_ELEMENT_ID","byClassName","byProp","rule","insert","STYLE_GROUPS","modality","initialRules","reset","addToLookup","className","prop","getClassName","val","cache","hasOwnProperty","_injectRegisteredStyle","id","doLeftAndRightSwapInRTL","I18nManager","isRTL","dir","style","results","_results$key","identifier","property","rules","group","custom","atomic","resolve","classList","nextClassList","props","Array","isArray","item","push","createCacheKey","_resolveStyle","flatArray","isArrayOfNumbers","cacheKey","_key","apply","finalProps","classListToString","resolveWithNode","rnStyleNext","node","getDeclaration","_getDOMStyleInfo","getDOMStyleInfo","rdomClassList","rdomStyle","_rdomClassList$reduce","reduce","styleProps","_getDeclaration","rnClassList","rnStyle","_resolve","rdomClassListNext","rdomStyleNext","_getDeclaration2","flatStyle","localizedStyle","sort","styleProp","_atomic","a","values","_ref","getStyleSheet","textContent","getTextContent","canUseDOM","createCSS","result","name","compiled","_ref2","classic","prefix","list","join","trim","hyphenPattern","toCamelCase","str","replace","m","toUpperCase","nodeStyle","prototype","slice","call","getPropertyValue"],"mappings":"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","sourcesContent":["function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\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 */\n\n/**\n * WARNING: changes to this file in particular can cause significant changes to\n * the results of render performance benchmarks.\n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createCompileableStyle from './createCompileableStyle';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nimport flattenArray from '../../modules/flattenArray';\nimport flattenStyle from './flattenStyle';\nimport I18nManager from '../I18nManager';\nimport i18nStyle from './i18nStyle';\nimport { atomic, classic, inline, stringifyValueWithProperty } from './compile';\nimport initialRules from './initialRules';\nimport modality from './modality';\nimport { STYLE_ELEMENT_ID, STYLE_GROUPS } from './constants';\nvar emptyObject = {};\nexport default function createStyleResolver() {\n  var inserted, sheet, lookup;\n  var resolved = {\n    css: {},\n    ltr: {},\n    rtl: {},\n    rtlNoSwap: {}\n  };\n\n  var init = function init() {\n    inserted = {\n      css: {},\n      ltr: {},\n      rtl: {},\n      rtlNoSwap: {}\n    };\n    sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(STYLE_ELEMENT_ID));\n    lookup = {\n      byClassName: {},\n      byProp: {}\n    };\n    modality(function (rule) {\n      return sheet.insert(rule, STYLE_GROUPS.modality);\n    });\n    initialRules.forEach(function (rule) {\n      sheet.insert(rule, STYLE_GROUPS.reset);\n    });\n  };\n\n  init();\n\n  function addToLookup(className, prop, value) {\n    if (!lookup.byProp[prop]) {\n      lookup.byProp[prop] = {};\n    }\n\n    lookup.byProp[prop][value] = className;\n    lookup.byClassName[className] = {\n      prop: prop,\n      value: value\n    };\n  }\n\n  function getClassName(prop, value) {\n    var val = stringifyValueWithProperty(value, prop);\n    var cache = lookup.byProp;\n    return cache[prop] && cache[prop].hasOwnProperty(val) && cache[prop][val];\n  }\n\n  function _injectRegisteredStyle(id) {\n    var doLeftAndRightSwapInRTL = I18nManager.doLeftAndRightSwapInRTL,\n        isRTL = I18nManager.isRTL;\n    var dir = isRTL ? doLeftAndRightSwapInRTL ? 'rtl' : 'rtlNoSwap' : 'ltr';\n\n    if (!inserted[dir][id]) {\n      var style = createCompileableStyle(i18nStyle(flattenStyle(id)));\n      var results = atomic(style);\n      Object.keys(results).forEach(function (key) {\n        var _results$key = results[key],\n            identifier = _results$key.identifier,\n            property = _results$key.property,\n            rules = _results$key.rules,\n            value = _results$key.value;\n        addToLookup(identifier, property, value);\n        rules.forEach(function (rule) {\n          var group = STYLE_GROUPS.custom[property] || STYLE_GROUPS.atomic;\n          sheet.insert(rule, group);\n        });\n      });\n      inserted[dir][id] = true;\n    }\n  }\n  /**\n   * Resolves a React Native style object to DOM attributes\n   */\n\n\n  function resolve(style, classList) {\n    var nextClassList = [];\n    var props = {};\n\n    if (!style && !classList) {\n      return props;\n    }\n\n    if (Array.isArray(classList)) {\n      flattenArray(classList).forEach(function (identifier) {\n        if (identifier) {\n          if (inserted.css[identifier] == null && resolved.css[identifier] != null) {\n            var item = resolved.css[identifier];\n            item.rules.forEach(function (rule) {\n              sheet.insert(rule, item.group);\n            });\n            inserted.css[identifier] = true;\n          }\n\n          nextClassList.push(identifier);\n        }\n      });\n    }\n\n    if (typeof style === 'number') {\n      // fast and cachable\n      _injectRegisteredStyle(style);\n\n      var key = createCacheKey(style);\n      props = _resolveStyle(style, key);\n    } else if (!Array.isArray(style)) {\n      // resolve a plain RN style object\n      props = _resolveStyle(style);\n    } else {\n      // flatten the style array\n      // cache resolved props when all styles are registered\n      // otherwise fallback to resolving\n      var flatArray = flattenArray(style);\n      var isArrayOfNumbers = true;\n      var cacheKey = '';\n\n      for (var i = 0; i < flatArray.length; i++) {\n        var id = flatArray[i];\n\n        if (typeof id !== 'number') {\n          isArrayOfNumbers = false;\n        } else {\n          if (isArrayOfNumbers) {\n            cacheKey += id + '-';\n          }\n\n          _injectRegisteredStyle(id);\n        }\n      }\n\n      var _key = isArrayOfNumbers ? createCacheKey(cacheKey) : null;\n\n      props = _resolveStyle(flatArray, _key);\n    }\n\n    nextClassList.push.apply(nextClassList, props.classList);\n    var finalProps = {\n      className: classListToString(nextClassList),\n      classList: nextClassList\n    };\n\n    if (props.style) {\n      finalProps.style = props.style;\n    }\n\n    return finalProps;\n  }\n  /**\n   * Resolves a React Native style object to DOM attributes, accounting for\n   * the existing styles applied to the DOM node.\n   *\n   * To determine the next style, some of the existing DOM state must be\n   * converted back into React Native styles.\n   */\n\n\n  function resolveWithNode(rnStyleNext, node) {\n    function getDeclaration(className) {\n      return lookup.byClassName[className] || emptyObject;\n    }\n\n    var _getDOMStyleInfo = getDOMStyleInfo(node),\n        rdomClassList = _getDOMStyleInfo.classList,\n        rdomStyle = _getDOMStyleInfo.style; // Convert the DOM classList back into a React Native form\n    // Preserves unrecognized class names.\n\n\n    var _rdomClassList$reduce = rdomClassList.reduce(function (styleProps, className) {\n      var _getDeclaration = getDeclaration(className),\n          prop = _getDeclaration.prop,\n          value = _getDeclaration.value;\n\n      if (prop) {\n        styleProps.style[prop] = value;\n      } else {\n        styleProps.classList.push(className);\n      }\n\n      return styleProps;\n    }, {\n      classList: [],\n      style: {}\n    }),\n        rnClassList = _rdomClassList$reduce.classList,\n        rnStyle = _rdomClassList$reduce.style; // Create next DOM style props from current and next RN styles\n\n\n    var _resolve = resolve([i18nStyle(rnStyle), rnStyleNext]),\n        rdomClassListNext = _resolve.classList,\n        rdomStyleNext = _resolve.style; // Final className\n    // Add the current class names not managed by React Native\n\n\n    var className = classListToString(rdomClassListNext.concat(rnClassList)); // Final style\n    // Next class names take priority over current inline styles\n\n    var style = _objectSpread({}, rdomStyle);\n\n    rdomClassListNext.forEach(function (className) {\n      var _getDeclaration2 = getDeclaration(className),\n          prop = _getDeclaration2.prop;\n\n      if (style[prop]) {\n        style[prop] = '';\n      }\n    }); // Next inline styles take priority over current inline styles\n\n    Object.assign(style, rdomStyleNext);\n    return {\n      className: className,\n      style: style\n    };\n  }\n  /**\n   * Resolves a React Native style object\n   */\n\n\n  function _resolveStyle(style, key) {\n    var doLeftAndRightSwapInRTL = I18nManager.doLeftAndRightSwapInRTL,\n        isRTL = I18nManager.isRTL;\n    var dir = isRTL ? doLeftAndRightSwapInRTL ? 'rtl' : 'rtlNoSwap' : 'ltr'; // faster: memoized\n\n    if (key != null && resolved[dir][key] != null) {\n      return resolved[dir][key];\n    }\n\n    var flatStyle = flattenStyle(style);\n    var localizedStyle = createCompileableStyle(i18nStyle(flatStyle)); // slower: convert style object to props and cache\n\n    var props = Object.keys(localizedStyle).sort().reduce(function (props, styleProp) {\n      var value = localizedStyle[styleProp];\n\n      if (value != null) {\n        var className = getClassName(styleProp, value);\n\n        if (className) {\n          props.classList.push(className);\n        } else {\n          // Certain properties and values are not transformed by 'createReactDOMStyle' as they\n          // require more complex transforms into multiple CSS rules. Here we assume that StyleManager\n          // can bind these styles to a className, and prevent them becoming invalid inline-styles.\n          if (styleProp === 'animationKeyframes' || styleProp === 'placeholderTextColor' || styleProp === 'pointerEvents' || styleProp === 'scrollbarWidth') {\n            var _atomic;\n\n            var a = atomic((_atomic = {}, _atomic[styleProp] = value, _atomic));\n            Object.values(a).forEach(function (_ref) {\n              var identifier = _ref.identifier,\n                  rules = _ref.rules;\n              props.classList.push(identifier);\n              rules.forEach(function (rule) {\n                sheet.insert(rule, STYLE_GROUPS.atomic);\n              });\n            });\n          } else {\n            if (!props.style) {\n              props.style = {};\n            } // 4x slower render\n\n\n            props.style[styleProp] = value;\n          }\n        }\n      }\n\n      return props;\n    }, {\n      classList: []\n    });\n\n    if (props.style) {\n      props.style = inline(props.style);\n    }\n\n    if (key != null) {\n      resolved[dir][key] = props;\n    }\n\n    return props;\n  }\n\n  return {\n    getStyleSheet: function getStyleSheet() {\n      var textContent = sheet.getTextContent(); // Reset state on the server so critical css is always the result\n\n      if (!canUseDOM) {\n        init();\n      }\n\n      return {\n        id: STYLE_ELEMENT_ID,\n        textContent: textContent\n      };\n    },\n    createCSS: function createCSS(rules, group) {\n      var result = {};\n      Object.keys(rules).forEach(function (name) {\n        var style = rules[name];\n        var compiled = classic(style, name);\n        Object.values(compiled).forEach(function (_ref2) {\n          var identifier = _ref2.identifier,\n              rules = _ref2.rules;\n          resolved.css[identifier] = {\n            group: group || STYLE_GROUPS.classic,\n            rules: rules\n          };\n          result[name] = identifier;\n        });\n      });\n      return result;\n    },\n    resolve: resolve,\n    sheet: sheet,\n    resolveWithNode: resolveWithNode\n  };\n}\n/**\n * Misc helpers\n */\n\nvar createCacheKey = function createCacheKey(id) {\n  var prefix = 'rn';\n  return prefix + \"-\" + id;\n};\n\nvar classListToString = function classListToString(list) {\n  return list.join(' ').trim();\n};\n/**\n * Copies classList and style data from a DOM node\n */\n\n\nvar hyphenPattern = /-([a-z])/g;\n\nvar toCamelCase = function toCamelCase(str) {\n  return str.replace(hyphenPattern, function (m) {\n    return m[1].toUpperCase();\n  });\n};\n\nvar getDOMStyleInfo = function getDOMStyleInfo(node) {\n  var nodeStyle = node.style;\n  var classList = Array.prototype.slice.call(node.classList);\n  var style = {}; // DOM style is a CSSStyleDeclaration\n  // https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration\n\n  for (var i = 0; i < nodeStyle.length; i += 1) {\n    var property = nodeStyle.item(i);\n\n    if (property) {\n      // DOM style uses hyphenated prop names and may include vendor prefixes\n      // Transform back into React DOM style.\n      style[toCamelCase(property)] = nodeStyle.getPropertyValue(property);\n    }\n  }\n\n  return {\n    classList: classList,\n    style: style\n  };\n};"]},"metadata":{},"sourceType":"script"}