{"version":3,"file":"app-459ab408106051249ce7.js","mappings":"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","sources":["webpack://AutoGen_Studio/./node_modules/@ant-design/colors/es/generate.js","webpack://AutoGen_Studio/./node_modules/@ant-design/colors/es/index.js","webpack://AutoGen_Studio/./node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/Cache.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/StyleContext.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/theme/ThemeCache.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/theme/Theme.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/theme/createTheme.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/util/index.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/util/css-variables.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/hooks/useCompatibleInsertionEffect.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/hooks/useEffectCleanupRegister.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/hooks/useHMR.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js","webpack://AutoGen_Studio/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://AutoGen_Studio/./node_modules/stylis/src/Enum.js","webpack://AutoGen_Studio/./node_modules/stylis/src/Utility.js","webpack://AutoGen_Studio/./node_modules/stylis/src/Serializer.js","webpack://AutoGen_Studio/./node_modules/stylis/src/Tokenizer.js","webpack://AutoGen_Studio/./node_modules/stylis/src/Parser.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/linters/legacyNotSelectorLinter.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/util/cacheMapUtil.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/extractStyle.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/hooks/useCSSVarRegister.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/Keyframes.js","webpack://AutoGen_Studio/./node_modules/@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/utils.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/components/IconBase.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/components/AntdIcon.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/components/Context.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons-svg/es/asn/CheckCircleFilled.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/icons/CheckCircleFilled.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons-svg/es/asn/CloseCircleFilled.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/icons/CloseOutlined.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleFilled.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/icons/ExclamationCircleFilled.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons-svg/es/asn/InfoCircleFilled.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/icons/InfoCircleFilled.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons-svg/es/asn/LoadingOutlined.js","webpack://AutoGen_Studio/./node_modules/@ant-design/icons/es/icons/LoadingOutlined.js","webpack://AutoGen_Studio/./node_modules/@ctrl/tinycolor/dist/module/conversion.js","webpack://AutoGen_Studio/./node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","webpack://AutoGen_Studio/./node_modules/@ctrl/tinycolor/dist/module/format-input.js","webpack://AutoGen_Studio/./node_modules/@ctrl/tinycolor/dist/module/index.js","webpack://AutoGen_Studio/./node_modules/@ctrl/tinycolor/dist/module/util.js","webpack://AutoGen_Studio/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://AutoGen_Studio/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://AutoGen_Studio/./node_modules/antd/es/_util/hooks/useZIndex.js","webpack://AutoGen_Studio/./node_modules/antd/es/_util/warning.js","webpack://AutoGen_Studio/./node_modules/antd/es/_util/zindexContext.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/DisabledContext.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/SizeContext.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/context.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/hooks/useCSSVarCls.js","webpack://AutoGen_Studio/./node_modules/antd/es/form/validateMessagesContext.js","webpack://AutoGen_Studio/./node_modules/antd/es/locale/index.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/cssVariables.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/hooks/useConfig.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/hooks/useThemeKey.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/MotionWrapper.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/PropWarning.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/index.js","webpack://AutoGen_Studio/./node_modules/antd/es/config-provider/hooks/useTheme.js","webpack://AutoGen_Studio/./node_modules/antd/es/locale/context.js","webpack://AutoGen_Studio/./node_modules/rc-picker/es/locale/en_US.js","webpack://AutoGen_Studio/./node_modules/antd/es/time-picker/locale/en_US.js","webpack://AutoGen_Studio/./node_modules/antd/es/date-picker/locale/en_US.js","webpack://AutoGen_Studio/./node_modules/antd/es/calendar/locale/en_US.js","webpack://AutoGen_Studio/./node_modules/antd/es/locale/en_US.js","webpack://AutoGen_Studio/./node_modules/antd/es/app/context.js","webpack://AutoGen_Studio/./node_modules/rc-notification/es/Notice.js","webpack://AutoGen_Studio/./node_modules/rc-notification/es/NotificationProvider.js","webpack://AutoGen_Studio/./node_modules/rc-notification/es/hooks/useStack.js","webpack://AutoGen_Studio/./node_modules/rc-notification/es/NoticeList.js","webpack://AutoGen_Studio/./node_modules/rc-notification/es/Notifications.js","webpack://AutoGen_Studio/./node_modules/rc-notification/es/hooks/useNotification.js","webpack://AutoGen_Studio/./node_modules/antd/es/message/style/index.js","webpack://AutoGen_Studio/./node_modules/antd/es/message/PurePanel.js","webpack://AutoGen_Studio/./node_modules/antd/es/message/util.js","webpack://AutoGen_Studio/./node_modules/antd/es/message/useMessage.js","webpack://AutoGen_Studio/./node_modules/antd/es/message/index.js","webpack://AutoGen_Studio/./node_modules/antd/es/modal/locale.js","webpack://AutoGen_Studio/./node_modules/antd/es/style/index.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/context.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/shared/genRadius.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/default/colorAlgorithm.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/default/colors.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/default/index.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/shared/genSizeMapToken.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/shared/genCommonMapToken.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/seed.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/shared/genColorMapToken.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/shared/genControlHeight.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/shared/genFontMapToken.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/themes/shared/genFontSizes.js","webpack://AutoGen_Studio/./node_modules/antd/es/version/index.js","webpack://AutoGen_Studio/./node_modules/antd/es/version/version.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/useToken.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/getAlphaColor.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/alias.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/calc/calculator.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/calc/NumCalculator.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/calc/CSSCalculator.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/calc/index.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/genComponentStyleHook.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/maxmin.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/statistic.js","webpack://AutoGen_Studio/./node_modules/antd/es/theme/util/useResetIconStyle.js","webpack://AutoGen_Studio/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://AutoGen_Studio/./node_modules/gatsby-react-router-scroll/index.js","webpack://AutoGen_Studio/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://AutoGen_Studio/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://AutoGen_Studio/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://AutoGen_Studio/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://AutoGen_Studio/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://AutoGen_Studio/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://AutoGen_Studio/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://AutoGen_Studio/./.cache/api-runner-browser-plugins.js","webpack://AutoGen_Studio/./.cache/api-runner-browser.js","webpack://AutoGen_Studio/./.cache/emitter.js","webpack://AutoGen_Studio/./node_modules/mitt/dist/mitt.es.js","webpack://AutoGen_Studio/./.cache/normalize-page-path.js","webpack://AutoGen_Studio/./.cache/find-path.js","webpack://AutoGen_Studio/./.cache/static-query.js","webpack://AutoGen_Studio/./.cache/gatsby-browser-entry.js","webpack://AutoGen_Studio/./.cache/prefetch.js","webpack://AutoGen_Studio/./.cache/loader.js","webpack://AutoGen_Studio/./.cache/head/components/fire-callback-in-effect.js","webpack://AutoGen_Studio/./.cache/head/constants.js","webpack://AutoGen_Studio/./.cache/head/utils.js","webpack://AutoGen_Studio/./.cache/head/head-export-handler-for-browser.js","webpack://AutoGen_Studio/./.cache/page-renderer.js","webpack://AutoGen_Studio/./.cache/route-announcer-props.js","webpack://AutoGen_Studio/./.cache/navigation.js","webpack://AutoGen_Studio/./node_modules/shallow-compare/es/index.js","webpack://AutoGen_Studio/./.cache/ensure-resources.js","webpack://AutoGen_Studio/./.cache/production-app.js","webpack://AutoGen_Studio/./.cache/public-page-renderer-prod.js","webpack://AutoGen_Studio/./.cache/public-page-renderer.js","webpack://AutoGen_Studio/./.cache/react-dom-utils.js","webpack://AutoGen_Studio/./.cache/react-lifecycles-compat.js","webpack://AutoGen_Studio/./.cache/redirect-utils.js","webpack://AutoGen_Studio/./.cache/register-service-worker.js","webpack://AutoGen_Studio/./.cache/strip-prefix.js","webpack://AutoGen_Studio/./gatsby-browser.js","webpack://AutoGen_Studio/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://AutoGen_Studio/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://AutoGen_Studio/./src/components/utils.ts","webpack://AutoGen_Studio/./src/hooks/provider.tsx","webpack://AutoGen_Studio/./node_modules/@mdx-js/react/dist/esm.js","webpack://AutoGen_Studio/./node_modules/gatsby-plugin-mdx/context.js","webpack://AutoGen_Studio/./node_modules/gatsby-plugin-mdx/loaders/mdx-scopes.js","webpack://AutoGen_Studio/./node_modules/gatsby-plugin-mdx/wrap-root-element.js","webpack://AutoGen_Studio/./node_modules/gatsby-plugin-mdx/gatsby-browser.js","webpack://AutoGen_Studio/./node_modules/gatsby-plugin-mdx/loaders/mdx-components.js","webpack://AutoGen_Studio/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://AutoGen_Studio/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://AutoGen_Studio/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://AutoGen_Studio/./node_modules/invariant/browser.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/context.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/DomWrapper.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/interface.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/util/motion.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/CSSMotion.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/hooks/useStatus.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/util/diff.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/CSSMotionList.js","webpack://AutoGen_Studio/./node_modules/rc-motion/es/index.js","webpack://AutoGen_Studio/./node_modules/rc-pagination/es/locale/en_US.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/Dom/canUseDom.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/Dom/contains.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/Dom/dynamicCSS.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/Dom/findDOMNode.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/Dom/shadow.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/KeyCode.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/React/render.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/hooks/useEvent.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/hooks/useLayoutEffect.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/hooks/useMemo.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/hooks/useMergedState.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/hooks/useState.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/isEqual.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/raf.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/ref.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/utils/get.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/utils/set.js","webpack://AutoGen_Studio/./node_modules/rc-util/es/warning.js","webpack://AutoGen_Studio/./node_modules/rc-util/node_modules/react-is/cjs/react-is.production.min.js","webpack://AutoGen_Studio/./node_modules/rc-util/node_modules/react-is/index.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://AutoGen_Studio/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://AutoGen_Studio/./node_modules/classnames/index.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://AutoGen_Studio/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://AutoGen_Studio/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://AutoGen_Studio/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}];\n// Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n}\n\n// Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n}\n\n// Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\nfunction getHue(hsv, i, light) {\n var hue;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation;\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 1) {\n saturation = 1;\n }\n // 第一格的 s 限制在 0.06-0.1 之间\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n return Number(saturation.toFixed(2));\n}\nfunction getValue(hsv, i, light) {\n var value;\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n if (value > 1) {\n value = 1;\n }\n return Number(value.toFixed(2));\n}\nexport default function generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n patterns.push(toHex(pColor));\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n patterns.push(_colorString);\n }\n\n // dark theme patterns\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n return patterns;\n}","import generate from \"./generate\";\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1677FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5];\n\n // dark presetPalettes\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\nvar gray = presetPalettes.grey;\nexport { generate, presetPalettes, presetDarkPalettes, presetPrimaryColors, red, volcano, orange, gold, yellow, lime, green, cyan, blue, geekblue, purple, magenta, grey, gray };","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// [times, realValue]\n\nvar SPLIT = '%';\n\n/** Connect key with `SPLIT` */\nexport function pathKey(keys) {\n return keys.join(SPLIT);\n}\nvar Entity = /*#__PURE__*/function () {\n function Entity(instanceId) {\n _classCallCheck(this, Entity);\n _defineProperty(this, \"instanceId\", void 0);\n /** @private Internal cache map. Do not access this directly */\n _defineProperty(this, \"cache\", new Map());\n this.instanceId = instanceId;\n }\n _createClass(Entity, [{\n key: \"get\",\n value: function get(keys) {\n return this.opGet(pathKey(keys));\n }\n\n /** A fast get cache with `get` concat. */\n }, {\n key: \"opGet\",\n value: function opGet(keyPathStr) {\n return this.cache.get(keyPathStr) || null;\n }\n }, {\n key: \"update\",\n value: function update(keys, valueFn) {\n return this.opUpdate(pathKey(keys), valueFn);\n }\n\n /** A fast get cache with `get` concat. */\n }, {\n key: \"opUpdate\",\n value: function opUpdate(keyPathStr, valueFn) {\n var prevValue = this.cache.get(keyPathStr);\n var nextValue = valueFn(prevValue);\n if (nextValue === null) {\n this.cache.delete(keyPathStr);\n } else {\n this.cache.set(keyPathStr, nextValue);\n }\n }\n }]);\n return Entity;\n}();\nexport default Entity;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport CacheEntity from \"./Cache\";\nexport var ATTR_TOKEN = 'data-token-hash';\nexport var ATTR_MARK = 'data-css-hash';\nexport var ATTR_CACHE_PATH = 'data-cache-path';\n\n// Mark css-in-js instance in style element\nexport var CSS_IN_JS_INSTANCE = '__cssinjs_instance__';\nexport function createCache() {\n var cssinjsInstanceId = Math.random().toString(12).slice(2);\n\n // Tricky SSR: Move all inline style to the head.\n // PS: We do not recommend tricky mode.\n if (typeof document !== 'undefined' && document.head && document.body) {\n var styles = document.body.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\")) || [];\n var firstChild = document.head.firstChild;\n Array.from(styles).forEach(function (style) {\n style[CSS_IN_JS_INSTANCE] = style[CSS_IN_JS_INSTANCE] || cssinjsInstanceId;\n\n // Not force move if no head\n if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {\n document.head.insertBefore(style, firstChild);\n }\n });\n\n // Deduplicate of moved styles\n var styleHash = {};\n Array.from(document.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\"))).forEach(function (style) {\n var hash = style.getAttribute(ATTR_MARK);\n if (styleHash[hash]) {\n if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 || _style$parentNode.removeChild(style);\n }\n } else {\n styleHash[hash] = true;\n }\n });\n }\n return new CacheEntity(cssinjsInstanceId);\n}\nvar StyleContext = /*#__PURE__*/React.createContext({\n hashPriority: 'low',\n cache: createCache(),\n defaultCache: true\n});\nexport var StyleProvider = function StyleProvider(props) {\n var children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var parentContext = React.useContext(StyleContext);\n var context = useMemo(function () {\n var mergedContext = _objectSpread({}, parentContext);\n Object.keys(restProps).forEach(function (key) {\n var value = restProps[key];\n if (restProps[key] !== undefined) {\n mergedContext[key] = value;\n }\n });\n var cache = restProps.cache;\n mergedContext.cache = mergedContext.cache || createCache();\n mergedContext.defaultCache = !cache && parentContext.defaultCache;\n return mergedContext;\n }, [parentContext, restProps], function (prev, next) {\n return !isEqual(prev[0], next[0], true) || !isEqual(prev[1], next[1], true);\n });\n return /*#__PURE__*/React.createElement(StyleContext.Provider, {\n value: context\n }, children);\n};\nexport default StyleContext;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// ================================== Cache ==================================\n\nexport function sameDerivativeOption(left, right) {\n if (left.length !== right.length) {\n return false;\n }\n for (var i = 0; i < left.length; i++) {\n if (left[i] !== right[i]) {\n return false;\n }\n }\n return true;\n}\nvar ThemeCache = /*#__PURE__*/function () {\n function ThemeCache() {\n _classCallCheck(this, ThemeCache);\n _defineProperty(this, \"cache\", void 0);\n _defineProperty(this, \"keys\", void 0);\n _defineProperty(this, \"cacheCallTimes\", void 0);\n this.cache = new Map();\n this.keys = [];\n this.cacheCallTimes = 0;\n }\n _createClass(ThemeCache, [{\n key: \"size\",\n value: function size() {\n return this.keys.length;\n }\n }, {\n key: \"internalGet\",\n value: function internalGet(derivativeOption) {\n var _cache2, _cache3;\n var updateCallTimes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var cache = {\n map: this.cache\n };\n derivativeOption.forEach(function (derivative) {\n if (!cache) {\n cache = undefined;\n } else {\n var _cache;\n cache = (_cache = cache) === null || _cache === void 0 || (_cache = _cache.map) === null || _cache === void 0 ? void 0 : _cache.get(derivative);\n }\n });\n if ((_cache2 = cache) !== null && _cache2 !== void 0 && _cache2.value && updateCallTimes) {\n cache.value[1] = this.cacheCallTimes++;\n }\n return (_cache3 = cache) === null || _cache3 === void 0 ? void 0 : _cache3.value;\n }\n }, {\n key: \"get\",\n value: function get(derivativeOption) {\n var _this$internalGet;\n return (_this$internalGet = this.internalGet(derivativeOption, true)) === null || _this$internalGet === void 0 ? void 0 : _this$internalGet[0];\n }\n }, {\n key: \"has\",\n value: function has(derivativeOption) {\n return !!this.internalGet(derivativeOption);\n }\n }, {\n key: \"set\",\n value: function set(derivativeOption, value) {\n var _this = this;\n // New cache\n if (!this.has(derivativeOption)) {\n if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) {\n var _this$keys$reduce = this.keys.reduce(function (result, key) {\n var _result = _slicedToArray(result, 2),\n callTimes = _result[1];\n if (_this.internalGet(key)[1] < callTimes) {\n return [key, _this.internalGet(key)[1]];\n }\n return result;\n }, [this.keys[0], this.cacheCallTimes]),\n _this$keys$reduce2 = _slicedToArray(_this$keys$reduce, 1),\n targetKey = _this$keys$reduce2[0];\n this.delete(targetKey);\n }\n this.keys.push(derivativeOption);\n }\n var cache = this.cache;\n derivativeOption.forEach(function (derivative, index) {\n if (index === derivativeOption.length - 1) {\n cache.set(derivative, {\n value: [value, _this.cacheCallTimes++]\n });\n } else {\n var cacheValue = cache.get(derivative);\n if (!cacheValue) {\n cache.set(derivative, {\n map: new Map()\n });\n } else if (!cacheValue.map) {\n cacheValue.map = new Map();\n }\n cache = cache.get(derivative).map;\n }\n });\n }\n }, {\n key: \"deleteByPath\",\n value: function deleteByPath(currentCache, derivatives) {\n var cache = currentCache.get(derivatives[0]);\n if (derivatives.length === 1) {\n var _cache$value;\n if (!cache.map) {\n currentCache.delete(derivatives[0]);\n } else {\n currentCache.set(derivatives[0], {\n map: cache.map\n });\n }\n return (_cache$value = cache.value) === null || _cache$value === void 0 ? void 0 : _cache$value[0];\n }\n var result = this.deleteByPath(cache.map, derivatives.slice(1));\n if ((!cache.map || cache.map.size === 0) && !cache.value) {\n currentCache.delete(derivatives[0]);\n }\n return result;\n }\n }, {\n key: \"delete\",\n value: function _delete(derivativeOption) {\n // If cache exists\n if (this.has(derivativeOption)) {\n this.keys = this.keys.filter(function (item) {\n return !sameDerivativeOption(item, derivativeOption);\n });\n return this.deleteByPath(this.cache, derivativeOption);\n }\n return undefined;\n }\n }]);\n return ThemeCache;\n}();\n_defineProperty(ThemeCache, \"MAX_CACHE_SIZE\", 20);\n_defineProperty(ThemeCache, \"MAX_CACHE_OFFSET\", 5);\nexport { ThemeCache as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warning } from \"rc-util/es/warning\";\nvar uuid = 0;\n\n/**\n * Theme with algorithms to derive tokens from design tokens.\n * Use `createTheme` first which will help to manage the theme instance cache.\n */\nvar Theme = /*#__PURE__*/function () {\n function Theme(derivatives) {\n _classCallCheck(this, Theme);\n _defineProperty(this, \"derivatives\", void 0);\n _defineProperty(this, \"id\", void 0);\n this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];\n this.id = uuid;\n if (derivatives.length === 0) {\n warning(derivatives.length > 0, '[Ant Design CSS-in-JS] Theme should have at least one derivative function.');\n }\n uuid += 1;\n }\n _createClass(Theme, [{\n key: \"getDerivativeToken\",\n value: function getDerivativeToken(token) {\n return this.derivatives.reduce(function (result, derivative) {\n return derivative(token, result);\n }, undefined);\n }\n }]);\n return Theme;\n}();\nexport { Theme as default };","import ThemeCache from \"./ThemeCache\";\nimport Theme from \"./Theme\";\nvar cacheThemes = new ThemeCache();\n\n/**\n * Same as new Theme, but will always return same one if `derivative` not changed.\n */\nexport default function createTheme(derivatives) {\n var derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives];\n // Create new theme if not exist\n if (!cacheThemes.has(derivativeArr)) {\n cacheThemes.set(derivativeArr, new Theme(derivativeArr));\n }\n\n // Get theme from cache and return\n return cacheThemes.get(derivativeArr);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\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 { ATTR_MARK, ATTR_TOKEN } from \"../StyleContext\";\nimport { Theme } from \"../theme\";\n\n// Create a cache for memo concat\n\nvar resultCache = new WeakMap();\nvar RESULT_VALUE = {};\nexport function memoResult(callback, deps) {\n var current = resultCache;\n for (var i = 0; i < deps.length; i += 1) {\n var dep = deps[i];\n if (!current.has(dep)) {\n current.set(dep, new WeakMap());\n }\n current = current.get(dep);\n }\n if (!current.has(RESULT_VALUE)) {\n current.set(RESULT_VALUE, callback());\n }\n return current.get(RESULT_VALUE);\n}\n\n// Create a cache here to avoid always loop generate\nvar flattenTokenCache = new WeakMap();\n\n/**\n * Flatten token to string, this will auto cache the result when token not change\n */\nexport function flattenToken(token) {\n var str = flattenTokenCache.get(token) || '';\n if (!str) {\n Object.keys(token).forEach(function (key) {\n var value = token[key];\n str += key;\n if (value instanceof Theme) {\n str += value.id;\n } else if (value && _typeof(value) === 'object') {\n str += flattenToken(value);\n } else {\n str += value;\n }\n });\n\n // Put in cache\n flattenTokenCache.set(token, str);\n }\n return str;\n}\n\n/**\n * Convert derivative token to key string\n */\nexport function token2key(token, salt) {\n return hash(\"\".concat(salt, \"_\").concat(flattenToken(token)));\n}\nvar randomSelectorKey = \"random-\".concat(Date.now(), \"-\").concat(Math.random()).replace(/\\./g, '');\n\n// Magic `content` for detect selector support\nvar checkContent = '_bAmBoO_';\nfunction supportSelector(styleStr, handleElement, supportCheck) {\n if (canUseDom()) {\n var _getComputedStyle$con, _ele$parentNode;\n updateCSS(styleStr, randomSelectorKey);\n var _ele = document.createElement('div');\n _ele.style.position = 'fixed';\n _ele.style.left = '0';\n _ele.style.top = '0';\n handleElement === null || handleElement === void 0 || handleElement(_ele);\n document.body.appendChild(_ele);\n if (process.env.NODE_ENV !== 'production') {\n _ele.innerHTML = 'Test';\n _ele.style.zIndex = '9999999';\n }\n var support = supportCheck ? supportCheck(_ele) : (_getComputedStyle$con = getComputedStyle(_ele).content) === null || _getComputedStyle$con === void 0 ? void 0 : _getComputedStyle$con.includes(checkContent);\n (_ele$parentNode = _ele.parentNode) === null || _ele$parentNode === void 0 || _ele$parentNode.removeChild(_ele);\n removeCSS(randomSelectorKey);\n return support;\n }\n return false;\n}\nvar canLayer = undefined;\nexport function supportLayer() {\n if (canLayer === undefined) {\n canLayer = supportSelector(\"@layer \".concat(randomSelectorKey, \" { .\").concat(randomSelectorKey, \" { content: \\\"\").concat(checkContent, \"\\\"!important; } }\"), function (ele) {\n ele.className = randomSelectorKey;\n });\n }\n return canLayer;\n}\nvar canWhere = undefined;\nexport function supportWhere() {\n if (canWhere === undefined) {\n canWhere = supportSelector(\":where(.\".concat(randomSelectorKey, \") { content: \\\"\").concat(checkContent, \"\\\"!important; }\"), function (ele) {\n ele.className = randomSelectorKey;\n });\n }\n return canWhere;\n}\nvar canLogic = undefined;\nexport function supportLogicProps() {\n if (canLogic === undefined) {\n canLogic = supportSelector(\".\".concat(randomSelectorKey, \" { inset-block: 93px !important; }\"), function (ele) {\n ele.className = randomSelectorKey;\n }, function (ele) {\n return getComputedStyle(ele).bottom === '93px';\n });\n }\n return canLogic;\n}\nexport var isClientSide = canUseDom();\nexport function unit(num) {\n if (typeof num === 'number') {\n return \"\".concat(num, \"px\");\n }\n return num;\n}\nexport function toStyleStr(style, tokenKey, styleId) {\n var _objectSpread2;\n var customizeAttrs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var plain = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n if (plain) {\n return style;\n }\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 \"\");\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nexport var token2CSSVar = function token2CSSVar(token) {\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return \"--\".concat(prefix ? \"\".concat(prefix, \"-\") : '').concat(token).replace(/([a-z0-9])([A-Z])/g, '$1-$2').replace(/([A-Z]+)([A-Z][a-z0-9]+)/g, '$1-$2').replace(/([a-z])([A-Z0-9])/g, '$1-$2').toLowerCase();\n};\nexport var serializeCSSVar = function serializeCSSVar(cssVars, hashId, options) {\n if (!Object.keys(cssVars).length) {\n return '';\n }\n return \".\".concat(hashId).concat(options !== null && options !== void 0 && options.scope ? \".\".concat(options.scope) : '', \"{\").concat(Object.entries(cssVars).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n return \"\".concat(key, \":\").concat(value, \";\");\n }).join(''), \"}\");\n};\nexport var transformToken = function transformToken(token, themeKey, config) {\n var cssVars = {};\n var result = {};\n Object.entries(token).forEach(function (_ref3) {\n var _config$preserve, _config$ignore;\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n if (config !== null && config !== void 0 && (_config$preserve = config.preserve) !== null && _config$preserve !== void 0 && _config$preserve[key]) {\n result[key] = value;\n } else if ((typeof value === 'string' || typeof value === 'number') && !(config !== null && config !== void 0 && (_config$ignore = config.ignore) !== null && _config$ignore !== void 0 && _config$ignore[key])) {\n var _config$unitless;\n var cssVar = token2CSSVar(key, config === null || config === void 0 ? void 0 : config.prefix);\n cssVars[cssVar] = typeof value === 'number' && !(config !== null && config !== void 0 && (_config$unitless = config.unitless) !== null && _config$unitless !== void 0 && _config$unitless[key]) ? \"\".concat(value, \"px\") : String(value);\n result[key] = \"var(\".concat(cssVar, \")\");\n }\n });\n return [result, serializeCSSVar(cssVars, themeKey, {\n scope: config === null || config === void 0 ? void 0 : config.scope\n })];\n};","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// import canUseDom from 'rc-util/lib/Dom/canUseDom';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\n\n// We need fully clone React function here\n// to avoid webpack warning React 17 do not export `useId`\nvar fullClone = _objectSpread({}, React);\nvar useInsertionEffect = fullClone.useInsertionEffect;\n/**\n * Polyfill `useInsertionEffect` for React < 18\n * @param renderEffect will be executed in `useMemo`, and do not have callback\n * @param effect will be executed in `useLayoutEffect`\n * @param deps\n */\nvar useInsertionEffectPolyfill = function useInsertionEffectPolyfill(renderEffect, effect, deps) {\n React.useMemo(renderEffect, deps);\n useLayoutEffect(function () {\n return effect(true);\n }, deps);\n};\n\n/**\n * Compatible `useInsertionEffect`\n * will use `useInsertionEffect` if React version >= 18,\n * otherwise use `useInsertionEffectPolyfill`.\n */\nvar useCompatibleInsertionEffect = useInsertionEffect ? function (renderEffect, effect, deps) {\n return useInsertionEffect(function () {\n renderEffect();\n return effect();\n }, deps);\n} : useInsertionEffectPolyfill;\nexport default useCompatibleInsertionEffect;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { warning } from \"rc-util/es/warning\";\nimport * as React from 'react';\nvar fullClone = _objectSpread({}, React);\nvar useInsertionEffect = fullClone.useInsertionEffect;\n\n// DO NOT register functions in useEffect cleanup function, or functions that registered will never be called.\nvar useCleanupRegister = function useCleanupRegister(deps) {\n var effectCleanups = [];\n var cleanupFlag = false;\n function register(fn) {\n if (cleanupFlag) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '[Ant Design CSS-in-JS] You are registering a cleanup function after unmount, which will not have any effect.');\n }\n return;\n }\n effectCleanups.push(fn);\n }\n React.useEffect(function () {\n // Compatible with strict mode\n cleanupFlag = false;\n return function () {\n cleanupFlag = true;\n if (effectCleanups.length) {\n effectCleanups.forEach(function (fn) {\n return fn();\n });\n }\n };\n }, deps);\n return register;\n};\nvar useRun = function useRun() {\n return function (fn) {\n fn();\n };\n};\n\n// Only enable register in React 18\nvar useEffectCleanupRegister = typeof useInsertionEffect !== 'undefined' ? useCleanupRegister : useRun;\nexport default useEffectCleanupRegister;","function useProdHMR() {\n return false;\n}\nvar webpackHMR = false;\nfunction useDevHMR() {\n return webpackHMR;\n}\nexport default process.env.NODE_ENV === 'production' ? useProdHMR : useDevHMR;\n\n// Webpack `module.hot.accept` do not support any deps update trigger\n// We have to hack handler to force mark as HRM\nif (process.env.NODE_ENV !== 'production' && typeof module !== 'undefined' && module && module.hot && typeof window !== 'undefined') {\n var win = window;\n if (typeof win.webpackHotUpdate === 'function') {\n var originWebpackHotUpdate = win.webpackHotUpdate;\n win.webpackHotUpdate = function () {\n webpackHMR = true;\n setTimeout(function () {\n webpackHMR = false;\n }, 0);\n return originWebpackHotUpdate.apply(void 0, arguments);\n };\n }\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { pathKey } from \"../Cache\";\nimport StyleContext from \"../StyleContext\";\nimport useCompatibleInsertionEffect from \"./useCompatibleInsertionEffect\";\nimport useEffectCleanupRegister from \"./useEffectCleanupRegister\";\nimport useHMR from \"./useHMR\";\nexport default function useGlobalCache(prefix, keyPath, cacheFn, onCacheRemove,\n// Add additional effect trigger by `useInsertionEffect`\nonCacheEffect) {\n var _React$useContext = React.useContext(StyleContext),\n globalCache = _React$useContext.cache;\n var fullPath = [prefix].concat(_toConsumableArray(keyPath));\n var fullPathStr = pathKey(fullPath);\n var register = useEffectCleanupRegister([fullPathStr]);\n var HMRUpdate = useHMR();\n var buildCache = function buildCache(updater) {\n globalCache.opUpdate(fullPathStr, function (prevCache) {\n var _ref = prevCache || [undefined, undefined],\n _ref2 = _slicedToArray(_ref, 2),\n _ref2$ = _ref2[0],\n times = _ref2$ === void 0 ? 0 : _ref2$,\n cache = _ref2[1];\n\n // HMR should always ignore cache since developer may change it\n var tmpCache = cache;\n if (process.env.NODE_ENV !== 'production' && cache && HMRUpdate) {\n onCacheRemove === null || onCacheRemove === void 0 || onCacheRemove(tmpCache, HMRUpdate);\n tmpCache = null;\n }\n var mergedCache = tmpCache || cacheFn();\n var data = [times, mergedCache];\n\n // Call updater if need additional logic\n return updater ? updater(data) : data;\n });\n };\n\n // Create cache\n React.useMemo(function () {\n buildCache();\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [fullPathStr]\n /* eslint-enable */);\n\n var cacheEntity = globalCache.opGet(fullPathStr);\n\n // HMR clean the cache but not trigger `useMemo` again\n // Let's fallback of this\n // ref https://github.com/ant-design/cssinjs/issues/127\n if (process.env.NODE_ENV !== 'production' && !cacheEntity) {\n buildCache();\n cacheEntity = globalCache.opGet(fullPathStr);\n }\n var cacheContent = cacheEntity[1];\n\n // Remove if no need anymore\n useCompatibleInsertionEffect(function () {\n onCacheEffect === null || onCacheEffect === void 0 || onCacheEffect(cacheContent);\n }, function (polyfill) {\n // It's bad to call build again in effect.\n // But we have to do this since StrictMode will call effect twice\n // which will clear cache on the first time.\n buildCache(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n times = _ref4[0],\n cache = _ref4[1];\n if (polyfill && times === 0) {\n onCacheEffect === null || onCacheEffect === void 0 || onCacheEffect(cacheContent);\n }\n return [times + 1, cache];\n });\n return function () {\n globalCache.opUpdate(fullPathStr, function (prevCache) {\n var _ref5 = prevCache || [],\n _ref6 = _slicedToArray(_ref5, 2),\n _ref6$ = _ref6[0],\n times = _ref6$ === void 0 ? 0 : _ref6$,\n cache = _ref6[1];\n var nextCount = times - 1;\n if (nextCount === 0) {\n // Always remove styles in useEffect callback\n register(function () {\n // With polyfill, registered callback will always be called synchronously\n // But without polyfill, it will be called in effect clean up,\n // And by that time this cache is cleaned up.\n if (polyfill || !globalCache.opGet(fullPathStr)) {\n onCacheRemove === null || onCacheRemove === void 0 || onCacheRemove(cache, false);\n }\n });\n return null;\n }\n return [times - 1, cache];\n });\n };\n }, [fullPathStr]);\n return cacheContent;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport hash from '@emotion/hash';\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { useContext } from 'react';\nimport StyleContext, { ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE } from \"../StyleContext\";\nimport { flattenToken, memoResult, token2key, toStyleStr } from \"../util\";\nimport { transformToken } from \"../util/css-variables\";\nimport useGlobalCache from \"./useGlobalCache\";\nvar EMPTY_OVERRIDE = {};\n\n// Generate different prefix to make user selector break in production env.\n// This helps developer not to do style override directly on the hash id.\nvar hashPrefix = process.env.NODE_ENV !== 'production' ? 'css-dev-only-do-not-override' : 'css';\nvar tokenKeys = new Map();\nfunction recordCleanToken(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1);\n}\nfunction removeStyleTags(key, instanceId) {\n if (typeof document !== 'undefined') {\n var styles = document.querySelectorAll(\"style[\".concat(ATTR_TOKEN, \"=\\\"\").concat(key, \"\\\"]\"));\n styles.forEach(function (style) {\n if (style[CSS_IN_JS_INSTANCE] === instanceId) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 || _style$parentNode.removeChild(style);\n }\n });\n }\n}\nvar TOKEN_THRESHOLD = 0;\n\n// Remove will check current keys first\nfunction cleanTokenStyle(tokenKey, instanceId) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1);\n var tokenKeyList = Array.from(tokenKeys.keys());\n var cleanableKeyList = tokenKeyList.filter(function (key) {\n var count = tokenKeys.get(key) || 0;\n return count <= 0;\n });\n\n // Should keep tokens under threshold for not to insert style too often\n if (tokenKeyList.length - cleanableKeyList.length > TOKEN_THRESHOLD) {\n cleanableKeyList.forEach(function (key) {\n removeStyleTags(key, instanceId);\n tokenKeys.delete(key);\n });\n }\n}\nexport var getComputedToken = function getComputedToken(originToken, overrideToken, theme, format) {\n var derivativeToken = theme.getDerivativeToken(originToken);\n\n // Merge with override\n var mergedDerivativeToken = _objectSpread(_objectSpread({}, derivativeToken), overrideToken);\n\n // Format if needed\n if (format) {\n mergedDerivativeToken = format(mergedDerivativeToken);\n }\n return mergedDerivativeToken;\n};\nexport var TOKEN_PREFIX = 'token';\n/**\n * Cache theme derivative token as global shared one\n * @param theme Theme entity\n * @param tokens List of tokens, used for cache. Please do not dynamic generate object directly\n * @param option Additional config\n * @returns Call Theme.getDerivativeToken(tokenObject) to get token\n */\nexport default function useCacheToken(theme, tokens) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _useContext = useContext(StyleContext),\n instanceId = _useContext.cache.instanceId,\n container = _useContext.container;\n var _option$salt = option.salt,\n salt = _option$salt === void 0 ? '' : _option$salt,\n _option$override = option.override,\n override = _option$override === void 0 ? EMPTY_OVERRIDE : _option$override,\n formatToken = option.formatToken,\n compute = option.getComputedToken,\n cssVar = option.cssVar;\n\n // Basic - We do basic cache here\n var mergedToken = memoResult(function () {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(tokens)));\n }, tokens);\n var tokenStr = flattenToken(mergedToken);\n var overrideTokenStr = flattenToken(override);\n var cssVarStr = cssVar ? flattenToken(cssVar) : '';\n var cachedToken = useGlobalCache(TOKEN_PREFIX, [salt, theme.id, tokenStr, overrideTokenStr, cssVarStr], function () {\n var _cssVar$key;\n var mergedDerivativeToken = compute ? compute(mergedToken, override, theme) : getComputedToken(mergedToken, override, theme, formatToken);\n\n // Replace token value with css variables\n var actualToken = _objectSpread({}, mergedDerivativeToken);\n var cssVarsStr = '';\n if (!!cssVar) {\n var _transformToken = transformToken(mergedDerivativeToken, cssVar.key, {\n prefix: cssVar.prefix,\n ignore: cssVar.ignore,\n unitless: cssVar.unitless,\n preserve: cssVar.preserve\n });\n var _transformToken2 = _slicedToArray(_transformToken, 2);\n mergedDerivativeToken = _transformToken2[0];\n cssVarsStr = _transformToken2[1];\n }\n\n // Optimize for `useStyleRegister` performance\n var tokenKey = token2key(mergedDerivativeToken, salt);\n mergedDerivativeToken._tokenKey = tokenKey;\n actualToken._tokenKey = token2key(actualToken, salt);\n var themeKey = (_cssVar$key = cssVar === null || cssVar === void 0 ? void 0 : cssVar.key) !== null && _cssVar$key !== void 0 ? _cssVar$key : tokenKey;\n mergedDerivativeToken._themeKey = themeKey;\n recordCleanToken(themeKey);\n var hashId = \"\".concat(hashPrefix, \"-\").concat(hash(tokenKey));\n mergedDerivativeToken._hashId = hashId; // Not used\n\n return [mergedDerivativeToken, hashId, actualToken, cssVarsStr, (cssVar === null || cssVar === void 0 ? void 0 : cssVar.key) || ''];\n }, function (cache) {\n // Remove token will remove all related style\n cleanTokenStyle(cache[0]._themeKey, instanceId);\n }, function (_ref) {\n var _ref2 = _slicedToArray(_ref, 4),\n token = _ref2[0],\n cssVarsStr = _ref2[3];\n if (cssVar && cssVarsStr) {\n var style = updateCSS(cssVarsStr, hash(\"css-variables-\".concat(token._themeKey)), {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container,\n priority: -999\n });\n style[CSS_IN_JS_INSTANCE] = instanceId;\n\n // Used for `useCacheToken` to remove on batch when token removed\n style.setAttribute(ATTR_TOKEN, token._themeKey);\n }\n });\n return cachedToken;\n}\nexport var extract = function extract(cache, effectStyles, options) {\n var _cache = _slicedToArray(cache, 5),\n realToken = _cache[2],\n styleStr = _cache[3],\n cssVarKey = _cache[4];\n var _ref3 = options || {},\n plain = _ref3.plain;\n if (!styleStr) {\n return null;\n }\n var styleId = realToken._tokenKey;\n var order = -999;\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 styleText = toStyleStr(styleStr, cssVarKey, styleId, sharedAttrs, plain);\n return [order, styleId, styleText];\n};","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import { lintWarning } from \"./utils\";\nfunction isConcatSelector(selector) {\n var _selector$match;\n var notContent = ((_selector$match = selector.match(/:not\\(([^)]*)\\)/)) === null || _selector$match === void 0 ? void 0 : _selector$match[1]) || '';\n\n // split selector. e.g.\n // `h1#a.b` => ['h1', #a', '.b']\n var splitCells = notContent.split(/(\\[[^[]*])|(?=[.#])/).filter(function (str) {\n return str;\n });\n return splitCells.length > 1;\n}\nfunction parsePath(info) {\n return info.parentSelectors.reduce(function (prev, cur) {\n if (!prev) {\n return cur;\n }\n return cur.includes('&') ? cur.replace(/&/g, prev) : \"\".concat(prev, \" \").concat(cur);\n }, '');\n}\nvar linter = function linter(key, value, info) {\n var parentSelectorPath = parsePath(info);\n var notList = parentSelectorPath.match(/:not\\([^)]*\\)/g) || [];\n if (notList.length > 0 && notList.some(isConcatSelector)) {\n lintWarning(\"Concat ':not' selector not support in legacy browsers.\", info);\n }\n};\nexport default linter;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { ATTR_MARK } from \"../StyleContext\";\nexport var ATTR_CACHE_MAP = 'data-ant-cssinjs-cache-path';\n\n/**\n * This marks style from the css file.\n * Which means not exist in `` tag.\n */\nexport var CSS_FILE_STYLE = '_FILE_STYLE__';\nexport function serialize(cachePathMap) {\n return Object.keys(cachePathMap).map(function (path) {\n var hash = cachePathMap[path];\n return \"\".concat(path, \":\").concat(hash);\n }).join(';');\n}\nvar cachePathMap;\nvar fromCSSFile = true;\n\n/**\n * @private Test usage only. Can save remove if no need.\n */\nexport function reset(mockCache) {\n var fromFile = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n cachePathMap = mockCache;\n fromCSSFile = fromFile;\n}\nexport function prepare() {\n if (!cachePathMap) {\n cachePathMap = {};\n if (canUseDom()) {\n var div = document.createElement('div');\n div.className = ATTR_CACHE_MAP;\n div.style.position = 'fixed';\n div.style.visibility = 'hidden';\n div.style.top = '-9999px';\n document.body.appendChild(div);\n var content = getComputedStyle(div).content || '';\n content = content.replace(/^\"/, '').replace(/\"$/, '');\n\n // Fill data\n content.split(';').forEach(function (item) {\n var _item$split = item.split(':'),\n _item$split2 = _slicedToArray(_item$split, 2),\n path = _item$split2[0],\n hash = _item$split2[1];\n cachePathMap[path] = hash;\n });\n\n // Remove inline record style\n var inlineMapStyle = document.querySelector(\"style[\".concat(ATTR_CACHE_MAP, \"]\"));\n if (inlineMapStyle) {\n var _inlineMapStyle$paren;\n fromCSSFile = false;\n (_inlineMapStyle$paren = inlineMapStyle.parentNode) === null || _inlineMapStyle$paren === void 0 || _inlineMapStyle$paren.removeChild(inlineMapStyle);\n }\n document.body.removeChild(div);\n }\n }\n}\nexport function existPath(path) {\n prepare();\n return !!cachePathMap[path];\n}\nexport function getStyleAndHash(path) {\n var hash = cachePathMap[path];\n var styleStr = null;\n if (hash && canUseDom()) {\n if (fromCSSFile) {\n styleStr = CSS_FILE_STYLE;\n } else {\n var _style = document.querySelector(\"style[\".concat(ATTR_MARK, \"=\\\"\").concat(cachePathMap[path], \"\\\"]\"));\n if (_style) {\n styleStr = _style.innerHTML;\n } else {\n // Clean up since not exist anymore\n delete cachePathMap[path];\n }\n }\n }\n return [styleStr, hash];\n}","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 { 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 { isClientSide, supportLayer, toStyleStr } from \"../util\";\nimport { CSS_FILE_STYLE, existPath, getStyleAndHash } from \"../util/cacheMapUtil\";\nimport useGlobalCache from \"./useGlobalCache\";\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 || (_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// ============================================================================\nexport function uniqueHash(path, styleStr) {\n return hash(\"\".concat(path.join('%')).concat(styleStr));\n}\nfunction Empty() {\n return null;\n}\nexport var STYLE_PREFIX = 'style';\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_PREFIX, 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}\nexport var extract = function extract(cache, effectStyles, options) {\n var _cache = _slicedToArray(cache, 6),\n styleStr = _cache[0],\n tokenKey = _cache[1],\n styleId = _cache[2],\n effectStyle = _cache[3],\n clientOnly = _cache[4],\n order = _cache[5];\n var _ref7 = options || {},\n plain = _ref7.plain;\n\n // Skip client only style\n if (clientOnly) {\n return null;\n }\n var keyStyleText = styleStr;\n\n // ====================== Style ======================\n // Used for rc-util\n var sharedAttrs = {\n 'data-rc-order': 'prependQueue',\n 'data-rc-priority': \"\".concat(order)\n };\n keyStyleText = toStyleStr(styleStr, tokenKey, styleId, sharedAttrs, plain);\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 var effectStyleStr = normalizeStyle(effectStyle[effectKey]);\n keyStyleText += toStyleStr(effectStyleStr, tokenKey, \"_effect-\".concat(effectKey), sharedAttrs, plain);\n }\n });\n }\n return [order, styleId, keyStyleText];\n};","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _ExtractStyleFns;\nimport { extract as tokenExtractStyle, TOKEN_PREFIX } from \"./hooks/useCacheToken\";\nimport { CSS_VAR_PREFIX, extract as cssVarExtractStyle } from \"./hooks/useCSSVarRegister\";\nimport { extract as styleExtractStyle, STYLE_PREFIX } from \"./hooks/useStyleRegister\";\nimport { toStyleStr } from \"./util\";\nimport { ATTR_CACHE_MAP, serialize as serializeCacheMap } from \"./util/cacheMapUtil\";\nvar ExtractStyleFns = (_ExtractStyleFns = {}, _defineProperty(_ExtractStyleFns, STYLE_PREFIX, styleExtractStyle), _defineProperty(_ExtractStyleFns, TOKEN_PREFIX, tokenExtractStyle), _defineProperty(_ExtractStyleFns, CSS_VAR_PREFIX, cssVarExtractStyle), _ExtractStyleFns);\nfunction isNotNull(value) {\n return value !== null;\n}\nexport default function extractStyle(cache, options) {\n var _ref = typeof options === 'boolean' ? {\n plain: options\n } : options || {},\n _ref$plain = _ref.plain,\n plain = _ref$plain === void 0 ? false : _ref$plain,\n _ref$types = _ref.types,\n types = _ref$types === void 0 ? ['style', 'token', 'cssVar'] : _ref$types;\n var matchPrefixRegexp = new RegExp(\"^(\".concat((typeof types === 'string' ? [types] : types).join('|'), \")%\"));\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 matchPrefixRegexp.test(key);\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 styleKeys.map(function (key) {\n var cachePath = key.replace(matchPrefixRegexp, '').replace(/%/g, '|');\n var _key$split = key.split('%'),\n _key$split2 = _slicedToArray(_key$split, 1),\n prefix = _key$split2[0];\n var extractFn = ExtractStyleFns[prefix];\n var extractedStyle = extractFn(cache.cache.get(key)[1], effectStyles, {\n plain: plain\n });\n if (!extractedStyle) {\n return null;\n }\n var _extractedStyle = _slicedToArray(extractedStyle, 3),\n order = _extractedStyle[0],\n styleId = _extractedStyle[1],\n styleStr = _extractedStyle[2];\n if (key.startsWith('style')) {\n cachePathMap[cachePath] = styleId;\n }\n return [order, styleStr];\n }).filter(isNotNull).sort(function (_ref2, _ref3) {\n var _ref4 = _slicedToArray(_ref2, 1),\n o1 = _ref4[0];\n var _ref5 = _slicedToArray(_ref3, 1),\n o2 = _ref5[0];\n return o1 - o2;\n }).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n style = _ref7[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), plain);\n return styleText;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { useContext } from 'react';\nimport StyleContext, { ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE } from \"../StyleContext\";\nimport { isClientSide, toStyleStr } from \"../util\";\nimport { transformToken } from \"../util/css-variables\";\nimport useGlobalCache from \"./useGlobalCache\";\nimport { uniqueHash } from \"./useStyleRegister\";\nexport var CSS_VAR_PREFIX = 'cssVar';\nvar useCSSVarRegister = function useCSSVarRegister(config, fn) {\n var key = config.key,\n prefix = config.prefix,\n unitless = config.unitless,\n ignore = config.ignore,\n token = config.token,\n _config$scope = config.scope,\n scope = _config$scope === void 0 ? '' : _config$scope;\n var _useContext = useContext(StyleContext),\n instanceId = _useContext.cache.instanceId,\n container = _useContext.container;\n var tokenKey = token._tokenKey;\n var stylePath = [].concat(_toConsumableArray(config.path), [key, scope, tokenKey]);\n var cache = useGlobalCache(CSS_VAR_PREFIX, stylePath, function () {\n var originToken = fn();\n var _transformToken = transformToken(originToken, key, {\n prefix: prefix,\n unitless: unitless,\n ignore: ignore,\n scope: scope\n }),\n _transformToken2 = _slicedToArray(_transformToken, 2),\n mergedToken = _transformToken2[0],\n cssVarsStr = _transformToken2[1];\n var styleId = uniqueHash(stylePath, cssVarsStr);\n return [mergedToken, cssVarsStr, styleId, key];\n }, function (_ref) {\n var _ref2 = _slicedToArray(_ref, 3),\n styleId = _ref2[2];\n if (isClientSide) {\n removeCSS(styleId, {\n mark: ATTR_MARK\n });\n }\n }, function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 3),\n cssVarsStr = _ref4[1],\n styleId = _ref4[2];\n if (!cssVarsStr) {\n return;\n }\n var style = updateCSS(cssVarsStr, styleId, {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container,\n priority: -999\n });\n style[CSS_IN_JS_INSTANCE] = instanceId;\n\n // Used for `useCacheToken` to remove on batch when token removed\n style.setAttribute(ATTR_TOKEN, key);\n });\n return cache;\n};\nexport var extract = function extract(cache, effectStyles, options) {\n var _cache = _slicedToArray(cache, 4),\n styleStr = _cache[1],\n styleId = _cache[2],\n cssVarKey = _cache[3];\n var _ref5 = options || {},\n plain = _ref5.plain;\n if (!styleStr) {\n return null;\n }\n var order = -999;\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 styleText = toStyleStr(styleStr, cssVarKey, styleId, sharedAttrs, plain);\n return [order, styleId, styleText];\n};\nexport default useCSSVarRegister;","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar Keyframe = /*#__PURE__*/function () {\n function Keyframe(name, style) {\n _classCallCheck(this, Keyframe);\n _defineProperty(this, \"name\", void 0);\n _defineProperty(this, \"style\", void 0);\n _defineProperty(this, \"_keyframe\", true);\n this.name = name;\n this.style = style;\n }\n _createClass(Keyframe, [{\n key: \"getName\",\n value: function getName() {\n var hashId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return hashId ? \"\".concat(hashId, \"-\").concat(this.name) : this.name;\n }\n }]);\n return Keyframe;\n}();\nexport default Keyframe;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nfunction splitValues(value) {\n if (typeof value === 'number') {\n return [[value], false];\n }\n var rawStyle = String(value).trim();\n var importantCells = rawStyle.match(/(.*)(!important)/);\n var splitStyle = (importantCells ? importantCells[1] : rawStyle).trim().split(/\\s+/);\n\n // Combine styles split in brackets, like `calc(1px + 2px)`\n var temp = '';\n var brackets = 0;\n return [splitStyle.reduce(function (list, item) {\n if (item.includes('(') || item.includes(')')) {\n var left = item.split('(').length - 1;\n var right = item.split(')').length - 1;\n brackets += left - right;\n }\n if (brackets === 0) {\n list.push(temp + item);\n temp = '';\n } else if (brackets > 0) {\n temp += item;\n }\n return list;\n }, []), !!importantCells];\n}\nfunction noSplit(list) {\n list.notSplit = true;\n return list;\n}\nvar keyMap = {\n // Inset\n inset: ['top', 'right', 'bottom', 'left'],\n insetBlock: ['top', 'bottom'],\n insetBlockStart: ['top'],\n insetBlockEnd: ['bottom'],\n insetInline: ['left', 'right'],\n insetInlineStart: ['left'],\n insetInlineEnd: ['right'],\n // Margin\n marginBlock: ['marginTop', 'marginBottom'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n marginInline: ['marginLeft', 'marginRight'],\n marginInlineStart: ['marginLeft'],\n marginInlineEnd: ['marginRight'],\n // Padding\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom'],\n paddingInline: ['paddingLeft', 'paddingRight'],\n paddingInlineStart: ['paddingLeft'],\n paddingInlineEnd: ['paddingRight'],\n // Border\n borderBlock: noSplit(['borderTop', 'borderBottom']),\n borderBlockStart: noSplit(['borderTop']),\n borderBlockEnd: noSplit(['borderBottom']),\n borderInline: noSplit(['borderLeft', 'borderRight']),\n borderInlineStart: noSplit(['borderLeft']),\n borderInlineEnd: noSplit(['borderRight']),\n // Border width\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndWidth: ['borderBottomWidth'],\n borderInlineWidth: ['borderLeftWidth', 'borderRightWidth'],\n borderInlineStartWidth: ['borderLeftWidth'],\n borderInlineEndWidth: ['borderRightWidth'],\n // Border style\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderInlineStyle: ['borderLeftStyle', 'borderRightStyle'],\n borderInlineStartStyle: ['borderLeftStyle'],\n borderInlineEndStyle: ['borderRightStyle'],\n // Border color\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockEndColor: ['borderBottomColor'],\n borderInlineColor: ['borderLeftColor', 'borderRightColor'],\n borderInlineStartColor: ['borderLeftColor'],\n borderInlineEndColor: ['borderRightColor'],\n // Border radius\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius']\n};\nfunction wrapImportantAndSkipCheck(value, important) {\n var parsedValue = value;\n if (important) {\n parsedValue = \"\".concat(parsedValue, \" !important\");\n }\n return {\n _skip_check_: true,\n value: parsedValue\n };\n}\n\n/**\n * Convert css logical properties to legacy properties.\n * Such as: `margin-block-start` to `margin-top`.\n * Transform list:\n * - inset\n * - margin\n * - padding\n * - border\n */\nvar transform = {\n visit: function visit(cssObj) {\n var clone = {};\n Object.keys(cssObj).forEach(function (key) {\n var value = cssObj[key];\n var matchValue = keyMap[key];\n if (matchValue && (typeof value === 'number' || typeof value === 'string')) {\n var _splitValues = splitValues(value),\n _splitValues2 = _slicedToArray(_splitValues, 2),\n _values = _splitValues2[0],\n _important = _splitValues2[1];\n if (matchValue.length && matchValue.notSplit) {\n // not split means always give same value like border\n matchValue.forEach(function (matchKey) {\n clone[matchKey] = wrapImportantAndSkipCheck(value, _important);\n });\n } else if (matchValue.length === 1) {\n // Handle like `marginBlockStart` => `marginTop`\n clone[matchValue[0]] = wrapImportantAndSkipCheck(value, _important);\n } else if (matchValue.length === 2) {\n // Handle like `marginBlock` => `marginTop` & `marginBottom`\n matchValue.forEach(function (matchKey, index) {\n var _values$index;\n clone[matchKey] = wrapImportantAndSkipCheck((_values$index = _values[index]) !== null && _values$index !== void 0 ? _values$index : _values[0], _important);\n });\n } else if (matchValue.length === 4) {\n // Handle like `inset` => `top` & `right` & `bottom` & `left`\n matchValue.forEach(function (matchKey, index) {\n var _ref, _values$index2;\n clone[matchKey] = wrapImportantAndSkipCheck((_ref = (_values$index2 = _values[index]) !== null && _values$index2 !== void 0 ? _values$index2 : _values[index - 2]) !== null && _ref !== void 0 ? _ref : _values[0], _important);\n });\n } else {\n clone[key] = value;\n }\n } else {\n clone[key] = value;\n }\n });\n return clone;\n }\n};\nexport default transform;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport warn from \"rc-util/es/warning\";\nimport React, { useContext, useEffect } from 'react';\nimport IconContext from \"./components/Context\";\nfunction camelCase(input) {\n return input.replace(/-(.)/g, function (match, g) {\n return g.toUpperCase();\n });\n}\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n default:\n delete acc[key];\n acc[camelCase(key)] = val;\n }\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n}\n\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles(eleRef) {\n var _useContext = useContext(IconContext),\n csp = _useContext.csp,\n prefixCls = _useContext.prefixCls;\n var mergedStyleStr = iconStyles;\n if (prefixCls) {\n mergedStyleStr = mergedStyleStr.replace(/anticon/g, prefixCls);\n }\n useEffect(function () {\n var ele = eleRef.current;\n var shadowRoot = getShadowRoot(ele);\n updateCSS(mergedStyleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp,\n attachTo: shadowRoot\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport * as React from 'react';\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from \"../utils\";\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var svgRef = React.useRef();\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n useInsertStyles(svgRef);\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n if (!isIconDefinition(icon)) {\n return null;\n }\n var target = icon;\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread(_objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps), {}, {\n ref: svgRef\n }));\n};\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from \"./IconBase\";\nimport { normalizeTwoToneColors } from \"../utils\";\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n return [colors.primaryColor, colors.secondaryColor];\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { blue } from '@ant-design/colors';\nimport Context from \"./Context\";\nimport ReactIcon from \"./IconBase\";\nimport { getTwoToneColor, setTwoToneColor } from \"./twoTonePrimaryColor\";\nimport { normalizeTwoToneColors } from \"../utils\";\n// Initial setting\n// should move it to antd main repo?\nsetTwoToneColor(blue.primary);\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757#issuecomment-488848720\n\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre,\n rootClassName = _React$useContext.rootClassName;\n var classString = classNames(rootClassName, prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return /*#__PURE__*/React.createElement(\"span\", _extends({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","// This icon file is generated automatically.\nvar CheckCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\" } }] }, \"name\": \"check-circle\", \"theme\": \"filled\" };\nexport default CheckCircleFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CheckCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CheckCircleFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CheckCircleFilled = function CheckCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CheckCircleFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CheckCircleFilled.displayName = 'CheckCircleFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(CheckCircleFilled);","// This icon file is generated automatically.\nvar CloseCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"fill-rule\": \"evenodd\", \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z\" } }] }, \"name\": \"close-circle\", \"theme\": \"filled\" };\nexport default CloseCircleFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CloseCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CloseCircleFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CloseCircleFilled = function CloseCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CloseCircleFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CloseCircleFilled.displayName = 'CloseCircleFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(CloseCircleFilled);","// This icon file is generated automatically.\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"fill-rule\": \"evenodd\", \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexport default CloseOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CloseOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CloseOutlined = function CloseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CloseOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CloseOutlined.displayName = 'CloseOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(CloseOutlined);","// This icon file is generated automatically.\nvar ExclamationCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"filled\" };\nexport default ExclamationCircleFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport ExclamationCircleFilledSvg from \"@ant-design/icons-svg/es/asn/ExclamationCircleFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar ExclamationCircleFilled = function ExclamationCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: ExclamationCircleFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n ExclamationCircleFilled.displayName = 'ExclamationCircleFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(ExclamationCircleFilled);","// This icon file is generated automatically.\nvar InfoCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"info-circle\", \"theme\": \"filled\" };\nexport default InfoCircleFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport InfoCircleFilledSvg from \"@ant-design/icons-svg/es/asn/InfoCircleFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar InfoCircleFilled = function InfoCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: InfoCircleFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n InfoCircleFilled.displayName = 'InfoCircleFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(InfoCircleFilled);","// This icon file is generated automatically.\nvar LoadingOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\" } }] }, \"name\": \"loading\", \"theme\": \"outlined\" };\nexport default LoadingOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport LoadingOutlinedSvg from \"@ant-design/icons-svg/es/asn/LoadingOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar LoadingOutlined = function LoadingOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: LoadingOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n LoadingOutlined.displayName = 'LoadingOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(LoadingOutlined);","import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\n\nvar _invariant = require(\"invariant\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","import React from 'react';\nimport useToken from '../../theme/useToken';\nimport zIndexContext from '../zindexContext';\n// Z-Index control range\n// Container: 1000 + offset 100 (max base + 10 * offset = 2000)\n// Popover: offset 50\n// Notification: Container Max zIndex + componentOffset\nconst CONTAINER_OFFSET = 100;\nconst CONTAINER_OFFSET_MAX_COUNT = 10;\nexport const CONTAINER_MAX_OFFSET = CONTAINER_OFFSET * CONTAINER_OFFSET_MAX_COUNT;\nexport const containerBaseZIndexOffset = {\n Modal: CONTAINER_OFFSET,\n Drawer: CONTAINER_OFFSET,\n Popover: CONTAINER_OFFSET,\n Popconfirm: CONTAINER_OFFSET,\n Tooltip: CONTAINER_OFFSET,\n Tour: CONTAINER_OFFSET\n};\nexport const consumerBaseZIndexOffset = {\n SelectLike: 50,\n Dropdown: 50,\n DatePicker: 50,\n Menu: 50,\n ImagePreview: 1\n};\nfunction isContainerType(type) {\n return type in containerBaseZIndexOffset;\n}\nexport function useZIndex(componentType, customZIndex) {\n const [, token] = useToken();\n const parentZIndex = React.useContext(zIndexContext);\n const isContainer = isContainerType(componentType);\n if (customZIndex !== undefined) {\n return [customZIndex, customZIndex];\n }\n let zIndex = parentZIndex !== null && parentZIndex !== void 0 ? parentZIndex : 0;\n if (isContainer) {\n zIndex +=\n // Use preset token zIndex by default but not stack when has parent container\n (parentZIndex ? 0 : token.zIndexPopupBase) +\n // Container offset\n containerBaseZIndexOffset[componentType];\n zIndex = Math.min(zIndex, token.zIndexPopupBase + CONTAINER_MAX_OFFSET);\n } else {\n zIndex += consumerBaseZIndexOffset[componentType];\n }\n return [parentZIndex === undefined ? customZIndex : zIndex, zIndex];\n}","import * as React from 'react';\nimport rcWarning, { resetWarned as rcResetWarned } from \"rc-util/es/warning\";\nexport function noop() {}\nlet deprecatedWarnList = null;\nexport function resetWarned() {\n deprecatedWarnList = null;\n rcResetWarned();\n}\n// eslint-disable-next-line import/no-mutable-exports\nlet warning = noop;\nif (process.env.NODE_ENV !== 'production') {\n warning = (valid, component, message) => {\n rcWarning(valid, `[antd: ${component}] ${message}`);\n // StrictMode will inject console which will not throw warning in React 17.\n if (process.env.NODE_ENV === 'test') {\n resetWarned();\n }\n };\n}\nexport const WarningContext = /*#__PURE__*/React.createContext({});\n/**\n * This is a hook but we not named as `useWarning`\n * since this is only used in development.\n * We should always wrap this in `if (process.env.NODE_ENV !== 'production')` condition\n */\nexport const devUseWarning = process.env.NODE_ENV !== 'production' ? component => {\n const {\n strict\n } = React.useContext(WarningContext);\n const typeWarning = (valid, type, message) => {\n if (!valid) {\n if (strict === false && type === 'deprecated') {\n const existWarning = deprecatedWarnList;\n if (!deprecatedWarnList) {\n deprecatedWarnList = {};\n }\n deprecatedWarnList[component] = deprecatedWarnList[component] || [];\n if (!deprecatedWarnList[component].includes(message || '')) {\n deprecatedWarnList[component].push(message || '');\n }\n // Warning for the first time\n if (!existWarning) {\n // eslint-disable-next-line no-console\n console.warn('[antd] There exists deprecated usage in your code:', deprecatedWarnList);\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(valid, component, message) : void 0;\n }\n }\n };\n typeWarning.deprecated = (valid, oldProp, newProp, message) => {\n typeWarning(valid, 'deprecated', `\\`${oldProp}\\` is deprecated. Please use \\`${newProp}\\` instead.${message ? ` ${message}` : ''}`);\n };\n return typeWarning;\n} : () => {\n const noopWarning = () => {};\n noopWarning.deprecated = noop;\n return noopWarning;\n};\nexport default warning;","import React from 'react';\nconst zIndexContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n zIndexContext.displayName = 'zIndexContext';\n}\nexport default zIndexContext;","\"use client\";\n\nimport * as React from 'react';\nconst DisabledContext = /*#__PURE__*/React.createContext(false);\nexport const DisabledContextProvider = _ref => {\n let {\n children,\n disabled\n } = _ref;\n const originDisabled = React.useContext(DisabledContext);\n return /*#__PURE__*/React.createElement(DisabledContext.Provider, {\n value: disabled !== null && disabled !== void 0 ? disabled : originDisabled\n }, children);\n};\nexport default DisabledContext;","\"use client\";\n\nimport * as React from 'react';\nconst SizeContext = /*#__PURE__*/React.createContext(undefined);\nexport const SizeContextProvider = _ref => {\n let {\n children,\n size\n } = _ref;\n const originSize = React.useContext(SizeContext);\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n};\nexport default SizeContext;","import * as React from 'react';\nexport const defaultIconPrefixCls = 'anticon';\nconst defaultGetPrefixCls = (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n return suffixCls ? `ant-${suffixCls}` : 'ant';\n};\n// zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will cause circular dependency.\nexport const ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n iconPrefixCls: defaultIconPrefixCls\n});\nexport const {\n Consumer: ConfigConsumer\n} = ConfigContext;","import { useToken } from '../../theme/internal';\n/**\n * This hook is only for cssVar to add root className for components.\n * If root ClassName is needed, this hook could be refactored with `-root`\n * @param prefixCls\n */\nconst useCSSVarCls = prefixCls => {\n const [,,,, cssVar] = useToken();\n return cssVar ? `${prefixCls}-css-var` : '';\n};\nexport default useCSSVarCls;","\"use client\";\n\nimport { createContext } from 'react';\n// ZombieJ: We export single file here since\n// ConfigProvider use this which will make loop deps\n// to import whole `rc-field-form`\nexport default /*#__PURE__*/createContext(undefined);","\"use client\";\n\nimport * as React from 'react';\nimport { devUseWarning } from '../_util/warning';\nimport { changeConfirmLocale } from '../modal/locale';\nimport LocaleContext from './context';\nexport { default as useLocale } from './useLocale';\nexport const ANT_MARK = 'internalMark';\nconst LocaleProvider = props => {\n const {\n locale = {},\n children,\n _ANT_MARK__\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('LocaleProvider');\n process.env.NODE_ENV !== \"production\" ? warning(_ANT_MARK__ === ANT_MARK, 'deprecated', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale') : void 0;\n }\n React.useEffect(() => {\n const clearLocale = changeConfirmLocale(locale && locale.Modal);\n return clearLocale;\n }, [locale]);\n const getMemoizedContextValue = React.useMemo(() => Object.assign(Object.assign({}, locale), {\n exist: true\n }), [locale]);\n return /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n value: getMemoizedContextValue\n }, children);\n};\nif (process.env.NODE_ENV !== 'production') {\n LocaleProvider.displayName = 'LocaleProvider';\n}\nexport default LocaleProvider;","/* eslint-disable import/prefer-default-export, prefer-destructuring */\nimport { generate } from '@ant-design/colors';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport warning from '../_util/warning';\nconst dynamicStyleMark = `-ant-${Date.now()}-${Math.random()}`;\nexport function getStyle(globalPrefixCls, theme) {\n const variables = {};\n const formatColor = (color, updater) => {\n let clone = color.clone();\n clone = (updater === null || updater === void 0 ? void 0 : updater(clone)) || clone;\n return clone.toRgbString();\n };\n const fillColor = (colorVal, type) => {\n const baseColor = new TinyColor(colorVal);\n const colorPalettes = generate(baseColor.toRgbString());\n variables[`${type}-color`] = formatColor(baseColor);\n variables[`${type}-color-disabled`] = colorPalettes[1];\n variables[`${type}-color-hover`] = colorPalettes[4];\n variables[`${type}-color-active`] = colorPalettes[6];\n variables[`${type}-color-outline`] = baseColor.clone().setAlpha(0.2).toRgbString();\n variables[`${type}-color-deprecated-bg`] = colorPalettes[0];\n variables[`${type}-color-deprecated-border`] = colorPalettes[2];\n };\n // ================ Primary Color ================\n if (theme.primaryColor) {\n fillColor(theme.primaryColor, 'primary');\n const primaryColor = new TinyColor(theme.primaryColor);\n const primaryColors = generate(primaryColor.toRgbString());\n // Legacy - We should use semantic naming standard\n primaryColors.forEach((color, index) => {\n variables[`primary-${index + 1}`] = color;\n });\n // Deprecated\n variables['primary-color-deprecated-l-35'] = formatColor(primaryColor, c => c.lighten(35));\n variables['primary-color-deprecated-l-20'] = formatColor(primaryColor, c => c.lighten(20));\n variables['primary-color-deprecated-t-20'] = formatColor(primaryColor, c => c.tint(20));\n variables['primary-color-deprecated-t-50'] = formatColor(primaryColor, c => c.tint(50));\n variables['primary-color-deprecated-f-12'] = formatColor(primaryColor, c => c.setAlpha(c.getAlpha() * 0.12));\n const primaryActiveColor = new TinyColor(primaryColors[0]);\n variables['primary-color-active-deprecated-f-30'] = formatColor(primaryActiveColor, c => c.setAlpha(c.getAlpha() * 0.3));\n variables['primary-color-active-deprecated-d-02'] = formatColor(primaryActiveColor, c => c.darken(2));\n }\n // ================ Success Color ================\n if (theme.successColor) {\n fillColor(theme.successColor, 'success');\n }\n // ================ Warning Color ================\n if (theme.warningColor) {\n fillColor(theme.warningColor, 'warning');\n }\n // ================= Error Color =================\n if (theme.errorColor) {\n fillColor(theme.errorColor, 'error');\n }\n // ================= Info Color ==================\n if (theme.infoColor) {\n fillColor(theme.infoColor, 'info');\n }\n // Convert to css variables\n const cssList = Object.keys(variables).map(key => `--${globalPrefixCls}-${key}: ${variables[key]};`);\n return `\n :root {\n ${cssList.join('\\n')}\n }\n `.trim();\n}\nexport function registerTheme(globalPrefixCls, theme) {\n const style = getStyle(globalPrefixCls, theme);\n if (canUseDom()) {\n updateCSS(style, `${dynamicStyleMark}-dynamic-theme`);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'SSR do not support dynamic theme with css variables.') : void 0;\n }\n}","import { useContext } from 'react';\nimport DisabledContext from '../DisabledContext';\nimport SizeContext from '../SizeContext';\nfunction useConfig() {\n const componentDisabled = useContext(DisabledContext);\n const componentSize = useContext(SizeContext);\n return {\n componentDisabled,\n componentSize\n };\n}\nexport default useConfig;","import * as React from 'react';\nconst fullClone = Object.assign({}, React);\nconst {\n useId\n} = fullClone;\nconst useEmptyId = () => '';\nconst useThemeKey = typeof useId === 'undefined' ? useEmptyId : useId;\nexport default useThemeKey;","\"use client\";\n\nimport { Provider as MotionProvider } from 'rc-motion';\nimport * as React from 'react';\nimport { useToken } from '../theme/internal';\nexport default function MotionWrapper(props) {\n const {\n children\n } = props;\n const [, token] = useToken();\n const {\n motion\n } = token;\n const needWrapMotionProviderRef = React.useRef(false);\n needWrapMotionProviderRef.current = needWrapMotionProviderRef.current || motion === false;\n if (needWrapMotionProviderRef.current) {\n return /*#__PURE__*/React.createElement(MotionProvider, {\n motion: motion\n }, children);\n }\n return children;\n}","\"use client\";\n\nimport * as React from 'react';\nimport { devUseWarning } from '../_util/warning';\n/**\n * Warning for ConfigProviderProps.\n * This will be empty function in production.\n */\nconst PropWarning = /*#__PURE__*/React.memo(_ref => {\n let {\n dropdownMatchSelectWidth\n } = _ref;\n const warning = devUseWarning('ConfigProvider');\n warning.deprecated(dropdownMatchSelectWidth === undefined, 'dropdownMatchSelectWidth', 'popupMatchSelectWidth');\n return null;\n});\nif (process.env.NODE_ENV !== 'production') {\n PropWarning.displayName = 'PropWarning';\n}\nexport default process.env.NODE_ENV !== 'production' ? PropWarning : () => null;","\"use client\";\n'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { createTheme } from '@ant-design/cssinjs';\nimport IconContext from \"@ant-design/icons/es/components/Context\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport { merge } from \"rc-util/es/utils/set\";\nimport warning, { WarningContext } from '../_util/warning';\nimport ValidateMessagesContext from '../form/validateMessagesContext';\nimport LocaleProvider, { ANT_MARK } from '../locale';\nimport LocaleContext from '../locale/context';\nimport defaultLocale from '../locale/en_US';\nimport { defaultTheme, DesignTokenContext } from '../theme/context';\nimport defaultSeedToken from '../theme/themes/seed';\nimport { ConfigConsumer, ConfigContext, defaultIconPrefixCls } from './context';\nimport { registerTheme } from './cssVariables';\nimport { DisabledContextProvider } from './DisabledContext';\nimport useConfig from './hooks/useConfig';\nimport useTheme from './hooks/useTheme';\nimport MotionWrapper from './MotionWrapper';\nimport PropWarning from './PropWarning';\nimport SizeContext, { SizeContextProvider } from './SizeContext';\nimport useStyle from './style';\n/**\n * Since too many feedback using static method like `Modal.confirm` not getting theme, we record the\n * theme register info here to help developer get warning info.\n */\nlet existThemeConfig = false;\nexport const warnContext = process.env.NODE_ENV !== 'production' ? componentName => {\n process.env.NODE_ENV !== \"production\" ? warning(!existThemeConfig, componentName, `Static function can not consume context like dynamic theme. Please use 'App' component instead.`) : void 0;\n} : /* istanbul ignore next */\nnull;\nexport { ConfigConsumer, ConfigContext, defaultIconPrefixCls };\nexport const configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader'];\n// These props is used by `useContext` directly in sub component\nconst PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'pagination', 'form', 'select', 'button'];\nexport const defaultPrefixCls = 'ant';\nlet globalPrefixCls;\nlet globalIconPrefixCls;\nlet globalTheme;\nlet globalHolderRender;\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\nfunction getGlobalIconPrefixCls() {\n return globalIconPrefixCls || defaultIconPrefixCls;\n}\nfunction isLegacyTheme(theme) {\n return Object.keys(theme).some(key => key.endsWith('Color'));\n}\nconst setGlobalConfig = props => {\n const {\n prefixCls,\n iconPrefixCls,\n theme,\n holderRender\n } = props;\n if (prefixCls !== undefined) {\n globalPrefixCls = prefixCls;\n }\n if (iconPrefixCls !== undefined) {\n globalIconPrefixCls = iconPrefixCls;\n }\n if ('holderRender' in props) {\n globalHolderRender = holderRender;\n }\n if (theme) {\n if (isLegacyTheme(theme)) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', '`config` of css variable theme is not work in v5. Please use new `theme` config instead.') : void 0;\n registerTheme(getGlobalPrefixCls(), theme);\n } else {\n globalTheme = theme;\n }\n }\n};\nexport const globalConfig = () => ({\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n return suffixCls ? `${getGlobalPrefixCls()}-${suffixCls}` : getGlobalPrefixCls();\n },\n getIconPrefixCls: getGlobalIconPrefixCls,\n getRootPrefixCls: () => {\n // If Global prefixCls provided, use this\n if (globalPrefixCls) {\n return globalPrefixCls;\n }\n // Fallback to default prefixCls\n return getGlobalPrefixCls();\n },\n getTheme: () => globalTheme,\n holderRender: globalHolderRender\n});\nconst ProviderChildren = props => {\n const {\n children,\n csp: customCsp,\n autoInsertSpaceInButton,\n alert,\n anchor,\n form,\n locale,\n componentSize,\n direction,\n space,\n virtual,\n dropdownMatchSelectWidth,\n popupMatchSelectWidth,\n popupOverflow,\n legacyLocale,\n parentContext,\n iconPrefixCls: customIconPrefixCls,\n theme,\n componentDisabled,\n segmented,\n statistic,\n spin,\n calendar,\n carousel,\n cascader,\n collapse,\n typography,\n checkbox,\n descriptions,\n divider,\n drawer,\n skeleton,\n steps,\n image,\n layout,\n list,\n mentions,\n modal,\n progress,\n result,\n slider,\n breadcrumb,\n menu,\n pagination,\n input,\n empty,\n badge,\n radio,\n rate,\n switch: SWITCH,\n transfer,\n avatar,\n message,\n tag,\n table,\n card,\n tabs,\n timeline,\n timePicker,\n upload,\n notification,\n tree,\n colorPicker,\n datePicker,\n rangePicker,\n flex,\n wave,\n dropdown,\n warning: warningConfig\n } = props;\n // =================================== Context ===================================\n const getPrefixCls = React.useCallback((suffixCls, customizePrefixCls) => {\n const {\n prefixCls\n } = props;\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n const mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? `${mergedPrefixCls}-${suffixCls}` : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n const iconPrefixCls = customIconPrefixCls || parentContext.iconPrefixCls || defaultIconPrefixCls;\n const csp = customCsp || parentContext.csp;\n useStyle(iconPrefixCls, csp);\n const mergedTheme = useTheme(theme, parentContext.theme);\n if (process.env.NODE_ENV !== 'production') {\n existThemeConfig = existThemeConfig || !!mergedTheme;\n }\n const baseConfig = {\n csp,\n autoInsertSpaceInButton,\n alert,\n anchor,\n locale: locale || legacyLocale,\n direction,\n space,\n virtual,\n popupMatchSelectWidth: popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth,\n popupOverflow,\n getPrefixCls,\n iconPrefixCls,\n theme: mergedTheme,\n segmented,\n statistic,\n spin,\n calendar,\n carousel,\n cascader,\n collapse,\n typography,\n checkbox,\n descriptions,\n divider,\n drawer,\n skeleton,\n steps,\n image,\n input,\n layout,\n list,\n mentions,\n modal,\n progress,\n result,\n slider,\n breadcrumb,\n menu,\n pagination,\n empty,\n badge,\n radio,\n rate,\n switch: SWITCH,\n transfer,\n avatar,\n message,\n tag,\n table,\n card,\n tabs,\n timeline,\n timePicker,\n upload,\n notification,\n tree,\n colorPicker,\n datePicker,\n rangePicker,\n flex,\n wave,\n dropdown,\n warning: warningConfig\n };\n const config = Object.assign({}, parentContext);\n Object.keys(baseConfig).forEach(key => {\n if (baseConfig[key] !== undefined) {\n config[key] = baseConfig[key];\n }\n });\n // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n PASSED_PROPS.forEach(propName => {\n const propValue = props[propName];\n if (propValue) {\n config[propName] = propValue;\n }\n });\n // https://github.com/ant-design/ant-design/issues/27617\n const memoedConfig = useMemo(() => config, config, (prevConfig, currentConfig) => {\n const prevKeys = Object.keys(prevConfig);\n const currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(key => prevConfig[key] !== currentConfig[key]);\n });\n const memoIconContextValue = React.useMemo(() => ({\n prefixCls: iconPrefixCls,\n csp\n }), [iconPrefixCls, csp]);\n let childNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PropWarning, {\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n }), children);\n const validateMessages = React.useMemo(() => {\n var _a, _b, _c, _d;\n return merge(((_a = defaultLocale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || {}, ((_c = (_b = memoedConfig.locale) === null || _b === void 0 ? void 0 : _b.Form) === null || _c === void 0 ? void 0 : _c.defaultValidateMessages) || {}, ((_d = memoedConfig.form) === null || _d === void 0 ? void 0 : _d.validateMessages) || {}, (form === null || form === void 0 ? void 0 : form.validateMessages) || {});\n }, [memoedConfig, form === null || form === void 0 ? void 0 : form.validateMessages]);\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(ValidateMessagesContext.Provider, {\n value: validateMessages\n }, childNode);\n }\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(LocaleProvider, {\n locale: locale,\n _ANT_MARK__: ANT_MARK\n }, childNode);\n }\n if (iconPrefixCls || csp) {\n childNode = /*#__PURE__*/React.createElement(IconContext.Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n // =================================== Motion ===================================\n childNode = /*#__PURE__*/React.createElement(MotionWrapper, null, childNode);\n // ================================ Dynamic theme ================================\n const memoTheme = React.useMemo(() => {\n const _a = mergedTheme || {},\n {\n algorithm,\n token,\n components,\n cssVar\n } = _a,\n rest = __rest(_a, [\"algorithm\", \"token\", \"components\", \"cssVar\"]);\n const themeObj = algorithm && (!Array.isArray(algorithm) || algorithm.length > 0) ? createTheme(algorithm) : defaultTheme;\n const parsedComponents = {};\n Object.entries(components || {}).forEach(_ref => {\n let [componentName, componentToken] = _ref;\n const parsedToken = Object.assign({}, componentToken);\n if ('algorithm' in parsedToken) {\n if (parsedToken.algorithm === true) {\n parsedToken.theme = themeObj;\n } else if (Array.isArray(parsedToken.algorithm) || typeof parsedToken.algorithm === 'function') {\n parsedToken.theme = createTheme(parsedToken.algorithm);\n }\n delete parsedToken.algorithm;\n }\n parsedComponents[componentName] = parsedToken;\n });\n const mergedToken = Object.assign(Object.assign({}, defaultSeedToken), token);\n return Object.assign(Object.assign({}, rest), {\n theme: themeObj,\n token: mergedToken,\n components: parsedComponents,\n override: Object.assign({\n override: mergedToken\n }, parsedComponents),\n cssVar: cssVar\n });\n }, [mergedTheme]);\n if (theme) {\n childNode = /*#__PURE__*/React.createElement(DesignTokenContext.Provider, {\n value: memoTheme\n }, childNode);\n }\n // ================================== Warning ===================================\n if (memoedConfig.warning) {\n childNode = /*#__PURE__*/React.createElement(WarningContext.Provider, {\n value: memoedConfig.warning\n }, childNode);\n }\n // =================================== Render ===================================\n if (componentDisabled !== undefined) {\n childNode = /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: componentDisabled\n }, childNode);\n }\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\nconst ConfigProvider = props => {\n const context = React.useContext(ConfigContext);\n const antLocale = React.useContext(LocaleContext);\n return /*#__PURE__*/React.createElement(ProviderChildren, Object.assign({\n parentContext: context,\n legacyLocale: antLocale\n }, props));\n};\nConfigProvider.ConfigContext = ConfigContext;\nConfigProvider.SizeContext = SizeContext;\nConfigProvider.config = setGlobalConfig;\nConfigProvider.useConfig = useConfig;\nObject.defineProperty(ConfigProvider, 'SizeContext', {\n get: () => {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'ConfigProvider.SizeContext is deprecated. Please use `ConfigProvider.useConfig().componentSize` instead.') : void 0;\n return SizeContext;\n }\n});\nif (process.env.NODE_ENV !== 'production') {\n ConfigProvider.displayName = 'ConfigProvider';\n}\nexport default ConfigProvider;","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { defaultConfig } from '../../theme/internal';\nimport useThemeKey from './useThemeKey';\nimport { devUseWarning } from '../../_util/warning';\nexport default function useTheme(theme, parentTheme) {\n var _a;\n const warning = devUseWarning('ConfigProvider');\n const themeConfig = theme || {};\n const parentThemeConfig = themeConfig.inherit === false || !parentTheme ? defaultConfig : parentTheme;\n const themeKey = useThemeKey();\n if (process.env.NODE_ENV !== 'production') {\n const cssVarEnabled = themeConfig.cssVar || parentThemeConfig.cssVar;\n const validKey = !!(typeof themeConfig.cssVar === 'object' && ((_a = themeConfig.cssVar) === null || _a === void 0 ? void 0 : _a.key) || themeKey);\n process.env.NODE_ENV !== \"production\" ? warning(!cssVarEnabled || validKey, 'breaking', 'Missing key in `cssVar` config. Please upgrade to React 18 or set `cssVar.key` manually in each ConfigProvider inside `cssVar` enabled ConfigProvider.') : void 0;\n }\n return useMemo(() => {\n var _a, _b;\n if (!theme) {\n return parentTheme;\n }\n // Override\n const mergedComponents = Object.assign({}, parentThemeConfig.components);\n Object.keys(theme.components || {}).forEach(componentName => {\n mergedComponents[componentName] = Object.assign(Object.assign({}, mergedComponents[componentName]), theme.components[componentName]);\n });\n const cssVarKey = `css-var-${themeKey.replace(/:/g, '')}`;\n const mergedCssVar = ((_a = themeConfig.cssVar) !== null && _a !== void 0 ? _a : parentThemeConfig.cssVar) && Object.assign(Object.assign(Object.assign({\n prefix: 'ant'\n }, typeof parentThemeConfig.cssVar === 'object' ? parentThemeConfig.cssVar : {}), typeof themeConfig.cssVar === 'object' ? themeConfig.cssVar : {}), {\n key: typeof themeConfig.cssVar === 'object' && ((_b = themeConfig.cssVar) === null || _b === void 0 ? void 0 : _b.key) || cssVarKey\n });\n // Base token\n return Object.assign(Object.assign(Object.assign({}, parentThemeConfig), themeConfig), {\n token: Object.assign(Object.assign({}, parentThemeConfig.token), themeConfig.token),\n components: mergedComponents,\n cssVar: mergedCssVar\n });\n }, [themeConfig, parentThemeConfig], (prev, next) => prev.some((prevTheme, index) => {\n const nextTheme = next[index];\n return !isEqual(prevTheme, nextTheme, true);\n }));\n}","import { createContext } from 'react';\nconst LocaleContext = /*#__PURE__*/createContext(undefined);\nexport default LocaleContext;","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","const locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nexport default locale;","import CalendarLocale from \"rc-picker/es/locale/en_US\";\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n// Merge into a locale object\nconst locale = {\n lang: Object.assign({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, CalendarLocale),\n timePickerLocale: Object.assign({}, TimePickerLocale)\n};\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nexport default locale;","import enUS from '../../date-picker/locale/en_US';\nexport default enUS;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/en_US\";\nimport Calendar from '../calendar/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nconst typeTemplate = '${label} is not a valid ${type}';\nconst localeValues = {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Tour: {\n Next: 'Next',\n Previous: 'Previous',\n Finish: 'Finish'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n default: 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n enum: '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n },\n QRCode: {\n expired: 'QR code expired',\n refresh: 'Refresh',\n scanned: 'Scanned'\n },\n ColorPicker: {\n presetEmpty: 'Empty'\n }\n};\nexport default localeValues;","import React from 'react';\nexport const AppConfigContext = /*#__PURE__*/React.createContext({});\nconst AppContext = /*#__PURE__*/React.createContext({\n message: {},\n notification: {},\n modal: {}\n});\nexport default AppContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nvar Notify = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n style = props.style,\n className = props.className,\n _props$duration = props.duration,\n duration = _props$duration === void 0 ? 4.5 : _props$duration,\n eventKey = props.eventKey,\n content = props.content,\n closable = props.closable,\n _props$closeIcon = props.closeIcon,\n closeIcon = _props$closeIcon === void 0 ? 'x' : _props$closeIcon,\n divProps = props.props,\n onClick = props.onClick,\n onNoticeClose = props.onNoticeClose,\n times = props.times,\n forcedHovering = props.hovering;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n hovering = _React$useState2[0],\n setHovering = _React$useState2[1];\n var mergedHovering = forcedHovering || hovering;\n\n // ======================== Close =========================\n var onInternalClose = function onInternalClose() {\n onNoticeClose(eventKey);\n };\n var onCloseKeyDown = function onCloseKeyDown(e) {\n if (e.key === 'Enter' || e.code === 'Enter' || e.keyCode === KeyCode.ENTER) {\n onInternalClose();\n }\n };\n\n // ======================== Effect ========================\n React.useEffect(function () {\n if (!mergedHovering && duration > 0) {\n var timeout = setTimeout(function () {\n onInternalClose();\n }, duration * 1000);\n return function () {\n clearTimeout(timeout);\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [duration, mergedHovering, times]);\n\n // ======================== Render ========================\n var noticePrefixCls = \"\".concat(prefixCls, \"-notice\");\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n ref: ref,\n className: classNames(noticePrefixCls, className, _defineProperty({}, \"\".concat(noticePrefixCls, \"-closable\"), closable)),\n style: style,\n onMouseEnter: function onMouseEnter(e) {\n var _divProps$onMouseEnte;\n setHovering(true);\n divProps === null || divProps === void 0 || (_divProps$onMouseEnte = divProps.onMouseEnter) === null || _divProps$onMouseEnte === void 0 || _divProps$onMouseEnte.call(divProps, e);\n },\n onMouseLeave: function onMouseLeave(e) {\n var _divProps$onMouseLeav;\n setHovering(false);\n divProps === null || divProps === void 0 || (_divProps$onMouseLeav = divProps.onMouseLeave) === null || _divProps$onMouseLeav === void 0 || _divProps$onMouseLeav.call(divProps, e);\n },\n onClick: onClick\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(noticePrefixCls, \"-content\")\n }, content), closable && /*#__PURE__*/React.createElement(\"a\", {\n tabIndex: 0,\n className: \"\".concat(noticePrefixCls, \"-close\"),\n onKeyDown: onCloseKeyDown,\n onClick: function onClick(e) {\n e.preventDefault();\n e.stopPropagation();\n onInternalClose();\n }\n }, closeIcon));\n});\nexport default Notify;","import React from 'react';\nexport var NotificationContext = /*#__PURE__*/React.createContext({});\nvar NotificationProvider = function NotificationProvider(_ref) {\n var children = _ref.children,\n classNames = _ref.classNames;\n return /*#__PURE__*/React.createElement(NotificationContext.Provider, {\n value: {\n classNames: classNames\n }\n }, children);\n};\nexport default NotificationProvider;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar DEFAULT_OFFSET = 8;\nvar DEFAULT_THRESHOLD = 3;\nvar DEFAULT_GAP = 16;\nvar useStack = function useStack(config) {\n var result = {\n offset: DEFAULT_OFFSET,\n threshold: DEFAULT_THRESHOLD,\n gap: DEFAULT_GAP\n };\n if (config && _typeof(config) === 'object') {\n var _config$offset, _config$threshold, _config$gap;\n result.offset = (_config$offset = config.offset) !== null && _config$offset !== void 0 ? _config$offset : DEFAULT_OFFSET;\n result.threshold = (_config$threshold = config.threshold) !== null && _config$threshold !== void 0 ? _config$threshold : DEFAULT_THRESHOLD;\n result.gap = (_config$gap = config.gap) !== null && _config$gap !== void 0 ? _config$gap : DEFAULT_GAP;\n }\n return [!!config, result];\n};\nexport default useStack;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _excluded = [\"className\", \"style\", \"classNames\", \"styles\"];\nimport React, { useContext, useEffect, useRef, useState } from 'react';\nimport clsx from 'classnames';\nimport { CSSMotionList } from 'rc-motion';\nimport Notice from \"./Notice\";\nimport { NotificationContext } from \"./NotificationProvider\";\nimport useStack from \"./hooks/useStack\";\nvar NoticeList = function NoticeList(props) {\n var _clsx;\n var configList = props.configList,\n placement = props.placement,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n motion = props.motion,\n onAllNoticeRemoved = props.onAllNoticeRemoved,\n onNoticeClose = props.onNoticeClose,\n stackConfig = props.stack;\n var _useContext = useContext(NotificationContext),\n ctxCls = _useContext.classNames;\n var dictRef = useRef({});\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n latestNotice = _useState2[0],\n setLatestNotice = _useState2[1];\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n hoverKeys = _useState4[0],\n setHoverKeys = _useState4[1];\n var keys = configList.map(function (config) {\n return {\n config: config,\n key: String(config.key)\n };\n });\n var _useStack = useStack(stackConfig),\n _useStack2 = _slicedToArray(_useStack, 2),\n stack = _useStack2[0],\n _useStack2$ = _useStack2[1],\n offset = _useStack2$.offset,\n threshold = _useStack2$.threshold,\n gap = _useStack2$.gap;\n var expanded = stack && (hoverKeys.length > 0 || keys.length <= threshold);\n var placementMotion = typeof motion === 'function' ? motion(placement) : motion;\n\n // Clean hover key\n useEffect(function () {\n if (stack && hoverKeys.length > 1) {\n setHoverKeys(function (prev) {\n return prev.filter(function (key) {\n return keys.some(function (_ref) {\n var dataKey = _ref.key;\n return key === dataKey;\n });\n });\n });\n }\n }, [hoverKeys, keys, stack]);\n\n // Force update latest notice\n useEffect(function () {\n var _keys;\n if (stack && dictRef.current[(_keys = keys[keys.length - 1]) === null || _keys === void 0 ? void 0 : _keys.key]) {\n var _keys2;\n setLatestNotice(dictRef.current[(_keys2 = keys[keys.length - 1]) === null || _keys2 === void 0 ? void 0 : _keys2.key]);\n }\n }, [keys, stack]);\n return /*#__PURE__*/React.createElement(CSSMotionList, _extends({\n key: placement,\n className: clsx(prefixCls, \"\".concat(prefixCls, \"-\").concat(placement), ctxCls === null || ctxCls === void 0 ? void 0 : ctxCls.list, className, (_clsx = {}, _defineProperty(_clsx, \"\".concat(prefixCls, \"-stack\"), !!stack), _defineProperty(_clsx, \"\".concat(prefixCls, \"-stack-expanded\"), expanded), _clsx)),\n style: style,\n keys: keys,\n motionAppear: true\n }, placementMotion, {\n onAllRemoved: function onAllRemoved() {\n onAllNoticeRemoved(placement);\n }\n }), function (_ref2, nodeRef) {\n var config = _ref2.config,\n motionClassName = _ref2.className,\n motionStyle = _ref2.style,\n motionIndex = _ref2.index;\n var _ref3 = config,\n key = _ref3.key,\n times = _ref3.times;\n var strKey = String(key);\n var _ref4 = config,\n configClassName = _ref4.className,\n configStyle = _ref4.style,\n configClassNames = _ref4.classNames,\n configStyles = _ref4.styles,\n restConfig = _objectWithoutProperties(_ref4, _excluded);\n var dataIndex = keys.findIndex(function (item) {\n return item.key === strKey;\n });\n\n // If dataIndex is -1, that means this notice has been removed in data, but still in dom\n // Should minus (motionIndex - 1) to get the correct index because keys.length is not the same as dom length\n var stackStyle = {};\n if (stack) {\n var index = keys.length - 1 - (dataIndex > -1 ? dataIndex : motionIndex - 1);\n var transformX = placement === 'top' || placement === 'bottom' ? '-50%' : '0';\n if (index > 0) {\n var _dictRef$current$strK, _dictRef$current$strK2, _dictRef$current$strK3;\n stackStyle.height = expanded ? (_dictRef$current$strK = dictRef.current[strKey]) === null || _dictRef$current$strK === void 0 ? void 0 : _dictRef$current$strK.offsetHeight : latestNotice === null || latestNotice === void 0 ? void 0 : latestNotice.offsetHeight;\n\n // Transform\n var verticalOffset = 0;\n for (var i = 0; i < index; i++) {\n var _dictRef$current$keys;\n verticalOffset += ((_dictRef$current$keys = dictRef.current[keys[keys.length - 1 - i].key]) === null || _dictRef$current$keys === void 0 ? void 0 : _dictRef$current$keys.offsetHeight) + gap;\n }\n var transformY = (expanded ? verticalOffset : index * offset) * (placement.startsWith('top') ? 1 : -1);\n var scaleX = !expanded && latestNotice !== null && latestNotice !== void 0 && latestNotice.offsetWidth && (_dictRef$current$strK2 = dictRef.current[strKey]) !== null && _dictRef$current$strK2 !== void 0 && _dictRef$current$strK2.offsetWidth ? ((latestNotice === null || latestNotice === void 0 ? void 0 : latestNotice.offsetWidth) - offset * 2 * (index < 3 ? index : 3)) / ((_dictRef$current$strK3 = dictRef.current[strKey]) === null || _dictRef$current$strK3 === void 0 ? void 0 : _dictRef$current$strK3.offsetWidth) : 1;\n stackStyle.transform = \"translate3d(\".concat(transformX, \", \").concat(transformY, \"px, 0) scaleX(\").concat(scaleX, \")\");\n } else {\n stackStyle.transform = \"translate3d(\".concat(transformX, \", 0, 0)\");\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: nodeRef,\n className: clsx(\"\".concat(prefixCls, \"-notice-wrapper\"), motionClassName, configClassNames === null || configClassNames === void 0 ? void 0 : configClassNames.wrapper),\n style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), stackStyle), configStyles === null || configStyles === void 0 ? void 0 : configStyles.wrapper),\n onMouseEnter: function onMouseEnter() {\n return setHoverKeys(function (prev) {\n return prev.includes(strKey) ? prev : [].concat(_toConsumableArray(prev), [strKey]);\n });\n },\n onMouseLeave: function onMouseLeave() {\n return setHoverKeys(function (prev) {\n return prev.filter(function (k) {\n return k !== strKey;\n });\n });\n }\n }, /*#__PURE__*/React.createElement(Notice, _extends({}, restConfig, {\n ref: function ref(node) {\n if (dataIndex > -1) {\n dictRef.current[strKey] = node;\n } else {\n delete dictRef.current[strKey];\n }\n },\n prefixCls: prefixCls,\n classNames: configClassNames,\n styles: configStyles,\n className: clsx(configClassName, ctxCls === null || ctxCls === void 0 ? void 0 : ctxCls.notice),\n style: configStyle,\n times: times,\n key: key,\n eventKey: key,\n onNoticeClose: onNoticeClose,\n hovering: stack && hoverKeys.length > 0\n })));\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n NoticeList.displayName = 'NoticeList';\n}\nexport default NoticeList;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport NoticeList from \"./NoticeList\";\n// ant-notification ant-notification-topRight\nvar Notifications = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-notification' : _props$prefixCls,\n container = props.container,\n motion = props.motion,\n maxCount = props.maxCount,\n className = props.className,\n style = props.style,\n onAllRemoved = props.onAllRemoved,\n stack = props.stack,\n renderNotifications = props.renderNotifications;\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n configList = _React$useState2[0],\n setConfigList = _React$useState2[1];\n\n // ======================== Close =========================\n var onNoticeClose = function onNoticeClose(key) {\n var _config$onClose;\n // Trigger close event\n var config = configList.find(function (item) {\n return item.key === key;\n });\n config === null || config === void 0 || (_config$onClose = config.onClose) === null || _config$onClose === void 0 || _config$onClose.call(config);\n setConfigList(function (list) {\n return list.filter(function (item) {\n return item.key !== key;\n });\n });\n };\n\n // ========================= Refs =========================\n React.useImperativeHandle(ref, function () {\n return {\n open: function open(config) {\n setConfigList(function (list) {\n var clone = _toConsumableArray(list);\n\n // Replace if exist\n var index = clone.findIndex(function (item) {\n return item.key === config.key;\n });\n var innerConfig = _objectSpread({}, config);\n if (index >= 0) {\n var _list$index;\n innerConfig.times = (((_list$index = list[index]) === null || _list$index === void 0 ? void 0 : _list$index.times) || 0) + 1;\n clone[index] = innerConfig;\n } else {\n innerConfig.times = 0;\n clone.push(innerConfig);\n }\n if (maxCount > 0 && clone.length > maxCount) {\n clone = clone.slice(-maxCount);\n }\n return clone;\n });\n },\n close: function close(key) {\n onNoticeClose(key);\n },\n destroy: function destroy() {\n setConfigList([]);\n }\n };\n });\n\n // ====================== Placements ======================\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n placements = _React$useState4[0],\n setPlacements = _React$useState4[1];\n React.useEffect(function () {\n var nextPlacements = {};\n configList.forEach(function (config) {\n var _config$placement = config.placement,\n placement = _config$placement === void 0 ? 'topRight' : _config$placement;\n if (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n nextPlacements[placement].push(config);\n }\n });\n\n // Fill exist placements to avoid empty list causing remove without motion\n Object.keys(placements).forEach(function (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n });\n setPlacements(nextPlacements);\n }, [configList]);\n\n // Clean up container if all notices fade out\n var onAllNoticeRemoved = function onAllNoticeRemoved(placement) {\n setPlacements(function (originPlacements) {\n var clone = _objectSpread({}, originPlacements);\n var list = clone[placement] || [];\n if (!list.length) {\n delete clone[placement];\n }\n return clone;\n });\n };\n\n // Effect tell that placements is empty now\n var emptyRef = React.useRef(false);\n React.useEffect(function () {\n if (Object.keys(placements).length > 0) {\n emptyRef.current = true;\n } else if (emptyRef.current) {\n // Trigger only when from exist to empty\n onAllRemoved === null || onAllRemoved === void 0 || onAllRemoved();\n emptyRef.current = false;\n }\n }, [placements]);\n // ======================== Render ========================\n if (!container) {\n return null;\n }\n var placementList = Object.keys(placements);\n return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(React.Fragment, null, placementList.map(function (placement) {\n var placementConfigList = placements[placement];\n var list = /*#__PURE__*/React.createElement(NoticeList, {\n key: placement,\n configList: placementConfigList,\n placement: placement,\n prefixCls: prefixCls,\n className: className === null || className === void 0 ? void 0 : className(placement),\n style: style === null || style === void 0 ? void 0 : style(placement),\n motion: motion,\n onNoticeClose: onNoticeClose,\n onAllNoticeRemoved: onAllNoticeRemoved,\n stack: stack\n });\n return renderNotifications ? renderNotifications(list, {\n prefixCls: prefixCls,\n key: placement\n }) : list;\n })), container);\n});\nif (process.env.NODE_ENV !== 'production') {\n Notifications.displayName = 'Notifications';\n}\nexport default Notifications;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"getContainer\", \"motion\", \"prefixCls\", \"maxCount\", \"className\", \"style\", \"onAllRemoved\", \"stack\", \"renderNotifications\"];\nimport * as React from 'react';\nimport Notifications from \"../Notifications\";\nvar defaultGetContainer = function defaultGetContainer() {\n return document.body;\n};\nvar uniqueKey = 0;\nfunction mergeConfig() {\n var clone = {};\n for (var _len = arguments.length, objList = new Array(_len), _key = 0; _key < _len; _key++) {\n objList[_key] = arguments[_key];\n }\n objList.forEach(function (obj) {\n if (obj) {\n Object.keys(obj).forEach(function (key) {\n var val = obj[key];\n if (val !== undefined) {\n clone[key] = val;\n }\n });\n }\n });\n return clone;\n}\nexport default function useNotification() {\n var rootConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _rootConfig$getContai = rootConfig.getContainer,\n getContainer = _rootConfig$getContai === void 0 ? defaultGetContainer : _rootConfig$getContai,\n motion = rootConfig.motion,\n prefixCls = rootConfig.prefixCls,\n maxCount = rootConfig.maxCount,\n className = rootConfig.className,\n style = rootConfig.style,\n onAllRemoved = rootConfig.onAllRemoved,\n stack = rootConfig.stack,\n renderNotifications = rootConfig.renderNotifications,\n shareConfig = _objectWithoutProperties(rootConfig, _excluded);\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n container = _React$useState2[0],\n setContainer = _React$useState2[1];\n var notificationsRef = React.useRef();\n var contextHolder = /*#__PURE__*/React.createElement(Notifications, {\n container: container,\n ref: notificationsRef,\n prefixCls: prefixCls,\n motion: motion,\n maxCount: maxCount,\n className: className,\n style: style,\n onAllRemoved: onAllRemoved,\n stack: stack,\n renderNotifications: renderNotifications\n });\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n taskQueue = _React$useState4[0],\n setTaskQueue = _React$useState4[1];\n\n // ========================= Refs =========================\n var api = React.useMemo(function () {\n return {\n open: function open(config) {\n var mergedConfig = mergeConfig(shareConfig, config);\n if (mergedConfig.key === null || mergedConfig.key === undefined) {\n mergedConfig.key = \"rc-notification-\".concat(uniqueKey);\n uniqueKey += 1;\n }\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'open',\n config: mergedConfig\n }]);\n });\n },\n close: function close(key) {\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'close',\n key: key\n }]);\n });\n },\n destroy: function destroy() {\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'destroy'\n }]);\n });\n }\n };\n }, []);\n\n // ======================= Container ======================\n // React 18 should all in effect that we will check container in each render\n // Which means getContainer should be stable.\n React.useEffect(function () {\n setContainer(getContainer());\n });\n\n // ======================== Effect ========================\n React.useEffect(function () {\n // Flush task when node ready\n if (notificationsRef.current && taskQueue.length) {\n taskQueue.forEach(function (task) {\n switch (task.type) {\n case 'open':\n notificationsRef.current.open(task.config);\n break;\n case 'close':\n notificationsRef.current.close(task.key);\n break;\n case 'destroy':\n notificationsRef.current.destroy();\n break;\n }\n });\n\n // React 17 will mix order of effect & setState in async\n // - open: setState[0]\n // - effect[0]\n // - open: setState[1]\n // - effect setState([]) * here will clean up [0, 1] in React 17\n setTaskQueue(function (oriQueue) {\n return oriQueue.filter(function (task) {\n return !taskQueue.includes(task);\n });\n });\n }\n }, [taskQueue]);\n\n // ======================== Return ========================\n return [api, contextHolder];\n}","import { Keyframes } from '@ant-design/cssinjs';\nimport { CONTAINER_MAX_OFFSET } from '../../_util/hooks/useZIndex';\nimport { resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nconst genMessageStyle = token => {\n const {\n componentCls,\n iconCls,\n boxShadow,\n colorText,\n colorSuccess,\n colorError,\n colorWarning,\n colorInfo,\n fontSizeLG,\n motionEaseInOutCirc,\n motionDurationSlow,\n marginXS,\n paddingXS,\n borderRadiusLG,\n zIndexPopup,\n // Custom token\n contentPadding,\n contentBg\n } = token;\n const noticeCls = `${componentCls}-notice`;\n const messageMoveIn = new Keyframes('MessageMoveIn', {\n '0%': {\n padding: 0,\n transform: 'translateY(-100%)',\n opacity: 0\n },\n '100%': {\n padding: paddingXS,\n transform: 'translateY(0)',\n opacity: 1\n }\n });\n const messageMoveOut = new Keyframes('MessageMoveOut', {\n '0%': {\n maxHeight: token.height,\n padding: paddingXS,\n opacity: 1\n },\n '100%': {\n maxHeight: 0,\n padding: 0,\n opacity: 0\n }\n });\n const noticeStyle = {\n padding: paddingXS,\n textAlign: 'center',\n [`${componentCls}-custom-content > ${iconCls}`]: {\n verticalAlign: 'text-bottom',\n marginInlineEnd: marginXS,\n // affected by ltr or rtl\n fontSize: fontSizeLG\n },\n [`${noticeCls}-content`]: {\n display: 'inline-block',\n padding: contentPadding,\n background: contentBg,\n borderRadius: borderRadiusLG,\n boxShadow,\n pointerEvents: 'all'\n },\n [`${componentCls}-success > ${iconCls}`]: {\n color: colorSuccess\n },\n [`${componentCls}-error > ${iconCls}`]: {\n color: colorError\n },\n [`${componentCls}-warning > ${iconCls}`]: {\n color: colorWarning\n },\n [`${componentCls}-info > ${iconCls},\n ${componentCls}-loading > ${iconCls}`]: {\n color: colorInfo\n }\n };\n return [\n // ============================ Holder ============================\n {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n color: colorText,\n position: 'fixed',\n top: marginXS,\n width: '100%',\n pointerEvents: 'none',\n zIndex: zIndexPopup,\n [`${componentCls}-move-up`]: {\n animationFillMode: 'forwards'\n },\n [`\n ${componentCls}-move-up-appear,\n ${componentCls}-move-up-enter\n `]: {\n animationName: messageMoveIn,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n },\n [`\n ${componentCls}-move-up-appear${componentCls}-move-up-appear-active,\n ${componentCls}-move-up-enter${componentCls}-move-up-enter-active\n `]: {\n animationPlayState: 'running'\n },\n [`${componentCls}-move-up-leave`]: {\n animationName: messageMoveOut,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n },\n [`${componentCls}-move-up-leave${componentCls}-move-up-leave-active`]: {\n animationPlayState: 'running'\n },\n '&-rtl': {\n direction: 'rtl',\n span: {\n direction: 'rtl'\n }\n }\n })\n },\n // ============================ Notice ============================\n {\n [componentCls]: {\n [`${noticeCls}-wrapper`]: Object.assign({}, noticeStyle)\n }\n },\n // ============================= Pure =============================\n {\n [`${componentCls}-notice-pure-panel`]: Object.assign(Object.assign({}, noticeStyle), {\n padding: 0,\n textAlign: 'start'\n })\n }];\n};\nexport const prepareComponentToken = token => ({\n zIndexPopup: token.zIndexPopupBase + CONTAINER_MAX_OFFSET + 10,\n contentBg: token.colorBgElevated,\n contentPadding: `${(token.controlHeightLG - token.fontSize * token.lineHeight) / 2}px ${token.paddingSM}px`\n});\n// ============================== Export ==============================\nexport default genStyleHooks('Message', token => {\n // Gen-style functions here\n const combinedToken = mergeToken(token, {\n height: 150\n });\n return [genMessageStyle(combinedToken)];\n}, prepareComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport { Notice } from 'rc-notification';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nexport const TypeIcon = {\n info: /*#__PURE__*/React.createElement(InfoCircleFilled, null),\n success: /*#__PURE__*/React.createElement(CheckCircleFilled, null),\n error: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n warning: /*#__PURE__*/React.createElement(ExclamationCircleFilled, null),\n loading: /*#__PURE__*/React.createElement(LoadingOutlined, null)\n};\nexport const PureContent = _ref => {\n let {\n prefixCls,\n type,\n icon,\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-custom-content`, `${prefixCls}-${type}`)\n }, icon || TypeIcon[type], /*#__PURE__*/React.createElement(\"span\", null, children));\n};\n/** @private Internal Component. Do not use in your production. */\nconst PurePanel = props => {\n const {\n prefixCls: staticPrefixCls,\n className,\n type,\n icon,\n content\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"type\", \"icon\", \"content\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = staticPrefixCls || getPrefixCls('message');\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n return wrapCSSVar( /*#__PURE__*/React.createElement(Notice, Object.assign({}, restProps, {\n prefixCls: prefixCls,\n className: classNames(className, hashId, `${prefixCls}-notice-pure-panel`, cssVarCls, rootCls),\n eventKey: \"pure\",\n duration: null,\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: prefixCls,\n type: type,\n icon: icon\n }, content)\n })));\n};\nexport default PurePanel;","export function getMotion(prefixCls, transitionName) {\n return {\n motionName: transitionName !== null && transitionName !== void 0 ? transitionName : `${prefixCls}-move-up`\n };\n}\n/** Wrap message open with promise like function */\nexport function wrapPromiseFn(openFn) {\n let closeFn;\n const closePromise = new Promise(resolve => {\n closeFn = openFn(() => {\n resolve(true);\n });\n });\n const result = () => {\n closeFn === null || closeFn === void 0 ? void 0 : closeFn();\n };\n result.then = (filled, rejected) => closePromise.then(filled, rejected);\n result.promise = closePromise;\n return result;\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport { NotificationProvider, useNotification as useRcNotification } from 'rc-notification';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport { PureContent } from './PurePanel';\nimport useStyle from './style';\nimport { getMotion, wrapPromiseFn } from './util';\nconst DEFAULT_OFFSET = 8;\nconst DEFAULT_DURATION = 3;\nconst Wrapper = _ref => {\n let {\n children,\n prefixCls\n } = _ref;\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n return wrapCSSVar( /*#__PURE__*/React.createElement(NotificationProvider, {\n classNames: {\n list: classNames(hashId, cssVarCls, rootCls)\n }\n }, children));\n};\nconst renderNotifications = (node, _ref2) => {\n let {\n prefixCls,\n key\n } = _ref2;\n return /*#__PURE__*/React.createElement(Wrapper, {\n prefixCls: prefixCls,\n key: key\n }, node);\n};\nconst Holder = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n top,\n prefixCls: staticPrefixCls,\n getContainer: staticGetContainer,\n maxCount,\n duration = DEFAULT_DURATION,\n rtl,\n transitionName,\n onAllRemoved\n } = props;\n const {\n getPrefixCls,\n getPopupContainer,\n message,\n direction\n } = React.useContext(ConfigContext);\n const prefixCls = staticPrefixCls || getPrefixCls('message');\n // =============================== Style ===============================\n const getStyle = () => ({\n left: '50%',\n transform: 'translateX(-50%)',\n top: top !== null && top !== void 0 ? top : DEFAULT_OFFSET\n });\n const getClassName = () => classNames({\n [`${prefixCls}-rtl`]: rtl !== null && rtl !== void 0 ? rtl : direction === 'rtl'\n });\n // ============================== Motion ===============================\n const getNotificationMotion = () => getMotion(prefixCls, transitionName);\n // ============================ Close Icon =============================\n const mergedCloseIcon = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-x`\n }, /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`\n }));\n // ============================== Origin ===============================\n const [api, holder] = useRcNotification({\n prefixCls,\n style: getStyle,\n className: getClassName,\n motion: getNotificationMotion,\n closable: false,\n closeIcon: mergedCloseIcon,\n duration,\n getContainer: () => (staticGetContainer === null || staticGetContainer === void 0 ? void 0 : staticGetContainer()) || (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer()) || document.body,\n maxCount,\n onAllRemoved,\n renderNotifications\n });\n // ================================ Ref ================================\n React.useImperativeHandle(ref, () => Object.assign(Object.assign({}, api), {\n prefixCls,\n message\n }));\n return holder;\n});\n// ==============================================================================\n// == Hook ==\n// ==============================================================================\nlet keyIndex = 0;\nexport function useInternalMessage(messageConfig) {\n const holderRef = React.useRef(null);\n const warning = devUseWarning('Message');\n // ================================ API ================================\n const wrapAPI = React.useMemo(() => {\n // Wrap with notification content\n // >>> close\n const close = key => {\n var _a;\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.close(key);\n };\n // >>> Open\n const open = config => {\n if (!holderRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'usage', 'You are calling notice in render which will break in React 18 concurrent mode. Please trigger in effect instead.') : void 0;\n const fakeResult = () => {};\n fakeResult.then = () => {};\n return fakeResult;\n }\n const {\n open: originOpen,\n prefixCls,\n message\n } = holderRef.current;\n const noticePrefixCls = `${prefixCls}-notice`;\n const {\n content,\n icon,\n type,\n key,\n className,\n style,\n onClose\n } = config,\n restConfig = __rest(config, [\"content\", \"icon\", \"type\", \"key\", \"className\", \"style\", \"onClose\"]);\n let mergedKey = key;\n if (mergedKey === undefined || mergedKey === null) {\n keyIndex += 1;\n mergedKey = `antd-message-${keyIndex}`;\n }\n return wrapPromiseFn(resolve => {\n originOpen(Object.assign(Object.assign({}, restConfig), {\n key: mergedKey,\n content: ( /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: prefixCls,\n type: type,\n icon: icon\n }, content)),\n placement: 'top',\n className: classNames(type && `${noticePrefixCls}-${type}`, className, message === null || message === void 0 ? void 0 : message.className),\n style: Object.assign(Object.assign({}, message === null || message === void 0 ? void 0 : message.style), style),\n onClose: () => {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n resolve();\n }\n }));\n // Return close function\n return () => {\n close(mergedKey);\n };\n });\n };\n // >>> destroy\n const destroy = key => {\n var _a;\n if (key !== undefined) {\n close(key);\n } else {\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n };\n const clone = {\n open,\n destroy\n };\n const keys = ['info', 'success', 'warning', 'error', 'loading'];\n keys.forEach(type => {\n const typeOpen = (jointContent, duration, onClose) => {\n let config;\n if (jointContent && typeof jointContent === 'object' && 'content' in jointContent) {\n config = jointContent;\n } else {\n config = {\n content: jointContent\n };\n }\n // Params\n let mergedDuration;\n let mergedOnClose;\n if (typeof duration === 'function') {\n mergedOnClose = duration;\n } else {\n mergedDuration = duration;\n mergedOnClose = onClose;\n }\n const mergedConfig = Object.assign(Object.assign({\n onClose: mergedOnClose,\n duration: mergedDuration\n }, config), {\n type\n });\n return open(mergedConfig);\n };\n clone[type] = typeOpen;\n });\n return clone;\n }, []);\n // ============================== Return ===============================\n return [wrapAPI, /*#__PURE__*/React.createElement(Holder, Object.assign({\n key: \"message-holder\"\n }, messageConfig, {\n ref: holderRef\n }))];\n}\nexport default function useMessage(messageConfig) {\n return useInternalMessage(messageConfig);\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport React, { useContext } from 'react';\nimport { render } from \"rc-util/es/React/render\";\nimport { AppConfigContext } from '../app/context';\nimport ConfigProvider, { ConfigContext, globalConfig, warnContext } from '../config-provider';\nimport PurePanel from './PurePanel';\nimport useMessage, { useInternalMessage } from './useMessage';\nimport { wrapPromiseFn } from './util';\nlet message = null;\nlet act = callback => callback();\nlet taskQueue = [];\nlet defaultGlobalConfig = {};\nfunction getGlobalContext() {\n const {\n getContainer,\n duration,\n rtl,\n maxCount,\n top\n } = defaultGlobalConfig;\n const mergedContainer = (getContainer === null || getContainer === void 0 ? void 0 : getContainer()) || document.body;\n return {\n getContainer: () => mergedContainer,\n duration,\n rtl,\n maxCount,\n top\n };\n}\nconst GlobalHolder = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n messageConfig,\n sync\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const prefixCls = defaultGlobalConfig.prefixCls || getPrefixCls('message');\n const appConfig = useContext(AppConfigContext);\n const [api, holder] = useInternalMessage(Object.assign(Object.assign(Object.assign({}, messageConfig), {\n prefixCls\n }), appConfig.message));\n React.useImperativeHandle(ref, () => {\n const instance = Object.assign({}, api);\n Object.keys(instance).forEach(method => {\n instance[method] = function () {\n sync();\n return api[method].apply(api, arguments);\n };\n });\n return {\n instance,\n sync\n };\n });\n return holder;\n});\nconst GlobalHolderWrapper = /*#__PURE__*/React.forwardRef((_, ref) => {\n const [messageConfig, setMessageConfig] = React.useState(getGlobalContext);\n const sync = () => {\n setMessageConfig(getGlobalContext);\n };\n React.useEffect(sync, []);\n const global = globalConfig();\n const rootPrefixCls = global.getRootPrefixCls();\n const rootIconPrefixCls = global.getIconPrefixCls();\n const theme = global.getTheme();\n const dom = /*#__PURE__*/React.createElement(GlobalHolder, {\n ref: ref,\n sync: sync,\n messageConfig: messageConfig\n });\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n iconPrefixCls: rootIconPrefixCls,\n theme: theme\n }, global.holderRender ? global.holderRender(dom) : dom);\n});\nfunction flushNotice() {\n if (!message) {\n const holderFragment = document.createDocumentFragment();\n const newMessage = {\n fragment: holderFragment\n };\n message = newMessage;\n // Delay render to avoid sync issue\n act(() => {\n render( /*#__PURE__*/React.createElement(GlobalHolderWrapper, {\n ref: node => {\n const {\n instance,\n sync\n } = node || {};\n // React 18 test env will throw if call immediately in ref\n Promise.resolve().then(() => {\n if (!newMessage.instance && instance) {\n newMessage.instance = instance;\n newMessage.sync = sync;\n flushNotice();\n }\n });\n }\n }), holderFragment);\n });\n return;\n }\n // Notification not ready\n if (!message.instance) {\n return;\n }\n // >>> Execute task\n taskQueue.forEach(task => {\n const {\n type,\n skipped\n } = task;\n // Only `skipped` when user call notice but cancel it immediately\n // and instance not ready\n if (!skipped) {\n switch (type) {\n case 'open':\n {\n act(() => {\n const closeFn = message.instance.open(Object.assign(Object.assign({}, defaultGlobalConfig), task.config));\n closeFn === null || closeFn === void 0 ? void 0 : closeFn.then(task.resolve);\n task.setCloseFn(closeFn);\n });\n break;\n }\n case 'destroy':\n act(() => {\n message === null || message === void 0 ? void 0 : message.instance.destroy(task.key);\n });\n break;\n // Other type open\n default:\n {\n act(() => {\n var _message$instance;\n const closeFn = (_message$instance = message.instance)[type].apply(_message$instance, _toConsumableArray(task.args));\n closeFn === null || closeFn === void 0 ? void 0 : closeFn.then(task.resolve);\n task.setCloseFn(closeFn);\n });\n }\n }\n }\n });\n // Clean up\n taskQueue = [];\n}\n// ==============================================================================\n// == Export ==\n// ==============================================================================\nfunction setMessageGlobalConfig(config) {\n defaultGlobalConfig = Object.assign(Object.assign({}, defaultGlobalConfig), config);\n // Trigger sync for it\n act(() => {\n var _a;\n (_a = message === null || message === void 0 ? void 0 : message.sync) === null || _a === void 0 ? void 0 : _a.call(message);\n });\n}\nfunction open(config) {\n const result = wrapPromiseFn(resolve => {\n let closeFn;\n const task = {\n type: 'open',\n config,\n resolve,\n setCloseFn: fn => {\n closeFn = fn;\n }\n };\n taskQueue.push(task);\n return () => {\n if (closeFn) {\n act(() => {\n closeFn();\n });\n } else {\n task.skipped = true;\n }\n };\n });\n flushNotice();\n return result;\n}\nfunction typeOpen(type, args) {\n const global = globalConfig();\n if (process.env.NODE_ENV !== 'production' && !global.holderRender) {\n warnContext('message');\n }\n const result = wrapPromiseFn(resolve => {\n let closeFn;\n const task = {\n type,\n args,\n resolve,\n setCloseFn: fn => {\n closeFn = fn;\n }\n };\n taskQueue.push(task);\n return () => {\n if (closeFn) {\n act(() => {\n closeFn();\n });\n } else {\n task.skipped = true;\n }\n };\n });\n flushNotice();\n return result;\n}\nfunction destroy(key) {\n taskQueue.push({\n type: 'destroy',\n key\n });\n flushNotice();\n}\nconst methods = ['success', 'info', 'warning', 'error', 'loading'];\nconst baseStaticMethods = {\n open,\n destroy,\n config: setMessageGlobalConfig,\n useMessage,\n _InternalPanelDoNotUseOrYouWillBeFired: PurePanel\n};\nconst staticMethods = baseStaticMethods;\nmethods.forEach(type => {\n staticMethods[type] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return typeOpen(type, args);\n };\n});\n// ==============================================================================\n// == Test ==\n// ==============================================================================\nconst noop = () => {};\n/** @internal Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport let actWrapper = noop;\nif (process.env.NODE_ENV === 'test') {\n actWrapper = wrapper => {\n act = wrapper;\n };\n}\n/** @internal Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport let actDestroy = noop;\nif (process.env.NODE_ENV === 'test') {\n actDestroy = () => {\n message = null;\n };\n}\nexport default staticMethods;","import defaultLocale from '../locale/en_US';\nlet runtimeLocale = Object.assign({}, defaultLocale.Modal);\nlet localeList = [];\nconst generateLocale = () => localeList.reduce((merged, locale) => Object.assign(Object.assign({}, merged), locale), defaultLocale.Modal);\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n const cloneLocale = Object.assign({}, newLocale);\n localeList.push(cloneLocale);\n runtimeLocale = generateLocale();\n return () => {\n localeList = localeList.filter(locale => locale !== cloneLocale);\n runtimeLocale = generateLocale();\n };\n }\n runtimeLocale = Object.assign({}, defaultLocale.Modal);\n}\nexport function getConfirmLocale() {\n return runtimeLocale;\n}","\"use client\";\n\n/* eslint-disable import/prefer-default-export */\nimport { unit } from '@ant-design/cssinjs';\nexport { operationUnit } from './operationUnit';\nexport const textEllipsis = {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n};\nexport const resetComponent = function (token) {\n let needInheritFontFamily = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return {\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n color: token.colorText,\n fontSize: token.fontSize,\n // font-variant: @font-variant-base;\n lineHeight: token.lineHeight,\n listStyle: 'none',\n // font-feature-settings: @font-feature-settings-base;\n fontFamily: needInheritFontFamily ? 'inherit' : token.fontFamily\n };\n};\nexport const resetIcon = () => ({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n fontStyle: 'normal',\n lineHeight: 0,\n textAlign: 'center',\n textTransform: 'none',\n // for SVG icon, see https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n verticalAlign: '-0.125em',\n textRendering: 'optimizeLegibility',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n '> *': {\n lineHeight: 1\n },\n svg: {\n display: 'inline-block'\n }\n});\nexport const clearFix = () => ({\n // https://github.com/ant-design/ant-design/issues/21301#issuecomment-583955229\n '&::before': {\n display: 'table',\n content: '\"\"'\n },\n '&::after': {\n // https://github.com/ant-design/ant-design/issues/21864\n display: 'table',\n clear: 'both',\n content: '\"\"'\n }\n});\nexport const genLinkStyle = token => ({\n a: {\n color: token.colorLink,\n textDecoration: token.linkDecoration,\n backgroundColor: 'transparent',\n // remove the gray background on active links in IE 10.\n outline: 'none',\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '-webkit-text-decoration-skip': 'objects',\n // remove gaps in links underline in iOS 8+ and Safari 8+.\n '&:hover': {\n color: token.colorLinkHover\n },\n '&:active': {\n color: token.colorLinkActive\n },\n [`&:active,\n &:hover`]: {\n textDecoration: token.linkHoverDecoration,\n outline: 0\n },\n // https://github.com/ant-design/ant-design/issues/22503\n '&:focus': {\n textDecoration: token.linkFocusDecoration,\n outline: 0\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n }\n});\nexport const genCommonStyle = (token, componentPrefixCls) => {\n const {\n fontFamily,\n fontSize\n } = token;\n const rootPrefixSelector = `[class^=\"${componentPrefixCls}\"], [class*=\" ${componentPrefixCls}\"]`;\n return {\n [rootPrefixSelector]: {\n fontFamily,\n fontSize,\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n },\n [rootPrefixSelector]: {\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n }\n }\n }\n };\n};\nexport const genFocusOutline = token => ({\n outline: `${unit(token.lineWidthFocus)} solid ${token.colorPrimaryBorder}`,\n outlineOffset: 1,\n transition: 'outline-offset 0s, outline 0s'\n});\nexport const genFocusStyle = token => ({\n '&:focus-visible': Object.assign({}, genFocusOutline(token))\n});","import React from 'react';\nimport { createTheme } from '@ant-design/cssinjs';\nimport defaultDerivative from './themes/default';\nimport defaultSeedToken from './themes/seed';\nexport const defaultTheme = createTheme(defaultDerivative);\n// ================================ Context =================================\n// To ensure snapshot stable. We disable hashed in test env.\nexport const defaultConfig = {\n token: defaultSeedToken,\n override: {\n override: defaultSeedToken\n },\n hashed: true\n};\nexport const DesignTokenContext = /*#__PURE__*/React.createContext(defaultConfig);","const genRadius = radiusBase => {\n let radiusLG = radiusBase;\n let radiusSM = radiusBase;\n let radiusXS = radiusBase;\n let radiusOuter = radiusBase;\n // radiusLG\n if (radiusBase < 6 && radiusBase >= 5) {\n radiusLG = radiusBase + 1;\n } else if (radiusBase < 16 && radiusBase >= 6) {\n radiusLG = radiusBase + 2;\n } else if (radiusBase >= 16) {\n radiusLG = 16;\n }\n // radiusSM\n if (radiusBase < 7 && radiusBase >= 5) {\n radiusSM = 4;\n } else if (radiusBase < 8 && radiusBase >= 7) {\n radiusSM = 5;\n } else if (radiusBase < 14 && radiusBase >= 8) {\n radiusSM = 6;\n } else if (radiusBase < 16 && radiusBase >= 14) {\n radiusSM = 7;\n } else if (radiusBase >= 16) {\n radiusSM = 8;\n }\n // radiusXS\n if (radiusBase < 6 && radiusBase >= 2) {\n radiusXS = 1;\n } else if (radiusBase >= 6) {\n radiusXS = 2;\n }\n // radiusOuter\n if (radiusBase > 4 && radiusBase < 8) {\n radiusOuter = 4;\n } else if (radiusBase >= 8) {\n radiusOuter = 6;\n }\n return {\n borderRadius: radiusBase,\n borderRadiusXS: radiusXS,\n borderRadiusSM: radiusSM,\n borderRadiusLG: radiusLG,\n borderRadiusOuter: radiusOuter\n };\n};\nexport default genRadius;","import { TinyColor } from '@ctrl/tinycolor';\nexport const getAlphaColor = (baseColor, alpha) => new TinyColor(baseColor).setAlpha(alpha).toRgbString();\nexport const getSolidColor = (baseColor, brightness) => {\n const instance = new TinyColor(baseColor);\n return instance.darken(brightness).toHexString();\n};","import { generate } from '@ant-design/colors';\nimport { getAlphaColor, getSolidColor } from './colorAlgorithm';\nexport const generateColorPalettes = baseColor => {\n const colors = generate(baseColor);\n return {\n 1: colors[0],\n 2: colors[1],\n 3: colors[2],\n 4: colors[3],\n 5: colors[4],\n 6: colors[5],\n 7: colors[6],\n 8: colors[4],\n 9: colors[5],\n 10: colors[6]\n // 8: colors[7],\n // 9: colors[8],\n // 10: colors[9],\n };\n};\nexport const generateNeutralColorPalettes = (bgBaseColor, textBaseColor) => {\n const colorBgBase = bgBaseColor || '#fff';\n const colorTextBase = textBaseColor || '#000';\n return {\n colorBgBase,\n colorTextBase,\n colorText: getAlphaColor(colorTextBase, 0.88),\n colorTextSecondary: getAlphaColor(colorTextBase, 0.65),\n colorTextTertiary: getAlphaColor(colorTextBase, 0.45),\n colorTextQuaternary: getAlphaColor(colorTextBase, 0.25),\n colorFill: getAlphaColor(colorTextBase, 0.15),\n colorFillSecondary: getAlphaColor(colorTextBase, 0.06),\n colorFillTertiary: getAlphaColor(colorTextBase, 0.04),\n colorFillQuaternary: getAlphaColor(colorTextBase, 0.02),\n colorBgLayout: getSolidColor(colorBgBase, 4),\n colorBgContainer: getSolidColor(colorBgBase, 0),\n colorBgElevated: getSolidColor(colorBgBase, 0),\n colorBgSpotlight: getAlphaColor(colorTextBase, 0.85),\n colorBgBlur: 'transparent',\n colorBorder: getSolidColor(colorBgBase, 15),\n colorBorderSecondary: getSolidColor(colorBgBase, 6)\n };\n};","import { generate } from '@ant-design/colors';\nimport genControlHeight from '../shared/genControlHeight';\nimport genSizeMapToken from '../shared/genSizeMapToken';\nimport { defaultPresetColors } from '../seed';\nimport genColorMapToken from '../shared/genColorMapToken';\nimport genCommonMapToken from '../shared/genCommonMapToken';\nimport { generateColorPalettes, generateNeutralColorPalettes } from './colors';\nimport genFontMapToken from '../shared/genFontMapToken';\nexport default function derivative(token) {\n const colorPalettes = Object.keys(defaultPresetColors).map(colorKey => {\n const colors = generate(token[colorKey]);\n return new Array(10).fill(1).reduce((prev, _, i) => {\n prev[`${colorKey}-${i + 1}`] = colors[i];\n prev[`${colorKey}${i + 1}`] = colors[i];\n return prev;\n }, {});\n }).reduce((prev, cur) => {\n prev = Object.assign(Object.assign({}, prev), cur);\n return prev;\n }, {});\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, token), colorPalettes), genColorMapToken(token, {\n generateColorPalettes,\n generateNeutralColorPalettes\n })), genFontMapToken(token.fontSize)), genSizeMapToken(token)), genControlHeight(token)), genCommonMapToken(token));\n}","export default function genSizeMapToken(token) {\n const {\n sizeUnit,\n sizeStep\n } = token;\n return {\n sizeXXL: sizeUnit * (sizeStep + 8),\n // 48\n sizeXL: sizeUnit * (sizeStep + 4),\n // 32\n sizeLG: sizeUnit * (sizeStep + 2),\n // 24\n sizeMD: sizeUnit * (sizeStep + 1),\n // 20\n sizeMS: sizeUnit * sizeStep,\n // 16\n size: sizeUnit * sizeStep,\n // 16\n sizeSM: sizeUnit * (sizeStep - 1),\n // 12\n sizeXS: sizeUnit * (sizeStep - 2),\n // 8\n sizeXXS: sizeUnit * (sizeStep - 3) // 4\n };\n}","import genRadius from './genRadius';\nexport default function genCommonMapToken(token) {\n const {\n motionUnit,\n motionBase,\n borderRadius,\n lineWidth\n } = token;\n return Object.assign({\n // motion\n motionDurationFast: `${(motionBase + motionUnit).toFixed(1)}s`,\n motionDurationMid: `${(motionBase + motionUnit * 2).toFixed(1)}s`,\n motionDurationSlow: `${(motionBase + motionUnit * 3).toFixed(1)}s`,\n // line\n lineWidthBold: lineWidth + 1\n }, genRadius(borderRadius));\n}","export const defaultPresetColors = {\n blue: '#1677ff',\n purple: '#722ED1',\n cyan: '#13C2C2',\n green: '#52C41A',\n magenta: '#EB2F96',\n pink: '#eb2f96',\n red: '#F5222D',\n orange: '#FA8C16',\n yellow: '#FADB14',\n volcano: '#FA541C',\n geekblue: '#2F54EB',\n gold: '#FAAD14',\n lime: '#A0D911'\n};\nconst seedToken = Object.assign(Object.assign({}, defaultPresetColors), {\n // Color\n colorPrimary: '#1677ff',\n colorSuccess: '#52c41a',\n colorWarning: '#faad14',\n colorError: '#ff4d4f',\n colorInfo: '#1677ff',\n colorLink: '',\n colorTextBase: '',\n colorBgBase: '',\n // Font\n fontFamily: `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'`,\n fontFamilyCode: `'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace`,\n fontSize: 14,\n // Line\n lineWidth: 1,\n lineType: 'solid',\n // Motion\n motionUnit: 0.1,\n motionBase: 0,\n motionEaseOutCirc: 'cubic-bezier(0.08, 0.82, 0.17, 1)',\n motionEaseInOutCirc: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n motionEaseOut: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n motionEaseInOut: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n motionEaseOutBack: 'cubic-bezier(0.12, 0.4, 0.29, 1.46)',\n motionEaseInBack: 'cubic-bezier(0.71, -0.46, 0.88, 0.6)',\n motionEaseInQuint: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)',\n motionEaseOutQuint: 'cubic-bezier(0.23, 1, 0.32, 1)',\n // Radius\n borderRadius: 6,\n // Size\n sizeUnit: 4,\n sizeStep: 4,\n sizePopupArrow: 16,\n // Control Base\n controlHeight: 32,\n // zIndex\n zIndexBase: 0,\n zIndexPopupBase: 1000,\n // Image\n opacityImage: 1,\n // Wireframe\n wireframe: false,\n // Motion\n motion: true\n});\nexport default seedToken;","import { TinyColor } from '@ctrl/tinycolor';\nexport default function genColorMapToken(seed, _ref) {\n let {\n generateColorPalettes,\n generateNeutralColorPalettes\n } = _ref;\n const {\n colorSuccess: colorSuccessBase,\n colorWarning: colorWarningBase,\n colorError: colorErrorBase,\n colorInfo: colorInfoBase,\n colorPrimary: colorPrimaryBase,\n colorBgBase,\n colorTextBase\n } = seed;\n const primaryColors = generateColorPalettes(colorPrimaryBase);\n const successColors = generateColorPalettes(colorSuccessBase);\n const warningColors = generateColorPalettes(colorWarningBase);\n const errorColors = generateColorPalettes(colorErrorBase);\n const infoColors = generateColorPalettes(colorInfoBase);\n const neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase);\n // Color Link\n const colorLink = seed.colorLink || seed.colorInfo;\n const linkColors = generateColorPalettes(colorLink);\n return Object.assign(Object.assign({}, neutralColors), {\n colorPrimaryBg: primaryColors[1],\n colorPrimaryBgHover: primaryColors[2],\n colorPrimaryBorder: primaryColors[3],\n colorPrimaryBorderHover: primaryColors[4],\n colorPrimaryHover: primaryColors[5],\n colorPrimary: primaryColors[6],\n colorPrimaryActive: primaryColors[7],\n colorPrimaryTextHover: primaryColors[8],\n colorPrimaryText: primaryColors[9],\n colorPrimaryTextActive: primaryColors[10],\n colorSuccessBg: successColors[1],\n colorSuccessBgHover: successColors[2],\n colorSuccessBorder: successColors[3],\n colorSuccessBorderHover: successColors[4],\n colorSuccessHover: successColors[4],\n colorSuccess: successColors[6],\n colorSuccessActive: successColors[7],\n colorSuccessTextHover: successColors[8],\n colorSuccessText: successColors[9],\n colorSuccessTextActive: successColors[10],\n colorErrorBg: errorColors[1],\n colorErrorBgHover: errorColors[2],\n colorErrorBorder: errorColors[3],\n colorErrorBorderHover: errorColors[4],\n colorErrorHover: errorColors[5],\n colorError: errorColors[6],\n colorErrorActive: errorColors[7],\n colorErrorTextHover: errorColors[8],\n colorErrorText: errorColors[9],\n colorErrorTextActive: errorColors[10],\n colorWarningBg: warningColors[1],\n colorWarningBgHover: warningColors[2],\n colorWarningBorder: warningColors[3],\n colorWarningBorderHover: warningColors[4],\n colorWarningHover: warningColors[4],\n colorWarning: warningColors[6],\n colorWarningActive: warningColors[7],\n colorWarningTextHover: warningColors[8],\n colorWarningText: warningColors[9],\n colorWarningTextActive: warningColors[10],\n colorInfoBg: infoColors[1],\n colorInfoBgHover: infoColors[2],\n colorInfoBorder: infoColors[3],\n colorInfoBorderHover: infoColors[4],\n colorInfoHover: infoColors[4],\n colorInfo: infoColors[6],\n colorInfoActive: infoColors[7],\n colorInfoTextHover: infoColors[8],\n colorInfoText: infoColors[9],\n colorInfoTextActive: infoColors[10],\n colorLinkHover: linkColors[4],\n colorLink: linkColors[6],\n colorLinkActive: linkColors[7],\n colorBgMask: new TinyColor('#000').setAlpha(0.45).toRgbString(),\n colorWhite: '#fff'\n });\n}","const genControlHeight = token => {\n const {\n controlHeight\n } = token;\n return {\n controlHeightSM: controlHeight * 0.75,\n controlHeightXS: controlHeight * 0.5,\n controlHeightLG: controlHeight * 1.25\n };\n};\nexport default genControlHeight;","import genFontSizes from './genFontSizes';\nconst genFontMapToken = fontSize => {\n const fontSizePairs = genFontSizes(fontSize);\n const fontSizes = fontSizePairs.map(pair => pair.size);\n const lineHeights = fontSizePairs.map(pair => pair.lineHeight);\n const fontSizeMD = fontSizes[1];\n const fontSizeSM = fontSizes[0];\n const fontSizeLG = fontSizes[2];\n const lineHeight = lineHeights[1];\n const lineHeightSM = lineHeights[0];\n const lineHeightLG = lineHeights[2];\n return {\n fontSizeSM,\n fontSize: fontSizeMD,\n fontSizeLG,\n fontSizeXL: fontSizes[3],\n fontSizeHeading1: fontSizes[6],\n fontSizeHeading2: fontSizes[5],\n fontSizeHeading3: fontSizes[4],\n fontSizeHeading4: fontSizes[3],\n fontSizeHeading5: fontSizes[2],\n lineHeight,\n lineHeightLG,\n lineHeightSM,\n fontHeight: Math.round(lineHeight * fontSizeMD),\n fontHeightLG: Math.round(lineHeightLG * fontSizeLG),\n fontHeightSM: Math.round(lineHeightSM * fontSizeSM),\n lineHeightHeading1: lineHeights[6],\n lineHeightHeading2: lineHeights[5],\n lineHeightHeading3: lineHeights[4],\n lineHeightHeading4: lineHeights[3],\n lineHeightHeading5: lineHeights[2]\n };\n};\nexport default genFontMapToken;","export function getLineHeight(fontSize) {\n return (fontSize + 8) / fontSize;\n}\n// https://zhuanlan.zhihu.com/p/32746810\nexport default function getFontSizes(base) {\n const fontSizes = new Array(10).fill(null).map((_, index) => {\n const i = index - 1;\n const baseSize = base * Math.pow(2.71828, i / 5);\n const intSize = index > 1 ? Math.floor(baseSize) : Math.ceil(baseSize);\n // Convert to even\n return Math.floor(intSize / 2) * 2;\n });\n fontSizes[1] = base;\n return fontSizes.map(size => ({\n size,\n lineHeight: getLineHeight(size)\n }));\n}","\"use client\";\n\n/* eslint import/no-unresolved: 0 */\n// @ts-ignore\nimport version from './version';\nexport default version;","export default '5.13.2';","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport { useCacheToken } from '@ant-design/cssinjs';\nimport version from '../version';\nimport { defaultTheme, DesignTokenContext } from './context';\nimport defaultSeedToken from './themes/seed';\nimport formatToken from './util/alias';\nexport const unitless = {\n lineHeight: true,\n lineHeightSM: true,\n lineHeightLG: true,\n lineHeightHeading1: true,\n lineHeightHeading2: true,\n lineHeightHeading3: true,\n lineHeightHeading4: true,\n lineHeightHeading5: true,\n opacityLoading: true,\n fontWeightStrong: true,\n zIndexPopupBase: true,\n zIndexBase: true\n};\nexport const ignore = {\n size: true,\n sizeSM: true,\n sizeLG: true,\n sizeMD: true,\n sizeXS: true,\n sizeXXS: true,\n sizeMS: true,\n sizeXL: true,\n sizeXXL: true,\n sizeUnit: true,\n sizeStep: true,\n motionBase: true,\n motionUnit: true\n};\nconst preserve = {\n screenXS: true,\n screenXSMin: true,\n screenXSMax: true,\n screenSM: true,\n screenSMMin: true,\n screenSMMax: true,\n screenMD: true,\n screenMDMin: true,\n screenMDMax: true,\n screenLG: true,\n screenLGMin: true,\n screenLGMax: true,\n screenXL: true,\n screenXLMin: true,\n screenXLMax: true,\n screenXXL: true,\n screenXXLMin: true\n};\nexport const getComputedToken = (originToken, overrideToken, theme) => {\n const derivativeToken = theme.getDerivativeToken(originToken);\n const {\n override\n } = overrideToken,\n components = __rest(overrideToken, [\"override\"]);\n // Merge with override\n let mergedDerivativeToken = Object.assign(Object.assign({}, derivativeToken), {\n override\n });\n // Format if needed\n mergedDerivativeToken = formatToken(mergedDerivativeToken);\n if (components) {\n Object.entries(components).forEach(_ref => {\n let [key, value] = _ref;\n const {\n theme: componentTheme\n } = value,\n componentTokens = __rest(value, [\"theme\"]);\n let mergedComponentToken = componentTokens;\n if (componentTheme) {\n mergedComponentToken = getComputedToken(Object.assign(Object.assign({}, mergedDerivativeToken), componentTokens), {\n override: componentTokens\n }, componentTheme);\n }\n mergedDerivativeToken[key] = mergedComponentToken;\n });\n }\n return mergedDerivativeToken;\n};\n// ================================== Hook ==================================\nexport default function useToken() {\n const {\n token: rootDesignToken,\n hashed,\n theme,\n override,\n cssVar\n } = React.useContext(DesignTokenContext);\n const salt = `${version}-${hashed || ''}`;\n const mergedTheme = theme || defaultTheme;\n const [token, hashId, realToken] = useCacheToken(mergedTheme, [defaultSeedToken, rootDesignToken], {\n salt,\n override,\n getComputedToken,\n // formatToken will not be consumed after 1.15.0 with getComputedToken.\n // But token will break if @ant-design/cssinjs is under 1.15.0 without it\n formatToken,\n cssVar: cssVar && {\n prefix: cssVar.prefix,\n key: cssVar.key,\n unitless,\n ignore,\n preserve\n }\n });\n return [mergedTheme, realToken, hashed ? hashId : '', token, cssVar];\n}","import { TinyColor } from '@ctrl/tinycolor';\nfunction isStableColor(color) {\n return color >= 0 && color <= 255;\n}\nfunction getAlphaColor(frontColor, backgroundColor) {\n const {\n r: fR,\n g: fG,\n b: fB,\n a: originAlpha\n } = new TinyColor(frontColor).toRgb();\n if (originAlpha < 1) {\n return frontColor;\n }\n const {\n r: bR,\n g: bG,\n b: bB\n } = new TinyColor(backgroundColor).toRgb();\n for (let fA = 0.01; fA <= 1; fA += 0.01) {\n const r = Math.round((fR - bR * (1 - fA)) / fA);\n const g = Math.round((fG - bG * (1 - fA)) / fA);\n const b = Math.round((fB - bB * (1 - fA)) / fA);\n if (isStableColor(r) && isStableColor(g) && isStableColor(b)) {\n return new TinyColor({\n r,\n g,\n b,\n a: Math.round(fA * 100) / 100\n }).toRgbString();\n }\n }\n // fallback\n /* istanbul ignore next */\n return new TinyColor({\n r: fR,\n g: fG,\n b: fB,\n a: 1\n }).toRgbString();\n}\nexport default getAlphaColor;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { TinyColor } from '@ctrl/tinycolor';\nimport seedToken from '../themes/seed';\nimport getAlphaColor from './getAlphaColor';\n/**\n * Seed (designer) > Derivative (designer) > Alias (developer).\n *\n * Merge seed & derivative & override token and generate alias token for developer.\n */\nexport default function formatToken(derivativeToken) {\n const {\n override\n } = derivativeToken,\n restToken = __rest(derivativeToken, [\"override\"]);\n const overrideTokens = Object.assign({}, override);\n Object.keys(seedToken).forEach(token => {\n delete overrideTokens[token];\n });\n const mergedToken = Object.assign(Object.assign({}, restToken), overrideTokens);\n const screenXS = 480;\n const screenSM = 576;\n const screenMD = 768;\n const screenLG = 992;\n const screenXL = 1200;\n const screenXXL = 1600;\n // Motion\n if (mergedToken.motion === false) {\n const fastDuration = '0s';\n mergedToken.motionDurationFast = fastDuration;\n mergedToken.motionDurationMid = fastDuration;\n mergedToken.motionDurationSlow = fastDuration;\n }\n // Generate alias token\n const aliasToken = Object.assign(Object.assign(Object.assign({}, mergedToken), {\n // ============== Background ============== //\n colorFillContent: mergedToken.colorFillSecondary,\n colorFillContentHover: mergedToken.colorFill,\n colorFillAlter: mergedToken.colorFillQuaternary,\n colorBgContainerDisabled: mergedToken.colorFillTertiary,\n // ============== Split ============== //\n colorBorderBg: mergedToken.colorBgContainer,\n colorSplit: getAlphaColor(mergedToken.colorBorderSecondary, mergedToken.colorBgContainer),\n // ============== Text ============== //\n colorTextPlaceholder: mergedToken.colorTextQuaternary,\n colorTextDisabled: mergedToken.colorTextQuaternary,\n colorTextHeading: mergedToken.colorText,\n colorTextLabel: mergedToken.colorTextSecondary,\n colorTextDescription: mergedToken.colorTextTertiary,\n colorTextLightSolid: mergedToken.colorWhite,\n colorHighlight: mergedToken.colorError,\n colorBgTextHover: mergedToken.colorFillSecondary,\n colorBgTextActive: mergedToken.colorFill,\n colorIcon: mergedToken.colorTextTertiary,\n colorIconHover: mergedToken.colorText,\n colorErrorOutline: getAlphaColor(mergedToken.colorErrorBg, mergedToken.colorBgContainer),\n colorWarningOutline: getAlphaColor(mergedToken.colorWarningBg, mergedToken.colorBgContainer),\n // Font\n fontSizeIcon: mergedToken.fontSizeSM,\n // Line\n lineWidthFocus: mergedToken.lineWidth * 4,\n // Control\n lineWidth: mergedToken.lineWidth,\n controlOutlineWidth: mergedToken.lineWidth * 2,\n // Checkbox size and expand icon size\n controlInteractiveSize: mergedToken.controlHeight / 2,\n controlItemBgHover: mergedToken.colorFillTertiary,\n controlItemBgActive: mergedToken.colorPrimaryBg,\n controlItemBgActiveHover: mergedToken.colorPrimaryBgHover,\n controlItemBgActiveDisabled: mergedToken.colorFill,\n controlTmpOutline: mergedToken.colorFillQuaternary,\n controlOutline: getAlphaColor(mergedToken.colorPrimaryBg, mergedToken.colorBgContainer),\n lineType: mergedToken.lineType,\n borderRadius: mergedToken.borderRadius,\n borderRadiusXS: mergedToken.borderRadiusXS,\n borderRadiusSM: mergedToken.borderRadiusSM,\n borderRadiusLG: mergedToken.borderRadiusLG,\n fontWeightStrong: 600,\n opacityLoading: 0.65,\n linkDecoration: 'none',\n linkHoverDecoration: 'none',\n linkFocusDecoration: 'none',\n controlPaddingHorizontal: 12,\n controlPaddingHorizontalSM: 8,\n paddingXXS: mergedToken.sizeXXS,\n paddingXS: mergedToken.sizeXS,\n paddingSM: mergedToken.sizeSM,\n padding: mergedToken.size,\n paddingMD: mergedToken.sizeMD,\n paddingLG: mergedToken.sizeLG,\n paddingXL: mergedToken.sizeXL,\n paddingContentHorizontalLG: mergedToken.sizeLG,\n paddingContentVerticalLG: mergedToken.sizeMS,\n paddingContentHorizontal: mergedToken.sizeMS,\n paddingContentVertical: mergedToken.sizeSM,\n paddingContentHorizontalSM: mergedToken.size,\n paddingContentVerticalSM: mergedToken.sizeXS,\n marginXXS: mergedToken.sizeXXS,\n marginXS: mergedToken.sizeXS,\n marginSM: mergedToken.sizeSM,\n margin: mergedToken.size,\n marginMD: mergedToken.sizeMD,\n marginLG: mergedToken.sizeLG,\n marginXL: mergedToken.sizeXL,\n marginXXL: mergedToken.sizeXXL,\n boxShadow: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowSecondary: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTertiary: `\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n `,\n screenXS,\n screenXSMin: screenXS,\n screenXSMax: screenSM - 1,\n screenSM,\n screenSMMin: screenSM,\n screenSMMax: screenMD - 1,\n screenMD,\n screenMDMin: screenMD,\n screenMDMax: screenLG - 1,\n screenLG,\n screenLGMin: screenLG,\n screenLGMax: screenXL - 1,\n screenXL,\n screenXLMin: screenXL,\n screenXLMax: screenXXL - 1,\n screenXXL,\n screenXXLMin: screenXXL,\n boxShadowPopoverArrow: '2px 2px 5px rgba(0, 0, 0, 0.05)',\n boxShadowCard: `\n 0 1px 2px -2px ${new TinyColor('rgba(0, 0, 0, 0.16)').toRgbString()},\n 0 3px 6px 0 ${new TinyColor('rgba(0, 0, 0, 0.12)').toRgbString()},\n 0 5px 12px 4px ${new TinyColor('rgba(0, 0, 0, 0.09)').toRgbString()}\n `,\n boxShadowDrawerRight: `\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerLeft: `\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerUp: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerDown: `\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTabsOverflowLeft: 'inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowRight: 'inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowTop: 'inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowBottom: 'inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)'\n }), overrideTokens);\n return aliasToken;\n}","import _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nlet AbstractCalculator = /*#__PURE__*/_createClass(function AbstractCalculator() {\n _classCallCheck(this, AbstractCalculator);\n});\nexport default AbstractCalculator;","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nimport AbstractCalculator from './calculator';\nlet NumCalculator = /*#__PURE__*/function (_AbstractCalculator) {\n _inherits(NumCalculator, _AbstractCalculator);\n function NumCalculator(num) {\n var _this;\n _classCallCheck(this, NumCalculator);\n _this = _callSuper(this, NumCalculator);\n _this.result = 0;\n if (num instanceof NumCalculator) {\n _this.result = num.result;\n } else if (typeof num === 'number') {\n _this.result = num;\n }\n return _this;\n }\n _createClass(NumCalculator, [{\n key: \"add\",\n value: function add(num) {\n if (num instanceof NumCalculator) {\n this.result += num.result;\n } else if (typeof num === 'number') {\n this.result += num;\n }\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(num) {\n if (num instanceof NumCalculator) {\n this.result -= num.result;\n } else if (typeof num === 'number') {\n this.result -= num;\n }\n return this;\n }\n }, {\n key: \"mul\",\n value: function mul(num) {\n if (num instanceof NumCalculator) {\n this.result *= num.result;\n } else if (typeof num === 'number') {\n this.result *= num;\n }\n return this;\n }\n }, {\n key: \"div\",\n value: function div(num) {\n if (num instanceof NumCalculator) {\n this.result /= num.result;\n } else if (typeof num === 'number') {\n this.result /= num;\n }\n return this;\n }\n }, {\n key: \"equal\",\n value: function equal() {\n return this.result;\n }\n }]);\n return NumCalculator;\n}(AbstractCalculator);\nexport { NumCalculator as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nimport AbstractCalculator from './calculator';\nconst CALC_UNIT = 'CALC_UNIT';\nfunction unit(value) {\n if (typeof value === 'number') {\n return `${value}${CALC_UNIT}`;\n }\n return value;\n}\nlet CSSCalculator = /*#__PURE__*/function (_AbstractCalculator) {\n _inherits(CSSCalculator, _AbstractCalculator);\n function CSSCalculator(num) {\n var _this;\n _classCallCheck(this, CSSCalculator);\n _this = _callSuper(this, CSSCalculator);\n _this.result = '';\n if (num instanceof CSSCalculator) {\n _this.result = `(${num.result})`;\n } else if (typeof num === 'number') {\n _this.result = unit(num);\n } else if (typeof num === 'string') {\n _this.result = num;\n }\n return _this;\n }\n _createClass(CSSCalculator, [{\n key: \"add\",\n value: function add(num) {\n if (num instanceof CSSCalculator) {\n this.result = `${this.result} + ${num.getResult()}`;\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = `${this.result} + ${unit(num)}`;\n }\n this.lowPriority = true;\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(num) {\n if (num instanceof CSSCalculator) {\n this.result = `${this.result} - ${num.getResult()}`;\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = `${this.result} - ${unit(num)}`;\n }\n this.lowPriority = true;\n return this;\n }\n }, {\n key: \"mul\",\n value: function mul(num) {\n if (this.lowPriority) {\n this.result = `(${this.result})`;\n }\n if (num instanceof CSSCalculator) {\n this.result = `${this.result} * ${num.getResult(true)}`;\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = `${this.result} * ${num}`;\n }\n this.lowPriority = false;\n return this;\n }\n }, {\n key: \"div\",\n value: function div(num) {\n if (this.lowPriority) {\n this.result = `(${this.result})`;\n }\n if (num instanceof CSSCalculator) {\n this.result = `${this.result} / ${num.getResult(true)}`;\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = `${this.result} / ${num}`;\n }\n this.lowPriority = false;\n return this;\n }\n }, {\n key: \"getResult\",\n value: function getResult(force) {\n return this.lowPriority || force ? `(${this.result})` : this.result;\n }\n }, {\n key: \"equal\",\n value: function equal(options) {\n const {\n unit: cssUnit = true\n } = options || {};\n const regexp = new RegExp(`${CALC_UNIT}`, 'g');\n this.result = this.result.replace(regexp, cssUnit ? 'px' : '');\n if (typeof this.lowPriority !== 'undefined') {\n return `calc(${this.result})`;\n }\n return this.result;\n }\n }]);\n return CSSCalculator;\n}(AbstractCalculator);\nexport { CSSCalculator as default };","import NumCalculator from './NumCalculator';\nimport CSSCalculator from './CSSCalculator';\nconst genCalc = type => {\n const Calculator = type === 'css' ? CSSCalculator : NumCalculator;\n return num => new Calculator(num);\n};\nexport default genCalc;","\"use client\";\n\nimport React, { useContext } from 'react';\nimport { token2CSSVar, useCSSVarRegister, useStyleRegister } from '@ant-design/cssinjs';\nimport { warning } from 'rc-util';\nimport { ConfigContext } from '../../config-provider/context';\nimport { genCommonStyle, genLinkStyle } from '../../style';\nimport useToken, { ignore, unitless } from '../useToken';\nimport genCalc from './calc';\nimport genMaxMin from './maxmin';\nimport statisticToken, { merge as mergeToken } from './statistic';\nimport useResetIconStyle from './useResetIconStyle';\nconst getDefaultComponentToken = (component, token, getDefaultToken) => {\n var _a;\n if (typeof getDefaultToken === 'function') {\n return getDefaultToken(mergeToken(token, (_a = token[component]) !== null && _a !== void 0 ? _a : {}));\n }\n return getDefaultToken !== null && getDefaultToken !== void 0 ? getDefaultToken : {};\n};\nconst getComponentToken = (component, token, defaultToken, options) => {\n const customToken = Object.assign({}, token[component]);\n if (options === null || options === void 0 ? void 0 : options.deprecatedTokens) {\n const {\n deprecatedTokens\n } = options;\n deprecatedTokens.forEach(_ref => {\n let [oldTokenKey, newTokenKey] = _ref;\n var _a;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(customToken === null || customToken === void 0 ? void 0 : customToken[oldTokenKey]), `Component Token \\`${String(oldTokenKey)}\\` of ${component} is deprecated. Please use \\`${String(newTokenKey)}\\` instead.`) : void 0;\n }\n // Should wrap with `if` clause, or there will be `undefined` in object.\n if ((customToken === null || customToken === void 0 ? void 0 : customToken[oldTokenKey]) || (customToken === null || customToken === void 0 ? void 0 : customToken[newTokenKey])) {\n (_a = customToken[newTokenKey]) !== null && _a !== void 0 ? _a : customToken[newTokenKey] = customToken === null || customToken === void 0 ? void 0 : customToken[oldTokenKey];\n }\n });\n }\n const mergedToken = Object.assign(Object.assign({}, defaultToken), customToken);\n // Remove same value as global token to minimize size\n Object.keys(mergedToken).forEach(key => {\n if (mergedToken[key] === token[key]) {\n delete mergedToken[key];\n }\n });\n return mergedToken;\n};\nconst getCompVarPrefix = (component, prefix) => `${[prefix, component.replace(/([A-Z]+)([A-Z][a-z]+)/g, '$1-$2').replace(/([a-z])([A-Z])/g, '$1-$2')].filter(Boolean).join('-')}`;\nexport default function genComponentStyleHook(componentName, styleFn, getDefaultToken) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const cells = Array.isArray(componentName) ? componentName : [componentName, componentName];\n const [component] = cells;\n const concatComponent = cells.join('-');\n return prefixCls => {\n const [theme, realToken, hashId, token, cssVar] = useToken();\n const {\n getPrefixCls,\n iconPrefixCls,\n csp\n } = useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n const type = cssVar ? 'css' : 'js';\n const calc = genCalc(type);\n const {\n max,\n min\n } = genMaxMin(type);\n // Shared config\n const sharedConfig = {\n theme,\n token,\n hashId,\n nonce: () => csp === null || csp === void 0 ? void 0 : csp.nonce,\n clientOnly: options.clientOnly,\n // antd is always at top of styles\n order: options.order || -999\n };\n // Generate style for all a tags in antd component.\n useStyleRegister(Object.assign(Object.assign({}, sharedConfig), {\n clientOnly: false,\n path: ['Shared', rootPrefixCls]\n }), () => [{\n // Link\n '&': genLinkStyle(token)\n }]);\n // Generate style for icons\n useResetIconStyle(iconPrefixCls, csp);\n const wrapSSR = useStyleRegister(Object.assign(Object.assign({}, sharedConfig), {\n path: [concatComponent, prefixCls, iconPrefixCls]\n }), () => {\n if (options.injectStyle === false) {\n return [];\n }\n const {\n token: proxyToken,\n flush\n } = statisticToken(token);\n const defaultComponentToken = getDefaultComponentToken(component, realToken, getDefaultToken);\n const componentCls = `.${prefixCls}`;\n const componentToken = getComponentToken(component, realToken, defaultComponentToken, {\n deprecatedTokens: options.deprecatedTokens\n });\n if (cssVar) {\n Object.keys(defaultComponentToken).forEach(key => {\n defaultComponentToken[key] = `var(${token2CSSVar(key, getCompVarPrefix(component, cssVar.prefix))})`;\n });\n }\n const mergedToken = mergeToken(proxyToken, {\n componentCls,\n prefixCls,\n iconCls: `.${iconPrefixCls}`,\n antCls: `.${rootPrefixCls}`,\n calc,\n max,\n min\n }, cssVar ? defaultComponentToken : componentToken);\n const styleInterpolation = styleFn(mergedToken, {\n hashId,\n prefixCls,\n rootPrefixCls,\n iconPrefixCls\n });\n flush(component, componentToken);\n return [options.resetStyle === false ? null : genCommonStyle(mergedToken, prefixCls), styleInterpolation];\n });\n return [wrapSSR, hashId];\n };\n}\nexport const genSubStyleComponent = (componentName, styleFn, getDefaultToken, options) => {\n const useStyle = genComponentStyleHook(componentName, styleFn, getDefaultToken, Object.assign({\n resetStyle: false,\n // Sub Style should default after root one\n order: -998\n }, options));\n const StyledComponent = _ref2 => {\n let {\n prefixCls\n } = _ref2;\n useStyle(prefixCls);\n return null;\n };\n if (process.env.NODE_ENV !== 'production') {\n StyledComponent.displayName = `SubStyle_${Array.isArray(componentName) ? componentName.join('.') : componentName}`;\n }\n return StyledComponent;\n};\nconst genCSSVarRegister = (component, getDefaultToken, options) => {\n function prefixToken(key) {\n return `${component}${key.slice(0, 1).toUpperCase()}${key.slice(1)}`;\n }\n const {\n unitless: originUnitless = {},\n injectStyle = true\n } = options !== null && options !== void 0 ? options : {};\n const compUnitless = {\n [prefixToken('zIndexPopup')]: true\n };\n Object.keys(originUnitless).forEach(key => {\n compUnitless[prefixToken(key)] = originUnitless[key];\n });\n const CSSVarRegister = _ref3 => {\n let {\n rootCls,\n cssVar\n } = _ref3;\n const [, realToken] = useToken();\n useCSSVarRegister({\n path: [component],\n prefix: cssVar.prefix,\n key: cssVar === null || cssVar === void 0 ? void 0 : cssVar.key,\n unitless: Object.assign(Object.assign({}, unitless), compUnitless),\n ignore,\n token: realToken,\n scope: rootCls\n }, () => {\n const defaultToken = getDefaultComponentToken(component, realToken, getDefaultToken);\n const componentToken = getComponentToken(component, realToken, defaultToken, {\n deprecatedTokens: options === null || options === void 0 ? void 0 : options.deprecatedTokens\n });\n Object.keys(defaultToken).forEach(key => {\n componentToken[prefixToken(key)] = componentToken[key];\n delete componentToken[key];\n });\n return componentToken;\n });\n return null;\n };\n const useCSSVar = rootCls => {\n const [,,,, cssVar] = useToken();\n return [node => injectStyle && cssVar ? ( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CSSVarRegister, {\n rootCls: rootCls,\n cssVar: cssVar,\n component: component\n }), node)) : node, cssVar === null || cssVar === void 0 ? void 0 : cssVar.key];\n };\n return useCSSVar;\n};\nexport const genStyleHooks = (component, styleFn, getDefaultToken, options) => {\n const useStyle = genComponentStyleHook(component, styleFn, getDefaultToken, options);\n const useCSSVar = genCSSVarRegister(Array.isArray(component) ? component[0] : component, getDefaultToken, options);\n return function (prefixCls) {\n let rootCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prefixCls;\n const [, hashId] = useStyle(prefixCls);\n const [wrapCSSVar, cssVarCls] = useCSSVar(rootCls);\n return [wrapCSSVar, hashId, cssVarCls];\n };\n};","import { unit } from '@ant-design/cssinjs';\nexport default function genMaxMin(type) {\n if (type === 'js') {\n return {\n max: Math.max,\n min: Math.min\n };\n }\n return {\n max: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return `max(${args.map(value => unit(value)).join(',')})`;\n },\n min: function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return `min(${args.map(value => unit(value)).join(',')})`;\n }\n };\n}","const enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nlet recording = true;\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n /* istanbul ignore next */\n if (!enableStatistic) {\n return Object.assign.apply(Object, [{}].concat(objs));\n }\n recording = false;\n const ret = {};\n objs.forEach(obj => {\n const keys = Object.keys(obj);\n keys.forEach(key => {\n Object.defineProperty(ret, key, {\n configurable: true,\n enumerable: true,\n get: () => obj[key]\n });\n });\n });\n recording = true;\n return ret;\n}\n/** @internal Internal Usage. Not use in your production. */\nexport const statistic = {};\n/** @internal Internal Usage. Not use in your production. */\n// eslint-disable-next-line camelcase\nexport const _statistic_build_ = {};\n/* istanbul ignore next */\nfunction noop() {}\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nconst statisticToken = token => {\n let tokenKeys;\n let proxy = token;\n let flush = noop;\n if (enableStatistic && typeof Proxy !== 'undefined') {\n tokenKeys = new Set();\n proxy = new Proxy(token, {\n get(obj, prop) {\n if (recording) {\n tokenKeys.add(prop);\n }\n return obj[prop];\n }\n });\n flush = (componentName, componentToken) => {\n var _a;\n statistic[componentName] = {\n global: Array.from(tokenKeys),\n component: Object.assign(Object.assign({}, (_a = statistic[componentName]) === null || _a === void 0 ? void 0 : _a.component), componentToken)\n };\n };\n }\n return {\n token: proxy,\n keys: tokenKeys,\n flush\n };\n};\nexport default statisticToken;","import { useStyleRegister } from '@ant-design/cssinjs';\nimport { resetIcon } from '../../style';\nimport useToken from '../useToken';\nconst useResetIconStyle = (iconPrefixCls, csp) => {\n const [theme, token] = useToken();\n // Generate style for icons\n return useStyleRegister({\n theme,\n token,\n hashId: '',\n path: ['ant-design-icons', iconPrefixCls],\n nonce: () => csp === null || csp === void 0 ? void 0 : csp.nonce\n }, () => [{\n [`.${iconPrefixCls}`]: Object.assign(Object.assign({}, resetIcon()), {\n [`.${iconPrefixCls} .${iconPrefixCls}-icon`]: {\n display: 'block'\n }\n })\n }]);\n};\nexport default useResetIconStyle;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\n\n// TODO(v5): Remove legacy setting and default to \"always\"\nconst applyTrailingSlashOption = (input, option = `legacy`) => {\n const hasHtmlSuffix = input.endsWith(`.html`);\n const hasXmlSuffix = input.endsWith(`.xml`);\n const hasPdfSuffix = input.endsWith(`.pdf`);\n if (input === `/`) return input;\n\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = `never`;\n }\n\n if (option === `always`) {\n return input.endsWith(`/`) ? input : `${input}/`;\n }\n\n if (option === `never`) {\n return input.endsWith(`/`) ? input.slice(0, -1) : input;\n }\n\n return input;\n};\n\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\n\nvar _gatsbyScript = require(\"gatsby-script\");\n\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname)); // Clear scripts after we've used them to avoid leaky behavior\n\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n}; // Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\n\n\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\n\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\n\nvar _integration = require(\"@builder.io/partytown/integration\");\n\nvar _getForwards = require(\"./get-forwards\");\n\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n\n if (existingSnippet) {\n existingSnippet.remove();\n }\n\n if (existingSandbox) {\n existingSandbox.remove();\n }\n\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-tsx\": () => import(\"./../../../src/pages/404.tsx\" /* webpackChunkName: \"component---src-pages-404-tsx\" */),\n \"component---src-pages-build-tsx\": () => import(\"./../../../src/pages/build.tsx\" /* webpackChunkName: \"component---src-pages-build-tsx\" */),\n \"component---src-pages-gallery-index-tsx\": () => import(\"./../../../src/pages/gallery/index.tsx\" /* webpackChunkName: \"component---src-pages-gallery-index-tsx\" */),\n \"component---src-pages-index-tsx\": () => import(\"./../../../src/pages/index.tsx\" /* webpackChunkName: \"component---src-pages-index-tsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"46131b614287332146ea078703a67d38\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-mdx/gatsby-browser.js'),\n options: {\"plugins\":[],\"extensions\":[\".mdx\"],\"defaultLayouts\":{},\"gatsbyRemarkPlugins\":[],\"lessBabel\":false,\"remarkPlugins\":[],\"rehypePlugins\":[],\"mediaTypes\":[\"text/markdown\",\"text/x-markdown\"],\"root\":\"/home/victordibia/projects/hax/autogen/samples/apps/autogen-studio/frontend\",\"commonmark\":false,\"JSFrontmatterEngine\":false,\"engines\":{}},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst StaticQueryContext = React.createContext({})\nlet StaticQueryServerContext = null\nif (React.createServerContext) {\n StaticQueryServerContext = React.createServerContext(`StaticQuery`, {})\n}\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n \n )\n}\n\n// TODO(v5): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n let context\n\n // Can we get a better check here?\n if (\n StaticQueryServerContext &&\n Object.keys(StaticQueryServerContext._currentValue).length\n ) {\n context = React.useContext(StaticQueryServerContext)\n } else {\n context = React.useContext(StaticQueryContext)\n }\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport {\n StaticQuery,\n StaticQueryContext,\n useStaticQuery,\n StaticQueryServerContext,\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n default as Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport {\n StaticQuery,\n StaticQueryContext,\n useStaticQuery,\n StaticQueryServerContext,\n} from \"./static-query\"\n\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return {\n error: page.error,\n status: page.status,\n }\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n let inFlightPromise\n if (global.hasPartialHydration) {\n inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n this.loadPartialHydrationJson(pagePath),\n ]).then(([appData, { payload: pageData }, result]) => {\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n const finalResult = {}\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n const componentChunkPromise = this.loadComponent(\n pageData.componentChunkName,\n `head`\n ).then(head => {\n finalResult.createdAt = new Date()\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appData\n ? appData.webpackCompilationHash\n : ``,\n })\n\n const pageResources = toPageResources(pageData, null, head)\n\n if (result.payload && typeof result.payload === `string`) {\n pageResources.partialHydration = result.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(result.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n }\n\n // undefined if final result is an error\n return pageResources\n })\n\n // Necessary for head component\n const staticQueryBatchPromise = Promise.all(\n (pageData.staticQueryHashes || []).map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromise, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = {\n ...pageResources,\n staticQueryResults: staticQueryResults,\n }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n } else {\n inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n const componentChunkPromise = Promise.all([\n this.loadComponent(componentChunkName),\n this.loadComponent(componentChunkName, `head`),\n ]).then(([component, head]) => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component || component instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = component\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component, head)\n }\n // undefined if final result is an error\n return pageResources\n })\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromise, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n }\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in head.\n * @param {string} tagName\n */\nexport function warnForInvalidTags(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}`\n\n warnOnce(warning)\n }\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport { VALID_NODE_NAMES } from \"./constants\"\nimport {\n headExportValidator,\n filterHeadProps,\n warnForInvalidTags,\n diffNodes,\n} from \"./utils\"\n\nconst hiddenRoot = document.createElement(`div`)\n\nconst removePrevHeadElements = () => {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nconst onHeadRendered = () => {\n const validHeadNodes = []\n\n const seenIds = new Map()\n for (const node of hiddenRoot.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!VALID_NODE_NAMES.includes(nodeName)) {\n warnForInvalidTags(nodeName)\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // Create an element for scripts to make script work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n const script = document.createElement(`script`)\n for (const attr of clonedNode.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = clonedNode.innerHTML\n clonedNode = script\n }\n\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[indexOfPreviouslyInsertedNode].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n }\n\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // We set up observer to be able to regenerate after react-refresh\n // updates our hidden element.\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const Head = pageComponent.Head\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n \n \n \n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@gatsbyjs/reach-router\"\nimport { globalHistory } from \"@gatsbyjs/reach-router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return \n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n if (pageResources.partialHydration) {\n return (\n \n {children}\n \n )\n } else {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","/* global HAS_REACT_18 */\n\nconst map = new WeakMap()\n\n/**\n * Since react 18, render and hydrate moved to react-dom/client\n * returns correct hydrate and render function based on installed react-dom version\n */\n\nexport function reactDOMUtils() {\n let render\n let hydrate\n\n if (HAS_REACT_18) {\n const reactDomClient = require(`react-dom/client`)\n\n render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n } else {\n const reactDomClient = require(`react-dom`)\n render = reactDomClient.render\n hydrate = reactDomClient.hydrate\n }\n\n return { render, hydrate }\n}\n","exports.polyfill = Component => Component\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","import \"antd/dist/reset.css\";\nimport \"./src/styles/global.css\";\n\nimport AuthProvider from \"./src/hooks/provider\";\n\nexport const wrapRootElement = AuthProvider;\n","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\"; // when we don't have localisation in our manifest, we tree shake everything away\n\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _gatsby = require(\"gatsby\");\n\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n\n return pathname.startsWith(startUrl);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\n\nexports.default = _default;","import {\n IAgentConfig,\n IAgentFlowSpec,\n IFlowConfig,\n IGroupChatFlowSpec,\n ILLMConfig,\n IModelConfig,\n ISkill,\n IStatus,\n} from \"./types\";\n\nexport const getServerUrl = () => {\n return process.env.GATSBY_API_URL || \"/api\";\n};\n\nexport function setCookie(name: string, value: any, days: number) {\n let expires = \"\";\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = \"; expires=\" + date.toUTCString();\n }\n document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\n}\n\nexport function getCookie(name: string) {\n const nameEQ = name + \"=\";\n const ca = document.cookie.split(\";\");\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == \" \") c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n}\nexport function setLocalStorage(\n name: string,\n value: any,\n stringify: boolean = true\n) {\n if (stringify) {\n localStorage.setItem(name, JSON.stringify(value));\n } else {\n localStorage.setItem(name, value);\n }\n}\n\nexport function getLocalStorage(name: string, stringify: boolean = true): any {\n if (typeof window !== \"undefined\") {\n const value = localStorage.getItem(name);\n try {\n if (stringify) {\n return JSON.parse(value!);\n } else {\n return value;\n }\n } catch (e) {\n return null;\n }\n } else {\n return null;\n }\n}\n\nexport function fetchJSON(\n url: string | URL,\n payload: any = {},\n onSuccess: (data: any) => void,\n onError: (error: IStatus) => void\n) {\n return fetch(url, payload)\n .then(function (response) {\n if (response.status !== 200) {\n console.log(\n \"Looks like there was a problem. Status Code: \" + response.status,\n response\n );\n response.json().then(function (data) {\n console.log(\"Error data\", data);\n });\n onError({\n status: false,\n message:\n \"Connection error \" + response.status + \" \" + response.statusText,\n });\n return;\n }\n return response.json().then(function (data) {\n onSuccess(data);\n });\n })\n .catch(function (err) {\n console.log(\"Fetch Error :-S\", err);\n onError({\n status: false,\n message: `There was an error connecting to server. (${err}) `,\n });\n });\n}\nexport const capitalize = (s: string) => {\n if (typeof s !== \"string\") return \"\";\n return s.charAt(0).toUpperCase() + s.slice(1);\n};\n\nexport function eraseCookie(name: string) {\n document.cookie = name + \"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;\";\n}\n\nexport function truncateText(text: string, length = 50) {\n if (text.length > length) {\n return text.substring(0, length) + \" ...\";\n }\n return text;\n}\n\nexport const getCaretCoordinates = () => {\n let caretX, caretY;\n const selection = window.getSelection();\n if (selection && selection?.rangeCount !== 0) {\n const range = selection.getRangeAt(0).cloneRange();\n range.collapse(false);\n const rect = range.getClientRects()[0];\n if (rect) {\n caretX = rect.left;\n caretY = rect.top;\n }\n }\n return { caretX, caretY };\n};\n\nexport const getPrefixSuffix = (container: any) => {\n let prefix = \"\";\n let suffix = \"\";\n if (window.getSelection) {\n const sel = window.getSelection();\n if (sel && sel.rangeCount > 0) {\n let range = sel.getRangeAt(0).cloneRange();\n range.collapse(true);\n range.setStart(container!, 0);\n prefix = range.toString();\n\n range = sel.getRangeAt(0).cloneRange();\n range.collapse(true);\n range.setEnd(container, container.childNodes.length);\n\n suffix = range.toString();\n console.log(\"prefix\", prefix);\n console.log(\"suffix\", suffix);\n }\n }\n return { prefix, suffix };\n};\n\nexport const uid = () => {\n return Date.now().toString(36) + Math.random().toString(36).substr(2);\n};\n\nexport const setCaretToEnd = (element: HTMLElement) => {\n const range = document.createRange();\n const selection = window.getSelection();\n range.selectNodeContents(element);\n range.collapse(false);\n selection?.removeAllRanges();\n selection?.addRange(range);\n element.focus();\n};\n\n// return a color between a start and end color using a percentage\nexport const ColorTween = (\n startColor: string,\n endColor: string,\n percent: number\n) => {\n // example startColor = \"#ff0000\" endColor = \"#0000ff\" percent = 0.5\n const start = {\n r: parseInt(startColor.substring(1, 3), 16),\n g: parseInt(startColor.substring(3, 5), 16),\n b: parseInt(startColor.substring(5, 7), 16),\n };\n const end = {\n r: parseInt(endColor.substring(1, 3), 16),\n g: parseInt(endColor.substring(3, 5), 16),\n b: parseInt(endColor.substring(5, 7), 16),\n };\n const r = Math.floor(start.r + (end.r - start.r) * percent);\n const g = Math.floor(start.g + (end.g - start.g) * percent);\n const b = Math.floor(start.b + (end.b - start.b) * percent);\n return `rgb(${r}, ${g}, ${b})`;\n};\n\nexport const guid = () => {\n var w = () => {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n };\n return `${w()}${w()}-${w()}-${w()}-${w()}-${w()}${w()}${w()}`;\n};\n\n/**\n * Takes a string and returns the first n characters followed by asterisks.\n * @param {string} str - The string to obscure\n * @param {number} n - Number of characters to show before obscuring\n * @returns {string} The obscured string with first n characters in clear text\n */\nexport const obscureString = (str: string, n: number = 3) => {\n if (n < 0 || n > str.length) {\n console.log(\"n cannot be less than 0 or greater than the string length.\");\n return str;\n }\n // First n characters in clear text\n var clearText = str.substring(0, n);\n // Remaining characters replaced with asterisks\n var obscured = clearText + \"*\".repeat(str.length - n);\n\n return obscured;\n};\n\n/**\n * Converts a number of seconds into a human-readable string representing the duration in days, hours, minutes, and seconds.\n * @param {number} seconds - The number of seconds to convert.\n * @returns {string} A well-formatted duration string.\n */\nexport const formatDuration = (seconds: number) => {\n const units = [\n { label: \" day\", seconds: 86400 },\n { label: \" hr\", seconds: 3600 },\n { label: \" min\", seconds: 60 },\n { label: \" sec\", seconds: 1 },\n ];\n\n let remainingSeconds = seconds;\n const parts = [];\n\n for (const { label, seconds: unitSeconds } of units) {\n const count = Math.floor(remainingSeconds / unitSeconds);\n if (count > 0) {\n parts.push(count + (count > 1 ? label + \"s\" : label));\n remainingSeconds -= count * unitSeconds;\n }\n }\n\n return parts.length > 0 ? parts.join(\" \") : \"0 sec\";\n};\n\nexport const sampleAgentConfig = (user_id: string = \"guestuser@gmail.com\") => {\n const sampleAgent: IAgentFlowSpec = {\n type: \"assistant\",\n user_id: user_id,\n description: \"Sample assistant\",\n config: {\n name: \"sample_assistant\",\n llm_config: {\n config_list: [\n {\n model: \"gpt-4-1106-preview\",\n },\n ],\n temperature: 0.1,\n timeout: 600,\n cache_seed: null,\n },\n human_input_mode: \"NEVER\",\n code_execution_config: false,\n max_consecutive_auto_reply: 8,\n system_message:\n \"You are a helpful AI assistant. Solve tasks using your coding and language skills. In the following cases, suggest python code (in a python coding block) or shell script (in a sh coding block) for the user to execute. 1. When you need to collect info, use the code to output the info you need, for example, browse or search the web, download/read a file, print the content of a webpage or a file, get the current date/time, check the operating system. After sufficient info is printed and the task is ready to be solved based on your language skill, you can solve the task by yourself. 2. When you need to perform some task with code, use the code to perform the task and output the result. Finish the task smartly. Solve the task step by step if you need to. If a plan is not provided, explain your plan first. Be clear which step uses code, and which step uses your language skill. When using code, you must indicate the script type in the code block. The user cannot provide any other feedback or perform any other action beyond executing the code you suggest. The user can't modify your code. So do not suggest incomplete code which requires users to modify. Don't use a code block if it's not intended to be executed by the user. If you want the user to save the code in a file before executing it, put # filename: inside the code block as the first line. Don't include multiple code blocks in one response. Do not ask users to copy and paste the result. Instead, use 'print' function for the output when relevant. Check the execution result returned by the user. If the result indicates there is an error, fix the error and output the code again. Suggest the full code instead of partial code or code changes. If the error can't be fixed or if the task is not solved even after the code is executed successfully, analyze the problem, revisit your assumption, collect additional info you need, and think of a different approach to try. When you find an answer, verify the answer carefully. Include verifiable evidence in your response if possible. Reply 'TERMINATE' in the end when everything is done.\",\n },\n };\n return sampleAgent;\n};\n\nexport const sampleWorkflowConfig = (type = \"twoagents\") => {\n const llm_model_config: IModelConfig[] = [\n {\n model: \"gpt-4-1106-preview\",\n },\n ];\n\n const llm_config: ILLMConfig = {\n config_list: llm_model_config,\n temperature: 0.1,\n timeout: 600,\n cache_seed: null,\n };\n\n const userProxyConfig: IAgentConfig = {\n name: \"userproxy\",\n human_input_mode: \"NEVER\",\n max_consecutive_auto_reply: 5,\n system_message: \"You are a helpful assistant.\",\n default_auto_reply: \"TERMINATE\",\n llm_config: false,\n code_execution_config: {\n work_dir: null,\n use_docker: false,\n },\n };\n const userProxyFlowSpec: IAgentFlowSpec = {\n type: \"userproxy\",\n config: userProxyConfig,\n };\n\n const assistantConfig: IAgentConfig = {\n name: \"primary_assistant\",\n llm_config: llm_config,\n human_input_mode: \"NEVER\",\n max_consecutive_auto_reply: 8,\n code_execution_config: false,\n system_message:\n \"You are a helpful AI assistant. Solve tasks using your coding and language skills. In the following cases, suggest python code (in a python coding block) or shell script (in a sh coding block) for the user to execute. 1. When you need to collect info, use the code to output the info you need, for example, browse or search the web, download/read a file, print the content of a webpage or a file, get the current date/time, check the operating system. After sufficient info is printed and the task is ready to be solved based on your language skill, you can solve the task by yourself. 2. When you need to perform some task with code, use the code to perform the task and output the result. Finish the task smartly. Solve the task step by step if you need to. If a plan is not provided, explain your plan first. Be clear which step uses code, and which step uses your language skill. When using code, you must indicate the script type in the code block. The user cannot provide any other feedback or perform any other action beyond executing the code you suggest. The user can't modify your code. So do not suggest incomplete code which requires users to modify. Don't use a code block if it's not intended to be executed by the user. If you want the user to save the code in a file before executing it, put # filename: inside the code block as the first line. Don't include multiple code blocks in one response. Do not ask users to copy and paste the result. Instead, use 'print' function for the output when relevant. Check the execution result returned by the user. If the result indicates there is an error, fix the error and output the code again. Suggest the full code instead of partial code or code changes. If the error can't be fixed or if the task is not solved even after the code is executed successfully, analyze the problem, revisit your assumption, collect additional info you need, and think of a different approach to try. When you find an answer, verify the answer carefully. Include verifiable evidence in your response if possible. Reply 'TERMINATE' in the end when everything is done.\",\n };\n\n const assistantFlowSpec: IAgentFlowSpec = {\n type: \"assistant\",\n config: assistantConfig,\n };\n\n const workFlowConfig: IFlowConfig = {\n name: \"Default Agent Workflow\",\n description: \"Default Agent Workflow\",\n sender: userProxyFlowSpec,\n receiver: assistantFlowSpec,\n type: \"twoagents\",\n };\n\n const groupChatAssistantConfig = Object.assign({}, assistantConfig);\n groupChatAssistantConfig.name = \"groupchat_assistant\";\n groupChatAssistantConfig.system_message =\n \"You are a helpful assistant skilled at cordinating a group of other assistants to solve a task. \";\n\n const groupChatFlowSpec: IGroupChatFlowSpec = {\n type: \"groupchat\",\n config: groupChatAssistantConfig,\n groupchat_config: {\n agents: [assistantFlowSpec, assistantFlowSpec],\n admin_name: \"groupchat_assistant\",\n messages: [],\n max_round: 10,\n speaker_selection_method: \"auto\",\n allow_repeat_speaker: false,\n },\n description: \"Default Group Workflow\",\n };\n\n const groupChatWorkFlowConfig: IFlowConfig = {\n name: \"Default Group Workflow\",\n description: \"Default Group Workflow\",\n sender: userProxyFlowSpec,\n receiver: groupChatFlowSpec,\n type: \"groupchat\",\n };\n\n if (type === \"twoagents\") {\n return workFlowConfig;\n } else if (type === \"groupchat\") {\n return groupChatWorkFlowConfig;\n }\n return workFlowConfig;\n};\n\nexport const getModels = () => {\n const models = [\n {\n model: \"gpt-4-1106-preview\",\n },\n {\n model: \"gpt-3.5-turbo-16k\",\n },\n {\n model: \"TheBloke/zephyr-7B-alpha-AWQ\",\n base_url: \"http://localhost:8000/v1\",\n },\n ];\n return models;\n};\n\nexport const getSampleSkill = () => {\n const content = `\n ## This is a sample skill. Replace with your own skill function\n ## In general, a good skill must have 3 sections:\n ## 1. Imports (import libraries needed for your skill)\n ## 2. Function definition AND docstrings (this helps the LLM understand what the function does and how to use it)\n ## 3. Function body (the actual code that implements the function)\n\n import numpy as np\n import matplotlib.pyplot as plt\n from matplotlib import font_manager as fm\n\n def save_cat_ascii_art_to_png(filename='ascii_cat.png'):\n \"\"\"\n Creates ASCII art of a cat and saves it to a PNG file.\n\n :param filename: str, the name of the PNG file to save the ASCII art.\n \"\"\"\n # ASCII art string\n cat_art = [\n \" /\\_/\\ \",\n \" ( o.o ) \",\n \" > ^ < \"\n ]\n\n # Determine shape of output array\n height = len(cat_art)\n width = max(len(line) for line in cat_art)\n\n # Create a figure and axis to display ASCII art\n fig, ax = plt.subplots(figsize=(width, height))\n ax.axis('off') # Hide axes\n\n # Get a monospace font\n prop = fm.FontProperties(family='monospace')\n\n # Display ASCII art using text\n for y, line in enumerate(cat_art):\n ax.text(0, height-y-1, line, fontproperties=prop, fontsize=12)\n\n # Adjust layout\n plt.tight_layout()\n\n # Save figure to file\n plt.savefig(filename, dpi=120, bbox_inches='tight', pad_inches=0.1)\n plt.close(fig)`;\n\n const skill: ISkill = {\n title: \"save_cat_ascii_art_to_png\",\n description: \"save cat ascii art to png\",\n content: content,\n };\n\n return skill;\n};\n\nexport const timeAgo = (dateString: string): string => {\n // if dateStr is empty, return empty string\n if (!dateString) {\n return \"\";\n }\n // Parse the date string into a Date object\n const timestamp = new Date(dateString);\n\n // Check for invalid date\n if (isNaN(timestamp.getTime())) {\n throw new Error(\"Invalid date string provided.\");\n }\n\n // Get the current time\n const now = new Date();\n\n // Calculate the difference in milliseconds\n const timeDifference = now.getTime() - timestamp.getTime();\n\n // Convert time difference to minutes and hours\n const minutesAgo = Math.floor(timeDifference / (1000 * 60));\n const hoursAgo = Math.floor(minutesAgo / 60);\n\n // Format the date into a readable format e.g. \"November 27\"\n const options: Intl.DateTimeFormatOptions = { month: \"long\", day: \"numeric\" };\n const formattedDate = timestamp.toLocaleDateString(undefined, options);\n\n // Determine the time difference string\n let timeAgoStr: string;\n if (minutesAgo < 1) {\n timeAgoStr = \"just now\";\n } else if (minutesAgo < 60) {\n // Less than an hour ago, display minutes\n timeAgoStr = `${minutesAgo} ${minutesAgo === 1 ? \"minute\" : \"minutes\"} ago`;\n } else if (hoursAgo < 24) {\n // Less than a day ago, display hours\n timeAgoStr = `${hoursAgo} ${hoursAgo === 1 ? \"hour\" : \"hours\"} ago`;\n } else {\n // More than a day ago, display the formatted date\n timeAgoStr = formattedDate;\n }\n\n // Return the final readable string\n return timeAgoStr;\n};\n\nexport const examplePrompts = [\n {\n title: \"Stock Price\",\n prompt:\n \"Plot a chart of NVDA and TESLA stock price for 2023. Save the result to a file named nvda_tesla.png\",\n },\n {\n title: \"Sine Wave\",\n prompt:\n \"Write a python script to plot a sine wave and save it to disc as a png file sine_wave.png\",\n },\n {\n title: \"Markdown\",\n prompt:\n \"List out the top 5 rivers in africa and their length and return that as a markdown table. Do not try to write any code, just write the table\",\n },\n {\n title: \"Paint\",\n prompt:\n \"paint a picture of a glass of ethiopian coffee, freshly brewed in a tall glass cup, on a table right in front of a lush green forest scenery\",\n },\n {\n title: \"Travel\",\n prompt:\n \"Plan a 2 day trip to hawaii. Limit to 3 activities per day, be as brief as possible!\",\n },\n];\n\nexport const fetchVersion = () => {\n const versionUrl = getServerUrl() + \"/version\";\n return fetch(versionUrl)\n .then((response) => response.json())\n .then((data) => {\n return data;\n })\n .catch((error) => {\n console.error(\"Error:\", error);\n return null;\n });\n};\n\n/**\n * Recursively sanitizes JSON objects by replacing specific keys with a given value.\n * @param {JsonValue} data - The JSON data to be sanitized.\n * @param {string[]} keys - An array of keys to be replaced in the JSON object.\n * @param {string} replacement - The value to use as replacement for the specified keys.\n * @returns {JsonValue} - The sanitized JSON data.\n */\nexport const sanitizeConfig = (\n data: any,\n keys: string[] = [\"api_key\", \"id\"]\n): any => {\n if (Array.isArray(data)) {\n return data.map((item) => sanitizeConfig(item, keys));\n } else if (typeof data === \"object\" && data !== null) {\n Object.keys(data).forEach((key) => {\n if (keys.includes(key)) {\n delete data[key];\n } else {\n data[key] = sanitizeConfig(data[key], keys);\n }\n });\n }\n return data;\n};\n\n/**\n * Checks the input text against the regex '^[a-zA-Z0-9_-]{1,64}$' and returns an object with\n * status, message, and sanitizedText. Status is boolean indicating whether input text is valid,\n * message provides information about the outcome, and sanitizedText contains a valid version\n * of the input text or the original text if it was already valid.\n *\n * @param text - The input string to be checked and sanitized.\n * @returns An object containing a status, a message, and sanitizedText.\n */\nexport const checkAndSanitizeInput = (\n text: string\n): { status: boolean; message: string; sanitizedText: string } => {\n // Create a regular expression pattern to match valid characters\n const regexPattern: RegExp = /^[a-zA-Z0-9_-]{1,64}$/;\n let status: boolean = true;\n let message: string;\n let sanitizedText: string;\n\n // Check if the input text matches the pattern\n if (regexPattern.test(text)) {\n // Text already adheres to the pattern\n message = `The text '${text}' is valid.`;\n sanitizedText = text;\n } else {\n // The text does not match; sanitize the input\n status = false;\n sanitizedText = text.replace(/[^a-zA-Z0-9_-]/g, \"_\").slice(0, 64);\n message = `'${text}' is invalid. Consider using '${sanitizedText}' instead.`;\n }\n\n return { status, message, sanitizedText };\n};\n\nexport const isValidConfig = (\n jsonObj: any,\n templateObj: any,\n diffThreshold: number = 4\n): {\n status: boolean;\n message: string;\n} => {\n // Check if both parameters are indeed objects and not null\n if (\n typeof jsonObj !== \"object\" ||\n jsonObj === null ||\n Array.isArray(jsonObj) ||\n typeof templateObj !== \"object\" ||\n templateObj === null ||\n Array.isArray(templateObj)\n ) {\n return {\n status: false,\n message:\n \"Invalid input: One or both parameters are not objects, or are null or arrays.\",\n };\n }\n\n const jsonKeys = new Set(Object.keys(jsonObj));\n const templateKeys = new Set(Object.keys(templateObj));\n\n if (jsonKeys.size !== templateKeys.size) {\n if (Math.abs(jsonKeys.size - templateKeys.size) > diffThreshold) {\n return {\n status: false,\n message:\n \"Configuration does not match template: Number of keys differ.\",\n };\n }\n }\n\n for (const key of templateKeys) {\n if (!jsonKeys.has(key)) {\n return {\n status: false,\n message: `Configuration does not match template: Missing key '${key}' in configuration.`,\n };\n }\n\n // If the value is an object, recursively validate\n if (\n typeof templateObj[key] === \"object\" &&\n templateObj[key] !== null &&\n !Array.isArray(templateObj[key])\n ) {\n const result = isValidConfig(jsonObj[key], templateObj[key]);\n if (!result.status) {\n return {\n status: false,\n message: `Configuration error in nested key '${key}': ${result.message}`,\n };\n }\n }\n }\n\n return {\n status: true,\n message: \"Configuration is valid.\",\n };\n};\n","import React, { useState } from \"react\";\nimport {\n eraseCookie,\n getLocalStorage,\n setLocalStorage,\n} from \"../components/utils\";\nimport { message } from \"antd\";\n\nexport interface IUser {\n name: string;\n email?: string;\n username?: string;\n avatar_url?: string;\n metadata?: any;\n}\n\nexport interface AppContextType {\n user: IUser | null;\n setUser: any;\n logout: any;\n cookie_name: string;\n darkMode: string;\n setDarkMode: any;\n}\n\nconst cookie_name = \"coral_app_cookie_\";\n\nexport const appContext = React.createContext(\n {} as AppContextType\n);\nconst Provider = ({ children }: any) => {\n const storedValue = getLocalStorage(\"darkmode\", false);\n const [darkMode, setDarkMode] = useState(\n storedValue === null ? \"light\" : storedValue === \"dark\" ? \"dark\" : \"light\"\n );\n\n const logout = () => {\n // setUser(null);\n // eraseCookie(cookie_name);\n console.log(\"Please implement your own logout logic\");\n message.info(\"Please implement your own logout logic\");\n };\n\n const updateDarkMode = (darkMode: string) => {\n setDarkMode(darkMode);\n setLocalStorage(\"darkmode\", darkMode, false);\n };\n\n // Modify logic here to add your own authentication\n const initUser = {\n name: \"Guest User\",\n email: \"guestuser@gmail.com\",\n username: \"guestuser\",\n };\n const [user, setUser] = useState(initUser);\n\n return (\n \n {children}\n \n );\n};\n\nexport default ({ element }: any) => {element};\n","import React from 'react';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar isFunction = function isFunction(obj) {\n return typeof obj === 'function';\n};\n\nvar MDXContext = /*#__PURE__*/React.createContext({});\nvar withMDXComponents = function withMDXComponents(Component) {\n return function (props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n components: allComponents\n }));\n };\n};\nvar useMDXComponents = function useMDXComponents(components) {\n var contextComponents = React.useContext(MDXContext);\n var allComponents = contextComponents;\n\n if (components) {\n allComponents = isFunction(components) ? components(contextComponents) : _objectSpread2(_objectSpread2({}, contextComponents), components);\n }\n\n return allComponents;\n};\nvar MDXProvider = function MDXProvider(props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(MDXContext.Provider, {\n value: allComponents\n }, props.children);\n};\n\nvar TYPE_PROP_NAME = 'mdxType';\nvar DEFAULTS = {\n inlineCode: 'code',\n wrapper: function wrapper(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, {}, children);\n }\n};\nvar MDXCreateElement = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var propComponents = props.components,\n mdxType = props.mdxType,\n originalType = props.originalType,\n parentName = props.parentName,\n etc = _objectWithoutProperties(props, [\"components\", \"mdxType\", \"originalType\", \"parentName\"]);\n\n var components = useMDXComponents(propComponents);\n var type = mdxType;\n var Component = components[\"\".concat(parentName, \".\").concat(type)] || components[type] || DEFAULTS[type] || originalType;\n\n if (propComponents) {\n return /*#__PURE__*/React.createElement(Component, _objectSpread2(_objectSpread2({\n ref: ref\n }, etc), {}, {\n components: propComponents\n }));\n }\n\n return /*#__PURE__*/React.createElement(Component, _objectSpread2({\n ref: ref\n }, etc));\n});\nMDXCreateElement.displayName = 'MDXCreateElement';\nfunction createElement (type, props) {\n var args = arguments;\n var mdxType = props && props.mdxType;\n\n if (typeof type === 'string' || mdxType) {\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = MDXCreateElement;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.originalType = type;\n newProps[TYPE_PROP_NAME] = typeof type === 'string' ? type : mdxType;\n createElementArgArray[1] = newProps;\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n }\n\n return React.createElement.apply(null, args);\n}\n\nexport { MDXContext, MDXProvider, createElement as mdx, useMDXComponents, withMDXComponents };\n","import React, { createContext, useContext } from \"react\"\n\nconst GatsbyMDXScopeContext = createContext({})\n\nexport const useMDXScope = scope => {\n const contextScope = useContext(GatsbyMDXScopeContext)\n return scope || contextScope\n}\n\nexport const MDXScopeProvider = ({ __mdxScope, children }) =>\n React.createElement(\n GatsbyMDXScopeContext.Provider,\n { value: __mdxScope },\n children\n )\n","export default\n Object.assign({}, )\n ","import React from \"react\"\nimport { MDXProvider, withMDXComponents } from \"@mdx-js/react\"\nimport { MDXScopeProvider } from \"./context\"\n\n/**\n * so, this import is weird right?\n *\n * # What it looks like:\n * we're importing a webpack loader directly into our runtime bundle\n *\n * # What it's actually doing:\n * We configure the `mdx-components` loader in gatsby-node's\n * `onCreateWebpackConfig`. The configuration sets the loader to handle its\n * own file, so if we import `./loaders/mdx-components`, the `mdx-components`\n * loader handles loading itself.\n *\n * # Why does this work?\n * The loader doesn't use the file argument to itself and instead returns\n * a generated file that includes the `gatsby-config` mdxPlugins wrapped in\n * require() statements. This results in the `mdxPlugins` being required\n * and available to the code after this import.\n *\n * # Have a better solution to this?\n * Submit a PR\n */\nimport { plugins as mdxPlugins } from \"./loaders/mdx-components\"\nimport scopeContexts from \"./loaders/mdx-scopes\"\n\nconst componentsAndGuards = {}\n\nconst componentFromGuards = arr =>\n function GatsbyMDXComponentFinder(props) {\n const { Component } = arr.find(({ guard }) => (guard ? guard(props) : true))\n return \n }\n\nmdxPlugins.forEach(({ guards = {}, components }) => {\n Object.entries(components).forEach(([componentName, Component]) => {\n if (componentsAndGuards[componentName]) {\n componentsAndGuards.push({ guard: guards[componentName], Component })\n } else {\n componentsAndGuards[componentName] = [\n { guard: guards[componentName], Component },\n ]\n }\n })\n})\n\nconst components = Object.entries(componentsAndGuards)\n .map(([name, arr]) => {\n return {\n [name]: componentFromGuards(\n arr.concat({ guard: undefined, Component: name })\n ),\n }\n })\n .reduce((acc, obj) => {\n return { ...acc, ...obj }\n }, {})\n\n// merge any components in wrapRootElement above this wrapRoot\nconst MDXConsumer = withMDXComponents(\n ({ components: componentsFromContext, children }) => (\n \n \n {children}\n \n \n )\n)\n\nconst WrapRootElement = ({ element }) => {element}\n\nexport default WrapRootElement\n","import wrap from \"./wrap-root-element\"\nexport const wrapRootElement = wrap\n","module.exports = {plugins: []}","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext, createContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(\n LocationContext.Consumer,\n null,\n function (context) {\n return context ? children(context) : React.createElement(\n LocationProvider,\n null,\n children\n );\n }\n );\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: { unlisten: null }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n\n return { navigate: navigate, location: location };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, { replace: true });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return { context: _this2.getContext() };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n\n return React.createElement(\n LocationContext.Provider,\n { value: context },\n typeof children === \"function\" ? children(context) : children || null\n );\n };\n\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n },\n children\n );\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n});\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (baseContext) {\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n }\n );\n }\n );\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n\n\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(\n Router,\n { location: location, primary: primary },\n element.props.children\n ) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({ uri: uri, location: location, component: component }, domProps) : domProps;\n\n return React.createElement(\n BaseContext.Provider,\n {\n value: { baseuri: uri, basepath: basepath, navigate: props.navigate }\n },\n React.createElement(\n FocusWrapper,\n wrapperProps,\n clone\n )\n );\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\n\n\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(\n FocusContext.Consumer,\n null,\n function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n }\n );\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(\n Comp,\n _extends({\n style: _extends({ outline: \"none\" }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps),\n React.createElement(\n FocusContext.Provider,\n { value: this.requestFocus },\n this.props.children\n )\n );\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({ isCurrent: isCurrent, isPartiallyCurrent: isPartiallyCurrent, href: href, location: location }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n }\n );\n }\n );\n});\n\nLink.displayName = \"Link\";\n\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes = {\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), { replace: replace, state: state });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, { baseuri: baseuri }, props));\n }\n );\n }\n );\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n }\n );\n }\n );\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var results = match(context.basepath, location.pathname);\n\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return { value: element, default: true };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch, resolve , BaseContext };","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport var Context = /*#__PURE__*/React.createContext({});\nexport default function MotionProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: props\n }, children);\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport default DomWrapper;","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';\n/**\n * Used for disabled motion case.\n * Prepare stage will still work but start & active will be skipped.\n */\nexport var STEP_PREPARED = 'prepared';","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\";\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n style = _document$createEleme.style;\n}\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n var prefixMap = vendorPrefixes[eventName];\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (function (callback) {\n var cacheElementRef = useRef();\n\n // Cache callback\n var callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n // Internal motion event handler\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []);\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { STEP_ACTIVATED, STEP_ACTIVE, STEP_NONE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useNextFrame from \"./useNextFrame\";\nvar FULL_STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\nvar SIMPLE_STEP_QUEUE = [STEP_PREPARE, STEP_PREPARED];\n\n/** Skip current step */\nexport var SkipStep = false;\n/** Current step should be update in */\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, prepareOnly, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n var STEP_QUEUE = prepareOnly ? SIMPLE_STEP_QUEUE : FULL_STEP_QUEUE;\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else if (nextStep) {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport classNames from 'classnames';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Context } from \"./context\";\nimport DomWrapper from \"./DomWrapper\";\nimport useStatus from \"./hooks/useStatus\";\nimport { isActive } from \"./hooks/useStepQueue\";\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from \"./interface\";\nimport { getTransitionName, supportTransition } from \"./util/motion\";\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n function isSupportTransition(props, contextMotion) {\n return !!(props.motionName && transitionSupport && contextMotion !== false);\n }\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var _React$useContext = React.useContext(Context),\n contextMotion = _React$useContext.motion;\n var supportMotion = isSupportTransition(props, contextMotion);\n\n // Ref to the react node, it may be a HTMLElement\n var nodeRef = useRef();\n // Ref to the dom wrapper in case ref can not pass to HTMLElement\n var wrapperNodeRef = useRef();\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3];\n\n // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n var renderedRef = React.useRef(mergedVisible);\n if (mergedVisible) {\n renderedRef.current = true;\n }\n\n // ====================== Refs ======================\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]);\n\n // ===================== Render =====================\n var motionChildren;\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current && leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender || !removeOnLeave && !leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n // In motion\n var statusSuffix;\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n var motionCls = getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix));\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, motionCls, motionCls && statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n }\n\n // Auto inject ref if child node not have `ref` props\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _ref = motionChildren,\n originNodeRef = _ref.ref;\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { STATUS_APPEAR, STATUS_ENTER, STATUS_LEAVE, STATUS_NONE, STEP_ACTIVE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useDomMotionEvents from \"./useDomMotionEvents\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useStepQueue, { DoStep, isActive, SkipStep } from \"./useStepQueue\";\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n\n // =========================== Dom Node ===========================\n function getDomElement() {\n return getElement();\n }\n\n // ========================== Motion End ==========================\n var activeRef = useRef(false);\n\n /**\n * Clean up status & style\n */\n function updateMotionEndStatus() {\n setStatus(STATUS_NONE, true);\n setStyle(null, true);\n }\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n var currentActive = activeRef.current;\n var canEnd;\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n }\n\n // Only update status when `canEnd` and not destroyed\n if (status !== STATUS_NONE && currentActive && canEnd !== false) {\n updateMotionEndStatus();\n }\n }\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0];\n\n // ============================= Step =============================\n var getEventHandlers = function getEventHandlers(targetStatus) {\n var _ref2, _ref3, _ref4;\n switch (targetStatus) {\n case STATUS_APPEAR:\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n case STATUS_ENTER:\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n case STATUS_LEAVE:\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n default:\n return {};\n }\n };\n var eventHandlers = React.useMemo(function () {\n return getEventHandlers(status);\n }, [status]);\n var _useStepQueue = useStepQueue(status, !supportMotion, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n if (!onPrepare) {\n return SkipStep;\n }\n return onPrepare(getDomElement());\n }\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n if (step === STEP_PREPARED) {\n updateMotionEndStatus();\n }\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n var active = isActive(step);\n activeRef.current = active;\n\n // ============================ Status ============================\n // Update with new status\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n // if (!supportMotion) {\n // return;\n // }\n\n var nextStatus;\n\n // Appear\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n }\n\n // Enter\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n }\n\n // Leave\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n }\n var nextEventHandlers = getEventHandlers(nextStatus);\n\n // Update to next status\n if (nextStatus && (supportMotion || nextEventHandlers[STEP_PREPARE])) {\n setStatus(nextStatus);\n startStep();\n } else {\n // Set back in case no motion but prev status has prepare step\n setStatus(STATUS_NONE);\n }\n }, [visible]);\n\n // ============================ Effect ============================\n // Reset when motion changed\n useEffect(function () {\n if (\n // Cancel appear\n status === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n status === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []);\n\n // Trigger `onVisibleChanged`\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, status]);\n\n // ============================ Styles ============================\n var mergedStyle = style;\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys);\n\n // Check prev keys to insert or keep\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n }\n\n // If not hit, it means key is removed\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n });\n\n // Add rest to the list\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n });\n\n // Update `STATUS_ADD` to `STATUS_KEEP`\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from \"./CSSMotion\";\nimport { diffKeys, parseKeys, STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED } from \"./util/diff\";\nimport { supportTransition } from \"./util/motion\";\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearPrepare', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n var _super = _createSuper(CSSMotionList);\n function CSSMotionList() {\n var _this;\n _classCallCheck(this, CSSMotionList);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: []\n });\n // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n _defineProperty(_assertThisInitialized(_this), \"removeKey\", function (removeKey) {\n var keyEntities = _this.state.keyEntities;\n var nextKeyEntities = keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n _this.setState({\n keyEntities: nextKeyEntities\n });\n return nextKeyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n });\n return _this;\n }\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var keyEntities = this.state.keyEntities;\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2, index) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n if (!changedVisible) {\n var restKeysCount = _this2.removeKey(eventProps.key);\n if (restKeysCount === 0 && onAllRemoved) {\n onAllRemoved();\n }\n }\n }\n }), function (props, ref) {\n return children(_objectSpread(_objectSpread({}, props), {}, {\n index: index\n }), ref);\n });\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n });\n\n // Remove if already mark as removed\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n return true;\n })\n };\n }\n }]);\n return CSSMotionList;\n }(React.Component);\n _defineProperty(CSSMotionList, \"defaultProps\", {\n component: 'div'\n });\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from \"./CSSMotion\";\nimport CSSMotionList from \"./CSSMotionList\";\nexport { default as Provider } from \"./context\";\nexport { CSSMotionList };\nexport default CSSMotion;","var locale = {\n // Options\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n // Pagination\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n};\nexport default locale;","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nvar APPEND_ORDER = 'data-rc-order';\nvar APPEND_PRIORITY = 'data-rc-priority';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend,\n _option$priority = option.priority,\n priority = _option$priority === void 0 ? 0 : _option$priority;\n var mergedOrder = getOrder(prepend);\n var isPrependQueue = mergedOrder === 'prependQueue';\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, mergedOrder);\n if (isPrependQueue && priority) {\n styleNode.setAttribute(APPEND_PRIORITY, \"\".concat(priority));\n }\n if (csp !== null && csp !== void 0 && csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (isPrependQueue) {\n var existStyle = findStyles(container).filter(function (node) {\n // Ignore style which not injected by rc-util with prepend\n if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {\n return false;\n }\n\n // Ignore style which priority less then new style\n var nodePriority = Number(node.getAttribute(APPEND_PRIORITY) || 0);\n return priority >= nodePriority;\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return findStyles(container).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option);\n\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if ((_option$csp = option.csp) !== null && _option$csp !== void 0 && _option$csp.nonce && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","import React from 'react';\nimport ReactDOM from 'react-dom';\nexport function isDOM(node) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element\n // Since XULElement is also subclass of Element, we only need HTMLElement and SVGElement\n return node instanceof HTMLElement || node instanceof SVGElement;\n}\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n if (isDOM(node)) {\n return node;\n }\n if (node instanceof React.Component) {\n return ReactDOM.findDOMNode(node);\n }\n return null;\n}","function getRoot(ele) {\n var _ele$getRootNode;\n return ele === null || ele === void 0 || (_ele$getRootNode = ele.getRootNode) === null || _ele$getRootNode === void 0 ? void 0 : _ele$getRootNode.call(ele);\n}\n\n/**\n * Check if is in shadowRoot\n */\nexport function inShadow(ele) {\n return getRoot(ele) instanceof ShadowRoot;\n}\n\n/**\n * Return shadowRoot if possible\n */\nexport function getShadowRoot(ele) {\n return inShadow(ele) ? getRoot(ele) : null;\n}","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35,\n // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36,\n // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37,\n // also NUM_WEST\n /**\n * UP\n */\n UP: 38,\n // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39,\n // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40,\n // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45,\n // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46,\n // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91,\n // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n // needs localization\n /**\n * DASH\n */\n DASH: 189,\n // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187,\n // needs localization\n /**\n * COMMA\n */\n COMMA: 188,\n // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190,\n // needs localization\n /**\n * SLASH\n */\n SLASH: 191,\n // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n },\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nvar fullClone = _objectSpread({}, ReactDOM);\nvar version = fullClone.version,\n reactRender = fullClone.render,\n unmountComponentAtNode = fullClone.unmountComponentAtNode;\nvar createRoot;\ntry {\n var mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18) {\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && _typeof(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nvar MARK = '__rc_react_root__';\n\n// ========================== Render ==========================\n\nfunction modernRender(node, container) {\n toggleWarning(true);\n var root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _r(node, container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyRender(node, container);\n }\n}\nexport function render(node, container) {\n if (createRoot) {\n modernRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n\n// ========================= Unmount ==========================\nfunction modernUnmount(_x) {\n return _modernUnmount.apply(this, arguments);\n}\nfunction _modernUnmount() {\n _modernUnmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(container) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Promise.resolve().then(function () {\n var _container$MARK;\n (_container$MARK = container[MARK]) === null || _container$MARK === void 0 || _container$MARK.unmount();\n delete container[MARK];\n }));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _modernUnmount.apply(this, arguments);\n}\nfunction legacyUnmount(container) {\n unmountComponentAtNode(container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _u(container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyUnmount(container);\n }\n}\nexport function unmount(_x2) {\n return _unmount.apply(this, arguments);\n}\nfunction _unmount() {\n _unmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(container) {\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(createRoot !== undefined)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", modernUnmount(container));\n case 2:\n legacyUnmount(container);\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _unmount.apply(this, arguments);\n}","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n var memoFn = React.useCallback(function () {\n var _fnRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n return memoFn;\n}","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nvar useLayoutEffect = function useLayoutEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useInternalLayoutEffect(function () {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n useLayoutEffect(function (firstMount) {\n if (!firstMount) {\n return callback();\n }\n }, deps);\n};\nexport default useLayoutEffect;","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"./useEvent\";\nimport { useLayoutUpdateEffect } from \"./useLayoutEffect\";\nimport useState from \"./useState\";\n/** We only think `undefined` is empty */\nfunction hasValue(value) {\n return value !== undefined;\n}\n\n/**\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\nexport default function useMergedState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n\n // ======================= Init =======================\n var _useState = useState(function () {\n if (hasValue(value)) {\n return value;\n } else if (hasValue(defaultValue)) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n } else {\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }\n }),\n _useState2 = _slicedToArray(_useState, 2),\n innerValue = _useState2[0],\n setInnerValue = _useState2[1];\n var mergedValue = value !== undefined ? value : innerValue;\n var postMergedValue = postState ? postState(mergedValue) : mergedValue;\n\n // ====================== Change ======================\n var onChangeFn = useEvent(onChange);\n var _useState3 = useState([mergedValue]),\n _useState4 = _slicedToArray(_useState3, 2),\n prevValue = _useState4[0],\n setPrevValue = _useState4[1];\n useLayoutUpdateEffect(function () {\n var prev = prevValue[0];\n if (innerValue !== prev) {\n onChangeFn(innerValue, prev);\n }\n }, [prevValue]);\n\n // Sync value back to `undefined` when it from control to un-control\n useLayoutUpdateEffect(function () {\n if (!hasValue(value)) {\n setInnerValue(value);\n }\n }, [value]);\n\n // ====================== Update ======================\n var triggerChange = useEvent(function (updater, ignoreDestroy) {\n setInnerValue(updater, ignoreDestroy);\n setPrevValue([mergedValue], ignoreDestroy);\n });\n return [postMergedValue, triggerChange];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2) {\n var shallow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n var refSet = new Set();\n function deepEqual(a, b) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n var newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {\n var keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(function (key) {\n return deepEqual(a[key], b[key], newLevel);\n });\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(id);\n return caf(realId);\n};\nif (process.env.NODE_ENV !== 'production') {\n wrapperRaf.ids = function () {\n return rafIds;\n };\n}\nexport default wrapperRaf;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable no-param-reassign */\n\nimport { isValidElement } from 'react';\nimport { isFragment, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(function (ref) {\n return ref;\n });\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length !== next.length || prev.every(function (ref, i) {\n return ref !== next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render)) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render)) {\n return false;\n }\n return true;\n}\nexport function supportNodeRef(node) {\n if (! /*#__PURE__*/isValidElement(node)) {\n return false;\n }\n if (isFragment(node)) {\n return false;\n }\n return supportRef(node);\n}\n/* eslint-enable */","export default function get(entity, path) {\n var current = entity;\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n current = current[path[i]];\n }\n return current;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from \"./get\";\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n var clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\nfunction createEmpty(source) {\n return Array.isArray(source) ? [] : {};\n}\nvar keys = typeof Reflect === 'undefined' ? Object.keys : Reflect.ownKeys;\n\n/**\n * Merge objects which will create\n */\nexport function merge() {\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n var clone = createEmpty(sources[0]);\n sources.forEach(function (src) {\n function internalMerge(path, parentLoopSet) {\n var loopSet = new Set(parentLoopSet);\n var value = get(src, path);\n var isArr = Array.isArray(value);\n if (isArr || isObject(value)) {\n // Only add not loop obj\n if (!loopSet.has(value)) {\n loopSet.add(value);\n var originValue = get(clone, path);\n if (isArr) {\n // Array will always be override\n clone = set(clone, path, []);\n } else if (!originValue || _typeof(originValue) !== 'object') {\n // Init container if not exist\n clone = set(clone, path, createEmpty(value));\n }\n keys(value).forEach(function (key) {\n internalMerge([].concat(_toConsumableArray(path), [key]), loopSet);\n });\n }\n } else {\n clone = set(clone, path, value);\n }\n }\n internalMerge([]);\n });\n return clone;\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;\n/* eslint-enable */","/**\n * @license React\n * react-is.production.min.js\n *\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'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.5.4 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\\\"pt0\\\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.5.4\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `