{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport * as React from 'react';\n// @ts-ignore\nimport unitless from '@emotion/unitless';\nimport { compile, serialize, stringify } from 'stylis';\nimport { contentQuotesLinter, hashedAnimationLinter } from \"../../linters\";\nimport StyleContext, { ATTR_CACHE_PATH, ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE } from \"../../StyleContext\";\nimport { supportLayer } from \"../../util\";\nimport useGlobalCache from \"../useGlobalCache\";\nimport { ATTR_CACHE_MAP, CSS_FILE_STYLE, existPath, getStyleAndHash, serialize as serializeCacheMap } from \"./cacheMapUtil\";\nvar isClientSide = canUseDom();\nvar SKIP_CHECK = '_skip_check_';\nvar MULTI_VALUE = '_multi_value_';\n// ============================================================================\n// ==                                 Parser                                 ==\n// ============================================================================\n// Preprocessor style content to browser support one\nexport function normalizeStyle(styleStr) {\n  var serialized = serialize(compile(styleStr), stringify);\n  return serialized.replace(/\\{%%%\\:[^;];}/g, ';');\n}\nfunction isCompoundCSSProperty(value) {\n  return _typeof(value) === 'object' && value && (SKIP_CHECK in value || MULTI_VALUE in value);\n}\n\n// 注入 hash 值\nfunction injectSelectorHash(key, hashId, hashPriority) {\n  if (!hashId) {\n    return key;\n  }\n  var hashClassName = \".\".concat(hashId);\n  var hashSelector = hashPriority === 'low' ? \":where(\".concat(hashClassName, \")\") : hashClassName;\n\n  // 注入 hashId\n  var keys = key.split(',').map(function (k) {\n    var _firstPath$match;\n    var fullPath = k.trim().split(/\\s+/);\n\n    // 如果 Selector 第一个是 HTML Element，那我们就插到它的后面。反之，就插到最前面。\n    var firstPath = fullPath[0] || '';\n    var htmlElement = ((_firstPath$match = firstPath.match(/^\\w+/)) === null || _firstPath$match === void 0 ? void 0 : _firstPath$match[0]) || '';\n    firstPath = \"\".concat(htmlElement).concat(hashSelector).concat(firstPath.slice(htmlElement.length));\n    return [firstPath].concat(_toConsumableArray(fullPath.slice(1))).join(' ');\n  });\n  return keys.join(',');\n}\n// Parse CSSObject to style content\nexport var parseStyle = function parseStyle(interpolation) {\n  var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n      root: true,\n      parentSelectors: []\n    },\n    root = _ref.root,\n    injectHash = _ref.injectHash,\n    parentSelectors = _ref.parentSelectors;\n  var hashId = config.hashId,\n    layer = config.layer,\n    path = config.path,\n    hashPriority = config.hashPriority,\n    _config$transformers = config.transformers,\n    transformers = _config$transformers === void 0 ? [] : _config$transformers,\n    _config$linters = config.linters,\n    linters = _config$linters === void 0 ? [] : _config$linters;\n  var styleStr = '';\n  var effectStyle = {};\n  function parseKeyframes(keyframes) {\n    var animationName = keyframes.getName(hashId);\n    if (!effectStyle[animationName]) {\n      var _parseStyle = parseStyle(keyframes.style, config, {\n          root: false,\n          parentSelectors: parentSelectors\n        }),\n        _parseStyle2 = _slicedToArray(_parseStyle, 1),\n        _parsedStr = _parseStyle2[0];\n      effectStyle[animationName] = \"@keyframes \".concat(keyframes.getName(hashId)).concat(_parsedStr);\n    }\n  }\n  function flattenList(list) {\n    var fullList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n    list.forEach(function (item) {\n      if (Array.isArray(item)) {\n        flattenList(item, fullList);\n      } else if (item) {\n        fullList.push(item);\n      }\n    });\n    return fullList;\n  }\n  var flattenStyleList = flattenList(Array.isArray(interpolation) ? interpolation : [interpolation]);\n  flattenStyleList.forEach(function (originStyle) {\n    // Only root level can use raw string\n    var style = typeof originStyle === 'string' && !root ? {} : originStyle;\n    if (typeof style === 'string') {\n      styleStr += \"\".concat(style, \"\\n\");\n    } else if (style._keyframe) {\n      // Keyframe\n      parseKeyframes(style);\n    } else {\n      var mergedStyle = transformers.reduce(function (prev, trans) {\n        var _trans$visit;\n        return (trans === null || trans === void 0 ? void 0 : (_trans$visit = trans.visit) === null || _trans$visit === void 0 ? void 0 : _trans$visit.call(trans, prev)) || prev;\n      }, style);\n\n      // Normal CSSObject\n      Object.keys(mergedStyle).forEach(function (key) {\n        var value = mergedStyle[key];\n        if (_typeof(value) === 'object' && value && (key !== 'animationName' || !value._keyframe) && !isCompoundCSSProperty(value)) {\n          var subInjectHash = false;\n\n          // 当成嵌套对象来处理\n          var mergedKey = key.trim();\n          // Whether treat child as root. In most case it is false.\n          var nextRoot = false;\n\n          // 拆分多个选择器\n          if ((root || injectHash) && hashId) {\n            if (mergedKey.startsWith('@')) {\n              // 略过媒体查询，交给子节点继续插入 hashId\n              subInjectHash = true;\n            } else {\n              // 注入 hashId\n              mergedKey = injectSelectorHash(key, hashId, hashPriority);\n            }\n          } else if (root && !hashId && (mergedKey === '&' || mergedKey === '')) {\n            // In case of `{ '&': { a: { color: 'red' } } }` or `{ '': { a: { color: 'red' } } }` without hashId,\n            // we will get `&{a:{color:red;}}` or `{a:{color:red;}}` string for stylis to compile.\n            // But it does not conform to stylis syntax,\n            // and finally we will get `{color:red;}` as css, which is wrong.\n            // So we need to remove key in root, and treat child `{ a: { color: 'red' } }` as root.\n            mergedKey = '';\n            nextRoot = true;\n          }\n          var _parseStyle3 = parseStyle(value, config, {\n              root: nextRoot,\n              injectHash: subInjectHash,\n              parentSelectors: [].concat(_toConsumableArray(parentSelectors), [mergedKey])\n            }),\n            _parseStyle4 = _slicedToArray(_parseStyle3, 2),\n            _parsedStr2 = _parseStyle4[0],\n            childEffectStyle = _parseStyle4[1];\n          effectStyle = _objectSpread(_objectSpread({}, effectStyle), childEffectStyle);\n          styleStr += \"\".concat(mergedKey).concat(_parsedStr2);\n        } else {\n          var _value;\n          function appendStyle(cssKey, cssValue) {\n            if (process.env.NODE_ENV !== 'production' && (_typeof(value) !== 'object' || !(value !== null && value !== void 0 && value[SKIP_CHECK]))) {\n              [contentQuotesLinter, hashedAnimationLinter].concat(_toConsumableArray(linters)).forEach(function (linter) {\n                return linter(cssKey, cssValue, {\n                  path: path,\n                  hashId: hashId,\n                  parentSelectors: parentSelectors\n                });\n              });\n            }\n\n            // 如果是样式则直接插入\n            var styleName = cssKey.replace(/[A-Z]/g, function (match) {\n              return \"-\".concat(match.toLowerCase());\n            });\n\n            // Auto suffix with px\n            var formatValue = cssValue;\n            if (!unitless[cssKey] && typeof formatValue === 'number' && formatValue !== 0) {\n              formatValue = \"\".concat(formatValue, \"px\");\n            }\n\n            // handle animationName & Keyframe value\n            if (cssKey === 'animationName' && cssValue !== null && cssValue !== void 0 && cssValue._keyframe) {\n              parseKeyframes(cssValue);\n              formatValue = cssValue.getName(hashId);\n            }\n            styleStr += \"\".concat(styleName, \":\").concat(formatValue, \";\");\n          }\n          var actualValue = (_value = value === null || value === void 0 ? void 0 : value.value) !== null && _value !== void 0 ? _value : value;\n          if (_typeof(value) === 'object' && value !== null && value !== void 0 && value[MULTI_VALUE] && Array.isArray(actualValue)) {\n            actualValue.forEach(function (item) {\n              appendStyle(key, item);\n            });\n          } else {\n            appendStyle(key, actualValue);\n          }\n        }\n      });\n    }\n  });\n  if (!root) {\n    styleStr = \"{\".concat(styleStr, \"}\");\n  } else if (layer && supportLayer()) {\n    var layerCells = layer.split(',');\n    var layerName = layerCells[layerCells.length - 1].trim();\n    styleStr = \"@layer \".concat(layerName, \" {\").concat(styleStr, \"}\");\n\n    // Order of layer if needed\n    if (layerCells.length > 1) {\n      // zombieJ: stylis do not support layer order, so we need to handle it manually.\n      styleStr = \"@layer \".concat(layer, \"{%%%:%}\").concat(styleStr);\n    }\n  }\n  return [styleStr, effectStyle];\n};\n\n// ============================================================================\n// ==                                Register                                ==\n// ============================================================================\nfunction uniqueHash(path, styleStr) {\n  return hash(\"\".concat(path.join('%')).concat(styleStr));\n}\nfunction Empty() {\n  return null;\n}\n\n/**\n * Register a style to the global style sheet.\n */\nexport default function useStyleRegister(info, styleFn) {\n  var token = info.token,\n    path = info.path,\n    hashId = info.hashId,\n    layer = info.layer,\n    nonce = info.nonce,\n    clientOnly = info.clientOnly,\n    _info$order = info.order,\n    order = _info$order === void 0 ? 0 : _info$order;\n  var _React$useContext = React.useContext(StyleContext),\n    autoClear = _React$useContext.autoClear,\n    mock = _React$useContext.mock,\n    defaultCache = _React$useContext.defaultCache,\n    hashPriority = _React$useContext.hashPriority,\n    container = _React$useContext.container,\n    ssrInline = _React$useContext.ssrInline,\n    transformers = _React$useContext.transformers,\n    linters = _React$useContext.linters,\n    cache = _React$useContext.cache;\n  var tokenKey = token._tokenKey;\n  var fullPath = [tokenKey].concat(_toConsumableArray(path));\n\n  // Check if need insert style\n  var isMergedClientSide = isClientSide;\n  if (process.env.NODE_ENV !== 'production' && mock !== undefined) {\n    isMergedClientSide = mock === 'client';\n  }\n  var _useGlobalCache = useGlobalCache('style', fullPath,\n    // Create cache if needed\n    function () {\n      var cachePath = fullPath.join('|');\n\n      // Get style from SSR inline style directly\n      if (existPath(cachePath)) {\n        var _getStyleAndHash = getStyleAndHash(cachePath),\n          _getStyleAndHash2 = _slicedToArray(_getStyleAndHash, 2),\n          inlineCacheStyleStr = _getStyleAndHash2[0],\n          styleHash = _getStyleAndHash2[1];\n        if (inlineCacheStyleStr) {\n          return [inlineCacheStyleStr, tokenKey, styleHash, {}, clientOnly, order];\n        }\n      }\n\n      // Generate style\n      var styleObj = styleFn();\n      var _parseStyle5 = parseStyle(styleObj, {\n          hashId: hashId,\n          hashPriority: hashPriority,\n          layer: layer,\n          path: path.join('-'),\n          transformers: transformers,\n          linters: linters\n        }),\n        _parseStyle6 = _slicedToArray(_parseStyle5, 2),\n        parsedStyle = _parseStyle6[0],\n        effectStyle = _parseStyle6[1];\n      var styleStr = normalizeStyle(parsedStyle);\n      var styleId = uniqueHash(fullPath, styleStr);\n      return [styleStr, tokenKey, styleId, effectStyle, clientOnly, order];\n    },\n    // Remove cache if no need\n    function (_ref2, fromHMR) {\n      var _ref3 = _slicedToArray(_ref2, 3),\n        styleId = _ref3[2];\n      if ((fromHMR || autoClear) && isClientSide) {\n        removeCSS(styleId, {\n          mark: ATTR_MARK\n        });\n      }\n    },\n    // Effect: Inject style here\n    function (_ref4) {\n      var _ref5 = _slicedToArray(_ref4, 4),\n        styleStr = _ref5[0],\n        _ = _ref5[1],\n        styleId = _ref5[2],\n        effectStyle = _ref5[3];\n      if (isMergedClientSide && styleStr !== CSS_FILE_STYLE) {\n        var mergedCSSConfig = {\n          mark: ATTR_MARK,\n          prepend: 'queue',\n          attachTo: container,\n          priority: order\n        };\n        var nonceStr = typeof nonce === 'function' ? nonce() : nonce;\n        if (nonceStr) {\n          mergedCSSConfig.csp = {\n            nonce: nonceStr\n          };\n        }\n        var _style = updateCSS(styleStr, styleId, mergedCSSConfig);\n        _style[CSS_IN_JS_INSTANCE] = cache.instanceId;\n\n        // Used for `useCacheToken` to remove on batch when token removed\n        _style.setAttribute(ATTR_TOKEN, tokenKey);\n\n        // Debug usage. Dev only\n        if (process.env.NODE_ENV !== 'production') {\n          _style.setAttribute(ATTR_CACHE_PATH, fullPath.join('|'));\n        }\n\n        // Inject client side effect style\n        Object.keys(effectStyle).forEach(function (effectKey) {\n          updateCSS(normalizeStyle(effectStyle[effectKey]), \"_effect-\".concat(effectKey), mergedCSSConfig);\n        });\n      }\n    }),\n    _useGlobalCache2 = _slicedToArray(_useGlobalCache, 3),\n    cachedStyleStr = _useGlobalCache2[0],\n    cachedTokenKey = _useGlobalCache2[1],\n    cachedStyleId = _useGlobalCache2[2];\n  return function (node) {\n    var styleNode;\n    if (!ssrInline || isMergedClientSide || !defaultCache) {\n      styleNode = /*#__PURE__*/React.createElement(Empty, null);\n    } else {\n      var _ref6;\n      styleNode = /*#__PURE__*/React.createElement(\"style\", _extends({}, (_ref6 = {}, _defineProperty(_ref6, ATTR_TOKEN, cachedTokenKey), _defineProperty(_ref6, ATTR_MARK, cachedStyleId), _ref6), {\n        dangerouslySetInnerHTML: {\n          __html: cachedStyleStr\n        }\n      }));\n    }\n    return /*#__PURE__*/React.createElement(React.Fragment, null, styleNode, node);\n  };\n}\n\n// ============================================================================\n// ==                                  SSR                                   ==\n// ============================================================================\nexport function extractStyle(cache) {\n  var plain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n  var matchPrefix = \"style%\";\n\n  // prefix with `style` is used for `useStyleRegister` to cache style context\n  var styleKeys = Array.from(cache.cache.keys()).filter(function (key) {\n    return key.startsWith(matchPrefix);\n  });\n\n  // Common effect styles like animation\n  var effectStyles = {};\n\n  // Mapping of cachePath to style hash\n  var cachePathMap = {};\n  var styleText = '';\n  function toStyleStr(style, tokenKey, styleId) {\n    var _objectSpread2;\n    var customizeAttrs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n    var attrs = _objectSpread(_objectSpread({}, customizeAttrs), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, ATTR_TOKEN, tokenKey), _defineProperty(_objectSpread2, ATTR_MARK, styleId), _objectSpread2));\n    var attrStr = Object.keys(attrs).map(function (attr) {\n      var val = attrs[attr];\n      return val ? \"\".concat(attr, \"=\\\"\").concat(val, \"\\\"\") : null;\n    }).filter(function (v) {\n      return v;\n    }).join(' ');\n    return plain ? style : \"<style \".concat(attrStr, \">\").concat(style, \"</style>\");\n  }\n\n  // ====================== Fill Style ======================\n\n  var orderStyles = styleKeys.map(function (key) {\n    var cachePath = key.slice(matchPrefix.length).replace(/%/g, '|');\n    var _2 = _slicedToArray(cache.cache.get(key)[1], 6),\n      styleStr = _2[0],\n      tokenKey = _2[1],\n      styleId = _2[2],\n      effectStyle = _2[3],\n      clientOnly = _2[4],\n      order = _2[5];\n\n    // Skip client only style\n    if (clientOnly) {\n      return null;\n    }\n\n    // ====================== Style ======================\n    // Used for rc-util\n    var sharedAttrs = {\n      'data-rc-order': 'prependQueue',\n      'data-rc-priority': \"\".concat(order)\n    };\n    var keyStyleText = toStyleStr(styleStr, tokenKey, styleId, sharedAttrs);\n\n    // Save cache path with hash mapping\n    cachePathMap[cachePath] = styleId;\n\n    // =============== Create effect style ===============\n    if (effectStyle) {\n      Object.keys(effectStyle).forEach(function (effectKey) {\n        // Effect style can be reused\n        if (!effectStyles[effectKey]) {\n          effectStyles[effectKey] = true;\n          keyStyleText += toStyleStr(normalizeStyle(effectStyle[effectKey]), tokenKey, \"_effect-\".concat(effectKey), sharedAttrs);\n        }\n      });\n    }\n    var ret = [order, keyStyleText];\n    return ret;\n  }).filter(function (o) {\n    return o;\n  });\n  orderStyles.sort(function (o1, o2) {\n    return o1[0] - o2[0];\n  }).forEach(function (_ref7) {\n    var _ref8 = _slicedToArray(_ref7, 2),\n      style = _ref8[1];\n    styleText += style;\n  });\n\n  // ==================== Fill Cache Path ====================\n  styleText += toStyleStr(\".\".concat(ATTR_CACHE_MAP, \"{content:\\\"\").concat(serializeCacheMap(cachePathMap), \"\\\";}\"), undefined, undefined, _defineProperty({}, ATTR_CACHE_MAP, ATTR_CACHE_MAP));\n  return styleText;\n}","map":{"version":3,"names":["_extends","_defineProperty","_objectSpread","_slicedToArray","_toConsumableArray","_typeof","hash","canUseDom","removeCSS","updateCSS","React","unitless","compile","serialize","stringify","contentQuotesLinter","hashedAnimationLinter","StyleContext","ATTR_CACHE_PATH","ATTR_MARK","ATTR_TOKEN","CSS_IN_JS_INSTANCE","supportLayer","useGlobalCache","ATTR_CACHE_MAP","CSS_FILE_STYLE","existPath","getStyleAndHash","serializeCacheMap","isClientSide","SKIP_CHECK","MULTI_VALUE","normalizeStyle","styleStr","serialized","replace","isCompoundCSSProperty","value","injectSelectorHash","key","hashId","hashPriority","hashClassName","concat","hashSelector","keys","split","map","k","_firstPath$match","fullPath","trim","firstPath","htmlElement","match","slice","length","join","parseStyle","interpolation","config","arguments","undefined","_ref","root","parentSelectors","injectHash","layer","path","_config$transformers","transformers","_config$linters","linters","effectStyle","parseKeyframes","keyframes","animationName","getName","_parseStyle","style","_parseStyle2","_parsedStr","flattenList","list","fullList","forEach","item","Array","isArray","push","flattenStyleList","originStyle","_keyframe","mergedStyle","reduce","prev","trans","_trans$visit","visit","call","Object","subInjectHash","mergedKey","nextRoot","startsWith","_parseStyle3","_parseStyle4","_parsedStr2","childEffectStyle","_value","appendStyle","cssKey","cssValue","process","env","NODE_ENV","linter","styleName","toLowerCase","formatValue","actualValue","layerCells","layerName","uniqueHash","Empty","useStyleRegister","info","styleFn","token","nonce","clientOnly","_info$order","order","_React$useContext","useContext","autoClear","mock","defaultCache","container","ssrInline","cache","tokenKey","_tokenKey","isMergedClientSide","_useGlobalCache","cachePath","_getStyleAndHash","_getStyleAndHash2","inlineCacheStyleStr","styleHash","styleObj","_parseStyle5","_parseStyle6","parsedStyle","styleId","_ref2","fromHMR","_ref3","mark","_ref4","_ref5","_","mergedCSSConfig","prepend","attachTo","priority","nonceStr","csp","_style","instanceId","setAttribute","effectKey","_useGlobalCache2","cachedStyleStr","cachedTokenKey","cachedStyleId","node","styleNode","createElement","_ref6","dangerouslySetInnerHTML","__html","Fragment","extractStyle","plain","matchPrefix","styleKeys","from","filter","effectStyles","cachePathMap","styleText","toStyleStr","_objectSpread2","customizeAttrs","attrs","attrStr","attr","val","v","orderStyles","_2","get","sharedAttrs","keyStyleText","ret","o","sort","o1","o2","_ref7","_ref8"],"sources":["/var/www/gavt/node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport * as React from 'react';\n// @ts-ignore\nimport unitless from '@emotion/unitless';\nimport { compile, serialize, stringify } from 'stylis';\nimport { contentQuotesLinter, hashedAnimationLinter } from \"../../linters\";\nimport StyleContext, { ATTR_CACHE_PATH, ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE } from \"../../StyleContext\";\nimport { supportLayer } from \"../../util\";\nimport useGlobalCache from \"../useGlobalCache\";\nimport { ATTR_CACHE_MAP, CSS_FILE_STYLE, existPath, getStyleAndHash, serialize as serializeCacheMap } from \"./cacheMapUtil\";\nvar isClientSide = canUseDom();\nvar SKIP_CHECK = '_skip_check_';\nvar MULTI_VALUE = '_multi_value_';\n// ============================================================================\n// ==                                 Parser                                 ==\n// ============================================================================\n// Preprocessor style content to browser support one\nexport function normalizeStyle(styleStr) {\n  var serialized = serialize(compile(styleStr), stringify);\n  return serialized.replace(/\\{%%%\\:[^;];}/g, ';');\n}\nfunction isCompoundCSSProperty(value) {\n  return _typeof(value) === 'object' && value && (SKIP_CHECK in value || MULTI_VALUE in value);\n}\n\n// 注入 hash 值\nfunction injectSelectorHash(key, hashId, hashPriority) {\n  if (!hashId) {\n    return key;\n  }\n  var hashClassName = \".\".concat(hashId);\n  var hashSelector = hashPriority === 'low' ? \":where(\".concat(hashClassName, \")\") : hashClassName;\n\n  // 注入 hashId\n  var keys = key.split(',').map(function (k) {\n    var _firstPath$match;\n    var fullPath = k.trim().split(/\\s+/);\n\n    // 如果 Selector 第一个是 HTML Element，那我们就插到它的后面。反之，就插到最前面。\n    var firstPath = fullPath[0] || '';\n    var htmlElement = ((_firstPath$match = firstPath.match(/^\\w+/)) === null || _firstPath$match === void 0 ? void 0 : _firstPath$match[0]) || '';\n    firstPath = \"\".concat(htmlElement).concat(hashSelector).concat(firstPath.slice(htmlElement.length));\n    return [firstPath].concat(_toConsumableArray(fullPath.slice(1))).join(' ');\n  });\n  return keys.join(',');\n}\n// Parse CSSObject to style content\nexport var parseStyle = function parseStyle(interpolation) {\n  var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n      root: true,\n      parentSelectors: []\n    },\n    root = _ref.root,\n    injectHash = _ref.injectHash,\n    parentSelectors = _ref.parentSelectors;\n  var hashId = config.hashId,\n    layer = config.layer,\n    path = config.path,\n    hashPriority = config.hashPriority,\n    _config$transformers = config.transformers,\n    transformers = _config$transformers === void 0 ? [] : _config$transformers,\n    _config$linters = config.linters,\n    linters = _config$linters === void 0 ? [] : _config$linters;\n  var styleStr = '';\n  var effectStyle = {};\n  function parseKeyframes(keyframes) {\n    var animationName = keyframes.getName(hashId);\n    if (!effectStyle[animationName]) {\n      var _parseStyle = parseStyle(keyframes.style, config, {\n          root: false,\n          parentSelectors: parentSelectors\n        }),\n        _parseStyle2 = _slicedToArray(_parseStyle, 1),\n        _parsedStr = _parseStyle2[0];\n      effectStyle[animationName] = \"@keyframes \".concat(keyframes.getName(hashId)).concat(_parsedStr);\n    }\n  }\n  function flattenList(list) {\n    var fullList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n    list.forEach(function (item) {\n      if (Array.isArray(item)) {\n        flattenList(item, fullList);\n      } else if (item) {\n        fullList.push(item);\n      }\n    });\n    return fullList;\n  }\n  var flattenStyleList = flattenList(Array.isArray(interpolation) ? interpolation : [interpolation]);\n  flattenStyleList.forEach(function (originStyle) {\n    // Only root level can use raw string\n    var style = typeof originStyle === 'string' && !root ? {} : originStyle;\n    if (typeof style === 'string') {\n      styleStr += \"\".concat(style, \"\\n\");\n    } else if (style._keyframe) {\n      // Keyframe\n      parseKeyframes(style);\n    } else {\n      var mergedStyle = transformers.reduce(function (prev, trans) {\n        var _trans$visit;\n        return (trans === null || trans === void 0 ? void 0 : (_trans$visit = trans.visit) === null || _trans$visit === void 0 ? void 0 : _trans$visit.call(trans, prev)) || prev;\n      }, style);\n\n      // Normal CSSObject\n      Object.keys(mergedStyle).forEach(function (key) {\n        var value = mergedStyle[key];\n        if (_typeof(value) === 'object' && value && (key !== 'animationName' || !value._keyframe) && !isCompoundCSSProperty(value)) {\n          var subInjectHash = false;\n\n          // 当成嵌套对象来处理\n          var mergedKey = key.trim();\n          // Whether treat child as root. In most case it is false.\n          var nextRoot = false;\n\n          // 拆分多个选择器\n          if ((root || injectHash) && hashId) {\n            if (mergedKey.startsWith('@')) {\n              // 略过媒体查询，交给子节点继续插入 hashId\n              subInjectHash = true;\n            } else {\n              // 注入 hashId\n              mergedKey = injectSelectorHash(key, hashId, hashPriority);\n            }\n          } else if (root && !hashId && (mergedKey === '&' || mergedKey === '')) {\n            // In case of `{ '&': { a: { color: 'red' } } }` or `{ '': { a: { color: 'red' } } }` without hashId,\n            // we will get `&{a:{color:red;}}` or `{a:{color:red;}}` string for stylis to compile.\n            // But it does not conform to stylis syntax,\n            // and finally we will get `{color:red;}` as css, which is wrong.\n            // So we need to remove key in root, and treat child `{ a: { color: 'red' } }` as root.\n            mergedKey = '';\n            nextRoot = true;\n          }\n          var _parseStyle3 = parseStyle(value, config, {\n              root: nextRoot,\n              injectHash: subInjectHash,\n              parentSelectors: [].concat(_toConsumableArray(parentSelectors), [mergedKey])\n            }),\n            _parseStyle4 = _slicedToArray(_parseStyle3, 2),\n            _parsedStr2 = _parseStyle4[0],\n            childEffectStyle = _parseStyle4[1];\n          effectStyle = _objectSpread(_objectSpread({}, effectStyle), childEffectStyle);\n          styleStr += \"\".concat(mergedKey).concat(_parsedStr2);\n        } else {\n          var _value;\n          function appendStyle(cssKey, cssValue) {\n            if (process.env.NODE_ENV !== 'production' && (_typeof(value) !== 'object' || !(value !== null && value !== void 0 && value[SKIP_CHECK]))) {\n              [contentQuotesLinter, hashedAnimationLinter].concat(_toConsumableArray(linters)).forEach(function (linter) {\n                return linter(cssKey, cssValue, {\n                  path: path,\n                  hashId: hashId,\n                  parentSelectors: parentSelectors\n                });\n              });\n            }\n\n            // 如果是样式则直接插入\n            var styleName = cssKey.replace(/[A-Z]/g, function (match) {\n              return \"-\".concat(match.toLowerCase());\n            });\n\n            // Auto suffix with px\n            var formatValue = cssValue;\n            if (!unitless[cssKey] && typeof formatValue === 'number' && formatValue !== 0) {\n              formatValue = \"\".concat(formatValue, \"px\");\n            }\n\n            // handle animationName & Keyframe value\n            if (cssKey === 'animationName' && cssValue !== null && cssValue !== void 0 && cssValue._keyframe) {\n              parseKeyframes(cssValue);\n              formatValue = cssValue.getName(hashId);\n            }\n            styleStr += \"\".concat(styleName, \":\").concat(formatValue, \";\");\n          }\n          var actualValue = (_value = value === null || value === void 0 ? void 0 : value.value) !== null && _value !== void 0 ? _value : value;\n          if (_typeof(value) === 'object' && value !== null && value !== void 0 && value[MULTI_VALUE] && Array.isArray(actualValue)) {\n            actualValue.forEach(function (item) {\n              appendStyle(key, item);\n            });\n          } else {\n            appendStyle(key, actualValue);\n          }\n        }\n      });\n    }\n  });\n  if (!root) {\n    styleStr = \"{\".concat(styleStr, \"}\");\n  } else if (layer && supportLayer()) {\n    var layerCells = layer.split(',');\n    var layerName = layerCells[layerCells.length - 1].trim();\n    styleStr = \"@layer \".concat(layerName, \" {\").concat(styleStr, \"}\");\n\n    // Order of layer if needed\n    if (layerCells.length > 1) {\n      // zombieJ: stylis do not support layer order, so we need to handle it manually.\n      styleStr = \"@layer \".concat(layer, \"{%%%:%}\").concat(styleStr);\n    }\n  }\n  return [styleStr, effectStyle];\n};\n\n// ============================================================================\n// ==                                Register                                ==\n// ============================================================================\nfunction uniqueHash(path, styleStr) {\n  return hash(\"\".concat(path.join('%')).concat(styleStr));\n}\nfunction Empty() {\n  return null;\n}\n\n/**\n * Register a style to the global style sheet.\n */\nexport default function useStyleRegister(info, styleFn) {\n  var token = info.token,\n    path = info.path,\n    hashId = info.hashId,\n    layer = info.layer,\n    nonce = info.nonce,\n    clientOnly = info.clientOnly,\n    _info$order = info.order,\n    order = _info$order === void 0 ? 0 : _info$order;\n  var _React$useContext = React.useContext(StyleContext),\n    autoClear = _React$useContext.autoClear,\n    mock = _React$useContext.mock,\n    defaultCache = _React$useContext.defaultCache,\n    hashPriority = _React$useContext.hashPriority,\n    container = _React$useContext.container,\n    ssrInline = _React$useContext.ssrInline,\n    transformers = _React$useContext.transformers,\n    linters = _React$useContext.linters,\n    cache = _React$useContext.cache;\n  var tokenKey = token._tokenKey;\n  var fullPath = [tokenKey].concat(_toConsumableArray(path));\n\n  // Check if need insert style\n  var isMergedClientSide = isClientSide;\n  if (process.env.NODE_ENV !== 'production' && mock !== undefined) {\n    isMergedClientSide = mock === 'client';\n  }\n  var _useGlobalCache = useGlobalCache('style', fullPath,\n    // Create cache if needed\n    function () {\n      var cachePath = fullPath.join('|');\n\n      // Get style from SSR inline style directly\n      if (existPath(cachePath)) {\n        var _getStyleAndHash = getStyleAndHash(cachePath),\n          _getStyleAndHash2 = _slicedToArray(_getStyleAndHash, 2),\n          inlineCacheStyleStr = _getStyleAndHash2[0],\n          styleHash = _getStyleAndHash2[1];\n        if (inlineCacheStyleStr) {\n          return [inlineCacheStyleStr, tokenKey, styleHash, {}, clientOnly, order];\n        }\n      }\n\n      // Generate style\n      var styleObj = styleFn();\n      var _parseStyle5 = parseStyle(styleObj, {\n          hashId: hashId,\n          hashPriority: hashPriority,\n          layer: layer,\n          path: path.join('-'),\n          transformers: transformers,\n          linters: linters\n        }),\n        _parseStyle6 = _slicedToArray(_parseStyle5, 2),\n        parsedStyle = _parseStyle6[0],\n        effectStyle = _parseStyle6[1];\n      var styleStr = normalizeStyle(parsedStyle);\n      var styleId = uniqueHash(fullPath, styleStr);\n      return [styleStr, tokenKey, styleId, effectStyle, clientOnly, order];\n    },\n    // Remove cache if no need\n    function (_ref2, fromHMR) {\n      var _ref3 = _slicedToArray(_ref2, 3),\n        styleId = _ref3[2];\n      if ((fromHMR || autoClear) && isClientSide) {\n        removeCSS(styleId, {\n          mark: ATTR_MARK\n        });\n      }\n    },\n    // Effect: Inject style here\n    function (_ref4) {\n      var _ref5 = _slicedToArray(_ref4, 4),\n        styleStr = _ref5[0],\n        _ = _ref5[1],\n        styleId = _ref5[2],\n        effectStyle = _ref5[3];\n      if (isMergedClientSide && styleStr !== CSS_FILE_STYLE) {\n        var mergedCSSConfig = {\n          mark: ATTR_MARK,\n          prepend: 'queue',\n          attachTo: container,\n          priority: order\n        };\n        var nonceStr = typeof nonce === 'function' ? nonce() : nonce;\n        if (nonceStr) {\n          mergedCSSConfig.csp = {\n            nonce: nonceStr\n          };\n        }\n        var _style = updateCSS(styleStr, styleId, mergedCSSConfig);\n        _style[CSS_IN_JS_INSTANCE] = cache.instanceId;\n\n        // Used for `useCacheToken` to remove on batch when token removed\n        _style.setAttribute(ATTR_TOKEN, tokenKey);\n\n        // Debug usage. Dev only\n        if (process.env.NODE_ENV !== 'production') {\n          _style.setAttribute(ATTR_CACHE_PATH, fullPath.join('|'));\n        }\n\n        // Inject client side effect style\n        Object.keys(effectStyle).forEach(function (effectKey) {\n          updateCSS(normalizeStyle(effectStyle[effectKey]), \"_effect-\".concat(effectKey), mergedCSSConfig);\n        });\n      }\n    }),\n    _useGlobalCache2 = _slicedToArray(_useGlobalCache, 3),\n    cachedStyleStr = _useGlobalCache2[0],\n    cachedTokenKey = _useGlobalCache2[1],\n    cachedStyleId = _useGlobalCache2[2];\n  return function (node) {\n    var styleNode;\n    if (!ssrInline || isMergedClientSide || !defaultCache) {\n      styleNode = /*#__PURE__*/React.createElement(Empty, null);\n    } else {\n      var _ref6;\n      styleNode = /*#__PURE__*/React.createElement(\"style\", _extends({}, (_ref6 = {}, _defineProperty(_ref6, ATTR_TOKEN, cachedTokenKey), _defineProperty(_ref6, ATTR_MARK, cachedStyleId), _ref6), {\n        dangerouslySetInnerHTML: {\n          __html: cachedStyleStr\n        }\n      }));\n    }\n    return /*#__PURE__*/React.createElement(React.Fragment, null, styleNode, node);\n  };\n}\n\n// ============================================================================\n// ==                                  SSR                                   ==\n// ============================================================================\nexport function extractStyle(cache) {\n  var plain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n  var matchPrefix = \"style%\";\n\n  // prefix with `style` is used for `useStyleRegister` to cache style context\n  var styleKeys = Array.from(cache.cache.keys()).filter(function (key) {\n    return key.startsWith(matchPrefix);\n  });\n\n  // Common effect styles like animation\n  var effectStyles = {};\n\n  // Mapping of cachePath to style hash\n  var cachePathMap = {};\n  var styleText = '';\n  function toStyleStr(style, tokenKey, styleId) {\n    var _objectSpread2;\n    var customizeAttrs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n    var attrs = _objectSpread(_objectSpread({}, customizeAttrs), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, ATTR_TOKEN, tokenKey), _defineProperty(_objectSpread2, ATTR_MARK, styleId), _objectSpread2));\n    var attrStr = Object.keys(attrs).map(function (attr) {\n      var val = attrs[attr];\n      return val ? \"\".concat(attr, \"=\\\"\").concat(val, \"\\\"\") : null;\n    }).filter(function (v) {\n      return v;\n    }).join(' ');\n    return plain ? style : \"<style \".concat(attrStr, \">\").concat(style, \"</style>\");\n  }\n\n  // ====================== Fill Style ======================\n\n  var orderStyles = styleKeys.map(function (key) {\n    var cachePath = key.slice(matchPrefix.length).replace(/%/g, '|');\n    var _2 = _slicedToArray(cache.cache.get(key)[1], 6),\n      styleStr = _2[0],\n      tokenKey = _2[1],\n      styleId = _2[2],\n      effectStyle = _2[3],\n      clientOnly = _2[4],\n      order = _2[5];\n\n    // Skip client only style\n    if (clientOnly) {\n      return null;\n    }\n\n    // ====================== Style ======================\n    // Used for rc-util\n    var sharedAttrs = {\n      'data-rc-order': 'prependQueue',\n      'data-rc-priority': \"\".concat(order)\n    };\n    var keyStyleText = toStyleStr(styleStr, tokenKey, styleId, sharedAttrs);\n\n    // Save cache path with hash mapping\n    cachePathMap[cachePath] = styleId;\n\n    // =============== Create effect style ===============\n    if (effectStyle) {\n      Object.keys(effectStyle).forEach(function (effectKey) {\n        // Effect style can be reused\n        if (!effectStyles[effectKey]) {\n          effectStyles[effectKey] = true;\n          keyStyleText += toStyleStr(normalizeStyle(effectStyle[effectKey]), tokenKey, \"_effect-\".concat(effectKey), sharedAttrs);\n        }\n      });\n    }\n    var ret = [order, keyStyleText];\n    return ret;\n  }).filter(function (o) {\n    return o;\n  });\n  orderStyles.sort(function (o1, o2) {\n    return o1[0] - o2[0];\n  }).forEach(function (_ref7) {\n    var _ref8 = _slicedToArray(_ref7, 2),\n      style = _ref8[1];\n    styleText += style;\n  });\n\n  // ==================== Fill Cache Path ====================\n  styleText += toStyleStr(\".\".concat(ATTR_CACHE_MAP, \"{content:\\\"\").concat(serializeCacheMap(cachePathMap), \"\\\";}\"), undefined, undefined, _defineProperty({}, ATTR_CACHE_MAP, ATTR_CACHE_MAP));\n  return styleText;\n}"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}