diff --git a/CHANGELOG.md b/CHANGELOG.md
index 705be94..99f885b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# 1.0.8 (2020-12-14)
+
+### Bug Fixes
+
+* Icons: Prevent 'name' prop from being sent to html element ([:link:](https://github.com/voidagency/factory-react-ui/pull/11))
+
# 1.0.7 (2020-12-03)
### Bug Fixes
diff --git a/dist/index.js b/dist/index.js
index ad86b3d..65b75a4 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -2716,7 +2716,7 @@ var WrapperIcon = function WrapperIcon(_ref) {
};
var Icon = styled__default(WrapperIcon).withConfig({
shouldForwardProp: function shouldForwardProp$1(prop, defaultValidatorFn) {
- return !['sx', '__css'].concat(shouldForwardProp.props).includes(prop);
+ return !['sx', 'name', '__css'].concat(shouldForwardProp.props).includes(prop);
}
}).attrs(function (props) {
return {
diff --git a/dist/index.js.map b/dist/index.js.map
index 148fbb2..73cecd4 100644
--- a/dist/index.js.map
+++ b/dist/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["../src/components/Accordion/AccordionContext.js","../src/core/context/index.js","../src/core/color-modes/index.js","../src/core/dir-manager/index.js","../src/core/space/index.js","../src/core/styled-media/index.js","../src/core/utils/system.js","../src/core/utils/dom.js","../src/core/intersection-observer/index.js","../src/core/hook/use-scroll.js","../node_modules/polished/dist/polished.esm.js","../src/core/match-media/match-media.js","../src/components/Box/Box.js","../src/components/Accordion/Accordion.js","../src/components/Animation/MotionBox.js","../src/components/Animation/ParallaxBox.js","../src/components/Animation/RevealBox.js","../src/components/Accordion/AccordionPanel.js","../src/components/Anchor/Anchor.js","../src/components/Breadcrumb/Breadcrumb.js","../src/components/Breadcrumb/BreadcrumbItem.js","../src/components/Button/Button.js","../src/components/Button/Link.js","../src/components/Drop/Drop.js","../src/components/Footer/Footer.js","../src/components/Icon/context/index.js","../src/components/Icon/Icon.js","../src/components/Form/Checkbox.js","../src/components/Form/Input.js","../src/components/Form/Label.js","../src/components/Form/Radio.js","../src/components/Form/Select.js","../src/components/GlobalStyle/index.js","../src/components/Grid/config.js","../src/components/Grid/helpers.js","../src/components/Grid/Container/Container.js","../src/components/Grid/Row/Row.js","../src/components/Grid/Col/Col.js","../src/components/Header/Header.js","../src/components/Image/Image.js","../src/components/Navs/Navs.js","../src/components/Navs/Nav.js","../src/components/Pagination/Pagination.js","../src/components/Tabs/Tab.js","../src/components/Tabs/Tabs.js","../src/components/Typography/Text.js","../src/components/List/List.js","../src/components/List/Item.js","../src/components/Layer/StyledLayer.js","../src/components/Layer/FocusedContainer.js","../src/components/Layer/LayerContainer.js","../src/components/Layer/Layer.js","../src/components/Slider/Slider.js","../src/components/Slider/Slide.js","../src/components/Search/Search.js","../src/theme/constants/colors.js","../src/theme/constants/breakpoints.js","../src/theme/constants/space.js","../src/theme/constants/shadows.js","../src/theme/constants/sizes.js","../src/theme/constants/fonts.js","../src/theme/constants/fontWeights.js","../src/theme/constants/fontSizes.js","../src/theme/constants/lineHeights.js","../src/theme/constants/borders.js","../src/theme/components/buttons.js","../src/theme/components/anchors.js","../src/theme/components/inputs.js","../src/theme/components/labels.js","../src/theme/components/radio.js","../src/theme/components/checkbox.js","../src/theme/components/select.js","../src/theme/components/layer.js","../src/theme/components/tabs.js","../src/theme/components/accordion.js","../src/theme/components/breadcrumb.js","../src/theme/components/navs.js","../src/theme/components/text.js","../src/theme/components/search-overlay.js","../src/theme/theme.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport const AccordionContext = createContext({});","import React from 'react';\n\nexport const VactoryThemeContext = React.createContext({\n colorMode: null,\n setColorMode: null,\n});\n\nexport const useVactoryTheme = () => React.useContext(VactoryThemeContext);","import React, { useState, useEffect, useContext } from 'react';\nimport { ThemeContext, ThemeProvider } from 'styled-components';\nimport { get } from 'styled-system';\nimport deepmerge from 'deepmerge';\nimport { useVactoryTheme, VactoryThemeContext } from '../context';\n\n\nconst STORAGE_KEY = 'vactory-ui-color-mode';\n\nconst storage = {\n get: init => {\n try {\n return window.localStorage.getItem(STORAGE_KEY) || init\n } catch (e) {\n console.warn(\n 'localStorage is disabled and color mode might not work as expected.',\n 'Please check your Site Settings.',\n e\n )\n }\n },\n set: value => {\n try {\n window.localStorage.setItem(STORAGE_KEY, value)\n } catch (e) {\n console.warn(\n 'localStorage is disabled and color mode might not work as expected.',\n 'Please check your Site Settings.',\n e\n )\n }\n },\n}\n\nconst getColorsByMode = (theme, mode) => {\n const themeColors = theme.colors || {};\n if (!mode) return themeColors;\n const modes = get(theme, 'colors.modes', {});\n return deepmerge.all([{}, {...theme.colors}, {\n ...get(modes, mode, {}),\n }]);\n}\n\n\nconst useColorModeState = (theme = {}) => {\n\n const stored = storage.get();\n const [mode, setMode] = useState(stored || 'default');\n\n // init state\n // useEffect(() => {\n // const stored = storage.get();\n // if (!stored || stored === mode) return;\n // setMode(stored);\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, [] );\n\n useEffect(() => {\n if (!mode) return\n storage.set(mode)\n }, [mode]);\n\n return [mode, setMode];\n\n}\n\nexport const useColorMode = () => {\n const { colorMode, setColorMode } = useVactoryTheme();\n if (typeof setColorMode !== 'function') {\n throw new Error(`[useColorMode] requires the ColorModeProvider component`)\n }\n\n return [colorMode, setColorMode];\n}\n\n\nexport const ColorModeProvider = ({ children }) => {\n\n const styledComponentTheme = useContext(ThemeContext);\n\n const [colorMode, setColorMode] = useColorModeState(styledComponentTheme);\n\n const colors = getColorsByMode(styledComponentTheme || {}, colorMode);\n const theme = {\n ...styledComponentTheme,\n colors\n };\n const context = {\n colorMode,\n setColorMode,\n }\n\n return (\n \n \n {children}\n \n \n );\n}","import React from 'react';\nimport { StyleSheetManager } from \"styled-components\";\nimport stylisRTLPlugin from 'stylis-plugin-rtl';\n\n\nexport const DirectionManagerContext = React.createContext(\"ltr\");\n\nexport const DirectionManager = ({dir= \"ltr\", children}) => {\n return \n \n {children}
\n \n \n \n} ","import React from 'react';\nimport styled from 'styled-components';\nimport { space } from 'styled-system';\n\n\nconst classnames = (...args) => args.join(' ');\nconst getClassName = el => (el.props && el.props.className) || '';\n\n\nexport const StyledChildren = ({\n className,\n children,\n ...props\n }) => {\n const styledChildren = React.Children.toArray(children)\n .map(child => React.cloneElement(child, {\n className: classnames(getClassName(child), className)\n }))\n return (\n <>\n {styledChildren}\n >\n )\n}\n\nconst Space = styled(StyledChildren)(space);\nexport default Space;","import { css } from \"styled-components\";\nexport const DEFAULT_BREAKPOINTS = {\n xs: '0', \n sm: '500px', \n md: '960px', \n lg: '1280px', \n xl: '1920px'\n};\n\n\nconst getSizeFromBreakpoint = (breakpointValue, breakpoints = {}) => {\n if (breakpoints[breakpointValue]) {\n return breakpoints[breakpointValue];\n } else if (parseInt(breakpointValue)) {\n return breakpointValue;\n } else {\n console.error('No valid breakpoint or size specified for media.');\n return '0';\n }\n}\n\n\nexport const lessThan = (breakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (max-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n}\n\nexport const greaterThan = (breakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (min-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n}\n\nexport const between = (firstBreakpoint, secondBreakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (min-width: ${getSizeFromBreakpoint(firstBreakpoint, breakpoints)}) and (max-width: ${getSizeFromBreakpoint(secondBreakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n};\n\nexport const generateMedia = (props) => {\n \n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n \n const lessThan = (breakpoint) => (...args) => {\n console.warn(\"[vactory-ui] generateMedia(props).lessThan(\"+breakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot lessThan(\"+breakpoint+\")\");\n return css`\n @media (max-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `};\n \n const greaterThan = (breakpoint) => (...args) => {\n\n console.warn(\"[vactory-ui] generateMedia(props).greaterThan(\"+breakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot greaterThan(\"+breakpoint+\")\");\n return css`\n @media (min-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `\n };\n \n const between = (firstBreakpoint, secondBreakpoint) => (...args) => {\n console.warn(\"[vactory-ui] generateMedia(props).between(\"+firstBreakpoint+\", \"+secondBreakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot greaterThan(\"+firstBreakpoint+\", \"+secondBreakpoint+\")\");\n \n return css`\n @media (min-width: ${getSizeFromBreakpoint(firstBreakpoint, breakpoints)}) and\n (max-width: ${getSizeFromBreakpoint(secondBreakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `};\n\n return {\n lessThan,\n greaterThan,\n between,\n };\n}\n\nexport default generateMedia;","\nimport { props as systemProps } from '@styled-system/should-forward-prop';\nimport { size, space, margin, layout } from 'styled-system';\n\nimport css, { get } from '@styled-system/css';\n\n\nconst PRE = new RegExp(`^(${systemProps.join('|')})$`);\n\nconst _getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\n\nconst MRE = new RegExp(`^(${margin.propNames.join('|')})$`);\nexport const getMarginProps = _getProps(k => MRE.test(k));\nexport const omitMarginProps = _getProps(k => !MRE.test(k));\n\nexport const getSystemProps = _getProps(k => PRE.test(k));\n\nconst SizePropsRegExp = new RegExp(`^(${size.propNames.join('|')})$`);\nexport const omitSizeProps = _getProps(k => !SizePropsRegExp.test(k));\nexport const getSizeProps = _getProps(k => SizePropsRegExp.test(k));\n\nconst LayoutPropsRegExp = new RegExp(`^(${layout.propNames.join('|')})$`);\nexport const omitLayoutProps = _getProps(k => !LayoutPropsRegExp.test(k));\nexport const getLayoutProps = _getProps(k => LayoutPropsRegExp.test(k));\n\nconst SpacePRopsRegExp = new RegExp(`^(${space.propNames.join('|')})$`);\nexport const omitSpaceProps = _getProps(k => !SpacePRopsRegExp.test(k));\nexport const getSpaceProps = _getProps(k => SpacePRopsRegExp.test(k));\n\nexport const omitProps = (propsToOmit) => _getProps(k => {\n const exp = new RegExp(`^(${propsToOmit.join('|')})$`);\n return !exp.test(k)\n});\n\nexport const getProps = (propsToGet) => _getProps(k => {\n const exp = new RegExp(`^(${propsToGet.join('|')})$`);\n return !exp.test(k)\n});\n\n\nexport const sx = props => css(props.sx)(props.theme);\nexport const base = props => css(props.__css)(props.theme);\n\nexport const variant = ({\n theme,\n variant,\n}) => css(get(theme, variant))(theme);\n\nexport const variantReducer = (accumulator, currentValue) => currentValue ? accumulator + '.' + currentValue : accumulator;\nexport const getVariant = (variant = []) => {\n if (typeof variant === 'string') {\n return variant\n }\n return variant.reduce(variantReducer)\n}\n","\n\n\n\nexport const findParentByMatchedQuery = (element, className) => {\n\n if(element) {\n const offsetParent = element.parentNode ;\n if( offsetParent && offsetParent.classList && offsetParent.classList.contains(className) ) {\n return offsetParent;\n } else {\n return findParentByMatchedQuery(offsetParent, className);\n }\n }\n\n return undefined;\n} \n\n\nexport const findVisibleParent = element => {\n if (element) {\n return element.offsetParent ? element : findVisibleParent(element.parentElement) || element;\n }\n return undefined;\n };\n\nexport const getNewContainer = (rootNode = document.body) => {\n // setup DOM\n const container = document.createElement('div');\n rootNode.appendChild(container);\n return container;\n};\n\nexport const getBodyChildElements = () => {\n const excludeMatch = /^(script|link)$/i;\n const children = [];\n [].forEach.call(document.body.children, node => {\n if (!excludeMatch.test(node.tagName)) {\n children.push(node);\n }\n });\n return children;\n};\n\nexport const TABINDEX = 'tabindex';\nexport const TABINDEX_STATE = 'data-g-tabindex';\n\nexport const makeNodeFocusable = node => {\n // do not touch aria live containers so that announcements work\n if (!node.hasAttribute('aria-live')) {\n node.setAttribute('aria-hidden', false);\n // allow children to receive focus again\n const elements = node.getElementsByTagName('*');\n // only reset elements we've changed in makeNodeUnfocusable()\n Array.prototype.filter\n .call(elements || [], element => element.hasAttribute(TABINDEX_STATE))\n .forEach(element => {\n const prior = element.getAttribute(TABINDEX_STATE);\n if (prior >= 0) {\n element.setAttribute(TABINDEX, element.getAttribute(TABINDEX_STATE));\n } else if (prior === 'none') {\n element.removeAttribute(TABINDEX);\n }\n element.removeAttribute(TABINDEX_STATE);\n });\n }\n};\n\nconst autoFocusingTags = /(a|area|input|select|textarea|button|iframe)$/;\nexport const makeNodeUnfocusable = node => {\n // do not touch aria live containers so that announcements work\n if (!node.hasAttribute('aria-live')) {\n node.setAttribute('aria-hidden', true);\n // prevent children to receive focus\n const elements = node.getElementsByTagName('*');\n // first, save off the tabindex of any element with one\n Array.prototype.filter\n .call(elements || [], element => element.getAttribute(TABINDEX) !== null)\n .forEach(element => {\n element.setAttribute(TABINDEX_STATE, element.getAttribute(TABINDEX));\n element.setAttribute(TABINDEX, -1);\n });\n // then, if any element is inherently focusable and not handled above,\n // give it a tabindex of -1 so it can't receive focus\n Array.prototype.filter\n .call(elements || [], element => {\n const currentTag = element.tagName.toLowerCase();\n return (\n currentTag.match(autoFocusingTags) &&\n element.focus &&\n element.getAttribute(TABINDEX_STATE) === null\n );\n })\n .forEach(element => {\n element.setAttribute(TABINDEX_STATE, 'none');\n element.setAttribute(TABINDEX, -1);\n });\n }\n};\n\n\nexport const isNotAncestorOf = child => parent => !parent.contains(child);\n\n\n\nexport const setFocusWithoutScroll = element => {\n const x = window.scrollX;\n const y = window.scrollY;\n element.focus();\n window.scrollTo(x, y);\n};\n\nexport const findScrollParents = (element, horizontal) => {\n const result = [];\n if (element) {\n let parent = element.parentNode;\n while (parent && parent.getBoundingClientRect) {\n const rect = parent.getBoundingClientRect();\n // 10px is to account for borders and scrollbars in a lazy way\n if (horizontal) {\n if (rect.width && parent.scrollWidth > rect.width + 10) {\n result.push(parent);\n }\n } else if (rect.height && parent.scrollHeight > rect.height + 10) {\n result.push(parent);\n }\n parent = parent.parentNode;\n }\n // last scrollable element will be the document\n // if nothing else is scrollable in the page\n if (result.length === 0) {\n result.push(document);\n } else if (result[0].tagName.toLowerCase() === 'body') {\n result.length = 0;\n result.push(document);\n }\n }\n return result;\n};\n\nexport const parseMetricToNum = fontAsString => {\n if (fontAsString.match(/\\s/) && process.env.NODE_ENV !== 'production') {\n console.warn(`Invalid single measurement value: \"${fontAsString}\"`);\n }\n return parseFloat(fontAsString.match(/\\d+(\\.\\d+)?/), 10);\n};","import React, { useEffect, useState } from \"react\";\nimport { useIntersection } from \"react-use\";\n\nexport const IntersectionContext = React.createContext({ inView: true });\n\nexport const IntersectionObserver = ({\n children,\n threshold = 0,\n reset = false // if value set to true - observed element will reappear every time it shows up on the screen\n}) => {\n const [inView, setInView] = useState(false);\n const intersectionRef = React.useRef(null);\n const intersection = useIntersection(intersectionRef, {\n threshold\n });\n\n useEffect(() => {\n const inViewNow = intersection && intersection.intersectionRatio > 0;\n if (inViewNow) {\n return setInView(inViewNow);\n } else if (reset) {\n return setInView(false);\n }\n }, [intersection, reset]);\n\n return (\n \n {children}
\n \n );\n};\n","// /**\n// * useScroll React custom hook\n// * Usage:\n// * const { scrollX, scrollY, scrollDirection } = useScroll();\n// */\n\n// import { useState, useEffect } from \"react\";\n\n// export function useScroll() {\n// const [lastScrollTop, setLastScrollTop] = useState(0);\n// const [bodyOffset, setBodyOffset] = useState(\n// document.body.getBoundingClientRect()\n// );\n// const [scrollY, setScrollY] = useState(bodyOffset.top);\n// const [scrollX, setScrollX] = useState(bodyOffset.left);\n// const [scrollDirection, setScrollDirection] = useState();\n\n// const listener = e => {\n// setBodyOffset(document.body.getBoundingClientRect());\n// setScrollY(-bodyOffset.top);\n// setScrollX(bodyOffset.left);\n// setScrollDirection(lastScrollTop > -bodyOffset.top ? \"down\" : \"up\");\n// setLastScrollTop(-bodyOffset.top);\n// };\n\n// useEffect(() => {\n// window.addEventListener(\"scroll\", listener);\n// return () => {\n// window.removeEventListener(\"scroll\", listener);\n// };\n// });\n\n// return {\n// scrollY,\n// scrollX,\n// scrollDirection\n// };\n// }\n\nimport { useRef } from 'react'\n \nimport { useLayoutEffect, useEffect } from 'react'\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nconst isBrowser = typeof window !== `undefined`\n\nfunction getScrollPosition({ element, useWindow }) {\n if (!isBrowser) return { x: 0, y: 0 }\n\n const target = element ? element.current : document.body\n const position = target.getBoundingClientRect()\n\n return useWindow\n ? { x: window.scrollX, y: window.scrollY }\n : { x: position.left, y: position.top }\n}\n\nexport function useScrollPosition(effect, deps, element, useWindow, wait) {\n const position = useRef(getScrollPosition({ useWindow }))\n\n let throttleTimeout = null\n\n const callBack = () => {\n const currPos = getScrollPosition({ element, useWindow })\n effect({ prevPos: position.current, currPos })\n position.current = currPos\n throttleTimeout = null\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!isBrowser) {\n return\n }\n\n const handleScroll = () => {\n if (wait) {\n if (throttleTimeout === null) {\n throttleTimeout = setTimeout(callBack, wait)\n }\n } else {\n callBack()\n }\n }\n\n window.addEventListener('scroll', handleScroll)\n\n return () => window.removeEventListener('scroll', handleScroll)\n }, deps)\n}\n\nuseScrollPosition.defaultProps = {\n deps: [],\n element: false,\n useWindow: false,\n wait: null,\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction factorial(a) {\n if (a % 1 || !(+a >= 0)) return NaN;\n if (a > 170) return Infinity;else if (a === 0) return 1;else {\n return a * factorial(a - 1);\n }\n}\n\nfunction power(a, b) {\n return Math.pow(a, b);\n}\n\nfunction sqrt(a) {\n return Math.sqrt(a);\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultMathSymbols = {\n symbols: {\n '!': {\n postfix: {\n symbol: '!',\n f: factorial,\n notation: 'postfix',\n precedence: 6,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '!',\n regSymbol: '!'\n },\n '^': {\n infix: {\n symbol: '^',\n f: power,\n notation: 'infix',\n precedence: 5,\n rightToLeft: 1,\n argCount: 2\n },\n symbol: '^',\n regSymbol: '\\\\^'\n },\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n },\n sqrt: {\n func: {\n symbol: 'sqrt',\n f: sqrt,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'sqrt',\n regSymbol: 'sqrt\\\\b'\n }\n }\n};\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found.\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultMathSymbols.symbols, additionalSymbols.symbols) : _extends({}, defaultMathSymbols.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable.\n *\n * Passthrough can be enabled (off by default) for when you are unsure of the input and want non-variable values to be returned instead of an error.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, passThrough) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n if (passThrough) return cssVariable;\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else {\n throw new PolishedError(74);\n }\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith (string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @deprecated - stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value, unitReturn) {\n if (typeof value !== 'string') return unitReturn ? [value, undefined] : value;\n var matchedValue = value.match(cssRegex);\n\n if (unitReturn) {\n // eslint-disable-next-line no-console\n console.warn(\"stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\");\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n }\n\n if (matchedValue) return parseFloat(value);\n return value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pxtoFactory('em');\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex$1);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pxtoFactory('rem');\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width) {\n if (width === void 0) {\n width = '100%';\n }\n\n return {\n display: 'inline-block',\n maxWidth: width,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n localFonts = _ref.localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject(), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nfunction _templateObject$1() {\n var data = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"]);\n\n _templateObject$1 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject$1(), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor, backgroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return backgroundColor + \" \" + backgroundColor + \" \" + foregroundColor + \" \" + backgroundColor;\n\n case 'right':\n case 'bottomLeft':\n return backgroundColor + \" \" + backgroundColor + \" \" + backgroundColor + \" \" + foregroundColor;\n\n case 'bottom':\n case 'topLeft':\n return foregroundColor + \" \" + backgroundColor + \" \" + backgroundColor + \" \" + backgroundColor;\n\n case 'left':\n case 'topRight':\n return backgroundColor + \" \" + foregroundColor + \" \" + backgroundColor + \" \" + backgroundColor;\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return {\n width: '0',\n height: '0',\n borderColor: getBorderColor(pointingDirection, foregroundColor, backgroundColor),\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n };\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\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 gold: 'ffd700',\n goldenrod: 'daa520',\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 lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\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: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\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: '639',\n red: 'f00',\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: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsla\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor);\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor);\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * (parseFloat(weight) / 1.0) + color2.alpha * (1 - parseFloat(weight) / 1.0)\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\n\nvar defaultLightReturnColor = '#000';\nvar defaultDarkReturnColor = '#fff';\n/**\n * Returns black or white (or optional light and dark return colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, set `strict` to `true` to ensure that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, lightReturnColor, darkReturnColor, strict) {\n if (lightReturnColor === void 0) {\n lightReturnColor = defaultLightReturnColor;\n }\n\n if (darkReturnColor === void 0) {\n darkReturnColor = defaultDarkReturnColor;\n }\n\n if (strict === void 0) {\n strict = false;\n }\n\n var isLightColor = getLuminance(color) > 0.179;\n var preferredReturnColor = isLightColor ? lightReturnColor : darkReturnColor; // TODO: Make `strict` the default behaviour in the next major release.\n // Without `strict`, this may return a color that does not meet WCAG AA.\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isLightColor ? defaultLightReturnColor : defaultDarkReturnColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff');\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')},\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 - parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap$1 = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap$1.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken as darken, curriedDesaturate as desaturate, directionalProperty, ellipsis, em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, invert, curriedLighten as lighten, linearGradient, margin, math, meetsContrastGuidelines, curriedMix as mix, modularScale, normalize, curriedOpacify as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate as saturate, curriedSetHue as setHue, curriedSetLightness as setLightness, curriedSetSaturation as setSaturation, curriedShade as shade, size, stripUnit, textInputs, timingFunctions, curriedTint as tint, toColorString, transitions, curriedTransparentize as transparentize, triangle, wordWrap };\n","import {useState, useEffect, useContext} from 'react'\nimport { ThemeContext } from 'styled-components';\nimport {stripUnit} from 'polished';\n\n\nconst getClosestValue = (val, arr) => {\n const index = arr.sort((a,b) => a - b).findIndex(el => val < el);\n return index > 0 ? arr[index] : null;\n}\n\nexport const useMediaLessThan = breakpoint => {\n return useMedia([breakpoint], 'max-width');\n}\nexport const useMediaGreaterThan = breakpoint => {\n return useMedia([breakpoint], 'min-width');\n}\nexport const useMediaBetween = (bp1, bp2) => {\n return useMedia([bp1, bp2], 'between');\n}\n\nexport const useMedia = (bp, mediaQuery = 'default' ) => {\n if(!(bp instanceof Array)) {\n bp = [bp];\n }\n const [doesMatch, onSetDoesMatch] = useState(false);\n const {breakpoints} = useContext(ThemeContext) || {};\n const breakpointsKeys = Object.keys(breakpoints).map(_bp => isNaN(_bp) ? _bp : +(_bp)); \n let _query = bp[0];\n \n if(breakpointsKeys.includes(bp[0])) {\n\n const sortedBreakpointsValues = breakpoints.map(e => stripUnit(e))\n const maxWidth = getClosestValue(stripUnit(breakpoints[bp[0]]), sortedBreakpointsValues);\n switch (mediaQuery) {\n case 'max-width':\n _query = `(max-width: ${breakpoints[bp[0]]})`;\n break;\n case 'min-width':\n _query = `(min-width: ${breakpoints[bp[0]]})`;\n break;\n case 'between':\n _query = `(min-width: ${breakpoints[bp[0]]}) and (max-width: ${breakpoints[bp[1]]})`;\n break;\n default:\n console.warn(\"[vactory-ui] useMedia(\"+bp+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot useMediaLessThan(), useMediaGreaterThan() ou useMediaBetween()\");\n _query = `(min-width: ${breakpoints[bp[0]]})${maxWidth !== null ? `and (max-width: ${maxWidth}px)` : '' }`;\n break;\n }\n // _query = `(min-width: ${minWidth})${maxWidth !== null ? `and (max-width: ${maxWidth}px)` : '' }`;\n }\n\n useEffect(() => {\n const onUpdateMatch = ({matches}) => {\n onSetDoesMatch(matches)\n }\n \n const matcher = window.matchMedia(_query)\n \n const isModern = 'addEventListener' in matcher\n if (isModern) {\n matcher.addEventListener('change', onUpdateMatch)\n } else {\n matcher.addListener(onUpdateMatch)\n }\n \n onUpdateMatch(matcher)\n \n return () => {\n if (isModern) {\n matcher.removeEventListener('change', onUpdateMatch)\n } else {\n matcher.removeListener(onUpdateMatch)\n }\n }\n }, [_query, onSetDoesMatch])\n \n return doesMatch\n }\n ","import styled from \"styled-components\";\nimport {\n boxShadow,\n color,\n space,\n layout,\n flexbox,\n border,\n compose,\n position,\n typography,\n} from \"styled-system\";\n\nimport { props as systemProps } from \"@styled-system/should-forward-prop\";\nimport { variant, base, sx } from \"../../core\";\n\n// const customShouldForwardProp\n\nexport const BoxWithoutConfig = styled(\"div\")(\n {\n boxSizing: \"border-box\",\n margin: 0,\n minWidth: 0,\n },\n base,\n sx,\n (props) => props.css,\n (props) => props.styledCss,\n compose(\n space,\n color,\n layout,\n flexbox,\n border,\n typography,\n boxShadow,\n position\n ),\n variant\n);\n\nconst Box = styled(BoxWithoutConfig).withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => {\n return defaultValidatorFn(prop) && !systemProps.includes(prop);\n },\n})({});\n\nBox.WithoutConfig = BoxWithoutConfig;\n\n\n\nconst Flex = styled(Box)({\n display: \"flex\",\n});\n\nFlex.WithoutConfig = styled(BoxWithoutConfig)({\n display: \"flex\",\n});\n\nexport {Box, Flex};\n\nexport default Box;\n","\nimport React, { Children, forwardRef, useState } from 'react';\n\nimport { AccordionContext } from './AccordionContext';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\nconst activeAsArray = active =>\n typeof active === 'number' ? [active] : active;\n\n\nexport const Accordion = forwardRef(\n ({ activeIndex,\n children,\n multiple,\n onChange,\n variant='accordion',\n ...rest\n }, ref) => {\n\n const [activeIndexes, setActiveIndexes] = useState([]);\n const [stateActiveIndex, setStateActiveIndex] = useState();\n\n const derivedActiveIndexes = activeAsArray(activeIndex) || [];\n\n if ((typeof activeIndex !== 'undefined' || activeIndex !== stateActiveIndex) &&\n (derivedActiveIndexes.join() !== activeIndexes.join())) {\n setActiveIndexes(derivedActiveIndexes);\n setStateActiveIndex(activeIndex);\n }\n\n\n const onPanelChange = index => {\n let nextActiveIndexes = [...(activeIndexes || [])];\n\n const nextActiveIndex = nextActiveIndexes.indexOf(index);\n if (nextActiveIndex > -1) {\n nextActiveIndexes.splice(nextActiveIndex, 1);\n } else if (multiple) {\n nextActiveIndexes.push(index);\n } else {\n nextActiveIndexes = [index];\n }\n\n setActiveIndexes(nextActiveIndexes);\n if (onChange) {\n onChange(nextActiveIndexes);\n }\n };\n\n const panels = Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n const key = child.props.panelKey || index;\n return (\n -1,\n onPanelChange: () => onPanelChange(key),\n variant\n }}\n >\n {child}\n \n )\n });\n\n return (\n \n {panels}\n \n );\n\n\n })","\nimport { Box, Flex } from '../Box';\nimport { motion } from 'framer-motion';\n\n\nexport const MotionBox = motion.custom(Box.WithoutConfig);\nexport const MotionFlex = motion.custom(Flex.WithoutConfig);","import React from 'react';\nimport { Box } from '../Box';\nimport { useViewportScroll, useTransform } from 'framer-motion';\nimport { MotionBox } from './MotionBox';\n\n\nexport const ParallaxBox = ({\n as = MotionBox, \n children,\n easing = [0.42, 0, 0.58, 1],\n ...rest }) => {\n\n const [elementTop, setElementTop] = React.useState(0);\n\n const ref = React.useRef(null);\n const { scrollY } = useViewportScroll();\n \n\n React.useEffect(() => {\n if (!ref.current) return;\n const setValues = () => {\n setElementTop(ref.current.offsetTop);\n };\n \n setValues();\n\n document.addEventListener(\"load\", setValues);\n window.addEventListener(\"resize\", setValues);\n\n return () => {\n document.removeEventListener(\"load\", setValues);\n window.removeEventListener(\"resize\", setValues);\n };\n\n }, [ref]);\n\n const transformInitialValue = elementTop - 1; \n const transformFinalValue = elementTop + 1;\n const yRange = [transformInitialValue, transformFinalValue];\n\n const y = useTransform(scrollY, yRange, [0, -1], {\n clamp: false,\n easing\n });\n return {children}\n}","import React from 'react';\nimport { Box } from '../Box';\nimport { MotionBox } from './MotionBox';\nimport { useIntersection } from \"react-use\";\n\nconst defaultHidden = {\n opacity: 0,\n};\n\nconst defaultVisible = {\n opacity: 1,\n};\nexport const RevealBox = React.forwardRef(({\n delayOrder,\n duration = 0.4,\n easing = [0.42, 0, 0.58, 1],\n children,\n threshold = 0.04,\n hidden = defaultHidden,\n visible = defaultVisible,\n reset = false, // if value set to true - element will reappear every time it shows up on the screen\n ...rest\n}, ref) => {\n\n\n const [inView, setInView] = React.useState(false);\n const intersectionRef = React.useRef(null);\n const intersection = useIntersection(intersectionRef, {\n threshold\n });\n\n React.useEffect(() => {\n const inViewNow = intersection && intersection.intersectionRatio > 0;\n if (inViewNow) {\n return setInView(inViewNow);\n } else if (reset) {\n return setInView(false);\n }\n }, [intersection, reset]);\n\n\n const transition = React.useMemo(\n () => ({\n duration,\n delay: delayOrder / 5,\n ease: easing\n }),\n [duration, delayOrder, easing]\n );\n\n const variants = {\n hidden: {\n ...hidden,\n transition\n },\n show: {\n ...visible,\n transition\n }\n };\n\n \n\n return (\n \n {children}\n \n \n );\n});","import React, { forwardRef, useContext, cloneElement } from 'react';\nimport { AccordionContext } from './AccordionContext';\nimport { getVariant, getSystemProps } from '../../core';\nimport { MotionBox } from '../Animation';\nimport { Box } from '../Box';\n\n\nconst PanelHeaderBaseStyle = {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n borderBottom: '2px solid',\n borderColor: 'gray300',\n marginBottom: '-1px',\n backgroundColor: 'transparent',\n py: ['medium', null, 'large'],\n px: 0\n};\n\nexport const AccordionPanel = forwardRef(\n (\n {\n children,\n header,\n title,\n variant,\n key,\n sx,\n animationTransition = { ease: \"easeInOut\", duration: 0.3 },\n ...rest\n },\n ref,\n ) => {\n\n const { active, variant: variantAccordion, onPanelChange } = useContext(AccordionContext);\n\n\n const motionVariantsContent = {\n active: {\n height:\"unset\",\n display:\"block\",\n transition: animationTransition\n },\n inactive: {\n height:\"0px\",\n transitionEnd: {\n display: \"none\",\n },\n }\n }\n\n if (variant === undefined) {\n variant = variantAccordion;\n }\n\n return (\n \n\n \n {typeof title === 'string' ?\n (\n \n {title}\n \n ) :\n cloneElement(title, { __css: PanelHeaderBaseStyle, className:'vf-accordion-panel__title' })\n }\n \n\n\n \n \n\n {children}\n \n \n\n \n );\n\n\n\n });","import React from 'react';\nimport {Box} from '../Box';\n\nexport const Anchor = React.forwardRef(({\n variant = \"anchor.default\",\n ...rest\n }, ref) => {\n\n return \n\n});","\nimport React, { forwardRef, Children, cloneElement, Fragment } from \"react\";\nimport { Box } from '../Box';\nimport { getVariant, getSystemProps } from \"../../core\";\n\n\n\nconst renderBreadcrumbItems = (children, variant, separator) => Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n\n const childrenCount = Children.count(children);\n const isLastItem = childrenCount === index + 1;\n\n return (\n {child}\n {isLastItem || (\n typeof separator === 'string'\n ?\n ({separator})\n :\n cloneElement(separator, { className: 'vf-breadcrumb__separator', variant: getVariant([variant, 'separator']) })\n )}\n );\n })\n\nexport const Breadcrumb = forwardRef(({\n variant = 'breadcrumb.default',\n children,\n separator = '/',\n sx,\n ...rest\n}, ref) => {\n\n const items = renderBreadcrumbItems(children, variant, separator);\n\n return (\n \n {items}\n \n );\n\n\n});","\nimport React from \"react\";\nimport { Box } from '../Box';\nimport { getVariant } from \"../../core\";\n\nexport const BreadcrumbItem = React.forwardRef(({\n variant='breadcrumb.default',\n children,\n href,\n active,\n as = 'a',\n key,\n ...rest\n}, ref) => {\n \n return (\n \n {children}\n \n );\n\n\n});","import styled from \"styled-components\";\nimport { css } from \"@styled-system/css\";\nimport { flexbox, color, space, typography, compose, background, position, shadow, border, variant as StyledVariant, buttonStyle, width, height, display } from \"styled-system\";\nimport { sx, base, variant } from \"../../core\";\n\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nconst fillVariants = StyledVariant({\n scale: 'buttons.fill',\n prop: 'fill',\n variants: {\n primary: {\n }\n }\n});\n\nconst sizeVariants = StyledVariant({\n scale: 'buttons.size',\n prop: 'size',\n variants: {\n medium: {\n }\n }\n});\n\nconst outlineVariants = StyledVariant({\n scale: 'buttons.outline',\n prop: 'outline',\n variants: {\n primary: {\n }\n }\n})\n\n\n export const Button = styled('button').withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return defaultValidatorFn(prop) && ![...systemProps, \"fill\", \"outline\"].includes(prop);}\n })`\n\n display: inline-flex;\n align-items: center;\n flex-direction: row;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n font: inherit;\n text-decoration: none;\n margin: 0;\n background: transparent;\n overflow: visible;\n text-transform: none;\n border-style: solid;\n ${css({\n borderRadius: 'small'\n })}\n\n ${ ({stretch}) => stretch && {\n '&::after': {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1,\n pointerEvents: 'auto',\n content: '\"\"',\n backgroundColor: '#0000',\n },\n }\n }\n \n ${buttonStyle}\n ${fillVariants}\n ${outlineVariants}\n ${sizeVariants}\n ${variant}\n ${base}\n ${sx}\n ${compose(\n width,\n height,\n display,\n space,\n color,\n typography,\n flexbox,\n background,\n border,\n position,\n shadow\n )}\n\n\n &:disabled {\n cursor: not-allowed;\n pointer-events: all;\n }\n\n`;\n\nButton.defaultProps = {\n fill: 'primary',\n size: 'medium',\n}\nexport default Button;\n","import React from 'react';\nimport {Button} from './Button';\n\n\nconst Link = ({href, children, ...rest}) => {\n return ;\n};\n\n\nexport default Link;","import React, { forwardRef, useContext, createContext, useMemo, useRef, useState, useEffect } from 'react';\nimport { Box } from '../Box';\nimport { ThemeContext } from 'styled-components';\nimport ReactDOM from 'react-dom'\nimport { parseMetricToNum, findScrollParents, setFocusWithoutScroll, findVisibleParent, getNewContainer } from '../../core';\n\nconst PortalContext = createContext(undefined);\nconst ContainerTargetContext = React.createContext(\n typeof document === 'object' ? document.body : undefined,\n);\n\nconst getTransformOriginStyle = align => {\n let vertical = 'top';\n if (align.bottom) {\n vertical = 'bottom';\n }\n let horizontal = 'left';\n if (align.right) {\n horizontal = 'right';\n }\n return `${vertical} ${horizontal}`;\n}\n\n\nexport const DropContent = forwardRef(({ children, alignProp = { bottom: true, right: true }, ...rest }, ref) => {\n\n return \n {children}\n \n\n\n})\n\n\n\nexport const DropContainer = forwardRef((\n {\n align = {\n top: 'top',\n left: 'left',\n },\n children,\n dropTarget,\n onClickOutside,\n // onEsc,\n // onKeyDown,\n plain, // Whether the drop element should have no background nor shadow\n responsive, // Whether the drop element should have no background nor shadow\n restrictFocus, // Whether the drop should control focus\n stretch = true,\n sx,\n ...rest\n },\n ref,\n) => {\n\n const theme = useContext(ThemeContext) || {};\n const portalContext = useContext(PortalContext) || [];\n const portalId = useMemo(() => portalContext.length, [portalContext]);\n const nextPortalContext = useMemo(() => [...portalContext, portalId], [\n portalContext,\n portalId,\n ]);\n const dropRef = useRef();\n useEffect(() => {\n // We try to preserve the maxHeight as changing it causes any scroll\n // position to be lost. We set the maxHeight on mount and if the window\n // is resized.\n const place = preserveHeight => {\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const target = dropTarget;\n const container = (ref || dropRef).current;\n if (container && target) {\n // clear prior styling\n container.style.left = '';\n container.style.top = '';\n container.style.bottom = '';\n container.style.width = '';\n if (!preserveHeight) {\n container.style.maxHeight = '';\n }\n // get bounds\n const targetRect = findVisibleParent(target).getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n // determine width\n const width = Math.min(\n stretch\n ? Math.max(targetRect.width, containerRect.width)\n : containerRect.width,\n windowWidth,\n );\n // set left position\n let left;\n if (align.left) {\n if (align.left === 'left') {\n ({ left } = targetRect);\n } else if (align.left === 'right') {\n left = targetRect.left + targetRect.width;\n }\n } else if (align.right) {\n if (align.right === 'left') {\n left = targetRect.left - width;\n } else if (align.right === 'right') {\n left = targetRect.left + targetRect.width - width;\n }\n } else {\n left = targetRect.left + targetRect.width / 2 - width / 2;\n }\n if (left + width > windowWidth) {\n left -= left + width - windowWidth;\n } else if (left < 0) {\n left = 0;\n }\n // set top or bottom position\n let top;\n let bottom;\n let maxHeight = containerRect.height;\n if (align.top) {\n if (align.top === 'top') {\n ({ top } = targetRect);\n } else {\n top = targetRect.bottom;\n }\n\n // Calculate visible area underneath the control w.r.t window height\n const percentVisibleAreaBelow =\n 100 - (targetRect.bottom / windowHeight) * 100;\n\n // Check whether it is within 20% from bottom of the window or\n // visible area to flip the control\n // DropContainer doesn't fit well within visible area when\n // percentVisibleAreaBelow value<=20%\n // There is enough space from DropContainer to bottom of the window\n // when percentVisibleAreaBelow>20%.\n\n if (windowHeight === top || percentVisibleAreaBelow <= 20) {\n // We need more room than we have.\n // We put it below, but there's more room above, put it above\n top = '';\n if (align.top === 'bottom') {\n bottom = targetRect.top;\n } else {\n ({ bottom } = targetRect);\n }\n maxHeight = bottom;\n container.style.maxHeight = `${maxHeight}px`;\n } else if (top > 0) {\n maxHeight = windowHeight - top;\n container.style.maxHeight = `${maxHeight}px`;\n } else {\n maxHeight = windowHeight - top;\n }\n } else if (align.bottom) {\n if (align.bottom === 'bottom') {\n ({ bottom } = targetRect);\n } else {\n bottom = targetRect.top;\n }\n maxHeight = bottom;\n container.style.maxHeight = `${maxHeight}px`;\n } else {\n // center\n top =\n targetRect.top + targetRect.height / 2 - containerRect.height / 2;\n maxHeight = windowHeight - top;\n }\n // if we can't fit it all, or we're rather close,\n // see if there's more room the other direction\n if (\n responsive &&\n (containerRect.height > maxHeight || maxHeight < windowHeight / 10)\n ) {\n // We need more room than we have.\n if (align.top && top > windowHeight / 2) {\n // We put it below, but there's more room above, put it above\n top = '';\n if (align.top === 'bottom') {\n // top = Math.max(targetRect.top - containerRect.height, 0);\n // maxHeight = targetRect.top - top;\n bottom = targetRect.top;\n } else {\n // top = Math.max(targetRect.bottom - containerRect.height, 0);\n // maxHeight = targetRect.bottom - top;\n ({ bottom } = targetRect);\n }\n maxHeight = bottom;\n } else if (align.bottom && maxHeight < windowHeight / 2) {\n // We put it above but there's more room below, put it below\n bottom = '';\n if (align.bottom === 'bottom') {\n ({ top } = targetRect);\n } else {\n top = targetRect.bottom;\n }\n maxHeight = windowHeight - top;\n }\n }\n container.style.left = `${left}px`;\n if (stretch) {\n // offset width by 0.1 to avoid a bug in ie11 that\n // unnecessarily wraps the text if width is the same\n // NOTE: turned off for now\n container.style.width = `${width + 0.1}px`;\n }\n // the (position:absolute + scrollTop)\n // is presenting issues with desktop scroll flickering\n if (top !== '') {\n container.style.top = `${top}px`;\n }\n if (bottom !== '') {\n container.style.bottom = `${windowHeight - bottom}px`;\n }\n if (!preserveHeight) {\n if (theme.drop && theme.drop.maxHeight) {\n maxHeight = Math.min(\n maxHeight,\n parseMetricToNum(theme.drop.maxHeight),\n );\n }\n container.style.maxHeight = `${maxHeight}px`;\n }\n }\n };\n\n let scrollParents;\n\n const addScrollListeners = () => {\n scrollParents = findScrollParents(dropTarget);\n scrollParents.forEach(scrollParent =>\n scrollParent.addEventListener('scroll', place),\n );\n };\n\n const removeScrollListeners = () => {\n scrollParents.forEach(scrollParent =>\n scrollParent.removeEventListener('scroll', place),\n );\n scrollParents = [];\n };\n\n const onClickDocument = event => {\n // determine which portal id the target is in, if any\n let clickedPortalId = null;\n let node = event.target;\n while (clickedPortalId === null && node !== document) {\n const attr = node.getAttribute('data-g-portal-id');\n if (attr !== null) clickedPortalId = parseInt(attr, 10);\n node = node.parentNode;\n }\n if (\n clickedPortalId === null ||\n portalContext.indexOf(clickedPortalId) !== -1\n ) {\n onClickOutside(event);\n }\n };\n\n const onResize = () => {\n removeScrollListeners();\n addScrollListeners();\n place(false);\n };\n\n addScrollListeners();\n window.addEventListener('resize', onResize);\n if (onClickOutside) {\n document.addEventListener('mousedown', onClickDocument);\n }\n\n place(false);\n\n\n return () => {\n removeScrollListeners();\n window.removeEventListener('resize', onResize);\n if (onClickOutside) {\n document.removeEventListener('mousedown', onClickDocument);\n }\n };\n }, [\n align,\n dropTarget,\n onClickOutside,\n portalContext,\n portalId,\n ref,\n responsive,\n restrictFocus,\n stretch,\n theme.drop,\n ]);\n\n useEffect(() => {\n if (restrictFocus) {\n (ref || dropRef).current.focus();\n }\n }, [ref, restrictFocus]);\n\n let content = (\n \n {children}\n \n );\n\n return (\n \n {/* \n {\n event.stopPropagation();\n onEsc(event);\n }\n : undefined\n }\n onKeyDown={onKeyDown}\n target=\"document\"\n > */}\n {content}\n {/* \n */}\n \n );\n});\n\n\nexport const Drop = forwardRef(\n (\n {\n restrictFocus,\n target: dropTarget, // avoid DOM leakage\n sx,\n ...rest\n },\n ref,\n ) => {\n const theme = useContext(ThemeContext) || {};\n const [originalFocusedElement, setOriginalFocusedElement] = useState();\n useEffect(() => setOriginalFocusedElement(document.activeElement), []);\n const [dropContainer, setDropContainer] = useState();\n const containerTarget = useContext(ContainerTargetContext);\n useEffect(() => setDropContainer(getNewContainer(containerTarget)), [\n containerTarget,\n ]);\n\n // just a few things to clean up when the Drop is unmounted\n useEffect(\n () => () => {\n if (restrictFocus && originalFocusedElement) {\n if (originalFocusedElement.focus) {\n setFocusWithoutScroll(originalFocusedElement);\n } else if (\n originalFocusedElement.parentNode &&\n originalFocusedElement.parentNode.focus\n ) {\n // required for IE11 and Edge\n setFocusWithoutScroll(originalFocusedElement.parentNode);\n }\n }\n if (dropContainer) {\n containerTarget.removeChild(dropContainer);\n }\n },\n [containerTarget, dropContainer, originalFocusedElement, restrictFocus],\n );\n\n return dropContainer\n ? ReactDOM.createPortal(\n ,\n dropContainer,\n )\n : null;\n\n },\n);","import React from 'react';\nimport {Box} from '../Box';\nimport { getVariant } from '../../core';\n\n\nexport const Footer = ({variant='footer',children, ...rest}) => {\n return (\n \n {children}\n \n )\n}","import React from \"react\";\nimport iconSet from '../selection.json';\nexport const VactoryIconContext = React.createContext(iconSet);\n\nexport const VactoryIconProvider = VactoryIconContext.Provider;\nexport const VactoryIconConsumer = VactoryIconContext.Consumer;\n\nexport const useVactoryIcon = () => React.useContext(VactoryIconContext);\n","import React from 'react'\nimport IcoMoon from \"react-icomoon\";\nimport styled from \"styled-components\";\nimport {size, color, space} from \"styled-system\";\nimport shouldForwardProp from '@styled-system/should-forward-prop';\nimport {sx, base} from \"../../core\";\nimport {useVactoryIcon} from \"./context\"\nimport iconSet from './selection.json';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nexport {iconSet}\n\nexport const mergeIcons = (source, target) => {\n return {\n ...source,\n icons: source.icons.concat(target.icons)\n }\n};\n\nexport const WrapperIcon = ({...rest}) => {\n const icons = useVactoryIcon();\n\n return \n};\n\nexport const Icon = styled(WrapperIcon).withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return !['sx', '__css', ...systemProps].includes(prop);}\n }).attrs(props => ({\n removeInlineStyle: true,\n icon: props.name || props.icon,\n}))\n `\n display: inline-block;\n stroke: currentcolor;\n fill: currentcolor;\n ${color}\n ${size}\n ${space}\n ${base}\n ${sx}\n `;\n\nexport default Icon;\n","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport {getSystemProps} from '../../core';\n\nconst SVG = ({ size = 24, ...props }) =>\n \n\nconst CheckboxChecked = props =>\n \n\nconst CheckboxUnchecked = props =>\n \n\nconst CheckboxIcon = ({iconName ,checkedIconName, uncheckedIconName, size = '24px' , ...props }) =>\n{ \n return (\n {\n (iconName || checkedIconName) ? :\n \n }\n {\n (iconName || uncheckedIconName) ? :\n \n\n }\n\n\n\n )}\n\n\n\nexport const Checkbox = forwardRef(({\n className,\n sx,\n iconName,\n checkedIconName,\n uncheckedIconName,\n variant,\n ...props }, ref) => {\n return (\n \n \n \n \n )});","import React from 'react';\nimport styled from 'styled-components';\nimport { color, typography, background, border, position, shadow, variant as StyledVariant, compose, width, height, display, padding } from 'styled-system';\n\nimport { sx, variant, getLayoutProps, getMarginProps } from \"../../core\";\nimport { Flex } from '../Box';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nconst variantVariants = StyledVariant({\n scale: 'inputs.variants',\n prop: 'variant',\n variants: {\n primary: {\n\n }\n }\n});\nconst variantStatus = StyledVariant({\n scale: 'inputs.status',\n prop: 'status',\n variants: {\n primary: {\n\n }\n }\n});\n\nconst variantSizes = StyledVariant({\n scale: 'inputs.sizes',\n prop: 'size',\n variants: {\n medium: {\n padding: 'xsmall',\n fontSize: '16px',\n lineHeight: '24px'\n }\n }\n});\n\n\nconst StyledInput = styled('input').withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return defaultValidatorFn(prop) && ![...systemProps].includes(prop);}\n })`\n display: block;\n padding: 2px;\n appearance: none;\n font-size: inherit;\n line-height: inherit;\n border: 1px solid;\n color: inherit;\n background: transparent;\n width: auto;\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px;\n }\n\n ${variantVariants}\n ${variantStatus}\n ${variantSizes}\n\n\n ${variant}\n ${sx}\n ${compose(\n padding,\n color,\n typography,\n background,\n border,\n position,\n shadow,\n width,\n height,\n display,\n )}\n`;\n\nStyledInput.defaultProps = {\n type: 'text',\n variant: 'default',\n size: 'medium'\n}\n\n\nexport const Input = React.forwardRef(({as,size,reverse, ...props}, ref) => {\n\n\n return (\n \n {props.icon && \n\n \n {props.icon}\n \n }\n \n \n\n );\n})\n\nInput.defaultProps = {\n as: 'input',\n type: 'text',\n variant: 'default',\n size: 'medium'\n}\n\n\nexport default Input;","import React from 'react';\nimport {Flex} from '../Box'\n\n\nexport const Label = ({children, variant, ...props}) => {\n return \n {children}\n \n}","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\nimport { Icon } from '../Icon';\n\nconst RadioProps = [\n ...systemProps,\n 'sx',\n 'variant',\n 'iconName',\n 'checkedIconName',\n 'uncheckedIconName'\n\n];\n\nconst PRE = new RegExp(`^(${RadioProps.join('|')})$`);\nconst getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\nconst getSystemProps = getProps(k => PRE.test(k));\n\n\n\nconst SVG = ({ size, ...props }) =>\n \n\nconst RadioChecked = props =>\n \n\nconst RadioUnchecked = props =>\n \n\n\nconst RadioIcon = ({iconName ,checkedIconName, uncheckedIconName, size = '24px' , ...props }) =>\n{ \n return (\n {\n (iconName || checkedIconName) ? :\n \n }\n {\n (iconName || uncheckedIconName) ? :\n \n\n }\n\n\n\n )}\n \n\n\nexport const Radio = forwardRef(({\n className,\n sx,\n variant,\n ...props }, ref) => (\n \n \n \n \n ));","import React, { forwardRef, useRef } from 'react';\nimport styled, {css} from 'styled-components';\nimport {variant} from 'styled-system';\nimport { Box, Flex } from '../Box';\nimport { getMarginProps, omitMarginProps, getLayoutProps } from '../../core';\n\n\nconst DownArrow = ({size = 24, ...rest}) => (\n \n)\n\n\nconst SelectIcon = ({ icon }) => {\n return \n {icon || }\n ;\n};\n\nconst StyledSelectBox = styled(Box)(\n variant({\n prop: 'state',\n scale: 'select.states',\n variants: {\n default: {\n borderColor: 'primary',\n ':focus': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.primary}`}`,\n }, \n },\n danger: {\n borderColor: 'danger',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.danger}`}`,\n },\n },\n success: {\n borderColor: 'success',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.success}`}`,\n }\n },\n info: {\n borderColor: 'info',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.info}`}`,\n }\n },\n }\n })\n);\n\nconst Select = forwardRef(({ variant, children, options, ...props }, ref) => {\n const {icon} = props;\n const selectRef = ref || useRef();\n\n return \n \n\n { options\n ? Object.entries(options).map( ([option, attrs], i) => (\n \n ) )\n : children\n }\n\n \n \n\n \n});\n\nSelect.Option = ({ children, ...props }) => ;\n\nexport { Select };","import { createGlobalStyle } from \"styled-components\";\n\n\nexport const GlobalStyle = createGlobalStyle`\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n body, h1, h2, h3, h4, h5, h6, p, ol, ul {\n margin: 0;\n padding: 0;\n font-weight: normal;\n }\n\n ol, ul {\n list-style: none;\n }\n\n\n html, body {\n font-family: ${({ theme }) => theme.fonts.sans};\n font-size: ${({ theme }) => theme.fontSizes.body};;\n box-sizing: border-box;\n\n -webkit-font-smoothing: antialiased;\n }\n\n`;\n\nexport default GlobalStyle;","export const DEFAULT_CONFIG = {\n gridSize: 12,\n gutterWidth: 16,\n outerMargin: 8,\n container: {\n sm: '540px', \n md: '720px', \n lg: '960px', \n xl: '1140px',\n }\n};","import { DEFAULT_CONFIG } from \"./config\";\nimport {stripUnit} from 'polished';\n\n// Name of the grid-system config in theme object\nconst THEME_CONF = 'gridSystem';\n\n// Array to store the merged grid-system config\nconst configCache = [];\n\n// Generate a config ID\nconst generateConfigCacheId = (theme) => JSON.stringify((theme && theme[THEME_CONF]) || {});\n\n\n// Merge default config with global grid-system config\nconst resolveConfig = (theme) => {\n const themeConf = (theme && theme[THEME_CONF]) || {}\n const conf = {\n ...DEFAULT_CONFIG,\n ...themeConf,\n container: {\n ...DEFAULT_CONFIG.container,\n ...themeConf.container\n },\n }\n return conf;\n};\n\n// get grid-system config\nconst getConfig = ({theme}) => {\n const cacheId = generateConfigCacheId(theme);\n if (configCache[0] === cacheId) {\n return configCache[1]\n }\n const conf = resolveConfig(theme);\n configCache[0] = cacheId\n configCache[1] = conf\n return conf;\n};\n\n// sort breakpoint names from props\nexport const sortBreakpointProps = (props) => {\n const propsArr = Object.keys(props);\n const breakpointNames = Object.keys(props.theme.breakpoints);\n const breakpoints = propsArr.filter(_prop => ~breakpointNames.indexOf(_prop));\n const sortedBreakpoints = breakpoints.sort((bp1, bp2) => {\n const valueBp1 = stripUnit(props.theme.breakpoints[bp1]);\n const valueBp2 = stripUnit(props.theme.breakpoints[bp2]);\n return valueBp1 - valueBp2\n });\n return sortedBreakpoints;\n};\n\nexport const getGridSize = (props) => {\n return getConfig(props).gridSize;\n};\n\nexport const getGutterWidth = (props) => {\n return getConfig(props).gutterWidth;\n};\n\nexport const getOuterMargin = (props) => {\n return getConfig(props).outerMargin;\n};\n\nexport const getContainer = (props) => {\n return (breakpoint) => getConfig(props).container[breakpoint];\n}\n\n\n\n\n","import React from 'react';\nimport styled, {css} from 'styled-components';\nimport {getOuterMargin, getContainer} from '../helpers';\nimport {greaterThan} from '../../../core';\nimport {Box} from '../../Box';\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst generateMediaforContainer = props => {\n const breakpointsName = Object.keys(props.theme.breakpoints);\n if(!props.fluid) {\n return css`\n ${breakpointsName.map(breakpoint => {\n if(getContainer(props)(breakpoint)) {\n return greaterThan(breakpoint)`\n max-width: ${(props) => getContainer(props)(breakpoint)};\n `\n } else {\n return null;\n }\n })}\n `;\n\n }\n};\n\nconst StyledContainer = styled.div`\n box-sizing: border-box;\n margin-right: auto;\n margin-left: auto;\n padding-left: ${props => getOuterMargin(props)}px;\n padding-right: ${props => getOuterMargin(props)}px;\n width: 100%;\n ${generateMediaforContainer}\n ${compose(space, layout, flexbox)}\n`;\n\nconst Container = ({fluid = false, ...rest}) => {\n return \n}\n\nContainer.defaultProps = {\n fluid: false\n};\n\n\nexport default Container;","import React from 'react';\nimport styled from 'styled-components';\nimport {getOuterMargin} from '../helpers';\nimport {Box} from '../../Box';\n\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst StyledRow = styled.div`\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-wrap: wrap;\n margin-right: ${props => getOuterMargin(props) * -1}px;\n margin-left: ${props => getOuterMargin(props) * -1}px;\n ${compose(space, layout, flexbox)}\n`;\n\nconst Row = props => \n\nexport default Row;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { sortBreakpointProps, getGridSize, getGutterWidth } from \"../helpers\";\nimport { greaterThan } from \"../../../core\";\nimport { Box } from \"../../Box\";\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst generateMediaForCol = (props) => {\n return sortBreakpointProps(props).map((bp) => {\n return greaterThan(bp)`\n ${\n props[bp] >= 0\n ? `\n flex-basis: ${(100 / getGridSize(props)) * props[bp]}%;\n max-width: ${(100 / getGridSize(props)) * props[bp]}%;\n display: block;\n `\n : props[bp]\n ? `\n flex-grow: 1;\n flex-basis: 0;\n max-width: 100%;\n display: block;\n `\n : `\n display: none;\n `\n }\n `;\n });\n};\n\nconst StyledCol = styled.div`\n box-sizing: border-box;\n flex: 0 0 auto;\n padding-right: ${(props) => getGutterWidth(props) / 2}px;\n padding-left: ${(props) => getGutterWidth(props) / 2}px;\n flex-grow: 1;\n flex-basis:0;\n max-width: 100%;\n ${(p) =>\n p.reverse &&\n `\n flex-direction: column-reverse;\n `}\n ${generateMediaForCol}\n ${compose(space, layout, flexbox)}\n \n`;\n\nconst Col = (props) => ;\n\nexport default Col;\n","import React from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\nimport Headroom from 'react-headroom';\n\nexport const Header = React.forwardRef(({\n fixed = false,\n sticky = false,\n variant = 'header',\n stickyOptions = {},\n\n children,\n ...rest }, ref) => {\n\n let fixedStyle = {};\n if (fixed) {\n fixedStyle = {\n position: 'fixed',\n top: '0px',\n left: '0px',\n right: '0px',\n }\n }\n const Wrapper = sticky ? Headroom : 'div';\n return (\n \n \n {children}\n \n \n\n );\n});","import React, {forwardRef} from 'react';\nimport {Box} from '../Box';\n\nexport const Image = forwardRef((props, ref) => \n)","\nimport React, { forwardRef, Children, cloneElement, Fragment } from \"react\";\nimport {Box, } from '../Box';\nimport { getSystemProps } from \"../../core\";\n\nexport const Navs = forwardRef(({\n variant= \"navs\",\n children,\n sx,\n ...rest\n}, ref)=> {\n\n const navs = Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n\n const nav = cloneElement(child, {\n variant: child.props.variant || variant,\n })\n\n return (\n {nav}\n )\n })\n\n\n return (\n \n {navs}\n \n );\n\n\n});","import React from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\n\n\nexport const Nav = React.forwardRef(({\n variant = 'navs',\n children,\n href,\n active = false,\n as = 'a',\n key,\n ...rest\n}, ref) => {\n\n return (\n \n {children}\n \n );\n\n\n});","import React, { useContext } from 'react';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport RCPagination from 'rc-pagination';\nimport frFR from 'rc-pagination/lib/locale/fr_FR';\nimport { get } from 'styled-system';\nimport { ThemeContext } from 'styled-components';\n\nconst PaginationPageButton = (props) => \n {props.children}\n\n\n\nconst PaginationPrevNextButton = (props) => \n {props.children}\n\n\n\nconst PaginationJumpButton = (props) => \n {props.children}\n\n\n\nconst itemRender = (current, type, element) => {\n if (type === 'page') {\n return {current};\n }\n if (type === 'prev') {\n return ;\n }\n if (type === 'next') {\n return ;\n }\n if (type === 'jump-prev') {\n return ;\n }\n if (type === 'jump-next') {\n return ;\n }\n return element;\n};\n\n\nexport const Pagination = ({\n sx,\n ...props\n}) => {\n const theme = useContext(ThemeContext);\n return (\n input' : {\n display: 'inline-block',\n padding: '2px',\n appearance: 'none',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n border: '1px solid',\n color: 'inherit',\n background: 'transparent',\n mx: '8px',\n ...get(theme, 'inputs.variants.default', {}),\n ...get(theme, 'inputs.sizes.medium', {})\n }\n }} as={RCPagination} locale={frFR} {...props} sx={sx} itemRender={itemRender} />\n );\n}","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\nexport const Tab = forwardRef((\n { title,\n index,\n isActive,\n onClickTab,\n variant = 'tabs',\n header,\n sx,\n ...props\n },\n ref\n) => {\n \n const handleOnClickTab = event => {\n if (event) {\n event.preventDefault();\n }\n onClickTab();\n };\n\n return (\n \n {title}\n \n );\n})","import React, { useState, Children, cloneElement, forwardRef, useRef, useEffect } from \"react\";\n\nimport { Box, Flex } from '../Box';\nimport { getVariant } from \"../../core\";\nimport { MotionBox } from '../Animation'\nimport { useAnimation } from \"framer-motion\";\n\nexport const Tabs = forwardRef(({\n children,\n theme,\n activeTab: propsActiveKey,\n sx,\n variant = 'tabs',\n showBar = false,\n onChange, // Callback executed when active tab is changed\n onTabClick, // Callback executed when tab is clicked\n onNextClick, //Callback executed when next button is clicked\n onPrevClick, // Callback executed when prev button is clicked\n\n ...rest\n\n}, ref) => {\n\n\n const [activeKey, setActiveKey] = useState(rest.activeTab || 0);\n\n const tabRefs = [];\n\n const headerAnimationCtrls = useAnimation();\n const inkBarAnimationCtrls = useAnimation();\n const motionVariantsContent = {\n active: {\n opacity: [0, 1],\n }\n }\n\n const headerTabRef = useRef(null);\n\n const animateInkBar = (key) => {\n const currentTabBCR = tabRefs[key].current.getBoundingClientRect();\n const headerTabBCR = headerTabRef.current.getBoundingClientRect();\n\n inkBarAnimationCtrls.start({\n left: (currentTabBCR.x - headerTabBCR.x),\n width: currentTabBCR.width,\n })\n }\n\n if (activeKey !== propsActiveKey && propsActiveKey !== undefined) {\n setActiveKey(propsActiveKey);\n }\n\n useEffect(() => {\n if(showBar){\n animateInkBar(activeKey);\n }\n }, [activeKey, showBar]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleClickTab = key => {\n headerAnimationCtrls.start('active');\n\n if (propsActiveKey === undefined) {\n setActiveKey(key)\n }\n if (onTabClick) {\n onTabClick(key)\n }\n if (onChange && activeKey !== key) {\n onChange(key)\n }\n if (onNextClick && activeKey + 1 === key) {\n onNextClick()\n }\n if (onPrevClick && activeKey - 1 === key) {\n onPrevClick()\n }\n }\n\n delete rest.activeIndex;\n delete rest.onActive;\n\n let activeContent;\n\n\n const tabs = Children.map(\n children,\n (tab, index) => {\n if (!tab) return undefined;\n const tabProps = tab.props || {};\n const isTabActive = index === activeKey;\n\n const ref = useRef();\n const key = tab.props.tabKey || index;\n tabRefs[key] = ref;\n\n if (isTabActive) {\n activeContent = tabProps.children;\n }\n return cloneElement(tab, {\n index,\n isActive: isTabActive,\n variant,\n onClickTab: () => handleClickTab(key),\n ref\n });\n }\n );\n\n\n\n return (\n \n\n \n {tabs}\n {showBar &&\n }\n \n\n \n \n {activeContent}\n \n \n \n );\n\n});","import React from 'react';\nimport { Box } from '../Box';\nimport { withTheme } from 'styled-components';\nimport { themeGet } from '@styled-system/theme-get';\n\nexport const Text = ({ children, as = 'p', ...rest }) => \n {children}\n\n\nexport const Paragraph = ({\n children,\n variant = \"paragraph.default\",\n ...rest\n}) => {\n\n return (\n \n {children}\n \n );\n}\n\nexport const Heading = withTheme(\n ({\n children,\n level = '1',\n variant = \"heading.default\",\n ...rest\n }) => {\n const variantName = themeGet(variant + '.h'+level)(rest) ? variant + '.h'+level : variant;\n return {children}\n }\n)\n\n\n\nexport default Text;\n\n\n","\nimport React, { forwardRef } from \"react\";\nimport {Box} from '../Box';\n\nconst List_ = ({horizontal, ordered, ...rest}, ref) => {\n\n return \n}\n\nexport const List = forwardRef(List_)","\nimport React, { forwardRef } from \"react\";\nimport {Box} from '../Box';\n\nconst Item_ = (props, ref) => {\n\n return \n}\n\nexport const Item = forwardRef(Item_)","import React, { useContext, forwardRef } from 'react';\nimport styled, { css, ThemeContext, keyframes } from 'styled-components';\nimport { themeGet } from '@styled-system/theme-get';\nimport { Box} from '../Box';\nimport { generateMedia } from '../../core';\n\n\nexport const StyledLayer = forwardRef(({variant='default', ...props}, ref) => {\n const theme = useContext(ThemeContext);\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)({theme});\n let mediaStyle = {};\n let hidenStyle = {};\n let boundsStyle = {\n position: 'fixed',\n top: '0px',\n left: '0px',\n right: '0px',\n bottom: '0px',\n };\n\n if (props.position === 'hidden') {\n hidenStyle = {\n left: '-100%',\n right: '100%',\n zIndex: '-1',\n position: 'fixed',\n };\n }\n\n if(props.targetBounds) {\n const { left, right, top, bottom } = props.targetBounds;\n boundsStyle = {\n position: 'fixed',\n top: `${top}px`,\n left: `${left}px`,\n right: `${right}px`,\n bottom: `${bottom}px`,\n }\n }\n\n if(props.responsive && responsiveBreakpoint) {\n mediaStyle[`@media (max-width: ${themeGet(`breakpoints.${responsiveBreakpoint}`, 0)({theme})} )`] = {\n position: 'absolute',\n width: '100%',\n height: '100%',\n minHeight: '100%',\n }\n }\n return (\n \n {props.children}\n \n );\n\n})\n\nexport const StyledOverlay = props => {\n const theme = useContext(ThemeContext);\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)({theme});\n let mediaStyle = {};\n if(props.responsive && responsiveBreakpoint) {\n mediaStyle[`@media (max-width: ${themeGet(`breakpoints.${responsiveBreakpoint}`, 0)({theme})} )`] = {\n position: 'relative',\n }\n }\n return (\n \n {props.children}\n \n );\n\n}\n\n\nconst parseMetricToNum = fontAsString => {\n if (fontAsString.match(/\\s/) && process.env.NODE_ENV !== 'production') {\n console.warn(`Invalid single measurement value: \"${fontAsString}\"`);\n }\n return parseFloat(fontAsString.match(/\\d+(\\.\\d+)?/), 10);\n };\n\nconst getMargin = (margin, theme, position) => {\n const axis =\n position.indexOf('top') !== -1 || position.indexOf('bottom') !== -1\n ? 'vertical'\n : 'horizontal';\n const marginValue = margin[position] || margin[axis] || margin;\n const marginApplied = theme.space[marginValue] || marginValue;\n const marginInTheme = !!theme.space[marginValue];\n\n return !marginInTheme && typeof marginValue !== 'string'\n ? 0\n : parseMetricToNum(marginApplied);\n };\n\nconst getBounds = (bounds, margin, theme, position = undefined) => {\n if (position) {\n return bounds[position] + getMargin(margin, theme, position);\n }\n return {\n bottom: bounds.bottom + getMargin(margin, theme, 'bottom'),\n // 'bottom-left': getMargin(margin, theme, 'bottom-left'),\n // 'bottom-right': getMargin(margin, theme, 'bottom-right'),\n end: bounds.right + getMargin(margin, theme, 'end'),\n left: bounds.left + getMargin(margin, theme, 'left'),\n right: bounds.right + getMargin(margin, theme, 'right'),\n start: bounds.left + getMargin(margin, theme, 'start'),\n top: bounds.top + getMargin(margin, theme, 'top'),\n // 'top-right': getMargin(margin, theme, 'top-right'),\n // 'top-left': getMargin(margin, theme, 'top-left'),\n };\n };\n\nconst KEYFRAMES = {\n center: {\n vertical: keyframes`\n 0% { transform: translateX(-50%) scale(0.8); }\n 100% { transform: translateX(-50%) scale(1); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(-50%) scale(0.8); }\n 100% { transform: translateY(-50) scale(1); }\n `,\n true: keyframes`\n 0% { transform: scale(0.8); }\n 100% { transform: scale(1); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, -50%) scale(0.8); }\n 100% { transform: translate(-50%, -50%) scale(1); }\n `,\n },\n top: {\n vertical: keyframes`\n 0% { transform: translate(-50%, -100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(-100%); }\n 100% { transform: translateY(0); }\n `,\n true: keyframes`\n 0% { transform: translateY(-100%); }\n 100% { transform: translateY(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, -100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n },\n bottom: {\n vertical: keyframes`\n 0% { transform: translate(-50%, 100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(100%); }\n 100% { transform: translateY(0); }\n `,\n true: keyframes`\n 0% { transform: translateY(100%); }\n 100% { transform: translateY(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, 100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n },\n left: {\n vertical: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n right: {\n vertical: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n start: {\n vertical: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n end: {\n vertical: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n};\n\nexport const animationDuration = 200;\n\nexport const getAnimationStyle = (props, position, full) => {\n let animation =\n props.animation !== undefined ? props.animation : props.animate;\n if (animation === undefined) animation = 'slide';\n let keys;\n if (animation === 'slide' || animation === true) {\n keys = KEYFRAMES[position][full];\n } else if (animation === 'fadeIn') {\n keys = keyframes`0% { opacity: 0 } 100% { opacity: 1 }`;\n }\n return keys\n ? css`\n animation: ${keys} ${animationDuration / 1000.0}s ease-in-out forwards;\n `\n : '';\n};\n\n const POSITIONS = {\n center: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translateX(-50%);\n ${props => getAnimationStyle(props, 'center', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translateY(-50%);\n ${props => getAnimationStyle(props, 'center', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n ${props => getAnimationStyle(props, 'center', 'true')}\n `,\n false: () => css`\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n ${props => getAnimationStyle(props, 'center', 'false')}\n `,\n },\n\n top: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0%);\n ${props => getAnimationStyle(props, 'top', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: ${bounds.top}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'top', 'false')}\n `,\n },\n\n bottom: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'bottom', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'bottom', 'false')}\n `,\n },\n\n left: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'left', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'left', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'left', 'true')}\n `,\n false: bounds => css`\n left: ${bounds.left}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'left', 'false')}\n `,\n },\n\n right: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'right', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'right', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'right', 'true')}\n `,\n false: bounds => css`\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'right', 'false')}\n `,\n },\n\n start: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'start', 'vertical')}\n `,\n horizontal: bounds => css`\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'start', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'start', 'true')}\n `,\n false: bounds => css`\n inset-inline-start: ${bounds.start}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'start', 'false')}\n `,\n },\n\n end: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'end', 'vertical')}\n `,\n horizontal: bounds => css`\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'end', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'end', 'true')}\n `,\n false: bounds => css`\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'end', 'false')}\n `,\n },\n\n 'top-right': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 0;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n },\n\n 'top-left': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 0;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')} \n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n left: ${bounds.left}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n },\n\n 'bottom-right': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n },\n\n 'bottom-left': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n },\n };\n\nexport const StyledContainer = styled.div.attrs({'data-s': 'StyledContainer'})`\n display: flex;\n min-height: ${themeGet('sizes.xsmall')};\n flex-direction: column;\n outline: none;\n align-items: baseline;\n pointer-events: all;\n z-index: ${themeGet('layer.container.zIndex')};\n\n position: ${props => (props.modal ? 'absolute' : 'fixed')};\n max-height: ${props => `calc(100% - ${getBounds(props.targetBounds, props.margin, props.theme, 'top', )}px - ${getBounds( props.targetBounds, props.margin,props.theme,'bottom',)}px)`};\n max-width: ${props => `calc(100% - ${getBounds( props.targetBounds,props.margin,props.theme,'left',)}px - ${getBounds( props.targetBounds, props.margin, props.theme,'right', )}px)`};\n border-radius: ${props => props.plain ? 0 : themeGet('layer.borderRadius', 0)};\n ${props => ( props.position !== 'hidden' && POSITIONS[props.position][props.full](getBounds(props.targetBounds, props.margin, props.theme), props.targetBounds,)) || ''};\n ${props => {\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)(props);\n if(props.responsive && responsiveBreakpoint) {\n return generateMedia(props).lessThan(responsiveBreakpoint)`\n position: relative;\n max-height: none;\n max-width: none;\n border-radius: 0;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n transform: none;\n animation: none;\n height: 100vh;\n width: 100vw;\n `\n } else {\n return null;\n }\n }}\n\n`;\n","\nimport React, { useEffect, useRef, useState } from 'react';\nimport { makeNodeFocusable, makeNodeUnfocusable, isNotAncestorOf, getBodyChildElements } from '../../core';\n\nexport const FocusedContainer = ({\n hidden = false,\n restrictScroll = false,\n children,\n ...rest\n}) => {\n const [bodyOverflowStyle, setBodyOverflowStyle] = useState('');\n const ref = useRef(null);\n\n useEffect(() => {\n const removeTrap = () => {\n const child = ref.current;\n getBodyChildElements()\n .filter(isNotAncestorOf(child))\n .forEach(makeNodeFocusable);\n if (restrictScroll) {\n document.body.style.overflow = bodyOverflowStyle;\n }\n };\n\n const trapFocus = () => {\n const child = ref.current;\n getBodyChildElements()\n .filter(isNotAncestorOf(child))\n .forEach(makeNodeUnfocusable);\n\n if (restrictScroll) {\n setBodyOverflowStyle(document.body.style.overflow);\n document.body.style.overflow = 'hidden';\n }\n };\n\n const timer = setTimeout(() => {\n if (!hidden) {\n trapFocus();\n }\n }, 0);\n\n return () => {\n removeTrap();\n clearTimeout(timer);\n };\n }, [hidden, bodyOverflowStyle, restrictScroll]);\n\n return (\n \n {children}\n
\n );\n};","import React, {\n forwardRef,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport styled, { ThemeContext } from 'styled-components';\nimport { StyledLayer, StyledContainer, StyledOverlay } from './StyledLayer';\nimport { FocusedContainer } from './FocusedContainer';\nimport { findVisibleParent } from '../../core';\n\nconst HiddenAnchor = styled.a`\n width: 0;\n height: 0;\n overflow: hidden;\n position: absolute;\n`;\n\n\nconst fullBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\nexport const LayerContainer = forwardRef(\n (\n {\n children,\n full = false,\n id,\n margin = 'none',\n modal = true,\n onClickOutside,\n onEsc,\n plain,\n position = 'center',\n responsive,\n target: layerTarget,\n ...rest\n },\n ref,\n ) => {\n\n const theme = useContext(ThemeContext);\n const [targetBounds, setTargetBounds] = useState(fullBounds);\n\n const anchorRef = useRef();\n const containerRef = useRef();\n const layerRef = useRef();\n\n useEffect(() => {\n if (position !== 'hidden') {\n const node = layerRef.current || containerRef.current || ref.current;\n if (node && node.scrollIntoView) node.scrollIntoView();\n // Once layer is open we make sure it has focus so that you\n // can start tabbing inside the layer. If the caller put focus\n // on an element already, we honor that. Otherwise, we put\n // the focus in the hidden anchor.\n let element = document.activeElement;\n while (element) {\n if (element === containerRef.current) {\n // already have focus inside the container\n break;\n }\n element = element.parentElement;\n }\n if (modal && !element && anchorRef.current) {\n anchorRef.current.focus();\n }\n }\n }, [modal, position, ref]);\n\n\n useEffect(() => {\n if (position !== 'hidden') {\n const node = layerRef.current || containerRef.current || ref.current;\n if (node && node.scrollIntoView) node.scrollIntoView();\n }\n }, [position, ref]);\n\n useEffect(() => {\n if (layerTarget) {\n const updateBounds = () => {\n const rect = findVisibleParent(layerTarget).getBoundingClientRect();\n setTargetBounds({\n left: rect.left,\n right: window.innerWidth - rect.right,\n top: rect.top,\n bottom: window.innerHeight - rect.bottom,\n });\n };\n\n updateBounds();\n window.addEventListener('resize', updateBounds);\n return () => window.removeEventListener('resize', updateBounds);\n }\n setTargetBounds(fullBounds);\n return undefined;\n }, [layerTarget]);\n\n\n let content = (\n \n {/* eslint-disable max-len */}\n {/* eslint-disable jsx-a11y/anchor-is-valid, jsx-a11y/anchor-has-content */}\n \n {/* eslint-enable jsx-a11y/anchor-is-valid, jsx-a11y/anchor-has-content */}\n {/* eslint-enable max-len */}\n {children}\n \n );\n\n if (modal) {\n content = (\n \n \n {content}\n \n );\n }\n\n if (onEsc) {\n // TODO enabled onEsc event\n console.warn(\"onEsc is not yet implemented\");\n }\n\n\n if (modal) {\n content = (\n \n {content}\n \n );\n }\n\n return content;\n\n }\n)","import React, { forwardRef, useContext, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { LayerContainer } from './LayerContainer';\nimport { getNewContainer } from '../../core';\nimport { animationDuration } from './StyledLayer';\n\nconst ContainerTargetContext = React.createContext(\n typeof document === 'object' ? document.body : undefined,\n);\n\nexport const Layer = forwardRef((props, ref) => {\n\n const { animate, animation } = props;\n const [originalFocusedElement, setOriginalFocusedElement] = useState();\n useEffect(() => setOriginalFocusedElement(document.activeElement), []);\n const [layerContainer, setLayerContainer] = useState();\n const containerTarget = useContext(ContainerTargetContext);\n useEffect(() => setLayerContainer(getNewContainer(containerTarget)), [\n containerTarget,\n ]);\n\n // just a few things to clean up when the Layer is unmounted\n useEffect(\n () => () => {\n if (originalFocusedElement) {\n if (originalFocusedElement.focus) {\n // wait for the fixed positioning to come back to normal\n // see layer styling for reference\n setTimeout(() => originalFocusedElement.focus(), 0);\n } else if (\n originalFocusedElement.parentNode &&\n originalFocusedElement.parentNode.focus\n ) {\n // required for IE11 and Edge\n originalFocusedElement.parentNode.focus();\n }\n }\n\n if (layerContainer) {\n const activeAnimation = animation !== undefined ? animation : animate;\n if (activeAnimation !== false) {\n // undefined uses 'slide' as the default\n // animate out and remove later\n const layerClone = layerContainer.cloneNode(true);\n layerClone.id = 'layerClone';\n\n containerTarget.appendChild(layerClone);\n const clonedContainer = layerClone.querySelector(\n '[data-s=\"StyledContainer\"]',\n );\n\n if (clonedContainer && clonedContainer.style) {\n clonedContainer.style.animationDirection = 'reverse';\n }\n setTimeout(() => {\n // we add the id and query here so the unit tests work\n const clone = document.getElementById('layerClone');\n if (clone) {\n containerTarget.removeChild(clone);\n layerContainer.remove();\n }\n }, animationDuration);\n } else {\n containerTarget.removeChild(layerContainer);\n }\n }\n },\n [\n animate,\n animation,\n containerTarget,\n layerContainer,\n originalFocusedElement,\n ],\n );\n\n\n return layerContainer ? createPortal(, layerContainer) : null;\n\n});\n\nLayer.displayName = 'Layer';\n","import React from 'react';\nimport styled from 'styled-components';\nimport SlickSlider from 'react-slick';\nimport { Box } from '../Box';\n\nimport { Icon } from '../Icon';\n\nconst SliderWrapper = styled.div`\n.slick-list,\n.slick-slider,\n.slick-track {\n position: relative;\n display: block;\n}\n.slick-loading .slick-slide,\n.slick-loading .slick-track {\n visibility: hidden;\n}\n.slick-slider {\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n}\n.slick-list {\n overflow: hidden;\n margin: 0;\n padding: 0;\n}\n.slick-list:focus {\n outline: 0;\n}\n.slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n}\n.slick-slider .slick-list,\n.slick-slider .slick-track {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n}\n.slick-track {\n top: 0;\n left: 0;\n}\n.slick-track:after,\n.slick-track:before {\n display: table;\n content: \"\";\n}\n.slick-track:after {\n clear: both;\n}\n.slick-slide {\n display: none;\n float: left;\n height: 100%;\n min-height: 1px;\n}\n[dir=\"rtl\"] .slick-slide {\n float: right;\n}\n.slick-slide img {\n display: block;\n}\n.slick-slide.slick-loading img {\n display: none;\n}\n.slick-slide.dragging img {\n pointer-events: none;\n}\n.slick-initialized .slick-slide {\n display: block;\n}\n.slick-vertical .slick-slide {\n display: block;\n height: auto;\n border: 1px solid transparent;\n}\n.slick-arrow.slick-hidden {\n display: none;\n}\n\n`;\n\n\nexport const Arrow = ({children, ...rest}) => \n {children}\n \n\nexport const PrevArrow = props => \n \n\nexport const NextArrow = props => \n\n\n\n\nexport const appendDots = dots => li' : {\n position: 'relative',\n display: 'inline-block',\n margin: '0 5px',\n width: '12px',\n height: '12px',\n cursor: 'pointer',\n },\n\n '& > li > button' : {\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n outline: 0,\n borderRadius: '50%',\n backgroundColor: 'transparent',\n textIndent: '-999em',\n cursor: 'pointer',\n position: 'absolute',\n border: '1px solid',\n borderColor: 'primary500',\n padding: 0,\n },\n '& > li > button::after' : {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width:' 100%',\n height: '100%',\n visibility: 'hidden',\n background: 'primary500',\n borderRadius: '50%',\n boxShadow: '0 0 1px #02afbc',\n opacity: 0,\n transform:' scale(2.5)',\n transition: 'opacity .3s ease, transform .3s ease, visibility 0s .3s',\n },\n '& > li.slick-active > button::after' :{\n visibility: 'visible',\n opacity: 1,\n transform: 'scale(1.5)',\n transition: 'opacity .3s ease,transform .3s ease',\n }\n }}\n>{dots}\n\nexport const Slider = React.forwardRef(({children, ...rest}, ref) => {\n return (\n \n {children}\n \n )\n});\n\n","import React, { useRef, useEffect } from 'react';\nimport { Box } from '../Box';\nimport YouTube from 'react-youtube';\nimport { findParentByMatchedQuery } from '../../core';\n\n\n\nconst SlideSubtitle = ({ subtitle }) => {\n if (typeof subtitle === 'string') {\n return {subtitle}\n }\n else {\n return subtitle;\n }\n}\n\nconst SlideIamge = ({ imageSrc, ...rest }) => {\n\n return \n}\n\nconst SlideVideo = ({ videoId, sx, variant, opt, ...rest }) => {\n\n const options = {\n height: '100%',\n width: '100%',\n playerVars: {\n autoplay: 1,\n loop: 1,\n },\n\n ...opt\n }\n\n return div:first-child, & iframe': {\n height: '100%',\n width: '100%'\n },\n\n }}\n variant={variant}\n sx={variant}\n >\n \n \n}\n\n\nexport const Slide = ({ children, isActive = false, subtitle = null, content = null, bgImage = null, videoId = null, ...rest }) => {\n\n const ref = useRef(null);\n const refVideo = useRef(null);\n\n const toggleVideo = (_isActive) => {\n if (refVideo.current) {\n if (_isActive) {\n // find visible and active parent element of this slide;\n let el = findParentByMatchedQuery(ref.current, 'slick-slide');\n if (el.classList && !el.classList.contains('slick-cloned')) {\n refVideo.current.playVideo();\n }\n } else {\n refVideo.current.pauseVideo()\n }\n }\n }\n\n useEffect(() => {\n toggleVideo(isActive);\n }, [isActive]);\n\n const onVideoReady = e => {\n refVideo.current = e.target;\n toggleVideo(isActive);\n }\n\n return \n\n {videoId && }\n {subtitle && }\n {bgImage && }\n {content && \n {content}\n }\n\n\n \n}","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Box, Flex } from '../Box';\nimport { MotionFlex } from '../Animation';\nimport { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { Input } from '../Form';\nimport { DirectionManagerContext, getVariant } from '../../core';\n\nconst SearchOverlayTop = ({ closeIcon, topContent, variant, onClose }) => \n\n {topContent ? topContent :\n \n }\n\n\n\nconst SearchOverlayForm = ({ onSubmit, inputRef, inputPlaceholder, variant, onClickSearchIcon, inputTitle }) => \n\n \n\n\n\n\nconst SearchOverlayInfo = ({ searchInfo, variant }) => \n {searchInfo}\n\n\nconst SearchOverlayContainer = ({\n children,\n open = false,\n onClose,\n onSubmit,\n inputTitle = \"Veuillez tapez quelques chose\",\n inputPlaceholder = \"Que recherchez-vous ?\",\n searchInfo = \"Appuyer sur la touche \\\"Entrée\\\" du clavier pour lancer la recherche\",\n topContent = null,\n closeIcon = null,\n variant = \"searchOverlay\",\n\n ...rest }) => {\n\n const dir = React.useContext(DirectionManagerContext);\n const motionVariants = {\n visible: { opacity: 1 },\n hidden: { opacity: 0 }\n }\n\n const inputRef = React.createRef();\n\n React.useEffect(() => {\n if (open) {\n inputRef.current.value = '';\n }\n });\n\n const handleSubmitForm = (e) => {\n e.preventDefault();\n onSubmit(inputRef.current.value || null)\n }\n\n return \n \n \n \n \n\n \n \n};\n\n\n\nexport const SearchOverlay = ({\n open = false,\n children,\n ...rest\n}) => {\n return ReactDOM.createPortal(,\n document.body\n )\n}","\n/**\n * Design tokens\n * -------------------- \n * Colors\n */\nconst colors = {\n\n black: '#000',\n white: '#fff',\n transparent: 'transparent',\n light: '',\n disabled: '',\n\n text: '#0a1f44',\n\n primary100: '#f2f6ff',\n primary200: '#d9e4ff',\n primary300: '#a6c1ff',\n primary400: '#598bff',\n primary500: '#3366ff',\n primary600: '#274bdb',\n primary700: '#1a34b8',\n primary800: '#102694',\n primary900: '#091c7a',\n\n black100: '#707d91',\n black200: '#626f88',\n black300: '#596680',\n black400: '#4e5c78',\n black500: '#455571',\n black600: '#374766',\n black700: '#293a5b',\n black800: '#13284b',\n black900: '#0a1f44',\n\n gray100: '#f7f8f9',\n gray200: '#f7f8f9',\n gray300: '#f1f2f4',\n gray400: '#e1e4e8',\n gray500: '#c9ced6',\n gray600: '#afb7c3',\n gray700: '#a6aebb',\n gray800: '#98a1b1',\n gray900: '#8a94a6',\n\n success100: '#f0fff5',\n success200: '#ccfce3',\n success300: '#8cfac7',\n success400: '#2ce69b',\n success500: '#00d68f',\n success600: '#00b887',\n success700: '#00997a',\n success800: '#007d6c',\n success900: '#004a45',\n\n info100: '#f2f8ff',\n info200: '#c7e2ff',\n info300: '#94cbff',\n info400: '#42aaff',\n info500: '#0095ff',\n info600: '#006fd6',\n info700: '#0057c2',\n info800: '#0041a8',\n info900: '#002885',\n\n warning100: '#fffdf2',\n warning200: '#fff1c2',\n warning300: '#ffe59e',\n warning400: '#ffc94d',\n warning500: '#ffaa00',\n warning600: '#db8b00',\n warning700: '#b86e00',\n warning800: '#945400',\n warning900: '#703c00',\n\n danger100: '#fff2f2',\n danger200: '#ffd6d9',\n danger300: '#ffa8b4',\n danger400: '#ff708d',\n danger500: '#ff3d71',\n danger600: '#db2c66',\n danger700: '#b81d5b',\n danger800: '#94124e',\n danger900: '#700940',\n\n btnPrimary: '#3366ff',\n\n backgroundBasic100: '#fff',\n backgroundBasic200: '#f7f8f9',\n\n textBasic500: '#30435c',\n textBasic900: '#30435c',\n \n skeletonBackground: 'rgba(0, 0, 0, 0.08)',\n\n modes: {\n dark: {\n text: 'warning400',\n background: '#0a1f44',\n btnPrimary: '#ff3d71',\n\n backgroundBasic100: '#000',\n backgroundBasic200: '#303030',\n\n skeletonBackground: 'rgba(255, 255, 255, 0.25)',\n textBasic500: '#fff',\n textBasic900: '#fff',\n \n }\n }\n\n\n};\n\nconst defaultColorVariants = {\n primary : colors.primary500,\n black : colors.black500,\n gray : colors.gray500,\n success : colors.success500,\n info : colors.info500,\n warning : colors.warning500,\n danger : colors.danger500\n}\n\nexport default {...colors, ...defaultColorVariants};","\n/**\n * Design tokens\n * -------------------- \n * Breakpoints\n */\n\nconst breakpoints = [\n '576px', \n '768px', \n '992px', \n '1200px'\n];\n\nbreakpoints.xs = '0px';\nbreakpoints.sm = '576px'; \nbreakpoints.md = '768px';\nbreakpoints.lg = '992px'; \nbreakpoints.xl = '1200px';\n\nexport default breakpoints;\n\nexport const gridSystem = {\n gridSize: 12,\n gutterWidth: 16,\n outerMargin: 8,\n container: {\n sm: '540px', \n md: '720px', \n lg: '960px', \n xl: '1140px',\n }\n}","\n/**\n * Design tokens\n * -------------------- \n * Spacing\n */\nconst space = {\n none : '0px',\n xxxsmall : '2px',\n xxsmall : '4px',\n xsmall : '8px',\n small : '12px',\n medium : '16px',\n large : '24px',\n xlarge : '32px',\n xxlarge : '40px',\n xxxlarge : '64px',\n};\n\nexport default space;","\n/**\n * Design tokens\n * -------------------- \n * Colors\n */\n\n const shadows = {\n 0: '0 1px 1px 0 rgba(8, 11, 14, 0.1)',\n 1: '0 3px 3px -1px rgba(8, 11, 14, 0.1)',\n 2: '0 6px 6px -1px rgba(8, 11, 14, 0.1)',\n 3: '0 16px 16px -1px rgba(8, 11, 14, 0.1)',\n 4: '0 32px 40px -1px rgba(8, 11, 14, 0.1)',\n };\n\n export default shadows;","\n\n/**\n * Design tokens\n * -------------------- \n * Spacing\n */\nconst sizes = {\n xxxsmall: '2px',\n xxsmall: '4px',\n xsmall: '8px',\n small: '12px',\n medium: '16px',\n large: '24px',\n xlarge: '32px',\n xxlarge: '64px',\n xxxlarge: '128px',\n};\n\nexport default sizes;","\n\n/**\n * Design tokens\n * -------------------- \n * FontFamily\n */\n\n const fonts = {\n sans: 'Roboto, sans-serif',\n serif: '\\'Roboto Slab\\', serif',\n monospace: '\\'Roboto Mono\\', monospace',\n montserrat: \"'Montserrat', sans-serif\"\n };\n\n export default fonts;","\n\n/**\n * Design tokens\n * -------------------- \n * Font Weights\n */\n\nconst fontWeights = {\n thin : 100,\n extraLight : 200,\n light : 300,\n regular : 400,\n medium : 500,\n semiBold : 600,\n bold : 700,\n extraBold : 800,\n black : 900,\n };\n\n export default fontWeights;","\n/**\n * Design tokens\n * -------------------- \n * Font Sizes\n */\n\nconst fontSizes = {\n tiny : '10px',\n caption : '12px',\n body : '14px',\n paragraph : '16px',\n subheader : '17px',\n title : '22px',\n heading6 : '16px',\n heading5 : '20px',\n heading4 : '24px',\n heading3 : '28px',\n heading2 : '40px',\n heading1 : '48px',\n heading1x : '74px',\n };\n\n export default fontSizes;","\n/**\n * Design tokens\n * -------------------- \n * Line Heights\n */\n\nconst lineHeights = {\n tiny : '17px',\n caption : '20px',\n body : '24px',\n paragraph : '26px',\n subheader : '30px',\n title : '32px',\n heading6 : '26px',\n heading5 : '32px',\n heading4 : '38px',\n heading3 : '44px',\n heading2 : '62px',\n heading1 : '62px',\n };\n\n export default lineHeights;","import colors from './colors';\n\n\n/**\n * Design tokens\n * -------------------- \n * Border\n */\nconst borders = {\n primary : `1px solid ${colors.primary500}`,\n success : `1px solid ${colors.success500}`,\n danger : `1px solid ${colors.danger500}`,\n info : `1px solid ${colors.info500}`,\n warning : `1px solid ${colors.warning500}`,\n black : `1px solid ${colors.black500}`,\n gray : `1px solid ${colors.gray500}`,\n};\n\n\nexport const radii = {\n none : '0px',\n xsmall : '2px',\n small : '4px',\n medium : '6px',\n large : '8px',\n xlarge : '12px',\n rounded : '1000rem' \n};\n\n\nexport const borderWidths = {\n none : 'Opx',\n xsmall : '1px',\n small : '2px',\n medium : '4px',\n large : '8px'\n};\n\nexport const borderStyles = {\n \n};\n\nexport default borders;","\n\nconst buttons = {\n fill: {\n primary: {\n backgroundColor: 'primary500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'primary600',\n color: 'white',\n borderColor: 'primary600',\n },\n ':disabled': {\n backgroundColor: 'primary100',\n color: 'primary300',\n borderColor: 'primary200',\n }\n },\n danger : {\n backgroundColor: 'danger500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'danger600',\n color: 'white',\n borderColor: 'danger600',\n },\n ':disabled': {\n backgroundColor: 'danger100',\n color: 'danger300',\n borderColor: 'danger200',\n }\n },\n success : {\n backgroundColor: 'success500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'success600',\n color: 'white',\n borderColor: 'success600',\n },\n ':disabled': {\n backgroundColor: 'success100',\n color: 'success300',\n borderColor: 'success200',\n }\n },\n info : {\n backgroundColor: 'info500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'info600',\n color: 'white',\n borderColor: 'info600',\n },\n ':disabled': {\n backgroundColor: 'info100',\n color: 'info300',\n borderColor: 'info200',\n }\n },\n warning : {\n backgroundColor: 'warning500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'warning600',\n color: 'white',\n borderColor: 'warning600',\n },\n ':disabled': {\n backgroundColor: 'warning100',\n color: 'warning300',\n borderColor: 'warning200',\n }\n }\n },\n size: {\n small: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '14px',\n lineHeight: '20px'\n\n },\n medium: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '16px',\n lineHeight: '24px'\n },\n large: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '22px',\n lineHeight: '28px',\n\n }\n },\n\n outline: {\n primary: {\n border: 'primary',\n color: 'primary500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'primary500',\n color: 'white',\n borderColor: 'primary500',\n },\n },\n danger: {\n border: 'danger',\n color: 'danger500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'danger500',\n color: 'white',\n borderColor: 'danger500',\n },\n },\n success: {\n border: 'success',\n color: 'success500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'success500',\n color: 'white',\n borderColor: 'success500',\n },\n },\n warning: {\n border: 'warning',\n color: 'warning500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'warning500',\n color: 'white',\n borderColor: 'warning500',\n },\n },\n info: {\n border: 'info',\n color: 'info500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'info500',\n color: 'white',\n borderColor: 'info500',\n },\n },\n }\n \n};\n\n\nexport default buttons;","\n\nconst anchors = {\n variants: {\n primary: {\n color: 'primary500',\n textDecoration: 'none',\n '&:hover': {\n color: 'primary600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'gray300',\n }\n },\n danger : {\n color: 'danger500',\n textDecoration: 'none',\n '&:hover': {\n color: 'danger600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'danger300',\n }\n },\n success : {\n color: 'success500',\n textDecoration: 'none',\n '&:hover': {\n color: 'success600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'success300',\n }\n },\n info : {\n color: 'info500',\n textDecoration: 'none',\n '&:hover': {\n color: 'info600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'info300',\n }\n },\n warning : {\n color: 'warning500',\n textDecoration: 'none',\n '&:hover': {\n color: 'warning600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'warning300',\n }\n }\n },\n};\n\n\nexport default anchors;","import colors from \"../constants/colors\";\n\n\n\n\nconst inputs = {\n\n iconContainer: {\n width: '30px'\n },\n variants: {\n default: {\n color: 'black800',\n borderColor: 'gray500',\n borderWidth: '1px',\n borderRadius: 'small',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: 'primary600',\n boxShadow: `0 0 0 2px ${colors.primary600}`\n },\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n },\n dam: {\n color: '#707070',\n borderColor: '#dfdfdf',\n borderWidth: '1px',\n borderRadius: 'rounded',\n lineHeight: '30px',\n fontSize: '16px',\n width: '100%',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: '#dfdfdf',\n boxShadow: 'none'\n },\n\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n },\n awb: {\n color: '#000',\n border: '2px solid #f5c000',\n backgroundColor: '#fff',\n fontWeight: 700,\n borderRadius: 'none',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075)',\n transition: 'border-color ease-in-out .15s,box-shadow ease-in-out .15s',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: '#f5c001',\n outline: '0',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(245,192,1,.6)'\n },\n\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n }\n },\n status: {\n primary: {\n borderColor: 'primary500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.primary200}`\n },\n ':focus': {\n borderColor: 'primary600',\n boxShadow: `0 0 0 3px ${colors.primary200}`\n }\n },\n danger : {\n borderColor: 'danger500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.danger200}`\n },\n ':focus': {\n borderColor: 'danger600',\n boxShadow: `0 0 0 3px ${colors.danger200}`\n }\n },\n success : {\n borderColor: 'success500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.success200}`\n },\n ':focus': {\n borderColor: 'success600',\n boxShadow: `0 0 0 3px ${colors.success200}`\n }\n },\n info : {\n borderColor: 'info500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.info200}`\n },\n ':focus': {\n borderColor: 'info600',\n boxShadow: `0 0 0 3px ${colors.info200}`\n }\n },\n warning : {\n borderColor: 'warning500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.warning200}`\n },\n ':focus': {\n borderColor: 'warning600',\n boxShadow: `0 0 0 3px ${colors.warning200}`\n }\n }\n },\n\n sizes: {\n small: {\n paddingY: 'xxsmall',\n paddingX: 'xsmall',\n fontSize: '14px',\n lineHeight: '20px'\n\n },\n medium: {\n paddingY: 'xsmall',\n paddingX: 'xsmall',\n fontSize: '16px',\n lineHeight: '24px'\n },\n large: {\n paddingY: 'small',\n paddingX: 'small',\n fontSize: '18px',\n lineHeight: '26px'\n },\n dam: {\n \n paddingX: '14px',\n fontSize: '16px',\n lineHeight: '30px',\n },\n awb: {\n padding: '7px 25px',\n fontSize: '18px',\n lineHeight: '1.33337',\n fontWeight: 700,\n height: '60px',\n width: '100%'\n }\n }\n};\n\n\nexport default inputs;","\nconst labels = {\n variants: {\n default: {\n color: 'gray500',\n fontSize: '14px',\n lineHeight: '24px',\n fontWeight: 400,\n },\n dam: {\n color: '#707070',\n fontSize: '16px',\n lineHeight: '27px',\n fontWeight: 400,\n },\n awb: {\n color: '#000000',\n fontSize: '20px',\n lineHeight: '2.7rem',\n fontWeight: 300,\n margin: '0 0 10px 0'\n }\n },\n};\n\n\nexport default labels;","\n\nconst radio = {\n\n primary: {\n color: 'gray300',\n 'input:checked ~ &': {\n color: 'primary500',\n },\n },\n\n danger: {\n color: 'danger300',\n 'input:checked ~ &': {\n color: 'danger500',\n },\n }\n \n};\n\nexport default radio;\n\n","\n\nconst checkbox = {\n\n primary: {\n color: 'gray300',\n 'input:checked ~ &': {\n color: 'primary500',\n },\n },\n\n danger: {\n color: 'danger300',\n 'input:checked ~ &': {\n color: 'danger500',\n },\n }\n \n};\n\nexport default checkbox;\n\n","\n\nconst select = {\n\n // uncomment to override defaults\n // states: {\n // danger: {},\n // success: {},\n // }\n \n};\n\nexport default select;\n","export const layer = {\n responsiveBreakpoint: 'md',\n zIndex: 1000,\n\n backgroundColor: 'primary200',\n\n container: {\n zIndex: 1001,\n },\n overlay: {\n backgroundColor: 'gray700',\n opacity: 0.5,\n },\n default: {\n }\n};","\n\nconst tabs = {\n\n header: {\n },\n tab: {\n },\n activeTab: {\n },\n content: {\n },\n\n\n cardType: {\n border: 0,\n header: {\n backgroundColor:'transparent',\n borderBottom: '1px solid',\n borderColor: 'gray400',\n },\n tab: {\n border: '1px solid',\n borderColor: 'gray400',\n borderRadius: \"4px\",\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n marginBottom: '-1px',\n mx:'3px',\n '&:not(first-of-type)': {\n marginLeft: '0'\n },\n },\n activeTab: {\n border: '1px solid',\n borderColor: 'gray400',\n borderBottom: 0, \n backgroundColor: 'white',\n borderRadius: \"4px\",\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n marginBottom: '-1px',\n mx:'3px',\n '&:not(first-of-type)': {\n marginLeft: '0'\n },\n },\n content: {\n py: 'large',\n px: 'small',\n border: '1px solid',\n borderColor: 'gray400',\n borderTop: 0, \n },\n },\n\n cardContainerType: {\n border: 0,\n header: {\n backgroundColor:'transparent',\n },\n tab: {\n \n backgroundColor:'transparent',\n mx:'-1px',\n marginBottom: '-1px',\n },\n activeTab: {\n backgroundColor: 'white',\n marginBottom: '-1px',\n },\n content: {\n py: 'large',\n px: 'small',\n backgroundColor: 'white'\n },\n }\n \n};\n\nexport default tabs;\n","\n\nconst accordion = {\n \n\n\n panel: {\n borderColor: 'gray400'\n },\n\n header: {\n backgroundColor: 'gray100',\n borderColor: 'gray400',\n p: ['medium', null, 'large']\n },\n\n primary: {\n panel: {\n borderColor: 'primary900',\n borderWidth: '3px'\n },\n },\n\n danger: {\n margin: 0,\n panel: {\n borderColor: 'danger500',\n borderWidth: '3px'\n },\n header: {\n borderColor: 'danger500',\n p: ['medium', null, 'large']\n },\n\n primary: {\n panel: {\n borderColor: 'danger500',\n borderWidth: '3px'\n },\n },\n }\n};\n\nexport default accordion;\n","\n\nconst breadcrumb = {\n\n saber: {\n backgroundColor: 'transparent',\n padding: 'small',\n fontFamily: 'montserrat',\n fontSize: '16px',\n\n item: {\n color: 'primary900',\n active: {\n color: 'primary500'\n }\n },\n\n separator: {\n\n },\n\n '& .vf-breadcrumb__item': {\n\n },\n '& vf-breadcrumb__item.vf-breadcrumb__item--active': {\n ':hover': {\n }\n },\n },\n\n};\n\nexport default breadcrumb;\n","\n\n\nconst navs = {\n\n\n nav: {\n\n },\n activeNav: {\n\n },\n\n // variants\n capitalazur: {\n padding: '0px',\n fontFamily: 'montserrat',\n backgroundColor: 'white',\n boxShadow: 1,\n py: 'large',\n alignItems: 'start',\n nav: {\n padding: '0px',\n fontSize: '14px',\n fontWeight: 500,\n color: '#000000',\n textTransform: 'uppercase',\n px: '16px',\n py: ['16px', '0'],\n borderWidth: ['0', '2px'],\n borderStyle: 'solid',\n borderColor: 'gray500',\n borderTop: '0px',\n borderBottom: '0px',\n\n\n '&:first-of-type' : {\n border: '0px',\n },\n '&:last-of-type' : {\n border: '0px',\n },\n ':hover': {\n color: '#017CFE'\n }\n\n },\n activeNav: {\n padding: '0px',\n color: '#017CFE',\n px: '16px',\n py: ['16px', '0'],\n fontWeight: 600,\n ':hover': {\n color: '#017CFE'\n }\n },\n }\n\n};\n\nexport default navs;\n","\n// @todo: thinking if we can add value in object fontSizes/lineHeights for paragraphMobile, heading1Mobile heading2Mobile...\nexport const heading = {\n default: {\n color: 'black500',\n h1: {\n fontSize: [\"28px\", null, \"50px\", 'heading1', 'heading1'],\n lineHeight: ['28px', \"37px\", \"heading1\"],\n marginBottom: ['15px', null, '20px'],\n },\n h2: {\n fontSize: [\"22px\", null, \"heading2\"],\n lineHeight: ['27px', null, \"heading2\"],\n marginBottom: ['15px', null, '20px'],\n },\n h3: {\n fontSize: [\"18px\", null, \"heading3\"],\n lineHeight: ['27px', null, \"heading3\"],\n marginBottom: ['15px', null, '20px'],\n },\n h4: {\n fontSize: [\"18px\", null, \"heading4\"],\n lineHeight: ['21px', null, \"heading4\"],\n marginBottom: ['15px', null, '20px'],\n },\n h5: {\n fontSize: [\"16px\", null, \"heading5\"],\n lineHeight: ['19px', null, \"heading5\"],\n marginBottom: ['15px', null, '20px'],\n },\n h6: {\n fontSize: [\"16px\", null, \"heading6\"],\n lineHeight: ['20px', null, \"heading6\"],\n marginBottom: ['15px', null, '20px'],\n },\n },\n};\n\n\nexport const paragraph = {\n default: {\n fontSize: ['15px', null, 'paragraph'],\n lineHeight: 'paragraph',\n marginBottom: 'xsmall',\n },\n}\n\n\n\n\n\n","\n\nexport const searchOverlay = {\n\n default : {\n\n wrapper : {\n\n },\n top: {\n closeBtn: {\n \n }\n },\n form: {\n wrapper: {\n\n },\n input: {\n\n },\n searchBtn: {\n\n }\n },\n info: {\n\n },\n \n '&.vf-search-overlay--open' : {\n\n },\n\n '&.vf-search-overlay--close' : {\n\n },\n\n '& .vf-search-overlay__content-wrapper' : {\n \n }\n\n }\n\n}","\nimport colors from './constants/colors';\nimport breakpoints, {gridSystem} from './constants/breakpoints';\nimport space from './constants/space';\nimport shadows from './constants/shadows';\nimport sizes from './constants/sizes';\nimport fonts from './constants/fonts';\nimport fontWeights from './constants/fontWeights';\nimport fontSizes from './constants/fontSizes';\nimport lineHeights from './constants/lineHeights';\nimport borders, {radii, borderWidths, borderStyles} from './constants/borders';\n\nimport buttons from './components/buttons';\nimport anchors from './components/anchors';\nimport inputs from './components/inputs';\n\nimport labels from './components/labels';\nimport radio from './components/radio';\nimport checkbox from './components/checkbox';\nimport select from './components/select';\nimport {layer} from './components/layer';\nimport tabs from './components/tabs';\nimport accordion from './components/accordion';\nimport breadcrumb from './components/breadcrumb';\nimport navs from './components/navs';\nimport {heading, paragraph} from './components/text';\nimport {searchOverlay} from './components/search-overlay';\n\nconst baseTheme = {\n colors,\n breakpoints,\n space,\n shadows,\n fonts,\n fontWeights,\n fontSizes,\n lineHeights,\n sizes,\n borders,\n radii,\n borderWidths,\n borderStyles,\n gridSystem,\n}\n\nconst componentsTheme = {\n buttons,\n anchors,\n inputs,\n labels,\n radio,\n checkbox,\n select,\n layer,\n tabs,\n accordion,\n breadcrumb,\n navs,\n heading,\n paragraph,\n searchOverlay,\n\n}\n\n\nexport const theme = {\n \n ...baseTheme,\n ...componentsTheme,\n};"],"names":["AccordionContext","createContext","VactoryThemeContext","React","colorMode","setColorMode","useVactoryTheme","useContext","STORAGE_KEY","storage","get","init","window","localStorage","getItem","e","console","warn","set","value","setItem","getColorsByMode","theme","mode","themeColors","colors","modes","deepmerge","all","useColorModeState","stored","useState","setMode","useEffect","useColorMode","Error","ColorModeProvider","children","styledComponentTheme","ThemeContext","context","ThemeProvider","DirectionManagerContext","DirectionManager","dir","StyleSheetManager","stylisRTLPlugin","classnames","args","join","getClassName","el","props","className","StyledChildren","styledChildren","Children","toArray","map","child","cloneElement","Space","styled","space","DEFAULT_BREAKPOINTS","xs","sm","md","lg","xl","getSizeFromBreakpoint","breakpointValue","breakpoints","parseInt","error","lessThan","breakpoint","css","greaterThan","between","firstBreakpoint","secondBreakpoint","generateMedia","PRE","RegExp","systemProps","_getProps","test","next","key","MRE","margin","propNames","getMarginProps","k","omitMarginProps","getSystemProps","SizePropsRegExp","size","omitSizeProps","getSizeProps","LayoutPropsRegExp","layout","omitLayoutProps","getLayoutProps","SpacePRopsRegExp","omitSpaceProps","getSpaceProps","omitProps","propsToOmit","exp","getProps","propsToGet","sx","base","__css","variant","variantReducer","accumulator","currentValue","getVariant","reduce","findParentByMatchedQuery","element","offsetParent","parentNode","classList","contains","undefined","findVisibleParent","parentElement","getNewContainer","rootNode","document","body","container","createElement","appendChild","getBodyChildElements","excludeMatch","forEach","call","node","tagName","push","TABINDEX","TABINDEX_STATE","makeNodeFocusable","hasAttribute","setAttribute","elements","getElementsByTagName","Array","prototype","filter","prior","getAttribute","removeAttribute","autoFocusingTags","makeNodeUnfocusable","currentTag","toLowerCase","match","focus","isNotAncestorOf","parent","setFocusWithoutScroll","x","scrollX","y","scrollY","scrollTo","findScrollParents","horizontal","result","getBoundingClientRect","rect","width","scrollWidth","height","scrollHeight","length","parseMetricToNum","fontAsString","process","env","NODE_ENV","parseFloat","IntersectionContext","inView","IntersectionObserver","threshold","reset","setInView","intersectionRef","useRef","intersection","useIntersection","inViewNow","intersectionRatio","useIsomorphicLayoutEffect","useLayoutEffect","isBrowser","getScrollPosition","useWindow","target","current","position","left","top","useScrollPosition","effect","deps","wait","throttleTimeout","callBack","currPos","prevPos","handleScroll","setTimeout","addEventListener","removeEventListener","defaultProps","getClosestValue","val","arr","index","sort","a","b","findIndex","useMediaLessThan","useMedia","useMediaGreaterThan","useMediaBetween","bp1","bp2","bp","mediaQuery","doesMatch","onSetDoesMatch","breakpointsKeys","Object","keys","_bp","isNaN","_query","includes","sortedBreakpointsValues","stripUnit","maxWidth","onUpdateMatch","matches","matcher","matchMedia","isModern","addListener","removeListener","BoxWithoutConfig","boxSizing","minWidth","styledCss","compose","color","flexbox","border","typography","boxShadow","Box","withConfig","shouldForwardProp","prop","defaultValidatorFn","WithoutConfig","Flex","display","activeAsArray","active","Accordion","forwardRef","ref","activeIndex","multiple","onChange","rest","activeIndexes","setActiveIndexes","stateActiveIndex","setStateActiveIndex","derivedActiveIndexes","onPanelChange","nextActiveIndexes","nextActiveIndex","indexOf","splice","panels","panelKey","MotionBox","motion","custom","MotionFlex","ParallaxBox","as","easing","elementTop","setElementTop","useViewportScroll","setValues","offsetTop","transformInitialValue","transformFinalValue","yRange","useTransform","clamp","defaultHidden","opacity","defaultVisible","RevealBox","delayOrder","duration","hidden","visible","transition","useMemo","delay","ease","variants","show","PanelHeaderBaseStyle","alignItems","flexDirection","justifyContent","borderBottom","borderColor","marginBottom","backgroundColor","py","px","AccordionPanel","header","title","animationTransition","variantAccordion","motionVariantsContent","inactive","transitionEnd","padding","outline","cursor","overflow","Anchor","fontSize","lineHeight","textDecoration","renderBreadcrumbItems","separator","childrenCount","count","isLastItem","Fragment","Breadcrumb","items","BreadcrumbItem","href","fillVariants","StyledVariant","scale","primary","sizeVariants","medium","outlineVariants","Button","borderRadius","stretch","right","bottom","zIndex","pointerEvents","content","buttonStyle","background","shadow","fill","Link","PortalContext","ContainerTargetContext","getTransformOriginStyle","align","vertical","DropContent","alignProp","transformOrigin","DropContainer","dropTarget","onClickOutside","plain","responsive","restrictFocus","portalContext","portalId","nextPortalContext","dropRef","place","preserveHeight","windowWidth","innerWidth","windowHeight","innerHeight","style","maxHeight","targetRect","containerRect","Math","min","max","percentVisibleAreaBelow","drop","scrollParents","addScrollListeners","scrollParent","removeScrollListeners","onClickDocument","event","clickedPortalId","attr","onResize","Drop","originalFocusedElement","setOriginalFocusedElement","activeElement","dropContainer","setDropContainer","containerTarget","removeChild","ReactDOM","createPortal","Footer","minHeight","VactoryIconContext","iconSet","VactoryIconProvider","Provider","VactoryIconConsumer","Consumer","useVactoryIcon","mergeIcons","source","icons","concat","WrapperIcon","Icon","attrs","removeInlineStyle","icon","name","SVG","CheckboxChecked","CheckboxUnchecked","CheckboxIcon","iconName","checkedIconName","uncheckedIconName","Checkbox","mr","bg","variantVariants","variantStatus","variantSizes","StyledInput","type","Input","reverse","Label","RadioProps","RadioChecked","RadioUnchecked","RadioIcon","Radio","DownArrow","SelectIcon","ml","alignSelf","StyledSelectBox","t","danger","success","info","Select","options","selectRef","p","appearance","pr","entries","i","option","Option","GlobalStyle","createGlobalStyle","fonts","sans","fontSizes","DEFAULT_CONFIG","gridSize","gutterWidth","outerMargin","THEME_CONF","configCache","generateConfigCacheId","JSON","stringify","resolveConfig","themeConf","conf","getConfig","cacheId","sortBreakpointProps","propsArr","breakpointNames","_prop","sortedBreakpoints","valueBp1","valueBp2","getGridSize","getGutterWidth","getOuterMargin","getContainer","generateMediaforContainer","breakpointsName","fluid","StyledContainer","div","Container","StyledRow","Row","generateMediaForCol","StyledCol","Col","Header","fixed","sticky","stickyOptions","fixedStyle","Wrapper","Headroom","Image","Navs","navs","nav","Nav","PaginationPageButton","mx","textAlign","PaginationPrevNextButton","PaginationJumpButton","itemRender","Pagination","flexWrap","RCPagination","frFR","Tab","isActive","onClickTab","handleOnClickTab","preventDefault","Tabs","propsActiveKey","activeTab","showBar","onTabClick","onNextClick","onPrevClick","activeKey","setActiveKey","tabRefs","headerAnimationCtrls","useAnimation","inkBarAnimationCtrls","headerTabRef","animateInkBar","currentTabBCR","headerTabBCR","start","handleClickTab","onActive","activeContent","tabs","tab","tabProps","isTabActive","tabKey","m","flexGrow","Text","fontWeight","Paragraph","Heading","withTheme","level","variantName","themeGet","List_","ordered","listStyle","List","Item_","Item","StyledLayer","responsiveBreakpoint","mediaStyle","hidenStyle","boundsStyle","targetBounds","StyledOverlay","getMargin","axis","marginValue","marginApplied","marginInTheme","getBounds","bounds","end","KEYFRAMES","center","keyframes","animationDuration","getAnimationStyle","full","animation","animate","POSITIONS","modal","FocusedContainer","restrictScroll","bodyOverflowStyle","setBodyOverflowStyle","removeTrap","trapFocus","timer","clearTimeout","HiddenAnchor","fullBounds","LayerContainer","id","onEsc","layerTarget","setTargetBounds","anchorRef","containerRef","layerRef","scrollIntoView","updateBounds","Layer","layerContainer","setLayerContainer","activeAnimation","layerClone","cloneNode","clonedContainer","querySelector","animationDirection","clone","getElementById","remove","displayName","SliderWrapper","Arrow","transform","PrevArrow","NextArrow","appendDots","dots","textIndent","visibility","Slider","SlickSlider","SlideSubtitle","subtitle","SlideIamge","imageSrc","objectFit","SlideVideo","videoId","opt","playerVars","autoplay","loop","Slide","bgImage","refVideo","toggleVideo","_isActive","playVideo","pauseVideo","onVideoReady","SearchOverlayTop","closeIcon","topContent","onClose","marginLeft","SearchOverlayForm","onSubmit","inputRef","inputPlaceholder","onClickSearchIcon","inputTitle","backgroud","SearchOverlayInfo","searchInfo","SearchOverlayContainer","open","motionVariants","createRef","handleSubmitForm","SearchOverlay","black","white","transparent","light","disabled","text","primary100","primary200","primary300","primary400","primary500","primary600","primary700","primary800","primary900","black100","black200","black300","black400","black500","black600","black700","black800","black900","gray100","gray200","gray300","gray400","gray500","gray600","gray700","gray800","gray900","success100","success200","success300","success400","success500","success600","success700","success800","success900","info100","info200","info300","info400","info500","info600","info700","info800","info900","warning100","warning200","warning300","warning400","warning500","warning600","warning700","warning800","warning900","danger100","danger200","danger300","danger400","danger500","danger600","danger700","danger800","danger900","btnPrimary","backgroundBasic100","backgroundBasic200","textBasic500","textBasic900","skeletonBackground","dark","defaultColorVariants","gray","warning","gridSystem","none","xxxsmall","xxsmall","xsmall","small","large","xlarge","xxlarge","xxxlarge","shadows","sizes","serif","monospace","montserrat","fontWeights","thin","extraLight","regular","semiBold","bold","extraBold","tiny","caption","paragraph","subheader","heading6","heading5","heading4","heading3","heading2","heading1","heading1x","lineHeights","borders","radii","rounded","borderWidths","borderStyles","buttons","borderWidth","paddingTop","paddingBottom","paddingLeft","paddingRight","anchors","inputs","iconContainer","dam","awb","status","paddingY","paddingX","labels","radio","checkbox","select","layer","overlay","cardType","borderBottomLeftRadius","borderBottomRightRadius","borderTop","cardContainerType","accordion","panel","breadcrumb","saber","fontFamily","item","activeNav","capitalazur","textTransform","borderStyle","heading","h1","h2","h3","h4","h5","h6","searchOverlay","wrapper","closeBtn","form","input","searchBtn","baseTheme","componentsTheme"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,gBAAgB,GAAGC,mBAAa,CAAC,EAAD;;ICAhCC,mBAAmB,GAAGC,cAAK,CAACF,aAAN,CAAoB;AACnDG,EAAAA,SAAS,EAAE,IADwC;AAEnDC,EAAAA,YAAY,EAAE;AAFqC,CAApB,CAA5B;AAKP,IAAaC,eAAe,GAAG,SAAlBA,eAAkB;AAAA,SAAMH,cAAK,CAACI,UAAN,CAAiBL,mBAAjB,CAAN;AAAA,CAAxB;;ACAP,IAAMM,WAAW,GAAG,uBAApB;AAEA,IAAMC,OAAO,GAAG;AACZC,EAAAA,GAAG,EAAE,aAAAC,IAAI,EAAI;AACT,QAAI;AACA,aAAOC,MAAM,CAACC,YAAP,CAAoBC,OAApB,CAA4BN,WAA5B,KAA4CG,IAAnD;AACH,KAFD,CAEE,OAAOI,CAAP,EAAU;AACRC,MAAAA,OAAO,CAACC,IAAR,CACI,qEADJ,EAEI,kCAFJ,EAGIF,CAHJ;AAKH;AACJ,GAXW;AAYZG,EAAAA,GAAG,EAAE,aAAAC,KAAK,EAAI;AACV,QAAI;AACAP,MAAAA,MAAM,CAACC,YAAP,CAAoBO,OAApB,CAA4BZ,WAA5B,EAAyCW,KAAzC;AACH,KAFD,CAEE,OAAOJ,CAAP,EAAU;AACRC,MAAAA,OAAO,CAACC,IAAR,CACI,qEADJ,EAEI,kCAFJ,EAGIF,CAHJ;AAKH;AACJ;AAtBW,CAAhB;;AAyBA,IAAMM,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACrC,MAAMC,WAAW,GAAGF,KAAK,CAACG,MAAN,IAAgB,EAApC;AACA,MAAI,CAACF,IAAL,EAAW,OAAOC,WAAP;AACX,MAAME,KAAK,GAAGhB,gBAAG,CAACY,KAAD,EAAQ,cAAR,EAAwB,EAAxB,CAAjB;AACA,SAAOK,SAAS,CAACC,GAAV,CAAc,CAAC,EAAD,eAASN,KAAK,CAACG,MAAf,gBACdf,gBAAG,CAACgB,KAAD,EAAQH,IAAR,EAAc,EAAd,CADW,EAAd,CAAP;AAGH,CAPD;;AAUA,IAAMM,iBAAiB,GAAG,SAApBA,iBAAoB,CAACP,KAAD,EAAgB;AAAA;AAEtC,MAAMQ,MAAM,GAAGrB,OAAO,CAACC,GAAR,EAAf;;AAFsC,kBAGdqB,cAAQ,CAACD,MAAM,IAAI,SAAX,CAHM;AAAA,MAG/BP,IAH+B;AAAA,MAGzBS,OAHyB;;AAatCC,EAAAA,eAAS,CAAC,YAAM;AACZ,QAAI,CAACV,IAAL,EAAW;AACXd,IAAAA,OAAO,CAACS,GAAR,CAAYK,IAAZ;AACH,GAHQ,EAGN,CAACA,IAAD,CAHM,CAAT;AAKA,SAAO,CAACA,IAAD,EAAOS,OAAP,CAAP;AAEH,CApBD;;AAsBA,IAAaE,YAAY,GAAG,SAAfA,YAAe,GAAM;AAAA,yBACM5B,eAAe,EADrB;AAAA,MACtBF,SADsB,oBACtBA,SADsB;AAAA,MACXC,YADW,oBACXA,YADW;;AAE9B,MAAI,OAAOA,YAAP,KAAwB,UAA5B,EAAwC;AACpC,UAAM,IAAI8B,KAAJ,2DAAN;AACH;;AAED,SAAO,CAAC/B,SAAD,EAAYC,YAAZ,CAAP;AACH,CAPM;AAUP,IAAa+B,iBAAiB,GAAG,SAApBA,iBAAoB,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AAE/C,MAAMC,oBAAoB,GAAG/B,gBAAU,CAACgC,mBAAD,CAAvC;;AAF+C,2BAIbV,iBAAiB,CAACS,AAAD,CAJJ;AAAA,MAIxClC,SAJwC;AAAA,MAI7BC,YAJ6B;;AAM/C,MAAMoB,MAAM,GAAGJ,eAAe,CAACiB,oBAAoB,IAAI,EAAzB,EAA6BlC,SAA7B,CAA9B;;AACA,MAAMkB,KAAK,yBACJgB,oBADI;AAEPb,IAAAA,MAAM,EAANA;AAFO,IAAX;;AAIA,MAAMe,OAAO,GAAG;AACZpC,IAAAA,SAAS,EAATA,SADY;AAEZC,IAAAA,YAAY,EAAZA;AAFY,GAAhB;AAKA,sBACIF,6BAACsC,oBAAD;AAAe,IAAA,KAAK,EAAEnB;AAAtB,kBACInB,6BAAC,mBAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAEqC;AAArC,KACKH,QADL,CADJ,CADJ;AAOH,CAvBM;;ICvEMK,uBAAuB,GAAGvC,cAAK,CAACF,aAAN,CAAoB,KAApB,CAAhC;AAEP,IAAa0C,gBAAgB,GAAG,SAAnBA,gBAAmB,OAA4B;AAAA,sBAA1BC,GAA0B;AAAA,MAA1BA,GAA0B,yBAArB,KAAqB;AAAA,MAAdP,QAAc,QAAdA,QAAc;AACxD,sBAAOlC,6BAAC,uBAAD,CAAyB,QAAzB;AAAkC,IAAA,KAAK,EAAEyC;AAAzC,kBACCzC,6BAAC0C,wBAAD;AAAmB,IAAA,aAAa,EAAED,GAAG,KAAK,KAAR,GAAgB,CAACE,eAAD,CAAhB,GAAoC;AAAtE,kBACK3C;AAAK,IAAA,GAAG,EAAEyC;AAAV,KAAgBP,QAAhB,CADL,CADD,CAAP;AAMH,CAPM;;ACFP,IAAMU,UAAU,GAAG,SAAbA,UAAa;AAAA,oCAAIC,IAAJ;AAAIA,IAAAA,IAAJ;AAAA;;AAAA,SAAaA,IAAI,CAACC,IAAL,CAAU,GAAV,CAAb;AAAA,CAAnB;;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAAAC,EAAE;AAAA,SAAKA,EAAE,CAACC,KAAH,IAAYD,EAAE,CAACC,KAAH,CAASC,SAAtB,IAAoC,EAAxC;AAAA,CAAvB;;AAGA,IAAaC,cAAc,GAAG,SAAjBA,cAAiB,OAItB;AAAA,MAHJD,SAGI,QAHJA,SAGI;AAAA,MAFJhB,QAEI,QAFJA,QAEI;AAAA,MADDe,KACC;;AACJ,MAAMG,cAAc,GAAGpD,cAAK,CAACqD,QAAN,CAAeC,OAAf,CAAuBpB,QAAvB,EACpBqB,GADoB,CAChB,UAAAC,KAAK;AAAA,WAAIxD,cAAK,CAACyD,YAAN,CAAmBD,KAAnB,EAA0B;AACtCN,MAAAA,SAAS,EAAEN,UAAU,CAACG,YAAY,CAACS,KAAD,CAAb,EAAsBN,SAAtB;AADiB,KAA1B,CAAJ;AAAA,GADW,CAAvB;AAIA,sBACElD,6CACGoD,cADH,CADF;AAKH,CAdM;AAgBP,IAAMM,KAAK,GAAGC,eAAM,CAACR,cAAD,CAAN,CAAuBS,kBAAvB,CAAd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICxBaC,mBAAmB,GAAG;AAC/BC,EAAAA,EAAE,EAAE,GAD2B;AAE/BC,EAAAA,EAAE,EAAE,OAF2B;AAG/BC,EAAAA,EAAE,EAAE,OAH2B;AAI/BC,EAAAA,EAAE,EAAE,QAJ2B;AAK/BC,EAAAA,EAAE,EAAE;AAL2B,CAA5B;;AASP,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,eAAD,EAAkBC,WAAlB,EAAwC;AAAA,MAAtBA,WAAsB;AAAtBA,IAAAA,WAAsB,GAAR,EAAQ;AAAA;;AAClE,MAAIA,WAAW,CAACD,eAAD,CAAf,EAAkC;AAChC,WAAOC,WAAW,CAACD,eAAD,CAAlB;AACD,GAFD,MAEO,IAAIE,QAAQ,CAACF,eAAD,CAAZ,EAA+B;AACpC,WAAOA,eAAP;AACD,GAFM,MAEA;AACLvD,IAAAA,OAAO,CAAC0D,KAAR,CAAc,kDAAd;AACA,WAAO,GAAP;AACD;AACJ,CATD;;AAYA,IAAaC,QAAQ,GAAG,SAAXA,QAAW,CAACC,UAAD;AAAA,SAAgB,YAAa;AAAA,sCAAT5B,IAAS;AAATA,MAAAA,IAAS;AAAA;;AAEnD,WAAO6B,UAAP,oBAEI,UAAAzB,KAAK,EAAI;AACP,UAAMoB,WAAW,GAAIpB,KAAK,GAAGA,KAAK,CAAC9B,KAAN,CAAYkD,WAAf,GAA8BR,mBAAxD;AACA,aAAOa,UAAP,qBAC+BP,qBAAqB,CAACM,UAAD,EAAaJ,WAAb,CADpD,EAEcK,UAAG,MAAH,SAAO7B,IAAP,CAFd;AAKD,KATL;AAYD,GAduB;AAAA,CAAjB;AAgBP,IAAa8B,WAAW,GAAG,SAAdA,WAAc,CAACF,UAAD;AAAA,SAAgB,YAAa;AAAA,uCAAT5B,IAAS;AAATA,MAAAA,IAAS;AAAA;;AAEtD,WAAO6B,UAAP,qBAEI,UAAAzB,KAAK,EAAI;AACP,UAAMoB,WAAW,GAAIpB,KAAK,GAAGA,KAAK,CAAC9B,KAAN,CAAYkD,WAAf,GAA8BR,mBAAxD;AACA,aAAOa,UAAP,qBAC+BP,qBAAqB,CAACM,UAAD,EAAaJ,WAAb,CADpD,EAEcK,UAAG,MAAH,SAAO7B,IAAP,CAFd;AAKD,KATL;AAYD,GAd0B;AAAA,CAApB;AAgBP,IAAa+B,OAAO,GAAG,SAAVA,OAAU,CAACC,eAAD,EAAkBC,gBAAlB;AAAA,SAAwC,YAAa;AAAA,uCAATjC,IAAS;AAATA,MAAAA,IAAS;AAAA;;AAE1E,WAAO6B,UAAP,qBAEI,UAAAzB,KAAK,EAAI;AACP,UAAMoB,WAAW,GAAIpB,KAAK,GAAGA,KAAK,CAAC9B,KAAN,CAAYkD,WAAf,GAA8BR,mBAAxD;AACA,aAAOa,UAAP,qBAC+BP,qBAAqB,CAACU,eAAD,EAAkBR,WAAlB,CADpD,EACuGF,qBAAqB,CAACW,gBAAD,EAAmBT,WAAnB,CAD5H,EAEcK,UAAG,MAAH,SAAO7B,IAAP,CAFd;AAKD,KATL;AAYD,GAdsB;AAAA,CAAhB;AAgBP,IAAckC,aAAa,GAAG,SAAhBA,aAAgB,CAAC9B,KAAD,EAAW;AAErC,MAAMoB,WAAW,GAAIpB,KAAK,GAAGA,KAAK,CAAC9B,KAAN,CAAYkD,WAAf,GAA8BR,mBAAxD;;AAEA,MAAMW,QAAQ,GAAG,SAAXA,QAAW,CAACC,UAAD;AAAA,WAAgB,YAAa;AAC5C5D,MAAAA,OAAO,CAACC,IAAR,CAAa,gDAA8C2D,UAA9C,GAAyD,oFAAzD,GAA8IA,UAA9I,GAAyJ,GAAtK;AACA,aAAOC,UAAP,qBACqBP,qBAAqB,CAACM,UAAD,EAAaJ,WAAb,CAD1C,EAEIK,UAAG,MAAH,mBAFJ;AAIA,KANe;AAAA,GAAjB;;AAQA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACF,UAAD;AAAA,WAAgB,YAAa;AAE/C5D,MAAAA,OAAO,CAACC,IAAR,CAAa,mDAAiD2D,UAAjD,GAA4D,uFAA5D,GAAoJA,UAApJ,GAA+J,GAA5K;AACA,aAAQC,UAAR,qBACuBP,qBAAqB,CAACM,UAAD,EAAaJ,WAAb,CAD5C,EAEMK,UAAG,MAAH,mBAFN;AAKD,KARmB;AAAA,GAApB;;AAUA,MAAME,OAAO,GAAG,SAAVA,OAAU,CAACC,eAAD,EAAkBC,gBAAlB;AAAA,WAAuC,YAAa;AAClEjE,MAAAA,OAAO,CAACC,IAAR,CAAa,+CAA6C+D,eAA7C,GAA6D,IAA7D,GAAkEC,gBAAlE,GAAmF,uFAAnF,GAA2KD,eAA3K,GAA2L,IAA3L,GAAgMC,gBAAhM,GAAiN,GAA9N;AAEA,aAAOJ,UAAP,qBACqBP,qBAAqB,CAACU,eAAD,EAAkBR,WAAlB,CAD1C,EAEgBF,qBAAqB,CAACW,gBAAD,EAAmBT,WAAnB,CAFrC,EAGIK,UAAG,MAAH,mBAHJ;AAKA,KARc;AAAA,GAAhB;;AAUA,SAAQ;AACJF,IAAAA,QAAQ,EAARA,QADI;AAEJG,IAAAA,WAAW,EAAXA,WAFI;AAGJC,IAAAA,OAAO,EAAPA;AAHI,GAAR;AAKH,CArCM;;AC/DP,IAAMI,GAAG,GAAG,IAAIC,MAAJ,QAAgBC,uBAAW,CAACpC,IAAZ,CAAiB,GAAjB,CAAhB,QAAZ;;AAEA,IAAMqC,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD;AAAA,SAAU,UAACnC,KAAD,EAAW;AACnC,QAAMoC,IAAI,GAAG,EAAb;;AACA,SAAK,IAAMC,GAAX,IAAkBrC,KAAlB,EAAyB;AACrB,UAAImC,IAAI,CAACE,GAAG,IAAI,EAAR,CAAR,EAAqBD,IAAI,CAACC,GAAD,CAAJ,GAAYrC,KAAK,CAACqC,GAAD,CAAjB;AACxB;;AACD,WAAOD,IAAP;AACH,GANiB;AAAA,CAAlB;;AAQA,IAAME,GAAG,GAAG,IAAIN,MAAJ,QAAgBO,mBAAM,CAACC,SAAP,CAAiB3C,IAAjB,CAAsB,GAAtB,CAAhB,QAAZ;AACA,IAAa4C,cAAc,GAAGP,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAIJ,GAAG,CAACH,IAAJ,CAASO,CAAT,CAAJ;AAAA,CAAF,CAAhC;AACP,IAAaC,eAAe,GAAGT,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAI,CAACJ,GAAG,CAACH,IAAJ,CAASO,CAAT,CAAL;AAAA,CAAF,CAAjC;AAEP,IAAaE,cAAc,GAAGV,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAIX,GAAG,CAACI,IAAJ,CAASO,CAAT,CAAJ;AAAA,CAAF,CAAhC;AAEP,IAAMG,eAAe,GAAG,IAAIb,MAAJ,QAAgBc,iBAAI,CAACN,SAAL,CAAe3C,IAAf,CAAoB,GAApB,CAAhB,QAAxB;AACA,IAAakD,aAAa,GAAGb,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAI,CAACG,eAAe,CAACV,IAAhB,CAAqBO,CAArB,CAAL;AAAA,CAAF,CAA/B;AACP,IAAaM,YAAY,GAAGd,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAIG,eAAe,CAACV,IAAhB,CAAqBO,CAArB,CAAJ;AAAA,CAAF,CAA9B;AAEP,IAAMO,iBAAiB,GAAG,IAAIjB,MAAJ,QAAgBkB,mBAAM,CAACV,SAAP,CAAiB3C,IAAjB,CAAsB,GAAtB,CAAhB,QAA1B;AACA,IAAasD,eAAe,GAAGjB,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAI,CAACO,iBAAiB,CAACd,IAAlB,CAAuBO,CAAvB,CAAL;AAAA,CAAF,CAAjC;AACP,IAAaU,cAAc,GAAGlB,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAIO,iBAAiB,CAACd,IAAlB,CAAuBO,CAAvB,CAAJ;AAAA,CAAF,CAAhC;AAEP,IAAMW,gBAAgB,GAAG,IAAIrB,MAAJ,QAAgBrB,kBAAK,CAAC6B,SAAN,CAAgB3C,IAAhB,CAAqB,GAArB,CAAhB,QAAzB;AACA,IAAayD,cAAc,GAAGpB,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAI,CAACW,gBAAgB,CAAClB,IAAjB,CAAsBO,CAAtB,CAAL;AAAA,CAAF,CAAhC;AACP,IAAaa,aAAa,GAAGrB,SAAS,CAAC,UAAAQ,CAAC;AAAA,SAAIW,gBAAgB,CAAClB,IAAjB,CAAsBO,CAAtB,CAAJ;AAAA,CAAF,CAA/B;AAEP,IAAac,SAAS,GAAG,SAAZA,SAAY,CAACC,WAAD;AAAA,SAAiBvB,SAAS,CAAC,UAAAQ,CAAC,EAAI;AACrD,QAAMgB,GAAG,GAAG,IAAI1B,MAAJ,QAAgByB,WAAW,CAAC5D,IAAZ,CAAiB,GAAjB,CAAhB,QAAZ;AACA,WAAO,CAAC6D,GAAG,CAACvB,IAAJ,CAASO,CAAT,CAAR;AACH,GAHkD,CAA1B;AAAA,CAAlB;AAKP,IAAaiB,QAAQ,GAAG,SAAXA,QAAW,CAACC,UAAD;AAAA,SAAgB1B,SAAS,CAAC,UAAAQ,CAAC,EAAI;AACnD,QAAMgB,GAAG,GAAG,IAAI1B,MAAJ,QAAgB4B,UAAU,CAAC/D,IAAX,CAAgB,GAAhB,CAAhB,QAAZ;AACA,WAAO,CAAC6D,GAAG,CAACvB,IAAJ,CAASO,CAAT,CAAR;AACH,GAHgD,CAAzB;AAAA,CAAjB;AAMP,IAAamB,EAAE,GAAG,SAALA,EAAK,CAAA7D,KAAK;AAAA,SAAIyB,YAAG,CAACzB,KAAK,CAAC6D,EAAP,CAAH,CAAc7D,KAAK,CAAC9B,KAApB,CAAJ;AAAA,CAAhB;AACP,IAAa4F,IAAI,GAAG,SAAPA,IAAO,CAAA9D,KAAK;AAAA,SAAIyB,YAAG,CAACzB,KAAK,CAAC+D,KAAP,CAAH,CAAiB/D,KAAK,CAAC9B,KAAvB,CAAJ;AAAA,CAAlB;AAEP,IAAa8F,OAAO,GAAG;AAAA,MACnB9F,KADmB,QACnBA,KADmB;AAAA,MAEnB8F,OAFmB,QAEnBA,OAFmB;AAAA,SAGjBvC,YAAG,CAACnE,OAAG,CAACY,KAAD,EAAQ8F,OAAR,CAAJ,CAAH,CAAyB9F,KAAzB,CAHiB;AAAA,CAAhB;AAKP,IAAa+F,cAAc,GAAG,SAAjBA,cAAiB,CAACC,WAAD,EAAcC,YAAd;AAAA,SAA+BA,YAAY,GAAGD,WAAW,GAAG,GAAd,GAAoBC,YAAvB,GAAsCD,WAAjF;AAAA,CAAvB;AACP,IAAaE,UAAU,GAAG,SAAbA,UAAa,CAACJ,OAAD,EAAkB;AAAA,MAAjBA,OAAiB;AAAjBA,IAAAA,OAAiB,GAAP,EAAO;AAAA;;AACxC,MAAI,OAAOA,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,WAAOA,OAAP;AACH;;AACD,SAAOA,OAAO,CAACK,MAAR,CAAeJ,cAAf,CAAP;AACH,CALM;;ICnDMK,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,OAAD,EAAUtE,SAAV,EAAwB;AAE9D,MAAGsE,OAAH,EAAY;AACV,QAAMC,YAAY,GAAGD,OAAO,CAACE,UAA7B;;AACA,QAAID,YAAY,IAAKA,YAAY,CAACE,SAA9B,IAA2CF,YAAY,CAACE,SAAb,CAAuBC,QAAvB,CAAgC1E,SAAhC,CAA/C,EAA4F;AAC1F,aAAOuE,YAAP;AACD,KAFD,MAEO;AACL,aAAOF,wBAAwB,CAACE,YAAD,EAAevE,SAAf,CAA/B;AACD;AACF;;AAED,SAAO2E,SAAP;AACD,CAZM;AAeP,IAAaC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAN,OAAO,EAAI;AACxC,MAAIA,OAAJ,EAAa;AACX,WAAOA,OAAO,CAACC,YAAR,GAAuBD,OAAvB,GAAiCM,iBAAiB,CAACN,OAAO,CAACO,aAAT,CAAjB,IAA4CP,OAApF;AACD;;AACD,SAAOK,SAAP;AACD,CALI;AAOP,IAAaG,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD,EAA8B;AAAA,MAA7BA,QAA6B;AAA7BA,IAAAA,QAA6B,GAAlBC,QAAQ,CAACC,IAAS;AAAA;;AAEzD,MAAMC,SAAS,GAAGF,QAAQ,CAACG,aAAT,CAAuB,KAAvB,CAAlB;AACAJ,EAAAA,QAAQ,CAACK,WAAT,CAAqBF,SAArB;AACA,SAAOA,SAAP;AACH,CALM;AAOP,IAAaG,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACxC,MAAMC,YAAY,GAAG,kBAArB;AACA,MAAMtG,QAAQ,GAAG,EAAjB;AACA,KAAGuG,OAAH,CAAWC,IAAX,CAAgBR,QAAQ,CAACC,IAAT,CAAcjG,QAA9B,EAAwC,UAAAyG,IAAI,EAAI;AAC9C,QAAI,CAACH,YAAY,CAACpD,IAAb,CAAkBuD,IAAI,CAACC,OAAvB,CAAL,EAAsC;AACpC1G,MAAAA,QAAQ,CAAC2G,IAAT,CAAcF,IAAd;AACD;AACF,GAJD;AAKA,SAAOzG,QAAP;AACD,CATM;AAWP,IAAa4G,QAAQ,GAAG,UAAjB;AACP,IAAaC,cAAc,GAAG,iBAAvB;AAEP,IAAaC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAL,IAAI,EAAI;AAEvC,MAAI,CAACA,IAAI,CAACM,YAAL,CAAkB,WAAlB,CAAL,EAAqC;AACnCN,IAAAA,IAAI,CAACO,YAAL,CAAkB,aAAlB,EAAiC,KAAjC;AAEA,QAAMC,QAAQ,GAAGR,IAAI,CAACS,oBAAL,CAA0B,GAA1B,CAAjB;AAEAC,IAAAA,KAAK,CAACC,SAAN,CAAgBC,MAAhB,CACGb,IADH,CACQS,QAAQ,IAAI,EADpB,EACwB,UAAA3B,OAAO;AAAA,aAAIA,OAAO,CAACyB,YAAR,CAAqBF,cAArB,CAAJ;AAAA,KAD/B,EAEGN,OAFH,CAEW,UAAAjB,OAAO,EAAI;AAClB,UAAMgC,KAAK,GAAGhC,OAAO,CAACiC,YAAR,CAAqBV,cAArB,CAAd;;AACA,UAAIS,KAAK,IAAI,CAAb,EAAgB;AACdhC,QAAAA,OAAO,CAAC0B,YAAR,CAAqBJ,QAArB,EAA+BtB,OAAO,CAACiC,YAAR,CAAqBV,cAArB,CAA/B;AACD,OAFD,MAEO,IAAIS,KAAK,KAAK,MAAd,EAAsB;AAC3BhC,QAAAA,OAAO,CAACkC,eAAR,CAAwBZ,QAAxB;AACD;;AACDtB,MAAAA,OAAO,CAACkC,eAAR,CAAwBX,cAAxB;AACD,KAVH;AAWD;AACF,CAnBM;AAqBP,IAAMY,gBAAgB,GAAG,+CAAzB;AACA,IAAaC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAjB,IAAI,EAAI;AAEzC,MAAI,CAACA,IAAI,CAACM,YAAL,CAAkB,WAAlB,CAAL,EAAqC;AACnCN,IAAAA,IAAI,CAACO,YAAL,CAAkB,aAAlB,EAAiC,IAAjC;AAEA,QAAMC,QAAQ,GAAGR,IAAI,CAACS,oBAAL,CAA0B,GAA1B,CAAjB;AAEAC,IAAAA,KAAK,CAACC,SAAN,CAAgBC,MAAhB,CACGb,IADH,CACQS,QAAQ,IAAI,EADpB,EACwB,UAAA3B,OAAO;AAAA,aAAIA,OAAO,CAACiC,YAAR,CAAqBX,QAArB,MAAmC,IAAvC;AAAA,KAD/B,EAEGL,OAFH,CAEW,UAAAjB,OAAO,EAAI;AAClBA,MAAAA,OAAO,CAAC0B,YAAR,CAAqBH,cAArB,EAAqCvB,OAAO,CAACiC,YAAR,CAAqBX,QAArB,CAArC;AACAtB,MAAAA,OAAO,CAAC0B,YAAR,CAAqBJ,QAArB,EAA+B,CAAC,CAAhC;AACD,KALH;AAQAO,IAAAA,KAAK,CAACC,SAAN,CAAgBC,MAAhB,CACGb,IADH,CACQS,QAAQ,IAAI,EADpB,EACwB,UAAA3B,OAAO,EAAI;AAC/B,UAAMqC,UAAU,GAAGrC,OAAO,CAACoB,OAAR,CAAgBkB,WAAhB,EAAnB;AACA,aACED,UAAU,CAACE,KAAX,CAAiBJ,gBAAjB,KACAnC,OAAO,CAACwC,KADR,IAEAxC,OAAO,CAACiC,YAAR,CAAqBV,cAArB,MAAyC,IAH3C;AAKD,KARH,EASGN,OATH,CASW,UAAAjB,OAAO,EAAI;AAClBA,MAAAA,OAAO,CAAC0B,YAAR,CAAqBH,cAArB,EAAqC,MAArC;AACAvB,MAAAA,OAAO,CAAC0B,YAAR,CAAqBJ,QAArB,EAA+B,CAAC,CAAhC;AACD,KAZH;AAaD;AACF,CA7BM;AAgCP,IAAamB,eAAe,GAAG,SAAlBA,eAAkB,CAAAzG,KAAK;AAAA,SAAI,UAAA0G,MAAM;AAAA,WAAI,CAACA,MAAM,CAACtC,QAAP,CAAgBpE,KAAhB,CAAL;AAAA,GAAV;AAAA,CAA7B;AAIP,IAAa2G,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAA3C,OAAO,EAAI;AAC9C,MAAM4C,CAAC,GAAG3J,MAAM,CAAC4J,OAAjB;AACA,MAAMC,CAAC,GAAG7J,MAAM,CAAC8J,OAAjB;AACA/C,EAAAA,OAAO,CAACwC,KAAR;AACAvJ,EAAAA,MAAM,CAAC+J,QAAP,CAAgBJ,CAAhB,EAAmBE,CAAnB;AACD,CALM;AAOP,IAAaG,iBAAiB,GAAG,SAApBA,iBAAoB,CAACjD,OAAD,EAAUkD,UAAV,EAAyB;AACxD,MAAMC,MAAM,GAAG,EAAf;;AACA,MAAInD,OAAJ,EAAa;AACT,QAAI0C,MAAM,GAAG1C,OAAO,CAACE,UAArB;;AACA,WAAOwC,MAAM,IAAIA,MAAM,CAACU,qBAAxB,EAA+C;AAC3C,UAAMC,IAAI,GAAGX,MAAM,CAACU,qBAAP,EAAb;;AAEA,UAAIF,UAAJ,EAAgB;AACZ,YAAIG,IAAI,CAACC,KAAL,IAAcZ,MAAM,CAACa,WAAP,GAAqBF,IAAI,CAACC,KAAL,GAAa,EAApD,EAAwD;AACpDH,UAAAA,MAAM,CAAC9B,IAAP,CAAYqB,MAAZ;AACH;AACJ,OAJD,MAIO,IAAIW,IAAI,CAACG,MAAL,IAAed,MAAM,CAACe,YAAP,GAAsBJ,IAAI,CAACG,MAAL,GAAc,EAAvD,EAA2D;AAC9DL,QAAAA,MAAM,CAAC9B,IAAP,CAAYqB,MAAZ;AACH;;AACDA,MAAAA,MAAM,GAAGA,MAAM,CAACxC,UAAhB;AACH;;AAGD,QAAIiD,MAAM,CAACO,MAAP,KAAkB,CAAtB,EAAyB;AACrBP,MAAAA,MAAM,CAAC9B,IAAP,CAAYX,QAAZ;AACH,KAFD,MAEO,IAAIyC,MAAM,CAAC,CAAD,CAAN,CAAU/B,OAAV,CAAkBkB,WAAlB,OAAoC,MAAxC,EAAgD;AACnDa,MAAAA,MAAM,CAACO,MAAP,GAAgB,CAAhB;AACAP,MAAAA,MAAM,CAAC9B,IAAP,CAAYX,QAAZ;AACH;AACJ;;AACD,SAAOyC,MAAP;AACD,CA1BM;AA4BP,IAAaQ,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,YAAY,EAAI;AAC9C,MAAIA,YAAY,CAACrB,KAAb,CAAmB,IAAnB,KAA4BsB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzD,EAAuE;AACnE1K,IAAAA,OAAO,CAACC,IAAR,0CAAmDsK,YAAnD;AACH;;AACD,SAAOI,UAAU,CAACJ,YAAY,CAACrB,KAAb,CAAmB,aAAnB,CAAD,EAAoC,EAApC,CAAjB;AACD,CALM;;ICzIM0B,mBAAmB,GAAGzL,cAAK,CAACF,aAAN,CAAoB;AAAE4L,EAAAA,MAAM,EAAE;AAAV,CAApB,CAA5B;AAEP,IAAaC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAI9B;AAAA,MAHFzJ,QAGE,QAHFA,QAGE;AAAA,4BAFF0J,SAEE;AAAA,MAFFA,SAEE,+BAFU,CAEV;AAAA,wBADFC,KACE;AAAA,MADFA,KACE,2BADM,KACN;;AAAA,kBAC0BjK,cAAQ,CAAC,KAAD,CADlC;AAAA,MACK8J,MADL;AAAA,MACaI,SADb;;AAEF,MAAMC,eAAe,GAAG/L,cAAK,CAACgM,MAAN,CAAa,IAAb,CAAxB;AACA,MAAMC,YAAY,GAAGC,wBAAe,CAACH,eAAD,EAAkB;AAClDH,IAAAA,SAAS,EAATA;AADkD,GAAlB,CAApC;AAIA9J,EAAAA,eAAS,CAAC,YAAM;AACZ,QAAMqK,SAAS,GAAGF,YAAY,IAAIA,YAAY,CAACG,iBAAb,GAAiC,CAAnE;;AACA,QAAID,SAAJ,EAAe;AACX,aAAOL,SAAS,CAACK,SAAD,CAAhB;AACH,KAFD,MAEO,IAAIN,KAAJ,EAAW;AACd,aAAOC,SAAS,CAAC,KAAD,CAAhB;AACH;AACJ,GAPQ,EAON,CAACG,YAAD,EAAeJ,KAAf,CAPM,CAAT;AASA,sBACI7L,6BAAC,mBAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAE;AAAE0L,MAAAA,MAAM,EAANA;AAAF;AAArC,kBACI1L;AAAK,IAAA,GAAG,EAAE+L;AAAV,KAA4B7J,QAA5B,CADJ,CADJ;AAKH,CAzBM;;ICsCMmK,yBAAyB,GAAG,OAAO5L,MAAP,KAAkB,WAAlB,GAAgC6L,qBAAhC,GAAkDxK;AAE3F,IAAMyK,SAAS,GAAG,OAAO9L,MAAP,gBAAlB;;AAEA,SAAS+L,iBAAT,OAAmD;AAAA,MAAtBhF,OAAsB,QAAtBA,OAAsB;AAAA,MAAbiF,SAAa,QAAbA,SAAa;AACjD,MAAI,CAACF,SAAL,EAAgB,OAAO;AAAEnC,IAAAA,CAAC,EAAE,CAAL;AAAQE,IAAAA,CAAC,EAAE;AAAX,GAAP;AAEhB,MAAMoC,MAAM,GAAGlF,OAAO,GAAGA,OAAO,CAACmF,OAAX,GAAqBzE,QAAQ,CAACC,IAApD;AACA,MAAMyE,QAAQ,GAAGF,MAAM,CAAC9B,qBAAP,EAAjB;AAEA,SAAO6B,SAAS,GACZ;AAAErC,IAAAA,CAAC,EAAE3J,MAAM,CAAC4J,OAAZ;AAAqBC,IAAAA,CAAC,EAAE7J,MAAM,CAAC8J;AAA/B,GADY,GAEZ;AAAEH,IAAAA,CAAC,EAAEwC,QAAQ,CAACC,IAAd;AAAoBvC,IAAAA,CAAC,EAAEsC,QAAQ,CAACE;AAAhC,GAFJ;AAGD;;AAED,AAAO,SAASC,iBAAT,CAA2BC,MAA3B,EAAmCC,IAAnC,EAAyCzF,OAAzC,EAAkDiF,SAAlD,EAA6DS,IAA7D,EAAmE;AACxE,MAAMN,QAAQ,GAAGZ,YAAM,CAACQ,iBAAiB,CAAC;AAAEC,IAAAA,SAAS,EAATA;AAAF,GAAD,CAAlB,CAAvB;AAEA,MAAIU,eAAe,GAAG,IAAtB;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,QAAMC,OAAO,GAAGb,iBAAiB,CAAC;AAAEhF,MAAAA,OAAO,EAAPA,OAAF;AAAWiF,MAAAA,SAAS,EAATA;AAAX,KAAD,CAAjC;AACAO,IAAAA,MAAM,CAAC;AAAEM,MAAAA,OAAO,EAAEV,QAAQ,CAACD,OAApB;AAA6BU,MAAAA,OAAO,EAAPA;AAA7B,KAAD,CAAN;AACAT,IAAAA,QAAQ,CAACD,OAAT,GAAmBU,OAAnB;AACAF,IAAAA,eAAe,GAAG,IAAlB;AACD,GALD;;AAOAd,EAAAA,yBAAyB,CAAC,YAAM;AAC9B,QAAI,CAACE,SAAL,EAAgB;AACd;AACD;;AAED,QAAMgB,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzB,UAAIL,IAAJ,EAAU;AACR,YAAIC,eAAe,KAAK,IAAxB,EAA8B;AAC5BA,UAAAA,eAAe,GAAGK,UAAU,CAACJ,QAAD,EAAWF,IAAX,CAA5B;AACD;AACF,OAJD,MAIO;AACLE,QAAAA,QAAQ;AACT;AACF,KARD;;AAUA3M,IAAAA,MAAM,CAACgN,gBAAP,CAAwB,QAAxB,EAAkCF,YAAlC;AAEA,WAAO;AAAA,aAAM9M,MAAM,CAACiN,mBAAP,CAA2B,QAA3B,EAAqCH,YAArC,CAAN;AAAA,KAAP;AACD,GAlBwB,EAkBtBN,IAlBsB,CAAzB;AAmBD;AAEDF,iBAAiB,CAACY,YAAlB,GAAiC;AAC/BV,EAAAA,IAAI,EAAE,EADyB;AAE/BzF,EAAAA,OAAO,EAAE,KAFsB;AAG/BiF,EAAAA,SAAS,EAAE,KAHoB;AAI/BS,EAAAA,IAAI,EAAE;AAJyB,CAAjC;;AC8hBA,IAAI,QAAQ,GAAG,qCAAqC,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE;AACtC,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,UAAU,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;AAChF,EAAE,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3C;AACA,EAAE,IAAI,UAAU,EAAE;AAClB;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,kJAAkJ,CAAC,CAAC;AACrK,IAAI,IAAI,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAC9B,GAAG;AACH;AACA,EAAE,IAAI,YAAY,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7C,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;;ACzpBD,IAAMU,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAAMC,GAAN,EAAc;AACpC,MAAMC,KAAK,GAAGD,GAAG,CAACE,IAAJ,CAAS,UAACC,CAAD,EAAGC,CAAH;AAAA,WAASD,CAAC,GAAGC,CAAb;AAAA,GAAT,EAAyBC,SAAzB,CAAmC,UAAAnL,EAAE;AAAA,WAAI6K,GAAG,GAAG7K,EAAV;AAAA,GAArC,CAAd;AACA,SAAO+K,KAAK,GAAG,CAAR,GAAYD,GAAG,CAACC,KAAD,CAAf,GAAyB,IAAhC;AACD,CAHD;;AAKA,IAAaK,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAA3J,UAAU,EAAI;AAC5C,SAAO4J,QAAQ,CAAC,CAAC5J,UAAD,CAAD,EAAe,WAAf,CAAf;AACD,CAFM;AAGP,IAAa6J,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAA7J,UAAU,EAAI;AAC/C,SAAO4J,QAAQ,CAAC,CAAC5J,UAAD,CAAD,EAAe,WAAf,CAAf;AACD,CAFM;AAGP,IAAa8J,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAAMC,GAAN,EAAc;AAC3C,SAAOJ,QAAQ,CAAC,CAACG,GAAD,EAAMC,GAAN,CAAD,EAAa,SAAb,CAAf;AACD,CAFM;AAIP,IAAaJ,QAAQ,GAAG,SAAXA,QAAW,CAACK,EAAD,EAAKC,UAAL,EAAiC;AAAA,MAA5BA,UAA4B;AAA5BA,IAAAA,UAA4B,GAAf,SAAe;AAAA;;AACrD,MAAG,EAAED,EAAE,YAAYrF,KAAhB,CAAH,EAA2B;AACzBqF,IAAAA,EAAE,GAAG,CAACA,EAAD,CAAL;AACD;;AAHoD,kBAIjB9M,cAAQ,CAAC,KAAD,CAJS;AAAA,MAI9CgN,SAJ8C;AAAA,MAInCC,cAJmC;;AAAA,aAK/BzO,gBAAU,CAACgC,mBAAD,CAAV,IAA4B,EALG;AAAA,MAK9CiC,WAL8C,QAK9CA,WAL8C;;AAMrD,MAAMyK,eAAe,GAAGC,MAAM,CAACC,IAAP,CAAY3K,WAAZ,EAAyBd,GAAzB,CAA6B,UAAA0L,GAAG;AAAA,WAAIC,KAAK,CAACD,GAAD,CAAL,GAAaA,GAAb,GAAmB,CAAEA,GAAzB;AAAA,GAAhC,CAAxB;AACA,MAAIE,MAAM,GAAGT,EAAE,CAAC,CAAD,CAAf;;AAEA,MAAGI,eAAe,CAACM,QAAhB,CAAyBV,EAAE,CAAC,CAAD,CAA3B,CAAH,EAAoC;AAEhC,QAAMW,uBAAuB,GAAGhL,WAAW,CAACd,GAAZ,CAAgB,UAAA3C,CAAC;AAAA,aAAI0O,SAAS,CAAC1O,CAAD,CAAb;AAAA,KAAjB,CAAhC;AACA,QAAM2O,QAAQ,GAAG3B,eAAe,CAAC0B,SAAS,CAACjL,WAAW,CAACqK,EAAE,CAAC,CAAD,CAAH,CAAZ,CAAV,EAAgCW,uBAAhC,CAAhC;;AACA,YAAQV,UAAR;AACE,WAAK,WAAL;AACIQ,QAAAA,MAAM,oBAAkB9K,WAAW,CAACqK,EAAE,CAAC,CAAD,CAAH,CAA7B,MAAN;AACA;;AACJ,WAAK,WAAL;AACIS,QAAAA,MAAM,oBAAkB9K,WAAW,CAACqK,EAAE,CAAC,CAAD,CAAH,CAA7B,MAAN;AACA;;AACJ,WAAK,SAAL;AACIS,QAAAA,MAAM,oBAAkB9K,WAAW,CAACqK,EAAE,CAAC,CAAD,CAAH,CAA7B,0BAAyDrK,WAAW,CAACqK,EAAE,CAAC,CAAD,CAAH,CAApE,MAAN;AACA;;AACJ;AACE7N,QAAAA,OAAO,CAACC,IAAR,CAAa,2BAAyB4N,EAAzB,GAA4B,0IAAzC;AACAS,QAAAA,MAAM,oBAAkB9K,WAAW,CAACqK,EAAE,CAAC,CAAD,CAAH,CAA7B,UAAwCa,QAAQ,KAAK,IAAb,wBAAuCA,QAAvC,WAAuD,EAA/F,CAAN;AACA;AAbJ;AAgBH;;AAEDzN,EAAAA,eAAS,CAAC,YAAM;AACd,QAAM0N,aAAa,GAAG,SAAhBA,aAAgB,QAAe;AAAA,UAAbC,OAAa,SAAbA,OAAa;AACnCZ,MAAAA,cAAc,CAACY,OAAD,CAAd;AACD,KAFD;;AAIA,QAAMC,OAAO,GAAGjP,MAAM,CAACkP,UAAP,CAAkBR,MAAlB,CAAhB;AAEA,QAAMS,QAAQ,IAAG,sBAAsBF,OAAzB,CAAd;;AACA,QAAIE,QAAJ,EAAc;AACZF,MAAAA,OAAO,CAACjC,gBAAR,CAAyB,QAAzB,EAAmC+B,aAAnC;AACD,KAFD,MAEO;AACLE,MAAAA,OAAO,CAACG,WAAR,CAAoBL,aAApB;AACD;;AAEDA,IAAAA,aAAa,CAACE,OAAD,CAAb;AAEA,WAAO,YAAM;AACX,UAAIE,QAAJ,EAAc;AACZF,QAAAA,OAAO,CAAChC,mBAAR,CAA4B,QAA5B,EAAsC8B,aAAtC;AACD,OAFD,MAEO;AACLE,QAAAA,OAAO,CAACI,cAAR,CAAuBN,aAAvB;AACD;AACF,KAND;AAOD,GAvBQ,EAuBN,CAACL,MAAD,EAASN,cAAT,CAvBM,CAAT;AAyBA,SAAOD,SAAP;AACD,CAzDI;;ICFMmB,gBAAgB,GAAGpM,eAAM,CAAC,KAAD,CAAN,CAC9B;AACEqM,EAAAA,SAAS,EAAE,YADb;AAEExK,EAAAA,MAAM,EAAE,CAFV;AAGEyK,EAAAA,QAAQ,EAAE;AAHZ,CAD8B,EAM9BlJ,IAN8B,EAO9BD,EAP8B,EAQ9B,UAAC7D,KAAD;AAAA,SAAWA,KAAK,CAACyB,GAAjB;AAAA,CAR8B,EAS9B,UAACzB,KAAD;AAAA,SAAWA,KAAK,CAACiN,SAAjB;AAAA,CAT8B,EAU9BC,oBAAO,CACLvM,kBADK,EAELwM,kBAFK,EAGLjK,mBAHK,EAILkK,oBAJK,EAKLC,mBALK,EAMLC,uBANK,EAOLC,sBAPK,EAQL5D,qBARK,CAVuB,EAoB9B3F,OApB8B,CAAzB;AAuBP,IAAMwJ,GAAG,GAAG9M,eAAM,CAACoM,gBAAD,CAAN,CAAyBW,UAAzB,CAAoC;AAC9CC,EAAAA,iBAAiB,EAAE,6BAACC,IAAD,EAAOC,kBAAP,EAA8B;AAC/C,WAAOA,kBAAkB,CAACD,IAAD,CAAlB,IAA4B,CAAC1L,uBAAW,CAACkK,QAAZ,CAAqBwB,IAArB,CAApC;AACD;AAH6C,CAApC,EAIT,EAJS,CAAZ;AAMAH,GAAG,CAACK,aAAJ,GAAoBf,gBAApB;AAIA,IAAMgB,IAAI,GAAGpN,eAAM,CAAC8M,GAAD,CAAN,CAAY;AACvBO,EAAAA,OAAO,EAAE;AADc,CAAZ,CAAb;AAIAD,IAAI,CAACD,aAAL,GAAqBnN,eAAM,CAACoM,gBAAD,CAAN,CAAyB;AAC5CiB,EAAAA,OAAO,EAAE;AADmC,CAAzB,CAArB;;AChDA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,MAAM;AAAA,SACxB,OAAOA,MAAP,KAAkB,QAAlB,GAA6B,CAACA,MAAD,CAA7B,GAAwCA,MADhB;AAAA,CAA5B;;AAIA,IAAaC,SAAS,GAAGC,gBAAU,CAC/B,gBAMGC,GANH,EAMW;AAAA,MANRC,WAMQ,QANRA,WAMQ;AAAA,MALPpP,QAKO,QALPA,QAKO;AAAA,MAJPqP,QAIO,QAJPA,QAIO;AAAA,MAHPC,QAGO,QAHPA,QAGO;AAAA,0BAFPvK,OAEO;AAAA,MAFPA,OAEO,6BAFC,WAED;AAAA,MADJwK,IACI;;AAAA,kBAEmC7P,cAAQ,CAAC,EAAD,CAF3C;AAAA,MAEA8P,aAFA;AAAA,MAEeC,gBAFf;;AAAA,mBAGyC/P,cAAQ,EAHjD;AAAA,MAGAgQ,gBAHA;AAAA,MAGkBC,mBAHlB;;AAKP,MAAMC,oBAAoB,GAAGb,aAAa,CAACK,WAAD,CAAb,IAA8B,EAA3D;;AAEA,MAAI,CAAC,OAAOA,WAAP,KAAuB,WAAvB,IAAsCA,WAAW,KAAKM,gBAAvD,KACCE,oBAAoB,CAAChP,IAArB,OAAgC4O,aAAa,CAAC5O,IAAd,EADrC,EAC4D;AACxD6O,IAAAA,gBAAgB,CAACG,oBAAD,CAAhB;AACAD,IAAAA,mBAAmB,CAACP,WAAD,CAAnB;AACH;;AAGD,MAAMS,cAAa,GAAG,SAAhBA,aAAgB,CAAAhE,KAAK,EAAI;AAC3B,QAAIiE,iBAAiB,aAAQN,aAAa,IAAI,EAAzB,CAArB;AAEA,QAAMO,eAAe,GAAGD,iBAAiB,CAACE,OAAlB,CAA0BnE,KAA1B,CAAxB;;AACA,QAAIkE,eAAe,GAAG,CAAC,CAAvB,EAA0B;AACtBD,MAAAA,iBAAiB,CAACG,MAAlB,CAAyBF,eAAzB,EAA0C,CAA1C;AACH,KAFD,MAEO,IAAIV,QAAJ,EAAc;AACjBS,MAAAA,iBAAiB,CAACnJ,IAAlB,CAAuBkF,KAAvB;AACH,KAFM,MAEA;AACHiE,MAAAA,iBAAiB,GAAG,CAACjE,KAAD,CAApB;AACH;;AAED4D,IAAAA,gBAAgB,CAACK,iBAAD,CAAhB;;AACA,QAAIR,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAACQ,iBAAD,CAAR;AACH;AACJ,GAhBD;;AAkBA,MAAMI,MAAM,GAAG/O,cAAQ,CAACC,OAAT,CAAiBpB,QAAjB,EACVqH,MADU,CACH,UAAA/F,KAAK;AAAA,WAAIA,KAAJ;AAAA,GADF,EAEVD,GAFU,CAEN,UAACC,KAAD,EAAQuK,KAAR,EAAkB;AACnB,QAAMzI,GAAG,GAAG9B,KAAK,CAACP,KAAN,CAAYoP,QAAZ,IAAwBtE,KAApC;AACA,wBACI/N,6BAAC,gBAAD,CAAkB,QAAlB;AAEI,MAAA,GAAG,EAAE+N,KAFT;AAGI,MAAA,KAAK,EAAE;AACHmD,QAAAA,MAAM,EAAEQ,aAAa,CAACQ,OAAd,CAAsB5M,GAAtB,IAA6B,CAAC,CADnC;AAEHyM,QAAAA,aAAa,EAAE;AAAA,iBAAMA,cAAa,CAACzM,GAAD,CAAnB;AAAA,SAFZ;AAGH2B,QAAAA,OAAO,EAAPA;AAHG;AAHX,OASKzD,KATL,CADJ;AAaH,GAjBU,CAAf;AAmBA,sBACIxD,6BAAC,GAAD;AACI,IAAA,SAAS,EAAC,cADd;AAEI,IAAA,GAAG,EAAEqR,GAFT;AAGI,IAAA,OAAO,EAAEhK,UAAU,CAAC,CAACJ,OAAD,CAAD;AAHvB,KAIQwK,IAJR,GAKKW,MALL,CADJ;AAWH,CArE8B,CAA5B;;ICNME,SAAS,GAAGC,mBAAM,CAACC,MAAP,CAAc/B,GAAG,CAACK,aAAlB,CAAlB;AACP,IAAa2B,UAAU,GAAGF,mBAAM,CAACC,MAAP,CAAczB,IAAI,CAACD,aAAnB,CAAnB;;ICAM4B,WAAW,GAAG,SAAdA,WAAc,OAIT;AAAA,qBAHdC,EAGc;AAAA,MAHdA,EAGc,wBAHTL,SAGS;AAAA,MAFdpQ,QAEc,QAFdA,QAEc;AAAA,yBADd0Q,MACc;AAAA,MADdA,MACc,4BADL,CAAC,IAAD,EAAO,CAAP,EAAU,IAAV,EAAgB,CAAhB,CACK;AAAA,MAAXnB,IAAW;;AAAA,wBAEsBzR,cAAK,CAAC4B,QAAN,CAAe,CAAf,CAFtB;AAAA,MAEPiR,UAFO;AAAA,MAEKC,aAFL;;AAId,MAAMzB,GAAG,GAAGrR,cAAK,CAACgM,MAAN,CAAa,IAAb,CAAZ;;AAJc,2BAKM+G,8BAAiB,EALvB;AAAA,MAKNxI,OALM,sBAKNA,OALM;;AAQdvK,EAAAA,cAAK,CAAC8B,SAAN,CAAgB,YAAM;AAClB,QAAI,CAACuP,GAAG,CAAC1E,OAAT,EAAkB;;AAClB,QAAMqG,SAAS,GAAG,SAAZA,SAAY,GAAM;AACpBF,MAAAA,aAAa,CAACzB,GAAG,CAAC1E,OAAJ,CAAYsG,SAAb,CAAb;AACH,KAFD;;AAIAD,IAAAA,SAAS;AAET9K,IAAAA,QAAQ,CAACuF,gBAAT,CAA0B,MAA1B,EAAkCuF,SAAlC;AACAvS,IAAAA,MAAM,CAACgN,gBAAP,CAAwB,QAAxB,EAAkCuF,SAAlC;AAEA,WAAO,YAAM;AACT9K,MAAAA,QAAQ,CAACwF,mBAAT,CAA6B,MAA7B,EAAqCsF,SAArC;AACAvS,MAAAA,MAAM,CAACiN,mBAAP,CAA2B,QAA3B,EAAqCsF,SAArC;AACH,KAHD;AAKH,GAhBD,EAgBG,CAAC3B,GAAD,CAhBH;AAkBA,MAAM6B,qBAAqB,GAAGL,UAAU,GAAG,CAA3C;AACA,MAAMM,mBAAmB,GAAGN,UAAU,GAAG,CAAzC;AACA,MAAMO,MAAM,GAAG,CAACF,qBAAD,EAAwBC,mBAAxB,CAAf;AAEA,MAAM7I,CAAC,GAAG+I,yBAAY,CAAC9I,OAAD,EAAU6I,MAAV,EAAkB,CAAC,CAAD,EAAI,CAAC,CAAL,CAAlB,EAA2B;AAC7CE,IAAAA,KAAK,EAAE,KADsC;AAE7CV,IAAAA,MAAM,EAANA;AAF6C,GAA3B,CAAtB;AAIA,sBAAO5S,6BAAC,GAAD,CAAK,aAAL;AAAmB,IAAA,EAAE,EAAE2S,EAAvB;AAA2B,IAAA,GAAG,EAAEtB,GAAhC;AAAsC,IAAA,KAAK,EAAE;AAAE/G,MAAAA,CAAC,EAADA;AAAF;AAA7C,KAAwDmH,IAAxD,GAA+DvP,QAA/D,CAAP;AACH,CAvCM;;ACDP,IAAMqR,aAAa,GAAG;AACpBC,EAAAA,OAAO,EAAE;AADW,CAAtB;AAIA,IAAMC,cAAc,GAAG;AACrBD,EAAAA,OAAO,EAAE;AADY,CAAvB;AAGA,IAAaE,SAAS,GAAG1T,cAAK,CAACoR,UAAN,CAAiB,gBAUvCC,GAVuC,EAU/B;AAAA,MATTsC,UASS,QATTA,UASS;AAAA,2BARTC,QAQS;AAAA,MARTA,QAQS,8BARE,GAQF;AAAA,yBAPThB,MAOS;AAAA,MAPTA,MAOS,4BAPA,CAAC,IAAD,EAAO,CAAP,EAAU,IAAV,EAAgB,CAAhB,CAOA;AAAA,MANT1Q,QAMS,QANTA,QAMS;AAAA,4BALT0J,SAKS;AAAA,MALTA,SAKS,+BALG,IAKH;AAAA,yBAJTiI,MAIS;AAAA,MAJTA,MAIS,4BAJAN,aAIA;AAAA,0BAHTO,OAGS;AAAA,MAHTA,OAGS,6BAHCL,cAGD;AAAA,wBAFT5H,KAES;AAAA,MAFTA,KAES,2BAFD,KAEC;AAAA,MADN4F,IACM;;AAAA,wBAGmBzR,cAAK,CAAC4B,QAAN,CAAe,KAAf,CAHnB;AAAA,MAGF8J,MAHE;AAAA,MAGMI,SAHN;;AAIT,MAAMC,eAAe,GAAG/L,cAAK,CAACgM,MAAN,CAAa,IAAb,CAAxB;AACA,MAAMC,YAAY,GAAGC,wBAAe,CAACH,eAAD,EAAkB;AACpDH,IAAAA,SAAS,EAATA;AADoD,GAAlB,CAApC;AAIA5L,EAAAA,cAAK,CAAC8B,SAAN,CAAgB,YAAM;AACpB,QAAMqK,SAAS,GAAGF,YAAY,IAAIA,YAAY,CAACG,iBAAb,GAAiC,CAAnE;;AACA,QAAID,SAAJ,EAAe;AACb,aAAOL,SAAS,CAACK,SAAD,CAAhB;AACD,KAFD,MAEO,IAAIN,KAAJ,EAAW;AAChB,aAAOC,SAAS,CAAC,KAAD,CAAhB;AACD;AACF,GAPD,EAOG,CAACG,YAAD,EAAeJ,KAAf,CAPH;AAUA,MAAMkI,UAAU,GAAG/T,cAAK,CAACgU,OAAN,CACjB;AAAA,WAAO;AACLJ,MAAAA,QAAQ,EAARA,QADK;AAELK,MAAAA,KAAK,EAAEN,UAAU,GAAG,CAFf;AAGLO,MAAAA,IAAI,EAAEtB;AAHD,KAAP;AAAA,GADiB,EAMjB,CAACgB,QAAD,EAAWD,UAAX,EAAuBf,MAAvB,CANiB,CAAnB;AASA,MAAMuB,QAAQ,GAAG;AACfN,IAAAA,MAAM,wBACDA,MADC;AAEJE,MAAAA,UAAU,EAAVA;AAFI,MADS;AAKfK,IAAAA,IAAI,wBACCN,OADD;AAEFC,MAAAA,UAAU,EAAVA;AAFE;AALW,GAAjB;AAaA,sBACE/T,6BAAC,GAAD;AAAK,IAAA,GAAG,EAAE+L;AAAV,kBACE/L,6BAAC,GAAD,CAAK,aAAL;AACE,IAAA,OAAO,EAAC,QADV;AAEE,IAAA,OAAO,EAAE0L,MAAM,GAAG,MAAH,GAAY,QAF7B;AAGE,IAAA,IAAI,EAAC,QAHP;AAIE,IAAA,QAAQ,EAAEyI,QAJZ;AAKE,IAAA,GAAG,EAAE9C;AALP,KAMMI,IANN;AAOE,IAAA,EAAE,EAAEa;AAPN,MAOkBpQ,QAPlB,CADF,CADF;AAaD,CAhEwB,CAAlB;;ACLP,IAAMmS,oBAAoB,GAAG;AAC3BrD,EAAAA,OAAO,EAAE,MADkB;AAE3BsD,EAAAA,UAAU,EAAE,QAFe;AAG3BC,EAAAA,aAAa,EAAE,KAHY;AAI3BC,EAAAA,cAAc,EAAE,eAJW;AAK3BC,EAAAA,YAAY,EAAE,WALa;AAM3BC,EAAAA,WAAW,EAAE,SANc;AAO3BC,EAAAA,YAAY,EAAE,MAPa;AAQ3BC,EAAAA,eAAe,EAAE,aARU;AAS3BC,EAAAA,EAAE,EAAE,CAAC,QAAD,EAAW,IAAX,EAAiB,OAAjB,CATuB;AAU3BC,EAAAA,EAAE,EAAE;AAVuB,CAA7B;AAaA,IAAaC,cAAc,GAAG3D,gBAAU,CACtC,gBAWEC,GAXF,EAYK;AAAA,MAVDnP,QAUC,QAVDA,QAUC;AAAA,MATD8S,AACAC,KAQC,QARDA,KAQC;AAAA,MAPDhO,OAOC,QAPDA,OAOC;AAAA,MAND3B,AACAwB,EAKC,QALDA,EAKC;AAAA,mCAJDoO,mBAIC;AAAA,MAJDA,mBAIC,sCAJqB;AAAEhB,IAAAA,IAAI,EAAE,WAAR;AAAqBN,IAAAA,QAAQ,EAAE;AAA/B,GAIrB;AAAA,MAHEnC,IAGF;;AAAA,oBAE0DrR,gBAAU,CAACP,gBAAD,CAFpE;AAAA,MAEKqR,MAFL,eAEKA,MAFL;AAAA,MAEsBiE,gBAFtB,eAEalO,OAFb;AAAA,MAEwC8K,aAFxC,eAEwCA,aAFxC;;AAKH,MAAMqD,qBAAqB,GAAG;AAC5BlE,IAAAA,MAAM,EAAE;AACNlG,MAAAA,MAAM,EAAC,OADD;AAENgG,MAAAA,OAAO,EAAC,OAFF;AAGN+C,MAAAA,UAAU,EAAEmB;AAHN,KADoB;AAM5BG,IAAAA,QAAQ,EAAE;AACRrK,MAAAA,MAAM,EAAC,KADC;AAERsK,MAAAA,aAAa,EAAE;AACbtE,QAAAA,OAAO,EAAE;AADI;AAFP;AANkB,GAA9B;;AAcA,MAAI/J,OAAO,KAAKY,SAAhB,EAA2B;AACzBZ,IAAAA,OAAO,GAAGkO,gBAAV;AACD;;AAED,sBACEnV,6BAAC,SAAD;AACE,IAAA,SAAS,2BAAyBkR,MAAM,GAAG,4BAAH,GAAiC,EAAhE,CADX;AAEE,IAAA,GAAG,EAAEG,GAFP;AAGE,IAAA,KAAK,EAAE;AACLf,MAAAA,MAAM,EAAC,CADF;AAEL,8BAAwB;AACtBmE,QAAAA,YAAY,EAAE;AADQ;AAFnB,KAHT;AASE,IAAA,EAAE,EAAE3N;AATN,KAUMjB,cAAc,CAAC4L,IAAD,CAVpB,gBAaEzR,6BAAC,SAAD;AACE,IAAA,SAAS,EAAC,qCADZ;AAEE,IAAA,IAAI,EAAC,KAFP;AAGE,qBAAekR,MAHjB;AAIE,qBAAeA,MAJjB;AAKE,IAAA,OAAO,EAAEa,aALX;AAME,IAAA,KAAK,EAAE;AACLjH,MAAAA,KAAK,EAAE,MADF;AAEL8J,MAAAA,eAAe,EAAE,aAFZ;AAGLtE,MAAAA,MAAM,EAAE,CAHH;AAILiF,MAAAA,OAAO,EAAE,CAJJ;AAKL/P,MAAAA,MAAM,EAAE,CALH;AAML,0BAAoB;AAClBgQ,QAAAA,OAAO,EAAE,MADS;AAElBC,QAAAA,MAAM,EAAE;AAFU;AANf;AANT,KAkBG,OAAOR,KAAP,KAAiB,QAAjB,gBAEGjV,6BAAC,GAAD;AACE,IAAA,SAAS,EAAC,2BADZ;AAEE,IAAA,KAAK,EAAEqU;AAFT,KAIGY,KAJH,CAFH,GASCxR,kBAAY,CAACwR,KAAD,EAAQ;AAAEjO,IAAAA,KAAK,EAAEqN,oBAAT;AAA+BnR,IAAAA,SAAS,EAAC;AAAzC,GAAR,CA3BhB,CAbF,eA6CElD,6BAAC,SAAD;AACE,IAAA,OAAO,EAAC,UADV;AAEE,IAAA,OAAO,EAAEkR,MAAM,GAAG,QAAH,GAAa,UAF9B;AAGE,IAAA,QAAQ,EAAEkE,qBAHZ;AAIE,IAAA,KAAK,EAAE;AACJM,MAAAA,QAAQ,EAAE;AADN;AAJT,kBAQE1V,6BAAC,GAAD;AACE,IAAA,KAAK,EAAE;AACL6U,MAAAA,EAAE,EAAE,CAAC,QAAD,EAAW,IAAX,EAAiB,OAAjB,CADC;AAELC,MAAAA,EAAE,EAAE;AAFC,KADT;AAKE,IAAA,SAAS,EAAC,6BALZ;AAME,IAAA,OAAO,EAAEzN,UAAU,CAAC,CAACJ,OAAD,EAAU,SAAV,CAAD;AANrB,KASC/E,QATD,CARF,CA7CF,CADF;AAwED,CA5GqC,CAAjC;;ICjBMyT,MAAM,GAAG3V,cAAK,CAACoR,UAAN,CAAiB,gBAGhCC,GAHgC,EAGxB;AAAA,0BAFPpK,OAEO;AAAA,MAFPA,OAEO,6BAFG,gBAEH;AAAA,MADJwK,IACI;;AAEX,sBAAOzR,6BAAC,GAAD;AAAK,IAAA,EAAE,EAAC,GAAR;AAAY,IAAA,GAAG,EAAEqR,GAAjB;AAAuB,IAAA,OAAO,EAAEpK;AAAhC,KAA6CwK,IAA7C;AAAmD,IAAA,KAAK,EAAE;AAC7DzB,MAAAA,SAAS,EAAE,YADkD;AAE7DyF,MAAAA,MAAM,EAAE,SAFqD;AAG7DD,MAAAA,OAAO,EAAE,MAHoD;AAI7DI,MAAAA,QAAQ,EAAE,SAJmD;AAK7DC,MAAAA,UAAU,EAAE,SALiD;AAM7DzF,MAAAA,KAAK,EAAE,SANsD;AAO7D0F,MAAAA,cAAc,EAAE;AAP6C,KAA1D;AAUH,IAAA,SAAS,EAAC;AAVP,KAAP;AAaH,CAlBqB,CAAf;;ACIP,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAC7T,QAAD,EAAW+E,OAAX,EAAoB+O,SAApB;AAAA,SAAkC3S,cAAQ,CAACC,OAAT,CAAiBpB,QAAjB,EAC3DqH,MAD2D,CACpD,UAAA/F,KAAK;AAAA,WAAIA,KAAJ;AAAA,GAD+C,EAE3DD,GAF2D,CAEvD,UAACC,KAAD,EAAQuK,KAAR,EAAkB;AAEnB,QAAMkI,aAAa,GAAG5S,cAAQ,CAAC6S,KAAT,CAAehU,QAAf,CAAtB;AACA,QAAMiU,UAAU,GAAGF,aAAa,KAAKlI,KAAK,GAAG,CAA7C;AAEA,wBAAQ/N,6BAACoW,cAAD;AAAU,MAAA,GAAG,EAAErI;AAAf,OACHvK,KADG,EAEH2S,UAAU,KACP,OAAOH,SAAP,KAAqB,QAArB,gBAEKhW,6BAAC,GAAD;AAAK,MAAA,EAAE,EAAC,QAAR;AAAiB,MAAA,OAAO,EAAEqH,UAAU,CAAC,CAACJ,OAAD,EAAU,WAAV,CAAD,CAApC;AAA8D,MAAA,SAAS,EAAC;AAAxE,OAAoG+O,SAApG,CAFL,GAIIvS,kBAAY,CAACuS,SAAD,EAAY;AAAE9S,MAAAA,SAAS,EAAE,0BAAb;AAAyC+D,MAAAA,OAAO,EAAEI,UAAU,CAAC,CAACJ,OAAD,EAAU,WAAV,CAAD;AAA5D,KAAZ,CALT,CAFP,CAAR;AAUH,GAjB2D,CAAlC;AAAA,CAA9B;;AAmBA,IAAaoP,UAAU,GAAGjF,gBAAU,CAAC,gBAMlCC,GANkC,EAM1B;AAAA,0BALPpK,OAKO;AAAA,MALPA,OAKO,6BALG,oBAKH;AAAA,MAJP/E,QAIO,QAJPA,QAIO;AAAA,4BAHP8T,SAGO;AAAA,MAHPA,SAGO,+BAHK,GAGL;AAAA,MAFPlP,EAEO,QAFPA,EAEO;AAAA,MADJ2K,IACI;;AAEP,MAAM6E,KAAK,GAAGP,qBAAqB,CAAC7T,QAAD,EAAW+E,OAAX,EAAoB+O,SAApB,CAAnC;AAEA,sBACIhW,6BAAC,GAAD;AACI,IAAA,SAAS,EAAC,eADd;AAEI,IAAA,GAAG,EAAEqR,GAFT;AAGI,IAAA,EAAE,EAAEvK;AAHR,KAIQjB,cAAc,CAAC4L,IAAD,CAJtB;AAKI,IAAA,OAAO,EAAEpK,UAAU,CAAC,CAACJ,OAAD,CAAD,CALvB;AAMI,IAAA,KAAK,EAAE;AACHsO,MAAAA,OAAO,EAAE,OADN;AAEHX,MAAAA,eAAe,EAAE,SAFd;AAGH5D,MAAAA,OAAO,EAAE,MAHN;AAIHZ,MAAAA,KAAK,EAAE,YAJJ;AAKHkE,MAAAA,UAAU,EAAE;AALT;AANX,MAcKgC,KAdL,CADJ;AAoBH,CA9BmC,CAA7B;;ICrBMC,cAAc,GAAGvW,cAAK,CAACoR,UAAN,CAAiB,gBAQ5CC,GAR4C,EAQpC;AAAA,0BAPPpK,OAOO;AAAA,MAPPA,OAOO,6BAPC,oBAOD;AAAA,MANP/E,QAMO,QANPA,QAMO;AAAA,MALPsU,IAKO,QALPA,IAKO;AAAA,MAJPtF,MAIO,QAJPA,MAIO;AAAA,qBAHPyB,EAGO;AAAA,MAHPA,EAGO,wBAHF,GAGE;AAAA,MAFPrN,AACGmM,IACI;;AAEP,sBACIzR,6BAAC,GAAD,CAAK,aAAL;AACI,IAAA,SAAS,4BAAyBkR,MAAM,IAAI,6BAAnC,CADb;AAEI,IAAA,EAAE,EAAEyB,EAFR;AAGI,IAAA,GAAG,EAAEtB,GAHT;AAII,IAAA,IAAI,EAAEmF,IAJV;AAKI,IAAA,OAAO,EAAEnP,UAAU,CAAC,CAACJ,OAAD,EAAU,MAAV,EAAkBiK,MAAM,IAAI,QAA5B,CAAD;AALvB,KAMQO,IANR;AAOI,IAAA,KAAK,EAAE;AACHrB,MAAAA,KAAK,EAAEc,MAAM,GAAG,SAAH,GAAe,YADzB;AAEH4E,MAAAA,cAAc,EAAE,MAFb;AAGH,gBAAU;AACNL,QAAAA,MAAM,EAAE,SADF;AAENrF,QAAAA,KAAK,EAAEc,MAAM,GAAG,SAAH,GAAe;AAFtB;AAHP;AAPX,KAeQO,IAfR,GAiBKvP,QAjBL,CADJ;AAuBH,CAjC6B,CAAvB;;;;;;;;;;;ACEP,IAAMuU,YAAY,GAAGC,oBAAa,CAAC;AAC/BC,EAAAA,KAAK,EAAE,cADwB;AAE/B/F,EAAAA,IAAI,EAAE,MAFyB;AAG/BuD,EAAAA,QAAQ,EAAE;AACNyC,IAAAA,OAAO,EAAE;AADH;AAHqB,CAAD,CAAlC;AASA,IAAMC,YAAY,GAAGH,oBAAa,CAAC;AAC/BC,EAAAA,KAAK,EAAE,cADwB;AAE/B/F,EAAAA,IAAI,EAAE,MAFyB;AAG/BuD,EAAAA,QAAQ,EAAE;AACN2C,IAAAA,MAAM,EAAE;AADF;AAHqB,CAAD,CAAlC;AASA,IAAMC,eAAe,GAAGL,oBAAa,CAAC;AAClCC,EAAAA,KAAK,EAAE,iBAD2B;AAElC/F,EAAAA,IAAI,EAAE,SAF4B;AAGlCuD,EAAAA,QAAQ,EAAE;AACNyC,IAAAA,OAAO,EAAE;AADH;AAHwB,CAAD,CAArC;AAUC,AAAO,IAAMI,MAAM,GAAGrT,eAAM,CAAC,QAAD,CAAN,CAAiB+M,UAAjB,CAA4B;AAC/CC,EAAAA,iBAAiB,EAAE,6BAACC,IAAD,EAAOC,kBAAP,EAA8B;AAAE,WAAOA,kBAAkB,CAACD,IAAD,CAAlB,IAA4B,CAAC,UAAI1L,uBAAJ,GAAiB,MAAjB,EAAyB,SAAzB,GAAoCkK,QAApC,CAA6CwB,IAA7C,CAApC;AAAwF;AAD5F,CAA5B,CAAH,sBAiBdlM,OAAG,CAAC;AACFuS,EAAAA,YAAY,EAAE;AADZ,CAAD,CAjBW,EAqBb;AAAA,MAAEC,OAAF,QAAEA,OAAF;AAAA,SAAeA,OAAO,IAAI;AACrB,gBAAY;AACRtK,MAAAA,QAAQ,EAAE,UADF;AAERE,MAAAA,GAAG,EAAE,CAFG;AAGRqK,MAAAA,KAAK,EAAE,CAHC;AAIRC,MAAAA,MAAM,EAAE,CAJA;AAKRvK,MAAAA,IAAI,EAAE,CALE;AAMRwK,MAAAA,MAAM,EAAE,CANA;AAORC,MAAAA,aAAa,EAAE,MAPP;AAQRC,MAAAA,OAAO,EAAE,IARD;AASR3C,MAAAA,eAAe,EAAE;AATT;AADS,GAA1B;AAAA,CArBa,EAoCd4C,wBApCc,EAqCdf,YArCc,EAsCdM,eAtCc,EAuCdF,YAvCc,EAwCd5P,OAxCc,EAyCdF,IAzCc,EA0CdD,EA1Cc,EA2CdqJ,oBAAO,CACLrF,kBADK,EAELE,mBAFK,EAGLgG,oBAHK,EAILpN,kBAJK,EAKLwM,kBALK,EAMLG,uBANK,EAOLF,oBAPK,EAQLoH,uBARK,EASLnH,mBATK,EAUL1D,qBAVK,EAWL8K,mBAXK,CA3CO,CAAZ;AAiERV,MAAM,CAACrJ,YAAP,GAAsB;AAClBgK,EAAAA,IAAI,EAAE,SADY;AAElB5R,EAAAA,IAAI,EAAE;AAFY,CAAtB;;AChGA,IAAM6R,IAAI,GAAG,SAAPA,IAAO,OAAgC;AAAA,MAA9BpB,IAA8B,QAA9BA,IAA8B;AAAA,MAAxBtU,QAAwB,QAAxBA,QAAwB;AAAA,MAAVuP,IAAU;;AACzC,sBAAOzR,6BAAC,MAAD;AAAQ,IAAA,EAAE,EAAC,GAAX;AAAe,IAAA,IAAI,EAAEwW;AAArB,KAA+B/E,IAA/B,GAAsCvP,QAAtC,CAAP;AACH,CAFD;;ACEA,IAAM2V,aAAa,GAAG/X,mBAAa,CAAC+H,SAAD,CAAnC;AACA,IAAMiQ,sBAAsB,GAAG9X,cAAK,CAACF,aAAN,CAC3B,OAAOoI,QAAP,KAAoB,QAApB,GAA+BA,QAAQ,CAACC,IAAxC,GAA+CN,SADpB,CAA/B;;AAIA,IAAMkQ,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAAC,KAAK,EAAI;AACrC,MAAIC,QAAQ,GAAG,KAAf;;AACA,MAAID,KAAK,CAACZ,MAAV,EAAkB;AACda,IAAAA,QAAQ,GAAG,QAAX;AACH;;AACD,MAAIvN,UAAU,GAAG,MAAjB;;AACA,MAAIsN,KAAK,CAACb,KAAV,EAAiB;AACbzM,IAAAA,UAAU,GAAG,OAAb;AACH;;AACD,SAAUuN,QAAV,SAAsBvN,UAAtB;AACH,CAVD;;AAaA,AAAO,IAAMwN,WAAW,GAAG9G,gBAAU,CAAC,gBAAmEC,GAAnE,EAA2E;AAAA,MAAxEnP,QAAwE,QAAxEA,QAAwE;AAAA,4BAA9DiW,SAA8D;AAAA,MAA9DA,SAA8D,+BAAlD;AAAEf,IAAAA,MAAM,EAAE,IAAV;AAAgBD,IAAAA,KAAK,EAAE;AAAvB,GAAkD;AAAA,MAAhB1F,IAAgB;;AAE7G,sBAAOzR,6BAAC,GAAD;AAAK,IAAA,GAAG,EAAEqR;AAAV,KAAmBI,IAAnB;AAAyB,IAAA,KAAK,EAAE;AACnC7E,MAAAA,QAAQ,EAAE,OADyB;AAEnCyK,MAAAA,MAAM,EAAE,IAF2B;AAGnC7B,MAAAA,OAAO,EAAE,MAH0B;AAInCE,MAAAA,QAAQ,EAAE,MAJyB;AAKnC0C,MAAAA,eAAe,EAAEL,uBAAuB,CAACI,SAAD;AALL;AAAhC,MAOFjW,QAPE,CAAP;AAWH,CAboC,CAA9B;AAiBP,AAAO,IAAMmW,aAAa,GAAGjH,gBAAU,CAAC,iBAkBpCC,GAlBoC,EAmBnC;AAAA,0BAjBG2G,KAiBH;AAAA,MAjBGA,KAiBH,4BAjBW;AACJlL,IAAAA,GAAG,EAAE,KADD;AAEJD,IAAAA,IAAI,EAAE;AAFF,GAiBX;AAAA,MAbG3K,QAaH,SAbGA,QAaH;AAAA,MAZGoW,UAYH,SAZGA,UAYH;AAAA,MAXGC,cAWH,SAXGA,cAWH;AAAA,MARGC,KAQH,SARGA,KAQH;AAAA,MAPGC,UAOH,SAPGA,UAOH;AAAA,MANGC,aAMH,SANGA,aAMH;AAAA,4BALGxB,OAKH;AAAA,MALGA,OAKH,8BALa,IAKb;AAAA,MAJGpQ,EAIH,SAJGA,EAIH;AAAA,MAHM2K,IAGN;;AAED,MAAMtQ,KAAK,GAAGf,gBAAU,CAACgC,mBAAD,CAAV,IAA4B,EAA1C;AACA,MAAMuW,aAAa,GAAGvY,gBAAU,CAACyX,aAAD,CAAV,IAA6B,EAAnD;AACA,MAAMe,QAAQ,GAAG5E,aAAO,CAAC;AAAA,WAAM2E,aAAa,CAACzN,MAApB;AAAA,GAAD,EAA6B,CAACyN,aAAD,CAA7B,CAAxB;AACA,MAAME,iBAAiB,GAAG7E,aAAO,CAAC;AAAA,qBAAU2E,aAAV,GAAyBC,QAAzB;AAAA,GAAD,EAAqC,CAClED,aADkE,EAElEC,QAFkE,CAArC,CAAjC;AAIA,MAAME,OAAO,GAAG9M,YAAM,EAAtB;AACAlK,EAAAA,eAAS,CAAC,YAAM;AAIZ,QAAMiX,KAAK,GAAG,SAARA,KAAQ,CAAAC,cAAc,EAAI;AAC5B,UAAMC,WAAW,GAAGxY,MAAM,CAACyY,UAA3B;AACA,UAAMC,YAAY,GAAG1Y,MAAM,CAAC2Y,WAA5B;AACA,UAAM1M,MAAM,GAAG4L,UAAf;AACA,UAAMlQ,SAAS,GAAG,CAACiJ,GAAG,IAAIyH,OAAR,EAAiBnM,OAAnC;;AACA,UAAIvE,SAAS,IAAIsE,MAAjB,EAAyB;AAErBtE,QAAAA,SAAS,CAACiR,KAAV,CAAgBxM,IAAhB,GAAuB,EAAvB;AACAzE,QAAAA,SAAS,CAACiR,KAAV,CAAgBvM,GAAhB,GAAsB,EAAtB;AACA1E,QAAAA,SAAS,CAACiR,KAAV,CAAgBjC,MAAhB,GAAyB,EAAzB;AACAhP,QAAAA,SAAS,CAACiR,KAAV,CAAgBvO,KAAhB,GAAwB,EAAxB;;AACA,YAAI,CAACkO,cAAL,EAAqB;AACjB5Q,UAAAA,SAAS,CAACiR,KAAV,CAAgBC,SAAhB,GAA4B,EAA5B;AACH;;AAED,YAAMC,UAAU,GAAGzR,iBAAiB,CAAC4E,MAAD,CAAjB,CAA0B9B,qBAA1B,EAAnB;AACA,YAAM4O,aAAa,GAAGpR,SAAS,CAACwC,qBAAV,EAAtB;AAEA,YAAME,KAAK,GAAG2O,IAAI,CAACC,GAAL,CACVxC,OAAO,GACDuC,IAAI,CAACE,GAAL,CAASJ,UAAU,CAACzO,KAApB,EAA2B0O,aAAa,CAAC1O,KAAzC,CADC,GAED0O,aAAa,CAAC1O,KAHV,EAIVmO,WAJU,CAAd;AAOA,YAAIpM,IAAJ;;AACA,YAAImL,KAAK,CAACnL,IAAV,EAAgB;AACZ,cAAImL,KAAK,CAACnL,IAAN,KAAe,MAAnB,EAA2B;AACpBA,YAAAA,IADoB,GACX0M,UADW,CACpB1M,IADoB;AAE1B,WAFD,MAEO,IAAImL,KAAK,CAACnL,IAAN,KAAe,OAAnB,EAA4B;AAC/BA,YAAAA,IAAI,GAAG0M,UAAU,CAAC1M,IAAX,GAAkB0M,UAAU,CAACzO,KAApC;AACH;AACJ,SAND,MAMO,IAAIkN,KAAK,CAACb,KAAV,EAAiB;AACpB,cAAIa,KAAK,CAACb,KAAN,KAAgB,MAApB,EAA4B;AACxBtK,YAAAA,IAAI,GAAG0M,UAAU,CAAC1M,IAAX,GAAkB/B,KAAzB;AACH,WAFD,MAEO,IAAIkN,KAAK,CAACb,KAAN,KAAgB,OAApB,EAA6B;AAChCtK,YAAAA,IAAI,GAAG0M,UAAU,CAAC1M,IAAX,GAAkB0M,UAAU,CAACzO,KAA7B,GAAqCA,KAA5C;AACH;AACJ,SANM,MAMA;AACH+B,UAAAA,IAAI,GAAG0M,UAAU,CAAC1M,IAAX,GAAkB0M,UAAU,CAACzO,KAAX,GAAmB,CAArC,GAAyCA,KAAK,GAAG,CAAxD;AACH;;AACD,YAAI+B,IAAI,GAAG/B,KAAP,GAAemO,WAAnB,EAAgC;AAC5BpM,UAAAA,IAAI,IAAIA,IAAI,GAAG/B,KAAP,GAAemO,WAAvB;AACH,SAFD,MAEO,IAAIpM,IAAI,GAAG,CAAX,EAAc;AACjBA,UAAAA,IAAI,GAAG,CAAP;AACH;;AAED,YAAIC,GAAJ;AACA,YAAIsK,MAAJ;AACA,YAAIkC,SAAS,GAAGE,aAAa,CAACxO,MAA9B;;AACA,YAAIgN,KAAK,CAAClL,GAAV,EAAe;AACX,cAAIkL,KAAK,CAAClL,GAAN,KAAc,KAAlB,EAAyB;AAClBA,YAAAA,GADkB,GACVyM,UADU,CAClBzM,GADkB;AAExB,WAFD,MAEO;AACHA,YAAAA,GAAG,GAAGyM,UAAU,CAACnC,MAAjB;AACH;;AAGD,cAAMwC,uBAAuB,GACzB,MAAOL,UAAU,CAACnC,MAAX,GAAoB+B,YAArB,GAAqC,GAD/C;;AAUA,cAAIA,YAAY,KAAKrM,GAAjB,IAAwB8M,uBAAuB,IAAI,EAAvD,EAA2D;AAGvD9M,YAAAA,GAAG,GAAG,EAAN;;AACA,gBAAIkL,KAAK,CAAClL,GAAN,KAAc,QAAlB,EAA4B;AACxBsK,cAAAA,MAAM,GAAGmC,UAAU,CAACzM,GAApB;AACH,aAFD,MAEO;AACAsK,cAAAA,MADA,GACWmC,UADX,CACAnC,MADA;AAEN;;AACDkC,YAAAA,SAAS,GAAGlC,MAAZ;AACAhP,YAAAA,SAAS,CAACiR,KAAV,CAAgBC,SAAhB,GAA+BA,SAA/B;AACH,WAXD,MAWO,IAAIxM,GAAG,GAAG,CAAV,EAAa;AAChBwM,YAAAA,SAAS,GAAGH,YAAY,GAAGrM,GAA3B;AACA1E,YAAAA,SAAS,CAACiR,KAAV,CAAgBC,SAAhB,GAA+BA,SAA/B;AACH,WAHM,MAGA;AACHA,YAAAA,SAAS,GAAGH,YAAY,GAAGrM,GAA3B;AACH;AACJ,SAnCD,MAmCO,IAAIkL,KAAK,CAACZ,MAAV,EAAkB;AACrB,cAAIY,KAAK,CAACZ,MAAN,KAAiB,QAArB,EAA+B;AACxBA,YAAAA,MADwB,GACbmC,UADa,CACxBnC,MADwB;AAE9B,WAFD,MAEO;AACHA,YAAAA,MAAM,GAAGmC,UAAU,CAACzM,GAApB;AACH;;AACDwM,UAAAA,SAAS,GAAGlC,MAAZ;AACAhP,UAAAA,SAAS,CAACiR,KAAV,CAAgBC,SAAhB,GAA+BA,SAA/B;AACH,SARM,MAQA;AAEHxM,UAAAA,GAAG,GACCyM,UAAU,CAACzM,GAAX,GAAiByM,UAAU,CAACvO,MAAX,GAAoB,CAArC,GAAyCwO,aAAa,CAACxO,MAAd,GAAuB,CADpE;AAEAsO,UAAAA,SAAS,GAAGH,YAAY,GAAGrM,GAA3B;AACH;;AAGD,YACI2L,UAAU,KACTe,aAAa,CAACxO,MAAd,GAAuBsO,SAAvB,IAAoCA,SAAS,GAAGH,YAAY,GAAG,EADtD,CADd,EAGE;AAEE,cAAInB,KAAK,CAAClL,GAAN,IAAaA,GAAG,GAAGqM,YAAY,GAAG,CAAtC,EAAyC;AAErCrM,YAAAA,GAAG,GAAG,EAAN;;AACA,gBAAIkL,KAAK,CAAClL,GAAN,KAAc,QAAlB,EAA4B;AAGxBsK,cAAAA,MAAM,GAAGmC,UAAU,CAACzM,GAApB;AACH,aAJD,MAIO;AAGAsK,cAAAA,MAHA,GAGWmC,UAHX,CAGAnC,MAHA;AAIN;;AACDkC,YAAAA,SAAS,GAAGlC,MAAZ;AACH,WAbD,MAaO,IAAIY,KAAK,CAACZ,MAAN,IAAgBkC,SAAS,GAAGH,YAAY,GAAG,CAA/C,EAAkD;AAErD/B,YAAAA,MAAM,GAAG,EAAT;;AACA,gBAAIY,KAAK,CAACZ,MAAN,KAAiB,QAArB,EAA+B;AACxBtK,cAAAA,GADwB,GAChByM,UADgB,CACxBzM,GADwB;AAE9B,aAFD,MAEO;AACHA,cAAAA,GAAG,GAAGyM,UAAU,CAACnC,MAAjB;AACH;;AACDkC,YAAAA,SAAS,GAAGH,YAAY,GAAGrM,GAA3B;AACH;AACJ;;AACD1E,QAAAA,SAAS,CAACiR,KAAV,CAAgBxM,IAAhB,GAA0BA,IAA1B;;AACA,YAAIqK,OAAJ,EAAa;AAIT9O,UAAAA,SAAS,CAACiR,KAAV,CAAgBvO,KAAhB,GAA2BA,KAAK,GAAG,GAAnC;AACH;;AAGD,YAAIgC,GAAG,KAAK,EAAZ,EAAgB;AACZ1E,UAAAA,SAAS,CAACiR,KAAV,CAAgBvM,GAAhB,GAAyBA,GAAzB;AACH;;AACD,YAAIsK,MAAM,KAAK,EAAf,EAAmB;AACfhP,UAAAA,SAAS,CAACiR,KAAV,CAAgBjC,MAAhB,GAA4B+B,YAAY,GAAG/B,MAA3C;AACH;;AACD,YAAI,CAAC4B,cAAL,EAAqB;AACjB,cAAI7X,KAAK,CAAC0Y,IAAN,IAAc1Y,KAAK,CAAC0Y,IAAN,CAAWP,SAA7B,EAAwC;AACpCA,YAAAA,SAAS,GAAGG,IAAI,CAACC,GAAL,CACRJ,SADQ,EAERnO,gBAAgB,CAAChK,KAAK,CAAC0Y,IAAN,CAAWP,SAAZ,CAFR,CAAZ;AAIH;;AACDlR,UAAAA,SAAS,CAACiR,KAAV,CAAgBC,SAAhB,GAA+BA,SAA/B;AACH;AACJ;AACJ,KA3JD;;AA6JA,QAAIQ,aAAJ;;AAEA,QAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC7BD,MAAAA,aAAa,GAAGrP,iBAAiB,CAAC6N,UAAD,CAAjC;AACAwB,MAAAA,aAAa,CAACrR,OAAd,CAAsB,UAAAuR,YAAY;AAAA,eAC9BA,YAAY,CAACvM,gBAAb,CAA8B,QAA9B,EAAwCsL,KAAxC,CAD8B;AAAA,OAAlC;AAGH,KALD;;AAOA,QAAMkB,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AAChCH,MAAAA,aAAa,CAACrR,OAAd,CAAsB,UAAAuR,YAAY;AAAA,eAC9BA,YAAY,CAACtM,mBAAb,CAAiC,QAAjC,EAA2CqL,KAA3C,CAD8B;AAAA,OAAlC;AAGAe,MAAAA,aAAa,GAAG,EAAhB;AACH,KALD;;AAOA,QAAMI,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAE7B,UAAIC,eAAe,GAAG,IAAtB;AACA,UAAIzR,IAAI,GAAGwR,KAAK,CAACzN,MAAjB;;AACA,aAAO0N,eAAe,KAAK,IAApB,IAA4BzR,IAAI,KAAKT,QAA5C,EAAsD;AAClD,YAAMmS,IAAI,GAAG1R,IAAI,CAACc,YAAL,CAAkB,kBAAlB,CAAb;AACA,YAAI4Q,IAAI,KAAK,IAAb,EAAmBD,eAAe,GAAG9V,QAAQ,CAAC+V,IAAD,EAAO,EAAP,CAA1B;AACnB1R,QAAAA,IAAI,GAAGA,IAAI,CAACjB,UAAZ;AACH;;AACD,UACI0S,eAAe,KAAK,IAApB,IACAzB,aAAa,CAACzG,OAAd,CAAsBkI,eAAtB,MAA2C,CAAC,CAFhD,EAGE;AACE7B,QAAAA,cAAc,CAAC4B,KAAD,CAAd;AACH;AACJ,KAfD;;AAiBA,QAAMG,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACnBL,MAAAA,qBAAqB;AACrBF,MAAAA,kBAAkB;AAClBhB,MAAAA,KAAK,CAAC,KAAD,CAAL;AACH,KAJD;;AAMAgB,IAAAA,kBAAkB;AAClBtZ,IAAAA,MAAM,CAACgN,gBAAP,CAAwB,QAAxB,EAAkC6M,QAAlC;;AACA,QAAI/B,cAAJ,EAAoB;AAChBrQ,MAAAA,QAAQ,CAACuF,gBAAT,CAA0B,WAA1B,EAAuCyM,eAAvC;AACH;;AAEDnB,IAAAA,KAAK,CAAC,KAAD,CAAL;AAGA,WAAO,YAAM;AACTkB,MAAAA,qBAAqB;AACrBxZ,MAAAA,MAAM,CAACiN,mBAAP,CAA2B,QAA3B,EAAqC4M,QAArC;;AACA,UAAI/B,cAAJ,EAAoB;AAChBrQ,QAAAA,QAAQ,CAACwF,mBAAT,CAA6B,WAA7B,EAA0CwM,eAA1C;AACH;AACJ,KAND;AAOH,GAxNQ,EAwNN,CACClC,KADD,EAECM,UAFD,EAGCC,cAHD,EAICI,aAJD,EAKCC,QALD,EAMCvH,GAND,EAOCoH,UAPD,EAQCC,aARD,EASCxB,OATD,EAUC/V,KAAK,CAAC0Y,IAVP,CAxNM,CAAT;AAqOA/X,EAAAA,eAAS,CAAC,YAAM;AACZ,QAAI4W,aAAJ,EAAmB;AACf,OAACrH,GAAG,IAAIyH,OAAR,EAAiBnM,OAAjB,CAAyB3C,KAAzB;AACH;AACJ,GAJQ,EAIN,CAACqH,GAAD,EAAMqH,aAAN,CAJM,CAAT;AAMA,MAAInB,OAAO,gBACPvX,6BAAC,WAAD;AACI,IAAA,EAAE,EAAE8G,EADR;AAEI,IAAA,GAAG,EAAEuK,GAAG,IAAIyH,OAFhB;AAGI,IAAA,KAAK,EAAEN,KAHX;AAII,IAAA,QAAQ,EAAC,IAJb;AAKI,IAAA,SAAS,EAAER,KALf;AAMI,wBAAkBY;AANtB,KAOQnH,IAPR,GASKvP,QATL,CADJ;AAcA,sBACIlC,6BAAC,aAAD,CAAe,QAAf;AAAwB,IAAA,KAAK,EAAE6Y;AAA/B,KAcKtB,OAdL,CADJ;AAoBH,CA1SsC,CAAhC;AA6SP,IAAagD,IAAI,GAAGnJ,gBAAU,CAC1B,iBAOIC,GAPJ,EAQK;AAAA,MANGqH,aAMH,SANGA,aAMH;AAAA,MALWJ,UAKX,SALG5L,MAKH;AAAA,MAJG5F,EAIH,SAJGA,EAIH;AAAA,MAHM2K,IAGN;;AACD,MAAMtQ,KAAK,GAAGf,gBAAU,CAACgC,mBAAD,CAAV,IAA4B,EAA1C;;AADC,kBAE2DR,cAAQ,EAFnE;AAAA,MAEM4Y,sBAFN;AAAA,MAE8BC,yBAF9B;;AAGD3Y,EAAAA,eAAS,CAAC;AAAA,WAAM2Y,yBAAyB,CAACvS,QAAQ,CAACwS,aAAV,CAA/B;AAAA,GAAD,EAA0D,EAA1D,CAAT;;AAHC,mBAIyC9Y,cAAQ,EAJjD;AAAA,MAIM+Y,aAJN;AAAA,MAIqBC,gBAJrB;;AAKD,MAAMC,eAAe,GAAGza,gBAAU,CAAC0X,sBAAD,CAAlC;AACAhW,EAAAA,eAAS,CAAC;AAAA,WAAM8Y,gBAAgB,CAAC5S,eAAe,CAAC6S,eAAD,CAAhB,CAAtB;AAAA,GAAD,EAA2D,CAChEA,eADgE,CAA3D,CAAT;AAKA/Y,EAAAA,eAAS,CACL;AAAA,WAAM,YAAM;AACR,UAAI4W,aAAa,IAAI8B,sBAArB,EAA6C;AACzC,YAAIA,sBAAsB,CAACxQ,KAA3B,EAAkC;AAC9BG,UAAAA,qBAAqB,CAACqQ,sBAAD,CAArB;AACH,SAFD,MAEO,IACHA,sBAAsB,CAAC9S,UAAvB,IACA8S,sBAAsB,CAAC9S,UAAvB,CAAkCsC,KAF/B,EAGL;AAEEG,UAAAA,qBAAqB,CAACqQ,sBAAsB,CAAC9S,UAAxB,CAArB;AACH;AACJ;;AACD,UAAIiT,aAAJ,EAAmB;AACfE,QAAAA,eAAe,CAACC,WAAhB,CAA4BH,aAA5B;AACH;AACJ,KAfD;AAAA,GADK,EAiBL,CAACE,eAAD,EAAkBF,aAAlB,EAAiCH,sBAAjC,EAAyD9B,aAAzD,CAjBK,CAAT;AAoBA,SAAOiC,aAAa,GACdI,iBAAQ,CAACC,YAAT,eACEhb,6BAAC,aAAD;AACI,IAAA,GAAG,EAAEqR,GADT;AAEI,IAAA,GAAG,EAAElQ,KAAK,IAAIA,KAAK,CAACsB,GAFxB;AAGI,IAAA,UAAU,EAAE6V,UAHhB;AAII,IAAA,aAAa,EAAEI,aAJnB;AAKI,IAAA,EAAE,EAAE5R;AALR,KAMQ2K,IANR,EADF,EASEkJ,aATF,CADc,GAYd,IAZN;AAcH,CAtDyB,CAAvB;;ICjVMM,MAAM,GAAG,SAATA,MAAS,OAA2C;AAAA,0BAAzChU,OAAyC;AAAA,MAAzCA,OAAyC,6BAAjC,QAAiC;AAAA,MAAxB/E,QAAwB,QAAxBA,QAAwB;AAAA,MAAVuP,IAAU;;AAC7D,sBACIzR,6BAAC,GAAD;AACI,IAAA,EAAE,EAAC,QADP;AAEI,IAAA,OAAO,EAAEqH,UAAU,CAAC,CAACJ,OAAD,CAAD,CAFvB;AAGI,IAAA,KAAK,EAAE;AACH+J,MAAAA,OAAO,EAAE,MADN;AAEHpE,MAAAA,QAAQ,EAAE,UAFP;AAGH2H,MAAAA,aAAa,EAAE,KAHZ;AAIHD,MAAAA,UAAU,EAAE,QAJT;AAKHE,MAAAA,cAAc,EAAE,eALb;AAMHjF,MAAAA,QAAQ,EAAE,MANP;AAOHU,MAAAA,QAAQ,EAAE,KAPP;AAQHiL,MAAAA,SAAS,EAAE,KARR;AASH1F,MAAAA,OAAO,EAAE;AATN;AAHX,KAcQ/D,IAdR,GAgBSvP,QAhBT,CADJ;AAoBH,CArBM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICHMiZ,kBAAkB,GAAGnb,cAAK,CAACF,aAAN,CAAoBsb,OAApB,CAA3B;AAEP,IAAaC,mBAAmB,GAAGF,kBAAkB,CAACG,QAA/C;AACP,IAAaC,mBAAmB,GAAGJ,kBAAkB,CAACK,QAA/C;AAEP,IAAaC,cAAc,GAAG,SAAjBA,cAAiB;AAAA,SAAMzb,cAAK,CAACI,UAAN,CAAiB+a,kBAAjB,CAAN;AAAA,CAAvB;;;;;;;;;;;ICKMO,UAAU,GAAG,SAAbA,UAAa,CAACC,MAAD,EAASjP,MAAT,EAAoB;AAC1C,+BACOiP,MADP;AAEIC,IAAAA,KAAK,EAAED,MAAM,CAACC,KAAP,CAAaC,MAAb,CAAoBnP,MAAM,CAACkP,KAA3B;AAFX;AAIH,CALM;AAOP,IAAaE,WAAW,GAAG,SAAdA,WAAc,OAAe;AAAA,MAAVrK,IAAU;;AACtC,MAAMmK,KAAK,GAAGH,cAAc,EAA5B;AAEA,sBAAOzb,6BAAC,OAAD;AAAS,IAAA,OAAO,EAAE4b;AAAlB,KAA6BnK,IAA7B,EAAP;AACH,CAJM;AAMP,IAAasK,IAAI,GAAGpY,eAAM,CAACmY,WAAD,CAAN,CAAoBpL,UAApB,CAA+B;AAC/CC,EAAAA,iBAAiB,EAAE,6BAACC,IAAD,EAAOC,kBAAP,EAA8B;AAAE,WAAQ,CAAC,CAAC,IAAD,EAAO,OAAP,SAAmB3L,uBAAnB,EAAgCkK,QAAhC,CAAyCwB,IAAzC,CAAT;AAAyD;AAD7D,CAA/B,EAEfoL,KAFe,CAET,UAAA/Y,KAAK;AAAA,SAAK;AACjBgZ,IAAAA,iBAAiB,EAAE,IADF;AAEjBC,IAAAA,IAAI,EAAEjZ,KAAK,CAACkZ,IAAN,IAAclZ,KAAK,CAACiZ;AAFT,GAAL;AAAA,CAFI,CAAH,sBAUX9L,kBAVW,EAWXrK,iBAXW,EAYXnC,kBAZW,EAaXmD,IAbW,EAcXD,EAdW,CAAV;;ACpBP,IAAMsV,GAAG,GAAG,SAANA,GAAM;AAAA,MAAiBnZ,KAAjB;;AAAA,sBACRjD,6BAAC,GAAD;AACI,IAAA,EAAE,EAAC,KADP;AAEI,IAAA,KAAK,EAAC,4BAFV;AAGI,IAAA,KAAK,EAAC,MAHV;AAII,IAAA,MAAM,EAAC,MAJX;AAKI,IAAA,OAAO,EAAC,WALZ;AAMI,IAAA,IAAI,EAAC;AANT,KAOQiD,KAPR,EADQ;AAAA,CAAZ;;AAWA,IAAMoZ,eAAe,GAAG,SAAlBA,eAAkB,CAAApZ,KAAK;AAAA,sBAC3BjD,6BAAC,GAAD,EAASiD,KAAT,eACEjD;AAAM,IAAA,CAAC,EAAC;AAAR,IADF,CAD2B;AAAA,CAA7B;;AAKA,IAAMsc,iBAAiB,GAAG,SAApBA,iBAAoB,CAAArZ,KAAK;AAAA,sBAC7BjD,6BAAC,GAAD,EAASiD,KAAT,eACEjD;AAAM,IAAA,CAAC,EAAC;AAAR,IADF,CAD6B;AAAA,CAA/B;;AAKA,IAAMuc,YAAY,GAAG,SAAfA,YAAe,QACrB;AAAA,MADuBC,QACvB,SADuBA,QACvB;AAAA,MADiCC,eACjC,SADiCA,eACjC;AAAA,MADkDC,iBAClD,SADkDA,iBAClD;AAAA,yBADqE3W,IACrE;AAAA,MADqEA,IACrE,2BAD6E,MAC7E;AAAA,MADyF9C,KACzF;;AACI,sBAAQjD,6BAACA,cAAD,CAAO,QAAP,QAECwc,QAAQ,IAAIC,eAAb,gBAAgCzc,6BAAC,IAAD;AAAM,IAAA,IAAI,EAAE+F,IAAZ;AAC5B,IAAA,IAAI,EAAEyW,QAAQ,IAAIC;AADU,KAExBxZ,KAFwB;AAG5B,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,MADN;AAEH,4BAAsB;AAClBA,QAAAA,OAAO,EAAE;AADS;AAFnB;AAHqB,KAAhC,gBASIhR,6BAAC,eAAD;AACI,IAAA,IAAI,EAAE+F;AADV,KAEQ9C,KAFR;AAGI,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,MADN;AAEH,4BAAsB;AAClBA,QAAAA,OAAO,EAAE;AADS;AAFnB;AAHX,KAXJ,EAuBCwL,QAAQ,IAAIE,iBAAb,gBAAkC1c,6BAAC,IAAD;AAAM,IAAA,IAAI,EAAE+F,IAAZ;AAC9B,IAAA,IAAI,EAAEyW,QAAQ,IAAIE;AADY,KAE1BzZ,KAF0B;AAG9B,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,OADN;AAEH,4BAAsB;AAClBA,QAAAA,OAAO,EAAE;AADS;AAFnB;AAHuB,KAAlC,gBAUIhR,6BAAC,iBAAD;AACI,IAAA,IAAI,EAAE+F;AADV,KAEQ9C,KAFR;AAGI,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,OADN;AAEH,4BAAsB;AAClBA,QAAAA,OAAO,EAAE;AADS;AAFnB;AAHX,KAjCJ,CAAR;AAgDmB,CAlDvB;;AAsDA,IAAa2L,QAAQ,GAAGvL,gBAAU,CAAC,iBAOnBC,GAPmB,EAOX;AAAA,MANpBnO,SAMoB,SANpBA,SAMoB;AAAA,MALpB4D,EAKoB,SALpBA,EAKoB;AAAA,MAJpB0V,QAIoB,SAJpBA,QAIoB;AAAA,MAHpBC,eAGoB,SAHpBA,eAGoB;AAAA,MAFpBC,iBAEoB,SAFpBA,iBAEoB;AAAA,MADpBzV,OACoB,SADpBA,OACoB;AAAA,MAAjBhE,KAAiB;;AAChB,sBACAjD,6BAAC,GAAD,qBACIA,6BAAC,GAAD;AACI,IAAA,GAAG,EAAEqR,GADT;AAEI,IAAA,EAAE,EAAC,OAFP;AAGI,IAAA,IAAI,EAAC;AAHT,KAIQpO,KAJR;AAKI,IAAA,EAAE,EAAE;AACA2J,MAAAA,QAAQ,EAAE,UADV;AAEA4G,MAAAA,OAAO,EAAE,CAFT;AAGA6D,MAAAA,MAAM,EAAE,CAAC,CAHT;AAIAvM,MAAAA,KAAK,EAAE,CAJP;AAKAE,MAAAA,MAAM,EAAE,CALR;AAMA0K,MAAAA,QAAQ,EAAE;AANV;AALR,KADJ,eAeI1V,6BAAC,GAAD,CAAK,aAAL;AACI,IAAA,EAAE,EAAEuc,YADR;AAEI,mBAAY,MAFhB;AAGI,IAAA,OAAO,gBAAatV,OAAO,GAAG,MAAIA,OAAP,GAAiB,EAArC,CAHX;AAII,IAAA,SAAS,EAAE/D,SAJf;AAKI,IAAA,iBAAiB,EAAEwZ,iBALvB;AAMI,IAAA,eAAe,EAAED,eANrB;AAOI,IAAA,QAAQ,EAAED,QAPd;AAQI,IAAA,EAAE,EAAE1V;AARR,KASQjB,cAAc,CAAC5C,KAAD,CATtB;AAUI,IAAA,KAAK,EAAE;AACH2Z,MAAAA,EAAE,EAAE,OADD;AAEH3F,MAAAA,YAAY,EAAE,CAFX;AAGH7G,MAAAA,KAAK,EAAE,SAHJ;AAIH,4BAAsB;AAClBA,QAAAA,KAAK,EAAE;AADW,OAJnB;AAOH,0BAAoB;AAChByM,QAAAA,EAAE,EAAE;AADY,OAPjB;AAUH,6BAAuB;AACnBA,QAAAA,EAAE,EAAE,SADe;AAEnBzM,QAAAA,KAAK,EAAE;AAFY;AAVpB;AAVX,KAfJ,CADA;AA2CF,CAnD4B,CAA3B;;;;;;;;;;;ACxEP,IAAM0M,eAAe,GAAGpG,oBAAa,CAAC;AAClCC,EAAAA,KAAK,EAAE,iBAD2B;AAElC/F,EAAAA,IAAI,EAAE,SAF4B;AAGlCuD,EAAAA,QAAQ,EAAE;AACNyC,IAAAA,OAAO,EAAE;AADH;AAHwB,CAAD,CAArC;AASA,IAAMmG,aAAa,GAAGrG,oBAAa,CAAC;AAChCC,EAAAA,KAAK,EAAE,eADyB;AAEhC/F,EAAAA,IAAI,EAAE,QAF0B;AAGhCuD,EAAAA,QAAQ,EAAE;AACNyC,IAAAA,OAAO,EAAE;AADH;AAHsB,CAAD,CAAnC;AAUA,IAAMoG,YAAY,GAAGtG,oBAAa,CAAC;AAC/BC,EAAAA,KAAK,EAAE,cADwB;AAE/B/F,EAAAA,IAAI,EAAE,MAFyB;AAG/BuD,EAAAA,QAAQ,EAAE;AACN2C,IAAAA,MAAM,EAAE;AACJvB,MAAAA,OAAO,EAAE,QADL;AAEJK,MAAAA,QAAQ,EAAE,MAFN;AAGJC,MAAAA,UAAU,EAAE;AAHR;AADF;AAHqB,CAAD,CAAlC;AAaA,IAAMoH,WAAW,GAAGtZ,eAAM,CAAC,OAAD,CAAN,CAAgB+M,UAAhB,CAA2B;AAC3CC,EAAAA,iBAAiB,EAAE,6BAACC,IAAD,EAAOC,kBAAP,EAA8B;AAAE,WAAOA,kBAAkB,CAACD,IAAD,CAAlB,IAA4B,CAAC,UAAI1L,uBAAJ,EAAiBkK,QAAjB,CAA0BwB,IAA1B,CAApC;AAAqE;AAD7E,CAA3B,CAAH,sBAiBXkM,eAjBW,EAkBXC,aAlBW,EAmBXC,YAnBW,EAsBX/V,OAtBW,EAuBXH,EAvBW,EAwBXqJ,oBAAO,CACLoF,oBADK,EAELnF,kBAFK,EAGLG,uBAHK,EAILkH,uBAJK,EAKLnH,mBALK,EAML1D,qBANK,EAOL8K,mBAPK,EAQL5M,kBARK,EASLE,mBATK,EAULgG,oBAVK,CAxBI,CAAjB;AAsCAiM,WAAW,CAACtP,YAAZ,GAA2B;AACvBuP,EAAAA,IAAI,EAAE,MADiB;AAEvBjW,EAAAA,OAAO,EAAE,SAFc;AAGvBlB,EAAAA,IAAI,EAAE;AAHiB,CAA3B;AAOA,IAAaoX,KAAK,GAAInd,cAAK,CAACoR,UAAN,CAAiB,gBAA+BC,GAA/B,EAAuC;AAAA,MAArCsB,EAAqC,QAArCA,EAAqC;AAAA,MAAlC5M,IAAkC,QAAlCA,IAAkC;AAAA,MAA7BqX,OAA6B,QAA7BA,OAA6B;AAAA,MAAhBna,KAAgB;;AAG1E,sBACIjD,6BAAC,IAAD;AAAM,IAAA,KAAK,EAAE;AACT4M,MAAAA,QAAQ,EAAE,UADD;AAET9B,MAAAA,KAAK,EAAE;AAFE;AAAb,KAGOpF,cAAc,CAACzC,KAAD,CAHrB,EAGmCoD,cAAc,CAACpD,KAAD,CAHjD,GAIKA,KAAK,CAACiZ,IAAN,iBAEOlc,6BAAC,IAAD;AACI,IAAA,KAAK,EAAE;AACHoQ,MAAAA,KAAK,EAAC,SADH;AAEHxD,MAAAA,QAAQ,EAAE,UAFP;AAGH9B,MAAAA,KAAK,EAAE,MAHJ;AAIHwJ,MAAAA,UAAU,EAAE,QAJT;AAKHE,MAAAA,cAAc,EAAE,QALb;AAMH1H,MAAAA,GAAG,EAAC,CAND;AAOHsK,MAAAA,MAAM,EAAE,CAPL;AAQHD,MAAAA,KAAK,EAAEiG,OAAO,GAAG,CAAH,GAAO,IARlB;AASHvQ,MAAAA,IAAI,EAAEuQ,OAAO,GAAG,IAAH,GAAU;AATpB;AADX,KAYKna,KAAK,CAACiZ,IAZX,CANZ,eAqBIlc,6BAAC,WAAD;AAAa,IAAA,EAAE,EAAE2S,EAAjB;AAAqB,IAAA,OAAO,EAAEyK,OAA9B;AAAuC,IAAA,IAAI,EAAErX;AAA7C,KAAuD9C,KAAvD;AAA8D,IAAA,GAAG,EAAEoO;AAAnE,KArBJ,CADJ;AA0BH,CA7BqB,CAAf;AA+BP8L,KAAK,CAACxP,YAAN,GAAqB;AACjBgF,EAAAA,EAAE,EAAE,OADa;AAEjBuK,EAAAA,IAAI,EAAE,MAFW;AAGjBjW,EAAAA,OAAO,EAAE,SAHQ;AAIjBlB,EAAAA,IAAI,EAAE;AAJW,CAArB;;IChHasX,KAAK,GAAG,SAARA,KAAQ,OAAmC;AAAA,MAAjCnb,QAAiC,QAAjCA,QAAiC;AAAA,MAAvB+E,OAAuB,QAAvBA,OAAuB;AAAA,MAAXhE,KAAW;;AACpD,sBAAOjD,6BAAC,IAAD;AAAM,IAAA,EAAE,EAAC;AAAT,KAAqBiD,KAArB;AAA4B,IAAA,OAAO,EAAEgE;AAArC,MACF/E,QADE,CAAP;AAGH,CAJM;;ACCP,IAAMob,UAAU,aACTpY,uBADS,GAEZ,IAFY,EAGZ,SAHY,EAIZ,UAJY,EAKZ,iBALY,EAMZ,mBANY,EAAhB;AAUA,IAAMF,KAAG,GAAG,IAAIC,MAAJ,QAAgBqY,UAAU,CAACxa,IAAX,CAAgB,GAAhB,CAAhB,QAAZ;;AACA,IAAM8D,UAAQ,GAAG,SAAXA,QAAW,CAACxB,IAAD;AAAA,SAAU,UAACnC,KAAD,EAAW;AAClC,QAAMoC,IAAI,GAAG,EAAb;;AACA,SAAK,IAAMC,GAAX,IAAkBrC,KAAlB,EAAyB;AACrB,UAAImC,IAAI,CAACE,GAAG,IAAI,EAAR,CAAR,EAAqBD,IAAI,CAACC,GAAD,CAAJ,GAAYrC,KAAK,CAACqC,GAAD,CAAjB;AACxB;;AACD,WAAOD,IAAP;AACH,GANgB;AAAA,CAAjB;;AAOA,IAAMQ,gBAAc,GAAGe,UAAQ,CAAC,UAAAjB,CAAC;AAAA,SAAIX,KAAG,CAACI,IAAJ,CAASO,CAAT,CAAJ;AAAA,CAAF,CAA/B;;AAIA,IAAMyW,KAAG,GAAG,SAANA,GAAM;AAAA,MAAYnZ,KAAZ;;AAAA,sBACRjD,6BAAC,GAAD;AACI,IAAA,EAAE,EAAC,KADP;AAEI,IAAA,KAAK,EAAC,4BAFV;AAGI,IAAA,KAAK,EAAC,MAHV;AAII,IAAA,MAAM,EAAC,MAJX;AAKI,IAAA,OAAO,EAAC,WALZ;AAMI,IAAA,IAAI,EAAC;AANT,KAOQiD,KAPR,EADQ;AAAA,CAAZ;;AAWA,IAAMsa,YAAY,GAAG,SAAfA,YAAe,CAAAta,KAAK;AAAA,sBACtBjD,6BAACoc,KAAD,EAASnZ,KAAT,eACIjD;AAAM,IAAA,CAAC,EAAC;AAAR,IADJ,CADsB;AAAA,CAA1B;;AAKA,IAAMwd,cAAc,GAAG,SAAjBA,cAAiB,CAAAva,KAAK;AAAA,sBACxBjD,6BAACoc,KAAD,EAASnZ,KAAT,eACIjD;AAAM,IAAA,CAAC,EAAC;AAAR,IADJ,CADwB;AAAA,CAA5B;;AAMA,IAAMyd,SAAS,GAAG,SAAZA,SAAY,QAClB;AAAA,MADoBjB,QACpB,SADoBA,QACpB;AAAA,MAD8BC,eAC9B,SAD8BA,eAC9B;AAAA,MAD+CC,iBAC/C,SAD+CA,iBAC/C;AAAA,yBADkE3W,IAClE;AAAA,MADkEA,IAClE,2BAD0E,MAC1E;AAAA,MADsF9C,KACtF;;AACI,sBAAQjD,6BAACA,cAAD,CAAO,QAAP,QAECwc,QAAQ,IAAIC,eAAb,gBAAgCzc,6BAAC,IAAD;AAAM,IAAA,IAAI,EAAE+F,IAAZ;AAC5B,IAAA,IAAI,EAAEyW,QAAQ,IAAIC;AADU,KAExBxZ,KAFwB;AAG5B,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,MADN;AAEH,4BAAsB;AAClBA,QAAAA,OAAO,EAAE;AADS;AAFnB;AAHqB,KAAhC,gBASIhR,6BAAC,YAAD;AACI,IAAA,IAAI,EAAE+F;AADV,KAEQ9C,KAFR;AAGI,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,MADN;AAEH,4BAAsB;AAClBA,QAAAA,OAAO,EAAE;AADS;AAFnB;AAHX,KAXJ,EAuBCwL,QAAQ,IAAIE,iBAAb,gBAAkC1c,6BAAC,IAAD;AAAM,IAAA,IAAI,EAAE+F,IAAZ;AAC9B,IAAA,IAAI,EAAEyW,QAAQ,IAAIE;AADY,KAE1BzZ,KAF0B;AAG9B,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,OADN;AAEH,4BAAsB;AAClBA,QAAAA,OAAO,EAAE;AADS;AAFnB;AAHuB,KAAlC,gBAUIhR,6BAAC,cAAD;AACI,IAAA,IAAI,EAAE+F;AADV,KAEQ9C,KAFR;AAGI,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,OADN;AAEH,4BAAsB;AAClBA,QAAAA,OAAO,EAAE;AADS;AAFnB;AAHX,KAjCJ,CAAR;AAgDmB,CAlDvB;;AAsDA,IAAa0M,KAAK,GAAGtM,gBAAU,CAAC,iBAIhBC,GAJgB;AAAA,MAC5BnO,SAD4B,SAC5BA,SAD4B;AAAA,MAE5B4D,EAF4B,SAE5BA,EAF4B;AAAA,MAG5BG,OAH4B,SAG5BA,OAH4B;AAAA,MAIzBhE,KAJyB;;AAAA,sBAKxBjD,6BAAC,GAAD,qBACIA,6BAAC,GAAD;AACI,IAAA,GAAG,EAAEqR,GADT;AAEI,IAAA,EAAE,EAAC,OAFP;AAGI,IAAA,IAAI,EAAC;AAHT,KAIQpO,KAJR;AAKI,IAAA,EAAE,EAAE;AACA2J,MAAAA,QAAQ,EAAE,UADV;AAEA4G,MAAAA,OAAO,EAAE,CAFT;AAGA6D,MAAAA,MAAM,EAAE,CAAC,CAHT;AAIAvM,MAAAA,KAAK,EAAE,CAJP;AAKAE,MAAAA,MAAM,EAAE,CALR;AAMA0K,MAAAA,QAAQ,EAAE;AANV;AALR,KADJ,eAeI1V,6BAAC,GAAD,CAAK,aAAL;AACI,IAAA,EAAE,EAAEyd,SADR;AAEI,mBAAY,MAFhB;AAGI,IAAA,OAAO,aAAUxW,OAAO,GAAG,MAAIA,OAAP,GAAiB,EAAlC,CAHX;AAII,IAAA,SAAS,EAAE/D,SAJf;AAKI,IAAA,EAAE,EAAE4D;AALR,KAMQjB,gBAAc,CAAC5C,KAAD,CANtB;AAOI,IAAA,KAAK,EAAE;AACH2Z,MAAAA,EAAE,EAAE,OADD;AAEH3F,MAAAA,YAAY,EAAE,IAFX;AAGH7G,MAAAA,KAAK,EAAE,SAHJ;AAIH,4BAAsB;AAClBA,QAAAA,KAAK,EAAE;AADW,OAJnB;AAOH,0BAAoB;AAChByM,QAAAA,EAAE,EAAE;AADY,OAPjB;AAUH,6BAAuB;AACfA,QAAAA,EAAE,EAAE,SADW;AAEnBzM,QAAAA,KAAK,EAAE;AAFY;AAVpB;AAPX,KAfJ,CALwB;AAAA,CAAD,CAAxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChGP,IAAMuN,SAAS,GAAG,SAAZA,SAAY;AAAA,uBAAE5X,IAAF;AAAA,MAAEA,IAAF,0BAAS,EAAT;AAAA,MAAgB0L,IAAhB;;AAAA,sBACdzR;AACI,IAAA,KAAK,EAAC,4BADV;AAEI,IAAA,KAAK,EAAE+F,IAFX;AAGI,IAAA,MAAM,EAAEA,IAHZ;AAII,IAAA,OAAO,EAAC,WAJZ;AAKI,IAAA,IAAI,EAAC;AALT,kBAOI/F;AAAM,IAAA,CAAC,EAAC;AAAR,IAPJ,CADc;AAAA,CAAlB;;AAaA,IAAM4d,UAAU,GAAG,SAAbA,UAAa,QAAc;AAAA,MAAX1B,IAAW,SAAXA,IAAW;AAC7B,sBAAOlc,6BAAC,IAAD;AACH,IAAA,EAAE,EAAE;AACA6d,MAAAA,EAAE,EAAE,CAAC,EADL;AAEAC,MAAAA,SAAS,EAAE,QAFX;AAGAxJ,MAAAA,UAAU,EAAE,QAHZ;AAIAgD,MAAAA,aAAa,EAAE,MAJf;AAKA1K,MAAAA,QAAQ,EAAE,UALV;AAMAE,MAAAA,GAAG,EAAE,CANL;AAOAsK,MAAAA,MAAM,EAAE,CAPR;AAQAD,MAAAA,KAAK,EAAE;AARP;AADD,KAaF+E,IAAI,iBAAIlc,6BAAC,SAAD,OAbN,CAAP;AAeH,CAhBD;;AAkBA,IAAM+d,eAAe,GAAGpa,eAAM,CAAC8M,GAAD,CAAN,CACpBxJ,oBAAO,CAAC;AACJ2J,EAAAA,IAAI,EAAE,OADF;AAEJ+F,EAAAA,KAAK,EAAE,eAFH;AAGJxC,EAAAA,QAAQ,EAAE;AACN,eAAS;AACLO,MAAAA,WAAW,EAAE,SADR;AAEL,gBAAU;AACNlE,QAAAA,SAAS,EAAE9L,UAAF,sBAAQ,UAAAsZ,CAAC;AAAA,gCAAiBA,CAAC,CAAC1c,MAAF,CAASsV,OAA1B;AAAA,SAAT;AADH;AAFL,KADH;AAONqH,IAAAA,MAAM,EAAE;AACJvJ,MAAAA,WAAW,EAAE,QADT;AAEJ,wBAAkB;AACdlE,QAAAA,SAAS,EAAE9L,UAAF,uBAAQ,UAAAsZ,CAAC;AAAA,gCAAiBA,CAAC,CAAC1c,MAAF,CAAS2c,MAA1B;AAAA,SAAT;AADK;AAFd,KAPF;AAaNC,IAAAA,OAAO,EAAE;AACLxJ,MAAAA,WAAW,EAAE,SADR;AAEL,wBAAkB;AACdlE,QAAAA,SAAS,EAAE9L,UAAF,uBAAQ,UAAAsZ,CAAC;AAAA,gCAAiBA,CAAC,CAAC1c,MAAF,CAAS4c,OAA1B;AAAA,SAAT;AADK;AAFb,KAbH;AAmBNC,IAAAA,IAAI,EAAE;AACFzJ,MAAAA,WAAW,EAAE,MADX;AAEF,wBAAkB;AACdlE,QAAAA,SAAS,EAAE9L,UAAF,uBAAQ,UAAAsZ,CAAC;AAAA,gCAAiBA,CAAC,CAAC1c,MAAF,CAAS6c,IAA1B;AAAA,SAAT;AADK;AAFhB;AAnBA;AAHN,CAAD,CADa,CAAxB;AAiCA,IAAMC,MAAM,GAAGhN,gBAAU,CAAC,iBAA2CC,GAA3C,EAAmD;AAAA,MAAhDpK,OAAgD,SAAhDA,OAAgD;AAAA,MAAvC/E,QAAuC,SAAvCA,QAAuC;AAAA,MAA7Bmc,OAA6B,SAA7BA,OAA6B;AAAA,MAAjBpb,KAAiB;;AAAA,MAClEiZ,IADkE,GAC1DjZ,KAD0D,CAClEiZ,IADkE;AAEzE,MAAMoC,SAAS,GAAGjN,GAAG,IAAIrF,YAAM,EAA/B;AAEA,sBAAOhM,6BAAC,IAAD,eAAU0F,cAAc,CAACzC,KAAD,CAAxB,EAAqCoD,cAAc,CAACpD,KAAD,CAAnD;AAA4D,IAAA,KAAK,EAAE;AAAE6H,MAAAA,KAAK,EAAE,aAAT;AAC1E8B,MAAAA,QAAQ,EAAE;AADgE;AAAnE,mBAEH5M,6BAAC,eAAD;AACI,IAAA,GAAG,EAAEse,SADT;AAEI,IAAA,EAAE,EAAC,QAFP;AAGI,IAAA,OAAO,cAAWrX,OAAO,GAAG,MAAMA,OAAT,GAAmB,EAArC;AAHX,KAIQrB,eAAe,CAAC3C,KAAD,CAJvB;AAKI,IAAA,KAAK,EAAE;AACH+N,MAAAA,OAAO,EAAE,OADN;AAEHlG,MAAAA,KAAK,EAAE,MAFJ;AAGHyT,MAAAA,CAAC,EAAE,OAHA;AAIHC,MAAAA,UAAU,EAAE,MAJT;AAKH5I,MAAAA,QAAQ,EAAE,SALP;AAMHC,MAAAA,UAAU,EAAE,SANT;AAOHvF,MAAAA,MAAM,EAAE,WAPL;AAQHoE,MAAAA,WAAW,EAAE,SARV;AASHuC,MAAAA,YAAY,EAAE,QATX;AAUH7G,MAAAA,KAAK,EAAE,SAVJ;AAWHqO,MAAAA,EAAE,EAAE,MAXD;AAYH5B,MAAAA,EAAE,EAAE,aAZD;AAaH,gBAAU;AACNrH,QAAAA,OAAO,EAAE;AADH;AAbP;AALX,MAuBM6I,OAAO,GACHtP,MAAM,CAAC2P,OAAP,CAAeL,OAAf,EAAwB9a,GAAxB,CAA6B,iBAAkBob,CAAlB;AAAA,QAAEC,MAAF;AAAA,QAAU5C,KAAV;AAAA,wBAC3Bhc;AAAQ,MAAA,GAAG,EAAE2e;AAAb,OAAoB3C,KAApB,GAA4B4C,MAA5B,CAD2B;AAAA,GAA7B,CADG,GAIH1c,QA3BV,CAFG,eAiCHlC,6BAAC,UAAD;AAAY,IAAA,IAAI,EAAEkc;AAAlB,IAjCG,CAAP;AAoCH,CAxCwB,CAAzB;;AA0CAkC,MAAM,CAACS,MAAP,GAAgB;AAAA,MAAG3c,QAAH,SAAGA,QAAH;AAAA,MAAgBe,KAAhB;;AAAA,sBAA4BjD,uCAAYiD,KAAZ,EAAoBf,QAApB,CAA5B;AAAA,CAAhB;;;;;;;;;;;IC9Ga4c,WAAW,GAAGC,wBAAH,sBAoBD;AAAA,MAAG5d,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAAC6d,KAAN,CAAYC,IAA3B;AAAA,CApBC,EAqBH;AAAA,MAAG9d,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAAC+d,SAAN,CAAgB/W,IAA/B;AAAA,CArBG,CAAjB;;ACHA,IAAMgX,cAAc,GAAG;AAC5BC,EAAAA,QAAQ,EAAE,EADkB;AAE5BC,EAAAA,WAAW,EAAE,EAFe;AAG5BC,EAAAA,WAAW,EAAE,CAHe;AAI5BlX,EAAAA,SAAS,EAAE;AACTrE,IAAAA,EAAE,EAAE,OADK;AAETC,IAAAA,EAAE,EAAE,OAFK;AAGTC,IAAAA,EAAE,EAAE,OAHK;AAITC,IAAAA,EAAE,EAAE;AAJK;AAJiB,CAAvB;;ACIP,IAAMqb,UAAU,GAAG,YAAnB;AAGA,IAAMC,WAAW,GAAG,EAApB;;AAGA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACte,KAAD;AAAA,SAAWue,IAAI,CAACC,SAAL,CAAgBxe,KAAK,IAAIA,KAAK,CAACoe,UAAD,CAAf,IAAgC,EAA/C,CAAX;AAAA,CAA9B;;AAIA,IAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAACze,KAAD,EAAW;AAC7B,MAAM0e,SAAS,GAAI1e,KAAK,IAAIA,KAAK,CAACoe,UAAD,CAAf,IAAgC,EAAlD;;AACA,MAAMO,IAAI,kCACLX,cADK,GAELU,SAFK;AAGRzX,IAAAA,SAAS,wBACJ+W,cAAc,CAAC/W,SADX,GAEJyX,SAAS,CAACzX,SAFN;AAHD,IAAV;;AAQA,SAAO0X,IAAP;AACH,CAXD;;AAcA,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAAa;AAAA,MAAX5e,KAAW,QAAXA,KAAW;AAC3B,MAAM6e,OAAO,GAAGP,qBAAqB,CAACte,KAAD,CAArC;;AACA,MAAIqe,WAAW,CAAC,CAAD,CAAX,KAAmBQ,OAAvB,EAAgC;AAC9B,WAAOR,WAAW,CAAC,CAAD,CAAlB;AACD;;AACD,MAAMM,IAAI,GAAGF,aAAa,CAACze,KAAD,CAA1B;AACAqe,EAAAA,WAAW,CAAC,CAAD,CAAX,GAAiBQ,OAAjB;AACAR,EAAAA,WAAW,CAAC,CAAD,CAAX,GAAiBM,IAAjB;AACA,SAAOA,IAAP;AACH,CATD;;AAYA,AAAO,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAChd,KAAD,EAAW;AAC1C,MAAMid,QAAQ,GAAGnR,MAAM,CAACC,IAAP,CAAY/L,KAAZ,CAAjB;AACA,MAAMkd,eAAe,GAAGpR,MAAM,CAACC,IAAP,CAAY/L,KAAK,CAAC9B,KAAN,CAAYkD,WAAxB,CAAxB;AACA,MAAMA,WAAW,GAAG6b,QAAQ,CAAC3W,MAAT,CAAgB,UAAA6W,KAAK;AAAA,WAAI,CAACD,eAAe,CAACjO,OAAhB,CAAwBkO,KAAxB,CAAL;AAAA,GAArB,CAApB;AACA,MAAMC,iBAAiB,GAAGhc,WAAW,CAAC2J,IAAZ,CAAiB,UAACQ,GAAD,EAAMC,GAAN,EAAc;AACrD,QAAM6R,QAAQ,GAAGhR,SAAS,CAACrM,KAAK,CAAC9B,KAAN,CAAYkD,WAAZ,CAAwBmK,GAAxB,CAAD,CAA1B;AACA,QAAM+R,QAAQ,GAAGjR,SAAS,CAACrM,KAAK,CAAC9B,KAAN,CAAYkD,WAAZ,CAAwBoK,GAAxB,CAAD,CAA1B;AACA,WAAQ6R,QAAQ,GAAGC,QAAnB;AACH,GAJyB,CAA1B;AAKA,SAAOF,iBAAP;AACH,CAVM;AAYP,AAAO,IAAMG,WAAW,GAAG,SAAdA,WAAc,CAACvd,KAAD,EAAW;AAClC,SAAO8c,SAAS,CAAC9c,KAAD,CAAT,CAAiBmc,QAAxB;AACH,CAFM;AAIP,AAAO,IAAMqB,cAAc,GAAG,SAAjBA,cAAiB,CAACxd,KAAD,EAAW;AACrC,SAAO8c,SAAS,CAAC9c,KAAD,CAAT,CAAiBoc,WAAxB;AACH,CAFM;AAIP,AAAO,IAAMqB,cAAc,GAAG,SAAjBA,cAAiB,CAACzd,KAAD,EAAW;AACrC,SAAO8c,SAAS,CAAC9c,KAAD,CAAT,CAAiBqc,WAAxB;AACH,CAFM;AAIP,AAAO,IAAMqB,YAAY,GAAG,SAAfA,YAAe,CAAC1d,KAAD,EAAW;AACnC,SAAO,UAACwB,UAAD;AAAA,WAAgBsb,SAAS,CAAC9c,KAAD,CAAT,CAAiBmF,SAAjB,CAA2B3D,UAA3B,CAAhB;AAAA,GAAP;AACH,CAFM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzDP,IAAMmc,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAA3d,KAAK,EAAI;AACvC,MAAM4d,eAAe,GAAG9R,MAAM,CAACC,IAAP,CAAY/L,KAAK,CAAC9B,KAAN,CAAYkD,WAAxB,CAAxB;;AACA,MAAG,CAACpB,KAAK,CAAC6d,KAAV,EAAiB;AACb,WAAOpc,UAAP,sBACMmc,eAAe,CAACtd,GAAhB,CAAoB,UAAAkB,UAAU,EAAI;AAChC,UAAGkc,YAAY,CAAC1d,KAAD,CAAZ,CAAoBwB,UAApB,CAAH,EAAoC;AAChC,eAAOE,WAAW,CAACF,UAAD,CAAlB,uBACiB,UAACxB,KAAD;AAAA,iBAAW0d,YAAY,CAAC1d,KAAD,CAAZ,CAAoBwB,UAApB,CAAX;AAAA,SADjB;AAGH,OAJD,MAIO;AACH,eAAO,IAAP;AACH;AACJ,KARC,CADN;AAYH;AACJ,CAhBD;;AAkBA,IAAMsc,eAAe,GAAGpd,eAAM,CAACqd,GAAV,uBAID,UAAA/d,KAAK;AAAA,SAAIyd,cAAc,CAACzd,KAAD,CAAlB;AAAA,CAJJ,EAKA,UAAAA,KAAK;AAAA,SAAIyd,cAAc,CAACzd,KAAD,CAAlB;AAAA,CALL,EAOf2d,yBAPe,EAQfzQ,oBAAO,CAACvM,kBAAD,EAAQuC,mBAAR,EAAgBkK,oBAAhB,CARQ,CAArB;;AAWA,IAAM4Q,SAAS,GAAG,SAAZA,SAAY,OAA8B;AAAA,wBAA5BH,KAA4B;AAAA,MAA5BA,KAA4B,2BAApB,KAAoB;AAAA,MAAVrP,IAAU;;AAC5C,sBAAOzR,6BAAC,GAAD,CAAK,aAAL;AAAmB,IAAA,EAAE,EAAE+gB,eAAvB;AAAyC,IAAA,KAAK,EAAED;AAAhD,KAA2DrP,IAA3D,EAAP;AACH,CAFD;;AAIAwP,SAAS,CAACtT,YAAV,GAAyB;AACrBmT,EAAAA,KAAK,EAAE;AADc,CAAzB;;;;;;;;;;;ACjCA,IAAMI,SAAS,GAAGvd,eAAM,CAACqd,GAAV,sBAKK,UAAA/d,KAAK;AAAA,SAAIyd,cAAc,CAACzd,KAAD,CAAd,GAAwB,CAAC,CAA7B;AAAA,CALV,EAMI,UAAAA,KAAK;AAAA,SAAIyd,cAAc,CAACzd,KAAD,CAAd,GAAwB,CAAC,CAA7B;AAAA,CANT,EAOTkN,oBAAO,CAACvM,kBAAD,EAAQuC,mBAAR,EAAgBkK,oBAAhB,CAPE,CAAf;;AAUA,IAAM8Q,GAAG,GAAG,SAANA,GAAM,CAAAle,KAAK;AAAA,sBAAIjD,6BAAC,GAAD,CAAK,aAAL;AAAmB,IAAA,EAAE,EAAEkhB;AAAvB,KAAsCje,KAAtC,EAAJ;AAAA,CAAjB;;;;;;;;;;;;;;;;;;;;;;ACVA,IAAMme,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACne,KAAD,EAAW;AACrC,SAAOgd,mBAAmB,CAAChd,KAAD,CAAnB,CAA2BM,GAA3B,CAA+B,UAACmL,EAAD,EAAQ;AAC5C,WAAO/J,WAAW,CAAC+J,EAAD,CAAlB,sBAESzL,KAAK,CAACyL,EAAD,CAAL,IAAa,CAAb,0CAEsB,MAAM8R,WAAW,CAACvd,KAAD,CAAlB,GAA6BA,KAAK,CAACyL,EAAD,CAFvD,2CAGqB,MAAM8R,WAAW,CAACvd,KAAD,CAAlB,GAA6BA,KAAK,CAACyL,EAAD,CAHtD,gEAMIzL,KAAK,CAACyL,EAAD,CAAL,iMARb;AAoBD,GArBM,CAAP;AAsBD,CAvBD;;AAyBA,IAAM2S,SAAS,GAAG1d,eAAM,CAACqd,GAAV,uBAGM,UAAC/d,KAAD;AAAA,SAAWwd,cAAc,CAACxd,KAAD,CAAd,GAAwB,CAAnC;AAAA,CAHN,EAIK,UAACA,KAAD;AAAA,SAAWwd,cAAc,CAACxd,KAAD,CAAd,GAAwB,CAAnC;AAAA,CAJL,EAQT,UAACsb,CAAD;AAAA,SACAA,CAAC,CAACnB,OAAF,qDADA;AAAA,CARS,EAaTgE,mBAbS,EAcTjR,oBAAO,CAACvM,kBAAD,EAAQuC,mBAAR,EAAgBkK,oBAAhB,CAdE,CAAf;;AAkBA,IAAMiR,GAAG,GAAG,SAANA,GAAM,CAACre,KAAD;AAAA,sBAAWjD,6BAAC,GAAD,CAAK,aAAL;AAAmB,IAAA,EAAE,EAAEqhB;AAAvB,KAAsCpe,KAAtC,EAAX;AAAA,CAAZ;;IC7Case,MAAM,GAAGvhB,cAAK,CAACoR,UAAN,CAAiB,gBAOxBC,GAPwB,EAOhB;AAAA,wBANnBmQ,KAMmB;AAAA,MANnBA,KAMmB,2BANX,KAMW;AAAA,yBALnBC,MAKmB;AAAA,MALnBA,MAKmB,4BALV,KAKU;AAAA,0BAJnBxa,OAImB;AAAA,MAJnBA,OAImB,6BAJT,QAIS;AAAA,gCAHnBya,aAGmB;AAAA,MAHnBA,aAGmB,mCAHH,EAGG;AAAA,MADnBxf,QACmB,QADnBA,QACmB;AAAA,MAAhBuP,IAAgB;;AAEnB,MAAIkQ,UAAU,GAAG,EAAjB;;AACA,MAAIH,KAAJ,EAAW;AACPG,IAAAA,UAAU,GAAG;AACT/U,MAAAA,QAAQ,EAAE,OADD;AAETE,MAAAA,GAAG,EAAE,KAFI;AAGTD,MAAAA,IAAI,EAAE,KAHG;AAITsK,MAAAA,KAAK,EAAE;AAJE,KAAb;AAMH;;AACD,MAAMyK,OAAO,GAAGH,MAAM,GAAGI,QAAH,GAAc,KAApC;AACA,sBACI7hB,6BAAC,OAAD,eAAa0hB,aAAb;AAA4B,IAAA,KAAK,EAAE;AAC/BrK,MAAAA,MAAM,EAAE;AADuB;AAAnC,mBAGIrX,6BAAC,GAAD;AACI,IAAA,GAAG,EAAEqR,GADT;AAEI,IAAA,EAAE,EAAC,QAFP;AAGI,IAAA,OAAO,EAAEhK,UAAU,CAAC,CAACJ,OAAD,CAAD,CAHvB;AAII,IAAA,KAAK;AACD+J,MAAAA,OAAO,EAAE,MADR;AAEDpE,MAAAA,QAAQ,EAAE,UAFT;AAGD2H,MAAAA,aAAa,EAAE,KAHd;AAIDD,MAAAA,UAAU,EAAE,QAJX;AAKDE,MAAAA,cAAc,EAAE,eALf;AAMDjF,MAAAA,QAAQ,EAAE,MANT;AAODU,MAAAA,QAAQ,EAAE,KAPT;AAQDiL,MAAAA,SAAS,EAAE,KARV;AASD1F,MAAAA,OAAO,EAAE;AATR,OAUEmM,UAVF;AAJT,KAgBQlQ,IAhBR,GAkBKvP,QAlBL,CAHJ,CADJ;AA2BH,CA9CqB,CAAf;;ICFM4f,KAAK,GAAG1Q,gBAAU,CAAC,UAACnO,KAAD,EAAQoO,GAAR;AAAA,sBAAgBrR,6BAAC,GAAD,CAAK,aAAL;AAC5C,IAAA,GAAG,EAAEqR,GADuC;AAE5C,IAAA,EAAE,EAAC;AAFyC,KAGpCpO,KAHoC;AAIxC,IAAA,KAAK,EAAE;AACHsM,MAAAA,QAAQ,EAAE,MADP;AAEHvE,MAAAA,MAAM,EAAE;AAFL;AAJiC,KAAhB;AAAA,CAAD,CAAxB;;ICEM+W,IAAI,GAAG3Q,gBAAU,CAAC,gBAK5BC,GAL4B,EAKrB;AAAA,0BAJNpK,OAIM;AAAA,MAJNA,OAIM,6BAJG,MAIH;AAAA,MAHN/E,QAGM,QAHNA,QAGM;AAAA,MAFN4E,EAEM,QAFNA,EAEM;AAAA,MADH2K,IACG;;AAEN,MAAMuQ,IAAI,GAAG3e,cAAQ,CAACC,OAAT,CAAiBpB,QAAjB,EACUqH,MADV,CACiB,UAAA/F,KAAK;AAAA,WAAIA,KAAJ;AAAA,GADtB,EAEUD,GAFV,CAEc,UAACC,KAAD,EAAQuK,KAAR,EAAkB;AAEzC,QAAMkU,GAAG,GAAGxe,kBAAY,CAACD,KAAD,EAAQ;AAC5ByD,MAAAA,OAAO,EAAEzD,KAAK,CAACP,KAAN,CAAYgE,OAAZ,IAAuBA;AADJ,KAAR,CAAxB;AAIA,wBAAQjH,6BAACoW,cAAD;AAAU,MAAA,GAAG,EAAErI;AAAf,OACHkU,GADG,CAAR;AAGH,GAXY,CAAb;AAcA,sBACIjiB,6BAAC,GAAD;AACI,IAAA,GAAG,EAAEqR,GADT;AAEI,IAAA,EAAE,EAAEvK;AAFR,KAGQjB,cAAc,CAAC4L,IAAD,CAHtB;AAII,IAAA,OAAO,EAAExK,OAJb;AAKI,IAAA,KAAK,EAAE;AACHsO,MAAAA,OAAO,EAAE,OADN;AAEHvE,MAAAA,OAAO,EAAE,MAFN;AAGHsD,MAAAA,UAAU,EAAE,QAHT;AAKHC,MAAAA,aAAa,EAAE,CAAC,QAAD,EAAY,KAAZ;AALZ;AALX,MAaSyN,IAbT,CADJ;AAmBH,CAxC6B,CAAvB;;ICCME,GAAG,GAAGliB,cAAK,CAACoR,UAAN,CAAiB,gBAQjCC,GARiC,EAQzB;AAAA,0BAPPpK,OAOO;AAAA,MAPPA,OAOO,6BAPG,MAOH;AAAA,MANP/E,QAMO,QANPA,QAMO;AAAA,MALPsU,IAKO,QALPA,IAKO;AAAA,yBAJPtF,MAIO;AAAA,MAJPA,MAIO,4BAJE,KAIF;AAAA,qBAHPyB,EAGO;AAAA,MAHPA,EAGO,wBAHF,GAGE;AAAA,MAFPrN,AACGmM,IACI;;AAEP,sBACIzR,6BAAC,GAAD,CAAK,aAAL;AACI,IAAA,EAAE,EAAE2S,EADR;AAEI,IAAA,GAAG,EAAEtB,GAFT;AAGI,IAAA,IAAI,EAAEmF;AAHV,KAIQ/E,IAJR;AAKI,IAAA,OAAO,EAAEpK,UAAU,CAAC,CAACJ,OAAD,EAAUiK,MAAM,GAAG,WAAH,GAAgB,KAAhC,CAAD,CALvB;AAMI,IAAA,KAAK,EAAE;AACHd,MAAAA,KAAK,EAAE,YADJ;AAEH0F,MAAAA,cAAc,EAAE,MAFb;AAGHP,MAAAA,OAAO,EAAE,MAHN;AAIH,gBAAU;AACNE,QAAAA,MAAM,EAAE,SADF;AAENrF,QAAAA,KAAK,EAAE;AAFD;AAJP;AANX,KAeQqB,IAfR,GAiBKvP,QAjBL,CADJ;AAuBH,CAjCkB,CAAZ;;ACEP,IAAMigB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAClf,KAAD;AAAA,sBAAWjD,6BAAC,GAAD;AACpC,IAAA,KAAK,EAAE;AACH4U,MAAAA,eAAe,EAAE,MADd;AAEHtE,MAAAA,MAAM,EAAE,WAFL;AAGHoE,MAAAA,WAAW,EAAE,SAHV;AAIHa,MAAAA,OAAO,EAAE,OAJN;AAKHK,MAAAA,QAAQ,EAAE,MALP;AAMHqB,MAAAA,YAAY,EAAE,KANX;AAOHhH,MAAAA,QAAQ,EAAE,MAPP;AAQHjF,MAAAA,MAAM,EAAE,MARL;AASHoX,MAAAA,EAAE,EAAE,KATD;AAUHC,MAAAA,SAAS,EAAE,QAVR;AAWH,gBAAU;AACN5M,QAAAA,MAAM,EAAE,SADF;AAENf,QAAAA,WAAW,EAAE,YAFP;AAGNtE,QAAAA,KAAK,EAAE;AAHD,OAXP;AAgBH,sCAAgC;AAC5BA,QAAAA,KAAK,EAAE,MADqB;AAE5BwE,QAAAA,eAAe,EAAE,YAFW;AAG5BF,QAAAA,WAAW,EAAE;AAHe;AAhB7B;AAD6B,KAuBnCzR,KAAK,CAACf,QAvB6B,CAAX;AAAA,CAA7B;;AA2BA,IAAMogB,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACrf,KAAD;AAAA,sBAAWjD,6BAAC,GAAD;AACxC,IAAA,KAAK,EAAE;AACH4U,MAAAA,eAAe,EAAE,SADd;AAEHtE,MAAAA,MAAM,EAAE,WAFL;AAGHoE,MAAAA,WAAW,EAAE,SAHV;AAIHa,MAAAA,OAAO,EAAE,OAJN;AAKHK,MAAAA,QAAQ,EAAE,MALP;AAMHqB,MAAAA,YAAY,EAAE,KANX;AAOHhH,MAAAA,QAAQ,EAAE,MAPP;AAQHjF,MAAAA,MAAM,EAAE,MARL;AASHoX,MAAAA,EAAE,EAAE,KATD;AAUHC,MAAAA,SAAS,EAAE,QAVR;AAWH,gBAAU;AACN5M,QAAAA,MAAM,EAAE;AADF,OAXP;AAcH,mDAA6C;AACzCA,QAAAA,MAAM,EAAE,aADiC;AAEzCrF,QAAAA,KAAK,EAAE;AAFkC,OAd1C;AAkBH,mDAA6C;AACzCqF,QAAAA,MAAM,EAAE,aADiC;AAEzCrF,QAAAA,KAAK,EAAE;AAFkC;AAlB1C;AADiC,KAwBvCnN,KAAK,CAACf,QAxBiC,CAAX;AAAA,CAAjC;;AA4BA,IAAMqgB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACtf,KAAD;AAAA,sBAAWjD,6BAAC,GAAD;AACpC,IAAA,KAAK,EAAE;AACH4U,MAAAA,eAAe,EAAE,aADd;AAEHtE,MAAAA,MAAM,EAAE,WAFL;AAGHoE,MAAAA,WAAW,EAAE,aAHV;AAIHa,MAAAA,OAAO,EAAE,OAJN;AAKHK,MAAAA,QAAQ,EAAE,MALP;AAMHqB,MAAAA,YAAY,EAAE,KANX;AAOHhH,MAAAA,QAAQ,EAAE,MAPP;AAQHjF,MAAAA,MAAM,EAAE,MARL;AASHoX,MAAAA,EAAE,EAAE,KATD;AAUHC,MAAAA,SAAS,EAAE,QAVR;AAWH,gBAAU;AACN5M,QAAAA,MAAM,EAAE,SADF;AAENrF,QAAAA,KAAK,EAAE;AAFD;AAXP;AAD6B,KAkBnCnN,KAAK,CAACf,QAlB6B,CAAX;AAAA,CAA7B;;AAsBA,IAAMsgB,UAAU,GAAG,SAAbA,UAAa,CAAC7V,OAAD,EAAUuQ,IAAV,EAAgB1V,OAAhB,EAA4B;AAC3C,MAAI0V,IAAI,KAAK,MAAb,EAAqB;AACjB,wBAAOld,6BAAC,oBAAD,QAAuB2M,OAAvB,CAAP;AACH;;AACD,MAAIuQ,IAAI,KAAK,MAAb,EAAqB;AACjB,wBAAOld,6BAAC,wBAAD,qBAA0BA,6BAAC,IAAD;AAAM,MAAA,IAAI,EAAC,MAAX;AAAkB,MAAA,IAAI,EAAC;AAAvB,MAA1B,CAAP;AACH;;AACD,MAAIkd,IAAI,KAAK,MAAb,EAAqB;AACjB,wBAAOld,6BAAC,wBAAD,qBAA0BA,6BAAC,IAAD;AAAM,MAAA,IAAI,EAAC,MAAX;AAAkB,MAAA,IAAI,EAAC;AAAvB,MAA1B,CAAP;AACH;;AACD,MAAIkd,IAAI,KAAK,WAAb,EAA0B;AACtB,wBAAOld,6BAAC,oBAAD,qBAAsBA,6BAAC,IAAD;AAAM,MAAA,IAAI,EAAC,MAAX;AAAkB,MAAA,IAAI,EAAC;AAAvB,MAAtB,CAAP;AACH;;AACD,MAAIkd,IAAI,KAAK,WAAb,EAA0B;AACtB,wBAAOld,6BAAC,oBAAD,qBAAsBA,6BAAC,IAAD;AAAM,MAAA,IAAI,EAAC,MAAX;AAAkB,MAAA,IAAI,EAAC;AAAvB,MAAtB,CAAP;AACH;;AACD,SAAOwH,OAAP;AACH,CAjBD;;AAoBA,IAAaib,UAAU,GAAG,SAAbA,UAAa,OAGpB;AAAA,MAFF3b,EAEE,QAFFA,EAEE;AAAA,MADC7D,KACD;;AACF,MAAM9B,KAAK,GAAGf,gBAAU,CAACgC,mBAAD,CAAxB;AACA,sBACIpC,6BAAC,GAAD,CAAK,aAAL;AAAmB,IAAA,KAAK,EAAE;AACtBgR,MAAAA,OAAO,EAAE,MADa;AAEtBuD,MAAAA,aAAa,EAAE,KAFO;AAGtBD,MAAAA,UAAU,EAAE,QAHU;AAItBoO,MAAAA,QAAQ,EAAE,MAJY;AAKtB,oCAA8B;AAC1B/N,QAAAA,YAAY,EAAE,CAAC,KAAD,EAAQ,IAAR,EAAc,CAAd;AADY,OALR;AAQtB,0CAAoC;AAChCa,QAAAA,OAAO,EAAE;AADuB,OARd;AAWtB,gCAA0B;AACtBxE,QAAAA,OAAO,EAAE,MADa;AAEtBsD,QAAAA,UAAU,EAAE;AAFU,OAXJ;AAetB;AACItD,QAAAA,OAAO,EAAE,cADb;AAEIuE,QAAAA,OAAO,EAAE,KAFb;AAGIiJ,QAAAA,UAAU,EAAE,MAHhB;AAII5I,QAAAA,QAAQ,EAAE,SAJd;AAKIC,QAAAA,UAAU,EAAE,SALhB;AAMIvF,QAAAA,MAAM,EAAE,WANZ;AAOIF,QAAAA,KAAK,EAAE,SAPX;AAQIqH,QAAAA,UAAU,EAAE,aARhB;AASI2K,QAAAA,EAAE,EAAE;AATR,SAUO7hB,gBAAG,CAACY,KAAD,EAAQ,yBAAR,EAAmC,EAAnC,CAVV,GAWOZ,gBAAG,CAACY,KAAD,EAAQ,qBAAR,EAA+B,EAA/B,CAXV;AAfsB,KAA1B;AA4BG,IAAA,EAAE,EAAEwhB,YA5BP;AA4BqB,IAAA,MAAM,EAAEC;AA5B7B,KA4BuC3f,KA5BvC;AA4B8C,IAAA,EAAE,EAAE6D,EA5BlD;AA4BsD,IAAA,UAAU,EAAE0b;AA5BlE,KADJ;AA+BH,CApCM;;ICrGMK,GAAG,GAAGzR,gBAAU,CAAC,gBAU1BC,GAV0B,EAWzB;AAAA,MAVG4D,KAUH,QAVGA,KAUH;AAAA,MATGlH,AACA+U,QAQH,QARGA,QAQH;AAAA,MAPGC,UAOH,QAPGA,UAOH;AAAA,0BANG9b,OAMH;AAAA,MANGA,OAMH,6BANa,MAMb;AAAA,MALG+N,AACAlO,EAIH,QAJGA,EAIH;AAAA,MAHM7D,KAGN;;AAED,MAAM+f,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAA7I,KAAK,EAAI;AAC9B,QAAIA,KAAJ,EAAW;AACPA,MAAAA,KAAK,CAAC8I,cAAN;AACH;;AACDF,IAAAA,UAAU;AACb,GALD;;AAOA,sBACI/iB,6BAAC,GAAD;AACI,IAAA,GAAG,EAAEqR;AADT,KAEQpO,KAFR;AAGI,IAAA,EAAE,EAAE6D,EAHR;AAII,IAAA,OAAO,EAAEO,UAAU,CAAC,CAACJ,OAAD,EAAU6b,QAAQ,GAAG,WAAH,GAAiB,KAAnC,CAAD,CAJvB;AAKI,IAAA,SAAS,qBAAkBA,QAAQ,GAAG,sBAAH,GAA4B,EAAtD,CALb;AAMI,IAAA,KAAK,EAAE;AACHrN,MAAAA,MAAM,EAAE,SADL;AAEHjQ,MAAAA,MAAM,EAAE,CAFL;AAGHwL,MAAAA,OAAO,EAAE,MAHN;AAIHsD,MAAAA,UAAU,EAAE,QAJT;AAKHE,MAAAA,cAAc,EAAE,QALb;AAMHkO,MAAAA,QAAQ,EAAE,MANP;AAOH9N,MAAAA,eAAe,EAAEkO,QAAQ,GAAG,SAAH,GAAe,SAPrC;AAQHvN,MAAAA,OAAO,EAAE,QARN;AASH,2BAAqB;AACjBC,QAAAA,OAAO,EAAE;AADQ;AATlB,KANX;AAmBI,IAAA,OAAO,EAAEwN;AAnBb,MAqBK/N,KArBL,CADJ;AAyBH,CA7C4B,CAAtB;;ICGMiO,IAAI,GAAG9R,gBAAU,CAAC,gBAc5BC,GAd4B,EAcpB;AAAA,MAbPnP,QAaO,QAbPA,QAaO;AAAA,MAZPf,AACWgiB,cAWJ,QAXPC,SAWO;AAAA,MAVPtc,EAUO,QAVPA,EAUO;AAAA,0BATPG,OASO;AAAA,MATPA,OASO,6BATG,MASH;AAAA,0BARPoc,OAQO;AAAA,MARPA,OAQO,6BARG,KAQH;AAAA,MAPP7R,QAOO,QAPPA,QAOO;AAAA,MANP8R,UAMO,QANPA,UAMO;AAAA,MALPC,WAKO,QALPA,WAKO;AAAA,MAJPC,WAIO,QAJPA,WAIO;AAAA,MAFJ/R,IAEI;;AAAA,kBAG2B7P,cAAQ,CAAC6P,IAAI,CAAC2R,SAAL,IAAkB,CAAnB,CAHnC;AAAA,MAGAK,SAHA;AAAA,MAGWC,YAHX;;AAKP,MAAMC,OAAO,GAAG,EAAhB;AAEA,MAAMC,oBAAoB,GAAGC,yBAAY,EAAzC;AACA,MAAMC,oBAAoB,GAAGD,yBAAY,EAAzC;AACA,MAAMzO,qBAAqB,GAAG;AAC1BlE,IAAAA,MAAM,EAAE;AACJsC,MAAAA,OAAO,EAAE,CAAC,CAAD,EAAI,CAAJ;AADL;AADkB,GAA9B;AAMA,MAAMuQ,YAAY,GAAG/X,YAAM,CAAC,IAAD,CAA3B;;AAEA,MAAMgY,aAAa,GAAG,SAAhBA,aAAgB,CAAC1e,GAAD,EAAS;AAC3B,QAAM2e,aAAa,GAAGN,OAAO,CAACre,GAAD,CAAP,CAAaqH,OAAb,CAAqB/B,qBAArB,EAAtB;AACA,QAAMsZ,YAAY,GAAGH,YAAY,CAACpX,OAAb,CAAqB/B,qBAArB,EAArB;AAEAkZ,IAAAA,oBAAoB,CAACK,KAArB,CAA2B;AACvBtX,MAAAA,IAAI,EAAGoX,aAAa,CAAC7Z,CAAd,GAAkB8Z,YAAY,CAAC9Z,CADf;AAEvBU,MAAAA,KAAK,EAAEmZ,aAAa,CAACnZ;AAFE,KAA3B;AAIH,GARD;;AAUA,MAAI2Y,SAAS,KAAKN,cAAd,IAAgCA,cAAc,KAAKtb,SAAvD,EAAkE;AAC9D6b,IAAAA,YAAY,CAACP,cAAD,CAAZ;AACH;;AAEDrhB,EAAAA,eAAS,CAAC,YAAM;AACb,QAAGuhB,OAAH,EAAW;AACFW,MAAAA,aAAa,CAACP,SAAD,CAAb;AACR;AACH,GAJQ,EAIN,CAACA,SAAD,EAAYJ,OAAZ,CAJM,CAAT;;AAMA,MAAMe,cAAc,GAAG,SAAjBA,cAAiB,CAAA9e,GAAG,EAAI;AAC1Bse,IAAAA,oBAAoB,CAACO,KAArB,CAA2B,QAA3B;;AAEA,QAAIhB,cAAc,KAAKtb,SAAvB,EAAkC;AAC9B6b,MAAAA,YAAY,CAACpe,GAAD,CAAZ;AACH;;AACD,QAAIge,UAAJ,EAAgB;AACZA,MAAAA,UAAU,CAAChe,GAAD,CAAV;AACH;;AACD,QAAIkM,QAAQ,IAAIiS,SAAS,KAAKne,GAA9B,EAAmC;AAC/BkM,MAAAA,QAAQ,CAAClM,GAAD,CAAR;AACH;;AACD,QAAIie,WAAW,IAAIE,SAAS,GAAG,CAAZ,KAAkBne,GAArC,EAA0C;AACtCie,MAAAA,WAAW;AACd;;AACD,QAAIC,WAAW,IAAIC,SAAS,GAAG,CAAZ,KAAkBne,GAArC,EAA0C;AACtCke,MAAAA,WAAW;AACd;AACJ,GAlBD;;AAoBA,SAAO/R,IAAI,CAACH,WAAZ;AACA,SAAOG,IAAI,CAAC4S,QAAZ;AAEA,MAAIC,aAAJ;AAGA,MAAMC,IAAI,GAAGlhB,cAAQ,CAACE,GAAT,CACTrB,QADS,EAET,UAACsiB,GAAD,EAAMzW,KAAN,EAAgB;AACZ,QAAI,CAACyW,GAAL,EAAU,OAAO3c,SAAP;AACV,QAAM4c,QAAQ,GAAGD,GAAG,CAACvhB,KAAJ,IAAa,EAA9B;AACA,QAAMyhB,WAAW,GAAG3W,KAAK,KAAK0V,SAA9B;AAEA,QAAMpS,GAAG,GAAGrF,YAAM,EAAlB;AACA,QAAM1G,GAAG,GAAGkf,GAAG,CAACvhB,KAAJ,CAAU0hB,MAAV,IAAoB5W,KAAhC;AACA4V,IAAAA,OAAO,CAACre,GAAD,CAAP,GAAe+L,GAAf;;AAEA,QAAIqT,WAAJ,EAAiB;AACbJ,MAAAA,aAAa,GAAGG,QAAQ,CAACviB,QAAzB;AACH;;AACD,WAAOuB,kBAAY,CAAC+gB,GAAD,EAAM;AACrBzW,MAAAA,KAAK,EAALA,KADqB;AAErB+U,MAAAA,QAAQ,EAAE4B,WAFW;AAGrBzd,MAAAA,OAAO,EAAPA,OAHqB;AAIrB8b,MAAAA,UAAU,EAAE;AAAA,eAAMqB,cAAc,CAAC9e,GAAD,CAApB;AAAA,OAJS;AAKrB+L,MAAAA,GAAG,EAAHA;AALqB,KAAN,CAAnB;AAOH,GArBQ,CAAb;AA0BA,sBACIrR,6BAAC,GAAD;AACI,IAAA,SAAS,EAAC,mBADd;AAEI,IAAA,EAAE,EAAE8G;AAFR,KAGQ2K,IAHR;AAII,IAAA,OAAO,EAAEpK,UAAU,CAAC,CAACJ,OAAD,CAAD,CAJvB;AAKI,IAAA,KAAK,EAAE;AACH+J,MAAAA,OAAO,EAAE,MADN;AAEHuD,MAAAA,aAAa,EAAE,QAFZ;AAGHjE,MAAAA,MAAM,EAAE,WAHL;AAIHoE,MAAAA,WAAW,EAAE;AAJV;AALX,mBAaI1U,6BAAC,IAAD;AACI,IAAA,SAAS,EAAC,2BADd;AAEI,IAAA,GAAG,EAAE+jB,YAFT;AAGI,IAAA,KAAK,EAAE;AAAEnX,MAAAA,QAAQ,EAAE,UAAZ;AAAwBgI,MAAAA,eAAe,EAAE;AAAzC,KAHX;AAII,IAAA,OAAO,EAAEvN,UAAU,CAAC,CAACJ,OAAD,EAAU,QAAV,CAAD;AAJvB,KAMKsd,IANL,EAOKlB,OAAO,iBACJrjB,6BAAC,SAAD;AACI,IAAA,UAAU,EAAE;AAAEkU,MAAAA,IAAI,EAAE;AAAR,KADhB;AAEI,IAAA,OAAO,EAAE4P,oBAFb;AAGI,IAAA,SAAS,EAAC,kBAHd;AAII,IAAA,EAAE,EAAE;AACAlP,MAAAA,eAAe,EAAE,YADjB;AAEAhI,MAAAA,QAAQ,EAAE,UAFV;AAGAwK,MAAAA,MAAM,EAAE,GAHR;AAIAE,MAAAA,aAAa,EAAE,MAJf;AAKAxM,MAAAA,KAAK,EAAE,GALP;AAMAE,MAAAA,MAAM,EAAE,KANR;AAOA4Z,MAAAA,CAAC,EAAE,CAPH;AAQArG,MAAAA,CAAC,EAAE;AARH;AAJR,IARR,CAbJ,eAqCIve,6BAAC,GAAD;AACI,IAAA,SAAS,EAAC,4BADd;AAEI,IAAA,KAAK,EAAE;AACH6kB,MAAAA,QAAQ,EAAE;AADP,KAFX;AAKI,IAAA,OAAO,EAAExd,UAAU,CAAC,CAACJ,OAAD,EAAU,SAAV,CAAD;AALvB,kBAQIjH,6BAAC,SAAD;AACI,IAAA,SAAS,EAAC,qCADd;AAEI,IAAA,OAAO,EAAC,QAFZ;AAGI,IAAA,OAAO,EAAE4jB,oBAHb;AAII,IAAA,QAAQ,EAAExO;AAJd,KAMKkP,aANL,CARJ,CArCJ,CADJ;AA0DH,CAjK6B,CAAvB;;ICFMQ,IAAI,GAAG,SAAPA,IAAO;AAAA,MAAG5iB,QAAH,QAAGA,QAAH;AAAA,qBAAayQ,EAAb;AAAA,MAAaA,EAAb,wBAAkB,GAAlB;AAAA,MAA0BlB,IAA1B;;AAAA,sBAAqCzR,6BAAC,GAAD,eAASyR,IAAT;AAAe,IAAA,EAAE,EAAEkB,EAAnB;AAAuB,IAAA,KAAK;AACjFiD,MAAAA,QAAQ,EAAE,SADuE;AAEjFmP,MAAAA,UAAU,EAAE,SAFqE;AAGjFlP,MAAAA,UAAU,EAAE;AAHqE,OAI9EpE,IAAI,CAACzK,KAJyE;AAA5B,MAMpD9E,QANoD,CAArC;AAAA,CAAb;AASP,IAAa8iB,SAAS,GAAG,SAAZA,SAAY,QAInB;AAAA,MAHF9iB,QAGE,SAHFA,QAGE;AAAA,4BAFF+E,OAEE;AAAA,MAFFA,OAEE,8BAFQ,mBAER;AAAA,MADCwK,IACD;;AAEF,sBACIzR,6BAAC,IAAD;AAAM,IAAA,OAAO,EAAEiH;AAAf,KACQwK,IADR,GAEKvP,QAFL,CADJ;AAMH,CAZM;AAcP,IAAa+iB,OAAO,GAAGC,gBAAS,CAC5B,iBAKM;AAAA,MAJFhjB,QAIE,SAJFA,QAIE;AAAA,0BAHFijB,KAGE;AAAA,MAHFA,KAGE,4BAHM,GAGN;AAAA,4BAFFle,OAEE;AAAA,MAFFA,OAEE,8BAFQ,iBAER;AAAA,MADCwK,IACD;;AACF,MAAM2T,WAAW,GAAGC,iBAAQ,CAACpe,OAAO,GAAG,IAAV,GAAeke,KAAhB,CAAR,CAA+B1T,IAA/B,IAAuCxK,OAAO,GAAG,IAAV,GAAeke,KAAtD,GAA8Dle,OAAlF;AACA,sBAAOjH,6BAAC,IAAD;AACP,IAAA,OAAO,EAAEolB;AADF,KAEH3T,IAFG;AAGP,IAAA,EAAE,QAAM0T;AAHD,MAGWjjB,QAHX,CAAP;AAIH,CAZ2B,CAAzB;;ACxBP,IAAMojB,KAAK,GAAG,SAARA,KAAQ,OAAiCjU,GAAjC,EAAyC;AAAA,MAAvC3G,UAAuC,QAAvCA,UAAuC;AAAA,MAA3B6a,OAA2B,QAA3BA,OAA2B;AAAA,MAAf9T,IAAe;;AAEnD,sBAAOzR,6BAAC,GAAD;AACC,IAAA,GAAG,EAAEqR,GADN;AAEC,IAAA,EAAE,EAAEkU,OAAO,GAAG,IAAH,GAAU,IAFtB;AAGC,IAAA,OAAO,EAAC,eAHT;AAIC,IAAA,KAAK,EAAE;AACHvU,MAAAA,OAAO,EAAE,MADN;AAEHuD,MAAAA,aAAa,EAAE7J,UAAU,GAAG,KAAH,GAAW,QAFjC;AAGH8a,MAAAA,SAAS,EAAED,OAAO,GAAG,gBAAH,GAAsB;AAHrC;AAJR,KASK9T,IATL,EAAP;AAWH,CAbD;;AAeA,IAAagU,IAAI,GAAGrU,gBAAU,CAACkU,KAAD,CAAvB;;ACfP,IAAMI,KAAK,GAAG,SAARA,KAAQ,CAACziB,KAAD,EAAQoO,GAAR,EAAgB;AAE1B,sBAAOrR,6BAAC,GAAD;AACC,IAAA,GAAG,EAAEqR,GADN;AAEC,IAAA,EAAE,EAAC;AAFJ,KAGKpO,KAHL,EAAP;AAKH,CAPD;;AASA,IAAa0iB,IAAI,GAAGvU,gBAAU,CAACsU,KAAD,CAAvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA,IAAME,WAAW,GAAGxU,gBAAU,CAAC,gBAAgCC,GAAhC,EAAwC;AAAA,0BAAtCpK,OAAsC;AAAA,MAAtCA,OAAsC,6BAA9B,SAA8B;AAAA,MAAhBhE,KAAgB;;AAC1E,MAAM9B,KAAK,GAAGf,gBAAU,CAACgC,mBAAD,CAAxB;AACA,MAAMyjB,oBAAoB,GAAGR,iBAAQ,CAAC,4BAAD,EAAgC,KAAhC,CAAR,CAA+C;AAAClkB,IAAAA,KAAK,EAALA;AAAD,GAA/C,CAA7B;AACA,MAAI2kB,UAAU,GAAG,EAAjB;AACA,MAAIC,UAAU,GAAG,EAAjB;AACA,MAAIC,WAAW,GAAG;AACdpZ,IAAAA,QAAQ,EAAE,OADI;AAEdE,IAAAA,GAAG,EAAE,KAFS;AAGdD,IAAAA,IAAI,EAAE,KAHQ;AAIdsK,IAAAA,KAAK,EAAE,KAJO;AAKdC,IAAAA,MAAM,EAAE;AALM,GAAlB;;AAQA,MAAInU,KAAK,CAAC2J,QAAN,KAAmB,QAAvB,EAAiC;AAC7BmZ,IAAAA,UAAU,GAAG;AACTlZ,MAAAA,IAAI,EAAE,OADG;AAETsK,MAAAA,KAAK,EAAE,MAFE;AAGTE,MAAAA,MAAM,EAAE,IAHC;AAITzK,MAAAA,QAAQ,EAAE;AAJD,KAAb;AAMH;;AAED,MAAG3J,KAAK,CAACgjB,YAAT,EAAuB;AAAA,8BACkBhjB,KAAK,CAACgjB,YADxB;AAAA,QACXpZ,IADW,uBACXA,IADW;AAAA,QACLsK,KADK,uBACLA,KADK;AAAA,QACErK,GADF,uBACEA,GADF;AAAA,QACOsK,MADP,uBACOA,MADP;AAEnB4O,IAAAA,WAAW,GAAG;AACVpZ,MAAAA,QAAQ,EAAE,OADA;AAEVE,MAAAA,GAAG,EAAKA,GAAL,OAFO;AAGVD,MAAAA,IAAI,EAAKA,IAAL,OAHM;AAIVsK,MAAAA,KAAK,EAAKA,KAAL,OAJK;AAKVC,MAAAA,MAAM,EAAKA,MAAL;AALI,KAAd;AAOH;;AAED,MAAGnU,KAAK,CAACwV,UAAN,IAAoBoN,oBAAvB,EAA6C;AACzCC,IAAAA,UAAU,yBAAuBT,iBAAQ,kBAAgBQ,oBAAhB,EAAwC,CAAxC,CAAR,CAAmD;AAAC1kB,MAAAA,KAAK,EAALA;AAAD,KAAnD,CAAvB,QAAV,GAAoG;AAChGyL,MAAAA,QAAQ,EAAE,UADsF;AAEhG9B,MAAAA,KAAK,EAAE,MAFyF;AAGhGE,MAAAA,MAAM,EAAE,MAHwF;AAIhGkQ,MAAAA,SAAS,EAAE;AAJqF,KAApG;AAMH;;AACD,sBACIlb,6BAAC,GAAD,eACQiD,KADR;AAEI,IAAA,GAAG,EAAEoO,GAFT;AAGI,IAAA,OAAO,aAAUpK,OAAO,GAAG,MAAIA,OAAP,GAAiB,EAAlC,CAHX;AAII,IAAA,EAAE;AACE2F,MAAAA,QAAQ,EAAE,UADZ;AAEEyK,MAAAA,MAAM,EAAEgO,iBAAQ,CAAC,cAAD,CAAR,CAAyB;AAAClkB,QAAAA,KAAK,EAALA;AAAD,OAAzB,CAFV;AAGEmW,MAAAA,aAAa,EAAE,MAHjB;AAIE9B,MAAAA,OAAO,EAAE;AAJX,OAKKuQ,UALL,GAMKC,WANL,GAOKF,UAPL;AAJN,MAeK7iB,KAAK,CAACf,QAfX,CADJ;AAoBH,CA7DoC,CAA9B;AA+DP,AAAO,IAAMgkB,aAAa,GAAG,SAAhBA,aAAgB,CAAAjjB,KAAK,EAAI;AAClC,MAAM9B,KAAK,GAAGf,gBAAU,CAACgC,mBAAD,CAAxB;AACA,MAAMyjB,oBAAoB,GAAGR,iBAAQ,CAAC,4BAAD,EAAgC,KAAhC,CAAR,CAA+C;AAAClkB,IAAAA,KAAK,EAALA;AAAD,GAA/C,CAA7B;AACA,MAAI2kB,UAAU,GAAG,EAAjB;;AACA,MAAG7iB,KAAK,CAACwV,UAAN,IAAoBoN,oBAAvB,EAA6C;AACzCC,IAAAA,UAAU,yBAAuBT,iBAAQ,kBAAgBQ,oBAAhB,EAAwC,CAAxC,CAAR,CAAmD;AAAC1kB,MAAAA,KAAK,EAALA;AAAD,KAAnD,CAAvB,QAAV,GAAoG;AAChGyL,MAAAA,QAAQ,EAAE;AADsF,KAApG;AAGH;;AACD,sBACI5M,6BAAC,GAAD;AAAK,cAAO;AAAZ,KACQiD,KADR;AAEI,IAAA,OAAO,iBAFX;AAGI,IAAA,EAAE;AACE2J,MAAAA,QAAQ,EAAE,UADZ;AAEEgI,MAAAA,eAAe,EAAE,CAAC3R,KAAK,CAACuV,KAAP,GAAe6M,iBAAQ,CAAC,+BAAD,CAAR,CAA0C;AAAClkB,QAAAA,KAAK,EAALA;AAAD,OAA1C,CAAf,GAAoE,aAFvF;AAGE2L,MAAAA,GAAG,EAAE,KAHP;AAIED,MAAAA,IAAI,EAAE,KAJR;AAKEsK,MAAAA,KAAK,EAAE,KALT;AAMEC,MAAAA,MAAM,EAAE;AANV,OAOK0O,UAPL;AAQExO,MAAAA,aAAa,EAAE;AARjB;AAHN,MAeKrU,KAAK,CAACf,QAfX,CADJ;AAoBH,CA7BM;;AAgCP,IAAMiJ,kBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,YAAY,EAAI;AACrC,MAAIA,YAAY,CAACrB,KAAb,CAAmB,IAAnB,KAA4BsB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzD,EAAuE;AACrE1K,IAAAA,OAAO,CAACC,IAAR,0CAAmDsK,YAAnD;AACD;;AACD,SAAOI,UAAU,CAACJ,YAAY,CAACrB,KAAb,CAAmB,aAAnB,CAAD,EAAoC,EAApC,CAAjB;AACD,CALH;;AAOA,IAAMoc,SAAS,GAAG,SAAZA,SAAY,CAAC3gB,MAAD,EAASrE,KAAT,EAAgByL,QAAhB,EAA6B;AAC3C,MAAMwZ,IAAI,GACRxZ,QAAQ,CAACsF,OAAT,CAAiB,KAAjB,MAA4B,CAAC,CAA7B,IAAkCtF,QAAQ,CAACsF,OAAT,CAAiB,QAAjB,MAA+B,CAAC,CAAlE,GACI,UADJ,GAEI,YAHN;AAIA,MAAMmU,WAAW,GAAG7gB,MAAM,CAACoH,QAAD,CAAN,IAAoBpH,MAAM,CAAC4gB,IAAD,CAA1B,IAAoC5gB,MAAxD;AACA,MAAM8gB,aAAa,GAAGnlB,KAAK,CAACyC,KAAN,CAAYyiB,WAAZ,KAA4BA,WAAlD;AACA,MAAME,aAAa,GAAG,CAAC,CAACplB,KAAK,CAACyC,KAAN,CAAYyiB,WAAZ,CAAxB;AAEA,SAAO,CAACE,aAAD,IAAkB,OAAOF,WAAP,KAAuB,QAAzC,GACH,CADG,GAEHlb,kBAAgB,CAACmb,aAAD,CAFpB;AAGD,CAZH;;AAcA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAACC,MAAD,EAASjhB,MAAT,EAAiBrE,KAAjB,EAAwByL,QAAxB,EAAiD;AAAA,MAAzBA,QAAyB;AAAzBA,IAAAA,QAAyB,GAAd/E,SAAc;AAAA;;AAC/D,MAAI+E,QAAJ,EAAc;AACZ,WAAO6Z,MAAM,CAAC7Z,QAAD,CAAN,GAAmBuZ,SAAS,CAAC3gB,MAAD,EAASrE,KAAT,EAAgByL,QAAhB,CAAnC;AACD;;AACD,SAAO;AACLwK,IAAAA,MAAM,EAAEqP,MAAM,CAACrP,MAAP,GAAgB+O,SAAS,CAAC3gB,MAAD,EAASrE,KAAT,EAAgB,QAAhB,CAD5B;AAILulB,IAAAA,GAAG,EAAED,MAAM,CAACtP,KAAP,GAAegP,SAAS,CAAC3gB,MAAD,EAASrE,KAAT,EAAgB,KAAhB,CAJxB;AAKL0L,IAAAA,IAAI,EAAE4Z,MAAM,CAAC5Z,IAAP,GAAcsZ,SAAS,CAAC3gB,MAAD,EAASrE,KAAT,EAAgB,MAAhB,CALxB;AAMLgW,IAAAA,KAAK,EAAEsP,MAAM,CAACtP,KAAP,GAAegP,SAAS,CAAC3gB,MAAD,EAASrE,KAAT,EAAgB,OAAhB,CAN1B;AAOLgjB,IAAAA,KAAK,EAAEsC,MAAM,CAAC5Z,IAAP,GAAcsZ,SAAS,CAAC3gB,MAAD,EAASrE,KAAT,EAAgB,OAAhB,CAPzB;AAQL2L,IAAAA,GAAG,EAAE2Z,MAAM,CAAC3Z,GAAP,GAAaqZ,SAAS,CAAC3gB,MAAD,EAASrE,KAAT,EAAgB,KAAhB;AARtB,GAAP;AAYD,CAhBH;;AAkBA,IAAMwlB,SAAS,GAAG;AACdC,EAAAA,MAAM,EAAE;AACJ3O,IAAAA,QAAQ,EAAE4O,gBAAF,qBADJ;AAKJnc,IAAAA,UAAU,EAAEmc,gBAAF,sBALN;AASJ,YAAMA,gBAAN,sBATI;AAaJ,aAAOA,gBAAP;AAbI,GADM;AAmBd/Z,EAAAA,GAAG,EAAE;AACDmL,IAAAA,QAAQ,EAAE4O,gBAAF,sBADP;AAKDnc,IAAAA,UAAU,EAAEmc,gBAAF,sBALT;AASD,YAAMA,gBAAN,sBATC;AAaD,aAAOA,gBAAP;AAbC,GAnBS;AAqCdzP,EAAAA,MAAM,EAAE;AACJa,IAAAA,QAAQ,EAAE4O,gBAAF,sBADJ;AAKJnc,IAAAA,UAAU,EAAEmc,gBAAF,qBALN;AASJ,YAAMA,gBAAN,qBATI;AAaJ,aAAOA,gBAAP;AAbI,GArCM;AAuDdha,EAAAA,IAAI,EAAE;AACFoL,IAAAA,QAAQ,EAAE4O,gBAAF,qBADN;AAKFnc,IAAAA,UAAU,EAAEmc,gBAAF,qBALR;AASF,YAAMA,gBAAN,qBATE;AAaF,aAAOA,gBAAP;AAbE,GAvDQ;AAyEd1P,EAAAA,KAAK,EAAE;AACHc,IAAAA,QAAQ,EAAE4O,gBAAF,qBADL;AAKHnc,IAAAA,UAAU,EAAEmc,gBAAF,qBALP;AASH,YAAMA,gBAAN,qBATG;AAaH,aAAOA,gBAAP;AAbG,GAzEO;AA2Fd1C,EAAAA,KAAK,EAAE;AACHlM,IAAAA,QAAQ,EAAE4O,gBAAF,qBADL;AAKHnc,IAAAA,UAAU,EAAEmc,gBAAF,qBALP;AASH,YAAMA,gBAAN,qBATG;AAaH,aAAOA,gBAAP;AAbG,GA3FO;AA6GdH,EAAAA,GAAG,EAAE;AACDzO,IAAAA,QAAQ,EAAE4O,gBAAF,qBADP;AAKDnc,IAAAA,UAAU,EAAEmc,gBAAF,qBALT;AASD,YAAMA,gBAAN,qBATC;AAaD,aAAOA,gBAAP;AAbC;AA7GS,CAAlB;AAiIA,AAAO,IAAMC,iBAAiB,GAAG,GAA1B;AAEP,AAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAC9jB,KAAD,EAAQ2J,QAAR,EAAkBoa,IAAlB,EAA2B;AACxD,MAAIC,SAAS,GACThkB,KAAK,CAACgkB,SAAN,KAAoBpf,SAApB,GAAgC5E,KAAK,CAACgkB,SAAtC,GAAkDhkB,KAAK,CAACikB,OAD5D;AAEA,MAAID,SAAS,KAAKpf,SAAlB,EAA6Bof,SAAS,GAAG,OAAZ;AAC7B,MAAIjY,IAAJ;;AACA,MAAIiY,SAAS,KAAK,OAAd,IAAyBA,SAAS,KAAK,IAA3C,EAAiD;AAC7CjY,IAAAA,IAAI,GAAG2X,SAAS,CAAC/Z,QAAD,CAAT,CAAoBoa,IAApB,CAAP;AACH,GAFD,MAEO,IAAIC,SAAS,KAAK,QAAlB,EAA4B;AAC/BjY,IAAAA,IAAI,GAAG6X,gBAAH,qBAAJ;AACH;;AACD,SAAO7X,IAAI,GACLtK,UADK,sBAEMsK,IAFN,EAEc8X,iBAAiB,GAAG,MAFlC,IAIL,EAJN;AAKH,CAfM;AAiBL,IAAMK,SAAS,GAAG;AAChBP,EAAAA,MAAM,EAAE;AACN3O,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAKZ,UAAAnU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,UAAlB,CAArB;AAAA,OALO;AAAA,KADV;AAQNyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAACtP,KAFA,EAKd,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,YAAlB,CAArB;AAAA,OALS;AAAA,KARZ;AAeN,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAKR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OALG;AAAA,KAfN;AAsBN,aAAO;AAAA,aAAMyB,UAAN,sBAIH,UAAAzB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,OAAlB,CAArB;AAAA,OAJF;AAAA;AAtBD,GADQ;AA+BhB6J,EAAAA,GAAG,EAAE;AACHmL,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAKZ,UAAAnU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,UAAf,CAArB;AAAA,OALO;AAAA,KADb;AAQHyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAACtP,KAFA,EAGTsP,MAAM,CAAC3Z,GAHE,EAKd,UAAA7J,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,YAAf,CAArB;AAAA,OALS;AAAA,KARf;AAeH,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAMR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OANG;AAAA,KAfT;AAuBH,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACJ+hB,MAAM,CAAC3Z,GADH,EAIT,UAAA7J,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,OAAf,CAArB;AAAA,OAJI;AAAA;AAvBV,GA/BW;AA8DhBmU,EAAAA,MAAM,EAAE;AACNa,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAKZ,UAAAnU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,UAAlB,CAArB;AAAA,OALO;AAAA,KADV;AAQNyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAAC3Z,GAFA,EAGN2Z,MAAM,CAACrP,MAHD,EAKd,UAAAnU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,YAAlB,CAArB;AAAA,OALS;AAAA,KARZ;AAeN,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAMR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OANG;AAAA,KAfN;AAuBN,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACD+hB,MAAM,CAACrP,MADN,EAIT,UAAAnU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,OAAlB,CAArB;AAAA,OAJI;AAAA;AAvBP,GA9DQ;AA6FhB4J,EAAAA,IAAI,EAAE;AACJoL,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAGNqP,MAAM,CAAC5Z,IAHD,EAKZ,UAAA5J,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,MAAR,EAAgB,UAAhB,CAArB;AAAA,OALO;AAAA,KADZ;AAQJyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAACtP,KAFA,EAKd,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,MAAR,EAAgB,YAAhB,CAArB;AAAA,OALS;AAAA,KARd;AAeJ,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAMR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CAArB;AAAA,OANG;AAAA,KAfR;AAuBJ,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC5Z,IADJ,EAIT,UAAA5J,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,MAAR,EAAgB,OAAhB,CAArB;AAAA,OAJI;AAAA;AAvBT,GA7FU;AA4HhBkU,EAAAA,KAAK,EAAE;AACLc,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAGLqP,MAAM,CAACtP,KAHF,EAKZ,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,OAAR,EAAiB,UAAjB,CAArB;AAAA,OALO;AAAA,KADX;AAQLyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAACtP,KAFA,EAKd,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,OAAR,EAAiB,YAAjB,CAArB;AAAA,OALS;AAAA,KARb;AAeL,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAMR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,OAAR,EAAiB,MAAjB,CAArB;AAAA,OANG;AAAA,KAfP;AAuBL,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACF+hB,MAAM,CAACtP,KADL,EAIT,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,OAAR,EAAiB,OAAjB,CAArB;AAAA,OAJI;AAAA;AAvBR,GA5HS;AA2JhBkhB,EAAAA,KAAK,EAAE;AACLlM,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAGQqP,MAAM,CAACtC,KAHf,EAKZ,UAAAlhB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,OAAR,EAAiB,UAAjB,CAArB;AAAA,OALO;AAAA,KADX;AAQLyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACM+hB,MAAM,CAACtC,KADb,EAEIsC,MAAM,CAACC,GAFX,EAKd,UAAAzjB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,OAAR,EAAiB,YAAjB,CAArB;AAAA,OALS;AAAA,KARb;AAeL,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGYqP,MAAM,CAACtC,KAHnB,EAIUsC,MAAM,CAACC,GAJjB,EAMR,UAAAzjB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,OAAR,EAAiB,MAAjB,CAArB;AAAA,OANG;AAAA,KAfP;AAuBL,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACW+hB,MAAM,CAACtC,KADlB,EAIT,UAAAlhB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,OAAR,EAAiB,OAAjB,CAArB;AAAA,OAJI;AAAA;AAvBR,GA3JS;AA0LhByjB,EAAAA,GAAG,EAAE;AACHzO,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAGMqP,MAAM,CAACC,GAHb,EAKZ,UAAAzjB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,UAAf,CAArB;AAAA,OALO;AAAA,KADb;AAQHyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACM+hB,MAAM,CAACtC,KADb,EAEIsC,MAAM,CAACC,GAFX,EAKd,UAAAzjB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,YAAf,CAArB;AAAA,OALS;AAAA,KARf;AAeH,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGYqP,MAAM,CAACtC,KAHnB,EAIUsC,MAAM,CAACC,GAJjB,EAMR,UAAAzjB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OANG;AAAA,KAfT;AAuBH,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACS+hB,MAAM,CAACC,GADhB,EAIT,UAAAzjB,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,OAAf,CAArB;AAAA,OAJI;AAAA;AAvBV,GA1LW;AAyNhB,eAAa;AACXgV,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAGLqP,MAAM,CAACtP,KAHF,EAKZ,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OALO;AAAA,KADL;AAQXyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAACtP,KAFA,EAKd,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OALS;AAAA,KARP;AAeX,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAMR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OANG;AAAA,KAfD;AAuBX,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACJ+hB,MAAM,CAAC3Z,GADH,EAEF2Z,MAAM,CAACtP,KAFL,EAIT,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OAJI;AAAA;AAvBF,GAzNG;AAwPhB,cAAY;AACVgV,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAGNqP,MAAM,CAAC5Z,IAHD,EAKZ,UAAA5J,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OALO;AAAA,KADN;AAQVyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAACtP,KAFA,EAKd,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OALS;AAAA,KARR;AAeV,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAMR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OANG;AAAA,KAfF;AAuBV,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACJ+hB,MAAM,CAAC3Z,GADH,EAEH2Z,MAAM,CAAC5Z,IAFJ,EAIT,UAAA5J,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,KAAR,EAAe,MAAf,CAArB;AAAA,OAJI;AAAA;AAvBH,GAxPI;AAuRhB,kBAAgB;AACdgV,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAGLqP,MAAM,CAACtP,KAHF,EAKZ,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OALO;AAAA,KADF;AAQdyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAACtP,KAFA,EAGNsP,MAAM,CAACrP,MAHD,EAKd,UAAAnU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OALS;AAAA,KARJ;AAed,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAMR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OANG;AAAA,KAfE;AAuBd,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACD+hB,MAAM,CAACrP,MADN,EAEFqP,MAAM,CAACtP,KAFL,EAIT,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OAJI;AAAA;AAvBC,GAvRA;AAsThB,iBAAe;AACbgV,IAAAA,QAAQ,EAAE,kBAAAwO,MAAM;AAAA,aAAI/hB,UAAJ,sBACP+hB,MAAM,CAAC3Z,GADA,EAEJ2Z,MAAM,CAACrP,MAFH,EAGNqP,MAAM,CAAC5Z,IAHD,EAKZ,UAAA5J,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OALO;AAAA,KADH;AAQbyH,IAAAA,UAAU,EAAE,oBAAA+b,MAAM;AAAA,aAAI/hB,UAAJ,sBACR+hB,MAAM,CAAC5Z,IADC,EAEP4Z,MAAM,CAACtP,KAFA,EAGNsP,MAAM,CAACrP,MAHD,EAKd,UAAAnU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OALS;AAAA,KARL;AAeb,YAAM,eAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACH+hB,MAAM,CAAC3Z,GADJ,EAEA2Z,MAAM,CAACrP,MAFP,EAGFqP,MAAM,CAAC5Z,IAHL,EAID4Z,MAAM,CAACtP,KAJN,EAMR,UAAAlU,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OANG;AAAA,KAfC;AAuBb,aAAO,gBAAAwjB,MAAM;AAAA,aAAI/hB,UAAJ,sBACD+hB,MAAM,CAACrP,MADN,EAEHqP,MAAM,CAAC5Z,IAFJ,EAIT,UAAA5J,KAAK;AAAA,eAAI8jB,iBAAiB,CAAC9jB,KAAD,EAAQ,QAAR,EAAkB,MAAlB,CAArB;AAAA,OAJI;AAAA;AAvBA;AAtTC,CAAlB;AAsVF,AAAO,IAAM8d,iBAAe,GAAGpd,eAAM,CAACqd,GAAP,CAAWhF,KAAX,CAAiB;AAAC,YAAU;AAAX,CAAjB,CAAH,sBAEVqJ,iBAAQ,CAAC,cAAD,CAFE,EAObA,iBAAQ,CAAC,wBAAD,CAPK,EASZ,UAAApiB,KAAK;AAAA,SAAKA,KAAK,CAACmkB,KAAN,GAAc,UAAd,GAA2B,OAAhC;AAAA,CATO,EAUV,UAAAnkB,KAAK;AAAA,0BAAmBujB,SAAS,CAACvjB,KAAK,CAACgjB,YAAP,EAAqBhjB,KAAK,CAACuC,MAA3B,EAAmCvC,KAAK,CAAC9B,KAAzC,EAAgD,KAAhD,CAA5B,aAA4FqlB,SAAS,CAAEvjB,KAAK,CAACgjB,YAAR,EAAsBhjB,KAAK,CAACuC,MAA5B,EAAmCvC,KAAK,CAAC9B,KAAzC,EAA+C,QAA/C,CAArG;AAAA,CAVK,EAWX,UAAA8B,KAAK;AAAA,0BAAmBujB,SAAS,CAAEvjB,KAAK,CAACgjB,YAAR,EAAqBhjB,KAAK,CAACuC,MAA3B,EAAkCvC,KAAK,CAAC9B,KAAxC,EAA8C,MAA9C,CAA5B,aAA0FqlB,SAAS,CAAEvjB,KAAK,CAACgjB,YAAR,EAAsBhjB,KAAK,CAACuC,MAA5B,EAAoCvC,KAAK,CAAC9B,KAA1C,EAAgD,OAAhD,CAAnG;AAAA,CAXM,EAYP,UAAA8B,KAAK;AAAA,SAAIA,KAAK,CAACuV,KAAN,GAAc,CAAd,GAAkB6M,iBAAQ,CAAC,oBAAD,EAAwB,CAAxB,CAA9B;AAAA,CAZE,EAatB,UAAApiB,KAAK;AAAA,SAAMA,KAAK,CAAC2J,QAAN,KAAmB,QAAnB,IAA+Bua,SAAS,CAAClkB,KAAK,CAAC2J,QAAP,CAAT,CAA0B3J,KAAK,CAAC+jB,IAAhC,EAAsCR,SAAS,CAACvjB,KAAK,CAACgjB,YAAP,EAAqBhjB,KAAK,CAACuC,MAA3B,EAAmCvC,KAAK,CAAC9B,KAAzC,CAA/C,EAAgG8B,KAAK,CAACgjB,YAAtG,CAAjC,IAA0J,EAA9J;AAAA,CAbiB,EActB,UAAAhjB,KAAK,EAAI;AACP,MAAM4iB,oBAAoB,GAAGR,iBAAQ,CAAC,4BAAD,EAA+B,KAA/B,CAAR,CAA8CpiB,KAA9C,CAA7B;;AACA,MAAGA,KAAK,CAACwV,UAAN,IAAoBoN,oBAAvB,EAA6C;AACzC,WAAO9gB,aAAa,CAAC9B,KAAD,CAAb,CAAqBuB,QAArB,CAA8BqhB,oBAA9B,CAAP;AAcH,GAfD,MAeO;AACL,WAAO,IAAP;AACD;AACJ,CAlCuB,CAArB;;ACnnBA,IAAMwB,gBAAgB,GAAG,SAAnBA,gBAAmB,OAK1B;AAAA,yBAJJxT,MAII;AAAA,MAJJA,MAII,4BAJK,KAIL;AAAA,iCAHJyT,cAGI;AAAA,MAHJA,cAGI,oCAHa,KAGb;AAAA,MAFJplB,QAEI,QAFJA,QAEI;AAAA,MADDuP,IACC;;AAAA,kBAC8C7P,cAAQ,CAAC,EAAD,CADtD;AAAA,MACG2lB,iBADH;AAAA,MACsBC,oBADtB;;AAEJ,MAAMnW,GAAG,GAAGrF,YAAM,CAAC,IAAD,CAAlB;AAEAlK,EAAAA,eAAS,CAAC,YAAM;AACd,QAAM2lB,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB,UAAMjkB,KAAK,GAAG6N,GAAG,CAAC1E,OAAlB;AACApE,MAAAA,oBAAoB,GACjBgB,MADH,CACUU,eAAe,CAACzG,KAAD,CADzB,EAEGiF,OAFH,CAEWO,iBAFX;;AAGA,UAAIse,cAAJ,EAAoB;AAClBpf,QAAAA,QAAQ,CAACC,IAAT,CAAckR,KAAd,CAAoB3D,QAApB,GAA+B6R,iBAA/B;AACD;AACF,KARD;;AAUA,QAAMG,SAAS,GAAG,SAAZA,SAAY,GAAM;AACtB,UAAMlkB,KAAK,GAAG6N,GAAG,CAAC1E,OAAlB;AACApE,MAAAA,oBAAoB,GACjBgB,MADH,CACUU,eAAe,CAACzG,KAAD,CADzB,EAEGiF,OAFH,CAEWmB,mBAFX;;AAIA,UAAI0d,cAAJ,EAAoB;AAClBE,QAAAA,oBAAoB,CAACtf,QAAQ,CAACC,IAAT,CAAckR,KAAd,CAAoB3D,QAArB,CAApB;AACAxN,QAAAA,QAAQ,CAACC,IAAT,CAAckR,KAAd,CAAoB3D,QAApB,GAA+B,QAA/B;AACD;AACF,KAVD;;AAYA,QAAMiS,KAAK,GAAGna,UAAU,CAAC,YAAM;AAC7B,UAAI,CAACqG,MAAL,EAAa;AACX6T,QAAAA,SAAS;AACV;AACF,KAJuB,EAIrB,CAJqB,CAAxB;AAMA,WAAO,YAAM;AACXD,MAAAA,UAAU;AACVG,MAAAA,YAAY,CAACD,KAAD,CAAZ;AACD,KAHD;AAID,GAjCQ,EAiCN,CAAC9T,MAAD,EAAS0T,iBAAT,EAA4BD,cAA5B,CAjCM,CAAT;AAmCA,sBACEtnB;AAAK,IAAA,GAAG,EAAEqR,GAAV;AAAe,mBAAawC;AAA5B,KAAwCpC,IAAxC,GACGvP,QADH,CADF;AAKD,CAjDM;;;;;;;;;;;ACSP,IAAM2lB,YAAY,GAAGlkB,eAAM,CAACsK,CAAV,qBAAlB;AAQA,IAAM6Z,UAAU,GAAG;AAAEjb,EAAAA,IAAI,EAAE,CAAR;AAAWsK,EAAAA,KAAK,EAAE,CAAlB;AAAqBrK,EAAAA,GAAG,EAAE,CAA1B;AAA6BsK,EAAAA,MAAM,EAAE;AAArC,CAAnB;AAGA,AAAO,IAAM2Q,cAAc,GAAG3W,gBAAU,CACtC,gBAeEC,GAfF,EAgBK;AAAA,MAdDnP,QAcC,QAdDA,QAcC;AAAA,uBAbD8kB,IAaC;AAAA,MAbDA,IAaC,0BAbM,KAaN;AAAA,MAZDgB,EAYC,QAZDA,EAYC;AAAA,yBAXDxiB,MAWC;AAAA,MAXDA,MAWC,4BAXQ,MAWR;AAAA,wBAVD4hB,KAUC;AAAA,MAVDA,KAUC,2BAVO,IAUP;AAAA,MATD7O,cASC,QATDA,cASC;AAAA,MARD0P,KAQC,QARDA,KAQC;AAAA,MAPDzP,KAOC,QAPDA,KAOC;AAAA,2BAND5L,QAMC;AAAA,MANDA,QAMC,8BANU,QAMV;AAAA,MALD6L,UAKC,QALDA,UAKC;AAAA,MAJOyP,WAIP,QAJDxb,MAIC;AAAA,MAHE+E,IAGF;;AAEH,MAAMtQ,KAAK,GAAGf,gBAAU,CAACgC,mBAAD,CAAxB;;AAFG,kBAGqCR,cAAQ,CAACkmB,UAAD,CAH7C;AAAA,MAGI7B,YAHJ;AAAA,MAGkBkC,eAHlB;;AAKH,MAAMC,SAAS,GAAGpc,YAAM,EAAxB;AACA,MAAMqc,YAAY,GAAGrc,YAAM,EAA3B;AACA,MAAMsc,QAAQ,GAAGtc,YAAM,EAAvB;AAEAlK,EAAAA,eAAS,CAAC,YAAM;AACd,QAAI8K,QAAQ,KAAK,QAAjB,EAA2B;AACzB,UAAMjE,IAAI,GAAG2f,QAAQ,CAAC3b,OAAT,IAAoB0b,YAAY,CAAC1b,OAAjC,IAA4C0E,GAAG,CAAC1E,OAA7D;AACA,UAAIhE,IAAI,IAAIA,IAAI,CAAC4f,cAAjB,EAAiC5f,IAAI,CAAC4f,cAAL;AAKjC,UAAI/gB,OAAO,GAAGU,QAAQ,CAACwS,aAAvB;;AACA,aAAOlT,OAAP,EAAgB;AACd,YAAIA,OAAO,KAAK6gB,YAAY,CAAC1b,OAA7B,EAAsC;AAEpC;AACD;;AACDnF,QAAAA,OAAO,GAAGA,OAAO,CAACO,aAAlB;AACD;;AACD,UAAIqf,KAAK,IAAI,CAAC5f,OAAV,IAAqB4gB,SAAS,CAACzb,OAAnC,EAA4C;AAC1Cyb,QAAAA,SAAS,CAACzb,OAAV,CAAkB3C,KAAlB;AACD;AACF;AACF,GApBQ,EAoBN,CAACod,KAAD,EAAQxa,QAAR,EAAkByE,GAAlB,CApBM,CAAT;AAuBAvP,EAAAA,eAAS,CAAC,YAAM;AACd,QAAI8K,QAAQ,KAAK,QAAjB,EAA2B;AACzB,UAAMjE,IAAI,GAAG2f,QAAQ,CAAC3b,OAAT,IAAoB0b,YAAY,CAAC1b,OAAjC,IAA4C0E,GAAG,CAAC1E,OAA7D;AACA,UAAIhE,IAAI,IAAIA,IAAI,CAAC4f,cAAjB,EAAiC5f,IAAI,CAAC4f,cAAL;AAClC;AACF,GALQ,EAKN,CAAC3b,QAAD,EAAWyE,GAAX,CALM,CAAT;AAOAvP,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIomB,WAAJ,EAAiB;AACf,UAAMM,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzB,YAAM3d,IAAI,GAAG/C,iBAAiB,CAACogB,WAAD,CAAjB,CAA+Btd,qBAA/B,EAAb;AACAud,QAAAA,eAAe,CAAC;AACdtb,UAAAA,IAAI,EAAEhC,IAAI,CAACgC,IADG;AAEdsK,UAAAA,KAAK,EAAE1W,MAAM,CAACyY,UAAP,GAAoBrO,IAAI,CAACsM,KAFlB;AAGdrK,UAAAA,GAAG,EAAEjC,IAAI,CAACiC,GAHI;AAIdsK,UAAAA,MAAM,EAAE3W,MAAM,CAAC2Y,WAAP,GAAqBvO,IAAI,CAACuM;AAJpB,SAAD,CAAf;AAMD,OARD;;AAUAoR,MAAAA,YAAY;AACZ/nB,MAAAA,MAAM,CAACgN,gBAAP,CAAwB,QAAxB,EAAkC+a,YAAlC;AACA,aAAO;AAAA,eAAM/nB,MAAM,CAACiN,mBAAP,CAA2B,QAA3B,EAAqC8a,YAArC,CAAN;AAAA,OAAP;AACD;;AACDL,IAAAA,eAAe,CAACL,UAAD,CAAf;AACA,WAAOjgB,SAAP;AACD,GAlBQ,EAkBN,CAACqgB,WAAD,CAlBM,CAAT;AAqBA,MAAI3Q,OAAO,gBACTvX,6BAAC+gB,iBAAD;AACE,IAAA,GAAG,EAAE1P,GAAG,IAAIgX,YADd;AAEE,IAAA,EAAE,EAAEL,EAFN;AAGE,IAAA,IAAI,EAAEhB,IAHR;AAIE,IAAA,MAAM,EAAExhB,MAJV;AAKE,IAAA,KAAK,EAAE4hB,KALT;AAME,IAAA,YAAY,EAAE,CAACA,KAAD,GAASnB,YAAT,GAAwB6B;AANxC,KAOMrW,IAPN;AAQE,IAAA,QAAQ,EAAE7E,QARZ;AASE,IAAA,KAAK,EAAE4L,KATT;AAUE,IAAA,UAAU,EAAEC,UAVd;AAWE,IAAA,GAAG,EAAEtX,KAAK,CAACsB;AAXb,mBAeEzC,6BAAC,YAAD;AAAc,IAAA,GAAG,EAAEooB,SAAnB;AAA8B,IAAA,QAAQ,EAAC,IAAvC;AAA4C,mBAAY;AAAxD,IAfF,EAkBGlmB,QAlBH,CADF;;AAuBA,MAAIklB,KAAJ,EAAW;AACT7P,IAAAA,OAAO,gBACLvX,6BAAC,WAAD;AACE,MAAA,GAAG,EAAEsoB,QADP;AAEE,MAAA,EAAE,EAAEN,EAFN;AAGE,MAAA,YAAY,EAAE/B,YAHhB;AAIE,MAAA,KAAK,EAAEzN,KAJT;AAKE,MAAA,QAAQ,EAAE5L,QALZ;AAME,MAAA,UAAU,EAAE6L,UANd;AAOE,MAAA,QAAQ,EAAC,IAPX;AAQE,MAAA,GAAG,EAAEtX,KAAK,CAACsB;AARb,oBAUEzC,6BAAC,aAAD;AACE,MAAA,KAAK,EAAEwY,KADT;AAEE,MAAA,WAAW,EAAED,cAFf;AAGE,MAAA,UAAU,EAAEE;AAHd,MAVF,EAeGlB,OAfH,CADF;AAmBD;;AAED,MAAI0Q,KAAJ,EAAW;AAETpnB,IAAAA,OAAO,CAACC,IAAR,CAAa,8BAAb;AACD;;AAGD,MAAIsmB,KAAJ,EAAW;AACT7P,IAAAA,OAAO,gBACLvX,6BAAC,gBAAD;AAAkB,MAAA,MAAM,EAAE4M,QAAQ,KAAK,QAAvC;AAAiD,MAAA,cAAc;AAA/D,OACG2K,OADH,CADF;AAKD;;AAED,SAAOA,OAAP;AAED,CA1IqC,CAAjC;;ACjBP,IAAMO,wBAAsB,GAAG9X,cAAK,CAACF,aAAN,CAC3B,OAAOoI,QAAP,KAAoB,QAApB,GAA+BA,QAAQ,CAACC,IAAxC,GAA+CN,SADpB,CAA/B;AAIA,IAAa4gB,KAAK,GAAGrX,gBAAU,CAAC,UAACnO,KAAD,EAAQoO,GAAR,EAAgB;AAAA,MAEpC6V,OAFoC,GAEbjkB,KAFa,CAEpCikB,OAFoC;AAAA,MAE3BD,SAF2B,GAEbhkB,KAFa,CAE3BgkB,SAF2B;;AAAA,kBAGgBrlB,cAAQ,EAHxB;AAAA,MAGrC4Y,sBAHqC;AAAA,MAGbC,yBAHa;;AAI5C3Y,EAAAA,eAAS,CAAC;AAAA,WAAM2Y,yBAAyB,CAACvS,QAAQ,CAACwS,aAAV,CAA/B;AAAA,GAAD,EAA0D,EAA1D,CAAT;;AAJ4C,mBAKA9Y,cAAQ,EALR;AAAA,MAKrC8mB,cALqC;AAAA,MAKrBC,iBALqB;;AAM5C,MAAM9N,eAAe,GAAGza,gBAAU,CAAC0X,wBAAD,CAAlC;AACAhW,EAAAA,eAAS,CAAC;AAAA,WAAM6mB,iBAAiB,CAAC3gB,eAAe,CAAC6S,eAAD,CAAhB,CAAvB;AAAA,GAAD,EAA4D,CACjEA,eADiE,CAA5D,CAAT;AAKF/Y,EAAAA,eAAS,CACP;AAAA,WAAM,YAAM;AACV,UAAI0Y,sBAAJ,EAA4B;AAC1B,YAAIA,sBAAsB,CAACxQ,KAA3B,EAAkC;AAGhCwD,UAAAA,UAAU,CAAC;AAAA,mBAAMgN,sBAAsB,CAACxQ,KAAvB,EAAN;AAAA,WAAD,EAAuC,CAAvC,CAAV;AACD,SAJD,MAIO,IACLwQ,sBAAsB,CAAC9S,UAAvB,IACA8S,sBAAsB,CAAC9S,UAAvB,CAAkCsC,KAF7B,EAGL;AAEAwQ,UAAAA,sBAAsB,CAAC9S,UAAvB,CAAkCsC,KAAlC;AACD;AACF;;AAED,UAAI0e,cAAJ,EAAoB;AAClB,YAAME,eAAe,GAAG3B,SAAS,KAAKpf,SAAd,GAA0Bof,SAA1B,GAAsCC,OAA9D;;AACA,YAAI0B,eAAe,KAAK,KAAxB,EAA+B;AAG7B,cAAMC,UAAU,GAAGH,cAAc,CAACI,SAAf,CAAyB,IAAzB,CAAnB;AACAD,UAAAA,UAAU,CAACb,EAAX,GAAgB,YAAhB;AAEAnN,UAAAA,eAAe,CAACvS,WAAhB,CAA4BugB,UAA5B;AACE,cAAME,eAAe,GAAGF,UAAU,CAACG,aAAX,CACxB,4BADwB,CAAxB;;AAIA,cAAID,eAAe,IAAIA,eAAe,CAAC1P,KAAvC,EAA8C;AAC9C0P,YAAAA,eAAe,CAAC1P,KAAhB,CAAsB4P,kBAAtB,GAA2C,SAA3C;AACD;;AACDzb,UAAAA,UAAU,CAAC,YAAM;AAEf,gBAAM0b,KAAK,GAAGhhB,QAAQ,CAACihB,cAAT,CAAwB,YAAxB,CAAd;;AACA,gBAAID,KAAJ,EAAW;AACTrO,cAAAA,eAAe,CAACC,WAAhB,CAA4BoO,KAA5B;AACAR,cAAAA,cAAc,CAACU,MAAf;AACD;AACF,WAPS,EAOPtC,iBAPO,CAAV;AAQD,SAtBD,MAsBO;AACLjM,UAAAA,eAAe,CAACC,WAAhB,CAA4B4N,cAA5B;AACD;AACF;AACF,KA3CD;AAAA,GADO,EA6CP,CACExB,OADF,EAEED,SAFF,EAGEpM,eAHF,EAIE6N,cAJF,EAKElO,sBALF,CA7CO,CAAT;AAuDA,SAAOkO,cAAc,GAAG1N,qBAAY,eAAChb,6BAAC,cAAD;AAAgB,IAAA,GAAG,EAAEqR;AAArB,KAA8BpO,KAA9B,EAAD,EAA0CylB,cAA1C,CAAf,GAA2E,IAAhG;AAED,CArE8B,CAAxB;AAuEPD,KAAK,CAACY,WAAN,GAAoB,OAApB;;;;;;;;;;;AC3EA,IAAMC,aAAa,GAAG3lB,eAAM,CAACqd,GAAV,qBAAnB;AAwFA,IAAauI,KAAK,GAAG,SAARA,KAAQ;AAAA,MAAErnB,QAAF,QAAEA,QAAF;AAAA,MAAeuP,IAAf;;AAAA,sBAAyBzR,6BAAC,GAAD;AAAM,IAAA,EAAE,EAAC,QAAT;AACN,IAAA,KAAK,EAAE;AACH4V,MAAAA,QAAQ,EAAE,CADP;AAEHC,MAAAA,UAAU,EAAE,CAFT;AAGHjJ,MAAAA,QAAQ,EAAE,UAHP;AAIHE,MAAAA,GAAG,EAAE,KAJF;AAKHkE,MAAAA,OAAO,EAAE,OALN;AAMHuE,MAAAA,OAAO,EAAE,CANN;AAOHiU,MAAAA,SAAS,EAAC,oBAPP;AAQH/T,MAAAA,MAAM,EAAE,SARL;AASHrF,MAAAA,KAAK,EAAE,MATJ;AAUHE,MAAAA,MAAM,EAAE,qBAVL;AAWHxF,MAAAA,KAAK,EAAE,MAXJ;AAYHE,MAAAA,MAAM,EAAE,MAZL;AAaHwK,MAAAA,OAAO,EAAE,CAbN;AAcHiC,MAAAA,UAAU,EAAE,aAdT;AAeHJ,MAAAA,MAAM,EAAE;AAfL;AADD,KAkBF5F,IAlBE,GAmBDvP,QAnBC,CAAzB;AAAA,CAAd;AAsBP,IAAaunB,SAAS,GAAG,SAAZA,SAAY,CAAAxmB,KAAK;AAAA,sBAAIjD,6BAAC,KAAD;AAAO,IAAA,EAAE,EAAE;AAAC6M,MAAAA,IAAI,EAAE,CAAC,+BAAD,EAAiC,IAAjC,EAAsC,+BAAtC,EAAsE,+BAAtE,EAAsG,gCAAtG;AAAP;AAAX,KAAiK5J,KAAjK,gBAChCjD,6BAAC,IAAD;AAAM,IAAA,IAAI,EAAC,cAAX;AAA0B,IAAA,IAAI,EAAC;AAA/B,IADgC,CAAJ;AAAA,CAAvB;AAGP,IAAa0pB,SAAS,GAAG,SAAZA,SAAY,CAAAzmB,KAAK;AAAA,sBAAIjD,6BAAC,KAAD;AAAO,IAAA,EAAE,EAAE;AAACmX,MAAAA,KAAK,EAAE,CAAC,+BAAD,EAAiC,IAAjC,EAAsC,+BAAtC,EAAsE,+BAAtE,EAAsG,gCAAtG;AAAR;AAAX,KAAkKlU,KAAlK,gBAClCjD,6BAAC,IAAD;AAAM,IAAA,IAAI,EAAC,eAAX;AAA2B,IAAA,IAAI,EAAC;AAAhC,IADkC,CAAJ;AAAA,CAAvB;AAKP,IAAa2pB,UAAU,GAAG,SAAbA,UAAa,CAAAC,IAAI;AAAA,sBAAI5pB,6BAAC,GAAD;AAC9B,IAAA,EAAE,EAAC,IAD2B;AAE9B,IAAA,KAAK,EAAE;AACHoX,MAAAA,MAAM,EAAE,MADL;AAEHpG,MAAAA,OAAO,EAAE,OAFN;AAGHwU,MAAAA,SAAS,EAAE,MAHR;AAIHnD,MAAAA,SAAS,EAAE,QAJR;AAKH9M,MAAAA,OAAO,EAAE,CALN;AAMH/P,MAAAA,MAAM,EAAE,aANL;AAQH,gBAAW;AACPoH,QAAAA,QAAQ,EAAE,UADH;AAEPoE,QAAAA,OAAO,EAAE,cAFF;AAGPxL,QAAAA,MAAM,EAAE,OAHD;AAIPsF,QAAAA,KAAK,EAAE,MAJA;AAKPE,QAAAA,MAAM,EAAE,MALD;AAMPyK,QAAAA,MAAM,EAAE;AAND,OARR;AAiBH,yBAAoB;AAChB3I,QAAAA,GAAG,EAAE,CADW;AAEhBD,QAAAA,IAAI,EAAE,CAFU;AAGhB/B,QAAAA,KAAK,EAAE,MAHS;AAIhBE,QAAAA,MAAM,EAAE,MAJQ;AAKhBwK,QAAAA,OAAO,EAAE,CALO;AAMhByB,QAAAA,YAAY,EAAE,KANE;AAOhBrC,QAAAA,eAAe,EAAE,aAPD;AAQhBiV,QAAAA,UAAU,EAAE,QARI;AAShBpU,QAAAA,MAAM,EAAE,SATQ;AAUhB7I,QAAAA,QAAQ,EAAE,UAVM;AAWhB0D,QAAAA,MAAM,EAAE,WAXQ;AAYhBoE,QAAAA,WAAW,EAAE,YAZG;AAahBa,QAAAA,OAAO,EAAE;AAbO,OAjBjB;AAgCH,gCAA2B;AACvBgC,QAAAA,OAAO,EAAE,IADc;AAEvB3K,QAAAA,QAAQ,EAAE,UAFa;AAGvBE,QAAAA,GAAG,EAAE,CAHkB;AAIvBD,QAAAA,IAAI,EAAE,CAJiB;AAKvB/B,QAAAA,KAAK,EAAC,OALiB;AAMvBE,QAAAA,MAAM,EAAE,MANe;AAOvB8e,QAAAA,UAAU,EAAE,QAPW;AAQvBrS,QAAAA,UAAU,EAAE,YARW;AASvBR,QAAAA,YAAY,EAAE,KATS;AAUvBzG,QAAAA,SAAS,EAAE,iBAVY;AAWvBgD,QAAAA,OAAO,EAAE,CAXc;AAYvBgW,QAAAA,SAAS,EAAC,aAZa;AAavBzV,QAAAA,UAAU,EAAE;AAbW,OAhCxB;AA+CH,6CAAuC;AACnC+V,QAAAA,UAAU,EAAE,SADuB;AAEnCtW,QAAAA,OAAO,EAAE,CAF0B;AAGnCgW,QAAAA,SAAS,EAAE,YAHwB;AAInCzV,QAAAA,UAAU,EAAE;AAJuB;AA/CpC;AAFuB,KAwDhC6V,IAxDgC,CAAJ;AAAA,CAAvB;AA0DP,IAAaG,MAAM,GAAG/pB,cAAK,CAACoR,UAAN,CAAiB,iBAAsBC,GAAtB,EAA8B;AAAA,MAA5BnP,QAA4B,SAA5BA,QAA4B;AAAA,MAAfuP,IAAe;;AACjE,sBAAQzR,6BAAC,aAAD,qBACJA,6BAAC,GAAD,CAAK,aAAL;AAAmB,IAAA,GAAG,EAAEqR,GAAxB;AACQ,IAAA,EAAE,EAAE2Y,WADZ;AAEQ,IAAA,KAAK,EAAE;AACH,wBAAkB;AACVlV,QAAAA,EAAE,EAAE,CAAC,KAAD,EAAQ,IAAR,EAAc,KAAd;AADM;AADf;AAFf,KAOYrD,IAPZ,GAQKvP,QARL,CADI,CAAR;AAYH,CAbqB,CAAf;;AChLP,IAAM+nB,aAAa,GAAG,SAAhBA,aAAgB,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;;AACpC,MAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,wBAAOlqB,6BAAC,GAAD,QAAMkqB,QAAN,CAAP;AACH,GAFD,MAGK;AACD,WAAOA,QAAP;AACH;AACJ,CAPD;;AASA,IAAMC,UAAU,GAAG,SAAbA,UAAa,QAA2B;AAAA,MAAxBC,QAAwB,SAAxBA,QAAwB;AAAA,MAAX3Y,IAAW;;AAE1C,sBAAOzR,6BAAC,GAAD;AACH,IAAA,KAAK,EAAE;AACHgL,MAAAA,MAAM,EAAE,MADL;AAEHF,MAAAA,KAAK,EAAE,MAFJ;AAGHuf,MAAAA,SAAS,EAAE;AAHR,KADJ;AAMH,IAAA,EAAE,EAAC,KANA;AAOH,IAAA,GAAG,EAAED;AAPF,KAQC3Y,IARD,EAAP;AASH,CAXD;;AAaA,IAAM6Y,UAAU,GAAG,SAAbA,UAAa,QAA4C;AAAA,MAAzCC,OAAyC,SAAzCA,OAAyC;AAAA,MAAhCzjB,AAAIG,OAA4B,SAA5BA,OAA4B;AAAA,MAAnBujB,GAAmB,SAAnBA,GAAmB;AAAA,MAAX/Y,IAAW;;AAE3D,MAAM4M,OAAO;AACTrT,IAAAA,MAAM,EAAE,MADC;AAETF,IAAAA,KAAK,EAAE,MAFE;AAGT2f,IAAAA,UAAU,EAAE;AACRC,MAAAA,QAAQ,EAAE,CADF;AAERC,MAAAA,IAAI,EAAE;AAFE;AAHH,KAQNH,GARM,CAAb;;AAWA,sBAAOxqB,6BAAC,GAAD;AAAK,IAAA,KAAK,EAAE;AACf8K,MAAAA,KAAK,EAAE,MADQ;AAEfE,MAAAA,MAAM,EAAE,MAFO;AAGfyM,MAAAA,UAAU,EAAE,KAHG;AAIf7K,MAAAA,QAAQ,EAAE,UAJK;AAKfE,MAAAA,GAAG,EAAE,CALU;AAMfD,MAAAA,IAAI,EAAE,CANS;AAOfuK,MAAAA,MAAM,EAAE,CAPO;AAQf1B,MAAAA,QAAQ,EAAE,QARK;AASf,uCAAiC;AAC7B1K,QAAAA,MAAM,EAAE,MADqB;AAE7BF,QAAAA,KAAK,EAAE;AAFsB;AATlB,KAAZ;AAeH,IAAA,OAAO,EAAE7D,OAfN;AAgBH,IAAA,EAAE,EAAEA;AAhBD,kBAkBHjH,6BAAC,OAAD,eAAayR,IAAb;AAAmB,IAAA,GAAG,EAAE4M,OAAxB;AAAiC,IAAA,OAAO,EAAEkM;AAA1C,KAlBG,CAAP;AAoBH,CAjCD;;AAoCA,IAAaK,KAAK,GAAG,SAARA,KAAQ,QAA8G;AAAA,6BAAjG9H,QAAiG;AAAA,MAAjGA,QAAiG,+BAAtF,KAAsF;AAAA,6BAA/EoH,QAA+E;AAAA,MAA/EA,QAA+E,+BAApE,IAAoE;AAAA,4BAA9D3S,OAA8D;AAAA,MAA9DA,OAA8D,8BAApD,IAAoD;AAAA,4BAA9CsT,OAA8C;AAAA,MAA9CA,OAA8C,8BAApC,IAAoC;AAAA,4BAA9BN,OAA8B;AAAA,MAA9BA,OAA8B,8BAApB,IAAoB;AAAA,MAAX9Y,IAAW;;AAE/H,MAAMJ,GAAG,GAAGrF,YAAM,CAAC,IAAD,CAAlB;AACA,MAAM8e,QAAQ,GAAG9e,YAAM,CAAC,IAAD,CAAvB;;AAEA,MAAM+e,WAAW,GAAG,SAAdA,WAAc,CAACC,SAAD,EAAe;AAC/B,QAAIF,QAAQ,CAACne,OAAb,EAAsB;AAClB,UAAIqe,SAAJ,EAAe;AAEX,YAAIhoB,EAAE,GAAGuE,wBAAwB,CAAC8J,GAAG,CAAC1E,OAAL,EAAc,aAAd,CAAjC;;AACA,YAAI3J,EAAE,CAAC2E,SAAH,IAAgB,CAAC3E,EAAE,CAAC2E,SAAH,CAAaC,QAAb,CAAsB,cAAtB,CAArB,EAA4D;AACxDkjB,UAAAA,QAAQ,CAACne,OAAT,CAAiBse,SAAjB;AACH;AACJ,OAND,MAMO;AACHH,QAAAA,QAAQ,CAACne,OAAT,CAAiBue,UAAjB;AACH;AACJ;AACJ,GAZD;;AAcAppB,EAAAA,eAAS,CAAC,YAAM;AACZipB,IAAAA,WAAW,CAACjI,QAAD,CAAX;AACH,GAFQ,EAEN,CAACA,QAAD,CAFM,CAAT;;AAIA,MAAMqI,YAAY,GAAG,SAAfA,YAAe,CAAAvqB,CAAC,EAAI;AACtBkqB,IAAAA,QAAQ,CAACne,OAAT,GAAmB/L,CAAC,CAAC8L,MAArB;AACAqe,IAAAA,WAAW,CAACjI,QAAD,CAAX;AACH,GAHD;;AAKA,sBAAO9iB,6BAAC,GAAD;AAAK,IAAA,GAAG,EAAEqR,GAAV;AAAe,IAAA,KAAK,EAAE;AACzB6J,MAAAA,SAAS,EAAE,KADc;AAEzBlQ,MAAAA,MAAM,EAAE,CAAC,OAAD,EAAU,IAAV,EAAgB,OAAhB,CAFiB;AAGzBF,MAAAA,KAAK,EAAE,MAHkB;AAIzBkG,MAAAA,OAAO,EAAE,MAJgB;AAKzBpE,MAAAA,QAAQ,EAAE,UALe;AAMzB,kBAAY;AACR2K,QAAAA,OAAO,EAAE,IADD;AAERvG,QAAAA,OAAO,EAAE,OAFD;AAGRpE,QAAAA,QAAQ,EAAE,UAHF;AAIRE,QAAAA,GAAG,EAAE,CAJG;AAKRD,QAAAA,IAAI,EAAE,CALE;AAMR/B,QAAAA,KAAK,EAAE,MANC;AAORE,QAAAA,MAAM,EAAE,MAPA;AAQR4J,QAAAA,eAAe,EAAE;AART;AANa;AAAtB,KAgBAnD,IAhBA,GAkBF8Y,OAAO,iBAAIvqB,6BAAC,UAAD;AAAY,IAAA,OAAO,EAAEuqB,OAArB;AAA8B,IAAA,OAAO,EAAEY;AAAvC,IAlBT,EAmBFjB,QAAQ,iBAAIlqB,6BAAC,aAAD;AAAe,IAAA,QAAQ,EAAEkqB;AAAzB,IAnBV,EAoBFW,OAAO,iBAAI7qB,6BAAC,UAAD;AAAY,IAAA,QAAQ,EAAE6qB;AAAtB,IApBT,EAqBFtT,OAAO,iBAAIvX,6BAAC,GAAD;AAAK,IAAA,EAAE,EAAE;AACjB4M,MAAAA,QAAQ,EAAE,UADO;AAEjB9B,MAAAA,KAAK,EAAE,MAFU;AAGjBE,MAAAA,MAAM,EAAE,MAHS;AAIjB8B,MAAAA,GAAG,EAAE,CAJY;AAKjBD,MAAAA,IAAI,EAAE;AALW;AAAT,KAOP0K,OAPO,CArBT,CAAP;AAiCH,CA7DM;;ACxDP,IAAM6T,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,MAAGC,SAAH,QAAGA,SAAH;AAAA,MAAcC,UAAd,QAAcA,UAAd;AAAA,MAA0BrkB,OAA1B,QAA0BA,OAA1B;AAAA,MAAmCskB,OAAnC,QAAmCA,OAAnC;AAAA,sBAAiDvrB,6BAAC,IAAD;AAAM,IAAA,SAAS,EAAC,gCAAhB;AACtE,IAAA,KAAK,EAAE;AACHuV,MAAAA,OAAO,EAAE,MADN;AAEHf,MAAAA,cAAc,EAAE,eAFb;AAGH1J,MAAAA,KAAK,EAAE,MAHJ;AAIHwJ,MAAAA,UAAU,EAAE;AAJT,KAD+D;AAMnE,IAAA,OAAO,EAAEjN,UAAU,CAAC,CAACJ,OAAD,CAAD;AANgD,KAQrEqkB,UAAU,GAAGA,UAAH,gBACPtrB,6BAAC,MAAD;AACI,IAAA,OAAO,EAAEqH,UAAU,CAAC,CAACJ,OAAD,EAAU,UAAV,CAAD,CADvB;AAEI,IAAA,SAAS,EAAC,8BAFd;AAGI,IAAA,OAAO,EAAEskB,OAHb;AAGsB,IAAA,EAAE,EAAE;AAClBC,MAAAA,UAAU,EAAE,MADM;AAElB5W,MAAAA,eAAe,EAAE,aAFC;AAGlBW,MAAAA,OAAO,EAAE,KAHS;AAIlBjF,MAAAA,MAAM,EAAE,CAJU;AAKlB,0BAAoB;AAChBsE,QAAAA,eAAe,EAAE,aADD;AAEhBtE,QAAAA,MAAM,EAAE;AAFQ;AALF;AAH1B,KAaK+a,SAAS,GAAGA,SAAH,gBAAerrB,6BAAC,IAAD;AAAM,IAAA,SAAS,EAAC,+BAAhB;AAAgD,IAAA,IAAI,EAAC,cAArD;AAAoE,IAAA,IAAI,EAAC;AAAzE,IAb7B,CATkE,CAAjD;AAAA,CAAzB;;AA4BA,IAAMyrB,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,MAAGC,QAAH,SAAGA,QAAH;AAAA,MAAaC,QAAb,SAAaA,QAAb;AAAA,MAAuBC,gBAAvB,SAAuBA,gBAAvB;AAAA,MAAyC3kB,OAAzC,SAAyCA,OAAzC;AAAA,MAAkD4kB,AAAmBC,UAArE,SAAqEA,UAArE;AAAA,sBAAsF9rB,6BAAC,GAAD;AAAK,IAAA,OAAO,EAAEqH,UAAU,CAAC,CAACJ,OAAD,CAAD,CAAxB;AAAqC,IAAA,SAAS,EAAC,iCAA/C;AAC5G,IAAA,KAAK,EAAE;AACHsO,MAAAA,OAAO,EAAE,CAAC,WAAD,EAAc,IAAd,EAAoB,kBAApB;AADN;AADqG,kBAK5GvV;AAAM,IAAA,SAAS,EAAC,yBAAhB;AAA0C,IAAA,QAAQ,EAAE0rB;AAApD,kBACI1rB,6BAAC,KAAD;AAAO,IAAA,SAAS,EAAC,+BAAjB;AAAiD,IAAA,OAAO,EAAEqH,UAAU,CAAC,CAACJ,OAAD,EAAU,OAAV,CAAD,CAApE;AAA0F,IAAA,EAAE,EAAE;AAC1F8kB,MAAAA,SAAS,EAAE,aAD+E;AAE1Fzb,MAAAA,MAAM,EAAE,CAFkF;AAG1FiF,MAAAA,OAAO,EAAE,CAAC,uBAAD,EAA0B,IAA1B,EAAgC,kBAAhC,CAHiF;AAI1FM,MAAAA,UAAU,EAAE,CAAC,GAAD,EAAM,IAAN,EAAY,MAAZ,CAJ8E;AAK1FD,MAAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,SAAf,CALgF;AAM1FxF,MAAAA,KAAK,EAAE,OANmF;AAO1F6G,MAAAA,YAAY,EAAE,CAP4E;AAQ1FxC,MAAAA,YAAY,EAAE,gBAR4E;AAS1F,yBAAmB;AACfG,QAAAA,eAAe,EAAE,aADF;AAEftE,QAAAA,MAAM,EAAE,CAFO;AAGfmE,QAAAA,YAAY,EAAE,gBAHC;AAIfjE,QAAAA,SAAS,EAAE;AAJI,OATuE;AAe1F,wBAAkB;AACdJ,QAAAA,KAAK,EAAE,UADO;AAEdoD,QAAAA,OAAO,EAAE;AAFK;AAfwE,KAA9F;AAoBI,IAAA,GAAG,EAAEmY,QApBT;AAqBI,IAAA,IAAI,eACA3rB,6BAAC,MAAD;AAAQ,MAAA,OAAO,EAAEqH,UAAU,CAAC,CAACJ,OAAD,EAAU,WAAV,CAAD,CAA3B;AAAsD,MAAA,OAAO,EAAEykB,QAA/D;AAAyE,MAAA,EAAE,EAAE;AACzE9W,QAAAA,eAAe,EAAE,aADwD;AAEzEW,QAAAA,OAAO,EAAE,OAFgE;AAGzEjF,QAAAA,MAAM,EAAE,CAHiE;AAIzE,2BAAmB;AACfsE,UAAAA,eAAe,EAAE,aADF;AAEftE,UAAAA,MAAM,EAAE;AAFO;AAJsD;AAA7E,oBASGtQ,6BAAC,IAAD;AAAM,MAAA,KAAK,EAAC,OAAZ;AAAoB,MAAA,IAAI,EAAC,WAAzB;AAAqC,MAAA,IAAI,EAAC;AAA1C,MATH,CAtBR;AAgCI,IAAA,OAAO,EAAE,IAhCb;AAiCI,IAAA,KAAK,EAAC,MAjCV;AAkCI,IAAA,WAAW,EAAE4rB,gBAlCjB;AAmCI,IAAA,KAAK,EAAEE;AAnCX,IADJ,CAL4G,CAAtF;AAAA,CAA1B;;AA+CA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,MAAGC,UAAH,SAAGA,UAAH;AAAA,MAAehlB,OAAf,SAAeA,OAAf;AAAA,sBAA6BjH,6BAAC,GAAD;AAAK,IAAA,OAAO,EAAEiH,OAAd;AAAuB,IAAA,SAAS,EAAC,iCAAjC;AAAmE,IAAA,KAAK,EAAE;AAC7HmJ,MAAAA,KAAK,EAAE,OADsH;AAE7H5K,MAAAA,MAAM,EAAE,OAFqH;AAG7H+P,MAAAA,OAAO,EAAE,CAAC,CAAD,EAAI,IAAJ,EAAU,YAAV,CAHoH;AAI7HK,MAAAA,QAAQ,EAAE,CAAC,OAAD,EAAU,IAAV,EAAgB,MAAhB,CAJmH;AAK7HC,MAAAA,UAAU,EAAE,MALiH;AAM7HwM,MAAAA,SAAS,EAAE;AANkH;AAA1E,KASlD4J,UATkD,CAA7B;AAAA,CAA1B;;AAYA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,QAYb;AAAA,yBAVdC,IAUc;AAAA,MAVdA,IAUc,2BAVP,KAUO;AAAA,MATdZ,OASc,SATdA,OASc;AAAA,MARdG,QAQc,SARdA,QAQc;AAAA,+BAPdI,UAOc;AAAA,MAPdA,UAOc,iCAPD,+BAOC;AAAA,oCANdF,gBAMc;AAAA,MANdA,gBAMc,sCANK,uBAML;AAAA,+BALdK,UAKc;AAAA,MALdA,UAKc,iCALD,sEAKC;AAAA,+BAJdX,UAIc;AAAA,MAJdA,UAIc,iCAJD,IAIC;AAAA,8BAHdD,SAGc;AAAA,MAHdA,SAGc,gCAHF,IAGE;AAAA,4BAFdpkB,OAEc;AAAA,MAFdA,OAEc,8BAFJ,eAEI;AAAA,MAAXwK,IAAW;;AAEd,MAAMhP,GAAG,GAAGzC,cAAK,CAACI,UAAN,CAAiBmC,uBAAjB,CAAZ;AACA,MAAM6pB,cAAc,GAAG;AACnBtY,IAAAA,OAAO,EAAE;AAAEN,MAAAA,OAAO,EAAE;AAAX,KADU;AAEnBK,IAAAA,MAAM,EAAE;AAAEL,MAAAA,OAAO,EAAE;AAAX;AAFW,GAAvB;AAKA,MAAMmY,QAAQ,GAAG3rB,cAAK,CAACqsB,SAAN,EAAjB;AAEArsB,EAAAA,cAAK,CAAC8B,SAAN,CAAgB,YAAM;AAClB,QAAIqqB,IAAJ,EAAU;AACNR,MAAAA,QAAQ,CAAChf,OAAT,CAAiB3L,KAAjB,GAAyB,EAAzB;AACH;AACJ,GAJD;;AAMA,MAAMsrB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAC1rB,CAAD,EAAO;AAC5BA,IAAAA,CAAC,CAACqiB,cAAF;AACAyI,IAAAA,QAAQ,CAACC,QAAQ,CAAChf,OAAT,CAAiB3L,KAAjB,IAA0B,IAA3B,CAAR;AACH,GAHD;;AAKA,sBAAOhB,6BAAC,UAAD;AACH,IAAA,GAAG,EAAEyC,GADF;AAEH,IAAA,SAAS,0BAAuB0pB,IAAI,GAAG,yBAAH,GAA+B,0BAA1D,CAFN;AAGH,IAAA,KAAK,EAAE;AACHvf,MAAAA,QAAQ,EAAE,OADP;AAEHE,MAAAA,GAAG,EAAE,CAFF;AAGHD,MAAAA,IAAI,EAAE,CAHH;AAIH2H,MAAAA,cAAc,EAAE,QAJb;AAKHF,MAAAA,UAAU,EAAE,QALT;AAMHxJ,MAAAA,KAAK,EAAE,MANJ;AAOHE,MAAAA,MAAM,EAAE,MAPL;AAQHwI,MAAAA,OAAO,EAAE,CARN;AASH8D,MAAAA,aAAa,EAAE6U,IAAI,GAAG,MAAH,GAAY,MAT5B;AAUHrY,MAAAA,OAAO,EAAEqY,IAAI,GAAG,SAAH,GAAe,QAVzB;AAWHvX,MAAAA,eAAe,EAAE,UAXd;AAYHyC,MAAAA,MAAM,EAAE;AAZL;AAHJ,KAiBI5F,IAjBJ;AAkBH,IAAA,OAAO,EAAC,QAlBL;AAmBH,IAAA,QAAQ,EAAE2a,cAnBP;AAoBH,IAAA,OAAO,EAAE/kB,UAAU,CAAC,CAACJ,OAAD,CAAD,CApBhB;AAqBH,IAAA,OAAO,EAAEklB,IAAI,GAAG,SAAH,GAAe;AArBzB,mBAuBHnsB,6BAAC,IAAD;AACI,IAAA,SAAS,EAAC,oCADd;AAEI,IAAA,OAAO,EAAEqH,UAAU,CAAC,CAACJ,OAAD,EAAU,SAAV,CAAD,CAFvB;AAGI,IAAA,KAAK,EAAE;AACHsN,MAAAA,aAAa,EAAE,QADZ;AAEH3H,MAAAA,QAAQ,EAAE,UAFP;AAGHwD,MAAAA,KAAK,EAAE,OAHJ;AAIHtF,MAAAA,KAAK,EAAE,CAAC,KAAD,EAAQ,IAAR,EAAc,KAAd;AAJJ;AAHX,kBASI9K,6BAAC,gBAAD;AAAkB,IAAA,OAAO,EAAEqH,UAAU,CAAC,CAACJ,OAAD,EAAU,KAAV,CAAD,CAArC;AACI,IAAA,UAAU,EAAEqkB,UADhB;AAEI,IAAA,SAAS,EAAED,SAFf;AAGI,IAAA,OAAO,EAAEE;AAHb,IATJ,eAaIvrB,6BAAC,iBAAD;AAAmB,IAAA,QAAQ,EAAEssB,gBAA7B;AACI,IAAA,OAAO,EAAEjlB,UAAU,CAAC,CAACJ,OAAD,EAAU,MAAV,CAAD,CADvB;AAEI,IAAA,QAAQ,EAAE0kB,QAFd;AAGI,IAAA,gBAAgB,EAAEC,gBAHtB;AAII,IAAA,UAAU,EAAEE;AAJhB,IAbJ,eAkBI9rB,6BAAC,iBAAD;AAAmB,IAAA,UAAU,EAAEisB,UAA/B;AACI,IAAA,OAAO,EAAE5kB,UAAU,CAAC,CAACJ,OAAD,EAAU,MAAV,CAAD;AADvB,IAlBJ,CAvBG,CAAP;AA8CH,CA/ED;;AAmFA,IAAaslB,aAAa,GAAG,SAAhBA,aAAgB,QAIvB;AAAA,yBAHFJ,IAGE;AAAA,MAHFA,IAGE,2BAHK,KAGL;AAAA,MAFFjqB,AACGuP,IACD;;AACF,SAAOsJ,iBAAQ,CAACC,YAAT,eAAsBhb,6BAAC,sBAAD,eAA4ByR,IAA5B;AAAkC,IAAA,IAAI,EAAE0a;AAAxC,KAAtB,EACHjkB,QAAQ,CAACC,IADN,CAAP;AAGH,CARM;;AC7KP,IAAM7G,MAAM,GAAG;AAEXkrB,EAAAA,KAAK,EAAE,MAFI;AAGXC,EAAAA,KAAK,EAAE,MAHI;AAIXC,EAAAA,WAAW,EAAE,aAJF;AAKXC,EAAAA,KAAK,EAAE,EALI;AAMXC,EAAAA,QAAQ,EAAE,EANC;AAQXC,EAAAA,IAAI,EAAE,SARK;AAUXC,EAAAA,UAAU,EAAG,SAVF;AAWXC,EAAAA,UAAU,EAAG,SAXF;AAYXC,EAAAA,UAAU,EAAG,SAZF;AAaXC,EAAAA,UAAU,EAAG,SAbF;AAcXC,EAAAA,UAAU,EAAG,SAdF;AAeXC,EAAAA,UAAU,EAAG,SAfF;AAgBXC,EAAAA,UAAU,EAAG,SAhBF;AAiBXC,EAAAA,UAAU,EAAG,SAjBF;AAkBXC,EAAAA,UAAU,EAAG,SAlBF;AAoBXC,EAAAA,QAAQ,EAAG,SApBA;AAqBXC,EAAAA,QAAQ,EAAG,SArBA;AAsBXC,EAAAA,QAAQ,EAAG,SAtBA;AAuBXC,EAAAA,QAAQ,EAAG,SAvBA;AAwBXC,EAAAA,QAAQ,EAAG,SAxBA;AAyBXC,EAAAA,QAAQ,EAAG,SAzBA;AA0BXC,EAAAA,QAAQ,EAAG,SA1BA;AA2BXC,EAAAA,QAAQ,EAAG,SA3BA;AA4BXC,EAAAA,QAAQ,EAAG,SA5BA;AA8BXC,EAAAA,OAAO,EAAG,SA9BC;AA+BXC,EAAAA,OAAO,EAAG,SA/BC;AAgCXC,EAAAA,OAAO,EAAG,SAhCC;AAiCXC,EAAAA,OAAO,EAAG,SAjCC;AAkCXC,EAAAA,OAAO,EAAG,SAlCC;AAmCXC,EAAAA,OAAO,EAAG,SAnCC;AAoCXC,EAAAA,OAAO,EAAG,SApCC;AAqCXC,EAAAA,OAAO,EAAG,SArCC;AAsCXC,EAAAA,OAAO,EAAG,SAtCC;AAwCXC,EAAAA,UAAU,EAAG,SAxCF;AAyCXC,EAAAA,UAAU,EAAG,SAzCF;AA0CXC,EAAAA,UAAU,EAAG,SA1CF;AA2CXC,EAAAA,UAAU,EAAG,SA3CF;AA4CXC,EAAAA,UAAU,EAAG,SA5CF;AA6CXC,EAAAA,UAAU,EAAG,SA7CF;AA8CXC,EAAAA,UAAU,EAAG,SA9CF;AA+CXC,EAAAA,UAAU,EAAG,SA/CF;AAgDXC,EAAAA,UAAU,EAAG,SAhDF;AAkDXC,EAAAA,OAAO,EAAG,SAlDC;AAmDXC,EAAAA,OAAO,EAAG,SAnDC;AAoDXC,EAAAA,OAAO,EAAG,SApDC;AAqDXC,EAAAA,OAAO,EAAG,SArDC;AAsDXC,EAAAA,OAAO,EAAG,SAtDC;AAuDXC,EAAAA,OAAO,EAAG,SAvDC;AAwDXC,EAAAA,OAAO,EAAG,SAxDC;AAyDXC,EAAAA,OAAO,EAAG,SAzDC;AA0DXC,EAAAA,OAAO,EAAG,SA1DC;AA4DXC,EAAAA,UAAU,EAAG,SA5DF;AA6DXC,EAAAA,UAAU,EAAG,SA7DF;AA8DXC,EAAAA,UAAU,EAAG,SA9DF;AA+DXC,EAAAA,UAAU,EAAG,SA/DF;AAgEXC,EAAAA,UAAU,EAAG,SAhEF;AAiEXC,EAAAA,UAAU,EAAG,SAjEF;AAkEXC,EAAAA,UAAU,EAAG,SAlEF;AAmEXC,EAAAA,UAAU,EAAG,SAnEF;AAoEXC,EAAAA,UAAU,EAAG,SApEF;AAsEXC,EAAAA,SAAS,EAAG,SAtED;AAuEXC,EAAAA,SAAS,EAAG,SAvED;AAwEXC,EAAAA,SAAS,EAAG,SAxED;AAyEXC,EAAAA,SAAS,EAAG,SAzED;AA0EXC,EAAAA,SAAS,EAAG,SA1ED;AA2EXC,EAAAA,SAAS,EAAG,SA3ED;AA4EXC,EAAAA,SAAS,EAAG,SA5ED;AA6EXC,EAAAA,SAAS,EAAG,SA7ED;AA8EXC,EAAAA,SAAS,EAAG,SA9ED;AAgFXC,EAAAA,UAAU,EAAE,SAhFD;AAkFXC,EAAAA,kBAAkB,EAAE,MAlFT;AAmFXC,EAAAA,kBAAkB,EAAE,SAnFT;AAqFXC,EAAAA,YAAY,EAAE,SArFH;AAsFXC,EAAAA,YAAY,EAAE,SAtFH;AAwFXC,EAAAA,kBAAkB,EAAE,qBAxFT;AA0FX3vB,EAAAA,KAAK,EAAE;AACH4vB,IAAAA,IAAI,EAAE;AACFtE,MAAAA,IAAI,EAAE,YADJ;AAEFpV,MAAAA,UAAU,EAAE,SAFV;AAGFoZ,MAAAA,UAAU,EAAE,SAHV;AAKFC,MAAAA,kBAAkB,EAAE,MALlB;AAMFC,MAAAA,kBAAkB,EAAE,SANlB;AAQFG,MAAAA,kBAAkB,EAAE,2BARlB;AASFF,MAAAA,YAAY,EAAE,MATZ;AAUFC,MAAAA,YAAY,EAAE;AAVZ;AADH;AA1FI,CAAf;AA6GA,IAAMG,oBAAoB,GAAG;AACzBxa,EAAAA,OAAO,EAAItV,MAAM,CAAC4rB,UADO;AAEzBV,EAAAA,KAAK,EAAMlrB,MAAM,CAACqsB,QAFO;AAGzB0D,EAAAA,IAAI,EAAO/vB,MAAM,CAAC8sB,OAHO;AAIzBlQ,EAAAA,OAAO,EAAI5c,MAAM,CAACutB,UAJO;AAKzB1Q,EAAAA,IAAI,EAAO7c,MAAM,CAACguB,OALO;AAMzBgC,EAAAA,OAAO,EAAIhwB,MAAM,CAACyuB,UANO;AAOzB9R,EAAAA,MAAM,EAAK3c,MAAM,CAACkvB;AAPO,CAA7B;AAUA,qCAAmBlvB,MAAnB,GAA8B8vB,oBAA9B;;ACtHA,IAAM/sB,WAAW,GAAG,CAChB,OADgB,EAEhB,OAFgB,EAGhB,OAHgB,EAIhB,QAJgB,CAApB;AAOAA,WAAW,CAACP,EAAZ,GAAiB,KAAjB;AACAO,WAAW,CAACN,EAAZ,GAAiB,OAAjB;AACAM,WAAW,CAACL,EAAZ,GAAiB,OAAjB;AACAK,WAAW,CAACJ,EAAZ,GAAiB,OAAjB;AACAI,WAAW,CAACH,EAAZ,GAAiB,QAAjB;AAEA,AAEO,IAAMqtB,UAAU,GAAI;AACvBnS,EAAAA,QAAQ,EAAE,EADa;AAEvBC,EAAAA,WAAW,EAAE,EAFU;AAGvBC,EAAAA,WAAW,EAAE,CAHU;AAIvBlX,EAAAA,SAAS,EAAE;AACPrE,IAAAA,EAAE,EAAE,OADG;AAEPC,IAAAA,EAAE,EAAE,OAFG;AAGPC,IAAAA,EAAE,EAAE,OAHG;AAIPC,IAAAA,EAAE,EAAE;AAJG;AAJY,CAApB;;AChBP,IAAMN,KAAK,GAAG;AACV4tB,EAAAA,IAAI,EAAS,KADH;AAEVC,EAAAA,QAAQ,EAAK,KAFH;AAGVC,EAAAA,OAAO,EAAM,KAHH;AAIVC,EAAAA,MAAM,EAAO,KAJH;AAKVC,EAAAA,KAAK,EAAQ,MALH;AAMV9a,EAAAA,MAAM,EAAO,MANH;AAOV+a,EAAAA,KAAK,EAAQ,MAPH;AAQVC,EAAAA,MAAM,EAAO,MARH;AASVC,EAAAA,OAAO,EAAM,MATH;AAUVC,EAAAA,QAAQ,EAAK;AAVH,CAAd;;ACCC,IAAMC,OAAO,GAAG;AACb,KAAG,kCADU;AAEb,KAAG,qCAFU;AAGb,KAAG,qCAHU;AAIb,KAAG,uCAJU;AAKb,KAAG;AALU,CAAhB;;ACAD,IAAMC,KAAK,GAAG;AACVT,EAAAA,QAAQ,EAAE,KADA;AAEVC,EAAAA,OAAO,EAAE,KAFC;AAGVC,EAAAA,MAAM,EAAE,KAHE;AAIVC,EAAAA,KAAK,EAAE,MAJG;AAKV9a,EAAAA,MAAM,EAAE,MALE;AAMV+a,EAAAA,KAAK,EAAE,MANG;AAOVC,EAAAA,MAAM,EAAE,MAPE;AAQVC,EAAAA,OAAO,EAAE,MARC;AASVC,EAAAA,QAAQ,EAAE;AATA,CAAd;;ACCC,IAAMhT,KAAK,GAAG;AACXC,EAAAA,IAAI,EAAE,oBADK;AAEXkT,EAAAA,KAAK,EAAE,wBAFI;AAGXC,EAAAA,SAAS,EAAE,4BAHA;AAIXC,EAAAA,UAAU,EAAE;AAJD,CAAd;;ACAD,IAAMC,WAAW,GAAG;AAChBC,EAAAA,IAAI,EAAU,GADE;AAEhBC,EAAAA,UAAU,EAAI,GAFE;AAGhB7F,EAAAA,KAAK,EAAS,GAHE;AAIhB8F,EAAAA,OAAO,EAAO,GAJE;AAKhB3b,EAAAA,MAAM,EAAQ,GALE;AAMhB4b,EAAAA,QAAQ,EAAM,GANE;AAOhBC,EAAAA,IAAI,EAAU,GAPE;AAQhBC,EAAAA,SAAS,EAAK,GARE;AAShBpG,EAAAA,KAAK,EAAS;AATE,CAApB;;ACDA,IAAMtN,SAAS,GAAG;AACd2T,EAAAA,IAAI,EAAU,MADA;AAEdC,EAAAA,OAAO,EAAO,MAFA;AAGd3qB,EAAAA,IAAI,EAAU,MAHA;AAId4qB,EAAAA,SAAS,EAAK,MAJA;AAKdC,EAAAA,SAAS,EAAK,MALA;AAMd/d,EAAAA,KAAK,EAAS,MANA;AAOdge,EAAAA,QAAQ,EAAM,MAPA;AAQdC,EAAAA,QAAQ,EAAM,MARA;AASdC,EAAAA,QAAQ,EAAM,MATA;AAUdC,EAAAA,QAAQ,EAAM,MAVA;AAWdC,EAAAA,QAAQ,EAAM,MAXA;AAYdC,EAAAA,QAAQ,EAAM,MAZA;AAadC,EAAAA,SAAS,EAAK;AAbA,CAAlB;;ACAA,IAAMC,WAAW,GAAG;AAChBX,EAAAA,IAAI,EAAU,MADE;AAEhBC,EAAAA,OAAO,EAAO,MAFE;AAGhB3qB,EAAAA,IAAI,EAAU,MAHE;AAIhB4qB,EAAAA,SAAS,EAAK,MAJE;AAKhBC,EAAAA,SAAS,EAAK,MALE;AAMhB/d,EAAAA,KAAK,EAAS,MANE;AAOhBge,EAAAA,QAAQ,EAAM,MAPE;AAQhBC,EAAAA,QAAQ,EAAM,MARE;AAShBC,EAAAA,QAAQ,EAAM,MATE;AAUhBC,EAAAA,QAAQ,EAAM,MAVE;AAWhBC,EAAAA,QAAQ,EAAM,MAXE;AAYhBC,EAAAA,QAAQ,EAAM;AAZE,CAApB;;ACCA,IAAMG,OAAO,GAAG;AACZ7c,EAAAA,OAAO,iBAAoBtV,QAAM,CAAC4rB,UADtB;AAEZhP,EAAAA,OAAO,iBAAoB5c,QAAM,CAACutB,UAFtB;AAGZ5Q,EAAAA,MAAM,iBAAqB3c,QAAM,CAACkvB,SAHtB;AAIZrS,EAAAA,IAAI,iBAAuB7c,QAAM,CAACguB,OAJtB;AAKZgC,EAAAA,OAAO,iBAAoBhwB,QAAM,CAACyuB,UALtB;AAMZvD,EAAAA,KAAK,iBAAsBlrB,QAAM,CAACqsB,QANtB;AAOZ0D,EAAAA,IAAI,iBAAuB/vB,QAAM,CAAC8sB;AAPtB,CAAhB;AAWA,AAAO,IAAMsF,KAAK,GAAG;AACjBlC,EAAAA,IAAI,EAAM,KADO;AAEjBG,EAAAA,MAAM,EAAI,KAFO;AAGjBC,EAAAA,KAAK,EAAK,KAHO;AAIjB9a,EAAAA,MAAM,EAAI,KAJO;AAKjB+a,EAAAA,KAAK,EAAK,KALO;AAMjBC,EAAAA,MAAM,EAAI,MANO;AAOjB6B,EAAAA,OAAO,EAAG;AAPO,CAAd;AAWP,AAAO,IAAMC,YAAY,GAAG;AACxBpC,EAAAA,IAAI,EAAM,KADc;AAExBG,EAAAA,MAAM,EAAI,KAFc;AAGxBC,EAAAA,KAAK,EAAK,KAHc;AAIxB9a,EAAAA,MAAM,EAAI,KAJc;AAKxB+a,EAAAA,KAAK,EAAK;AALc,CAArB;AAQP,AAAO,IAAMgC,YAAY,GAAG,EAArB;;ACpCP,IAAMC,OAAO,GAAG;AACZnc,EAAAA,IAAI,EAAE;AACFf,IAAAA,OAAO,EAAE;AACLhC,MAAAA,eAAe,EAAE,YADZ;AAELxE,MAAAA,KAAK,EAAE,OAFF;AAGLwF,MAAAA,QAAQ,EAAE,WAHL;AAILC,MAAAA,UAAU,EAAE,WAJP;AAKLke,MAAAA,WAAW,EAAE,KALR;AAMLrf,MAAAA,WAAW,EAAE,aANR;AAOL,gBAAU;AACNE,QAAAA,eAAe,EAAE,YADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP,OAPL;AAYL,mBAAa;AACTE,QAAAA,eAAe,EAAE,YADR;AAETxE,QAAAA,KAAK,EAAE,YAFE;AAGTsE,QAAAA,WAAW,EAAE;AAHJ;AAZR,KADP;AAmBFuJ,IAAAA,MAAM,EAAG;AACLrJ,MAAAA,eAAe,EAAE,WADZ;AAELxE,MAAAA,KAAK,EAAE,OAFF;AAGLwF,MAAAA,QAAQ,EAAE,WAHL;AAILC,MAAAA,UAAU,EAAE,WAJP;AAKLke,MAAAA,WAAW,EAAE,KALR;AAMLrf,MAAAA,WAAW,EAAE,aANR;AAOL,gBAAU;AACNE,QAAAA,eAAe,EAAE,WADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP,OAPL;AAYL,mBAAa;AACTE,QAAAA,eAAe,EAAE,WADR;AAETxE,QAAAA,KAAK,EAAE,WAFE;AAGTsE,QAAAA,WAAW,EAAE;AAHJ;AAZR,KAnBP;AAqCFwJ,IAAAA,OAAO,EAAG;AACNtJ,MAAAA,eAAe,EAAE,YADX;AAENxE,MAAAA,KAAK,EAAE,OAFD;AAGNwF,MAAAA,QAAQ,EAAE,WAHJ;AAINC,MAAAA,UAAU,EAAE,WAJN;AAKNke,MAAAA,WAAW,EAAE,KALP;AAMNrf,MAAAA,WAAW,EAAE,aANP;AAON,gBAAU;AACNE,QAAAA,eAAe,EAAE,YADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP,OAPJ;AAYN,mBAAa;AACTE,QAAAA,eAAe,EAAE,YADR;AAETxE,QAAAA,KAAK,EAAE,YAFE;AAGTsE,QAAAA,WAAW,EAAE;AAHJ;AAZP,KArCR;AAuDFyJ,IAAAA,IAAI,EAAG;AACHvJ,MAAAA,eAAe,EAAE,SADd;AAEHxE,MAAAA,KAAK,EAAE,OAFJ;AAGHwF,MAAAA,QAAQ,EAAE,WAHP;AAIHC,MAAAA,UAAU,EAAE,WAJT;AAKHke,MAAAA,WAAW,EAAE,KALV;AAMHrf,MAAAA,WAAW,EAAE,aANV;AAOH,gBAAU;AACNE,QAAAA,eAAe,EAAE,SADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP,OAPP;AAYH,mBAAa;AACTE,QAAAA,eAAe,EAAE,SADR;AAETxE,QAAAA,KAAK,EAAE,SAFE;AAGTsE,QAAAA,WAAW,EAAE;AAHJ;AAZV,KAvDL;AAyEF4c,IAAAA,OAAO,EAAG;AACN1c,MAAAA,eAAe,EAAE,YADX;AAENxE,MAAAA,KAAK,EAAE,OAFD;AAGNwF,MAAAA,QAAQ,EAAE,WAHJ;AAINC,MAAAA,UAAU,EAAE,WAJN;AAKNke,MAAAA,WAAW,EAAE,KALP;AAMNrf,MAAAA,WAAW,EAAE,aANP;AAON,gBAAU;AACNE,QAAAA,eAAe,EAAE,YADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP,OAPJ;AAYN,mBAAa;AACTE,QAAAA,eAAe,EAAE,YADR;AAETxE,QAAAA,KAAK,EAAE,YAFE;AAGTsE,QAAAA,WAAW,EAAE;AAHJ;AAZP;AAzER,GADM;AA6FZ3O,EAAAA,IAAI,EAAE;AACF6rB,IAAAA,KAAK,EAAE;AACHoC,MAAAA,UAAU,EAAE,SADT;AAEHC,MAAAA,aAAa,EAAE,SAFZ;AAGHC,MAAAA,WAAW,EAAE,OAHV;AAIHC,MAAAA,YAAY,EAAE,OAJX;AAKHve,MAAAA,QAAQ,EAAE,MALP;AAMHC,MAAAA,UAAU,EAAE;AANT,KADL;AAUFiB,IAAAA,MAAM,EAAE;AACJkd,MAAAA,UAAU,EAAE,SADR;AAEJC,MAAAA,aAAa,EAAE,SAFX;AAGJC,MAAAA,WAAW,EAAE,OAHT;AAIJC,MAAAA,YAAY,EAAE,OAJV;AAKJve,MAAAA,QAAQ,EAAE,MALN;AAMJC,MAAAA,UAAU,EAAE;AANR,KAVN;AAkBFgc,IAAAA,KAAK,EAAE;AACHmC,MAAAA,UAAU,EAAE,SADT;AAEHC,MAAAA,aAAa,EAAE,SAFZ;AAGHC,MAAAA,WAAW,EAAE,OAHV;AAIHC,MAAAA,YAAY,EAAE,OAJX;AAKHve,MAAAA,QAAQ,EAAE,MALP;AAMHC,MAAAA,UAAU,EAAE;AANT;AAlBL,GA7FM;AA0HZL,EAAAA,OAAO,EAAE;AACLoB,IAAAA,OAAO,EAAE;AACLtG,MAAAA,MAAM,EAAE,SADH;AAELF,MAAAA,KAAK,EAAE,YAFF;AAGL2jB,MAAAA,WAAW,EAAE,OAHR;AAILnf,MAAAA,eAAe,EAAE,aAJZ;AAKL,gBAAU;AACNA,QAAAA,eAAe,EAAE,YADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP;AALL,KADJ;AAYLuJ,IAAAA,MAAM,EAAE;AACJ3N,MAAAA,MAAM,EAAE,QADJ;AAEJF,MAAAA,KAAK,EAAE,WAFH;AAGJ2jB,MAAAA,WAAW,EAAE,OAHT;AAIJnf,MAAAA,eAAe,EAAE,aAJb;AAKJ,gBAAU;AACNA,QAAAA,eAAe,EAAE,WADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP;AALN,KAZH;AAuBLwJ,IAAAA,OAAO,EAAE;AACL5N,MAAAA,MAAM,EAAE,SADH;AAELF,MAAAA,KAAK,EAAE,YAFF;AAGL2jB,MAAAA,WAAW,EAAE,OAHR;AAILnf,MAAAA,eAAe,EAAE,aAJZ;AAKL,gBAAU;AACNA,QAAAA,eAAe,EAAE,YADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP;AALL,KAvBJ;AAkCL4c,IAAAA,OAAO,EAAE;AACLhhB,MAAAA,MAAM,EAAE,SADH;AAELF,MAAAA,KAAK,EAAE,YAFF;AAGL2jB,MAAAA,WAAW,EAAE,OAHR;AAILnf,MAAAA,eAAe,EAAE,aAJZ;AAKL,gBAAU;AACNA,QAAAA,eAAe,EAAE,YADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP;AALL,KAlCJ;AA6CLyJ,IAAAA,IAAI,EAAE;AACF7N,MAAAA,MAAM,EAAE,MADN;AAEFF,MAAAA,KAAK,EAAE,SAFL;AAGF2jB,MAAAA,WAAW,EAAE,OAHX;AAIFnf,MAAAA,eAAe,EAAE,aAJf;AAKF,gBAAU;AACNA,QAAAA,eAAe,EAAE,SADX;AAENxE,QAAAA,KAAK,EAAE,OAFD;AAGNsE,QAAAA,WAAW,EAAE;AAHP;AALR;AA7CD;AA1HG,CAAhB;;ACAA,IAAM0f,OAAO,GAAG;AACZjgB,EAAAA,QAAQ,EAAE;AACNyC,IAAAA,OAAO,EAAE;AACLxG,MAAAA,KAAK,EAAE,YADF;AAEL0F,MAAAA,cAAc,EAAE,MAFX;AAGL,iBAAW;AACP1F,QAAAA,KAAK,EAAE,YADA;AAEP0F,QAAAA,cAAc,EAAE;AAFT,OAHN;AAQL,oBAAc;AACV1F,QAAAA,KAAK,EAAE;AADG;AART,KADH;AAaN6N,IAAAA,MAAM,EAAG;AACL7N,MAAAA,KAAK,EAAE,WADF;AAEL0F,MAAAA,cAAc,EAAE,MAFX;AAGL,iBAAW;AACP1F,QAAAA,KAAK,EAAE,WADA;AAEP0F,QAAAA,cAAc,EAAE;AAFT,OAHN;AAQL,oBAAc;AACV1F,QAAAA,KAAK,EAAE;AADG;AART,KAbH;AAyBN8N,IAAAA,OAAO,EAAG;AACN9N,MAAAA,KAAK,EAAE,YADD;AAEN0F,MAAAA,cAAc,EAAE,MAFV;AAGN,iBAAW;AACP1F,QAAAA,KAAK,EAAE,YADA;AAEP0F,QAAAA,cAAc,EAAE;AAFT,OAHL;AAQN,oBAAc;AACV1F,QAAAA,KAAK,EAAE;AADG;AARR,KAzBJ;AAqCN+N,IAAAA,IAAI,EAAG;AACH/N,MAAAA,KAAK,EAAE,SADJ;AAEH0F,MAAAA,cAAc,EAAE,MAFb;AAGH,iBAAW;AACP1F,QAAAA,KAAK,EAAE,SADA;AAEP0F,QAAAA,cAAc,EAAE;AAFT,OAHR;AAQH,oBAAc;AACV1F,QAAAA,KAAK,EAAE;AADG;AARX,KArCD;AAiDNkhB,IAAAA,OAAO,EAAG;AACNlhB,MAAAA,KAAK,EAAE,YADD;AAEN0F,MAAAA,cAAc,EAAE,MAFV;AAGN,iBAAW;AACP1F,QAAAA,KAAK,EAAE,YADA;AAEP0F,QAAAA,cAAc,EAAE;AAFT,OAHL;AAQN,oBAAc;AACV1F,QAAAA,KAAK,EAAE;AADG;AARR;AAjDJ;AADE,CAAhB;;ACGA,IAAMikB,MAAM,GAAG;AAEXC,EAAAA,aAAa,EAAE;AACXxpB,IAAAA,KAAK,EAAE;AADI,GAFJ;AAKXqJ,EAAAA,QAAQ,EAAE;AACN,eAAS;AACL/D,MAAAA,KAAK,EAAE,UADF;AAELsE,MAAAA,WAAW,EAAE,SAFR;AAGLqf,MAAAA,WAAW,EAAE,KAHR;AAIL9c,MAAAA,YAAY,EAAE,OAJT;AAKL,wBAAkB;AACdzG,QAAAA,SAAS,EAAE;AADG,OALb;AAQL,gBAAU;AACNkE,QAAAA,WAAW,EAAE,YADP;AAENlE,QAAAA,SAAS,iBAAelP,QAAM,CAAC6rB;AAFzB,OARL;AAYL,mBAAa;AACTvY,QAAAA,eAAe,EAAE,SADR;AAETpE,QAAAA,SAAS,EAAE,MAFF;AAGTJ,QAAAA,KAAK,EAAE,SAHE;AAITsE,QAAAA,WAAW,EAAE;AAJJ;AAZR,KADH;AAoBN6f,IAAAA,GAAG,EAAE;AACDnkB,MAAAA,KAAK,EAAE,SADN;AAEDsE,MAAAA,WAAW,EAAE,SAFZ;AAGDqf,MAAAA,WAAW,EAAE,KAHZ;AAID9c,MAAAA,YAAY,EAAE,SAJb;AAKDpB,MAAAA,UAAU,EAAE,MALX;AAMDD,MAAAA,QAAQ,EAAE,MANT;AAOD9K,MAAAA,KAAK,EAAE,MAPN;AAQD,wBAAkB;AACd0F,QAAAA,SAAS,EAAE;AADG,OARjB;AAWD,gBAAU;AACNkE,QAAAA,WAAW,EAAE,SADP;AAENlE,QAAAA,SAAS,EAAE;AAFL,OAXT;AAgBD,mBAAa;AACToE,QAAAA,eAAe,EAAE,SADR;AAETpE,QAAAA,SAAS,EAAE,MAFF;AAGTJ,QAAAA,KAAK,EAAE,SAHE;AAITsE,QAAAA,WAAW,EAAE;AAJJ;AAhBZ,KApBC;AA2CN8f,IAAAA,GAAG,EAAE;AACDpkB,MAAAA,KAAK,EAAE,MADN;AAEDE,MAAAA,MAAM,EAAE,mBAFP;AAGDsE,MAAAA,eAAe,EAAE,MAHhB;AAIDmQ,MAAAA,UAAU,EAAE,GAJX;AAKD9N,MAAAA,YAAY,EAAE,MALb;AAMDzG,MAAAA,SAAS,EAAE,kCANV;AAODuD,MAAAA,UAAU,EAAE,2DAPX;AAQD,wBAAkB;AACdvD,QAAAA,SAAS,EAAE;AADG,OARjB;AAWD,gBAAU;AACNkE,QAAAA,WAAW,EAAE,SADP;AAENc,QAAAA,OAAO,EAAE,GAFH;AAGNhF,QAAAA,SAAS,EAAE;AAHL,OAXT;AAiBD,mBAAa;AACToE,QAAAA,eAAe,EAAE,SADR;AAETpE,QAAAA,SAAS,EAAE,MAFF;AAGTJ,QAAAA,KAAK,EAAE,SAHE;AAITsE,QAAAA,WAAW,EAAE;AAJJ;AAjBZ;AA3CC,GALC;AAyEX+f,EAAAA,MAAM,EAAE;AACJ7d,IAAAA,OAAO,EAAE;AACLlC,MAAAA,WAAW,EAAE,YADR;AAEL,wBAAkB;AACdlE,QAAAA,SAAS,iBAAelP,QAAM,CAACyrB;AADjB,OAFb;AAKL,gBAAU;AACNrY,QAAAA,WAAW,EAAE,YADP;AAENlE,QAAAA,SAAS,iBAAelP,QAAM,CAACyrB;AAFzB;AALL,KADL;AAWJ9O,IAAAA,MAAM,EAAG;AACLvJ,MAAAA,WAAW,EAAE,WADR;AAEL,wBAAkB;AACdlE,QAAAA,SAAS,iBAAelP,QAAM,CAAC+uB;AADjB,OAFb;AAKL,gBAAU;AACN3b,QAAAA,WAAW,EAAE,WADP;AAENlE,QAAAA,SAAS,iBAAelP,QAAM,CAAC+uB;AAFzB;AALL,KAXL;AAqBJnS,IAAAA,OAAO,EAAG;AACNxJ,MAAAA,WAAW,EAAE,YADP;AAEN,wBAAkB;AACdlE,QAAAA,SAAS,iBAAelP,QAAM,CAACotB;AADjB,OAFZ;AAKN,gBAAU;AACNha,QAAAA,WAAW,EAAE,YADP;AAENlE,QAAAA,SAAS,iBAAelP,QAAM,CAACotB;AAFzB;AALJ,KArBN;AA+BJvQ,IAAAA,IAAI,EAAG;AACHzJ,MAAAA,WAAW,EAAE,SADV;AAEH,wBAAkB;AACdlE,QAAAA,SAAS,iBAAelP,QAAM,CAAC6tB;AADjB,OAFf;AAKH,gBAAU;AACNza,QAAAA,WAAW,EAAE,SADP;AAENlE,QAAAA,SAAS,iBAAelP,QAAM,CAAC6tB;AAFzB;AALP,KA/BH;AAyCJmC,IAAAA,OAAO,EAAG;AACN5c,MAAAA,WAAW,EAAE,YADP;AAEN,wBAAkB;AACdlE,QAAAA,SAAS,iBAAelP,QAAM,CAACsuB;AADjB,OAFZ;AAKN,gBAAU;AACNlb,QAAAA,WAAW,EAAE,YADP;AAENlE,QAAAA,SAAS,iBAAelP,QAAM,CAACsuB;AAFzB;AALJ;AAzCN,GAzEG;AA8HXsC,EAAAA,KAAK,EAAE;AACHN,IAAAA,KAAK,EAAE;AACH8C,MAAAA,QAAQ,EAAE,SADP;AAEHC,MAAAA,QAAQ,EAAE,QAFP;AAGH/e,MAAAA,QAAQ,EAAE,MAHP;AAIHC,MAAAA,UAAU,EAAE;AAJT,KADJ;AAQHiB,IAAAA,MAAM,EAAE;AACJ4d,MAAAA,QAAQ,EAAE,QADN;AAEJC,MAAAA,QAAQ,EAAE,QAFN;AAGJ/e,MAAAA,QAAQ,EAAE,MAHN;AAIJC,MAAAA,UAAU,EAAE;AAJR,KARL;AAcHgc,IAAAA,KAAK,EAAE;AACH6C,MAAAA,QAAQ,EAAE,OADP;AAEHC,MAAAA,QAAQ,EAAE,OAFP;AAGH/e,MAAAA,QAAQ,EAAE,MAHP;AAIHC,MAAAA,UAAU,EAAE;AAJT,KAdJ;AAoBH0e,IAAAA,GAAG,EAAE;AAEDI,MAAAA,QAAQ,EAAE,MAFT;AAGD/e,MAAAA,QAAQ,EAAE,MAHT;AAIDC,MAAAA,UAAU,EAAE;AAJX,KApBF;AA0BH2e,IAAAA,GAAG,EAAE;AACDjf,MAAAA,OAAO,EAAE,UADR;AAEDK,MAAAA,QAAQ,EAAE,MAFT;AAGDC,MAAAA,UAAU,EAAE,SAHX;AAIDkP,MAAAA,UAAU,EAAE,GAJX;AAKD/Z,MAAAA,MAAM,EAAE,MALP;AAMDF,MAAAA,KAAK,EAAE;AANN;AA1BF;AA9HI,CAAf;;ACJA,IAAM8pB,MAAM,GAAG;AACXzgB,EAAAA,QAAQ,EAAE;AACN,eAAS;AACL/D,MAAAA,KAAK,EAAE,SADF;AAELwF,MAAAA,QAAQ,EAAE,MAFL;AAGLC,MAAAA,UAAU,EAAE,MAHP;AAILkP,MAAAA,UAAU,EAAE;AAJP,KADH;AAONwP,IAAAA,GAAG,EAAE;AACDnkB,MAAAA,KAAK,EAAE,SADN;AAEDwF,MAAAA,QAAQ,EAAE,MAFT;AAGDC,MAAAA,UAAU,EAAE,MAHX;AAIDkP,MAAAA,UAAU,EAAE;AAJX,KAPC;AAaNyP,IAAAA,GAAG,EAAE;AACDpkB,MAAAA,KAAK,EAAE,SADN;AAEDwF,MAAAA,QAAQ,EAAE,MAFT;AAGDC,MAAAA,UAAU,EAAE,QAHX;AAIDkP,MAAAA,UAAU,EAAE,GAJX;AAKDvf,MAAAA,MAAM,EAAE;AALP;AAbC;AADC,CAAf;;ACCA,IAAMqvB,KAAK,GAAG;AAEVje,EAAAA,OAAO,EAAE;AACLxG,IAAAA,KAAK,EAAE,SADF;AAEL,yBAAqB;AACjBA,MAAAA,KAAK,EAAE;AADU;AAFhB,GAFC;AASV6N,EAAAA,MAAM,EAAE;AACJ7N,IAAAA,KAAK,EAAE,WADH;AAEJ,yBAAqB;AACjBA,MAAAA,KAAK,EAAE;AADU;AAFjB;AATE,CAAd;;ACAA,IAAM0kB,QAAQ,GAAG;AAEble,EAAAA,OAAO,EAAE;AACLxG,IAAAA,KAAK,EAAE,SADF;AAEL,yBAAqB;AACjBA,MAAAA,KAAK,EAAE;AADU;AAFhB,GAFI;AASb6N,EAAAA,MAAM,EAAE;AACJ7N,IAAAA,KAAK,EAAE,WADH;AAEJ,yBAAqB;AACjBA,MAAAA,KAAK,EAAE;AADU;AAFjB;AATK,CAAjB;;ACAA,IAAM2kB,MAAM,GAAG,EAAf;;ACFO,IAAMC,KAAK,GAAG;AACjBnP,EAAAA,oBAAoB,EAAE,IADL;AAEjBxO,EAAAA,MAAM,EAAE,IAFS;AAIjBzC,EAAAA,eAAe,EAAE,YAJA;AAMjBxM,EAAAA,SAAS,EAAE;AACPiP,IAAAA,MAAM,EAAE;AADD,GANM;AASjB4d,EAAAA,OAAO,EAAE;AACLrgB,IAAAA,eAAe,EAAE,SADZ;AAELpB,IAAAA,OAAO,EAAE;AAFJ,GATQ;AAajB,aAAU;AAbO,CAAd;;ACEP,IAAM+Q,IAAI,GAAG;AAETvP,EAAAA,MAAM,EAAE,EAFC;AAITwP,EAAAA,GAAG,EAAE,EAJI;AAMTpB,EAAAA,SAAS,EAAE,EANF;AAQT7L,EAAAA,OAAO,EAAE,EARA;AAYT2d,EAAAA,QAAQ,EAAE;AACN5kB,IAAAA,MAAM,EAAE,CADF;AAEN0E,IAAAA,MAAM,EAAE;AACJJ,MAAAA,eAAe,EAAC,aADZ;AAEJH,MAAAA,YAAY,EAAE,WAFV;AAGJC,MAAAA,WAAW,EAAE;AAHT,KAFF;AAON8P,IAAAA,GAAG,EAAE;AACDlU,MAAAA,MAAM,EAAE,WADP;AAEDoE,MAAAA,WAAW,EAAE,SAFZ;AAGDuC,MAAAA,YAAY,EAAE,KAHb;AAIDke,MAAAA,sBAAsB,EAAE,KAJvB;AAKDC,MAAAA,uBAAuB,EAAE,KALxB;AAMDzgB,MAAAA,YAAY,EAAE,MANb;AAODyN,MAAAA,EAAE,EAAC,KAPF;AAQD,8BAAwB;AACpBoJ,QAAAA,UAAU,EAAE;AADQ;AARvB,KAPC;AAmBNpI,IAAAA,SAAS,EAAE;AACP9S,MAAAA,MAAM,EAAE,WADD;AAEPoE,MAAAA,WAAW,EAAE,SAFN;AAGPD,MAAAA,YAAY,EAAE,CAHP;AAIPG,MAAAA,eAAe,EAAE,OAJV;AAKPqC,MAAAA,YAAY,EAAE,KALP;AAMPke,MAAAA,sBAAsB,EAAE,KANjB;AAOPC,MAAAA,uBAAuB,EAAE,KAPlB;AAQPzgB,MAAAA,YAAY,EAAE,MARP;AASPyN,MAAAA,EAAE,EAAC,KATI;AAUP,8BAAwB;AACpBoJ,QAAAA,UAAU,EAAE;AADQ;AAVjB,KAnBL;AAiCNjU,IAAAA,OAAO,EAAE;AACL1C,MAAAA,EAAE,EAAE,OADC;AAELC,MAAAA,EAAE,EAAE,OAFC;AAGLxE,MAAAA,MAAM,EAAE,WAHH;AAILoE,MAAAA,WAAW,EAAE,SAJR;AAKL2gB,MAAAA,SAAS,EAAE;AALN;AAjCH,GAZD;AAsDTC,EAAAA,iBAAiB,EAAE;AACfhlB,IAAAA,MAAM,EAAE,CADO;AAEf0E,IAAAA,MAAM,EAAE;AACJJ,MAAAA,eAAe,EAAC;AADZ,KAFO;AAKf4P,IAAAA,GAAG,EAAE;AAED5P,MAAAA,eAAe,EAAC,aAFf;AAGDwN,MAAAA,EAAE,EAAC,MAHF;AAIDzN,MAAAA,YAAY,EAAE;AAJb,KALU;AAWfyO,IAAAA,SAAS,EAAE;AACPxO,MAAAA,eAAe,EAAE,OADV;AAEPD,MAAAA,YAAY,EAAE;AAFP,KAXI;AAef4C,IAAAA,OAAO,EAAE;AACL1C,MAAAA,EAAE,EAAE,OADC;AAELC,MAAAA,EAAE,EAAE,OAFC;AAGLF,MAAAA,eAAe,EAAE;AAHZ;AAfM;AAtDV,CAAb;;ACAA,IAAM2gB,SAAS,GAAG;AAIdC,EAAAA,KAAK,EAAE;AACH9gB,IAAAA,WAAW,EAAE;AADV,GAJO;AAQdM,EAAAA,MAAM,EAAE;AACJJ,IAAAA,eAAe,EAAE,SADb;AAEJF,IAAAA,WAAW,EAAE,SAFT;AAGJ6J,IAAAA,CAAC,EAAE,CAAC,QAAD,EAAW,IAAX,EAAiB,OAAjB;AAHC,GARM;AAcd3H,EAAAA,OAAO,EAAE;AACL4e,IAAAA,KAAK,EAAE;AACH9gB,MAAAA,WAAW,EAAE,YADV;AAEHqf,MAAAA,WAAW,EAAE;AAFV;AADF,GAdK;AAqBd9V,EAAAA,MAAM,EAAE;AACJzY,IAAAA,MAAM,EAAE,CADJ;AAEJgwB,IAAAA,KAAK,EAAE;AACH9gB,MAAAA,WAAW,EAAE,WADV;AAEHqf,MAAAA,WAAW,EAAE;AAFV,KAFH;AAMJ/e,IAAAA,MAAM,EAAE;AACJN,MAAAA,WAAW,EAAE,WADT;AAEJ6J,MAAAA,CAAC,EAAE,CAAC,QAAD,EAAW,IAAX,EAAiB,OAAjB;AAFC,KANJ;AAWJ3H,IAAAA,OAAO,EAAE;AACL4e,MAAAA,KAAK,EAAE;AACH9gB,QAAAA,WAAW,EAAE,WADV;AAEHqf,QAAAA,WAAW,EAAE;AAFV;AADF;AAXL;AArBM,CAAlB;;ACAA,IAAM0B,UAAU,GAAG;AAEfC,EAAAA,KAAK,EAAE;AACH9gB,IAAAA,eAAe,EAAE,aADd;AAEHW,IAAAA,OAAO,EAAE,OAFN;AAGHogB,IAAAA,UAAU,EAAE,YAHT;AAIH/f,IAAAA,QAAQ,EAAE,MAJP;AAMHggB,IAAAA,IAAI,EAAE;AACFxlB,MAAAA,KAAK,EAAE,YADL;AAEFc,MAAAA,MAAM,EAAE;AACJd,QAAAA,KAAK,EAAE;AADH;AAFN,KANH;AAaH4F,IAAAA,SAAS,EAAE,EAbR;AAiBH,8BAA0B,EAjBvB;AAoBH,yDAAqD;AACjD,gBAAU;AADuC;AApBlD;AAFQ,CAAnB;;ACCA,IAAMgM,IAAI,GAAG;AAGTC,EAAAA,GAAG,EAAE,EAHI;AAMT4T,EAAAA,SAAS,EAAE,EANF;AAWTC,EAAAA,WAAW,EAAE;AACTvgB,IAAAA,OAAO,EAAE,KADA;AAETogB,IAAAA,UAAU,EAAE,YAFH;AAGT/gB,IAAAA,eAAe,EAAE,OAHR;AAITpE,IAAAA,SAAS,EAAE,CAJF;AAKTqE,IAAAA,EAAE,EAAE,OALK;AAMTP,IAAAA,UAAU,EAAE,OANH;AAOT2N,IAAAA,GAAG,EAAE;AACD1M,MAAAA,OAAO,EAAE,KADR;AAEDK,MAAAA,QAAQ,EAAE,MAFT;AAGDmP,MAAAA,UAAU,EAAE,GAHX;AAID3U,MAAAA,KAAK,EAAE,SAJN;AAKD2lB,MAAAA,aAAa,EAAE,WALd;AAMDjhB,MAAAA,EAAE,EAAE,MANH;AAODD,MAAAA,EAAE,EAAE,CAAC,MAAD,EAAS,GAAT,CAPH;AAQDkf,MAAAA,WAAW,EAAE,CAAC,GAAD,EAAM,KAAN,CARZ;AASDiC,MAAAA,WAAW,EAAE,OATZ;AAUDthB,MAAAA,WAAW,EAAE,SAVZ;AAWD2gB,MAAAA,SAAS,EAAE,KAXV;AAYD5gB,MAAAA,YAAY,EAAE,KAZb;AAeD,yBAAoB;AAChBnE,QAAAA,MAAM,EAAE;AADQ,OAfnB;AAkBD,wBAAmB;AACfA,QAAAA,MAAM,EAAE;AADO,OAlBlB;AAqBD,gBAAU;AACNF,QAAAA,KAAK,EAAE;AADD;AArBT,KAPI;AAiCTylB,IAAAA,SAAS,EAAE;AACPtgB,MAAAA,OAAO,EAAE,KADF;AAEPnF,MAAAA,KAAK,EAAE,SAFA;AAGP0E,MAAAA,EAAE,EAAE,MAHG;AAIPD,MAAAA,EAAE,EAAE,CAAC,MAAD,EAAS,GAAT,CAJG;AAKPkQ,MAAAA,UAAU,EAAE,GALL;AAMP,gBAAU;AACN3U,QAAAA,KAAK,EAAE;AADD;AANH;AAjCF;AAXJ,CAAb;;ACDO,IAAM6lB,OAAO,GAAG;AACnB,aAAS;AACL7lB,IAAAA,KAAK,EAAE,UADF;AAEL8lB,IAAAA,EAAE,EAAE;AACAtgB,MAAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,MAAf,EAAuB,UAAvB,EAAmC,UAAnC,CADV;AAEAC,MAAAA,UAAU,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,UAAjB,CAFZ;AAGAlB,MAAAA,YAAY,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,MAAf;AAHd,KAFC;AAOLwhB,IAAAA,EAAE,EAAE;AACAvgB,MAAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CADV;AAEAC,MAAAA,UAAU,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CAFZ;AAGAlB,MAAAA,YAAY,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,MAAf;AAHd,KAPC;AAYLyhB,IAAAA,EAAE,EAAE;AACAxgB,MAAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CADV;AAEAC,MAAAA,UAAU,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CAFZ;AAGAlB,MAAAA,YAAY,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,MAAf;AAHd,KAZC;AAiBL0hB,IAAAA,EAAE,EAAE;AACAzgB,MAAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CADV;AAEAC,MAAAA,UAAU,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CAFZ;AAGAlB,MAAAA,YAAY,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,MAAf;AAHd,KAjBC;AAsBL2hB,IAAAA,EAAE,EAAE;AACA1gB,MAAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CADV;AAEAC,MAAAA,UAAU,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CAFZ;AAGAlB,MAAAA,YAAY,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,MAAf;AAHd,KAtBC;AA2BL4hB,IAAAA,EAAE,EAAE;AACA3gB,MAAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CADV;AAEAC,MAAAA,UAAU,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,UAAf,CAFZ;AAGAlB,MAAAA,YAAY,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,MAAf;AAHd;AA3BC;AADU,CAAhB;AAqCP,AAAO,IAAMoe,SAAS,GAAG;AACrB,aAAS;AACLnd,IAAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,IAAT,EAAe,WAAf,CADL;AAELC,IAAAA,UAAU,EAAE,WAFP;AAGLlB,IAAAA,YAAY,EAAE;AAHT;AADY,CAAlB;;ACrCA,IAAM6hB,aAAa,GAAG;AAEzB,aAAU;AAENC,IAAAA,OAAO,EAAG,EAFJ;AAKN3pB,IAAAA,GAAG,EAAE;AACD4pB,MAAAA,QAAQ,EAAE;AADT,KALC;AAUNC,IAAAA,IAAI,EAAE;AACFF,MAAAA,OAAO,EAAE,EADP;AAIFG,MAAAA,KAAK,EAAE,EAJL;AAOFC,MAAAA,SAAS,EAAE;AAPT,KAVA;AAqBN1Y,IAAAA,IAAI,EAAE,EArBA;AAyBN,iCAA8B,EAzBxB;AA6BN,kCAA+B,EA7BzB;AAiCN,6CAA0C;AAjCpC;AAFe,CAAtB;;AC0BP,IAAM2Y,SAAS,GAAG;AACdx1B,EAAAA,MAAM,EAANA,QADc;AAEd+C,EAAAA,WAAW,EAAXA,WAFc;AAGdT,EAAAA,KAAK,EAALA,KAHc;AAIdquB,EAAAA,OAAO,EAAPA,OAJc;AAKdjT,EAAAA,KAAK,EAALA,KALc;AAMdsT,EAAAA,WAAW,EAAXA,WANc;AAOdpT,EAAAA,SAAS,EAATA,SAPc;AAQdsU,EAAAA,WAAW,EAAXA,WARc;AASdtB,EAAAA,KAAK,EAALA,KATc;AAUduB,EAAAA,OAAO,EAAPA,OAVc;AAWdC,EAAAA,KAAK,EAALA,KAXc;AAYdE,EAAAA,YAAY,EAAZA,YAZc;AAadC,EAAAA,YAAY,EAAZA,YAbc;AAcdtC,EAAAA,UAAU,EAAVA;AAdc,CAAlB;AAiBA,IAAMwF,eAAe,GAAG;AACpBjD,EAAAA,OAAO,EAAPA,OADoB;AAEpBM,EAAAA,OAAO,EAAPA,OAFoB;AAGpBC,EAAAA,MAAM,EAANA,MAHoB;AAIpBO,EAAAA,MAAM,EAANA,MAJoB;AAKpBC,EAAAA,KAAK,EAALA,KALoB;AAMpBC,EAAAA,QAAQ,EAARA,QANoB;AAOpBC,EAAAA,MAAM,EAANA,MAPoB;AAQpBC,EAAAA,KAAK,EAALA,KARoB;AASpBzQ,EAAAA,IAAI,EAAJA,IAToB;AAUpBgR,EAAAA,SAAS,EAATA,SAVoB;AAWpBE,EAAAA,UAAU,EAAVA,UAXoB;AAYpBzT,EAAAA,IAAI,EAAJA,IAZoB;AAapBiU,EAAAA,OAAO,EAAPA,OAboB;AAcpBlD,EAAAA,SAAS,EAATA,SAdoB;AAepByD,EAAAA,aAAa,EAAbA;AAfoB,CAAxB;AAoBA,IAAar1B,KAAK,yBAEX21B,SAFW,GAGXC,eAHW,CAAX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["../src/components/Accordion/AccordionContext.js","../src/core/context/index.js","../src/core/color-modes/index.js","../src/core/dir-manager/index.js","../src/core/space/index.js","../src/core/styled-media/index.js","../src/core/utils/system.js","../src/core/utils/dom.js","../src/core/intersection-observer/index.js","../src/core/hook/use-scroll.js","../node_modules/polished/dist/polished.esm.js","../src/core/match-media/match-media.js","../src/components/Box/Box.js","../src/components/Accordion/Accordion.js","../src/components/Animation/MotionBox.js","../src/components/Animation/ParallaxBox.js","../src/components/Animation/RevealBox.js","../src/components/Accordion/AccordionPanel.js","../src/components/Anchor/Anchor.js","../src/components/Breadcrumb/Breadcrumb.js","../src/components/Breadcrumb/BreadcrumbItem.js","../src/components/Button/Button.js","../src/components/Button/Link.js","../src/components/Drop/Drop.js","../src/components/Footer/Footer.js","../src/components/Icon/context/index.js","../src/components/Icon/Icon.js","../src/components/Form/Checkbox.js","../src/components/Form/Input.js","../src/components/Form/Label.js","../src/components/Form/Radio.js","../src/components/Form/Select.js","../src/components/GlobalStyle/index.js","../src/components/Grid/config.js","../src/components/Grid/helpers.js","../src/components/Grid/Container/Container.js","../src/components/Grid/Row/Row.js","../src/components/Grid/Col/Col.js","../src/components/Header/Header.js","../src/components/Image/Image.js","../src/components/Navs/Navs.js","../src/components/Navs/Nav.js","../src/components/Pagination/Pagination.js","../src/components/Tabs/Tab.js","../src/components/Tabs/Tabs.js","../src/components/Typography/Text.js","../src/components/List/List.js","../src/components/List/Item.js","../src/components/Layer/StyledLayer.js","../src/components/Layer/FocusedContainer.js","../src/components/Layer/LayerContainer.js","../src/components/Layer/Layer.js","../src/components/Slider/Slider.js","../src/components/Slider/Slide.js","../src/components/Search/Search.js","../src/theme/constants/colors.js","../src/theme/constants/breakpoints.js","../src/theme/constants/space.js","../src/theme/constants/shadows.js","../src/theme/constants/sizes.js","../src/theme/constants/fonts.js","../src/theme/constants/fontWeights.js","../src/theme/constants/fontSizes.js","../src/theme/constants/lineHeights.js","../src/theme/constants/borders.js","../src/theme/components/buttons.js","../src/theme/components/anchors.js","../src/theme/components/inputs.js","../src/theme/components/labels.js","../src/theme/components/radio.js","../src/theme/components/checkbox.js","../src/theme/components/select.js","../src/theme/components/layer.js","../src/theme/components/tabs.js","../src/theme/components/accordion.js","../src/theme/components/breadcrumb.js","../src/theme/components/navs.js","../src/theme/components/text.js","../src/theme/components/search-overlay.js","../src/theme/theme.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport const AccordionContext = createContext({});","import React from 'react';\n\nexport const VactoryThemeContext = React.createContext({\n colorMode: null,\n setColorMode: null,\n});\n\nexport const useVactoryTheme = () => React.useContext(VactoryThemeContext);","import React, { useState, useEffect, useContext } from 'react';\nimport { ThemeContext, ThemeProvider } from 'styled-components';\nimport { get } from 'styled-system';\nimport deepmerge from 'deepmerge';\nimport { useVactoryTheme, VactoryThemeContext } from '../context';\n\n\nconst STORAGE_KEY = 'vactory-ui-color-mode';\n\nconst storage = {\n get: init => {\n try {\n return window.localStorage.getItem(STORAGE_KEY) || init\n } catch (e) {\n console.warn(\n 'localStorage is disabled and color mode might not work as expected.',\n 'Please check your Site Settings.',\n e\n )\n }\n },\n set: value => {\n try {\n window.localStorage.setItem(STORAGE_KEY, value)\n } catch (e) {\n console.warn(\n 'localStorage is disabled and color mode might not work as expected.',\n 'Please check your Site Settings.',\n e\n )\n }\n },\n}\n\nconst getColorsByMode = (theme, mode) => {\n const themeColors = theme.colors || {};\n if (!mode) return themeColors;\n const modes = get(theme, 'colors.modes', {});\n return deepmerge.all([{}, {...theme.colors}, {\n ...get(modes, mode, {}),\n }]);\n}\n\n\nconst useColorModeState = (theme = {}) => {\n\n const stored = storage.get();\n const [mode, setMode] = useState(stored || 'default');\n\n // init state\n // useEffect(() => {\n // const stored = storage.get();\n // if (!stored || stored === mode) return;\n // setMode(stored);\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, [] );\n\n useEffect(() => {\n if (!mode) return\n storage.set(mode)\n }, [mode]);\n\n return [mode, setMode];\n\n}\n\nexport const useColorMode = () => {\n const { colorMode, setColorMode } = useVactoryTheme();\n if (typeof setColorMode !== 'function') {\n throw new Error(`[useColorMode] requires the ColorModeProvider component`)\n }\n\n return [colorMode, setColorMode];\n}\n\n\nexport const ColorModeProvider = ({ children }) => {\n\n const styledComponentTheme = useContext(ThemeContext);\n\n const [colorMode, setColorMode] = useColorModeState(styledComponentTheme);\n\n const colors = getColorsByMode(styledComponentTheme || {}, colorMode);\n const theme = {\n ...styledComponentTheme,\n colors\n };\n const context = {\n colorMode,\n setColorMode,\n }\n\n return (\n \n \n {children}\n \n \n );\n}","import React from 'react';\nimport { StyleSheetManager } from \"styled-components\";\nimport stylisRTLPlugin from 'stylis-plugin-rtl';\n\n\nexport const DirectionManagerContext = React.createContext(\"ltr\");\n\nexport const DirectionManager = ({dir= \"ltr\", children}) => {\n return \n \n {children}
\n \n \n \n} ","import React from 'react';\nimport styled from 'styled-components';\nimport { space } from 'styled-system';\n\n\nconst classnames = (...args) => args.join(' ');\nconst getClassName = el => (el.props && el.props.className) || '';\n\n\nexport const StyledChildren = ({\n className,\n children,\n ...props\n }) => {\n const styledChildren = React.Children.toArray(children)\n .map(child => React.cloneElement(child, {\n className: classnames(getClassName(child), className)\n }))\n return (\n <>\n {styledChildren}\n >\n )\n}\n\nconst Space = styled(StyledChildren)(space);\nexport default Space;","import { css } from \"styled-components\";\nexport const DEFAULT_BREAKPOINTS = {\n xs: '0', \n sm: '500px', \n md: '960px', \n lg: '1280px', \n xl: '1920px'\n};\n\n\nconst getSizeFromBreakpoint = (breakpointValue, breakpoints = {}) => {\n if (breakpoints[breakpointValue]) {\n return breakpoints[breakpointValue];\n } else if (parseInt(breakpointValue)) {\n return breakpointValue;\n } else {\n console.error('No valid breakpoint or size specified for media.');\n return '0';\n }\n}\n\n\nexport const lessThan = (breakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (max-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n}\n\nexport const greaterThan = (breakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (min-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n}\n\nexport const between = (firstBreakpoint, secondBreakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (min-width: ${getSizeFromBreakpoint(firstBreakpoint, breakpoints)}) and (max-width: ${getSizeFromBreakpoint(secondBreakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n};\n\nexport const generateMedia = (props) => {\n \n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n \n const lessThan = (breakpoint) => (...args) => {\n console.warn(\"[vactory-ui] generateMedia(props).lessThan(\"+breakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot lessThan(\"+breakpoint+\")\");\n return css`\n @media (max-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `};\n \n const greaterThan = (breakpoint) => (...args) => {\n\n console.warn(\"[vactory-ui] generateMedia(props).greaterThan(\"+breakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot greaterThan(\"+breakpoint+\")\");\n return css`\n @media (min-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `\n };\n \n const between = (firstBreakpoint, secondBreakpoint) => (...args) => {\n console.warn(\"[vactory-ui] generateMedia(props).between(\"+firstBreakpoint+\", \"+secondBreakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot greaterThan(\"+firstBreakpoint+\", \"+secondBreakpoint+\")\");\n \n return css`\n @media (min-width: ${getSizeFromBreakpoint(firstBreakpoint, breakpoints)}) and\n (max-width: ${getSizeFromBreakpoint(secondBreakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `};\n\n return {\n lessThan,\n greaterThan,\n between,\n };\n}\n\nexport default generateMedia;","\nimport { props as systemProps } from '@styled-system/should-forward-prop';\nimport { size, space, margin, layout } from 'styled-system';\n\nimport css, { get } from '@styled-system/css';\n\n\nconst PRE = new RegExp(`^(${systemProps.join('|')})$`);\n\nconst _getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\n\nconst MRE = new RegExp(`^(${margin.propNames.join('|')})$`);\nexport const getMarginProps = _getProps(k => MRE.test(k));\nexport const omitMarginProps = _getProps(k => !MRE.test(k));\n\nexport const getSystemProps = _getProps(k => PRE.test(k));\n\nconst SizePropsRegExp = new RegExp(`^(${size.propNames.join('|')})$`);\nexport const omitSizeProps = _getProps(k => !SizePropsRegExp.test(k));\nexport const getSizeProps = _getProps(k => SizePropsRegExp.test(k));\n\nconst LayoutPropsRegExp = new RegExp(`^(${layout.propNames.join('|')})$`);\nexport const omitLayoutProps = _getProps(k => !LayoutPropsRegExp.test(k));\nexport const getLayoutProps = _getProps(k => LayoutPropsRegExp.test(k));\n\nconst SpacePRopsRegExp = new RegExp(`^(${space.propNames.join('|')})$`);\nexport const omitSpaceProps = _getProps(k => !SpacePRopsRegExp.test(k));\nexport const getSpaceProps = _getProps(k => SpacePRopsRegExp.test(k));\n\nexport const omitProps = (propsToOmit) => _getProps(k => {\n const exp = new RegExp(`^(${propsToOmit.join('|')})$`);\n return !exp.test(k)\n});\n\nexport const getProps = (propsToGet) => _getProps(k => {\n const exp = new RegExp(`^(${propsToGet.join('|')})$`);\n return !exp.test(k)\n});\n\n\nexport const sx = props => css(props.sx)(props.theme);\nexport const base = props => css(props.__css)(props.theme);\n\nexport const variant = ({\n theme,\n variant,\n}) => css(get(theme, variant))(theme);\n\nexport const variantReducer = (accumulator, currentValue) => currentValue ? accumulator + '.' + currentValue : accumulator;\nexport const getVariant = (variant = []) => {\n if (typeof variant === 'string') {\n return variant\n }\n return variant.reduce(variantReducer)\n}\n","\n\n\n\nexport const findParentByMatchedQuery = (element, className) => {\n\n if(element) {\n const offsetParent = element.parentNode ;\n if( offsetParent && offsetParent.classList && offsetParent.classList.contains(className) ) {\n return offsetParent;\n } else {\n return findParentByMatchedQuery(offsetParent, className);\n }\n }\n\n return undefined;\n} \n\n\nexport const findVisibleParent = element => {\n if (element) {\n return element.offsetParent ? element : findVisibleParent(element.parentElement) || element;\n }\n return undefined;\n };\n\nexport const getNewContainer = (rootNode = document.body) => {\n // setup DOM\n const container = document.createElement('div');\n rootNode.appendChild(container);\n return container;\n};\n\nexport const getBodyChildElements = () => {\n const excludeMatch = /^(script|link)$/i;\n const children = [];\n [].forEach.call(document.body.children, node => {\n if (!excludeMatch.test(node.tagName)) {\n children.push(node);\n }\n });\n return children;\n};\n\nexport const TABINDEX = 'tabindex';\nexport const TABINDEX_STATE = 'data-g-tabindex';\n\nexport const makeNodeFocusable = node => {\n // do not touch aria live containers so that announcements work\n if (!node.hasAttribute('aria-live')) {\n node.setAttribute('aria-hidden', false);\n // allow children to receive focus again\n const elements = node.getElementsByTagName('*');\n // only reset elements we've changed in makeNodeUnfocusable()\n Array.prototype.filter\n .call(elements || [], element => element.hasAttribute(TABINDEX_STATE))\n .forEach(element => {\n const prior = element.getAttribute(TABINDEX_STATE);\n if (prior >= 0) {\n element.setAttribute(TABINDEX, element.getAttribute(TABINDEX_STATE));\n } else if (prior === 'none') {\n element.removeAttribute(TABINDEX);\n }\n element.removeAttribute(TABINDEX_STATE);\n });\n }\n};\n\nconst autoFocusingTags = /(a|area|input|select|textarea|button|iframe)$/;\nexport const makeNodeUnfocusable = node => {\n // do not touch aria live containers so that announcements work\n if (!node.hasAttribute('aria-live')) {\n node.setAttribute('aria-hidden', true);\n // prevent children to receive focus\n const elements = node.getElementsByTagName('*');\n // first, save off the tabindex of any element with one\n Array.prototype.filter\n .call(elements || [], element => element.getAttribute(TABINDEX) !== null)\n .forEach(element => {\n element.setAttribute(TABINDEX_STATE, element.getAttribute(TABINDEX));\n element.setAttribute(TABINDEX, -1);\n });\n // then, if any element is inherently focusable and not handled above,\n // give it a tabindex of -1 so it can't receive focus\n Array.prototype.filter\n .call(elements || [], element => {\n const currentTag = element.tagName.toLowerCase();\n return (\n currentTag.match(autoFocusingTags) &&\n element.focus &&\n element.getAttribute(TABINDEX_STATE) === null\n );\n })\n .forEach(element => {\n element.setAttribute(TABINDEX_STATE, 'none');\n element.setAttribute(TABINDEX, -1);\n });\n }\n};\n\n\nexport const isNotAncestorOf = child => parent => !parent.contains(child);\n\n\n\nexport const setFocusWithoutScroll = element => {\n const x = window.scrollX;\n const y = window.scrollY;\n element.focus();\n window.scrollTo(x, y);\n};\n\nexport const findScrollParents = (element, horizontal) => {\n const result = [];\n if (element) {\n let parent = element.parentNode;\n while (parent && parent.getBoundingClientRect) {\n const rect = parent.getBoundingClientRect();\n // 10px is to account for borders and scrollbars in a lazy way\n if (horizontal) {\n if (rect.width && parent.scrollWidth > rect.width + 10) {\n result.push(parent);\n }\n } else if (rect.height && parent.scrollHeight > rect.height + 10) {\n result.push(parent);\n }\n parent = parent.parentNode;\n }\n // last scrollable element will be the document\n // if nothing else is scrollable in the page\n if (result.length === 0) {\n result.push(document);\n } else if (result[0].tagName.toLowerCase() === 'body') {\n result.length = 0;\n result.push(document);\n }\n }\n return result;\n};\n\nexport const parseMetricToNum = fontAsString => {\n if (fontAsString.match(/\\s/) && process.env.NODE_ENV !== 'production') {\n console.warn(`Invalid single measurement value: \"${fontAsString}\"`);\n }\n return parseFloat(fontAsString.match(/\\d+(\\.\\d+)?/), 10);\n};","import React, { useEffect, useState } from \"react\";\nimport { useIntersection } from \"react-use\";\n\nexport const IntersectionContext = React.createContext({ inView: true });\n\nexport const IntersectionObserver = ({\n children,\n threshold = 0,\n reset = false // if value set to true - observed element will reappear every time it shows up on the screen\n}) => {\n const [inView, setInView] = useState(false);\n const intersectionRef = React.useRef(null);\n const intersection = useIntersection(intersectionRef, {\n threshold\n });\n\n useEffect(() => {\n const inViewNow = intersection && intersection.intersectionRatio > 0;\n if (inViewNow) {\n return setInView(inViewNow);\n } else if (reset) {\n return setInView(false);\n }\n }, [intersection, reset]);\n\n return (\n \n {children}
\n \n );\n};\n","// /**\n// * useScroll React custom hook\n// * Usage:\n// * const { scrollX, scrollY, scrollDirection } = useScroll();\n// */\n\n// import { useState, useEffect } from \"react\";\n\n// export function useScroll() {\n// const [lastScrollTop, setLastScrollTop] = useState(0);\n// const [bodyOffset, setBodyOffset] = useState(\n// document.body.getBoundingClientRect()\n// );\n// const [scrollY, setScrollY] = useState(bodyOffset.top);\n// const [scrollX, setScrollX] = useState(bodyOffset.left);\n// const [scrollDirection, setScrollDirection] = useState();\n\n// const listener = e => {\n// setBodyOffset(document.body.getBoundingClientRect());\n// setScrollY(-bodyOffset.top);\n// setScrollX(bodyOffset.left);\n// setScrollDirection(lastScrollTop > -bodyOffset.top ? \"down\" : \"up\");\n// setLastScrollTop(-bodyOffset.top);\n// };\n\n// useEffect(() => {\n// window.addEventListener(\"scroll\", listener);\n// return () => {\n// window.removeEventListener(\"scroll\", listener);\n// };\n// });\n\n// return {\n// scrollY,\n// scrollX,\n// scrollDirection\n// };\n// }\n\nimport { useRef } from 'react'\n \nimport { useLayoutEffect, useEffect } from 'react'\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nconst isBrowser = typeof window !== `undefined`\n\nfunction getScrollPosition({ element, useWindow }) {\n if (!isBrowser) return { x: 0, y: 0 }\n\n const target = element ? element.current : document.body\n const position = target.getBoundingClientRect()\n\n return useWindow\n ? { x: window.scrollX, y: window.scrollY }\n : { x: position.left, y: position.top }\n}\n\nexport function useScrollPosition(effect, deps, element, useWindow, wait) {\n const position = useRef(getScrollPosition({ useWindow }))\n\n let throttleTimeout = null\n\n const callBack = () => {\n const currPos = getScrollPosition({ element, useWindow })\n effect({ prevPos: position.current, currPos })\n position.current = currPos\n throttleTimeout = null\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!isBrowser) {\n return\n }\n\n const handleScroll = () => {\n if (wait) {\n if (throttleTimeout === null) {\n throttleTimeout = setTimeout(callBack, wait)\n }\n } else {\n callBack()\n }\n }\n\n window.addEventListener('scroll', handleScroll)\n\n return () => window.removeEventListener('scroll', handleScroll)\n }, deps)\n}\n\nuseScrollPosition.defaultProps = {\n deps: [],\n element: false,\n useWindow: false,\n wait: null,\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction factorial(a) {\n if (a % 1 || !(+a >= 0)) return NaN;\n if (a > 170) return Infinity;else if (a === 0) return 1;else {\n return a * factorial(a - 1);\n }\n}\n\nfunction power(a, b) {\n return Math.pow(a, b);\n}\n\nfunction sqrt(a) {\n return Math.sqrt(a);\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultMathSymbols = {\n symbols: {\n '!': {\n postfix: {\n symbol: '!',\n f: factorial,\n notation: 'postfix',\n precedence: 6,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '!',\n regSymbol: '!'\n },\n '^': {\n infix: {\n symbol: '^',\n f: power,\n notation: 'infix',\n precedence: 5,\n rightToLeft: 1,\n argCount: 2\n },\n symbol: '^',\n regSymbol: '\\\\^'\n },\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n },\n sqrt: {\n func: {\n symbol: 'sqrt',\n f: sqrt,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'sqrt',\n regSymbol: 'sqrt\\\\b'\n }\n }\n};\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found.\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultMathSymbols.symbols, additionalSymbols.symbols) : _extends({}, defaultMathSymbols.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable.\n *\n * Passthrough can be enabled (off by default) for when you are unsure of the input and want non-variable values to be returned instead of an error.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, passThrough) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n if (passThrough) return cssVariable;\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else {\n throw new PolishedError(74);\n }\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith (string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @deprecated - stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value, unitReturn) {\n if (typeof value !== 'string') return unitReturn ? [value, undefined] : value;\n var matchedValue = value.match(cssRegex);\n\n if (unitReturn) {\n // eslint-disable-next-line no-console\n console.warn(\"stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\");\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n }\n\n if (matchedValue) return parseFloat(value);\n return value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pxtoFactory('em');\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex$1);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pxtoFactory('rem');\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width) {\n if (width === void 0) {\n width = '100%';\n }\n\n return {\n display: 'inline-block',\n maxWidth: width,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n localFonts = _ref.localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject(), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nfunction _templateObject$1() {\n var data = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"]);\n\n _templateObject$1 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject$1(), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor, backgroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return backgroundColor + \" \" + backgroundColor + \" \" + foregroundColor + \" \" + backgroundColor;\n\n case 'right':\n case 'bottomLeft':\n return backgroundColor + \" \" + backgroundColor + \" \" + backgroundColor + \" \" + foregroundColor;\n\n case 'bottom':\n case 'topLeft':\n return foregroundColor + \" \" + backgroundColor + \" \" + backgroundColor + \" \" + backgroundColor;\n\n case 'left':\n case 'topRight':\n return backgroundColor + \" \" + foregroundColor + \" \" + backgroundColor + \" \" + backgroundColor;\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return {\n width: '0',\n height: '0',\n borderColor: getBorderColor(pointingDirection, foregroundColor, backgroundColor),\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n };\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\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 gold: 'ffd700',\n goldenrod: 'daa520',\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 lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\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: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\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: '639',\n red: 'f00',\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: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsla\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor);\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor);\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * (parseFloat(weight) / 1.0) + color2.alpha * (1 - parseFloat(weight) / 1.0)\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\n\nvar defaultLightReturnColor = '#000';\nvar defaultDarkReturnColor = '#fff';\n/**\n * Returns black or white (or optional light and dark return colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, set `strict` to `true` to ensure that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, lightReturnColor, darkReturnColor, strict) {\n if (lightReturnColor === void 0) {\n lightReturnColor = defaultLightReturnColor;\n }\n\n if (darkReturnColor === void 0) {\n darkReturnColor = defaultDarkReturnColor;\n }\n\n if (strict === void 0) {\n strict = false;\n }\n\n var isLightColor = getLuminance(color) > 0.179;\n var preferredReturnColor = isLightColor ? lightReturnColor : darkReturnColor; // TODO: Make `strict` the default behaviour in the next major release.\n // Without `strict`, this may return a color that does not meet WCAG AA.\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isLightColor ? defaultLightReturnColor : defaultDarkReturnColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff');\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')},\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 - parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap$1 = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap$1.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken as darken, curriedDesaturate as desaturate, directionalProperty, ellipsis, em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, invert, curriedLighten as lighten, linearGradient, margin, math, meetsContrastGuidelines, curriedMix as mix, modularScale, normalize, curriedOpacify as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate as saturate, curriedSetHue as setHue, curriedSetLightness as setLightness, curriedSetSaturation as setSaturation, curriedShade as shade, size, stripUnit, textInputs, timingFunctions, curriedTint as tint, toColorString, transitions, curriedTransparentize as transparentize, triangle, wordWrap };\n","import {useState, useEffect, useContext} from 'react'\nimport { ThemeContext } from 'styled-components';\nimport {stripUnit} from 'polished';\n\n\nconst getClosestValue = (val, arr) => {\n const index = arr.sort((a,b) => a - b).findIndex(el => val < el);\n return index > 0 ? arr[index] : null;\n}\n\nexport const useMediaLessThan = breakpoint => {\n return useMedia([breakpoint], 'max-width');\n}\nexport const useMediaGreaterThan = breakpoint => {\n return useMedia([breakpoint], 'min-width');\n}\nexport const useMediaBetween = (bp1, bp2) => {\n return useMedia([bp1, bp2], 'between');\n}\n\nexport const useMedia = (bp, mediaQuery = 'default' ) => {\n if(!(bp instanceof Array)) {\n bp = [bp];\n }\n const [doesMatch, onSetDoesMatch] = useState(false);\n const {breakpoints} = useContext(ThemeContext) || {};\n const breakpointsKeys = Object.keys(breakpoints).map(_bp => isNaN(_bp) ? _bp : +(_bp)); \n let _query = bp[0];\n \n if(breakpointsKeys.includes(bp[0])) {\n\n const sortedBreakpointsValues = breakpoints.map(e => stripUnit(e))\n const maxWidth = getClosestValue(stripUnit(breakpoints[bp[0]]), sortedBreakpointsValues);\n switch (mediaQuery) {\n case 'max-width':\n _query = `(max-width: ${breakpoints[bp[0]]})`;\n break;\n case 'min-width':\n _query = `(min-width: ${breakpoints[bp[0]]})`;\n break;\n case 'between':\n _query = `(min-width: ${breakpoints[bp[0]]}) and (max-width: ${breakpoints[bp[1]]})`;\n break;\n default:\n console.warn(\"[vactory-ui] useMedia(\"+bp+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot useMediaLessThan(), useMediaGreaterThan() ou useMediaBetween()\");\n _query = `(min-width: ${breakpoints[bp[0]]})${maxWidth !== null ? `and (max-width: ${maxWidth}px)` : '' }`;\n break;\n }\n // _query = `(min-width: ${minWidth})${maxWidth !== null ? `and (max-width: ${maxWidth}px)` : '' }`;\n }\n\n useEffect(() => {\n const onUpdateMatch = ({matches}) => {\n onSetDoesMatch(matches)\n }\n \n const matcher = window.matchMedia(_query)\n \n const isModern = 'addEventListener' in matcher\n if (isModern) {\n matcher.addEventListener('change', onUpdateMatch)\n } else {\n matcher.addListener(onUpdateMatch)\n }\n \n onUpdateMatch(matcher)\n \n return () => {\n if (isModern) {\n matcher.removeEventListener('change', onUpdateMatch)\n } else {\n matcher.removeListener(onUpdateMatch)\n }\n }\n }, [_query, onSetDoesMatch])\n \n return doesMatch\n }\n ","import styled from \"styled-components\";\nimport {\n boxShadow,\n color,\n space,\n layout,\n flexbox,\n border,\n compose,\n position,\n typography,\n} from \"styled-system\";\n\nimport { props as systemProps } from \"@styled-system/should-forward-prop\";\nimport { variant, base, sx } from \"../../core\";\n\n// const customShouldForwardProp\n\nexport const BoxWithoutConfig = styled(\"div\")(\n {\n boxSizing: \"border-box\",\n margin: 0,\n minWidth: 0,\n },\n base,\n sx,\n (props) => props.css,\n (props) => props.styledCss,\n compose(\n space,\n color,\n layout,\n flexbox,\n border,\n typography,\n boxShadow,\n position\n ),\n variant\n);\n\nconst Box = styled(BoxWithoutConfig).withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => {\n return defaultValidatorFn(prop) && !systemProps.includes(prop);\n },\n})({});\n\nBox.WithoutConfig = BoxWithoutConfig;\n\n\n\nconst Flex = styled(Box)({\n display: \"flex\",\n});\n\nFlex.WithoutConfig = styled(BoxWithoutConfig)({\n display: \"flex\",\n});\n\nexport {Box, Flex};\n\nexport default Box;\n","\nimport React, { Children, forwardRef, useState } from 'react';\n\nimport { AccordionContext } from './AccordionContext';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\nconst activeAsArray = active =>\n typeof active === 'number' ? [active] : active;\n\n\nexport const Accordion = forwardRef(\n ({ activeIndex,\n children,\n multiple,\n onChange,\n variant='accordion',\n ...rest\n }, ref) => {\n\n const [activeIndexes, setActiveIndexes] = useState([]);\n const [stateActiveIndex, setStateActiveIndex] = useState();\n\n const derivedActiveIndexes = activeAsArray(activeIndex) || [];\n\n if ((typeof activeIndex !== 'undefined' || activeIndex !== stateActiveIndex) &&\n (derivedActiveIndexes.join() !== activeIndexes.join())) {\n setActiveIndexes(derivedActiveIndexes);\n setStateActiveIndex(activeIndex);\n }\n\n\n const onPanelChange = index => {\n let nextActiveIndexes = [...(activeIndexes || [])];\n\n const nextActiveIndex = nextActiveIndexes.indexOf(index);\n if (nextActiveIndex > -1) {\n nextActiveIndexes.splice(nextActiveIndex, 1);\n } else if (multiple) {\n nextActiveIndexes.push(index);\n } else {\n nextActiveIndexes = [index];\n }\n\n setActiveIndexes(nextActiveIndexes);\n if (onChange) {\n onChange(nextActiveIndexes);\n }\n };\n\n const panels = Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n const key = child.props.panelKey || index;\n return (\n -1,\n onPanelChange: () => onPanelChange(key),\n variant\n }}\n >\n {child}\n \n )\n });\n\n return (\n \n {panels}\n \n );\n\n\n })","\nimport { Box, Flex } from '../Box';\nimport { motion } from 'framer-motion';\n\n\nexport const MotionBox = motion.custom(Box.WithoutConfig);\nexport const MotionFlex = motion.custom(Flex.WithoutConfig);","import React from 'react';\nimport { Box } from '../Box';\nimport { useViewportScroll, useTransform } from 'framer-motion';\nimport { MotionBox } from './MotionBox';\n\n\nexport const ParallaxBox = ({\n as = MotionBox, \n children,\n easing = [0.42, 0, 0.58, 1],\n ...rest }) => {\n\n const [elementTop, setElementTop] = React.useState(0);\n\n const ref = React.useRef(null);\n const { scrollY } = useViewportScroll();\n \n\n React.useEffect(() => {\n if (!ref.current) return;\n const setValues = () => {\n setElementTop(ref.current.offsetTop);\n };\n \n setValues();\n\n document.addEventListener(\"load\", setValues);\n window.addEventListener(\"resize\", setValues);\n\n return () => {\n document.removeEventListener(\"load\", setValues);\n window.removeEventListener(\"resize\", setValues);\n };\n\n }, [ref]);\n\n const transformInitialValue = elementTop - 1; \n const transformFinalValue = elementTop + 1;\n const yRange = [transformInitialValue, transformFinalValue];\n\n const y = useTransform(scrollY, yRange, [0, -1], {\n clamp: false,\n easing\n });\n return {children}\n}","import React from 'react';\nimport { Box } from '../Box';\nimport { MotionBox } from './MotionBox';\nimport { useIntersection } from \"react-use\";\n\nconst defaultHidden = {\n opacity: 0,\n};\n\nconst defaultVisible = {\n opacity: 1,\n};\nexport const RevealBox = React.forwardRef(({\n delayOrder,\n duration = 0.4,\n easing = [0.42, 0, 0.58, 1],\n children,\n threshold = 0.04,\n hidden = defaultHidden,\n visible = defaultVisible,\n reset = false, // if value set to true - element will reappear every time it shows up on the screen\n ...rest\n}, ref) => {\n\n\n const [inView, setInView] = React.useState(false);\n const intersectionRef = React.useRef(null);\n const intersection = useIntersection(intersectionRef, {\n threshold\n });\n\n React.useEffect(() => {\n const inViewNow = intersection && intersection.intersectionRatio > 0;\n if (inViewNow) {\n return setInView(inViewNow);\n } else if (reset) {\n return setInView(false);\n }\n }, [intersection, reset]);\n\n\n const transition = React.useMemo(\n () => ({\n duration,\n delay: delayOrder / 5,\n ease: easing\n }),\n [duration, delayOrder, easing]\n );\n\n const variants = {\n hidden: {\n ...hidden,\n transition\n },\n show: {\n ...visible,\n transition\n }\n };\n\n \n\n return (\n \n {children}\n \n \n );\n});","import React, { forwardRef, useContext, cloneElement } from 'react';\nimport { AccordionContext } from './AccordionContext';\nimport { getVariant, getSystemProps } from '../../core';\nimport { MotionBox } from '../Animation';\nimport { Box } from '../Box';\n\n\nconst PanelHeaderBaseStyle = {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n borderBottom: '2px solid',\n borderColor: 'gray300',\n marginBottom: '-1px',\n backgroundColor: 'transparent',\n py: ['medium', null, 'large'],\n px: 0\n};\n\nexport const AccordionPanel = forwardRef(\n (\n {\n children,\n header,\n title,\n variant,\n key,\n sx,\n animationTransition = { ease: \"easeInOut\", duration: 0.3 },\n ...rest\n },\n ref,\n ) => {\n\n const { active, variant: variantAccordion, onPanelChange } = useContext(AccordionContext);\n\n\n const motionVariantsContent = {\n active: {\n height:\"unset\",\n display:\"block\",\n transition: animationTransition\n },\n inactive: {\n height:\"0px\",\n transitionEnd: {\n display: \"none\",\n },\n }\n }\n\n if (variant === undefined) {\n variant = variantAccordion;\n }\n\n return (\n \n\n \n {typeof title === 'string' ?\n (\n \n {title}\n \n ) :\n cloneElement(title, { __css: PanelHeaderBaseStyle, className:'vf-accordion-panel__title' })\n }\n \n\n\n \n \n\n {children}\n \n \n\n \n );\n\n\n\n });","import React from 'react';\nimport {Box} from '../Box';\n\nexport const Anchor = React.forwardRef(({\n variant = \"anchor.default\",\n ...rest\n }, ref) => {\n\n return \n\n});","\nimport React, { forwardRef, Children, cloneElement, Fragment } from \"react\";\nimport { Box } from '../Box';\nimport { getVariant, getSystemProps } from \"../../core\";\n\n\n\nconst renderBreadcrumbItems = (children, variant, separator) => Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n\n const childrenCount = Children.count(children);\n const isLastItem = childrenCount === index + 1;\n\n return (\n {child}\n {isLastItem || (\n typeof separator === 'string'\n ?\n ({separator})\n :\n cloneElement(separator, { className: 'vf-breadcrumb__separator', variant: getVariant([variant, 'separator']) })\n )}\n );\n })\n\nexport const Breadcrumb = forwardRef(({\n variant = 'breadcrumb.default',\n children,\n separator = '/',\n sx,\n ...rest\n}, ref) => {\n\n const items = renderBreadcrumbItems(children, variant, separator);\n\n return (\n \n {items}\n \n );\n\n\n});","\nimport React from \"react\";\nimport { Box } from '../Box';\nimport { getVariant } from \"../../core\";\n\nexport const BreadcrumbItem = React.forwardRef(({\n variant='breadcrumb.default',\n children,\n href,\n active,\n as = 'a',\n key,\n ...rest\n}, ref) => {\n \n return (\n \n {children}\n \n );\n\n\n});","import styled from \"styled-components\";\nimport { css } from \"@styled-system/css\";\nimport { flexbox, color, space, typography, compose, background, position, shadow, border, variant as StyledVariant, buttonStyle, width, height, display } from \"styled-system\";\nimport { sx, base, variant } from \"../../core\";\n\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nconst fillVariants = StyledVariant({\n scale: 'buttons.fill',\n prop: 'fill',\n variants: {\n primary: {\n }\n }\n});\n\nconst sizeVariants = StyledVariant({\n scale: 'buttons.size',\n prop: 'size',\n variants: {\n medium: {\n }\n }\n});\n\nconst outlineVariants = StyledVariant({\n scale: 'buttons.outline',\n prop: 'outline',\n variants: {\n primary: {\n }\n }\n})\n\n\n export const Button = styled('button').withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return defaultValidatorFn(prop) && ![...systemProps, \"fill\", \"outline\"].includes(prop);}\n })`\n\n display: inline-flex;\n align-items: center;\n flex-direction: row;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n font: inherit;\n text-decoration: none;\n margin: 0;\n background: transparent;\n overflow: visible;\n text-transform: none;\n border-style: solid;\n ${css({\n borderRadius: 'small'\n })}\n\n ${ ({stretch}) => stretch && {\n '&::after': {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1,\n pointerEvents: 'auto',\n content: '\"\"',\n backgroundColor: '#0000',\n },\n }\n }\n \n ${buttonStyle}\n ${fillVariants}\n ${outlineVariants}\n ${sizeVariants}\n ${variant}\n ${base}\n ${sx}\n ${compose(\n width,\n height,\n display,\n space,\n color,\n typography,\n flexbox,\n background,\n border,\n position,\n shadow\n )}\n\n\n &:disabled {\n cursor: not-allowed;\n pointer-events: all;\n }\n\n`;\n\nButton.defaultProps = {\n fill: 'primary',\n size: 'medium',\n}\nexport default Button;\n","import React from 'react';\nimport {Button} from './Button';\n\n\nconst Link = ({href, children, ...rest}) => {\n return ;\n};\n\n\nexport default Link;","import React, { forwardRef, useContext, createContext, useMemo, useRef, useState, useEffect } from 'react';\nimport { Box } from '../Box';\nimport { ThemeContext } from 'styled-components';\nimport ReactDOM from 'react-dom'\nimport { parseMetricToNum, findScrollParents, setFocusWithoutScroll, findVisibleParent, getNewContainer } from '../../core';\n\nconst PortalContext = createContext(undefined);\nconst ContainerTargetContext = React.createContext(\n typeof document === 'object' ? document.body : undefined,\n);\n\nconst getTransformOriginStyle = align => {\n let vertical = 'top';\n if (align.bottom) {\n vertical = 'bottom';\n }\n let horizontal = 'left';\n if (align.right) {\n horizontal = 'right';\n }\n return `${vertical} ${horizontal}`;\n}\n\n\nexport const DropContent = forwardRef(({ children, alignProp = { bottom: true, right: true }, ...rest }, ref) => {\n\n return \n {children}\n \n\n\n})\n\n\n\nexport const DropContainer = forwardRef((\n {\n align = {\n top: 'top',\n left: 'left',\n },\n children,\n dropTarget,\n onClickOutside,\n // onEsc,\n // onKeyDown,\n plain, // Whether the drop element should have no background nor shadow\n responsive, // Whether the drop element should have no background nor shadow\n restrictFocus, // Whether the drop should control focus\n stretch = true,\n sx,\n ...rest\n },\n ref,\n) => {\n\n const theme = useContext(ThemeContext) || {};\n const portalContext = useContext(PortalContext) || [];\n const portalId = useMemo(() => portalContext.length, [portalContext]);\n const nextPortalContext = useMemo(() => [...portalContext, portalId], [\n portalContext,\n portalId,\n ]);\n const dropRef = useRef();\n useEffect(() => {\n // We try to preserve the maxHeight as changing it causes any scroll\n // position to be lost. We set the maxHeight on mount and if the window\n // is resized.\n const place = preserveHeight => {\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const target = dropTarget;\n const container = (ref || dropRef).current;\n if (container && target) {\n // clear prior styling\n container.style.left = '';\n container.style.top = '';\n container.style.bottom = '';\n container.style.width = '';\n if (!preserveHeight) {\n container.style.maxHeight = '';\n }\n // get bounds\n const targetRect = findVisibleParent(target).getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n // determine width\n const width = Math.min(\n stretch\n ? Math.max(targetRect.width, containerRect.width)\n : containerRect.width,\n windowWidth,\n );\n // set left position\n let left;\n if (align.left) {\n if (align.left === 'left') {\n ({ left } = targetRect);\n } else if (align.left === 'right') {\n left = targetRect.left + targetRect.width;\n }\n } else if (align.right) {\n if (align.right === 'left') {\n left = targetRect.left - width;\n } else if (align.right === 'right') {\n left = targetRect.left + targetRect.width - width;\n }\n } else {\n left = targetRect.left + targetRect.width / 2 - width / 2;\n }\n if (left + width > windowWidth) {\n left -= left + width - windowWidth;\n } else if (left < 0) {\n left = 0;\n }\n // set top or bottom position\n let top;\n let bottom;\n let maxHeight = containerRect.height;\n if (align.top) {\n if (align.top === 'top') {\n ({ top } = targetRect);\n } else {\n top = targetRect.bottom;\n }\n\n // Calculate visible area underneath the control w.r.t window height\n const percentVisibleAreaBelow =\n 100 - (targetRect.bottom / windowHeight) * 100;\n\n // Check whether it is within 20% from bottom of the window or\n // visible area to flip the control\n // DropContainer doesn't fit well within visible area when\n // percentVisibleAreaBelow value<=20%\n // There is enough space from DropContainer to bottom of the window\n // when percentVisibleAreaBelow>20%.\n\n if (windowHeight === top || percentVisibleAreaBelow <= 20) {\n // We need more room than we have.\n // We put it below, but there's more room above, put it above\n top = '';\n if (align.top === 'bottom') {\n bottom = targetRect.top;\n } else {\n ({ bottom } = targetRect);\n }\n maxHeight = bottom;\n container.style.maxHeight = `${maxHeight}px`;\n } else if (top > 0) {\n maxHeight = windowHeight - top;\n container.style.maxHeight = `${maxHeight}px`;\n } else {\n maxHeight = windowHeight - top;\n }\n } else if (align.bottom) {\n if (align.bottom === 'bottom') {\n ({ bottom } = targetRect);\n } else {\n bottom = targetRect.top;\n }\n maxHeight = bottom;\n container.style.maxHeight = `${maxHeight}px`;\n } else {\n // center\n top =\n targetRect.top + targetRect.height / 2 - containerRect.height / 2;\n maxHeight = windowHeight - top;\n }\n // if we can't fit it all, or we're rather close,\n // see if there's more room the other direction\n if (\n responsive &&\n (containerRect.height > maxHeight || maxHeight < windowHeight / 10)\n ) {\n // We need more room than we have.\n if (align.top && top > windowHeight / 2) {\n // We put it below, but there's more room above, put it above\n top = '';\n if (align.top === 'bottom') {\n // top = Math.max(targetRect.top - containerRect.height, 0);\n // maxHeight = targetRect.top - top;\n bottom = targetRect.top;\n } else {\n // top = Math.max(targetRect.bottom - containerRect.height, 0);\n // maxHeight = targetRect.bottom - top;\n ({ bottom } = targetRect);\n }\n maxHeight = bottom;\n } else if (align.bottom && maxHeight < windowHeight / 2) {\n // We put it above but there's more room below, put it below\n bottom = '';\n if (align.bottom === 'bottom') {\n ({ top } = targetRect);\n } else {\n top = targetRect.bottom;\n }\n maxHeight = windowHeight - top;\n }\n }\n container.style.left = `${left}px`;\n if (stretch) {\n // offset width by 0.1 to avoid a bug in ie11 that\n // unnecessarily wraps the text if width is the same\n // NOTE: turned off for now\n container.style.width = `${width + 0.1}px`;\n }\n // the (position:absolute + scrollTop)\n // is presenting issues with desktop scroll flickering\n if (top !== '') {\n container.style.top = `${top}px`;\n }\n if (bottom !== '') {\n container.style.bottom = `${windowHeight - bottom}px`;\n }\n if (!preserveHeight) {\n if (theme.drop && theme.drop.maxHeight) {\n maxHeight = Math.min(\n maxHeight,\n parseMetricToNum(theme.drop.maxHeight),\n );\n }\n container.style.maxHeight = `${maxHeight}px`;\n }\n }\n };\n\n let scrollParents;\n\n const addScrollListeners = () => {\n scrollParents = findScrollParents(dropTarget);\n scrollParents.forEach(scrollParent =>\n scrollParent.addEventListener('scroll', place),\n );\n };\n\n const removeScrollListeners = () => {\n scrollParents.forEach(scrollParent =>\n scrollParent.removeEventListener('scroll', place),\n );\n scrollParents = [];\n };\n\n const onClickDocument = event => {\n // determine which portal id the target is in, if any\n let clickedPortalId = null;\n let node = event.target;\n while (clickedPortalId === null && node !== document) {\n const attr = node.getAttribute('data-g-portal-id');\n if (attr !== null) clickedPortalId = parseInt(attr, 10);\n node = node.parentNode;\n }\n if (\n clickedPortalId === null ||\n portalContext.indexOf(clickedPortalId) !== -1\n ) {\n onClickOutside(event);\n }\n };\n\n const onResize = () => {\n removeScrollListeners();\n addScrollListeners();\n place(false);\n };\n\n addScrollListeners();\n window.addEventListener('resize', onResize);\n if (onClickOutside) {\n document.addEventListener('mousedown', onClickDocument);\n }\n\n place(false);\n\n\n return () => {\n removeScrollListeners();\n window.removeEventListener('resize', onResize);\n if (onClickOutside) {\n document.removeEventListener('mousedown', onClickDocument);\n }\n };\n }, [\n align,\n dropTarget,\n onClickOutside,\n portalContext,\n portalId,\n ref,\n responsive,\n restrictFocus,\n stretch,\n theme.drop,\n ]);\n\n useEffect(() => {\n if (restrictFocus) {\n (ref || dropRef).current.focus();\n }\n }, [ref, restrictFocus]);\n\n let content = (\n \n {children}\n \n );\n\n return (\n \n {/* \n {\n event.stopPropagation();\n onEsc(event);\n }\n : undefined\n }\n onKeyDown={onKeyDown}\n target=\"document\"\n > */}\n {content}\n {/* \n */}\n \n );\n});\n\n\nexport const Drop = forwardRef(\n (\n {\n restrictFocus,\n target: dropTarget, // avoid DOM leakage\n sx,\n ...rest\n },\n ref,\n ) => {\n const theme = useContext(ThemeContext) || {};\n const [originalFocusedElement, setOriginalFocusedElement] = useState();\n useEffect(() => setOriginalFocusedElement(document.activeElement), []);\n const [dropContainer, setDropContainer] = useState();\n const containerTarget = useContext(ContainerTargetContext);\n useEffect(() => setDropContainer(getNewContainer(containerTarget)), [\n containerTarget,\n ]);\n\n // just a few things to clean up when the Drop is unmounted\n useEffect(\n () => () => {\n if (restrictFocus && originalFocusedElement) {\n if (originalFocusedElement.focus) {\n setFocusWithoutScroll(originalFocusedElement);\n } else if (\n originalFocusedElement.parentNode &&\n originalFocusedElement.parentNode.focus\n ) {\n // required for IE11 and Edge\n setFocusWithoutScroll(originalFocusedElement.parentNode);\n }\n }\n if (dropContainer) {\n containerTarget.removeChild(dropContainer);\n }\n },\n [containerTarget, dropContainer, originalFocusedElement, restrictFocus],\n );\n\n return dropContainer\n ? ReactDOM.createPortal(\n ,\n dropContainer,\n )\n : null;\n\n },\n);","import React from 'react';\nimport {Box} from '../Box';\nimport { getVariant } from '../../core';\n\n\nexport const Footer = ({variant='footer',children, ...rest}) => {\n return (\n \n {children}\n \n )\n}","import React from \"react\";\nimport iconSet from '../selection.json';\nexport const VactoryIconContext = React.createContext(iconSet);\n\nexport const VactoryIconProvider = VactoryIconContext.Provider;\nexport const VactoryIconConsumer = VactoryIconContext.Consumer;\n\nexport const useVactoryIcon = () => React.useContext(VactoryIconContext);\n","import React from 'react'\nimport IcoMoon from \"react-icomoon\";\nimport styled from \"styled-components\";\nimport {size, color, space} from \"styled-system\";\nimport shouldForwardProp from '@styled-system/should-forward-prop';\nimport {sx, base} from \"../../core\";\nimport {useVactoryIcon} from \"./context\"\nimport iconSet from './selection.json';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nexport {iconSet}\n\nexport const mergeIcons = (source, target) => {\n return {\n ...source,\n icons: source.icons.concat(target.icons)\n }\n};\n\nexport const WrapperIcon = ({...rest}) => {\n const icons = useVactoryIcon();\n\n return \n};\n\nexport const Icon = styled(WrapperIcon).withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return !['sx', 'name', '__css', ...systemProps].includes(prop);}\n }).attrs(props => ({\n removeInlineStyle: true,\n icon: props.name || props.icon,\n}))\n `\n display: inline-block;\n stroke: currentcolor;\n fill: currentcolor;\n ${color}\n ${size}\n ${space}\n ${base}\n ${sx}\n `;\n\nexport default Icon;\n","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport {getSystemProps} from '../../core';\n\nconst SVG = ({ size = 24, ...props }) =>\n \n\nconst CheckboxChecked = props =>\n \n\nconst CheckboxUnchecked = props =>\n \n\nconst CheckboxIcon = ({iconName ,checkedIconName, uncheckedIconName, size = '24px' , ...props }) =>\n{ \n return (\n {\n (iconName || checkedIconName) ? :\n \n }\n {\n (iconName || uncheckedIconName) ? :\n \n\n }\n\n\n\n )}\n\n\n\nexport const Checkbox = forwardRef(({\n className,\n sx,\n iconName,\n checkedIconName,\n uncheckedIconName,\n variant,\n ...props }, ref) => {\n return (\n \n \n \n \n )});","import React from 'react';\nimport styled from 'styled-components';\nimport { color, typography, background, border, position, shadow, variant as StyledVariant, compose, width, height, display, padding } from 'styled-system';\n\nimport { sx, variant, getLayoutProps, getMarginProps } from \"../../core\";\nimport { Flex } from '../Box';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nconst variantVariants = StyledVariant({\n scale: 'inputs.variants',\n prop: 'variant',\n variants: {\n primary: {\n\n }\n }\n});\nconst variantStatus = StyledVariant({\n scale: 'inputs.status',\n prop: 'status',\n variants: {\n primary: {\n\n }\n }\n});\n\nconst variantSizes = StyledVariant({\n scale: 'inputs.sizes',\n prop: 'size',\n variants: {\n medium: {\n padding: 'xsmall',\n fontSize: '16px',\n lineHeight: '24px'\n }\n }\n});\n\n\nconst StyledInput = styled('input').withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return defaultValidatorFn(prop) && ![...systemProps].includes(prop);}\n })`\n display: block;\n padding: 2px;\n appearance: none;\n font-size: inherit;\n line-height: inherit;\n border: 1px solid;\n color: inherit;\n background: transparent;\n width: auto;\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px;\n }\n\n ${variantVariants}\n ${variantStatus}\n ${variantSizes}\n\n\n ${variant}\n ${sx}\n ${compose(\n padding,\n color,\n typography,\n background,\n border,\n position,\n shadow,\n width,\n height,\n display,\n )}\n`;\n\nStyledInput.defaultProps = {\n type: 'text',\n variant: 'default',\n size: 'medium'\n}\n\n\nexport const Input = React.forwardRef(({as,size,reverse, ...props}, ref) => {\n\n\n return (\n \n {props.icon && \n\n \n {props.icon}\n \n }\n \n \n\n );\n})\n\nInput.defaultProps = {\n as: 'input',\n type: 'text',\n variant: 'default',\n size: 'medium'\n}\n\n\nexport default Input;","import React from 'react';\nimport {Flex} from '../Box'\n\n\nexport const Label = ({children, variant, ...props}) => {\n return \n {children}\n \n}","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\nimport { Icon } from '../Icon';\n\nconst RadioProps = [\n ...systemProps,\n 'sx',\n 'variant',\n 'iconName',\n 'checkedIconName',\n 'uncheckedIconName'\n\n];\n\nconst PRE = new RegExp(`^(${RadioProps.join('|')})$`);\nconst getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\nconst getSystemProps = getProps(k => PRE.test(k));\n\n\n\nconst SVG = ({ size, ...props }) =>\n \n\nconst RadioChecked = props =>\n \n\nconst RadioUnchecked = props =>\n \n\n\nconst RadioIcon = ({iconName ,checkedIconName, uncheckedIconName, size = '24px' , ...props }) =>\n{ \n return (\n {\n (iconName || checkedIconName) ? :\n \n }\n {\n (iconName || uncheckedIconName) ? :\n \n\n }\n\n\n\n )}\n \n\n\nexport const Radio = forwardRef(({\n className,\n sx,\n variant,\n ...props }, ref) => (\n \n \n \n \n ));","import React, { forwardRef, useRef } from 'react';\nimport styled, {css} from 'styled-components';\nimport {variant} from 'styled-system';\nimport { Box, Flex } from '../Box';\nimport { getMarginProps, omitMarginProps, getLayoutProps } from '../../core';\n\n\nconst DownArrow = ({size = 24, ...rest}) => (\n \n)\n\n\nconst SelectIcon = ({ icon }) => {\n return \n {icon || }\n ;\n};\n\nconst StyledSelectBox = styled(Box)(\n variant({\n prop: 'state',\n scale: 'select.states',\n variants: {\n default: {\n borderColor: 'primary',\n ':focus': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.primary}`}`,\n }, \n },\n danger: {\n borderColor: 'danger',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.danger}`}`,\n },\n },\n success: {\n borderColor: 'success',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.success}`}`,\n }\n },\n info: {\n borderColor: 'info',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.info}`}`,\n }\n },\n }\n })\n);\n\nconst Select = forwardRef(({ variant, children, options, ...props }, ref) => {\n const {icon} = props;\n const selectRef = ref || useRef();\n\n return \n \n\n { options\n ? Object.entries(options).map( ([option, attrs], i) => (\n \n ) )\n : children\n }\n\n \n \n\n \n});\n\nSelect.Option = ({ children, ...props }) => ;\n\nexport { Select };","import { createGlobalStyle } from \"styled-components\";\n\n\nexport const GlobalStyle = createGlobalStyle`\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n body, h1, h2, h3, h4, h5, h6, p, ol, ul {\n margin: 0;\n padding: 0;\n font-weight: normal;\n }\n\n ol, ul {\n list-style: none;\n }\n\n\n html, body {\n font-family: ${({ theme }) => theme.fonts.sans};\n font-size: ${({ theme }) => theme.fontSizes.body};;\n box-sizing: border-box;\n\n -webkit-font-smoothing: antialiased;\n }\n\n`;\n\nexport default GlobalStyle;","export const DEFAULT_CONFIG = {\n gridSize: 12,\n gutterWidth: 16,\n outerMargin: 8,\n container: {\n sm: '540px', \n md: '720px', \n lg: '960px', \n xl: '1140px',\n }\n};","import { DEFAULT_CONFIG } from \"./config\";\nimport {stripUnit} from 'polished';\n\n// Name of the grid-system config in theme object\nconst THEME_CONF = 'gridSystem';\n\n// Array to store the merged grid-system config\nconst configCache = [];\n\n// Generate a config ID\nconst generateConfigCacheId = (theme) => JSON.stringify((theme && theme[THEME_CONF]) || {});\n\n\n// Merge default config with global grid-system config\nconst resolveConfig = (theme) => {\n const themeConf = (theme && theme[THEME_CONF]) || {}\n const conf = {\n ...DEFAULT_CONFIG,\n ...themeConf,\n container: {\n ...DEFAULT_CONFIG.container,\n ...themeConf.container\n },\n }\n return conf;\n};\n\n// get grid-system config\nconst getConfig = ({theme}) => {\n const cacheId = generateConfigCacheId(theme);\n if (configCache[0] === cacheId) {\n return configCache[1]\n }\n const conf = resolveConfig(theme);\n configCache[0] = cacheId\n configCache[1] = conf\n return conf;\n};\n\n// sort breakpoint names from props\nexport const sortBreakpointProps = (props) => {\n const propsArr = Object.keys(props);\n const breakpointNames = Object.keys(props.theme.breakpoints);\n const breakpoints = propsArr.filter(_prop => ~breakpointNames.indexOf(_prop));\n const sortedBreakpoints = breakpoints.sort((bp1, bp2) => {\n const valueBp1 = stripUnit(props.theme.breakpoints[bp1]);\n const valueBp2 = stripUnit(props.theme.breakpoints[bp2]);\n return valueBp1 - valueBp2\n });\n return sortedBreakpoints;\n};\n\nexport const getGridSize = (props) => {\n return getConfig(props).gridSize;\n};\n\nexport const getGutterWidth = (props) => {\n return getConfig(props).gutterWidth;\n};\n\nexport const getOuterMargin = (props) => {\n return getConfig(props).outerMargin;\n};\n\nexport const getContainer = (props) => {\n return (breakpoint) => getConfig(props).container[breakpoint];\n}\n\n\n\n\n","import React from 'react';\nimport styled, {css} from 'styled-components';\nimport {getOuterMargin, getContainer} from '../helpers';\nimport {greaterThan} from '../../../core';\nimport {Box} from '../../Box';\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst generateMediaforContainer = props => {\n const breakpointsName = Object.keys(props.theme.breakpoints);\n if(!props.fluid) {\n return css`\n ${breakpointsName.map(breakpoint => {\n if(getContainer(props)(breakpoint)) {\n return greaterThan(breakpoint)`\n max-width: ${(props) => getContainer(props)(breakpoint)};\n `\n } else {\n return null;\n }\n })}\n `;\n\n }\n};\n\nconst StyledContainer = styled.div`\n box-sizing: border-box;\n margin-right: auto;\n margin-left: auto;\n padding-left: ${props => getOuterMargin(props)}px;\n padding-right: ${props => getOuterMargin(props)}px;\n width: 100%;\n ${generateMediaforContainer}\n ${compose(space, layout, flexbox)}\n`;\n\nconst Container = ({fluid = false, ...rest}) => {\n return \n}\n\nContainer.defaultProps = {\n fluid: false\n};\n\n\nexport default Container;","import React from 'react';\nimport styled from 'styled-components';\nimport {getOuterMargin} from '../helpers';\nimport {Box} from '../../Box';\n\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst StyledRow = styled.div`\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-wrap: wrap;\n margin-right: ${props => getOuterMargin(props) * -1}px;\n margin-left: ${props => getOuterMargin(props) * -1}px;\n ${compose(space, layout, flexbox)}\n`;\n\nconst Row = props => \n\nexport default Row;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { sortBreakpointProps, getGridSize, getGutterWidth } from \"../helpers\";\nimport { greaterThan } from \"../../../core\";\nimport { Box } from \"../../Box\";\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst generateMediaForCol = (props) => {\n return sortBreakpointProps(props).map((bp) => {\n return greaterThan(bp)`\n ${\n props[bp] >= 0\n ? `\n flex-basis: ${(100 / getGridSize(props)) * props[bp]}%;\n max-width: ${(100 / getGridSize(props)) * props[bp]}%;\n display: block;\n `\n : props[bp]\n ? `\n flex-grow: 1;\n flex-basis: 0;\n max-width: 100%;\n display: block;\n `\n : `\n display: none;\n `\n }\n `;\n });\n};\n\nconst StyledCol = styled.div`\n box-sizing: border-box;\n flex: 0 0 auto;\n padding-right: ${(props) => getGutterWidth(props) / 2}px;\n padding-left: ${(props) => getGutterWidth(props) / 2}px;\n flex-grow: 1;\n flex-basis:0;\n max-width: 100%;\n ${(p) =>\n p.reverse &&\n `\n flex-direction: column-reverse;\n `}\n ${generateMediaForCol}\n ${compose(space, layout, flexbox)}\n \n`;\n\nconst Col = (props) => ;\n\nexport default Col;\n","import React from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\nimport Headroom from 'react-headroom';\n\nexport const Header = React.forwardRef(({\n fixed = false,\n sticky = false,\n variant = 'header',\n stickyOptions = {},\n\n children,\n ...rest }, ref) => {\n\n let fixedStyle = {};\n if (fixed) {\n fixedStyle = {\n position: 'fixed',\n top: '0px',\n left: '0px',\n right: '0px',\n }\n }\n const Wrapper = sticky ? Headroom : 'div';\n return (\n \n \n {children}\n \n \n\n );\n});","import React, {forwardRef} from 'react';\nimport {Box} from '../Box';\n\nexport const Image = forwardRef((props, ref) => \n)","\nimport React, { forwardRef, Children, cloneElement, Fragment } from \"react\";\nimport {Box, } from '../Box';\nimport { getSystemProps } from \"../../core\";\n\nexport const Navs = forwardRef(({\n variant= \"navs\",\n children,\n sx,\n ...rest\n}, ref)=> {\n\n const navs = Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n\n const nav = cloneElement(child, {\n variant: child.props.variant || variant,\n })\n\n return (\n {nav}\n )\n })\n\n\n return (\n \n {navs}\n \n );\n\n\n});","import React from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\n\n\nexport const Nav = React.forwardRef(({\n variant = 'navs',\n children,\n href,\n active = false,\n as = 'a',\n key,\n ...rest\n}, ref) => {\n\n return (\n \n {children}\n \n );\n\n\n});","import React, { useContext } from 'react';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport RCPagination from 'rc-pagination';\nimport frFR from 'rc-pagination/lib/locale/fr_FR';\nimport { get } from 'styled-system';\nimport { ThemeContext } from 'styled-components';\n\nconst PaginationPageButton = (props) => \n {props.children}\n\n\n\nconst PaginationPrevNextButton = (props) => \n {props.children}\n\n\n\nconst PaginationJumpButton = (props) => \n {props.children}\n\n\n\nconst itemRender = (current, type, element) => {\n if (type === 'page') {\n return {current};\n }\n if (type === 'prev') {\n return ;\n }\n if (type === 'next') {\n return ;\n }\n if (type === 'jump-prev') {\n return ;\n }\n if (type === 'jump-next') {\n return ;\n }\n return element;\n};\n\n\nexport const Pagination = ({\n sx,\n ...props\n}) => {\n const theme = useContext(ThemeContext);\n return (\n input' : {\n display: 'inline-block',\n padding: '2px',\n appearance: 'none',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n border: '1px solid',\n color: 'inherit',\n background: 'transparent',\n mx: '8px',\n ...get(theme, 'inputs.variants.default', {}),\n ...get(theme, 'inputs.sizes.medium', {})\n }\n }} as={RCPagination} locale={frFR} {...props} sx={sx} itemRender={itemRender} />\n );\n}","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\nexport const Tab = forwardRef((\n { title,\n index,\n isActive,\n onClickTab,\n variant = 'tabs',\n header,\n sx,\n ...props\n },\n ref\n) => {\n \n const handleOnClickTab = event => {\n if (event) {\n event.preventDefault();\n }\n onClickTab();\n };\n\n return (\n \n {title}\n \n );\n})","import React, { useState, Children, cloneElement, forwardRef, useRef, useEffect } from \"react\";\n\nimport { Box, Flex } from '../Box';\nimport { getVariant } from \"../../core\";\nimport { MotionBox } from '../Animation'\nimport { useAnimation } from \"framer-motion\";\n\nexport const Tabs = forwardRef(({\n children,\n theme,\n activeTab: propsActiveKey,\n sx,\n variant = 'tabs',\n showBar = false,\n onChange, // Callback executed when active tab is changed\n onTabClick, // Callback executed when tab is clicked\n onNextClick, //Callback executed when next button is clicked\n onPrevClick, // Callback executed when prev button is clicked\n\n ...rest\n\n}, ref) => {\n\n\n const [activeKey, setActiveKey] = useState(rest.activeTab || 0);\n\n const tabRefs = [];\n\n const headerAnimationCtrls = useAnimation();\n const inkBarAnimationCtrls = useAnimation();\n const motionVariantsContent = {\n active: {\n opacity: [0, 1],\n }\n }\n\n const headerTabRef = useRef(null);\n\n const animateInkBar = (key) => {\n const currentTabBCR = tabRefs[key].current.getBoundingClientRect();\n const headerTabBCR = headerTabRef.current.getBoundingClientRect();\n\n inkBarAnimationCtrls.start({\n left: (currentTabBCR.x - headerTabBCR.x),\n width: currentTabBCR.width,\n })\n }\n\n if (activeKey !== propsActiveKey && propsActiveKey !== undefined) {\n setActiveKey(propsActiveKey);\n }\n\n useEffect(() => {\n if(showBar){\n animateInkBar(activeKey);\n }\n }, [activeKey, showBar]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleClickTab = key => {\n headerAnimationCtrls.start('active');\n\n if (propsActiveKey === undefined) {\n setActiveKey(key)\n }\n if (onTabClick) {\n onTabClick(key)\n }\n if (onChange && activeKey !== key) {\n onChange(key)\n }\n if (onNextClick && activeKey + 1 === key) {\n onNextClick()\n }\n if (onPrevClick && activeKey - 1 === key) {\n onPrevClick()\n }\n }\n\n delete rest.activeIndex;\n delete rest.onActive;\n\n let activeContent;\n\n\n const tabs = Children.map(\n children,\n (tab, index) => {\n if (!tab) return undefined;\n const tabProps = tab.props || {};\n const isTabActive = index === activeKey;\n\n const ref = useRef();\n const key = tab.props.tabKey || index;\n tabRefs[key] = ref;\n\n if (isTabActive) {\n activeContent = tabProps.children;\n }\n return cloneElement(tab, {\n index,\n isActive: isTabActive,\n variant,\n onClickTab: () => handleClickTab(key),\n ref\n });\n }\n );\n\n\n\n return (\n \n\n \n {tabs}\n {showBar &&\n }\n \n\n \n \n {activeContent}\n \n \n \n );\n\n});","import React from 'react';\nimport { Box } from '../Box';\nimport { withTheme } from 'styled-components';\nimport { themeGet } from '@styled-system/theme-get';\n\nexport const Text = ({ children, as = 'p', ...rest }) => \n {children}\n\n\nexport const Paragraph = ({\n children,\n variant = \"paragraph.default\",\n ...rest\n}) => {\n\n return (\n \n {children}\n \n );\n}\n\nexport const Heading = withTheme(\n ({\n children,\n level = '1',\n variant = \"heading.default\",\n ...rest\n }) => {\n const variantName = themeGet(variant + '.h'+level)(rest) ? variant + '.h'+level : variant;\n return {children}\n }\n)\n\n\n\nexport default Text;\n\n\n","\nimport React, { forwardRef } from \"react\";\nimport {Box} from '../Box';\n\nconst List_ = ({horizontal, ordered, ...rest}, ref) => {\n\n return \n}\n\nexport const List = forwardRef(List_)","\nimport React, { forwardRef } from \"react\";\nimport {Box} from '../Box';\n\nconst Item_ = (props, ref) => {\n\n return \n}\n\nexport const Item = forwardRef(Item_)","import React, { useContext, forwardRef } from 'react';\nimport styled, { css, ThemeContext, keyframes } from 'styled-components';\nimport { themeGet } from '@styled-system/theme-get';\nimport { Box} from '../Box';\nimport { generateMedia } from '../../core';\n\n\nexport const StyledLayer = forwardRef(({variant='default', ...props}, ref) => {\n const theme = useContext(ThemeContext);\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)({theme});\n let mediaStyle = {};\n let hidenStyle = {};\n let boundsStyle = {\n position: 'fixed',\n top: '0px',\n left: '0px',\n right: '0px',\n bottom: '0px',\n };\n\n if (props.position === 'hidden') {\n hidenStyle = {\n left: '-100%',\n right: '100%',\n zIndex: '-1',\n position: 'fixed',\n };\n }\n\n if(props.targetBounds) {\n const { left, right, top, bottom } = props.targetBounds;\n boundsStyle = {\n position: 'fixed',\n top: `${top}px`,\n left: `${left}px`,\n right: `${right}px`,\n bottom: `${bottom}px`,\n }\n }\n\n if(props.responsive && responsiveBreakpoint) {\n mediaStyle[`@media (max-width: ${themeGet(`breakpoints.${responsiveBreakpoint}`, 0)({theme})} )`] = {\n position: 'absolute',\n width: '100%',\n height: '100%',\n minHeight: '100%',\n }\n }\n return (\n \n {props.children}\n \n );\n\n})\n\nexport const StyledOverlay = props => {\n const theme = useContext(ThemeContext);\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)({theme});\n let mediaStyle = {};\n if(props.responsive && responsiveBreakpoint) {\n mediaStyle[`@media (max-width: ${themeGet(`breakpoints.${responsiveBreakpoint}`, 0)({theme})} )`] = {\n position: 'relative',\n }\n }\n return (\n \n {props.children}\n \n );\n\n}\n\n\nconst parseMetricToNum = fontAsString => {\n if (fontAsString.match(/\\s/) && process.env.NODE_ENV !== 'production') {\n console.warn(`Invalid single measurement value: \"${fontAsString}\"`);\n }\n return parseFloat(fontAsString.match(/\\d+(\\.\\d+)?/), 10);\n };\n\nconst getMargin = (margin, theme, position) => {\n const axis =\n position.indexOf('top') !== -1 || position.indexOf('bottom') !== -1\n ? 'vertical'\n : 'horizontal';\n const marginValue = margin[position] || margin[axis] || margin;\n const marginApplied = theme.space[marginValue] || marginValue;\n const marginInTheme = !!theme.space[marginValue];\n\n return !marginInTheme && typeof marginValue !== 'string'\n ? 0\n : parseMetricToNum(marginApplied);\n };\n\nconst getBounds = (bounds, margin, theme, position = undefined) => {\n if (position) {\n return bounds[position] + getMargin(margin, theme, position);\n }\n return {\n bottom: bounds.bottom + getMargin(margin, theme, 'bottom'),\n // 'bottom-left': getMargin(margin, theme, 'bottom-left'),\n // 'bottom-right': getMargin(margin, theme, 'bottom-right'),\n end: bounds.right + getMargin(margin, theme, 'end'),\n left: bounds.left + getMargin(margin, theme, 'left'),\n right: bounds.right + getMargin(margin, theme, 'right'),\n start: bounds.left + getMargin(margin, theme, 'start'),\n top: bounds.top + getMargin(margin, theme, 'top'),\n // 'top-right': getMargin(margin, theme, 'top-right'),\n // 'top-left': getMargin(margin, theme, 'top-left'),\n };\n };\n\nconst KEYFRAMES = {\n center: {\n vertical: keyframes`\n 0% { transform: translateX(-50%) scale(0.8); }\n 100% { transform: translateX(-50%) scale(1); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(-50%) scale(0.8); }\n 100% { transform: translateY(-50) scale(1); }\n `,\n true: keyframes`\n 0% { transform: scale(0.8); }\n 100% { transform: scale(1); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, -50%) scale(0.8); }\n 100% { transform: translate(-50%, -50%) scale(1); }\n `,\n },\n top: {\n vertical: keyframes`\n 0% { transform: translate(-50%, -100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(-100%); }\n 100% { transform: translateY(0); }\n `,\n true: keyframes`\n 0% { transform: translateY(-100%); }\n 100% { transform: translateY(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, -100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n },\n bottom: {\n vertical: keyframes`\n 0% { transform: translate(-50%, 100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(100%); }\n 100% { transform: translateY(0); }\n `,\n true: keyframes`\n 0% { transform: translateY(100%); }\n 100% { transform: translateY(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, 100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n },\n left: {\n vertical: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n right: {\n vertical: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n start: {\n vertical: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n end: {\n vertical: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n};\n\nexport const animationDuration = 200;\n\nexport const getAnimationStyle = (props, position, full) => {\n let animation =\n props.animation !== undefined ? props.animation : props.animate;\n if (animation === undefined) animation = 'slide';\n let keys;\n if (animation === 'slide' || animation === true) {\n keys = KEYFRAMES[position][full];\n } else if (animation === 'fadeIn') {\n keys = keyframes`0% { opacity: 0 } 100% { opacity: 1 }`;\n }\n return keys\n ? css`\n animation: ${keys} ${animationDuration / 1000.0}s ease-in-out forwards;\n `\n : '';\n};\n\n const POSITIONS = {\n center: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translateX(-50%);\n ${props => getAnimationStyle(props, 'center', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translateY(-50%);\n ${props => getAnimationStyle(props, 'center', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n ${props => getAnimationStyle(props, 'center', 'true')}\n `,\n false: () => css`\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n ${props => getAnimationStyle(props, 'center', 'false')}\n `,\n },\n\n top: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0%);\n ${props => getAnimationStyle(props, 'top', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: ${bounds.top}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'top', 'false')}\n `,\n },\n\n bottom: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'bottom', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'bottom', 'false')}\n `,\n },\n\n left: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'left', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'left', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'left', 'true')}\n `,\n false: bounds => css`\n left: ${bounds.left}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'left', 'false')}\n `,\n },\n\n right: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'right', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'right', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'right', 'true')}\n `,\n false: bounds => css`\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'right', 'false')}\n `,\n },\n\n start: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'start', 'vertical')}\n `,\n horizontal: bounds => css`\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'start', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'start', 'true')}\n `,\n false: bounds => css`\n inset-inline-start: ${bounds.start}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'start', 'false')}\n `,\n },\n\n end: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'end', 'vertical')}\n `,\n horizontal: bounds => css`\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'end', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'end', 'true')}\n `,\n false: bounds => css`\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'end', 'false')}\n `,\n },\n\n 'top-right': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 0;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n },\n\n 'top-left': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 0;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')} \n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n left: ${bounds.left}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n },\n\n 'bottom-right': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n },\n\n 'bottom-left': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n },\n };\n\nexport const StyledContainer = styled.div.attrs({'data-s': 'StyledContainer'})`\n display: flex;\n min-height: ${themeGet('sizes.xsmall')};\n flex-direction: column;\n outline: none;\n align-items: baseline;\n pointer-events: all;\n z-index: ${themeGet('layer.container.zIndex')};\n\n position: ${props => (props.modal ? 'absolute' : 'fixed')};\n max-height: ${props => `calc(100% - ${getBounds(props.targetBounds, props.margin, props.theme, 'top', )}px - ${getBounds( props.targetBounds, props.margin,props.theme,'bottom',)}px)`};\n max-width: ${props => `calc(100% - ${getBounds( props.targetBounds,props.margin,props.theme,'left',)}px - ${getBounds( props.targetBounds, props.margin, props.theme,'right', )}px)`};\n border-radius: ${props => props.plain ? 0 : themeGet('layer.borderRadius', 0)};\n ${props => ( props.position !== 'hidden' && POSITIONS[props.position][props.full](getBounds(props.targetBounds, props.margin, props.theme), props.targetBounds,)) || ''};\n ${props => {\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)(props);\n if(props.responsive && responsiveBreakpoint) {\n return generateMedia(props).lessThan(responsiveBreakpoint)`\n position: relative;\n max-height: none;\n max-width: none;\n border-radius: 0;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n transform: none;\n animation: none;\n height: 100vh;\n width: 100vw;\n `\n } else {\n return null;\n }\n }}\n\n`;\n","\nimport React, { useEffect, useRef, useState } from 'react';\nimport { makeNodeFocusable, makeNodeUnfocusable, isNotAncestorOf, getBodyChildElements } from '../../core';\n\nexport const FocusedContainer = ({\n hidden = false,\n restrictScroll = false,\n children,\n ...rest\n}) => {\n const [bodyOverflowStyle, setBodyOverflowStyle] = useState('');\n const ref = useRef(null);\n\n useEffect(() => {\n const removeTrap = () => {\n const child = ref.current;\n getBodyChildElements()\n .filter(isNotAncestorOf(child))\n .forEach(makeNodeFocusable);\n if (restrictScroll) {\n document.body.style.overflow = bodyOverflowStyle;\n }\n };\n\n const trapFocus = () => {\n const child = ref.current;\n getBodyChildElements()\n .filter(isNotAncestorOf(child))\n .forEach(makeNodeUnfocusable);\n\n if (restrictScroll) {\n setBodyOverflowStyle(document.body.style.overflow);\n document.body.style.overflow = 'hidden';\n }\n };\n\n const timer = setTimeout(() => {\n if (!hidden) {\n trapFocus();\n }\n }, 0);\n\n return () => {\n removeTrap();\n clearTimeout(timer);\n };\n }, [hidden, bodyOverflowStyle, restrictScroll]);\n\n return (\n \n {children}\n
\n );\n};","import React, {\n forwardRef,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport styled, { ThemeContext } from 'styled-components';\nimport { StyledLayer, StyledContainer, StyledOverlay } from './StyledLayer';\nimport { FocusedContainer } from './FocusedContainer';\nimport { findVisibleParent } from '../../core';\n\nconst HiddenAnchor = styled.a`\n width: 0;\n height: 0;\n overflow: hidden;\n position: absolute;\n`;\n\n\nconst fullBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\nexport const LayerContainer = forwardRef(\n (\n {\n children,\n full = false,\n id,\n margin = 'none',\n modal = true,\n onClickOutside,\n onEsc,\n plain,\n position = 'center',\n responsive,\n target: layerTarget,\n ...rest\n },\n ref,\n ) => {\n\n const theme = useContext(ThemeContext);\n const [targetBounds, setTargetBounds] = useState(fullBounds);\n\n const anchorRef = useRef();\n const containerRef = useRef();\n const layerRef = useRef();\n\n useEffect(() => {\n if (position !== 'hidden') {\n const node = layerRef.current || containerRef.current || ref.current;\n if (node && node.scrollIntoView) node.scrollIntoView();\n // Once layer is open we make sure it has focus so that you\n // can start tabbing inside the layer. If the caller put focus\n // on an element already, we honor that. Otherwise, we put\n // the focus in the hidden anchor.\n let element = document.activeElement;\n while (element) {\n if (element === containerRef.current) {\n // already have focus inside the container\n break;\n }\n element = element.parentElement;\n }\n if (modal && !element && anchorRef.current) {\n anchorRef.current.focus();\n }\n }\n }, [modal, position, ref]);\n\n\n useEffect(() => {\n if (position !== 'hidden') {\n const node = layerRef.current || containerRef.current || ref.current;\n if (node && node.scrollIntoView) node.scrollIntoView();\n }\n }, [position, ref]);\n\n useEffect(() => {\n if (layerTarget) {\n const updateBounds = () => {\n const rect = findVisibleParent(layerTarget).getBoundingClientRect();\n setTargetBounds({\n left: rect.left,\n right: window.innerWidth - rect.right,\n top: rect.top,\n bottom: window.innerHeight - rect.bottom,\n });\n };\n\n updateBounds();\n window.addEventListener('resize', updateBounds);\n return () => window.removeEventListener('resize', updateBounds);\n }\n setTargetBounds(fullBounds);\n return undefined;\n }, [layerTarget]);\n\n\n let content = (\n \n {/* eslint-disable max-len */}\n {/* eslint-disable jsx-a11y/anchor-is-valid, jsx-a11y/anchor-has-content */}\n \n {/* eslint-enable jsx-a11y/anchor-is-valid, jsx-a11y/anchor-has-content */}\n {/* eslint-enable max-len */}\n {children}\n \n );\n\n if (modal) {\n content = (\n \n \n {content}\n \n );\n }\n\n if (onEsc) {\n // TODO enabled onEsc event\n console.warn(\"onEsc is not yet implemented\");\n }\n\n\n if (modal) {\n content = (\n \n {content}\n \n );\n }\n\n return content;\n\n }\n)","import React, { forwardRef, useContext, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { LayerContainer } from './LayerContainer';\nimport { getNewContainer } from '../../core';\nimport { animationDuration } from './StyledLayer';\n\nconst ContainerTargetContext = React.createContext(\n typeof document === 'object' ? document.body : undefined,\n);\n\nexport const Layer = forwardRef((props, ref) => {\n\n const { animate, animation } = props;\n const [originalFocusedElement, setOriginalFocusedElement] = useState();\n useEffect(() => setOriginalFocusedElement(document.activeElement), []);\n const [layerContainer, setLayerContainer] = useState();\n const containerTarget = useContext(ContainerTargetContext);\n useEffect(() => setLayerContainer(getNewContainer(containerTarget)), [\n containerTarget,\n ]);\n\n // just a few things to clean up when the Layer is unmounted\n useEffect(\n () => () => {\n if (originalFocusedElement) {\n if (originalFocusedElement.focus) {\n // wait for the fixed positioning to come back to normal\n // see layer styling for reference\n setTimeout(() => originalFocusedElement.focus(), 0);\n } else if (\n originalFocusedElement.parentNode &&\n originalFocusedElement.parentNode.focus\n ) {\n // required for IE11 and Edge\n originalFocusedElement.parentNode.focus();\n }\n }\n\n if (layerContainer) {\n const activeAnimation = animation !== undefined ? animation : animate;\n if (activeAnimation !== false) {\n // undefined uses 'slide' as the default\n // animate out and remove later\n const layerClone = layerContainer.cloneNode(true);\n layerClone.id = 'layerClone';\n\n containerTarget.appendChild(layerClone);\n const clonedContainer = layerClone.querySelector(\n '[data-s=\"StyledContainer\"]',\n );\n\n if (clonedContainer && clonedContainer.style) {\n clonedContainer.style.animationDirection = 'reverse';\n }\n setTimeout(() => {\n // we add the id and query here so the unit tests work\n const clone = document.getElementById('layerClone');\n if (clone) {\n containerTarget.removeChild(clone);\n layerContainer.remove();\n }\n }, animationDuration);\n } else {\n containerTarget.removeChild(layerContainer);\n }\n }\n },\n [\n animate,\n animation,\n containerTarget,\n layerContainer,\n originalFocusedElement,\n ],\n );\n\n\n return layerContainer ? createPortal(, layerContainer) : null;\n\n});\n\nLayer.displayName = 'Layer';\n","import React from 'react';\nimport styled from 'styled-components';\nimport SlickSlider from 'react-slick';\nimport { Box } from '../Box';\n\nimport { Icon } from '../Icon';\n\nconst SliderWrapper = styled.div`\n.slick-list,\n.slick-slider,\n.slick-track {\n position: relative;\n display: block;\n}\n.slick-loading .slick-slide,\n.slick-loading .slick-track {\n visibility: hidden;\n}\n.slick-slider {\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n}\n.slick-list {\n overflow: hidden;\n margin: 0;\n padding: 0;\n}\n.slick-list:focus {\n outline: 0;\n}\n.slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n}\n.slick-slider .slick-list,\n.slick-slider .slick-track {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n}\n.slick-track {\n top: 0;\n left: 0;\n}\n.slick-track:after,\n.slick-track:before {\n display: table;\n content: \"\";\n}\n.slick-track:after {\n clear: both;\n}\n.slick-slide {\n display: none;\n float: left;\n height: 100%;\n min-height: 1px;\n}\n[dir=\"rtl\"] .slick-slide {\n float: right;\n}\n.slick-slide img {\n display: block;\n}\n.slick-slide.slick-loading img {\n display: none;\n}\n.slick-slide.dragging img {\n pointer-events: none;\n}\n.slick-initialized .slick-slide {\n display: block;\n}\n.slick-vertical .slick-slide {\n display: block;\n height: auto;\n border: 1px solid transparent;\n}\n.slick-arrow.slick-hidden {\n display: none;\n}\n\n`;\n\n\nexport const Arrow = ({children, ...rest}) => \n {children}\n \n\nexport const PrevArrow = props => \n \n\nexport const NextArrow = props => \n\n\n\n\nexport const appendDots = dots => li' : {\n position: 'relative',\n display: 'inline-block',\n margin: '0 5px',\n width: '12px',\n height: '12px',\n cursor: 'pointer',\n },\n\n '& > li > button' : {\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n outline: 0,\n borderRadius: '50%',\n backgroundColor: 'transparent',\n textIndent: '-999em',\n cursor: 'pointer',\n position: 'absolute',\n border: '1px solid',\n borderColor: 'primary500',\n padding: 0,\n },\n '& > li > button::after' : {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width:' 100%',\n height: '100%',\n visibility: 'hidden',\n background: 'primary500',\n borderRadius: '50%',\n boxShadow: '0 0 1px #02afbc',\n opacity: 0,\n transform:' scale(2.5)',\n transition: 'opacity .3s ease, transform .3s ease, visibility 0s .3s',\n },\n '& > li.slick-active > button::after' :{\n visibility: 'visible',\n opacity: 1,\n transform: 'scale(1.5)',\n transition: 'opacity .3s ease,transform .3s ease',\n }\n }}\n>{dots}\n\nexport const Slider = React.forwardRef(({children, ...rest}, ref) => {\n return (\n \n {children}\n \n )\n});\n\n","import React, { useRef, useEffect } from 'react';\nimport { Box } from '../Box';\nimport YouTube from 'react-youtube';\nimport { findParentByMatchedQuery } from '../../core';\n\n\n\nconst SlideSubtitle = ({ subtitle }) => {\n if (typeof subtitle === 'string') {\n return {subtitle}\n }\n else {\n return subtitle;\n }\n}\n\nconst SlideIamge = ({ imageSrc, ...rest }) => {\n\n return \n}\n\nconst SlideVideo = ({ videoId, sx, variant, opt, ...rest }) => {\n\n const options = {\n height: '100%',\n width: '100%',\n playerVars: {\n autoplay: 1,\n loop: 1,\n },\n\n ...opt\n }\n\n return div:first-child, & iframe': {\n height: '100%',\n width: '100%'\n },\n\n }}\n variant={variant}\n sx={variant}\n >\n \n \n}\n\n\nexport const Slide = ({ children, isActive = false, subtitle = null, content = null, bgImage = null, videoId = null, ...rest }) => {\n\n const ref = useRef(null);\n const refVideo = useRef(null);\n\n const toggleVideo = (_isActive) => {\n if (refVideo.current) {\n if (_isActive) {\n // find visible and active parent element of this slide;\n let el = findParentByMatchedQuery(ref.current, 'slick-slide');\n if (el.classList && !el.classList.contains('slick-cloned')) {\n refVideo.current.playVideo();\n }\n } else {\n refVideo.current.pauseVideo()\n }\n }\n }\n\n useEffect(() => {\n toggleVideo(isActive);\n }, [isActive]);\n\n const onVideoReady = e => {\n refVideo.current = e.target;\n toggleVideo(isActive);\n }\n\n return \n\n {videoId && }\n {subtitle && }\n {bgImage && }\n {content && \n {content}\n }\n\n\n \n}","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Box, Flex } from '../Box';\nimport { MotionFlex } from '../Animation';\nimport { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { Input } from '../Form';\nimport { DirectionManagerContext, getVariant } from '../../core';\n\nconst SearchOverlayTop = ({ closeIcon, topContent, variant, onClose }) => \n\n {topContent ? topContent :\n \n }\n\n\n\nconst SearchOverlayForm = ({ onSubmit, inputRef, inputPlaceholder, variant, onClickSearchIcon, inputTitle }) => \n\n \n\n\n\n\nconst SearchOverlayInfo = ({ searchInfo, variant }) => \n {searchInfo}\n\n\nconst SearchOverlayContainer = ({\n children,\n open = false,\n onClose,\n onSubmit,\n inputTitle = \"Veuillez tapez quelques chose\",\n inputPlaceholder = \"Que recherchez-vous ?\",\n searchInfo = \"Appuyer sur la touche \\\"Entrée\\\" du clavier pour lancer la recherche\",\n topContent = null,\n closeIcon = null,\n variant = \"searchOverlay\",\n\n ...rest }) => {\n\n const dir = React.useContext(DirectionManagerContext);\n const motionVariants = {\n visible: { opacity: 1 },\n hidden: { opacity: 0 }\n }\n\n const inputRef = React.createRef();\n\n React.useEffect(() => {\n if (open) {\n inputRef.current.value = '';\n }\n });\n\n const handleSubmitForm = (e) => {\n e.preventDefault();\n onSubmit(inputRef.current.value || null)\n }\n\n return \n \n \n \n \n\n \n \n};\n\n\n\nexport const SearchOverlay = ({\n open = false,\n children,\n ...rest\n}) => {\n return ReactDOM.createPortal(,\n document.body\n )\n}","\n/**\n * Design tokens\n * -------------------- \n * Colors\n */\nconst colors = {\n\n black: '#000',\n white: '#fff',\n transparent: 'transparent',\n light: '',\n disabled: '',\n\n text: '#0a1f44',\n\n primary100: '#f2f6ff',\n primary200: '#d9e4ff',\n primary300: '#a6c1ff',\n primary400: '#598bff',\n primary500: '#3366ff',\n primary600: '#274bdb',\n primary700: '#1a34b8',\n primary800: '#102694',\n primary900: '#091c7a',\n\n black100: '#707d91',\n black200: '#626f88',\n black300: '#596680',\n black400: '#4e5c78',\n black500: '#455571',\n black600: '#374766',\n black700: '#293a5b',\n black800: '#13284b',\n black900: '#0a1f44',\n\n gray100: '#f7f8f9',\n gray200: '#f7f8f9',\n gray300: '#f1f2f4',\n gray400: '#e1e4e8',\n gray500: '#c9ced6',\n gray600: '#afb7c3',\n gray700: '#a6aebb',\n gray800: '#98a1b1',\n gray900: '#8a94a6',\n\n success100: '#f0fff5',\n success200: '#ccfce3',\n success300: '#8cfac7',\n success400: '#2ce69b',\n success500: '#00d68f',\n success600: '#00b887',\n success700: '#00997a',\n success800: '#007d6c',\n success900: '#004a45',\n\n info100: '#f2f8ff',\n info200: '#c7e2ff',\n info300: '#94cbff',\n info400: '#42aaff',\n info500: '#0095ff',\n info600: '#006fd6',\n info700: '#0057c2',\n info800: '#0041a8',\n info900: '#002885',\n\n warning100: '#fffdf2',\n warning200: '#fff1c2',\n warning300: '#ffe59e',\n warning400: '#ffc94d',\n warning500: '#ffaa00',\n warning600: '#db8b00',\n warning700: '#b86e00',\n warning800: '#945400',\n warning900: '#703c00',\n\n danger100: '#fff2f2',\n danger200: '#ffd6d9',\n danger300: '#ffa8b4',\n danger400: '#ff708d',\n danger500: '#ff3d71',\n danger600: '#db2c66',\n danger700: '#b81d5b',\n danger800: '#94124e',\n danger900: '#700940',\n\n btnPrimary: '#3366ff',\n\n backgroundBasic100: '#fff',\n backgroundBasic200: '#f7f8f9',\n\n textBasic500: '#30435c',\n textBasic900: '#30435c',\n \n skeletonBackground: 'rgba(0, 0, 0, 0.08)',\n\n modes: {\n dark: {\n text: 'warning400',\n background: '#0a1f44',\n btnPrimary: '#ff3d71',\n\n backgroundBasic100: '#000',\n backgroundBasic200: '#303030',\n\n skeletonBackground: 'rgba(255, 255, 255, 0.25)',\n textBasic500: '#fff',\n textBasic900: '#fff',\n \n }\n }\n\n\n};\n\nconst defaultColorVariants = {\n primary : colors.primary500,\n black : colors.black500,\n gray : colors.gray500,\n success : colors.success500,\n info : colors.info500,\n warning : colors.warning500,\n danger : colors.danger500\n}\n\nexport default {...colors, ...defaultColorVariants};","\n/**\n * Design tokens\n * -------------------- \n * Breakpoints\n */\n\nconst breakpoints = [\n '576px', \n '768px', \n '992px', \n '1200px'\n];\n\nbreakpoints.xs = '0px';\nbreakpoints.sm = '576px'; \nbreakpoints.md = '768px';\nbreakpoints.lg = '992px'; \nbreakpoints.xl = '1200px';\n\nexport default breakpoints;\n\nexport const gridSystem = {\n gridSize: 12,\n gutterWidth: 16,\n outerMargin: 8,\n container: {\n sm: '540px', \n md: '720px', \n lg: '960px', \n xl: '1140px',\n }\n}","\n/**\n * Design tokens\n * -------------------- \n * Spacing\n */\nconst space = {\n none : '0px',\n xxxsmall : '2px',\n xxsmall : '4px',\n xsmall : '8px',\n small : '12px',\n medium : '16px',\n large : '24px',\n xlarge : '32px',\n xxlarge : '40px',\n xxxlarge : '64px',\n};\n\nexport default space;","\n/**\n * Design tokens\n * -------------------- \n * Colors\n */\n\n const shadows = {\n 0: '0 1px 1px 0 rgba(8, 11, 14, 0.1)',\n 1: '0 3px 3px -1px rgba(8, 11, 14, 0.1)',\n 2: '0 6px 6px -1px rgba(8, 11, 14, 0.1)',\n 3: '0 16px 16px -1px rgba(8, 11, 14, 0.1)',\n 4: '0 32px 40px -1px rgba(8, 11, 14, 0.1)',\n };\n\n export default shadows;","\n\n/**\n * Design tokens\n * -------------------- \n * Spacing\n */\nconst sizes = {\n xxxsmall: '2px',\n xxsmall: '4px',\n xsmall: '8px',\n small: '12px',\n medium: '16px',\n large: '24px',\n xlarge: '32px',\n xxlarge: '64px',\n xxxlarge: '128px',\n};\n\nexport default sizes;","\n\n/**\n * Design tokens\n * -------------------- \n * FontFamily\n */\n\n const fonts = {\n sans: 'Roboto, sans-serif',\n serif: '\\'Roboto Slab\\', serif',\n monospace: '\\'Roboto Mono\\', monospace',\n montserrat: \"'Montserrat', sans-serif\"\n };\n\n export default fonts;","\n\n/**\n * Design tokens\n * -------------------- \n * Font Weights\n */\n\nconst fontWeights = {\n thin : 100,\n extraLight : 200,\n light : 300,\n regular : 400,\n medium : 500,\n semiBold : 600,\n bold : 700,\n extraBold : 800,\n black : 900,\n };\n\n export default fontWeights;","\n/**\n * Design tokens\n * -------------------- \n * Font Sizes\n */\n\nconst fontSizes = {\n tiny : '10px',\n caption : '12px',\n body : '14px',\n paragraph : '16px',\n subheader : '17px',\n title : '22px',\n heading6 : '16px',\n heading5 : '20px',\n heading4 : '24px',\n heading3 : '28px',\n heading2 : '40px',\n heading1 : '48px',\n heading1x : '74px',\n };\n\n export default fontSizes;","\n/**\n * Design tokens\n * -------------------- \n * Line Heights\n */\n\nconst lineHeights = {\n tiny : '17px',\n caption : '20px',\n body : '24px',\n paragraph : '26px',\n subheader : '30px',\n title : '32px',\n heading6 : '26px',\n heading5 : '32px',\n heading4 : '38px',\n heading3 : '44px',\n heading2 : '62px',\n heading1 : '62px',\n };\n\n export default lineHeights;","import colors from './colors';\n\n\n/**\n * Design tokens\n * -------------------- \n * Border\n */\nconst borders = {\n primary : `1px solid ${colors.primary500}`,\n success : `1px solid ${colors.success500}`,\n danger : `1px solid ${colors.danger500}`,\n info : `1px solid ${colors.info500}`,\n warning : `1px solid ${colors.warning500}`,\n black : `1px solid ${colors.black500}`,\n gray : `1px solid ${colors.gray500}`,\n};\n\n\nexport const radii = {\n none : '0px',\n xsmall : '2px',\n small : '4px',\n medium : '6px',\n large : '8px',\n xlarge : '12px',\n rounded : '1000rem' \n};\n\n\nexport const borderWidths = {\n none : 'Opx',\n xsmall : '1px',\n small : '2px',\n medium : '4px',\n large : '8px'\n};\n\nexport const borderStyles = {\n \n};\n\nexport default borders;","\n\nconst buttons = {\n fill: {\n primary: {\n backgroundColor: 'primary500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'primary600',\n color: 'white',\n borderColor: 'primary600',\n },\n ':disabled': {\n backgroundColor: 'primary100',\n color: 'primary300',\n borderColor: 'primary200',\n }\n },\n danger : {\n backgroundColor: 'danger500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'danger600',\n color: 'white',\n borderColor: 'danger600',\n },\n ':disabled': {\n backgroundColor: 'danger100',\n color: 'danger300',\n borderColor: 'danger200',\n }\n },\n success : {\n backgroundColor: 'success500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'success600',\n color: 'white',\n borderColor: 'success600',\n },\n ':disabled': {\n backgroundColor: 'success100',\n color: 'success300',\n borderColor: 'success200',\n }\n },\n info : {\n backgroundColor: 'info500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'info600',\n color: 'white',\n borderColor: 'info600',\n },\n ':disabled': {\n backgroundColor: 'info100',\n color: 'info300',\n borderColor: 'info200',\n }\n },\n warning : {\n backgroundColor: 'warning500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'warning600',\n color: 'white',\n borderColor: 'warning600',\n },\n ':disabled': {\n backgroundColor: 'warning100',\n color: 'warning300',\n borderColor: 'warning200',\n }\n }\n },\n size: {\n small: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '14px',\n lineHeight: '20px'\n\n },\n medium: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '16px',\n lineHeight: '24px'\n },\n large: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '22px',\n lineHeight: '28px',\n\n }\n },\n\n outline: {\n primary: {\n border: 'primary',\n color: 'primary500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'primary500',\n color: 'white',\n borderColor: 'primary500',\n },\n },\n danger: {\n border: 'danger',\n color: 'danger500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'danger500',\n color: 'white',\n borderColor: 'danger500',\n },\n },\n success: {\n border: 'success',\n color: 'success500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'success500',\n color: 'white',\n borderColor: 'success500',\n },\n },\n warning: {\n border: 'warning',\n color: 'warning500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'warning500',\n color: 'white',\n borderColor: 'warning500',\n },\n },\n info: {\n border: 'info',\n color: 'info500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'info500',\n color: 'white',\n borderColor: 'info500',\n },\n },\n }\n \n};\n\n\nexport default buttons;","\n\nconst anchors = {\n variants: {\n primary: {\n color: 'primary500',\n textDecoration: 'none',\n '&:hover': {\n color: 'primary600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'gray300',\n }\n },\n danger : {\n color: 'danger500',\n textDecoration: 'none',\n '&:hover': {\n color: 'danger600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'danger300',\n }\n },\n success : {\n color: 'success500',\n textDecoration: 'none',\n '&:hover': {\n color: 'success600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'success300',\n }\n },\n info : {\n color: 'info500',\n textDecoration: 'none',\n '&:hover': {\n color: 'info600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'info300',\n }\n },\n warning : {\n color: 'warning500',\n textDecoration: 'none',\n '&:hover': {\n color: 'warning600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'warning300',\n }\n }\n },\n};\n\n\nexport default anchors;","import colors from \"../constants/colors\";\n\n\n\n\nconst inputs = {\n\n iconContainer: {\n width: '30px'\n },\n variants: {\n default: {\n color: 'black800',\n borderColor: 'gray500',\n borderWidth: '1px',\n borderRadius: 'small',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: 'primary600',\n boxShadow: `0 0 0 2px ${colors.primary600}`\n },\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n },\n dam: {\n color: '#707070',\n borderColor: '#dfdfdf',\n borderWidth: '1px',\n borderRadius: 'rounded',\n lineHeight: '30px',\n fontSize: '16px',\n width: '100%',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: '#dfdfdf',\n boxShadow: 'none'\n },\n\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n },\n awb: {\n color: '#000',\n border: '2px solid #f5c000',\n backgroundColor: '#fff',\n fontWeight: 700,\n borderRadius: 'none',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075)',\n transition: 'border-color ease-in-out .15s,box-shadow ease-in-out .15s',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: '#f5c001',\n outline: '0',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(245,192,1,.6)'\n },\n\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n }\n },\n status: {\n primary: {\n borderColor: 'primary500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.primary200}`\n },\n ':focus': {\n borderColor: 'primary600',\n boxShadow: `0 0 0 3px ${colors.primary200}`\n }\n },\n danger : {\n borderColor: 'danger500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.danger200}`\n },\n ':focus': {\n borderColor: 'danger600',\n boxShadow: `0 0 0 3px ${colors.danger200}`\n }\n },\n success : {\n borderColor: 'success500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.success200}`\n },\n ':focus': {\n borderColor: 'success600',\n boxShadow: `0 0 0 3px ${colors.success200}`\n }\n },\n info : {\n borderColor: 'info500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.info200}`\n },\n ':focus': {\n borderColor: 'info600',\n boxShadow: `0 0 0 3px ${colors.info200}`\n }\n },\n warning : {\n borderColor: 'warning500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.warning200}`\n },\n ':focus': {\n borderColor: 'warning600',\n boxShadow: `0 0 0 3px ${colors.warning200}`\n }\n }\n },\n\n sizes: {\n small: {\n paddingY: 'xxsmall',\n paddingX: 'xsmall',\n fontSize: '14px',\n lineHeight: '20px'\n\n },\n medium: {\n paddingY: 'xsmall',\n paddingX: 'xsmall',\n fontSize: '16px',\n lineHeight: '24px'\n },\n large: {\n paddingY: 'small',\n paddingX: 'small',\n fontSize: '18px',\n lineHeight: '26px'\n },\n dam: {\n \n paddingX: '14px',\n fontSize: '16px',\n lineHeight: '30px',\n },\n awb: {\n padding: '7px 25px',\n fontSize: '18px',\n lineHeight: '1.33337',\n fontWeight: 700,\n height: '60px',\n width: '100%'\n }\n }\n};\n\n\nexport default inputs;","\nconst labels = {\n variants: {\n default: {\n color: 'gray500',\n fontSize: '14px',\n lineHeight: '24px',\n fontWeight: 400,\n },\n dam: {\n color: '#707070',\n fontSize: '16px',\n lineHeight: '27px',\n fontWeight: 400,\n },\n awb: {\n color: '#000000',\n fontSize: '20px',\n lineHeight: '2.7rem',\n fontWeight: 300,\n margin: '0 0 10px 0'\n }\n },\n};\n\n\nexport default labels;","\n\nconst radio = {\n\n primary: {\n color: 'gray300',\n 'input:checked ~ &': {\n color: 'primary500',\n },\n },\n\n danger: {\n color: 'danger300',\n 'input:checked ~ &': {\n color: 'danger500',\n },\n }\n \n};\n\nexport default radio;\n\n","\n\nconst checkbox = {\n\n primary: {\n color: 'gray300',\n 'input:checked ~ &': {\n color: 'primary500',\n },\n },\n\n danger: {\n color: 'danger300',\n 'input:checked ~ &': {\n color: 'danger500',\n },\n }\n \n};\n\nexport default checkbox;\n\n","\n\nconst select = {\n\n // uncomment to override defaults\n // states: {\n // danger: {},\n // success: {},\n // }\n \n};\n\nexport default select;\n","export const layer = {\n responsiveBreakpoint: 'md',\n zIndex: 1000,\n\n backgroundColor: 'primary200',\n\n container: {\n zIndex: 1001,\n },\n overlay: {\n backgroundColor: 'gray700',\n opacity: 0.5,\n },\n default: {\n }\n};","\n\nconst tabs = {\n\n header: {\n },\n tab: {\n },\n activeTab: {\n },\n content: {\n },\n\n\n cardType: {\n border: 0,\n header: {\n backgroundColor:'transparent',\n borderBottom: '1px solid',\n borderColor: 'gray400',\n },\n tab: {\n border: '1px solid',\n borderColor: 'gray400',\n borderRadius: \"4px\",\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n marginBottom: '-1px',\n mx:'3px',\n '&:not(first-of-type)': {\n marginLeft: '0'\n },\n },\n activeTab: {\n border: '1px solid',\n borderColor: 'gray400',\n borderBottom: 0, \n backgroundColor: 'white',\n borderRadius: \"4px\",\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n marginBottom: '-1px',\n mx:'3px',\n '&:not(first-of-type)': {\n marginLeft: '0'\n },\n },\n content: {\n py: 'large',\n px: 'small',\n border: '1px solid',\n borderColor: 'gray400',\n borderTop: 0, \n },\n },\n\n cardContainerType: {\n border: 0,\n header: {\n backgroundColor:'transparent',\n },\n tab: {\n \n backgroundColor:'transparent',\n mx:'-1px',\n marginBottom: '-1px',\n },\n activeTab: {\n backgroundColor: 'white',\n marginBottom: '-1px',\n },\n content: {\n py: 'large',\n px: 'small',\n backgroundColor: 'white'\n },\n }\n \n};\n\nexport default tabs;\n","\n\nconst accordion = {\n \n\n\n panel: {\n borderColor: 'gray400'\n },\n\n header: {\n backgroundColor: 'gray100',\n borderColor: 'gray400',\n p: ['medium', null, 'large']\n },\n\n primary: {\n panel: {\n borderColor: 'primary900',\n borderWidth: '3px'\n },\n },\n\n danger: {\n margin: 0,\n panel: {\n borderColor: 'danger500',\n borderWidth: '3px'\n },\n header: {\n borderColor: 'danger500',\n p: ['medium', null, 'large']\n },\n\n primary: {\n panel: {\n borderColor: 'danger500',\n borderWidth: '3px'\n },\n },\n }\n};\n\nexport default accordion;\n","\n\nconst breadcrumb = {\n\n saber: {\n backgroundColor: 'transparent',\n padding: 'small',\n fontFamily: 'montserrat',\n fontSize: '16px',\n\n item: {\n color: 'primary900',\n active: {\n color: 'primary500'\n }\n },\n\n separator: {\n\n },\n\n '& .vf-breadcrumb__item': {\n\n },\n '& vf-breadcrumb__item.vf-breadcrumb__item--active': {\n ':hover': {\n }\n },\n },\n\n};\n\nexport default breadcrumb;\n","\n\n\nconst navs = {\n\n\n nav: {\n\n },\n activeNav: {\n\n },\n\n // variants\n capitalazur: {\n padding: '0px',\n fontFamily: 'montserrat',\n backgroundColor: 'white',\n boxShadow: 1,\n py: 'large',\n alignItems: 'start',\n nav: {\n padding: '0px',\n fontSize: '14px',\n fontWeight: 500,\n color: '#000000',\n textTransform: 'uppercase',\n px: '16px',\n py: ['16px', '0'],\n borderWidth: ['0', '2px'],\n borderStyle: 'solid',\n borderColor: 'gray500',\n borderTop: '0px',\n borderBottom: '0px',\n\n\n '&:first-of-type' : {\n border: '0px',\n },\n '&:last-of-type' : {\n border: '0px',\n },\n ':hover': {\n color: '#017CFE'\n }\n\n },\n activeNav: {\n padding: '0px',\n color: '#017CFE',\n px: '16px',\n py: ['16px', '0'],\n fontWeight: 600,\n ':hover': {\n color: '#017CFE'\n }\n },\n }\n\n};\n\nexport default navs;\n","\n// @todo: thinking if we can add value in object fontSizes/lineHeights for paragraphMobile, heading1Mobile heading2Mobile...\nexport const heading = {\n default: {\n color: 'black500',\n h1: {\n fontSize: [\"28px\", null, \"50px\", 'heading1', 'heading1'],\n lineHeight: ['28px', \"37px\", \"heading1\"],\n marginBottom: ['15px', null, '20px'],\n },\n h2: {\n fontSize: [\"22px\", null, \"heading2\"],\n lineHeight: ['27px', null, \"heading2\"],\n marginBottom: ['15px', null, '20px'],\n },\n h3: {\n fontSize: [\"18px\", null, \"heading3\"],\n lineHeight: ['27px', null, \"heading3\"],\n marginBottom: ['15px', null, '20px'],\n },\n h4: {\n fontSize: [\"18px\", null, \"heading4\"],\n lineHeight: ['21px', null, \"heading4\"],\n marginBottom: ['15px', null, '20px'],\n },\n h5: {\n fontSize: [\"16px\", null, \"heading5\"],\n lineHeight: ['19px', null, \"heading5\"],\n marginBottom: ['15px', null, '20px'],\n },\n h6: {\n fontSize: [\"16px\", null, \"heading6\"],\n lineHeight: ['20px', null, \"heading6\"],\n marginBottom: ['15px', null, '20px'],\n },\n },\n};\n\n\nexport const paragraph = {\n default: {\n fontSize: ['15px', null, 'paragraph'],\n lineHeight: 'paragraph',\n marginBottom: 'xsmall',\n },\n}\n\n\n\n\n\n","\n\nexport const searchOverlay = {\n\n default : {\n\n wrapper : {\n\n },\n top: {\n closeBtn: {\n \n }\n },\n form: {\n wrapper: {\n\n },\n input: {\n\n },\n searchBtn: {\n\n }\n },\n info: {\n\n },\n \n '&.vf-search-overlay--open' : {\n\n },\n\n '&.vf-search-overlay--close' : {\n\n },\n\n '& .vf-search-overlay__content-wrapper' : {\n \n }\n\n }\n\n}","\nimport colors from './constants/colors';\nimport breakpoints, {gridSystem} from './constants/breakpoints';\nimport space from './constants/space';\nimport shadows from './constants/shadows';\nimport sizes from './constants/sizes';\nimport fonts from './constants/fonts';\nimport fontWeights from './constants/fontWeights';\nimport fontSizes from './constants/fontSizes';\nimport lineHeights from './constants/lineHeights';\nimport borders, {radii, borderWidths, borderStyles} from './constants/borders';\n\nimport buttons from './components/buttons';\nimport anchors from './components/anchors';\nimport inputs from './components/inputs';\n\nimport labels from './components/labels';\nimport radio from './components/radio';\nimport checkbox from './components/checkbox';\nimport select from './components/select';\nimport {layer} from './components/layer';\nimport tabs from './components/tabs';\nimport accordion from './components/accordion';\nimport breadcrumb from './components/breadcrumb';\nimport navs from './components/navs';\nimport {heading, paragraph} from './components/text';\nimport {searchOverlay} from './components/search-overlay';\n\nconst baseTheme = {\n colors,\n breakpoints,\n space,\n shadows,\n fonts,\n fontWeights,\n fontSizes,\n lineHeights,\n sizes,\n borders,\n radii,\n borderWidths,\n borderStyles,\n gridSystem,\n}\n\nconst componentsTheme = {\n buttons,\n anchors,\n inputs,\n labels,\n radio,\n checkbox,\n select,\n layer,\n tabs,\n accordion,\n breadcrumb,\n navs,\n heading,\n paragraph,\n searchOverlay,\n\n}\n\n\nexport const theme = {\n \n ...baseTheme,\n ...componentsTheme,\n};"],"names":["AccordionContext","createContext","VactoryThemeContext","React","colorMode","setColorMode","useVactoryTheme","useContext","STORAGE_KEY","storage","get","init","window","localStorage","getItem","e","console","warn","set","value","setItem","getColorsByMode","theme","mode","themeColors","colors","modes","deepmerge","all","useColorModeState","stored","useState","setMode","useEffect","useColorMode","Error","ColorModeProvider","children","styledComponentTheme","ThemeContext","context","ThemeProvider","DirectionManagerContext","DirectionManager","dir","StyleSheetManager","stylisRTLPlugin","classnames","args","join","getClassName","el","props","className","StyledChildren","styledChildren","Children","toArray","map","child","cloneElement","Space","styled","space","DEFAULT_BREAKPOINTS","xs","sm","md","lg","xl","getSizeFromBreakpoint","breakpointValue","breakpoints","parseInt","error","lessThan","breakpoint","css","greaterThan","between","firstBreakpoint","secondBreakpoint","generateMedia","PRE","RegExp","systemProps","_getProps","test","next","key","MRE","margin","propNames","getMarginProps","k","omitMarginProps","getSystemProps","SizePropsRegExp","size","omitSizeProps","getSizeProps","LayoutPropsRegExp","layout","omitLayoutProps","getLayoutProps","SpacePRopsRegExp","omitSpaceProps","getSpaceProps","omitProps","propsToOmit","exp","getProps","propsToGet","sx","base","__css","variant","variantReducer","accumulator","currentValue","getVariant","reduce","findParentByMatchedQuery","element","offsetParent","parentNode","classList","contains","undefined","findVisibleParent","parentElement","getNewContainer","rootNode","document","body","container","createElement","appendChild","getBodyChildElements","excludeMatch","forEach","call","node","tagName","push","TABINDEX","TABINDEX_STATE","makeNodeFocusable","hasAttribute","setAttribute","elements","getElementsByTagName","Array","prototype","filter","prior","getAttribute","removeAttribute","autoFocusingTags","makeNodeUnfocusable","currentTag","toLowerCase","match","focus","isNotAncestorOf","parent","setFocusWithoutScroll","x","scrollX","y","scrollY","scrollTo","findScrollParents","horizontal","result","getBoundingClientRect","rect","width","scrollWidth","height","scrollHeight","length","parseMetricToNum","fontAsString","process","env","NODE_ENV","parseFloat","IntersectionContext","inView","IntersectionObserver","threshold","reset","setInView","intersectionRef","useRef","intersection","useIntersection","inViewNow","intersectionRatio","useIsomorphicLayoutEffect","useLayoutEffect","isBrowser","getScrollPosition","useWindow","target","current","position","left","top","useScrollPosition","effect","deps","wait","throttleTimeout","callBack","currPos","prevPos","handleScroll","setTimeout","addEventListener","removeEventListener","defaultProps","getClosestValue","val","arr","index","sort","a","b","findIndex","useMediaLessThan","useMedia","useMediaGreaterThan","useMediaBetween","bp1","bp2","bp","mediaQuery","doesMatch","onSetDoesMatch","breakpointsKeys","Object","keys","_bp","isNaN","_query","includes","sortedBreakpointsValues","stripUnit","maxWidth","onUpdateMatch","matches","matcher","matchMedia","isModern","addListener","removeListener","BoxWithoutConfig","boxSizing","minWidth","styledCss","compose","color","flexbox","border","typography","boxShadow","Box","withConfig","shouldForwardProp","prop","defaultValidatorFn","WithoutConfig","Flex","display","activeAsArray","active","Accordion","forwardRef","ref","activeIndex","multiple","onChange","rest","activeIndexes","setActiveIndexes","stateActiveIndex","setStateActiveIndex","derivedActiveIndexes","onPanelChange","nextActiveIndexes","nextActiveIndex","indexOf","splice","panels","panelKey","MotionBox","motion","custom","MotionFlex","ParallaxBox","as","easing","elementTop","setElementTop","useViewportScroll","setValues","offsetTop","transformInitialValue","transformFinalValue","yRange","useTransform","clamp","defaultHidden","opacity","defaultVisible","RevealBox","delayOrder","duration","hidden","visible","transition","useMemo","delay","ease","variants","show","PanelHeaderBaseStyle","alignItems","flexDirection","justifyContent","borderBottom","borderColor","marginBottom","backgroundColor","py","px","AccordionPanel","header","title","animationTransition","variantAccordion","motionVariantsContent","inactive","transitionEnd","padding","outline","cursor","overflow","Anchor","fontSize","lineHeight","textDecoration","renderBreadcrumbItems","separator","childrenCount","count","isLastItem","Fragment","Breadcrumb","items","BreadcrumbItem","href","fillVariants","StyledVariant","scale","primary","sizeVariants","medium","outlineVariants","Button","borderRadius","stretch","right","bottom","zIndex","pointerEvents","content","buttonStyle","background","shadow","fill","Link","PortalContext","ContainerTargetContext","getTransformOriginStyle","align","vertical","DropContent","alignProp","transformOrigin","DropContainer","dropTarget","onClickOutside","plain","responsive","restrictFocus","portalContext","portalId","nextPortalContext","dropRef","place","preserveHeight","windowWidth","innerWidth","windowHeight","innerHeight","style","maxHeight","targetRect","containerRect","Math","min","max","percentVisibleAreaBelow","drop","scrollParents","addScrollListeners","scrollParent","removeScrollListeners","onClickDocument","event","clickedPortalId","attr","onResize","Drop","originalFocusedElement","setOriginalFocusedElement","activeElement","dropContainer","setDropContainer","containerTarget","removeChild","ReactDOM","createPortal","Footer","minHeight","VactoryIconContext","iconSet","VactoryIconProvider","Provider","VactoryIconConsumer","Consumer","useVactoryIcon","mergeIcons","source","icons","concat","WrapperIcon","Icon","attrs","removeInlineStyle","icon","name","SVG","CheckboxChecked","CheckboxUnchecked","CheckboxIcon","iconName","checkedIconName","uncheckedIconName","Checkbox","mr","bg","variantVariants","variantStatus","variantSizes","StyledInput","type","Input","reverse","Label","RadioProps","RadioChecked","RadioUnchecked","RadioIcon","Radio","DownArrow","SelectIcon","ml","alignSelf","StyledSelectBox","t","danger","success","info","Select","options","selectRef","p","appearance","pr","entries","i","option","Option","GlobalStyle","createGlobalStyle","fonts","sans","fontSizes","DEFAULT_CONFIG","gridSize","gutterWidth","outerMargin","THEME_CONF","configCache","generateConfigCacheId","JSON","stringify","resolveConfig","themeConf","conf","getConfig","cacheId","sortBreakpointProps","propsArr","breakpointNames","_prop","sortedBreakpoints","valueBp1","valueBp2","getGridSize","getGutterWidth","getOuterMargin","getContainer","generateMediaforContainer","breakpointsName","fluid","StyledContainer","div","Container","StyledRow","Row","generateMediaForCol","StyledCol","Col","Header","fixed","sticky","stickyOptions","fixedStyle","Wrapper","Headroom","Image","Navs","navs","nav","Nav","PaginationPageButton","mx","textAlign","PaginationPrevNextButton","PaginationJumpButton","itemRender","Pagination","flexWrap","RCPagination","frFR","Tab","isActive","onClickTab","handleOnClickTab","preventDefault","Tabs","propsActiveKey","activeTab","showBar","onTabClick","onNextClick","onPrevClick","activeKey","setActiveKey","tabRefs","headerAnimationCtrls","useAnimation","inkBarAnimationCtrls","headerTabRef","animateInkBar","currentTabBCR","headerTabBCR","start","handleClickTab","onActive","activeContent","tabs","tab","tabProps","isTabActive","tabKey","m","flexGrow","Text","fontWeight","Paragraph","Heading","withTheme","level","variantName","themeGet","List_","ordered","listStyle","List","Item_","Item","StyledLayer","responsiveBreakpoint","mediaStyle","hidenStyle","boundsStyle","targetBounds","StyledOverlay","getMargin","axis","marginValue","marginApplied","marginInTheme","getBounds","bounds","end","KEYFRAMES","center","keyframes","animationDuration","getAnimationStyle","full","animation","animate","POSITIONS","modal","FocusedContainer","restrictScroll","bodyOverflowStyle","setBodyOverflowStyle","removeTrap","trapFocus","timer","clearTimeout","HiddenAnchor","fullBounds","LayerContainer","id","onEsc","layerTarget","setTargetBounds","anchorRef","containerRef","layerRef","scrollIntoView","updateBounds","Layer","layerContainer","setLayerContainer","activeAnimation","layerClone","cloneNode","clonedContainer","querySelector","animationDirection","clone","getElementById","remove","displayName","SliderWrapper","Arrow","transform","PrevArrow","NextArrow","appendDots","dots","textIndent","visibility","Slider","SlickSlider","SlideSubtitle","subtitle","SlideIamge","imageSrc","objectFit","SlideVideo","videoId","opt","playerVars","autoplay","loop","Slide","bgImage","refVideo","toggleVideo","_isActive","playVideo","pauseVideo","onVideoReady","SearchOverlayTop","closeIcon","topContent","onClose","marginLeft","SearchOverlayForm","onSubmit","inputRef","inputPlaceholder","onClickSearchIcon","inputTitle","backgroud","SearchOverlayInfo","searchInfo","SearchOverlayContainer","open","motionVariants","createRef","handleSubmitForm","SearchOverlay","black","white","transparent","light","disabled","text","primary100","primary200","primary300","primary400","primary500","primary600","primary700","primary800","primary900","black100","black200","black300","black400","black500","black600","black700","black800","black900","gray100","gray200","gray300","gray400","gray500","gray600","gray700","gray800","gray900","success100","success200","success300","success400","success500","success600","success700","success800","success900","info100","info200","info300","info400","info500","info600","info700","info800","info900","warning100","warning200","warning300","warning400","warning500","warning600","warning700","warning800","warning900","danger100","danger200","danger300","danger400","danger500","danger600","danger700","danger800","danger900","btnPrimary","backgroundBasic100","backgroundBasic200","textBasic500","textBasic900","skeletonBackground","dark","defaultColorVariants","gray","warning","gridSystem","none","xxxsmall","xxsmall","xsmall","small","large","xlarge","xxlarge","xxxlarge","shadows","sizes","serif","monospace","montserrat","fontWeights","thin","extraLight","regular","semiBold","bold","extraBold","tiny","caption","paragraph","subheader","heading6","heading5","heading4","heading3","heading2","heading1","heading1x","lineHeights","borders","radii","rounded","borderWidths","borderStyles","buttons","borderWidth","paddingTop","paddingBottom","paddingLeft","paddingRight","anchors","inputs","iconContainer","dam","awb","status","paddingY","paddingX","labels","radio","checkbox","select","layer","overlay","cardType","borderBottomLeftRadius","borderBottomRightRadius","borderTop","cardContainerType","accordion","panel","breadcrumb","saber","fontFamily","item","activeNav","capitalazur","textTransform","borderStyle","heading","h1","h2","h3","h4","h5","h6","searchOverlay","wrapper","closeBtn","form","input","searchBtn","baseTheme","componentsTheme"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/index.modern.js b/dist/index.modern.js
index 5869c6a..8752808 100644
--- a/dist/index.modern.js
+++ b/dist/index.modern.js
@@ -2709,7 +2709,7 @@ var WrapperIcon = function WrapperIcon(_ref) {
};
var Icon = styled(WrapperIcon).withConfig({
shouldForwardProp: function shouldForwardProp(prop, defaultValidatorFn) {
- return !['sx', '__css'].concat(props).includes(prop);
+ return !['sx', 'name', '__css'].concat(props).includes(prop);
}
}).attrs(function (props) {
return {
diff --git a/dist/index.modern.js.map b/dist/index.modern.js.map
index 890e491..d9cf396 100644
--- a/dist/index.modern.js.map
+++ b/dist/index.modern.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.modern.js","sources":["../src/components/Accordion/AccordionContext.js","../src/core/context/index.js","../src/core/color-modes/index.js","../src/core/dir-manager/index.js","../src/core/space/index.js","../src/core/styled-media/index.js","../src/core/utils/system.js","../src/core/utils/dom.js","../src/core/intersection-observer/index.js","../src/core/hook/use-scroll.js","../node_modules/polished/dist/polished.esm.js","../src/core/match-media/match-media.js","../src/components/Box/Box.js","../src/components/Accordion/Accordion.js","../src/components/Animation/MotionBox.js","../src/components/Animation/ParallaxBox.js","../src/components/Animation/RevealBox.js","../src/components/Accordion/AccordionPanel.js","../src/components/Anchor/Anchor.js","../src/components/Breadcrumb/Breadcrumb.js","../src/components/Breadcrumb/BreadcrumbItem.js","../src/components/Button/Button.js","../src/components/Button/Link.js","../src/components/Drop/Drop.js","../src/components/Footer/Footer.js","../src/components/Icon/context/index.js","../src/components/Icon/Icon.js","../src/components/Form/Checkbox.js","../src/components/Form/Input.js","../src/components/Form/Label.js","../src/components/Form/Radio.js","../src/components/Form/Select.js","../src/components/GlobalStyle/index.js","../src/components/Grid/config.js","../src/components/Grid/helpers.js","../src/components/Grid/Container/Container.js","../src/components/Grid/Row/Row.js","../src/components/Grid/Col/Col.js","../src/components/Header/Header.js","../src/components/Image/Image.js","../src/components/Navs/Navs.js","../src/components/Navs/Nav.js","../src/components/Pagination/Pagination.js","../src/components/Tabs/Tab.js","../src/components/Tabs/Tabs.js","../src/components/Typography/Text.js","../src/components/List/List.js","../src/components/List/Item.js","../src/components/Layer/StyledLayer.js","../src/components/Layer/FocusedContainer.js","../src/components/Layer/LayerContainer.js","../src/components/Layer/Layer.js","../src/components/Slider/Slider.js","../src/components/Slider/Slide.js","../src/components/Search/Search.js","../src/theme/constants/colors.js","../src/theme/constants/breakpoints.js","../src/theme/constants/space.js","../src/theme/constants/shadows.js","../src/theme/constants/sizes.js","../src/theme/constants/fonts.js","../src/theme/constants/fontWeights.js","../src/theme/constants/fontSizes.js","../src/theme/constants/lineHeights.js","../src/theme/constants/borders.js","../src/theme/components/buttons.js","../src/theme/components/anchors.js","../src/theme/components/inputs.js","../src/theme/components/labels.js","../src/theme/components/radio.js","../src/theme/components/checkbox.js","../src/theme/components/select.js","../src/theme/components/layer.js","../src/theme/components/tabs.js","../src/theme/components/accordion.js","../src/theme/components/breadcrumb.js","../src/theme/components/navs.js","../src/theme/components/text.js","../src/theme/components/search-overlay.js","../src/theme/theme.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport const AccordionContext = createContext({});","import React from 'react';\n\nexport const VactoryThemeContext = React.createContext({\n colorMode: null,\n setColorMode: null,\n});\n\nexport const useVactoryTheme = () => React.useContext(VactoryThemeContext);","import React, { useState, useEffect, useContext } from 'react';\nimport { ThemeContext, ThemeProvider } from 'styled-components';\nimport { get } from 'styled-system';\nimport deepmerge from 'deepmerge';\nimport { useVactoryTheme, VactoryThemeContext } from '../context';\n\n\nconst STORAGE_KEY = 'vactory-ui-color-mode';\n\nconst storage = {\n get: init => {\n try {\n return window.localStorage.getItem(STORAGE_KEY) || init\n } catch (e) {\n console.warn(\n 'localStorage is disabled and color mode might not work as expected.',\n 'Please check your Site Settings.',\n e\n )\n }\n },\n set: value => {\n try {\n window.localStorage.setItem(STORAGE_KEY, value)\n } catch (e) {\n console.warn(\n 'localStorage is disabled and color mode might not work as expected.',\n 'Please check your Site Settings.',\n e\n )\n }\n },\n}\n\nconst getColorsByMode = (theme, mode) => {\n const themeColors = theme.colors || {};\n if (!mode) return themeColors;\n const modes = get(theme, 'colors.modes', {});\n return deepmerge.all([{}, {...theme.colors}, {\n ...get(modes, mode, {}),\n }]);\n}\n\n\nconst useColorModeState = (theme = {}) => {\n\n const stored = storage.get();\n const [mode, setMode] = useState(stored || 'default');\n\n // init state\n // useEffect(() => {\n // const stored = storage.get();\n // if (!stored || stored === mode) return;\n // setMode(stored);\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, [] );\n\n useEffect(() => {\n if (!mode) return\n storage.set(mode)\n }, [mode]);\n\n return [mode, setMode];\n\n}\n\nexport const useColorMode = () => {\n const { colorMode, setColorMode } = useVactoryTheme();\n if (typeof setColorMode !== 'function') {\n throw new Error(`[useColorMode] requires the ColorModeProvider component`)\n }\n\n return [colorMode, setColorMode];\n}\n\n\nexport const ColorModeProvider = ({ children }) => {\n\n const styledComponentTheme = useContext(ThemeContext);\n\n const [colorMode, setColorMode] = useColorModeState(styledComponentTheme);\n\n const colors = getColorsByMode(styledComponentTheme || {}, colorMode);\n const theme = {\n ...styledComponentTheme,\n colors\n };\n const context = {\n colorMode,\n setColorMode,\n }\n\n return (\n \n \n {children}\n \n \n );\n}","import React from 'react';\nimport { StyleSheetManager } from \"styled-components\";\nimport stylisRTLPlugin from 'stylis-plugin-rtl';\n\n\nexport const DirectionManagerContext = React.createContext(\"ltr\");\n\nexport const DirectionManager = ({dir= \"ltr\", children}) => {\n return \n \n {children}
\n \n \n \n} ","import React from 'react';\nimport styled from 'styled-components';\nimport { space } from 'styled-system';\n\n\nconst classnames = (...args) => args.join(' ');\nconst getClassName = el => (el.props && el.props.className) || '';\n\n\nexport const StyledChildren = ({\n className,\n children,\n ...props\n }) => {\n const styledChildren = React.Children.toArray(children)\n .map(child => React.cloneElement(child, {\n className: classnames(getClassName(child), className)\n }))\n return (\n <>\n {styledChildren}\n >\n )\n}\n\nconst Space = styled(StyledChildren)(space);\nexport default Space;","import { css } from \"styled-components\";\nexport const DEFAULT_BREAKPOINTS = {\n xs: '0', \n sm: '500px', \n md: '960px', \n lg: '1280px', \n xl: '1920px'\n};\n\n\nconst getSizeFromBreakpoint = (breakpointValue, breakpoints = {}) => {\n if (breakpoints[breakpointValue]) {\n return breakpoints[breakpointValue];\n } else if (parseInt(breakpointValue)) {\n return breakpointValue;\n } else {\n console.error('No valid breakpoint or size specified for media.');\n return '0';\n }\n}\n\n\nexport const lessThan = (breakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (max-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n}\n\nexport const greaterThan = (breakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (min-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n}\n\nexport const between = (firstBreakpoint, secondBreakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (min-width: ${getSizeFromBreakpoint(firstBreakpoint, breakpoints)}) and (max-width: ${getSizeFromBreakpoint(secondBreakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n};\n\nexport const generateMedia = (props) => {\n \n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n \n const lessThan = (breakpoint) => (...args) => {\n console.warn(\"[vactory-ui] generateMedia(props).lessThan(\"+breakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot lessThan(\"+breakpoint+\")\");\n return css`\n @media (max-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `};\n \n const greaterThan = (breakpoint) => (...args) => {\n\n console.warn(\"[vactory-ui] generateMedia(props).greaterThan(\"+breakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot greaterThan(\"+breakpoint+\")\");\n return css`\n @media (min-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `\n };\n \n const between = (firstBreakpoint, secondBreakpoint) => (...args) => {\n console.warn(\"[vactory-ui] generateMedia(props).between(\"+firstBreakpoint+\", \"+secondBreakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot greaterThan(\"+firstBreakpoint+\", \"+secondBreakpoint+\")\");\n \n return css`\n @media (min-width: ${getSizeFromBreakpoint(firstBreakpoint, breakpoints)}) and\n (max-width: ${getSizeFromBreakpoint(secondBreakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `};\n\n return {\n lessThan,\n greaterThan,\n between,\n };\n}\n\nexport default generateMedia;","\nimport { props as systemProps } from '@styled-system/should-forward-prop';\nimport { size, space, margin, layout } from 'styled-system';\n\nimport css, { get } from '@styled-system/css';\n\n\nconst PRE = new RegExp(`^(${systemProps.join('|')})$`);\n\nconst _getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\n\nconst MRE = new RegExp(`^(${margin.propNames.join('|')})$`);\nexport const getMarginProps = _getProps(k => MRE.test(k));\nexport const omitMarginProps = _getProps(k => !MRE.test(k));\n\nexport const getSystemProps = _getProps(k => PRE.test(k));\n\nconst SizePropsRegExp = new RegExp(`^(${size.propNames.join('|')})$`);\nexport const omitSizeProps = _getProps(k => !SizePropsRegExp.test(k));\nexport const getSizeProps = _getProps(k => SizePropsRegExp.test(k));\n\nconst LayoutPropsRegExp = new RegExp(`^(${layout.propNames.join('|')})$`);\nexport const omitLayoutProps = _getProps(k => !LayoutPropsRegExp.test(k));\nexport const getLayoutProps = _getProps(k => LayoutPropsRegExp.test(k));\n\nconst SpacePRopsRegExp = new RegExp(`^(${space.propNames.join('|')})$`);\nexport const omitSpaceProps = _getProps(k => !SpacePRopsRegExp.test(k));\nexport const getSpaceProps = _getProps(k => SpacePRopsRegExp.test(k));\n\nexport const omitProps = (propsToOmit) => _getProps(k => {\n const exp = new RegExp(`^(${propsToOmit.join('|')})$`);\n return !exp.test(k)\n});\n\nexport const getProps = (propsToGet) => _getProps(k => {\n const exp = new RegExp(`^(${propsToGet.join('|')})$`);\n return !exp.test(k)\n});\n\n\nexport const sx = props => css(props.sx)(props.theme);\nexport const base = props => css(props.__css)(props.theme);\n\nexport const variant = ({\n theme,\n variant,\n}) => css(get(theme, variant))(theme);\n\nexport const variantReducer = (accumulator, currentValue) => currentValue ? accumulator + '.' + currentValue : accumulator;\nexport const getVariant = (variant = []) => {\n if (typeof variant === 'string') {\n return variant\n }\n return variant.reduce(variantReducer)\n}\n","\n\n\n\nexport const findParentByMatchedQuery = (element, className) => {\n\n if(element) {\n const offsetParent = element.parentNode ;\n if( offsetParent && offsetParent.classList && offsetParent.classList.contains(className) ) {\n return offsetParent;\n } else {\n return findParentByMatchedQuery(offsetParent, className);\n }\n }\n\n return undefined;\n} \n\n\nexport const findVisibleParent = element => {\n if (element) {\n return element.offsetParent ? element : findVisibleParent(element.parentElement) || element;\n }\n return undefined;\n };\n\nexport const getNewContainer = (rootNode = document.body) => {\n // setup DOM\n const container = document.createElement('div');\n rootNode.appendChild(container);\n return container;\n};\n\nexport const getBodyChildElements = () => {\n const excludeMatch = /^(script|link)$/i;\n const children = [];\n [].forEach.call(document.body.children, node => {\n if (!excludeMatch.test(node.tagName)) {\n children.push(node);\n }\n });\n return children;\n};\n\nexport const TABINDEX = 'tabindex';\nexport const TABINDEX_STATE = 'data-g-tabindex';\n\nexport const makeNodeFocusable = node => {\n // do not touch aria live containers so that announcements work\n if (!node.hasAttribute('aria-live')) {\n node.setAttribute('aria-hidden', false);\n // allow children to receive focus again\n const elements = node.getElementsByTagName('*');\n // only reset elements we've changed in makeNodeUnfocusable()\n Array.prototype.filter\n .call(elements || [], element => element.hasAttribute(TABINDEX_STATE))\n .forEach(element => {\n const prior = element.getAttribute(TABINDEX_STATE);\n if (prior >= 0) {\n element.setAttribute(TABINDEX, element.getAttribute(TABINDEX_STATE));\n } else if (prior === 'none') {\n element.removeAttribute(TABINDEX);\n }\n element.removeAttribute(TABINDEX_STATE);\n });\n }\n};\n\nconst autoFocusingTags = /(a|area|input|select|textarea|button|iframe)$/;\nexport const makeNodeUnfocusable = node => {\n // do not touch aria live containers so that announcements work\n if (!node.hasAttribute('aria-live')) {\n node.setAttribute('aria-hidden', true);\n // prevent children to receive focus\n const elements = node.getElementsByTagName('*');\n // first, save off the tabindex of any element with one\n Array.prototype.filter\n .call(elements || [], element => element.getAttribute(TABINDEX) !== null)\n .forEach(element => {\n element.setAttribute(TABINDEX_STATE, element.getAttribute(TABINDEX));\n element.setAttribute(TABINDEX, -1);\n });\n // then, if any element is inherently focusable and not handled above,\n // give it a tabindex of -1 so it can't receive focus\n Array.prototype.filter\n .call(elements || [], element => {\n const currentTag = element.tagName.toLowerCase();\n return (\n currentTag.match(autoFocusingTags) &&\n element.focus &&\n element.getAttribute(TABINDEX_STATE) === null\n );\n })\n .forEach(element => {\n element.setAttribute(TABINDEX_STATE, 'none');\n element.setAttribute(TABINDEX, -1);\n });\n }\n};\n\n\nexport const isNotAncestorOf = child => parent => !parent.contains(child);\n\n\n\nexport const setFocusWithoutScroll = element => {\n const x = window.scrollX;\n const y = window.scrollY;\n element.focus();\n window.scrollTo(x, y);\n};\n\nexport const findScrollParents = (element, horizontal) => {\n const result = [];\n if (element) {\n let parent = element.parentNode;\n while (parent && parent.getBoundingClientRect) {\n const rect = parent.getBoundingClientRect();\n // 10px is to account for borders and scrollbars in a lazy way\n if (horizontal) {\n if (rect.width && parent.scrollWidth > rect.width + 10) {\n result.push(parent);\n }\n } else if (rect.height && parent.scrollHeight > rect.height + 10) {\n result.push(parent);\n }\n parent = parent.parentNode;\n }\n // last scrollable element will be the document\n // if nothing else is scrollable in the page\n if (result.length === 0) {\n result.push(document);\n } else if (result[0].tagName.toLowerCase() === 'body') {\n result.length = 0;\n result.push(document);\n }\n }\n return result;\n};\n\nexport const parseMetricToNum = fontAsString => {\n if (fontAsString.match(/\\s/) && process.env.NODE_ENV !== 'production') {\n console.warn(`Invalid single measurement value: \"${fontAsString}\"`);\n }\n return parseFloat(fontAsString.match(/\\d+(\\.\\d+)?/), 10);\n};","import React, { useEffect, useState } from \"react\";\nimport { useIntersection } from \"react-use\";\n\nexport const IntersectionContext = React.createContext({ inView: true });\n\nexport const IntersectionObserver = ({\n children,\n threshold = 0,\n reset = false // if value set to true - observed element will reappear every time it shows up on the screen\n}) => {\n const [inView, setInView] = useState(false);\n const intersectionRef = React.useRef(null);\n const intersection = useIntersection(intersectionRef, {\n threshold\n });\n\n useEffect(() => {\n const inViewNow = intersection && intersection.intersectionRatio > 0;\n if (inViewNow) {\n return setInView(inViewNow);\n } else if (reset) {\n return setInView(false);\n }\n }, [intersection, reset]);\n\n return (\n \n {children}
\n \n );\n};\n","// /**\n// * useScroll React custom hook\n// * Usage:\n// * const { scrollX, scrollY, scrollDirection } = useScroll();\n// */\n\n// import { useState, useEffect } from \"react\";\n\n// export function useScroll() {\n// const [lastScrollTop, setLastScrollTop] = useState(0);\n// const [bodyOffset, setBodyOffset] = useState(\n// document.body.getBoundingClientRect()\n// );\n// const [scrollY, setScrollY] = useState(bodyOffset.top);\n// const [scrollX, setScrollX] = useState(bodyOffset.left);\n// const [scrollDirection, setScrollDirection] = useState();\n\n// const listener = e => {\n// setBodyOffset(document.body.getBoundingClientRect());\n// setScrollY(-bodyOffset.top);\n// setScrollX(bodyOffset.left);\n// setScrollDirection(lastScrollTop > -bodyOffset.top ? \"down\" : \"up\");\n// setLastScrollTop(-bodyOffset.top);\n// };\n\n// useEffect(() => {\n// window.addEventListener(\"scroll\", listener);\n// return () => {\n// window.removeEventListener(\"scroll\", listener);\n// };\n// });\n\n// return {\n// scrollY,\n// scrollX,\n// scrollDirection\n// };\n// }\n\nimport { useRef } from 'react'\n \nimport { useLayoutEffect, useEffect } from 'react'\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nconst isBrowser = typeof window !== `undefined`\n\nfunction getScrollPosition({ element, useWindow }) {\n if (!isBrowser) return { x: 0, y: 0 }\n\n const target = element ? element.current : document.body\n const position = target.getBoundingClientRect()\n\n return useWindow\n ? { x: window.scrollX, y: window.scrollY }\n : { x: position.left, y: position.top }\n}\n\nexport function useScrollPosition(effect, deps, element, useWindow, wait) {\n const position = useRef(getScrollPosition({ useWindow }))\n\n let throttleTimeout = null\n\n const callBack = () => {\n const currPos = getScrollPosition({ element, useWindow })\n effect({ prevPos: position.current, currPos })\n position.current = currPos\n throttleTimeout = null\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!isBrowser) {\n return\n }\n\n const handleScroll = () => {\n if (wait) {\n if (throttleTimeout === null) {\n throttleTimeout = setTimeout(callBack, wait)\n }\n } else {\n callBack()\n }\n }\n\n window.addEventListener('scroll', handleScroll)\n\n return () => window.removeEventListener('scroll', handleScroll)\n }, deps)\n}\n\nuseScrollPosition.defaultProps = {\n deps: [],\n element: false,\n useWindow: false,\n wait: null,\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction factorial(a) {\n if (a % 1 || !(+a >= 0)) return NaN;\n if (a > 170) return Infinity;else if (a === 0) return 1;else {\n return a * factorial(a - 1);\n }\n}\n\nfunction power(a, b) {\n return Math.pow(a, b);\n}\n\nfunction sqrt(a) {\n return Math.sqrt(a);\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultMathSymbols = {\n symbols: {\n '!': {\n postfix: {\n symbol: '!',\n f: factorial,\n notation: 'postfix',\n precedence: 6,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '!',\n regSymbol: '!'\n },\n '^': {\n infix: {\n symbol: '^',\n f: power,\n notation: 'infix',\n precedence: 5,\n rightToLeft: 1,\n argCount: 2\n },\n symbol: '^',\n regSymbol: '\\\\^'\n },\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n },\n sqrt: {\n func: {\n symbol: 'sqrt',\n f: sqrt,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'sqrt',\n regSymbol: 'sqrt\\\\b'\n }\n }\n};\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found.\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultMathSymbols.symbols, additionalSymbols.symbols) : _extends({}, defaultMathSymbols.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable.\n *\n * Passthrough can be enabled (off by default) for when you are unsure of the input and want non-variable values to be returned instead of an error.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, passThrough) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n if (passThrough) return cssVariable;\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else {\n throw new PolishedError(74);\n }\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith (string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @deprecated - stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value, unitReturn) {\n if (typeof value !== 'string') return unitReturn ? [value, undefined] : value;\n var matchedValue = value.match(cssRegex);\n\n if (unitReturn) {\n // eslint-disable-next-line no-console\n console.warn(\"stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\");\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n }\n\n if (matchedValue) return parseFloat(value);\n return value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pxtoFactory('em');\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex$1);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pxtoFactory('rem');\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width) {\n if (width === void 0) {\n width = '100%';\n }\n\n return {\n display: 'inline-block',\n maxWidth: width,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n localFonts = _ref.localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject(), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nfunction _templateObject$1() {\n var data = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"]);\n\n _templateObject$1 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject$1(), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor, backgroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return backgroundColor + \" \" + backgroundColor + \" \" + foregroundColor + \" \" + backgroundColor;\n\n case 'right':\n case 'bottomLeft':\n return backgroundColor + \" \" + backgroundColor + \" \" + backgroundColor + \" \" + foregroundColor;\n\n case 'bottom':\n case 'topLeft':\n return foregroundColor + \" \" + backgroundColor + \" \" + backgroundColor + \" \" + backgroundColor;\n\n case 'left':\n case 'topRight':\n return backgroundColor + \" \" + foregroundColor + \" \" + backgroundColor + \" \" + backgroundColor;\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return {\n width: '0',\n height: '0',\n borderColor: getBorderColor(pointingDirection, foregroundColor, backgroundColor),\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n };\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\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 gold: 'ffd700',\n goldenrod: 'daa520',\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 lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\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: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\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: '639',\n red: 'f00',\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: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsla\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor);\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor);\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * (parseFloat(weight) / 1.0) + color2.alpha * (1 - parseFloat(weight) / 1.0)\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\n\nvar defaultLightReturnColor = '#000';\nvar defaultDarkReturnColor = '#fff';\n/**\n * Returns black or white (or optional light and dark return colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, set `strict` to `true` to ensure that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, lightReturnColor, darkReturnColor, strict) {\n if (lightReturnColor === void 0) {\n lightReturnColor = defaultLightReturnColor;\n }\n\n if (darkReturnColor === void 0) {\n darkReturnColor = defaultDarkReturnColor;\n }\n\n if (strict === void 0) {\n strict = false;\n }\n\n var isLightColor = getLuminance(color) > 0.179;\n var preferredReturnColor = isLightColor ? lightReturnColor : darkReturnColor; // TODO: Make `strict` the default behaviour in the next major release.\n // Without `strict`, this may return a color that does not meet WCAG AA.\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isLightColor ? defaultLightReturnColor : defaultDarkReturnColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff');\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')},\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 - parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap$1 = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap$1.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken as darken, curriedDesaturate as desaturate, directionalProperty, ellipsis, em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, invert, curriedLighten as lighten, linearGradient, margin, math, meetsContrastGuidelines, curriedMix as mix, modularScale, normalize, curriedOpacify as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate as saturate, curriedSetHue as setHue, curriedSetLightness as setLightness, curriedSetSaturation as setSaturation, curriedShade as shade, size, stripUnit, textInputs, timingFunctions, curriedTint as tint, toColorString, transitions, curriedTransparentize as transparentize, triangle, wordWrap };\n","import {useState, useEffect, useContext} from 'react'\nimport { ThemeContext } from 'styled-components';\nimport {stripUnit} from 'polished';\n\n\nconst getClosestValue = (val, arr) => {\n const index = arr.sort((a,b) => a - b).findIndex(el => val < el);\n return index > 0 ? arr[index] : null;\n}\n\nexport const useMediaLessThan = breakpoint => {\n return useMedia([breakpoint], 'max-width');\n}\nexport const useMediaGreaterThan = breakpoint => {\n return useMedia([breakpoint], 'min-width');\n}\nexport const useMediaBetween = (bp1, bp2) => {\n return useMedia([bp1, bp2], 'between');\n}\n\nexport const useMedia = (bp, mediaQuery = 'default' ) => {\n if(!(bp instanceof Array)) {\n bp = [bp];\n }\n const [doesMatch, onSetDoesMatch] = useState(false);\n const {breakpoints} = useContext(ThemeContext) || {};\n const breakpointsKeys = Object.keys(breakpoints).map(_bp => isNaN(_bp) ? _bp : +(_bp)); \n let _query = bp[0];\n \n if(breakpointsKeys.includes(bp[0])) {\n\n const sortedBreakpointsValues = breakpoints.map(e => stripUnit(e))\n const maxWidth = getClosestValue(stripUnit(breakpoints[bp[0]]), sortedBreakpointsValues);\n switch (mediaQuery) {\n case 'max-width':\n _query = `(max-width: ${breakpoints[bp[0]]})`;\n break;\n case 'min-width':\n _query = `(min-width: ${breakpoints[bp[0]]})`;\n break;\n case 'between':\n _query = `(min-width: ${breakpoints[bp[0]]}) and (max-width: ${breakpoints[bp[1]]})`;\n break;\n default:\n console.warn(\"[vactory-ui] useMedia(\"+bp+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot useMediaLessThan(), useMediaGreaterThan() ou useMediaBetween()\");\n _query = `(min-width: ${breakpoints[bp[0]]})${maxWidth !== null ? `and (max-width: ${maxWidth}px)` : '' }`;\n break;\n }\n // _query = `(min-width: ${minWidth})${maxWidth !== null ? `and (max-width: ${maxWidth}px)` : '' }`;\n }\n\n useEffect(() => {\n const onUpdateMatch = ({matches}) => {\n onSetDoesMatch(matches)\n }\n \n const matcher = window.matchMedia(_query)\n \n const isModern = 'addEventListener' in matcher\n if (isModern) {\n matcher.addEventListener('change', onUpdateMatch)\n } else {\n matcher.addListener(onUpdateMatch)\n }\n \n onUpdateMatch(matcher)\n \n return () => {\n if (isModern) {\n matcher.removeEventListener('change', onUpdateMatch)\n } else {\n matcher.removeListener(onUpdateMatch)\n }\n }\n }, [_query, onSetDoesMatch])\n \n return doesMatch\n }\n ","import styled from \"styled-components\";\nimport {\n boxShadow,\n color,\n space,\n layout,\n flexbox,\n border,\n compose,\n position,\n typography,\n} from \"styled-system\";\n\nimport { props as systemProps } from \"@styled-system/should-forward-prop\";\nimport { variant, base, sx } from \"../../core\";\n\n// const customShouldForwardProp\n\nexport const BoxWithoutConfig = styled(\"div\")(\n {\n boxSizing: \"border-box\",\n margin: 0,\n minWidth: 0,\n },\n base,\n sx,\n (props) => props.css,\n (props) => props.styledCss,\n compose(\n space,\n color,\n layout,\n flexbox,\n border,\n typography,\n boxShadow,\n position\n ),\n variant\n);\n\nconst Box = styled(BoxWithoutConfig).withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => {\n return defaultValidatorFn(prop) && !systemProps.includes(prop);\n },\n})({});\n\nBox.WithoutConfig = BoxWithoutConfig;\n\n\n\nconst Flex = styled(Box)({\n display: \"flex\",\n});\n\nFlex.WithoutConfig = styled(BoxWithoutConfig)({\n display: \"flex\",\n});\n\nexport {Box, Flex};\n\nexport default Box;\n","\nimport React, { Children, forwardRef, useState } from 'react';\n\nimport { AccordionContext } from './AccordionContext';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\nconst activeAsArray = active =>\n typeof active === 'number' ? [active] : active;\n\n\nexport const Accordion = forwardRef(\n ({ activeIndex,\n children,\n multiple,\n onChange,\n variant='accordion',\n ...rest\n }, ref) => {\n\n const [activeIndexes, setActiveIndexes] = useState([]);\n const [stateActiveIndex, setStateActiveIndex] = useState();\n\n const derivedActiveIndexes = activeAsArray(activeIndex) || [];\n\n if ((typeof activeIndex !== 'undefined' || activeIndex !== stateActiveIndex) &&\n (derivedActiveIndexes.join() !== activeIndexes.join())) {\n setActiveIndexes(derivedActiveIndexes);\n setStateActiveIndex(activeIndex);\n }\n\n\n const onPanelChange = index => {\n let nextActiveIndexes = [...(activeIndexes || [])];\n\n const nextActiveIndex = nextActiveIndexes.indexOf(index);\n if (nextActiveIndex > -1) {\n nextActiveIndexes.splice(nextActiveIndex, 1);\n } else if (multiple) {\n nextActiveIndexes.push(index);\n } else {\n nextActiveIndexes = [index];\n }\n\n setActiveIndexes(nextActiveIndexes);\n if (onChange) {\n onChange(nextActiveIndexes);\n }\n };\n\n const panels = Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n const key = child.props.panelKey || index;\n return (\n -1,\n onPanelChange: () => onPanelChange(key),\n variant\n }}\n >\n {child}\n \n )\n });\n\n return (\n \n {panels}\n \n );\n\n\n })","\nimport { Box, Flex } from '../Box';\nimport { motion } from 'framer-motion';\n\n\nexport const MotionBox = motion.custom(Box.WithoutConfig);\nexport const MotionFlex = motion.custom(Flex.WithoutConfig);","import React from 'react';\nimport { Box } from '../Box';\nimport { useViewportScroll, useTransform } from 'framer-motion';\nimport { MotionBox } from './MotionBox';\n\n\nexport const ParallaxBox = ({\n as = MotionBox, \n children,\n easing = [0.42, 0, 0.58, 1],\n ...rest }) => {\n\n const [elementTop, setElementTop] = React.useState(0);\n\n const ref = React.useRef(null);\n const { scrollY } = useViewportScroll();\n \n\n React.useEffect(() => {\n if (!ref.current) return;\n const setValues = () => {\n setElementTop(ref.current.offsetTop);\n };\n \n setValues();\n\n document.addEventListener(\"load\", setValues);\n window.addEventListener(\"resize\", setValues);\n\n return () => {\n document.removeEventListener(\"load\", setValues);\n window.removeEventListener(\"resize\", setValues);\n };\n\n }, [ref]);\n\n const transformInitialValue = elementTop - 1; \n const transformFinalValue = elementTop + 1;\n const yRange = [transformInitialValue, transformFinalValue];\n\n const y = useTransform(scrollY, yRange, [0, -1], {\n clamp: false,\n easing\n });\n return {children}\n}","import React from 'react';\nimport { Box } from '../Box';\nimport { MotionBox } from './MotionBox';\nimport { useIntersection } from \"react-use\";\n\nconst defaultHidden = {\n opacity: 0,\n};\n\nconst defaultVisible = {\n opacity: 1,\n};\nexport const RevealBox = React.forwardRef(({\n delayOrder,\n duration = 0.4,\n easing = [0.42, 0, 0.58, 1],\n children,\n threshold = 0.04,\n hidden = defaultHidden,\n visible = defaultVisible,\n reset = false, // if value set to true - element will reappear every time it shows up on the screen\n ...rest\n}, ref) => {\n\n\n const [inView, setInView] = React.useState(false);\n const intersectionRef = React.useRef(null);\n const intersection = useIntersection(intersectionRef, {\n threshold\n });\n\n React.useEffect(() => {\n const inViewNow = intersection && intersection.intersectionRatio > 0;\n if (inViewNow) {\n return setInView(inViewNow);\n } else if (reset) {\n return setInView(false);\n }\n }, [intersection, reset]);\n\n\n const transition = React.useMemo(\n () => ({\n duration,\n delay: delayOrder / 5,\n ease: easing\n }),\n [duration, delayOrder, easing]\n );\n\n const variants = {\n hidden: {\n ...hidden,\n transition\n },\n show: {\n ...visible,\n transition\n }\n };\n\n \n\n return (\n \n {children}\n \n \n );\n});","import React, { forwardRef, useContext, cloneElement } from 'react';\nimport { AccordionContext } from './AccordionContext';\nimport { getVariant, getSystemProps } from '../../core';\nimport { MotionBox } from '../Animation';\nimport { Box } from '../Box';\n\n\nconst PanelHeaderBaseStyle = {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n borderBottom: '2px solid',\n borderColor: 'gray300',\n marginBottom: '-1px',\n backgroundColor: 'transparent',\n py: ['medium', null, 'large'],\n px: 0\n};\n\nexport const AccordionPanel = forwardRef(\n (\n {\n children,\n header,\n title,\n variant,\n key,\n sx,\n animationTransition = { ease: \"easeInOut\", duration: 0.3 },\n ...rest\n },\n ref,\n ) => {\n\n const { active, variant: variantAccordion, onPanelChange } = useContext(AccordionContext);\n\n\n const motionVariantsContent = {\n active: {\n height:\"unset\",\n display:\"block\",\n transition: animationTransition\n },\n inactive: {\n height:\"0px\",\n transitionEnd: {\n display: \"none\",\n },\n }\n }\n\n if (variant === undefined) {\n variant = variantAccordion;\n }\n\n return (\n \n\n \n {typeof title === 'string' ?\n (\n \n {title}\n \n ) :\n cloneElement(title, { __css: PanelHeaderBaseStyle, className:'vf-accordion-panel__title' })\n }\n \n\n\n \n \n\n {children}\n \n \n\n \n );\n\n\n\n });","import React from 'react';\nimport {Box} from '../Box';\n\nexport const Anchor = React.forwardRef(({\n variant = \"anchor.default\",\n ...rest\n }, ref) => {\n\n return \n\n});","\nimport React, { forwardRef, Children, cloneElement, Fragment } from \"react\";\nimport { Box } from '../Box';\nimport { getVariant, getSystemProps } from \"../../core\";\n\n\n\nconst renderBreadcrumbItems = (children, variant, separator) => Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n\n const childrenCount = Children.count(children);\n const isLastItem = childrenCount === index + 1;\n\n return (\n {child}\n {isLastItem || (\n typeof separator === 'string'\n ?\n ({separator})\n :\n cloneElement(separator, { className: 'vf-breadcrumb__separator', variant: getVariant([variant, 'separator']) })\n )}\n );\n })\n\nexport const Breadcrumb = forwardRef(({\n variant = 'breadcrumb.default',\n children,\n separator = '/',\n sx,\n ...rest\n}, ref) => {\n\n const items = renderBreadcrumbItems(children, variant, separator);\n\n return (\n \n {items}\n \n );\n\n\n});","\nimport React from \"react\";\nimport { Box } from '../Box';\nimport { getVariant } from \"../../core\";\n\nexport const BreadcrumbItem = React.forwardRef(({\n variant='breadcrumb.default',\n children,\n href,\n active,\n as = 'a',\n key,\n ...rest\n}, ref) => {\n \n return (\n \n {children}\n \n );\n\n\n});","import styled from \"styled-components\";\nimport { css } from \"@styled-system/css\";\nimport { flexbox, color, space, typography, compose, background, position, shadow, border, variant as StyledVariant, buttonStyle, width, height, display } from \"styled-system\";\nimport { sx, base, variant } from \"../../core\";\n\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nconst fillVariants = StyledVariant({\n scale: 'buttons.fill',\n prop: 'fill',\n variants: {\n primary: {\n }\n }\n});\n\nconst sizeVariants = StyledVariant({\n scale: 'buttons.size',\n prop: 'size',\n variants: {\n medium: {\n }\n }\n});\n\nconst outlineVariants = StyledVariant({\n scale: 'buttons.outline',\n prop: 'outline',\n variants: {\n primary: {\n }\n }\n})\n\n\n export const Button = styled('button').withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return defaultValidatorFn(prop) && ![...systemProps, \"fill\", \"outline\"].includes(prop);}\n })`\n\n display: inline-flex;\n align-items: center;\n flex-direction: row;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n font: inherit;\n text-decoration: none;\n margin: 0;\n background: transparent;\n overflow: visible;\n text-transform: none;\n border-style: solid;\n ${css({\n borderRadius: 'small'\n })}\n\n ${ ({stretch}) => stretch && {\n '&::after': {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1,\n pointerEvents: 'auto',\n content: '\"\"',\n backgroundColor: '#0000',\n },\n }\n }\n \n ${buttonStyle}\n ${fillVariants}\n ${outlineVariants}\n ${sizeVariants}\n ${variant}\n ${base}\n ${sx}\n ${compose(\n width,\n height,\n display,\n space,\n color,\n typography,\n flexbox,\n background,\n border,\n position,\n shadow\n )}\n\n\n &:disabled {\n cursor: not-allowed;\n pointer-events: all;\n }\n\n`;\n\nButton.defaultProps = {\n fill: 'primary',\n size: 'medium',\n}\nexport default Button;\n","import React from 'react';\nimport {Button} from './Button';\n\n\nconst Link = ({href, children, ...rest}) => {\n return ;\n};\n\n\nexport default Link;","import React, { forwardRef, useContext, createContext, useMemo, useRef, useState, useEffect } from 'react';\nimport { Box } from '../Box';\nimport { ThemeContext } from 'styled-components';\nimport ReactDOM from 'react-dom'\nimport { parseMetricToNum, findScrollParents, setFocusWithoutScroll, findVisibleParent, getNewContainer } from '../../core';\n\nconst PortalContext = createContext(undefined);\nconst ContainerTargetContext = React.createContext(\n typeof document === 'object' ? document.body : undefined,\n);\n\nconst getTransformOriginStyle = align => {\n let vertical = 'top';\n if (align.bottom) {\n vertical = 'bottom';\n }\n let horizontal = 'left';\n if (align.right) {\n horizontal = 'right';\n }\n return `${vertical} ${horizontal}`;\n}\n\n\nexport const DropContent = forwardRef(({ children, alignProp = { bottom: true, right: true }, ...rest }, ref) => {\n\n return \n {children}\n \n\n\n})\n\n\n\nexport const DropContainer = forwardRef((\n {\n align = {\n top: 'top',\n left: 'left',\n },\n children,\n dropTarget,\n onClickOutside,\n // onEsc,\n // onKeyDown,\n plain, // Whether the drop element should have no background nor shadow\n responsive, // Whether the drop element should have no background nor shadow\n restrictFocus, // Whether the drop should control focus\n stretch = true,\n sx,\n ...rest\n },\n ref,\n) => {\n\n const theme = useContext(ThemeContext) || {};\n const portalContext = useContext(PortalContext) || [];\n const portalId = useMemo(() => portalContext.length, [portalContext]);\n const nextPortalContext = useMemo(() => [...portalContext, portalId], [\n portalContext,\n portalId,\n ]);\n const dropRef = useRef();\n useEffect(() => {\n // We try to preserve the maxHeight as changing it causes any scroll\n // position to be lost. We set the maxHeight on mount and if the window\n // is resized.\n const place = preserveHeight => {\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const target = dropTarget;\n const container = (ref || dropRef).current;\n if (container && target) {\n // clear prior styling\n container.style.left = '';\n container.style.top = '';\n container.style.bottom = '';\n container.style.width = '';\n if (!preserveHeight) {\n container.style.maxHeight = '';\n }\n // get bounds\n const targetRect = findVisibleParent(target).getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n // determine width\n const width = Math.min(\n stretch\n ? Math.max(targetRect.width, containerRect.width)\n : containerRect.width,\n windowWidth,\n );\n // set left position\n let left;\n if (align.left) {\n if (align.left === 'left') {\n ({ left } = targetRect);\n } else if (align.left === 'right') {\n left = targetRect.left + targetRect.width;\n }\n } else if (align.right) {\n if (align.right === 'left') {\n left = targetRect.left - width;\n } else if (align.right === 'right') {\n left = targetRect.left + targetRect.width - width;\n }\n } else {\n left = targetRect.left + targetRect.width / 2 - width / 2;\n }\n if (left + width > windowWidth) {\n left -= left + width - windowWidth;\n } else if (left < 0) {\n left = 0;\n }\n // set top or bottom position\n let top;\n let bottom;\n let maxHeight = containerRect.height;\n if (align.top) {\n if (align.top === 'top') {\n ({ top } = targetRect);\n } else {\n top = targetRect.bottom;\n }\n\n // Calculate visible area underneath the control w.r.t window height\n const percentVisibleAreaBelow =\n 100 - (targetRect.bottom / windowHeight) * 100;\n\n // Check whether it is within 20% from bottom of the window or\n // visible area to flip the control\n // DropContainer doesn't fit well within visible area when\n // percentVisibleAreaBelow value<=20%\n // There is enough space from DropContainer to bottom of the window\n // when percentVisibleAreaBelow>20%.\n\n if (windowHeight === top || percentVisibleAreaBelow <= 20) {\n // We need more room than we have.\n // We put it below, but there's more room above, put it above\n top = '';\n if (align.top === 'bottom') {\n bottom = targetRect.top;\n } else {\n ({ bottom } = targetRect);\n }\n maxHeight = bottom;\n container.style.maxHeight = `${maxHeight}px`;\n } else if (top > 0) {\n maxHeight = windowHeight - top;\n container.style.maxHeight = `${maxHeight}px`;\n } else {\n maxHeight = windowHeight - top;\n }\n } else if (align.bottom) {\n if (align.bottom === 'bottom') {\n ({ bottom } = targetRect);\n } else {\n bottom = targetRect.top;\n }\n maxHeight = bottom;\n container.style.maxHeight = `${maxHeight}px`;\n } else {\n // center\n top =\n targetRect.top + targetRect.height / 2 - containerRect.height / 2;\n maxHeight = windowHeight - top;\n }\n // if we can't fit it all, or we're rather close,\n // see if there's more room the other direction\n if (\n responsive &&\n (containerRect.height > maxHeight || maxHeight < windowHeight / 10)\n ) {\n // We need more room than we have.\n if (align.top && top > windowHeight / 2) {\n // We put it below, but there's more room above, put it above\n top = '';\n if (align.top === 'bottom') {\n // top = Math.max(targetRect.top - containerRect.height, 0);\n // maxHeight = targetRect.top - top;\n bottom = targetRect.top;\n } else {\n // top = Math.max(targetRect.bottom - containerRect.height, 0);\n // maxHeight = targetRect.bottom - top;\n ({ bottom } = targetRect);\n }\n maxHeight = bottom;\n } else if (align.bottom && maxHeight < windowHeight / 2) {\n // We put it above but there's more room below, put it below\n bottom = '';\n if (align.bottom === 'bottom') {\n ({ top } = targetRect);\n } else {\n top = targetRect.bottom;\n }\n maxHeight = windowHeight - top;\n }\n }\n container.style.left = `${left}px`;\n if (stretch) {\n // offset width by 0.1 to avoid a bug in ie11 that\n // unnecessarily wraps the text if width is the same\n // NOTE: turned off for now\n container.style.width = `${width + 0.1}px`;\n }\n // the (position:absolute + scrollTop)\n // is presenting issues with desktop scroll flickering\n if (top !== '') {\n container.style.top = `${top}px`;\n }\n if (bottom !== '') {\n container.style.bottom = `${windowHeight - bottom}px`;\n }\n if (!preserveHeight) {\n if (theme.drop && theme.drop.maxHeight) {\n maxHeight = Math.min(\n maxHeight,\n parseMetricToNum(theme.drop.maxHeight),\n );\n }\n container.style.maxHeight = `${maxHeight}px`;\n }\n }\n };\n\n let scrollParents;\n\n const addScrollListeners = () => {\n scrollParents = findScrollParents(dropTarget);\n scrollParents.forEach(scrollParent =>\n scrollParent.addEventListener('scroll', place),\n );\n };\n\n const removeScrollListeners = () => {\n scrollParents.forEach(scrollParent =>\n scrollParent.removeEventListener('scroll', place),\n );\n scrollParents = [];\n };\n\n const onClickDocument = event => {\n // determine which portal id the target is in, if any\n let clickedPortalId = null;\n let node = event.target;\n while (clickedPortalId === null && node !== document) {\n const attr = node.getAttribute('data-g-portal-id');\n if (attr !== null) clickedPortalId = parseInt(attr, 10);\n node = node.parentNode;\n }\n if (\n clickedPortalId === null ||\n portalContext.indexOf(clickedPortalId) !== -1\n ) {\n onClickOutside(event);\n }\n };\n\n const onResize = () => {\n removeScrollListeners();\n addScrollListeners();\n place(false);\n };\n\n addScrollListeners();\n window.addEventListener('resize', onResize);\n if (onClickOutside) {\n document.addEventListener('mousedown', onClickDocument);\n }\n\n place(false);\n\n\n return () => {\n removeScrollListeners();\n window.removeEventListener('resize', onResize);\n if (onClickOutside) {\n document.removeEventListener('mousedown', onClickDocument);\n }\n };\n }, [\n align,\n dropTarget,\n onClickOutside,\n portalContext,\n portalId,\n ref,\n responsive,\n restrictFocus,\n stretch,\n theme.drop,\n ]);\n\n useEffect(() => {\n if (restrictFocus) {\n (ref || dropRef).current.focus();\n }\n }, [ref, restrictFocus]);\n\n let content = (\n \n {children}\n \n );\n\n return (\n \n {/* \n {\n event.stopPropagation();\n onEsc(event);\n }\n : undefined\n }\n onKeyDown={onKeyDown}\n target=\"document\"\n > */}\n {content}\n {/* \n */}\n \n );\n});\n\n\nexport const Drop = forwardRef(\n (\n {\n restrictFocus,\n target: dropTarget, // avoid DOM leakage\n sx,\n ...rest\n },\n ref,\n ) => {\n const theme = useContext(ThemeContext) || {};\n const [originalFocusedElement, setOriginalFocusedElement] = useState();\n useEffect(() => setOriginalFocusedElement(document.activeElement), []);\n const [dropContainer, setDropContainer] = useState();\n const containerTarget = useContext(ContainerTargetContext);\n useEffect(() => setDropContainer(getNewContainer(containerTarget)), [\n containerTarget,\n ]);\n\n // just a few things to clean up when the Drop is unmounted\n useEffect(\n () => () => {\n if (restrictFocus && originalFocusedElement) {\n if (originalFocusedElement.focus) {\n setFocusWithoutScroll(originalFocusedElement);\n } else if (\n originalFocusedElement.parentNode &&\n originalFocusedElement.parentNode.focus\n ) {\n // required for IE11 and Edge\n setFocusWithoutScroll(originalFocusedElement.parentNode);\n }\n }\n if (dropContainer) {\n containerTarget.removeChild(dropContainer);\n }\n },\n [containerTarget, dropContainer, originalFocusedElement, restrictFocus],\n );\n\n return dropContainer\n ? ReactDOM.createPortal(\n ,\n dropContainer,\n )\n : null;\n\n },\n);","import React from 'react';\nimport {Box} from '../Box';\nimport { getVariant } from '../../core';\n\n\nexport const Footer = ({variant='footer',children, ...rest}) => {\n return (\n \n {children}\n \n )\n}","import React from \"react\";\nimport iconSet from '../selection.json';\nexport const VactoryIconContext = React.createContext(iconSet);\n\nexport const VactoryIconProvider = VactoryIconContext.Provider;\nexport const VactoryIconConsumer = VactoryIconContext.Consumer;\n\nexport const useVactoryIcon = () => React.useContext(VactoryIconContext);\n","import React from 'react'\nimport IcoMoon from \"react-icomoon\";\nimport styled from \"styled-components\";\nimport {size, color, space} from \"styled-system\";\nimport shouldForwardProp from '@styled-system/should-forward-prop';\nimport {sx, base} from \"../../core\";\nimport {useVactoryIcon} from \"./context\"\nimport iconSet from './selection.json';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nexport {iconSet}\n\nexport const mergeIcons = (source, target) => {\n return {\n ...source,\n icons: source.icons.concat(target.icons)\n }\n};\n\nexport const WrapperIcon = ({...rest}) => {\n const icons = useVactoryIcon();\n\n return \n};\n\nexport const Icon = styled(WrapperIcon).withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return !['sx', '__css', ...systemProps].includes(prop);}\n }).attrs(props => ({\n removeInlineStyle: true,\n icon: props.name || props.icon,\n}))\n `\n display: inline-block;\n stroke: currentcolor;\n fill: currentcolor;\n ${color}\n ${size}\n ${space}\n ${base}\n ${sx}\n `;\n\nexport default Icon;\n","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport {getSystemProps} from '../../core';\n\nconst SVG = ({ size = 24, ...props }) =>\n \n\nconst CheckboxChecked = props =>\n \n\nconst CheckboxUnchecked = props =>\n \n\nconst CheckboxIcon = ({iconName ,checkedIconName, uncheckedIconName, size = '24px' , ...props }) =>\n{ \n return (\n {\n (iconName || checkedIconName) ? :\n \n }\n {\n (iconName || uncheckedIconName) ? :\n \n\n }\n\n\n\n )}\n\n\n\nexport const Checkbox = forwardRef(({\n className,\n sx,\n iconName,\n checkedIconName,\n uncheckedIconName,\n variant,\n ...props }, ref) => {\n return (\n \n \n \n \n )});","import React from 'react';\nimport styled from 'styled-components';\nimport { color, typography, background, border, position, shadow, variant as StyledVariant, compose, width, height, display, padding } from 'styled-system';\n\nimport { sx, variant, getLayoutProps, getMarginProps } from \"../../core\";\nimport { Flex } from '../Box';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nconst variantVariants = StyledVariant({\n scale: 'inputs.variants',\n prop: 'variant',\n variants: {\n primary: {\n\n }\n }\n});\nconst variantStatus = StyledVariant({\n scale: 'inputs.status',\n prop: 'status',\n variants: {\n primary: {\n\n }\n }\n});\n\nconst variantSizes = StyledVariant({\n scale: 'inputs.sizes',\n prop: 'size',\n variants: {\n medium: {\n padding: 'xsmall',\n fontSize: '16px',\n lineHeight: '24px'\n }\n }\n});\n\n\nconst StyledInput = styled('input').withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return defaultValidatorFn(prop) && ![...systemProps].includes(prop);}\n })`\n display: block;\n padding: 2px;\n appearance: none;\n font-size: inherit;\n line-height: inherit;\n border: 1px solid;\n color: inherit;\n background: transparent;\n width: auto;\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px;\n }\n\n ${variantVariants}\n ${variantStatus}\n ${variantSizes}\n\n\n ${variant}\n ${sx}\n ${compose(\n padding,\n color,\n typography,\n background,\n border,\n position,\n shadow,\n width,\n height,\n display,\n )}\n`;\n\nStyledInput.defaultProps = {\n type: 'text',\n variant: 'default',\n size: 'medium'\n}\n\n\nexport const Input = React.forwardRef(({as,size,reverse, ...props}, ref) => {\n\n\n return (\n \n {props.icon && \n\n \n {props.icon}\n \n }\n \n \n\n );\n})\n\nInput.defaultProps = {\n as: 'input',\n type: 'text',\n variant: 'default',\n size: 'medium'\n}\n\n\nexport default Input;","import React from 'react';\nimport {Flex} from '../Box'\n\n\nexport const Label = ({children, variant, ...props}) => {\n return \n {children}\n \n}","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\nimport { Icon } from '../Icon';\n\nconst RadioProps = [\n ...systemProps,\n 'sx',\n 'variant',\n 'iconName',\n 'checkedIconName',\n 'uncheckedIconName'\n\n];\n\nconst PRE = new RegExp(`^(${RadioProps.join('|')})$`);\nconst getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\nconst getSystemProps = getProps(k => PRE.test(k));\n\n\n\nconst SVG = ({ size, ...props }) =>\n \n\nconst RadioChecked = props =>\n \n\nconst RadioUnchecked = props =>\n \n\n\nconst RadioIcon = ({iconName ,checkedIconName, uncheckedIconName, size = '24px' , ...props }) =>\n{ \n return (\n {\n (iconName || checkedIconName) ? :\n \n }\n {\n (iconName || uncheckedIconName) ? :\n \n\n }\n\n\n\n )}\n \n\n\nexport const Radio = forwardRef(({\n className,\n sx,\n variant,\n ...props }, ref) => (\n \n \n \n \n ));","import React, { forwardRef, useRef } from 'react';\nimport styled, {css} from 'styled-components';\nimport {variant} from 'styled-system';\nimport { Box, Flex } from '../Box';\nimport { getMarginProps, omitMarginProps, getLayoutProps } from '../../core';\n\n\nconst DownArrow = ({size = 24, ...rest}) => (\n \n)\n\n\nconst SelectIcon = ({ icon }) => {\n return \n {icon || }\n ;\n};\n\nconst StyledSelectBox = styled(Box)(\n variant({\n prop: 'state',\n scale: 'select.states',\n variants: {\n default: {\n borderColor: 'primary',\n ':focus': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.primary}`}`,\n }, \n },\n danger: {\n borderColor: 'danger',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.danger}`}`,\n },\n },\n success: {\n borderColor: 'success',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.success}`}`,\n }\n },\n info: {\n borderColor: 'info',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.info}`}`,\n }\n },\n }\n })\n);\n\nconst Select = forwardRef(({ variant, children, options, ...props }, ref) => {\n const {icon} = props;\n const selectRef = ref || useRef();\n\n return \n \n\n { options\n ? Object.entries(options).map( ([option, attrs], i) => (\n \n ) )\n : children\n }\n\n \n \n\n \n});\n\nSelect.Option = ({ children, ...props }) => ;\n\nexport { Select };","import { createGlobalStyle } from \"styled-components\";\n\n\nexport const GlobalStyle = createGlobalStyle`\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n body, h1, h2, h3, h4, h5, h6, p, ol, ul {\n margin: 0;\n padding: 0;\n font-weight: normal;\n }\n\n ol, ul {\n list-style: none;\n }\n\n\n html, body {\n font-family: ${({ theme }) => theme.fonts.sans};\n font-size: ${({ theme }) => theme.fontSizes.body};;\n box-sizing: border-box;\n\n -webkit-font-smoothing: antialiased;\n }\n\n`;\n\nexport default GlobalStyle;","export const DEFAULT_CONFIG = {\n gridSize: 12,\n gutterWidth: 16,\n outerMargin: 8,\n container: {\n sm: '540px', \n md: '720px', \n lg: '960px', \n xl: '1140px',\n }\n};","import { DEFAULT_CONFIG } from \"./config\";\nimport {stripUnit} from 'polished';\n\n// Name of the grid-system config in theme object\nconst THEME_CONF = 'gridSystem';\n\n// Array to store the merged grid-system config\nconst configCache = [];\n\n// Generate a config ID\nconst generateConfigCacheId = (theme) => JSON.stringify((theme && theme[THEME_CONF]) || {});\n\n\n// Merge default config with global grid-system config\nconst resolveConfig = (theme) => {\n const themeConf = (theme && theme[THEME_CONF]) || {}\n const conf = {\n ...DEFAULT_CONFIG,\n ...themeConf,\n container: {\n ...DEFAULT_CONFIG.container,\n ...themeConf.container\n },\n }\n return conf;\n};\n\n// get grid-system config\nconst getConfig = ({theme}) => {\n const cacheId = generateConfigCacheId(theme);\n if (configCache[0] === cacheId) {\n return configCache[1]\n }\n const conf = resolveConfig(theme);\n configCache[0] = cacheId\n configCache[1] = conf\n return conf;\n};\n\n// sort breakpoint names from props\nexport const sortBreakpointProps = (props) => {\n const propsArr = Object.keys(props);\n const breakpointNames = Object.keys(props.theme.breakpoints);\n const breakpoints = propsArr.filter(_prop => ~breakpointNames.indexOf(_prop));\n const sortedBreakpoints = breakpoints.sort((bp1, bp2) => {\n const valueBp1 = stripUnit(props.theme.breakpoints[bp1]);\n const valueBp2 = stripUnit(props.theme.breakpoints[bp2]);\n return valueBp1 - valueBp2\n });\n return sortedBreakpoints;\n};\n\nexport const getGridSize = (props) => {\n return getConfig(props).gridSize;\n};\n\nexport const getGutterWidth = (props) => {\n return getConfig(props).gutterWidth;\n};\n\nexport const getOuterMargin = (props) => {\n return getConfig(props).outerMargin;\n};\n\nexport const getContainer = (props) => {\n return (breakpoint) => getConfig(props).container[breakpoint];\n}\n\n\n\n\n","import React from 'react';\nimport styled, {css} from 'styled-components';\nimport {getOuterMargin, getContainer} from '../helpers';\nimport {greaterThan} from '../../../core';\nimport {Box} from '../../Box';\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst generateMediaforContainer = props => {\n const breakpointsName = Object.keys(props.theme.breakpoints);\n if(!props.fluid) {\n return css`\n ${breakpointsName.map(breakpoint => {\n if(getContainer(props)(breakpoint)) {\n return greaterThan(breakpoint)`\n max-width: ${(props) => getContainer(props)(breakpoint)};\n `\n } else {\n return null;\n }\n })}\n `;\n\n }\n};\n\nconst StyledContainer = styled.div`\n box-sizing: border-box;\n margin-right: auto;\n margin-left: auto;\n padding-left: ${props => getOuterMargin(props)}px;\n padding-right: ${props => getOuterMargin(props)}px;\n width: 100%;\n ${generateMediaforContainer}\n ${compose(space, layout, flexbox)}\n`;\n\nconst Container = ({fluid = false, ...rest}) => {\n return \n}\n\nContainer.defaultProps = {\n fluid: false\n};\n\n\nexport default Container;","import React from 'react';\nimport styled from 'styled-components';\nimport {getOuterMargin} from '../helpers';\nimport {Box} from '../../Box';\n\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst StyledRow = styled.div`\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-wrap: wrap;\n margin-right: ${props => getOuterMargin(props) * -1}px;\n margin-left: ${props => getOuterMargin(props) * -1}px;\n ${compose(space, layout, flexbox)}\n`;\n\nconst Row = props => \n\nexport default Row;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { sortBreakpointProps, getGridSize, getGutterWidth } from \"../helpers\";\nimport { greaterThan } from \"../../../core\";\nimport { Box } from \"../../Box\";\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst generateMediaForCol = (props) => {\n return sortBreakpointProps(props).map((bp) => {\n return greaterThan(bp)`\n ${\n props[bp] >= 0\n ? `\n flex-basis: ${(100 / getGridSize(props)) * props[bp]}%;\n max-width: ${(100 / getGridSize(props)) * props[bp]}%;\n display: block;\n `\n : props[bp]\n ? `\n flex-grow: 1;\n flex-basis: 0;\n max-width: 100%;\n display: block;\n `\n : `\n display: none;\n `\n }\n `;\n });\n};\n\nconst StyledCol = styled.div`\n box-sizing: border-box;\n flex: 0 0 auto;\n padding-right: ${(props) => getGutterWidth(props) / 2}px;\n padding-left: ${(props) => getGutterWidth(props) / 2}px;\n flex-grow: 1;\n flex-basis:0;\n max-width: 100%;\n ${(p) =>\n p.reverse &&\n `\n flex-direction: column-reverse;\n `}\n ${generateMediaForCol}\n ${compose(space, layout, flexbox)}\n \n`;\n\nconst Col = (props) => ;\n\nexport default Col;\n","import React from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\nimport Headroom from 'react-headroom';\n\nexport const Header = React.forwardRef(({\n fixed = false,\n sticky = false,\n variant = 'header',\n stickyOptions = {},\n\n children,\n ...rest }, ref) => {\n\n let fixedStyle = {};\n if (fixed) {\n fixedStyle = {\n position: 'fixed',\n top: '0px',\n left: '0px',\n right: '0px',\n }\n }\n const Wrapper = sticky ? Headroom : 'div';\n return (\n \n \n {children}\n \n \n\n );\n});","import React, {forwardRef} from 'react';\nimport {Box} from '../Box';\n\nexport const Image = forwardRef((props, ref) => \n)","\nimport React, { forwardRef, Children, cloneElement, Fragment } from \"react\";\nimport {Box, } from '../Box';\nimport { getSystemProps } from \"../../core\";\n\nexport const Navs = forwardRef(({\n variant= \"navs\",\n children,\n sx,\n ...rest\n}, ref)=> {\n\n const navs = Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n\n const nav = cloneElement(child, {\n variant: child.props.variant || variant,\n })\n\n return (\n {nav}\n )\n })\n\n\n return (\n \n {navs}\n \n );\n\n\n});","import React from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\n\n\nexport const Nav = React.forwardRef(({\n variant = 'navs',\n children,\n href,\n active = false,\n as = 'a',\n key,\n ...rest\n}, ref) => {\n\n return (\n \n {children}\n \n );\n\n\n});","import React, { useContext } from 'react';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport RCPagination from 'rc-pagination';\nimport frFR from 'rc-pagination/lib/locale/fr_FR';\nimport { get } from 'styled-system';\nimport { ThemeContext } from 'styled-components';\n\nconst PaginationPageButton = (props) => \n {props.children}\n\n\n\nconst PaginationPrevNextButton = (props) => \n {props.children}\n\n\n\nconst PaginationJumpButton = (props) => \n {props.children}\n\n\n\nconst itemRender = (current, type, element) => {\n if (type === 'page') {\n return {current};\n }\n if (type === 'prev') {\n return ;\n }\n if (type === 'next') {\n return ;\n }\n if (type === 'jump-prev') {\n return ;\n }\n if (type === 'jump-next') {\n return ;\n }\n return element;\n};\n\n\nexport const Pagination = ({\n sx,\n ...props\n}) => {\n const theme = useContext(ThemeContext);\n return (\n input' : {\n display: 'inline-block',\n padding: '2px',\n appearance: 'none',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n border: '1px solid',\n color: 'inherit',\n background: 'transparent',\n mx: '8px',\n ...get(theme, 'inputs.variants.default', {}),\n ...get(theme, 'inputs.sizes.medium', {})\n }\n }} as={RCPagination} locale={frFR} {...props} sx={sx} itemRender={itemRender} />\n );\n}","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\nexport const Tab = forwardRef((\n { title,\n index,\n isActive,\n onClickTab,\n variant = 'tabs',\n header,\n sx,\n ...props\n },\n ref\n) => {\n \n const handleOnClickTab = event => {\n if (event) {\n event.preventDefault();\n }\n onClickTab();\n };\n\n return (\n \n {title}\n \n );\n})","import React, { useState, Children, cloneElement, forwardRef, useRef, useEffect } from \"react\";\n\nimport { Box, Flex } from '../Box';\nimport { getVariant } from \"../../core\";\nimport { MotionBox } from '../Animation'\nimport { useAnimation } from \"framer-motion\";\n\nexport const Tabs = forwardRef(({\n children,\n theme,\n activeTab: propsActiveKey,\n sx,\n variant = 'tabs',\n showBar = false,\n onChange, // Callback executed when active tab is changed\n onTabClick, // Callback executed when tab is clicked\n onNextClick, //Callback executed when next button is clicked\n onPrevClick, // Callback executed when prev button is clicked\n\n ...rest\n\n}, ref) => {\n\n\n const [activeKey, setActiveKey] = useState(rest.activeTab || 0);\n\n const tabRefs = [];\n\n const headerAnimationCtrls = useAnimation();\n const inkBarAnimationCtrls = useAnimation();\n const motionVariantsContent = {\n active: {\n opacity: [0, 1],\n }\n }\n\n const headerTabRef = useRef(null);\n\n const animateInkBar = (key) => {\n const currentTabBCR = tabRefs[key].current.getBoundingClientRect();\n const headerTabBCR = headerTabRef.current.getBoundingClientRect();\n\n inkBarAnimationCtrls.start({\n left: (currentTabBCR.x - headerTabBCR.x),\n width: currentTabBCR.width,\n })\n }\n\n if (activeKey !== propsActiveKey && propsActiveKey !== undefined) {\n setActiveKey(propsActiveKey);\n }\n\n useEffect(() => {\n if(showBar){\n animateInkBar(activeKey);\n }\n }, [activeKey, showBar]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleClickTab = key => {\n headerAnimationCtrls.start('active');\n\n if (propsActiveKey === undefined) {\n setActiveKey(key)\n }\n if (onTabClick) {\n onTabClick(key)\n }\n if (onChange && activeKey !== key) {\n onChange(key)\n }\n if (onNextClick && activeKey + 1 === key) {\n onNextClick()\n }\n if (onPrevClick && activeKey - 1 === key) {\n onPrevClick()\n }\n }\n\n delete rest.activeIndex;\n delete rest.onActive;\n\n let activeContent;\n\n\n const tabs = Children.map(\n children,\n (tab, index) => {\n if (!tab) return undefined;\n const tabProps = tab.props || {};\n const isTabActive = index === activeKey;\n\n const ref = useRef();\n const key = tab.props.tabKey || index;\n tabRefs[key] = ref;\n\n if (isTabActive) {\n activeContent = tabProps.children;\n }\n return cloneElement(tab, {\n index,\n isActive: isTabActive,\n variant,\n onClickTab: () => handleClickTab(key),\n ref\n });\n }\n );\n\n\n\n return (\n \n\n \n {tabs}\n {showBar &&\n }\n \n\n \n \n {activeContent}\n \n \n \n );\n\n});","import React from 'react';\nimport { Box } from '../Box';\nimport { withTheme } from 'styled-components';\nimport { themeGet } from '@styled-system/theme-get';\n\nexport const Text = ({ children, as = 'p', ...rest }) => \n {children}\n\n\nexport const Paragraph = ({\n children,\n variant = \"paragraph.default\",\n ...rest\n}) => {\n\n return (\n \n {children}\n \n );\n}\n\nexport const Heading = withTheme(\n ({\n children,\n level = '1',\n variant = \"heading.default\",\n ...rest\n }) => {\n const variantName = themeGet(variant + '.h'+level)(rest) ? variant + '.h'+level : variant;\n return {children}\n }\n)\n\n\n\nexport default Text;\n\n\n","\nimport React, { forwardRef } from \"react\";\nimport {Box} from '../Box';\n\nconst List_ = ({horizontal, ordered, ...rest}, ref) => {\n\n return \n}\n\nexport const List = forwardRef(List_)","\nimport React, { forwardRef } from \"react\";\nimport {Box} from '../Box';\n\nconst Item_ = (props, ref) => {\n\n return \n}\n\nexport const Item = forwardRef(Item_)","import React, { useContext, forwardRef } from 'react';\nimport styled, { css, ThemeContext, keyframes } from 'styled-components';\nimport { themeGet } from '@styled-system/theme-get';\nimport { Box} from '../Box';\nimport { generateMedia } from '../../core';\n\n\nexport const StyledLayer = forwardRef(({variant='default', ...props}, ref) => {\n const theme = useContext(ThemeContext);\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)({theme});\n let mediaStyle = {};\n let hidenStyle = {};\n let boundsStyle = {\n position: 'fixed',\n top: '0px',\n left: '0px',\n right: '0px',\n bottom: '0px',\n };\n\n if (props.position === 'hidden') {\n hidenStyle = {\n left: '-100%',\n right: '100%',\n zIndex: '-1',\n position: 'fixed',\n };\n }\n\n if(props.targetBounds) {\n const { left, right, top, bottom } = props.targetBounds;\n boundsStyle = {\n position: 'fixed',\n top: `${top}px`,\n left: `${left}px`,\n right: `${right}px`,\n bottom: `${bottom}px`,\n }\n }\n\n if(props.responsive && responsiveBreakpoint) {\n mediaStyle[`@media (max-width: ${themeGet(`breakpoints.${responsiveBreakpoint}`, 0)({theme})} )`] = {\n position: 'absolute',\n width: '100%',\n height: '100%',\n minHeight: '100%',\n }\n }\n return (\n \n {props.children}\n \n );\n\n})\n\nexport const StyledOverlay = props => {\n const theme = useContext(ThemeContext);\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)({theme});\n let mediaStyle = {};\n if(props.responsive && responsiveBreakpoint) {\n mediaStyle[`@media (max-width: ${themeGet(`breakpoints.${responsiveBreakpoint}`, 0)({theme})} )`] = {\n position: 'relative',\n }\n }\n return (\n \n {props.children}\n \n );\n\n}\n\n\nconst parseMetricToNum = fontAsString => {\n if (fontAsString.match(/\\s/) && process.env.NODE_ENV !== 'production') {\n console.warn(`Invalid single measurement value: \"${fontAsString}\"`);\n }\n return parseFloat(fontAsString.match(/\\d+(\\.\\d+)?/), 10);\n };\n\nconst getMargin = (margin, theme, position) => {\n const axis =\n position.indexOf('top') !== -1 || position.indexOf('bottom') !== -1\n ? 'vertical'\n : 'horizontal';\n const marginValue = margin[position] || margin[axis] || margin;\n const marginApplied = theme.space[marginValue] || marginValue;\n const marginInTheme = !!theme.space[marginValue];\n\n return !marginInTheme && typeof marginValue !== 'string'\n ? 0\n : parseMetricToNum(marginApplied);\n };\n\nconst getBounds = (bounds, margin, theme, position = undefined) => {\n if (position) {\n return bounds[position] + getMargin(margin, theme, position);\n }\n return {\n bottom: bounds.bottom + getMargin(margin, theme, 'bottom'),\n // 'bottom-left': getMargin(margin, theme, 'bottom-left'),\n // 'bottom-right': getMargin(margin, theme, 'bottom-right'),\n end: bounds.right + getMargin(margin, theme, 'end'),\n left: bounds.left + getMargin(margin, theme, 'left'),\n right: bounds.right + getMargin(margin, theme, 'right'),\n start: bounds.left + getMargin(margin, theme, 'start'),\n top: bounds.top + getMargin(margin, theme, 'top'),\n // 'top-right': getMargin(margin, theme, 'top-right'),\n // 'top-left': getMargin(margin, theme, 'top-left'),\n };\n };\n\nconst KEYFRAMES = {\n center: {\n vertical: keyframes`\n 0% { transform: translateX(-50%) scale(0.8); }\n 100% { transform: translateX(-50%) scale(1); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(-50%) scale(0.8); }\n 100% { transform: translateY(-50) scale(1); }\n `,\n true: keyframes`\n 0% { transform: scale(0.8); }\n 100% { transform: scale(1); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, -50%) scale(0.8); }\n 100% { transform: translate(-50%, -50%) scale(1); }\n `,\n },\n top: {\n vertical: keyframes`\n 0% { transform: translate(-50%, -100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(-100%); }\n 100% { transform: translateY(0); }\n `,\n true: keyframes`\n 0% { transform: translateY(-100%); }\n 100% { transform: translateY(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, -100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n },\n bottom: {\n vertical: keyframes`\n 0% { transform: translate(-50%, 100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(100%); }\n 100% { transform: translateY(0); }\n `,\n true: keyframes`\n 0% { transform: translateY(100%); }\n 100% { transform: translateY(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, 100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n },\n left: {\n vertical: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n right: {\n vertical: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n start: {\n vertical: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n end: {\n vertical: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n};\n\nexport const animationDuration = 200;\n\nexport const getAnimationStyle = (props, position, full) => {\n let animation =\n props.animation !== undefined ? props.animation : props.animate;\n if (animation === undefined) animation = 'slide';\n let keys;\n if (animation === 'slide' || animation === true) {\n keys = KEYFRAMES[position][full];\n } else if (animation === 'fadeIn') {\n keys = keyframes`0% { opacity: 0 } 100% { opacity: 1 }`;\n }\n return keys\n ? css`\n animation: ${keys} ${animationDuration / 1000.0}s ease-in-out forwards;\n `\n : '';\n};\n\n const POSITIONS = {\n center: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translateX(-50%);\n ${props => getAnimationStyle(props, 'center', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translateY(-50%);\n ${props => getAnimationStyle(props, 'center', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n ${props => getAnimationStyle(props, 'center', 'true')}\n `,\n false: () => css`\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n ${props => getAnimationStyle(props, 'center', 'false')}\n `,\n },\n\n top: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0%);\n ${props => getAnimationStyle(props, 'top', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: ${bounds.top}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'top', 'false')}\n `,\n },\n\n bottom: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'bottom', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'bottom', 'false')}\n `,\n },\n\n left: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'left', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'left', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'left', 'true')}\n `,\n false: bounds => css`\n left: ${bounds.left}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'left', 'false')}\n `,\n },\n\n right: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'right', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'right', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'right', 'true')}\n `,\n false: bounds => css`\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'right', 'false')}\n `,\n },\n\n start: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'start', 'vertical')}\n `,\n horizontal: bounds => css`\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'start', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'start', 'true')}\n `,\n false: bounds => css`\n inset-inline-start: ${bounds.start}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'start', 'false')}\n `,\n },\n\n end: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'end', 'vertical')}\n `,\n horizontal: bounds => css`\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'end', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'end', 'true')}\n `,\n false: bounds => css`\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'end', 'false')}\n `,\n },\n\n 'top-right': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 0;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n },\n\n 'top-left': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 0;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')} \n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n left: ${bounds.left}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n },\n\n 'bottom-right': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n },\n\n 'bottom-left': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n },\n };\n\nexport const StyledContainer = styled.div.attrs({'data-s': 'StyledContainer'})`\n display: flex;\n min-height: ${themeGet('sizes.xsmall')};\n flex-direction: column;\n outline: none;\n align-items: baseline;\n pointer-events: all;\n z-index: ${themeGet('layer.container.zIndex')};\n\n position: ${props => (props.modal ? 'absolute' : 'fixed')};\n max-height: ${props => `calc(100% - ${getBounds(props.targetBounds, props.margin, props.theme, 'top', )}px - ${getBounds( props.targetBounds, props.margin,props.theme,'bottom',)}px)`};\n max-width: ${props => `calc(100% - ${getBounds( props.targetBounds,props.margin,props.theme,'left',)}px - ${getBounds( props.targetBounds, props.margin, props.theme,'right', )}px)`};\n border-radius: ${props => props.plain ? 0 : themeGet('layer.borderRadius', 0)};\n ${props => ( props.position !== 'hidden' && POSITIONS[props.position][props.full](getBounds(props.targetBounds, props.margin, props.theme), props.targetBounds,)) || ''};\n ${props => {\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)(props);\n if(props.responsive && responsiveBreakpoint) {\n return generateMedia(props).lessThan(responsiveBreakpoint)`\n position: relative;\n max-height: none;\n max-width: none;\n border-radius: 0;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n transform: none;\n animation: none;\n height: 100vh;\n width: 100vw;\n `\n } else {\n return null;\n }\n }}\n\n`;\n","\nimport React, { useEffect, useRef, useState } from 'react';\nimport { makeNodeFocusable, makeNodeUnfocusable, isNotAncestorOf, getBodyChildElements } from '../../core';\n\nexport const FocusedContainer = ({\n hidden = false,\n restrictScroll = false,\n children,\n ...rest\n}) => {\n const [bodyOverflowStyle, setBodyOverflowStyle] = useState('');\n const ref = useRef(null);\n\n useEffect(() => {\n const removeTrap = () => {\n const child = ref.current;\n getBodyChildElements()\n .filter(isNotAncestorOf(child))\n .forEach(makeNodeFocusable);\n if (restrictScroll) {\n document.body.style.overflow = bodyOverflowStyle;\n }\n };\n\n const trapFocus = () => {\n const child = ref.current;\n getBodyChildElements()\n .filter(isNotAncestorOf(child))\n .forEach(makeNodeUnfocusable);\n\n if (restrictScroll) {\n setBodyOverflowStyle(document.body.style.overflow);\n document.body.style.overflow = 'hidden';\n }\n };\n\n const timer = setTimeout(() => {\n if (!hidden) {\n trapFocus();\n }\n }, 0);\n\n return () => {\n removeTrap();\n clearTimeout(timer);\n };\n }, [hidden, bodyOverflowStyle, restrictScroll]);\n\n return (\n \n {children}\n
\n );\n};","import React, {\n forwardRef,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport styled, { ThemeContext } from 'styled-components';\nimport { StyledLayer, StyledContainer, StyledOverlay } from './StyledLayer';\nimport { FocusedContainer } from './FocusedContainer';\nimport { findVisibleParent } from '../../core';\n\nconst HiddenAnchor = styled.a`\n width: 0;\n height: 0;\n overflow: hidden;\n position: absolute;\n`;\n\n\nconst fullBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\nexport const LayerContainer = forwardRef(\n (\n {\n children,\n full = false,\n id,\n margin = 'none',\n modal = true,\n onClickOutside,\n onEsc,\n plain,\n position = 'center',\n responsive,\n target: layerTarget,\n ...rest\n },\n ref,\n ) => {\n\n const theme = useContext(ThemeContext);\n const [targetBounds, setTargetBounds] = useState(fullBounds);\n\n const anchorRef = useRef();\n const containerRef = useRef();\n const layerRef = useRef();\n\n useEffect(() => {\n if (position !== 'hidden') {\n const node = layerRef.current || containerRef.current || ref.current;\n if (node && node.scrollIntoView) node.scrollIntoView();\n // Once layer is open we make sure it has focus so that you\n // can start tabbing inside the layer. If the caller put focus\n // on an element already, we honor that. Otherwise, we put\n // the focus in the hidden anchor.\n let element = document.activeElement;\n while (element) {\n if (element === containerRef.current) {\n // already have focus inside the container\n break;\n }\n element = element.parentElement;\n }\n if (modal && !element && anchorRef.current) {\n anchorRef.current.focus();\n }\n }\n }, [modal, position, ref]);\n\n\n useEffect(() => {\n if (position !== 'hidden') {\n const node = layerRef.current || containerRef.current || ref.current;\n if (node && node.scrollIntoView) node.scrollIntoView();\n }\n }, [position, ref]);\n\n useEffect(() => {\n if (layerTarget) {\n const updateBounds = () => {\n const rect = findVisibleParent(layerTarget).getBoundingClientRect();\n setTargetBounds({\n left: rect.left,\n right: window.innerWidth - rect.right,\n top: rect.top,\n bottom: window.innerHeight - rect.bottom,\n });\n };\n\n updateBounds();\n window.addEventListener('resize', updateBounds);\n return () => window.removeEventListener('resize', updateBounds);\n }\n setTargetBounds(fullBounds);\n return undefined;\n }, [layerTarget]);\n\n\n let content = (\n \n {/* eslint-disable max-len */}\n {/* eslint-disable jsx-a11y/anchor-is-valid, jsx-a11y/anchor-has-content */}\n \n {/* eslint-enable jsx-a11y/anchor-is-valid, jsx-a11y/anchor-has-content */}\n {/* eslint-enable max-len */}\n {children}\n \n );\n\n if (modal) {\n content = (\n \n \n {content}\n \n );\n }\n\n if (onEsc) {\n // TODO enabled onEsc event\n console.warn(\"onEsc is not yet implemented\");\n }\n\n\n if (modal) {\n content = (\n \n {content}\n \n );\n }\n\n return content;\n\n }\n)","import React, { forwardRef, useContext, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { LayerContainer } from './LayerContainer';\nimport { getNewContainer } from '../../core';\nimport { animationDuration } from './StyledLayer';\n\nconst ContainerTargetContext = React.createContext(\n typeof document === 'object' ? document.body : undefined,\n);\n\nexport const Layer = forwardRef((props, ref) => {\n\n const { animate, animation } = props;\n const [originalFocusedElement, setOriginalFocusedElement] = useState();\n useEffect(() => setOriginalFocusedElement(document.activeElement), []);\n const [layerContainer, setLayerContainer] = useState();\n const containerTarget = useContext(ContainerTargetContext);\n useEffect(() => setLayerContainer(getNewContainer(containerTarget)), [\n containerTarget,\n ]);\n\n // just a few things to clean up when the Layer is unmounted\n useEffect(\n () => () => {\n if (originalFocusedElement) {\n if (originalFocusedElement.focus) {\n // wait for the fixed positioning to come back to normal\n // see layer styling for reference\n setTimeout(() => originalFocusedElement.focus(), 0);\n } else if (\n originalFocusedElement.parentNode &&\n originalFocusedElement.parentNode.focus\n ) {\n // required for IE11 and Edge\n originalFocusedElement.parentNode.focus();\n }\n }\n\n if (layerContainer) {\n const activeAnimation = animation !== undefined ? animation : animate;\n if (activeAnimation !== false) {\n // undefined uses 'slide' as the default\n // animate out and remove later\n const layerClone = layerContainer.cloneNode(true);\n layerClone.id = 'layerClone';\n\n containerTarget.appendChild(layerClone);\n const clonedContainer = layerClone.querySelector(\n '[data-s=\"StyledContainer\"]',\n );\n\n if (clonedContainer && clonedContainer.style) {\n clonedContainer.style.animationDirection = 'reverse';\n }\n setTimeout(() => {\n // we add the id and query here so the unit tests work\n const clone = document.getElementById('layerClone');\n if (clone) {\n containerTarget.removeChild(clone);\n layerContainer.remove();\n }\n }, animationDuration);\n } else {\n containerTarget.removeChild(layerContainer);\n }\n }\n },\n [\n animate,\n animation,\n containerTarget,\n layerContainer,\n originalFocusedElement,\n ],\n );\n\n\n return layerContainer ? createPortal(, layerContainer) : null;\n\n});\n\nLayer.displayName = 'Layer';\n","import React from 'react';\nimport styled from 'styled-components';\nimport SlickSlider from 'react-slick';\nimport { Box } from '../Box';\n\nimport { Icon } from '../Icon';\n\nconst SliderWrapper = styled.div`\n.slick-list,\n.slick-slider,\n.slick-track {\n position: relative;\n display: block;\n}\n.slick-loading .slick-slide,\n.slick-loading .slick-track {\n visibility: hidden;\n}\n.slick-slider {\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n}\n.slick-list {\n overflow: hidden;\n margin: 0;\n padding: 0;\n}\n.slick-list:focus {\n outline: 0;\n}\n.slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n}\n.slick-slider .slick-list,\n.slick-slider .slick-track {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n}\n.slick-track {\n top: 0;\n left: 0;\n}\n.slick-track:after,\n.slick-track:before {\n display: table;\n content: \"\";\n}\n.slick-track:after {\n clear: both;\n}\n.slick-slide {\n display: none;\n float: left;\n height: 100%;\n min-height: 1px;\n}\n[dir=\"rtl\"] .slick-slide {\n float: right;\n}\n.slick-slide img {\n display: block;\n}\n.slick-slide.slick-loading img {\n display: none;\n}\n.slick-slide.dragging img {\n pointer-events: none;\n}\n.slick-initialized .slick-slide {\n display: block;\n}\n.slick-vertical .slick-slide {\n display: block;\n height: auto;\n border: 1px solid transparent;\n}\n.slick-arrow.slick-hidden {\n display: none;\n}\n\n`;\n\n\nexport const Arrow = ({children, ...rest}) => \n {children}\n \n\nexport const PrevArrow = props => \n \n\nexport const NextArrow = props => \n\n\n\n\nexport const appendDots = dots => li' : {\n position: 'relative',\n display: 'inline-block',\n margin: '0 5px',\n width: '12px',\n height: '12px',\n cursor: 'pointer',\n },\n\n '& > li > button' : {\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n outline: 0,\n borderRadius: '50%',\n backgroundColor: 'transparent',\n textIndent: '-999em',\n cursor: 'pointer',\n position: 'absolute',\n border: '1px solid',\n borderColor: 'primary500',\n padding: 0,\n },\n '& > li > button::after' : {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width:' 100%',\n height: '100%',\n visibility: 'hidden',\n background: 'primary500',\n borderRadius: '50%',\n boxShadow: '0 0 1px #02afbc',\n opacity: 0,\n transform:' scale(2.5)',\n transition: 'opacity .3s ease, transform .3s ease, visibility 0s .3s',\n },\n '& > li.slick-active > button::after' :{\n visibility: 'visible',\n opacity: 1,\n transform: 'scale(1.5)',\n transition: 'opacity .3s ease,transform .3s ease',\n }\n }}\n>{dots}\n\nexport const Slider = React.forwardRef(({children, ...rest}, ref) => {\n return (\n \n {children}\n \n )\n});\n\n","import React, { useRef, useEffect } from 'react';\nimport { Box } from '../Box';\nimport YouTube from 'react-youtube';\nimport { findParentByMatchedQuery } from '../../core';\n\n\n\nconst SlideSubtitle = ({ subtitle }) => {\n if (typeof subtitle === 'string') {\n return {subtitle}\n }\n else {\n return subtitle;\n }\n}\n\nconst SlideIamge = ({ imageSrc, ...rest }) => {\n\n return \n}\n\nconst SlideVideo = ({ videoId, sx, variant, opt, ...rest }) => {\n\n const options = {\n height: '100%',\n width: '100%',\n playerVars: {\n autoplay: 1,\n loop: 1,\n },\n\n ...opt\n }\n\n return div:first-child, & iframe': {\n height: '100%',\n width: '100%'\n },\n\n }}\n variant={variant}\n sx={variant}\n >\n \n \n}\n\n\nexport const Slide = ({ children, isActive = false, subtitle = null, content = null, bgImage = null, videoId = null, ...rest }) => {\n\n const ref = useRef(null);\n const refVideo = useRef(null);\n\n const toggleVideo = (_isActive) => {\n if (refVideo.current) {\n if (_isActive) {\n // find visible and active parent element of this slide;\n let el = findParentByMatchedQuery(ref.current, 'slick-slide');\n if (el.classList && !el.classList.contains('slick-cloned')) {\n refVideo.current.playVideo();\n }\n } else {\n refVideo.current.pauseVideo()\n }\n }\n }\n\n useEffect(() => {\n toggleVideo(isActive);\n }, [isActive]);\n\n const onVideoReady = e => {\n refVideo.current = e.target;\n toggleVideo(isActive);\n }\n\n return \n\n {videoId && }\n {subtitle && }\n {bgImage && }\n {content && \n {content}\n }\n\n\n \n}","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Box, Flex } from '../Box';\nimport { MotionFlex } from '../Animation';\nimport { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { Input } from '../Form';\nimport { DirectionManagerContext, getVariant } from '../../core';\n\nconst SearchOverlayTop = ({ closeIcon, topContent, variant, onClose }) => \n\n {topContent ? topContent :\n \n }\n\n\n\nconst SearchOverlayForm = ({ onSubmit, inputRef, inputPlaceholder, variant, onClickSearchIcon, inputTitle }) => \n\n \n\n\n\n\nconst SearchOverlayInfo = ({ searchInfo, variant }) => \n {searchInfo}\n\n\nconst SearchOverlayContainer = ({\n children,\n open = false,\n onClose,\n onSubmit,\n inputTitle = \"Veuillez tapez quelques chose\",\n inputPlaceholder = \"Que recherchez-vous ?\",\n searchInfo = \"Appuyer sur la touche \\\"Entrée\\\" du clavier pour lancer la recherche\",\n topContent = null,\n closeIcon = null,\n variant = \"searchOverlay\",\n\n ...rest }) => {\n\n const dir = React.useContext(DirectionManagerContext);\n const motionVariants = {\n visible: { opacity: 1 },\n hidden: { opacity: 0 }\n }\n\n const inputRef = React.createRef();\n\n React.useEffect(() => {\n if (open) {\n inputRef.current.value = '';\n }\n });\n\n const handleSubmitForm = (e) => {\n e.preventDefault();\n onSubmit(inputRef.current.value || null)\n }\n\n return \n \n \n \n \n\n \n \n};\n\n\n\nexport const SearchOverlay = ({\n open = false,\n children,\n ...rest\n}) => {\n return ReactDOM.createPortal(,\n document.body\n )\n}","\n/**\n * Design tokens\n * -------------------- \n * Colors\n */\nconst colors = {\n\n black: '#000',\n white: '#fff',\n transparent: 'transparent',\n light: '',\n disabled: '',\n\n text: '#0a1f44',\n\n primary100: '#f2f6ff',\n primary200: '#d9e4ff',\n primary300: '#a6c1ff',\n primary400: '#598bff',\n primary500: '#3366ff',\n primary600: '#274bdb',\n primary700: '#1a34b8',\n primary800: '#102694',\n primary900: '#091c7a',\n\n black100: '#707d91',\n black200: '#626f88',\n black300: '#596680',\n black400: '#4e5c78',\n black500: '#455571',\n black600: '#374766',\n black700: '#293a5b',\n black800: '#13284b',\n black900: '#0a1f44',\n\n gray100: '#f7f8f9',\n gray200: '#f7f8f9',\n gray300: '#f1f2f4',\n gray400: '#e1e4e8',\n gray500: '#c9ced6',\n gray600: '#afb7c3',\n gray700: '#a6aebb',\n gray800: '#98a1b1',\n gray900: '#8a94a6',\n\n success100: '#f0fff5',\n success200: '#ccfce3',\n success300: '#8cfac7',\n success400: '#2ce69b',\n success500: '#00d68f',\n success600: '#00b887',\n success700: '#00997a',\n success800: '#007d6c',\n success900: '#004a45',\n\n info100: '#f2f8ff',\n info200: '#c7e2ff',\n info300: '#94cbff',\n info400: '#42aaff',\n info500: '#0095ff',\n info600: '#006fd6',\n info700: '#0057c2',\n info800: '#0041a8',\n info900: '#002885',\n\n warning100: '#fffdf2',\n warning200: '#fff1c2',\n warning300: '#ffe59e',\n warning400: '#ffc94d',\n warning500: '#ffaa00',\n warning600: '#db8b00',\n warning700: '#b86e00',\n warning800: '#945400',\n warning900: '#703c00',\n\n danger100: '#fff2f2',\n danger200: '#ffd6d9',\n danger300: '#ffa8b4',\n danger400: '#ff708d',\n danger500: '#ff3d71',\n danger600: '#db2c66',\n danger700: '#b81d5b',\n danger800: '#94124e',\n danger900: '#700940',\n\n btnPrimary: '#3366ff',\n\n backgroundBasic100: '#fff',\n backgroundBasic200: '#f7f8f9',\n\n textBasic500: '#30435c',\n textBasic900: '#30435c',\n \n skeletonBackground: 'rgba(0, 0, 0, 0.08)',\n\n modes: {\n dark: {\n text: 'warning400',\n background: '#0a1f44',\n btnPrimary: '#ff3d71',\n\n backgroundBasic100: '#000',\n backgroundBasic200: '#303030',\n\n skeletonBackground: 'rgba(255, 255, 255, 0.25)',\n textBasic500: '#fff',\n textBasic900: '#fff',\n \n }\n }\n\n\n};\n\nconst defaultColorVariants = {\n primary : colors.primary500,\n black : colors.black500,\n gray : colors.gray500,\n success : colors.success500,\n info : colors.info500,\n warning : colors.warning500,\n danger : colors.danger500\n}\n\nexport default {...colors, ...defaultColorVariants};","\n/**\n * Design tokens\n * -------------------- \n * Breakpoints\n */\n\nconst breakpoints = [\n '576px', \n '768px', \n '992px', \n '1200px'\n];\n\nbreakpoints.xs = '0px';\nbreakpoints.sm = '576px'; \nbreakpoints.md = '768px';\nbreakpoints.lg = '992px'; \nbreakpoints.xl = '1200px';\n\nexport default breakpoints;\n\nexport const gridSystem = {\n gridSize: 12,\n gutterWidth: 16,\n outerMargin: 8,\n container: {\n sm: '540px', \n md: '720px', \n lg: '960px', \n xl: '1140px',\n }\n}","\n/**\n * Design tokens\n * -------------------- \n * Spacing\n */\nconst space = {\n none : '0px',\n xxxsmall : '2px',\n xxsmall : '4px',\n xsmall : '8px',\n small : '12px',\n medium : '16px',\n large : '24px',\n xlarge : '32px',\n xxlarge : '40px',\n xxxlarge : '64px',\n};\n\nexport default space;","\n/**\n * Design tokens\n * -------------------- \n * Colors\n */\n\n const shadows = {\n 0: '0 1px 1px 0 rgba(8, 11, 14, 0.1)',\n 1: '0 3px 3px -1px rgba(8, 11, 14, 0.1)',\n 2: '0 6px 6px -1px rgba(8, 11, 14, 0.1)',\n 3: '0 16px 16px -1px rgba(8, 11, 14, 0.1)',\n 4: '0 32px 40px -1px rgba(8, 11, 14, 0.1)',\n };\n\n export default shadows;","\n\n/**\n * Design tokens\n * -------------------- \n * Spacing\n */\nconst sizes = {\n xxxsmall: '2px',\n xxsmall: '4px',\n xsmall: '8px',\n small: '12px',\n medium: '16px',\n large: '24px',\n xlarge: '32px',\n xxlarge: '64px',\n xxxlarge: '128px',\n};\n\nexport default sizes;","\n\n/**\n * Design tokens\n * -------------------- \n * FontFamily\n */\n\n const fonts = {\n sans: 'Roboto, sans-serif',\n serif: '\\'Roboto Slab\\', serif',\n monospace: '\\'Roboto Mono\\', monospace',\n montserrat: \"'Montserrat', sans-serif\"\n };\n\n export default fonts;","\n\n/**\n * Design tokens\n * -------------------- \n * Font Weights\n */\n\nconst fontWeights = {\n thin : 100,\n extraLight : 200,\n light : 300,\n regular : 400,\n medium : 500,\n semiBold : 600,\n bold : 700,\n extraBold : 800,\n black : 900,\n };\n\n export default fontWeights;","\n/**\n * Design tokens\n * -------------------- \n * Font Sizes\n */\n\nconst fontSizes = {\n tiny : '10px',\n caption : '12px',\n body : '14px',\n paragraph : '16px',\n subheader : '17px',\n title : '22px',\n heading6 : '16px',\n heading5 : '20px',\n heading4 : '24px',\n heading3 : '28px',\n heading2 : '40px',\n heading1 : '48px',\n heading1x : '74px',\n };\n\n export default fontSizes;","\n/**\n * Design tokens\n * -------------------- \n * Line Heights\n */\n\nconst lineHeights = {\n tiny : '17px',\n caption : '20px',\n body : '24px',\n paragraph : '26px',\n subheader : '30px',\n title : '32px',\n heading6 : '26px',\n heading5 : '32px',\n heading4 : '38px',\n heading3 : '44px',\n heading2 : '62px',\n heading1 : '62px',\n };\n\n export default lineHeights;","import colors from './colors';\n\n\n/**\n * Design tokens\n * -------------------- \n * Border\n */\nconst borders = {\n primary : `1px solid ${colors.primary500}`,\n success : `1px solid ${colors.success500}`,\n danger : `1px solid ${colors.danger500}`,\n info : `1px solid ${colors.info500}`,\n warning : `1px solid ${colors.warning500}`,\n black : `1px solid ${colors.black500}`,\n gray : `1px solid ${colors.gray500}`,\n};\n\n\nexport const radii = {\n none : '0px',\n xsmall : '2px',\n small : '4px',\n medium : '6px',\n large : '8px',\n xlarge : '12px',\n rounded : '1000rem' \n};\n\n\nexport const borderWidths = {\n none : 'Opx',\n xsmall : '1px',\n small : '2px',\n medium : '4px',\n large : '8px'\n};\n\nexport const borderStyles = {\n \n};\n\nexport default borders;","\n\nconst buttons = {\n fill: {\n primary: {\n backgroundColor: 'primary500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'primary600',\n color: 'white',\n borderColor: 'primary600',\n },\n ':disabled': {\n backgroundColor: 'primary100',\n color: 'primary300',\n borderColor: 'primary200',\n }\n },\n danger : {\n backgroundColor: 'danger500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'danger600',\n color: 'white',\n borderColor: 'danger600',\n },\n ':disabled': {\n backgroundColor: 'danger100',\n color: 'danger300',\n borderColor: 'danger200',\n }\n },\n success : {\n backgroundColor: 'success500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'success600',\n color: 'white',\n borderColor: 'success600',\n },\n ':disabled': {\n backgroundColor: 'success100',\n color: 'success300',\n borderColor: 'success200',\n }\n },\n info : {\n backgroundColor: 'info500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'info600',\n color: 'white',\n borderColor: 'info600',\n },\n ':disabled': {\n backgroundColor: 'info100',\n color: 'info300',\n borderColor: 'info200',\n }\n },\n warning : {\n backgroundColor: 'warning500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'warning600',\n color: 'white',\n borderColor: 'warning600',\n },\n ':disabled': {\n backgroundColor: 'warning100',\n color: 'warning300',\n borderColor: 'warning200',\n }\n }\n },\n size: {\n small: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '14px',\n lineHeight: '20px'\n\n },\n medium: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '16px',\n lineHeight: '24px'\n },\n large: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '22px',\n lineHeight: '28px',\n\n }\n },\n\n outline: {\n primary: {\n border: 'primary',\n color: 'primary500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'primary500',\n color: 'white',\n borderColor: 'primary500',\n },\n },\n danger: {\n border: 'danger',\n color: 'danger500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'danger500',\n color: 'white',\n borderColor: 'danger500',\n },\n },\n success: {\n border: 'success',\n color: 'success500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'success500',\n color: 'white',\n borderColor: 'success500',\n },\n },\n warning: {\n border: 'warning',\n color: 'warning500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'warning500',\n color: 'white',\n borderColor: 'warning500',\n },\n },\n info: {\n border: 'info',\n color: 'info500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'info500',\n color: 'white',\n borderColor: 'info500',\n },\n },\n }\n \n};\n\n\nexport default buttons;","\n\nconst anchors = {\n variants: {\n primary: {\n color: 'primary500',\n textDecoration: 'none',\n '&:hover': {\n color: 'primary600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'gray300',\n }\n },\n danger : {\n color: 'danger500',\n textDecoration: 'none',\n '&:hover': {\n color: 'danger600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'danger300',\n }\n },\n success : {\n color: 'success500',\n textDecoration: 'none',\n '&:hover': {\n color: 'success600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'success300',\n }\n },\n info : {\n color: 'info500',\n textDecoration: 'none',\n '&:hover': {\n color: 'info600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'info300',\n }\n },\n warning : {\n color: 'warning500',\n textDecoration: 'none',\n '&:hover': {\n color: 'warning600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'warning300',\n }\n }\n },\n};\n\n\nexport default anchors;","import colors from \"../constants/colors\";\n\n\n\n\nconst inputs = {\n\n iconContainer: {\n width: '30px'\n },\n variants: {\n default: {\n color: 'black800',\n borderColor: 'gray500',\n borderWidth: '1px',\n borderRadius: 'small',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: 'primary600',\n boxShadow: `0 0 0 2px ${colors.primary600}`\n },\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n },\n dam: {\n color: '#707070',\n borderColor: '#dfdfdf',\n borderWidth: '1px',\n borderRadius: 'rounded',\n lineHeight: '30px',\n fontSize: '16px',\n width: '100%',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: '#dfdfdf',\n boxShadow: 'none'\n },\n\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n },\n awb: {\n color: '#000',\n border: '2px solid #f5c000',\n backgroundColor: '#fff',\n fontWeight: 700,\n borderRadius: 'none',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075)',\n transition: 'border-color ease-in-out .15s,box-shadow ease-in-out .15s',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: '#f5c001',\n outline: '0',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(245,192,1,.6)'\n },\n\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n }\n },\n status: {\n primary: {\n borderColor: 'primary500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.primary200}`\n },\n ':focus': {\n borderColor: 'primary600',\n boxShadow: `0 0 0 3px ${colors.primary200}`\n }\n },\n danger : {\n borderColor: 'danger500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.danger200}`\n },\n ':focus': {\n borderColor: 'danger600',\n boxShadow: `0 0 0 3px ${colors.danger200}`\n }\n },\n success : {\n borderColor: 'success500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.success200}`\n },\n ':focus': {\n borderColor: 'success600',\n boxShadow: `0 0 0 3px ${colors.success200}`\n }\n },\n info : {\n borderColor: 'info500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.info200}`\n },\n ':focus': {\n borderColor: 'info600',\n boxShadow: `0 0 0 3px ${colors.info200}`\n }\n },\n warning : {\n borderColor: 'warning500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.warning200}`\n },\n ':focus': {\n borderColor: 'warning600',\n boxShadow: `0 0 0 3px ${colors.warning200}`\n }\n }\n },\n\n sizes: {\n small: {\n paddingY: 'xxsmall',\n paddingX: 'xsmall',\n fontSize: '14px',\n lineHeight: '20px'\n\n },\n medium: {\n paddingY: 'xsmall',\n paddingX: 'xsmall',\n fontSize: '16px',\n lineHeight: '24px'\n },\n large: {\n paddingY: 'small',\n paddingX: 'small',\n fontSize: '18px',\n lineHeight: '26px'\n },\n dam: {\n \n paddingX: '14px',\n fontSize: '16px',\n lineHeight: '30px',\n },\n awb: {\n padding: '7px 25px',\n fontSize: '18px',\n lineHeight: '1.33337',\n fontWeight: 700,\n height: '60px',\n width: '100%'\n }\n }\n};\n\n\nexport default inputs;","\nconst labels = {\n variants: {\n default: {\n color: 'gray500',\n fontSize: '14px',\n lineHeight: '24px',\n fontWeight: 400,\n },\n dam: {\n color: '#707070',\n fontSize: '16px',\n lineHeight: '27px',\n fontWeight: 400,\n },\n awb: {\n color: '#000000',\n fontSize: '20px',\n lineHeight: '2.7rem',\n fontWeight: 300,\n margin: '0 0 10px 0'\n }\n },\n};\n\n\nexport default labels;","\n\nconst radio = {\n\n primary: {\n color: 'gray300',\n 'input:checked ~ &': {\n color: 'primary500',\n },\n },\n\n danger: {\n color: 'danger300',\n 'input:checked ~ &': {\n color: 'danger500',\n },\n }\n \n};\n\nexport default radio;\n\n","\n\nconst checkbox = {\n\n primary: {\n color: 'gray300',\n 'input:checked ~ &': {\n color: 'primary500',\n },\n },\n\n danger: {\n color: 'danger300',\n 'input:checked ~ &': {\n color: 'danger500',\n },\n }\n \n};\n\nexport default checkbox;\n\n","\n\nconst select = {\n\n // uncomment to override defaults\n // states: {\n // danger: {},\n // success: {},\n // }\n \n};\n\nexport default select;\n","export const layer = {\n responsiveBreakpoint: 'md',\n zIndex: 1000,\n\n backgroundColor: 'primary200',\n\n container: {\n zIndex: 1001,\n },\n overlay: {\n backgroundColor: 'gray700',\n opacity: 0.5,\n },\n default: {\n }\n};","\n\nconst tabs = {\n\n header: {\n },\n tab: {\n },\n activeTab: {\n },\n content: {\n },\n\n\n cardType: {\n border: 0,\n header: {\n backgroundColor:'transparent',\n borderBottom: '1px solid',\n borderColor: 'gray400',\n },\n tab: {\n border: '1px solid',\n borderColor: 'gray400',\n borderRadius: \"4px\",\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n marginBottom: '-1px',\n mx:'3px',\n '&:not(first-of-type)': {\n marginLeft: '0'\n },\n },\n activeTab: {\n border: '1px solid',\n borderColor: 'gray400',\n borderBottom: 0, \n backgroundColor: 'white',\n borderRadius: \"4px\",\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n marginBottom: '-1px',\n mx:'3px',\n '&:not(first-of-type)': {\n marginLeft: '0'\n },\n },\n content: {\n py: 'large',\n px: 'small',\n border: '1px solid',\n borderColor: 'gray400',\n borderTop: 0, \n },\n },\n\n cardContainerType: {\n border: 0,\n header: {\n backgroundColor:'transparent',\n },\n tab: {\n \n backgroundColor:'transparent',\n mx:'-1px',\n marginBottom: '-1px',\n },\n activeTab: {\n backgroundColor: 'white',\n marginBottom: '-1px',\n },\n content: {\n py: 'large',\n px: 'small',\n backgroundColor: 'white'\n },\n }\n \n};\n\nexport default tabs;\n","\n\nconst accordion = {\n \n\n\n panel: {\n borderColor: 'gray400'\n },\n\n header: {\n backgroundColor: 'gray100',\n borderColor: 'gray400',\n p: ['medium', null, 'large']\n },\n\n primary: {\n panel: {\n borderColor: 'primary900',\n borderWidth: '3px'\n },\n },\n\n danger: {\n margin: 0,\n panel: {\n borderColor: 'danger500',\n borderWidth: '3px'\n },\n header: {\n borderColor: 'danger500',\n p: ['medium', null, 'large']\n },\n\n primary: {\n panel: {\n borderColor: 'danger500',\n borderWidth: '3px'\n },\n },\n }\n};\n\nexport default accordion;\n","\n\nconst breadcrumb = {\n\n saber: {\n backgroundColor: 'transparent',\n padding: 'small',\n fontFamily: 'montserrat',\n fontSize: '16px',\n\n item: {\n color: 'primary900',\n active: {\n color: 'primary500'\n }\n },\n\n separator: {\n\n },\n\n '& .vf-breadcrumb__item': {\n\n },\n '& vf-breadcrumb__item.vf-breadcrumb__item--active': {\n ':hover': {\n }\n },\n },\n\n};\n\nexport default breadcrumb;\n","\n\n\nconst navs = {\n\n\n nav: {\n\n },\n activeNav: {\n\n },\n\n // variants\n capitalazur: {\n padding: '0px',\n fontFamily: 'montserrat',\n backgroundColor: 'white',\n boxShadow: 1,\n py: 'large',\n alignItems: 'start',\n nav: {\n padding: '0px',\n fontSize: '14px',\n fontWeight: 500,\n color: '#000000',\n textTransform: 'uppercase',\n px: '16px',\n py: ['16px', '0'],\n borderWidth: ['0', '2px'],\n borderStyle: 'solid',\n borderColor: 'gray500',\n borderTop: '0px',\n borderBottom: '0px',\n\n\n '&:first-of-type' : {\n border: '0px',\n },\n '&:last-of-type' : {\n border: '0px',\n },\n ':hover': {\n color: '#017CFE'\n }\n\n },\n activeNav: {\n padding: '0px',\n color: '#017CFE',\n px: '16px',\n py: ['16px', '0'],\n fontWeight: 600,\n ':hover': {\n color: '#017CFE'\n }\n },\n }\n\n};\n\nexport default navs;\n","\n// @todo: thinking if we can add value in object fontSizes/lineHeights for paragraphMobile, heading1Mobile heading2Mobile...\nexport const heading = {\n default: {\n color: 'black500',\n h1: {\n fontSize: [\"28px\", null, \"50px\", 'heading1', 'heading1'],\n lineHeight: ['28px', \"37px\", \"heading1\"],\n marginBottom: ['15px', null, '20px'],\n },\n h2: {\n fontSize: [\"22px\", null, \"heading2\"],\n lineHeight: ['27px', null, \"heading2\"],\n marginBottom: ['15px', null, '20px'],\n },\n h3: {\n fontSize: [\"18px\", null, \"heading3\"],\n lineHeight: ['27px', null, \"heading3\"],\n marginBottom: ['15px', null, '20px'],\n },\n h4: {\n fontSize: [\"18px\", null, \"heading4\"],\n lineHeight: ['21px', null, \"heading4\"],\n marginBottom: ['15px', null, '20px'],\n },\n h5: {\n fontSize: [\"16px\", null, \"heading5\"],\n lineHeight: ['19px', null, \"heading5\"],\n marginBottom: ['15px', null, '20px'],\n },\n h6: {\n fontSize: [\"16px\", null, \"heading6\"],\n lineHeight: ['20px', null, \"heading6\"],\n marginBottom: ['15px', null, '20px'],\n },\n },\n};\n\n\nexport const paragraph = {\n default: {\n fontSize: ['15px', null, 'paragraph'],\n lineHeight: 'paragraph',\n marginBottom: 'xsmall',\n },\n}\n\n\n\n\n\n","\n\nexport const searchOverlay = {\n\n default : {\n\n wrapper : {\n\n },\n top: {\n closeBtn: {\n \n }\n },\n form: {\n wrapper: {\n\n },\n input: {\n\n },\n searchBtn: {\n\n }\n },\n info: {\n\n },\n \n '&.vf-search-overlay--open' : {\n\n },\n\n '&.vf-search-overlay--close' : {\n\n },\n\n '& .vf-search-overlay__content-wrapper' : {\n \n }\n\n }\n\n}","\nimport colors from './constants/colors';\nimport breakpoints, {gridSystem} from './constants/breakpoints';\nimport space from './constants/space';\nimport shadows from './constants/shadows';\nimport sizes from './constants/sizes';\nimport fonts from './constants/fonts';\nimport fontWeights from './constants/fontWeights';\nimport fontSizes from './constants/fontSizes';\nimport lineHeights from './constants/lineHeights';\nimport borders, {radii, borderWidths, borderStyles} from './constants/borders';\n\nimport buttons from './components/buttons';\nimport anchors from './components/anchors';\nimport inputs from './components/inputs';\n\nimport labels from './components/labels';\nimport radio from './components/radio';\nimport checkbox from './components/checkbox';\nimport select from './components/select';\nimport {layer} from './components/layer';\nimport tabs from './components/tabs';\nimport accordion from './components/accordion';\nimport breadcrumb from './components/breadcrumb';\nimport navs from './components/navs';\nimport {heading, paragraph} from './components/text';\nimport {searchOverlay} from './components/search-overlay';\n\nconst baseTheme = {\n colors,\n breakpoints,\n space,\n shadows,\n fonts,\n fontWeights,\n fontSizes,\n lineHeights,\n sizes,\n borders,\n radii,\n borderWidths,\n borderStyles,\n gridSystem,\n}\n\nconst componentsTheme = {\n buttons,\n anchors,\n inputs,\n labels,\n radio,\n checkbox,\n select,\n layer,\n tabs,\n accordion,\n breadcrumb,\n navs,\n heading,\n paragraph,\n searchOverlay,\n\n}\n\n\nexport const theme = {\n \n ...baseTheme,\n ...componentsTheme,\n};"],"names":["AccordionContext","createContext","VactoryThemeContext","React","colorMode","setColorMode","useVactoryTheme","useContext","STORAGE_KEY","storage","get","init","window","localStorage","getItem","e","console","warn","set","value","setItem","getColorsByMode","theme","mode","themeColors","colors","modes","deepmerge","all","useColorModeState","stored","useState","setMode","useEffect","useColorMode","Error","ColorModeProvider","children","styledComponentTheme","ThemeContext","context","DirectionManagerContext","DirectionManager","dir","stylisRTLPlugin","classnames","args","join","getClassName","el","props","className","StyledChildren","styledChildren","Children","toArray","map","child","cloneElement","Space","styled","space","DEFAULT_BREAKPOINTS","xs","sm","md","lg","xl","getSizeFromBreakpoint","breakpointValue","breakpoints","parseInt","error","lessThan","breakpoint","css","greaterThan","between","firstBreakpoint","secondBreakpoint","generateMedia","PRE","RegExp","systemProps","_getProps","test","next","key","MRE","margin","propNames","getMarginProps","k","omitMarginProps","getSystemProps","SizePropsRegExp","size","omitSizeProps","getSizeProps","LayoutPropsRegExp","layout","omitLayoutProps","getLayoutProps","SpacePRopsRegExp","omitSpaceProps","getSpaceProps","omitProps","propsToOmit","exp","getProps","propsToGet","sx","base","__css","variant","variantReducer","accumulator","currentValue","getVariant","reduce","findParentByMatchedQuery","element","offsetParent","parentNode","classList","contains","undefined","findVisibleParent","parentElement","getNewContainer","rootNode","document","body","container","createElement","appendChild","getBodyChildElements","excludeMatch","forEach","call","node","tagName","push","TABINDEX","TABINDEX_STATE","makeNodeFocusable","hasAttribute","setAttribute","elements","getElementsByTagName","Array","prototype","filter","prior","getAttribute","removeAttribute","autoFocusingTags","makeNodeUnfocusable","currentTag","toLowerCase","match","focus","isNotAncestorOf","parent","setFocusWithoutScroll","x","scrollX","y","scrollY","scrollTo","findScrollParents","horizontal","result","getBoundingClientRect","rect","width","scrollWidth","height","scrollHeight","length","parseMetricToNum","fontAsString","process","env","NODE_ENV","parseFloat","IntersectionContext","inView","IntersectionObserver","threshold","reset","setInView","intersectionRef","useRef","intersection","useIntersection","inViewNow","intersectionRatio","useIsomorphicLayoutEffect","useLayoutEffect","isBrowser","getScrollPosition","useWindow","target","current","position","left","top","useScrollPosition","effect","deps","wait","throttleTimeout","callBack","currPos","prevPos","handleScroll","setTimeout","addEventListener","removeEventListener","defaultProps","getClosestValue","val","arr","index","sort","a","b","findIndex","useMediaLessThan","useMedia","useMediaGreaterThan","useMediaBetween","bp1","bp2","bp","mediaQuery","doesMatch","onSetDoesMatch","breakpointsKeys","Object","keys","_bp","isNaN","_query","includes","sortedBreakpointsValues","stripUnit","maxWidth","onUpdateMatch","matches","matcher","matchMedia","isModern","addListener","removeListener","BoxWithoutConfig","boxSizing","minWidth","styledCss","compose","color","flexbox","border","typography","boxShadow","Box","withConfig","shouldForwardProp","prop","defaultValidatorFn","WithoutConfig","Flex","display","activeAsArray","active","Accordion","forwardRef","ref","activeIndex","multiple","onChange","rest","activeIndexes","setActiveIndexes","stateActiveIndex","setStateActiveIndex","derivedActiveIndexes","onPanelChange","nextActiveIndexes","nextActiveIndex","indexOf","splice","panels","panelKey","MotionBox","motion","custom","MotionFlex","ParallaxBox","as","easing","elementTop","setElementTop","useViewportScroll","setValues","offsetTop","transformInitialValue","transformFinalValue","yRange","useTransform","clamp","defaultHidden","opacity","defaultVisible","RevealBox","delayOrder","duration","hidden","visible","transition","useMemo","delay","ease","variants","show","PanelHeaderBaseStyle","alignItems","flexDirection","justifyContent","borderBottom","borderColor","marginBottom","backgroundColor","py","px","AccordionPanel","header","title","animationTransition","variantAccordion","motionVariantsContent","inactive","transitionEnd","padding","outline","cursor","overflow","Anchor","fontSize","lineHeight","textDecoration","renderBreadcrumbItems","separator","childrenCount","count","isLastItem","Fragment","Breadcrumb","items","BreadcrumbItem","href","fillVariants","StyledVariant","scale","primary","sizeVariants","medium","outlineVariants","Button","borderRadius","stretch","right","bottom","zIndex","pointerEvents","content","buttonStyle","background","shadow","fill","Link","PortalContext","ContainerTargetContext","getTransformOriginStyle","align","vertical","DropContent","alignProp","transformOrigin","DropContainer","dropTarget","onClickOutside","plain","responsive","restrictFocus","portalContext","portalId","nextPortalContext","dropRef","place","preserveHeight","windowWidth","innerWidth","windowHeight","innerHeight","style","maxHeight","targetRect","containerRect","Math","min","max","percentVisibleAreaBelow","drop","scrollParents","addScrollListeners","scrollParent","removeScrollListeners","onClickDocument","event","clickedPortalId","attr","onResize","Drop","originalFocusedElement","setOriginalFocusedElement","activeElement","dropContainer","setDropContainer","containerTarget","removeChild","ReactDOM","createPortal","Footer","minHeight","VactoryIconContext","iconSet","VactoryIconProvider","Provider","VactoryIconConsumer","Consumer","useVactoryIcon","mergeIcons","source","icons","concat","WrapperIcon","Icon","attrs","removeInlineStyle","icon","name","SVG","CheckboxChecked","CheckboxUnchecked","CheckboxIcon","iconName","checkedIconName","uncheckedIconName","Checkbox","mr","bg","variantVariants","variantStatus","variantSizes","StyledInput","type","Input","reverse","Label","RadioProps","RadioChecked","RadioUnchecked","RadioIcon","Radio","DownArrow","SelectIcon","ml","alignSelf","StyledSelectBox","t","danger","success","info","Select","options","selectRef","p","appearance","pr","entries","i","option","Option","GlobalStyle","createGlobalStyle","fonts","sans","fontSizes","DEFAULT_CONFIG","gridSize","gutterWidth","outerMargin","THEME_CONF","configCache","generateConfigCacheId","JSON","stringify","resolveConfig","themeConf","conf","getConfig","cacheId","sortBreakpointProps","propsArr","breakpointNames","_prop","sortedBreakpoints","valueBp1","valueBp2","getGridSize","getGutterWidth","getOuterMargin","getContainer","generateMediaforContainer","breakpointsName","fluid","StyledContainer","div","Container","StyledRow","Row","generateMediaForCol","StyledCol","Col","Header","fixed","sticky","stickyOptions","fixedStyle","Wrapper","Headroom","Image","Navs","navs","nav","Nav","PaginationPageButton","mx","textAlign","PaginationPrevNextButton","PaginationJumpButton","itemRender","Pagination","flexWrap","RCPagination","frFR","Tab","isActive","onClickTab","handleOnClickTab","preventDefault","Tabs","propsActiveKey","activeTab","showBar","onTabClick","onNextClick","onPrevClick","activeKey","setActiveKey","tabRefs","headerAnimationCtrls","useAnimation","inkBarAnimationCtrls","headerTabRef","animateInkBar","currentTabBCR","headerTabBCR","start","handleClickTab","onActive","activeContent","tabs","tab","tabProps","isTabActive","tabKey","m","flexGrow","Text","fontWeight","Paragraph","Heading","withTheme","level","variantName","themeGet","List_","ordered","listStyle","List","Item_","Item","StyledLayer","responsiveBreakpoint","mediaStyle","hidenStyle","boundsStyle","targetBounds","StyledOverlay","getMargin","axis","marginValue","marginApplied","marginInTheme","getBounds","bounds","end","KEYFRAMES","center","keyframes","animationDuration","getAnimationStyle","full","animation","animate","POSITIONS","modal","FocusedContainer","restrictScroll","bodyOverflowStyle","setBodyOverflowStyle","removeTrap","trapFocus","timer","clearTimeout","HiddenAnchor","fullBounds","LayerContainer","id","onEsc","layerTarget","setTargetBounds","anchorRef","containerRef","layerRef","scrollIntoView","updateBounds","Layer","layerContainer","setLayerContainer","activeAnimation","layerClone","cloneNode","clonedContainer","querySelector","animationDirection","clone","getElementById","remove","displayName","SliderWrapper","Arrow","transform","PrevArrow","NextArrow","appendDots","dots","textIndent","visibility","Slider","SlickSlider","SlideSubtitle","subtitle","SlideIamge","imageSrc","objectFit","SlideVideo","videoId","opt","playerVars","autoplay","loop","Slide","bgImage","refVideo","toggleVideo","_isActive","playVideo","pauseVideo","onVideoReady","SearchOverlayTop","closeIcon","topContent","onClose","marginLeft","SearchOverlayForm","onSubmit","inputRef","inputPlaceholder","onClickSearchIcon","inputTitle","backgroud","SearchOverlayInfo","searchInfo","SearchOverlayContainer","open","motionVariants","createRef","handleSubmitForm","SearchOverlay","black","white","transparent","light","disabled","text","primary100","primary200","primary300","primary400","primary500","primary600","primary700","primary800","primary900","black100","black200","black300","black400","black500","black600","black700","black800","black900","gray100","gray200","gray300","gray400","gray500","gray600","gray700","gray800","gray900","success100","success200","success300","success400","success500","success600","success700","success800","success900","info100","info200","info300","info400","info500","info600","info700","info800","info900","warning100","warning200","warning300","warning400","warning500","warning600","warning700","warning800","warning900","danger100","danger200","danger300","danger400","danger500","danger600","danger700","danger800","danger900","btnPrimary","backgroundBasic100","backgroundBasic200","textBasic500","textBasic900","skeletonBackground","dark","defaultColorVariants","gray","warning","gridSystem","none","xxxsmall","xxsmall","xsmall","small","large","xlarge","xxlarge","xxxlarge","shadows","sizes","serif","monospace","montserrat","fontWeights","thin","extraLight","regular","semiBold","bold","extraBold","tiny","caption","paragraph","subheader","heading6","heading5","heading4","heading3","heading2","heading1","heading1x","lineHeights","borders","radii","rounded","borderWidths","borderStyles","buttons","borderWidth","paddingTop","paddingBottom","paddingLeft","paddingRight","anchors","inputs","iconContainer","dam","awb","status","paddingY","paddingX","labels","radio","checkbox","select","layer","overlay","cardType","borderBottomLeftRadius","borderBottomRightRadius","borderTop","cardContainerType","accordion","panel","breadcrumb","saber","fontFamily","item","activeNav","capitalazur","textTransform","borderStyle","heading","h1","h2","h3","h4","h5","h6","searchOverlay","wrapper","closeBtn","form","input","searchBtn","baseTheme","componentsTheme"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.modern.js","sources":["../src/components/Accordion/AccordionContext.js","../src/core/context/index.js","../src/core/color-modes/index.js","../src/core/dir-manager/index.js","../src/core/space/index.js","../src/core/styled-media/index.js","../src/core/utils/system.js","../src/core/utils/dom.js","../src/core/intersection-observer/index.js","../src/core/hook/use-scroll.js","../node_modules/polished/dist/polished.esm.js","../src/core/match-media/match-media.js","../src/components/Box/Box.js","../src/components/Accordion/Accordion.js","../src/components/Animation/MotionBox.js","../src/components/Animation/ParallaxBox.js","../src/components/Animation/RevealBox.js","../src/components/Accordion/AccordionPanel.js","../src/components/Anchor/Anchor.js","../src/components/Breadcrumb/Breadcrumb.js","../src/components/Breadcrumb/BreadcrumbItem.js","../src/components/Button/Button.js","../src/components/Button/Link.js","../src/components/Drop/Drop.js","../src/components/Footer/Footer.js","../src/components/Icon/context/index.js","../src/components/Icon/Icon.js","../src/components/Form/Checkbox.js","../src/components/Form/Input.js","../src/components/Form/Label.js","../src/components/Form/Radio.js","../src/components/Form/Select.js","../src/components/GlobalStyle/index.js","../src/components/Grid/config.js","../src/components/Grid/helpers.js","../src/components/Grid/Container/Container.js","../src/components/Grid/Row/Row.js","../src/components/Grid/Col/Col.js","../src/components/Header/Header.js","../src/components/Image/Image.js","../src/components/Navs/Navs.js","../src/components/Navs/Nav.js","../src/components/Pagination/Pagination.js","../src/components/Tabs/Tab.js","../src/components/Tabs/Tabs.js","../src/components/Typography/Text.js","../src/components/List/List.js","../src/components/List/Item.js","../src/components/Layer/StyledLayer.js","../src/components/Layer/FocusedContainer.js","../src/components/Layer/LayerContainer.js","../src/components/Layer/Layer.js","../src/components/Slider/Slider.js","../src/components/Slider/Slide.js","../src/components/Search/Search.js","../src/theme/constants/colors.js","../src/theme/constants/breakpoints.js","../src/theme/constants/space.js","../src/theme/constants/shadows.js","../src/theme/constants/sizes.js","../src/theme/constants/fonts.js","../src/theme/constants/fontWeights.js","../src/theme/constants/fontSizes.js","../src/theme/constants/lineHeights.js","../src/theme/constants/borders.js","../src/theme/components/buttons.js","../src/theme/components/anchors.js","../src/theme/components/inputs.js","../src/theme/components/labels.js","../src/theme/components/radio.js","../src/theme/components/checkbox.js","../src/theme/components/select.js","../src/theme/components/layer.js","../src/theme/components/tabs.js","../src/theme/components/accordion.js","../src/theme/components/breadcrumb.js","../src/theme/components/navs.js","../src/theme/components/text.js","../src/theme/components/search-overlay.js","../src/theme/theme.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport const AccordionContext = createContext({});","import React from 'react';\n\nexport const VactoryThemeContext = React.createContext({\n colorMode: null,\n setColorMode: null,\n});\n\nexport const useVactoryTheme = () => React.useContext(VactoryThemeContext);","import React, { useState, useEffect, useContext } from 'react';\nimport { ThemeContext, ThemeProvider } from 'styled-components';\nimport { get } from 'styled-system';\nimport deepmerge from 'deepmerge';\nimport { useVactoryTheme, VactoryThemeContext } from '../context';\n\n\nconst STORAGE_KEY = 'vactory-ui-color-mode';\n\nconst storage = {\n get: init => {\n try {\n return window.localStorage.getItem(STORAGE_KEY) || init\n } catch (e) {\n console.warn(\n 'localStorage is disabled and color mode might not work as expected.',\n 'Please check your Site Settings.',\n e\n )\n }\n },\n set: value => {\n try {\n window.localStorage.setItem(STORAGE_KEY, value)\n } catch (e) {\n console.warn(\n 'localStorage is disabled and color mode might not work as expected.',\n 'Please check your Site Settings.',\n e\n )\n }\n },\n}\n\nconst getColorsByMode = (theme, mode) => {\n const themeColors = theme.colors || {};\n if (!mode) return themeColors;\n const modes = get(theme, 'colors.modes', {});\n return deepmerge.all([{}, {...theme.colors}, {\n ...get(modes, mode, {}),\n }]);\n}\n\n\nconst useColorModeState = (theme = {}) => {\n\n const stored = storage.get();\n const [mode, setMode] = useState(stored || 'default');\n\n // init state\n // useEffect(() => {\n // const stored = storage.get();\n // if (!stored || stored === mode) return;\n // setMode(stored);\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, [] );\n\n useEffect(() => {\n if (!mode) return\n storage.set(mode)\n }, [mode]);\n\n return [mode, setMode];\n\n}\n\nexport const useColorMode = () => {\n const { colorMode, setColorMode } = useVactoryTheme();\n if (typeof setColorMode !== 'function') {\n throw new Error(`[useColorMode] requires the ColorModeProvider component`)\n }\n\n return [colorMode, setColorMode];\n}\n\n\nexport const ColorModeProvider = ({ children }) => {\n\n const styledComponentTheme = useContext(ThemeContext);\n\n const [colorMode, setColorMode] = useColorModeState(styledComponentTheme);\n\n const colors = getColorsByMode(styledComponentTheme || {}, colorMode);\n const theme = {\n ...styledComponentTheme,\n colors\n };\n const context = {\n colorMode,\n setColorMode,\n }\n\n return (\n \n \n {children}\n \n \n );\n}","import React from 'react';\nimport { StyleSheetManager } from \"styled-components\";\nimport stylisRTLPlugin from 'stylis-plugin-rtl';\n\n\nexport const DirectionManagerContext = React.createContext(\"ltr\");\n\nexport const DirectionManager = ({dir= \"ltr\", children}) => {\n return \n \n {children}
\n \n \n \n} ","import React from 'react';\nimport styled from 'styled-components';\nimport { space } from 'styled-system';\n\n\nconst classnames = (...args) => args.join(' ');\nconst getClassName = el => (el.props && el.props.className) || '';\n\n\nexport const StyledChildren = ({\n className,\n children,\n ...props\n }) => {\n const styledChildren = React.Children.toArray(children)\n .map(child => React.cloneElement(child, {\n className: classnames(getClassName(child), className)\n }))\n return (\n <>\n {styledChildren}\n >\n )\n}\n\nconst Space = styled(StyledChildren)(space);\nexport default Space;","import { css } from \"styled-components\";\nexport const DEFAULT_BREAKPOINTS = {\n xs: '0', \n sm: '500px', \n md: '960px', \n lg: '1280px', \n xl: '1920px'\n};\n\n\nconst getSizeFromBreakpoint = (breakpointValue, breakpoints = {}) => {\n if (breakpoints[breakpointValue]) {\n return breakpoints[breakpointValue];\n } else if (parseInt(breakpointValue)) {\n return breakpointValue;\n } else {\n console.error('No valid breakpoint or size specified for media.');\n return '0';\n }\n}\n\n\nexport const lessThan = (breakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (max-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n}\n\nexport const greaterThan = (breakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (min-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n}\n\nexport const between = (firstBreakpoint, secondBreakpoint) => (...args) => {\n\n return css`\n ${\n props => {\n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n return css`\n @media (min-width: ${getSizeFromBreakpoint(firstBreakpoint, breakpoints)}) and (max-width: ${getSizeFromBreakpoint(secondBreakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `;\n }\n }\n `;\n};\n\nexport const generateMedia = (props) => {\n \n const breakpoints = props ? props.theme.breakpoints : DEFAULT_BREAKPOINTS;\n \n const lessThan = (breakpoint) => (...args) => {\n console.warn(\"[vactory-ui] generateMedia(props).lessThan(\"+breakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot lessThan(\"+breakpoint+\")\");\n return css`\n @media (max-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `};\n \n const greaterThan = (breakpoint) => (...args) => {\n\n console.warn(\"[vactory-ui] generateMedia(props).greaterThan(\"+breakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot greaterThan(\"+breakpoint+\")\");\n return css`\n @media (min-width: ${getSizeFromBreakpoint(breakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `\n };\n \n const between = (firstBreakpoint, secondBreakpoint) => (...args) => {\n console.warn(\"[vactory-ui] generateMedia(props).between(\"+firstBreakpoint+\", \"+secondBreakpoint+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot greaterThan(\"+firstBreakpoint+\", \"+secondBreakpoint+\")\");\n \n return css`\n @media (min-width: ${getSizeFromBreakpoint(firstBreakpoint, breakpoints)}) and\n (max-width: ${getSizeFromBreakpoint(secondBreakpoint, breakpoints)}) {\n ${css(...args)}\n }\n `};\n\n return {\n lessThan,\n greaterThan,\n between,\n };\n}\n\nexport default generateMedia;","\nimport { props as systemProps } from '@styled-system/should-forward-prop';\nimport { size, space, margin, layout } from 'styled-system';\n\nimport css, { get } from '@styled-system/css';\n\n\nconst PRE = new RegExp(`^(${systemProps.join('|')})$`);\n\nconst _getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\n\nconst MRE = new RegExp(`^(${margin.propNames.join('|')})$`);\nexport const getMarginProps = _getProps(k => MRE.test(k));\nexport const omitMarginProps = _getProps(k => !MRE.test(k));\n\nexport const getSystemProps = _getProps(k => PRE.test(k));\n\nconst SizePropsRegExp = new RegExp(`^(${size.propNames.join('|')})$`);\nexport const omitSizeProps = _getProps(k => !SizePropsRegExp.test(k));\nexport const getSizeProps = _getProps(k => SizePropsRegExp.test(k));\n\nconst LayoutPropsRegExp = new RegExp(`^(${layout.propNames.join('|')})$`);\nexport const omitLayoutProps = _getProps(k => !LayoutPropsRegExp.test(k));\nexport const getLayoutProps = _getProps(k => LayoutPropsRegExp.test(k));\n\nconst SpacePRopsRegExp = new RegExp(`^(${space.propNames.join('|')})$`);\nexport const omitSpaceProps = _getProps(k => !SpacePRopsRegExp.test(k));\nexport const getSpaceProps = _getProps(k => SpacePRopsRegExp.test(k));\n\nexport const omitProps = (propsToOmit) => _getProps(k => {\n const exp = new RegExp(`^(${propsToOmit.join('|')})$`);\n return !exp.test(k)\n});\n\nexport const getProps = (propsToGet) => _getProps(k => {\n const exp = new RegExp(`^(${propsToGet.join('|')})$`);\n return !exp.test(k)\n});\n\n\nexport const sx = props => css(props.sx)(props.theme);\nexport const base = props => css(props.__css)(props.theme);\n\nexport const variant = ({\n theme,\n variant,\n}) => css(get(theme, variant))(theme);\n\nexport const variantReducer = (accumulator, currentValue) => currentValue ? accumulator + '.' + currentValue : accumulator;\nexport const getVariant = (variant = []) => {\n if (typeof variant === 'string') {\n return variant\n }\n return variant.reduce(variantReducer)\n}\n","\n\n\n\nexport const findParentByMatchedQuery = (element, className) => {\n\n if(element) {\n const offsetParent = element.parentNode ;\n if( offsetParent && offsetParent.classList && offsetParent.classList.contains(className) ) {\n return offsetParent;\n } else {\n return findParentByMatchedQuery(offsetParent, className);\n }\n }\n\n return undefined;\n} \n\n\nexport const findVisibleParent = element => {\n if (element) {\n return element.offsetParent ? element : findVisibleParent(element.parentElement) || element;\n }\n return undefined;\n };\n\nexport const getNewContainer = (rootNode = document.body) => {\n // setup DOM\n const container = document.createElement('div');\n rootNode.appendChild(container);\n return container;\n};\n\nexport const getBodyChildElements = () => {\n const excludeMatch = /^(script|link)$/i;\n const children = [];\n [].forEach.call(document.body.children, node => {\n if (!excludeMatch.test(node.tagName)) {\n children.push(node);\n }\n });\n return children;\n};\n\nexport const TABINDEX = 'tabindex';\nexport const TABINDEX_STATE = 'data-g-tabindex';\n\nexport const makeNodeFocusable = node => {\n // do not touch aria live containers so that announcements work\n if (!node.hasAttribute('aria-live')) {\n node.setAttribute('aria-hidden', false);\n // allow children to receive focus again\n const elements = node.getElementsByTagName('*');\n // only reset elements we've changed in makeNodeUnfocusable()\n Array.prototype.filter\n .call(elements || [], element => element.hasAttribute(TABINDEX_STATE))\n .forEach(element => {\n const prior = element.getAttribute(TABINDEX_STATE);\n if (prior >= 0) {\n element.setAttribute(TABINDEX, element.getAttribute(TABINDEX_STATE));\n } else if (prior === 'none') {\n element.removeAttribute(TABINDEX);\n }\n element.removeAttribute(TABINDEX_STATE);\n });\n }\n};\n\nconst autoFocusingTags = /(a|area|input|select|textarea|button|iframe)$/;\nexport const makeNodeUnfocusable = node => {\n // do not touch aria live containers so that announcements work\n if (!node.hasAttribute('aria-live')) {\n node.setAttribute('aria-hidden', true);\n // prevent children to receive focus\n const elements = node.getElementsByTagName('*');\n // first, save off the tabindex of any element with one\n Array.prototype.filter\n .call(elements || [], element => element.getAttribute(TABINDEX) !== null)\n .forEach(element => {\n element.setAttribute(TABINDEX_STATE, element.getAttribute(TABINDEX));\n element.setAttribute(TABINDEX, -1);\n });\n // then, if any element is inherently focusable and not handled above,\n // give it a tabindex of -1 so it can't receive focus\n Array.prototype.filter\n .call(elements || [], element => {\n const currentTag = element.tagName.toLowerCase();\n return (\n currentTag.match(autoFocusingTags) &&\n element.focus &&\n element.getAttribute(TABINDEX_STATE) === null\n );\n })\n .forEach(element => {\n element.setAttribute(TABINDEX_STATE, 'none');\n element.setAttribute(TABINDEX, -1);\n });\n }\n};\n\n\nexport const isNotAncestorOf = child => parent => !parent.contains(child);\n\n\n\nexport const setFocusWithoutScroll = element => {\n const x = window.scrollX;\n const y = window.scrollY;\n element.focus();\n window.scrollTo(x, y);\n};\n\nexport const findScrollParents = (element, horizontal) => {\n const result = [];\n if (element) {\n let parent = element.parentNode;\n while (parent && parent.getBoundingClientRect) {\n const rect = parent.getBoundingClientRect();\n // 10px is to account for borders and scrollbars in a lazy way\n if (horizontal) {\n if (rect.width && parent.scrollWidth > rect.width + 10) {\n result.push(parent);\n }\n } else if (rect.height && parent.scrollHeight > rect.height + 10) {\n result.push(parent);\n }\n parent = parent.parentNode;\n }\n // last scrollable element will be the document\n // if nothing else is scrollable in the page\n if (result.length === 0) {\n result.push(document);\n } else if (result[0].tagName.toLowerCase() === 'body') {\n result.length = 0;\n result.push(document);\n }\n }\n return result;\n};\n\nexport const parseMetricToNum = fontAsString => {\n if (fontAsString.match(/\\s/) && process.env.NODE_ENV !== 'production') {\n console.warn(`Invalid single measurement value: \"${fontAsString}\"`);\n }\n return parseFloat(fontAsString.match(/\\d+(\\.\\d+)?/), 10);\n};","import React, { useEffect, useState } from \"react\";\nimport { useIntersection } from \"react-use\";\n\nexport const IntersectionContext = React.createContext({ inView: true });\n\nexport const IntersectionObserver = ({\n children,\n threshold = 0,\n reset = false // if value set to true - observed element will reappear every time it shows up on the screen\n}) => {\n const [inView, setInView] = useState(false);\n const intersectionRef = React.useRef(null);\n const intersection = useIntersection(intersectionRef, {\n threshold\n });\n\n useEffect(() => {\n const inViewNow = intersection && intersection.intersectionRatio > 0;\n if (inViewNow) {\n return setInView(inViewNow);\n } else if (reset) {\n return setInView(false);\n }\n }, [intersection, reset]);\n\n return (\n \n {children}
\n \n );\n};\n","// /**\n// * useScroll React custom hook\n// * Usage:\n// * const { scrollX, scrollY, scrollDirection } = useScroll();\n// */\n\n// import { useState, useEffect } from \"react\";\n\n// export function useScroll() {\n// const [lastScrollTop, setLastScrollTop] = useState(0);\n// const [bodyOffset, setBodyOffset] = useState(\n// document.body.getBoundingClientRect()\n// );\n// const [scrollY, setScrollY] = useState(bodyOffset.top);\n// const [scrollX, setScrollX] = useState(bodyOffset.left);\n// const [scrollDirection, setScrollDirection] = useState();\n\n// const listener = e => {\n// setBodyOffset(document.body.getBoundingClientRect());\n// setScrollY(-bodyOffset.top);\n// setScrollX(bodyOffset.left);\n// setScrollDirection(lastScrollTop > -bodyOffset.top ? \"down\" : \"up\");\n// setLastScrollTop(-bodyOffset.top);\n// };\n\n// useEffect(() => {\n// window.addEventListener(\"scroll\", listener);\n// return () => {\n// window.removeEventListener(\"scroll\", listener);\n// };\n// });\n\n// return {\n// scrollY,\n// scrollX,\n// scrollDirection\n// };\n// }\n\nimport { useRef } from 'react'\n \nimport { useLayoutEffect, useEffect } from 'react'\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nconst isBrowser = typeof window !== `undefined`\n\nfunction getScrollPosition({ element, useWindow }) {\n if (!isBrowser) return { x: 0, y: 0 }\n\n const target = element ? element.current : document.body\n const position = target.getBoundingClientRect()\n\n return useWindow\n ? { x: window.scrollX, y: window.scrollY }\n : { x: position.left, y: position.top }\n}\n\nexport function useScrollPosition(effect, deps, element, useWindow, wait) {\n const position = useRef(getScrollPosition({ useWindow }))\n\n let throttleTimeout = null\n\n const callBack = () => {\n const currPos = getScrollPosition({ element, useWindow })\n effect({ prevPos: position.current, currPos })\n position.current = currPos\n throttleTimeout = null\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!isBrowser) {\n return\n }\n\n const handleScroll = () => {\n if (wait) {\n if (throttleTimeout === null) {\n throttleTimeout = setTimeout(callBack, wait)\n }\n } else {\n callBack()\n }\n }\n\n window.addEventListener('scroll', handleScroll)\n\n return () => window.removeEventListener('scroll', handleScroll)\n }, deps)\n}\n\nuseScrollPosition.defaultProps = {\n deps: [],\n element: false,\n useWindow: false,\n wait: null,\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction factorial(a) {\n if (a % 1 || !(+a >= 0)) return NaN;\n if (a > 170) return Infinity;else if (a === 0) return 1;else {\n return a * factorial(a - 1);\n }\n}\n\nfunction power(a, b) {\n return Math.pow(a, b);\n}\n\nfunction sqrt(a) {\n return Math.sqrt(a);\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultMathSymbols = {\n symbols: {\n '!': {\n postfix: {\n symbol: '!',\n f: factorial,\n notation: 'postfix',\n precedence: 6,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '!',\n regSymbol: '!'\n },\n '^': {\n infix: {\n symbol: '^',\n f: power,\n notation: 'infix',\n precedence: 5,\n rightToLeft: 1,\n argCount: 2\n },\n symbol: '^',\n regSymbol: '\\\\^'\n },\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n },\n sqrt: {\n func: {\n symbol: 'sqrt',\n f: sqrt,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'sqrt',\n regSymbol: 'sqrt\\\\b'\n }\n }\n};\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found.\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultMathSymbols.symbols, additionalSymbols.symbols) : _extends({}, defaultMathSymbols.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable.\n *\n * Passthrough can be enabled (off by default) for when you are unsure of the input and want non-variable values to be returned instead of an error.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, passThrough) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n if (passThrough) return cssVariable;\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else {\n throw new PolishedError(74);\n }\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith (string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @deprecated - stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value, unitReturn) {\n if (typeof value !== 'string') return unitReturn ? [value, undefined] : value;\n var matchedValue = value.match(cssRegex);\n\n if (unitReturn) {\n // eslint-disable-next-line no-console\n console.warn(\"stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\");\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n }\n\n if (matchedValue) return parseFloat(value);\n return value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pxtoFactory('em');\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex$1);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pxtoFactory('rem');\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width) {\n if (width === void 0) {\n width = '100%';\n }\n\n return {\n display: 'inline-block',\n maxWidth: width,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n localFonts = _ref.localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject(), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nfunction _templateObject$1() {\n var data = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"]);\n\n _templateObject$1 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject$1(), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor, backgroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return backgroundColor + \" \" + backgroundColor + \" \" + foregroundColor + \" \" + backgroundColor;\n\n case 'right':\n case 'bottomLeft':\n return backgroundColor + \" \" + backgroundColor + \" \" + backgroundColor + \" \" + foregroundColor;\n\n case 'bottom':\n case 'topLeft':\n return foregroundColor + \" \" + backgroundColor + \" \" + backgroundColor + \" \" + backgroundColor;\n\n case 'left':\n case 'topRight':\n return backgroundColor + \" \" + foregroundColor + \" \" + backgroundColor + \" \" + backgroundColor;\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return {\n width: '0',\n height: '0',\n borderColor: getBorderColor(pointingDirection, foregroundColor, backgroundColor),\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n };\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\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 gold: 'ffd700',\n goldenrod: 'daa520',\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 lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\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: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\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: '639',\n red: 'f00',\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: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsla\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor);\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor);\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * (parseFloat(weight) / 1.0) + color2.alpha * (1 - parseFloat(weight) / 1.0)\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\n\nvar defaultLightReturnColor = '#000';\nvar defaultDarkReturnColor = '#fff';\n/**\n * Returns black or white (or optional light and dark return colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, set `strict` to `true` to ensure that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, lightReturnColor, darkReturnColor, strict) {\n if (lightReturnColor === void 0) {\n lightReturnColor = defaultLightReturnColor;\n }\n\n if (darkReturnColor === void 0) {\n darkReturnColor = defaultDarkReturnColor;\n }\n\n if (strict === void 0) {\n strict = false;\n }\n\n var isLightColor = getLuminance(color) > 0.179;\n var preferredReturnColor = isLightColor ? lightReturnColor : darkReturnColor; // TODO: Make `strict` the default behaviour in the next major release.\n // Without `strict`, this may return a color that does not meet WCAG AA.\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isLightColor ? defaultLightReturnColor : defaultDarkReturnColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff');\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')},\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 - parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap$1 = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap$1.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken as darken, curriedDesaturate as desaturate, directionalProperty, ellipsis, em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, invert, curriedLighten as lighten, linearGradient, margin, math, meetsContrastGuidelines, curriedMix as mix, modularScale, normalize, curriedOpacify as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate as saturate, curriedSetHue as setHue, curriedSetLightness as setLightness, curriedSetSaturation as setSaturation, curriedShade as shade, size, stripUnit, textInputs, timingFunctions, curriedTint as tint, toColorString, transitions, curriedTransparentize as transparentize, triangle, wordWrap };\n","import {useState, useEffect, useContext} from 'react'\nimport { ThemeContext } from 'styled-components';\nimport {stripUnit} from 'polished';\n\n\nconst getClosestValue = (val, arr) => {\n const index = arr.sort((a,b) => a - b).findIndex(el => val < el);\n return index > 0 ? arr[index] : null;\n}\n\nexport const useMediaLessThan = breakpoint => {\n return useMedia([breakpoint], 'max-width');\n}\nexport const useMediaGreaterThan = breakpoint => {\n return useMedia([breakpoint], 'min-width');\n}\nexport const useMediaBetween = (bp1, bp2) => {\n return useMedia([bp1, bp2], 'between');\n}\n\nexport const useMedia = (bp, mediaQuery = 'default' ) => {\n if(!(bp instanceof Array)) {\n bp = [bp];\n }\n const [doesMatch, onSetDoesMatch] = useState(false);\n const {breakpoints} = useContext(ThemeContext) || {};\n const breakpointsKeys = Object.keys(breakpoints).map(_bp => isNaN(_bp) ? _bp : +(_bp)); \n let _query = bp[0];\n \n if(breakpointsKeys.includes(bp[0])) {\n\n const sortedBreakpointsValues = breakpoints.map(e => stripUnit(e))\n const maxWidth = getClosestValue(stripUnit(breakpoints[bp[0]]), sortedBreakpointsValues);\n switch (mediaQuery) {\n case 'max-width':\n _query = `(max-width: ${breakpoints[bp[0]]})`;\n break;\n case 'min-width':\n _query = `(min-width: ${breakpoints[bp[0]]})`;\n break;\n case 'between':\n _query = `(min-width: ${breakpoints[bp[0]]}) and (max-width: ${breakpoints[bp[1]]})`;\n break;\n default:\n console.warn(\"[vactory-ui] useMedia(\"+bp+\") ne sera pas prise en charge dans les versions à venir, utiliser plutot useMediaLessThan(), useMediaGreaterThan() ou useMediaBetween()\");\n _query = `(min-width: ${breakpoints[bp[0]]})${maxWidth !== null ? `and (max-width: ${maxWidth}px)` : '' }`;\n break;\n }\n // _query = `(min-width: ${minWidth})${maxWidth !== null ? `and (max-width: ${maxWidth}px)` : '' }`;\n }\n\n useEffect(() => {\n const onUpdateMatch = ({matches}) => {\n onSetDoesMatch(matches)\n }\n \n const matcher = window.matchMedia(_query)\n \n const isModern = 'addEventListener' in matcher\n if (isModern) {\n matcher.addEventListener('change', onUpdateMatch)\n } else {\n matcher.addListener(onUpdateMatch)\n }\n \n onUpdateMatch(matcher)\n \n return () => {\n if (isModern) {\n matcher.removeEventListener('change', onUpdateMatch)\n } else {\n matcher.removeListener(onUpdateMatch)\n }\n }\n }, [_query, onSetDoesMatch])\n \n return doesMatch\n }\n ","import styled from \"styled-components\";\nimport {\n boxShadow,\n color,\n space,\n layout,\n flexbox,\n border,\n compose,\n position,\n typography,\n} from \"styled-system\";\n\nimport { props as systemProps } from \"@styled-system/should-forward-prop\";\nimport { variant, base, sx } from \"../../core\";\n\n// const customShouldForwardProp\n\nexport const BoxWithoutConfig = styled(\"div\")(\n {\n boxSizing: \"border-box\",\n margin: 0,\n minWidth: 0,\n },\n base,\n sx,\n (props) => props.css,\n (props) => props.styledCss,\n compose(\n space,\n color,\n layout,\n flexbox,\n border,\n typography,\n boxShadow,\n position\n ),\n variant\n);\n\nconst Box = styled(BoxWithoutConfig).withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => {\n return defaultValidatorFn(prop) && !systemProps.includes(prop);\n },\n})({});\n\nBox.WithoutConfig = BoxWithoutConfig;\n\n\n\nconst Flex = styled(Box)({\n display: \"flex\",\n});\n\nFlex.WithoutConfig = styled(BoxWithoutConfig)({\n display: \"flex\",\n});\n\nexport {Box, Flex};\n\nexport default Box;\n","\nimport React, { Children, forwardRef, useState } from 'react';\n\nimport { AccordionContext } from './AccordionContext';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\nconst activeAsArray = active =>\n typeof active === 'number' ? [active] : active;\n\n\nexport const Accordion = forwardRef(\n ({ activeIndex,\n children,\n multiple,\n onChange,\n variant='accordion',\n ...rest\n }, ref) => {\n\n const [activeIndexes, setActiveIndexes] = useState([]);\n const [stateActiveIndex, setStateActiveIndex] = useState();\n\n const derivedActiveIndexes = activeAsArray(activeIndex) || [];\n\n if ((typeof activeIndex !== 'undefined' || activeIndex !== stateActiveIndex) &&\n (derivedActiveIndexes.join() !== activeIndexes.join())) {\n setActiveIndexes(derivedActiveIndexes);\n setStateActiveIndex(activeIndex);\n }\n\n\n const onPanelChange = index => {\n let nextActiveIndexes = [...(activeIndexes || [])];\n\n const nextActiveIndex = nextActiveIndexes.indexOf(index);\n if (nextActiveIndex > -1) {\n nextActiveIndexes.splice(nextActiveIndex, 1);\n } else if (multiple) {\n nextActiveIndexes.push(index);\n } else {\n nextActiveIndexes = [index];\n }\n\n setActiveIndexes(nextActiveIndexes);\n if (onChange) {\n onChange(nextActiveIndexes);\n }\n };\n\n const panels = Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n const key = child.props.panelKey || index;\n return (\n -1,\n onPanelChange: () => onPanelChange(key),\n variant\n }}\n >\n {child}\n \n )\n });\n\n return (\n \n {panels}\n \n );\n\n\n })","\nimport { Box, Flex } from '../Box';\nimport { motion } from 'framer-motion';\n\n\nexport const MotionBox = motion.custom(Box.WithoutConfig);\nexport const MotionFlex = motion.custom(Flex.WithoutConfig);","import React from 'react';\nimport { Box } from '../Box';\nimport { useViewportScroll, useTransform } from 'framer-motion';\nimport { MotionBox } from './MotionBox';\n\n\nexport const ParallaxBox = ({\n as = MotionBox, \n children,\n easing = [0.42, 0, 0.58, 1],\n ...rest }) => {\n\n const [elementTop, setElementTop] = React.useState(0);\n\n const ref = React.useRef(null);\n const { scrollY } = useViewportScroll();\n \n\n React.useEffect(() => {\n if (!ref.current) return;\n const setValues = () => {\n setElementTop(ref.current.offsetTop);\n };\n \n setValues();\n\n document.addEventListener(\"load\", setValues);\n window.addEventListener(\"resize\", setValues);\n\n return () => {\n document.removeEventListener(\"load\", setValues);\n window.removeEventListener(\"resize\", setValues);\n };\n\n }, [ref]);\n\n const transformInitialValue = elementTop - 1; \n const transformFinalValue = elementTop + 1;\n const yRange = [transformInitialValue, transformFinalValue];\n\n const y = useTransform(scrollY, yRange, [0, -1], {\n clamp: false,\n easing\n });\n return {children}\n}","import React from 'react';\nimport { Box } from '../Box';\nimport { MotionBox } from './MotionBox';\nimport { useIntersection } from \"react-use\";\n\nconst defaultHidden = {\n opacity: 0,\n};\n\nconst defaultVisible = {\n opacity: 1,\n};\nexport const RevealBox = React.forwardRef(({\n delayOrder,\n duration = 0.4,\n easing = [0.42, 0, 0.58, 1],\n children,\n threshold = 0.04,\n hidden = defaultHidden,\n visible = defaultVisible,\n reset = false, // if value set to true - element will reappear every time it shows up on the screen\n ...rest\n}, ref) => {\n\n\n const [inView, setInView] = React.useState(false);\n const intersectionRef = React.useRef(null);\n const intersection = useIntersection(intersectionRef, {\n threshold\n });\n\n React.useEffect(() => {\n const inViewNow = intersection && intersection.intersectionRatio > 0;\n if (inViewNow) {\n return setInView(inViewNow);\n } else if (reset) {\n return setInView(false);\n }\n }, [intersection, reset]);\n\n\n const transition = React.useMemo(\n () => ({\n duration,\n delay: delayOrder / 5,\n ease: easing\n }),\n [duration, delayOrder, easing]\n );\n\n const variants = {\n hidden: {\n ...hidden,\n transition\n },\n show: {\n ...visible,\n transition\n }\n };\n\n \n\n return (\n \n {children}\n \n \n );\n});","import React, { forwardRef, useContext, cloneElement } from 'react';\nimport { AccordionContext } from './AccordionContext';\nimport { getVariant, getSystemProps } from '../../core';\nimport { MotionBox } from '../Animation';\nimport { Box } from '../Box';\n\n\nconst PanelHeaderBaseStyle = {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n borderBottom: '2px solid',\n borderColor: 'gray300',\n marginBottom: '-1px',\n backgroundColor: 'transparent',\n py: ['medium', null, 'large'],\n px: 0\n};\n\nexport const AccordionPanel = forwardRef(\n (\n {\n children,\n header,\n title,\n variant,\n key,\n sx,\n animationTransition = { ease: \"easeInOut\", duration: 0.3 },\n ...rest\n },\n ref,\n ) => {\n\n const { active, variant: variantAccordion, onPanelChange } = useContext(AccordionContext);\n\n\n const motionVariantsContent = {\n active: {\n height:\"unset\",\n display:\"block\",\n transition: animationTransition\n },\n inactive: {\n height:\"0px\",\n transitionEnd: {\n display: \"none\",\n },\n }\n }\n\n if (variant === undefined) {\n variant = variantAccordion;\n }\n\n return (\n \n\n \n {typeof title === 'string' ?\n (\n \n {title}\n \n ) :\n cloneElement(title, { __css: PanelHeaderBaseStyle, className:'vf-accordion-panel__title' })\n }\n \n\n\n \n \n\n {children}\n \n \n\n \n );\n\n\n\n });","import React from 'react';\nimport {Box} from '../Box';\n\nexport const Anchor = React.forwardRef(({\n variant = \"anchor.default\",\n ...rest\n }, ref) => {\n\n return \n\n});","\nimport React, { forwardRef, Children, cloneElement, Fragment } from \"react\";\nimport { Box } from '../Box';\nimport { getVariant, getSystemProps } from \"../../core\";\n\n\n\nconst renderBreadcrumbItems = (children, variant, separator) => Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n\n const childrenCount = Children.count(children);\n const isLastItem = childrenCount === index + 1;\n\n return (\n {child}\n {isLastItem || (\n typeof separator === 'string'\n ?\n ({separator})\n :\n cloneElement(separator, { className: 'vf-breadcrumb__separator', variant: getVariant([variant, 'separator']) })\n )}\n );\n })\n\nexport const Breadcrumb = forwardRef(({\n variant = 'breadcrumb.default',\n children,\n separator = '/',\n sx,\n ...rest\n}, ref) => {\n\n const items = renderBreadcrumbItems(children, variant, separator);\n\n return (\n \n {items}\n \n );\n\n\n});","\nimport React from \"react\";\nimport { Box } from '../Box';\nimport { getVariant } from \"../../core\";\n\nexport const BreadcrumbItem = React.forwardRef(({\n variant='breadcrumb.default',\n children,\n href,\n active,\n as = 'a',\n key,\n ...rest\n}, ref) => {\n \n return (\n \n {children}\n \n );\n\n\n});","import styled from \"styled-components\";\nimport { css } from \"@styled-system/css\";\nimport { flexbox, color, space, typography, compose, background, position, shadow, border, variant as StyledVariant, buttonStyle, width, height, display } from \"styled-system\";\nimport { sx, base, variant } from \"../../core\";\n\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nconst fillVariants = StyledVariant({\n scale: 'buttons.fill',\n prop: 'fill',\n variants: {\n primary: {\n }\n }\n});\n\nconst sizeVariants = StyledVariant({\n scale: 'buttons.size',\n prop: 'size',\n variants: {\n medium: {\n }\n }\n});\n\nconst outlineVariants = StyledVariant({\n scale: 'buttons.outline',\n prop: 'outline',\n variants: {\n primary: {\n }\n }\n})\n\n\n export const Button = styled('button').withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return defaultValidatorFn(prop) && ![...systemProps, \"fill\", \"outline\"].includes(prop);}\n })`\n\n display: inline-flex;\n align-items: center;\n flex-direction: row;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n font: inherit;\n text-decoration: none;\n margin: 0;\n background: transparent;\n overflow: visible;\n text-transform: none;\n border-style: solid;\n ${css({\n borderRadius: 'small'\n })}\n\n ${ ({stretch}) => stretch && {\n '&::after': {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1,\n pointerEvents: 'auto',\n content: '\"\"',\n backgroundColor: '#0000',\n },\n }\n }\n \n ${buttonStyle}\n ${fillVariants}\n ${outlineVariants}\n ${sizeVariants}\n ${variant}\n ${base}\n ${sx}\n ${compose(\n width,\n height,\n display,\n space,\n color,\n typography,\n flexbox,\n background,\n border,\n position,\n shadow\n )}\n\n\n &:disabled {\n cursor: not-allowed;\n pointer-events: all;\n }\n\n`;\n\nButton.defaultProps = {\n fill: 'primary',\n size: 'medium',\n}\nexport default Button;\n","import React from 'react';\nimport {Button} from './Button';\n\n\nconst Link = ({href, children, ...rest}) => {\n return ;\n};\n\n\nexport default Link;","import React, { forwardRef, useContext, createContext, useMemo, useRef, useState, useEffect } from 'react';\nimport { Box } from '../Box';\nimport { ThemeContext } from 'styled-components';\nimport ReactDOM from 'react-dom'\nimport { parseMetricToNum, findScrollParents, setFocusWithoutScroll, findVisibleParent, getNewContainer } from '../../core';\n\nconst PortalContext = createContext(undefined);\nconst ContainerTargetContext = React.createContext(\n typeof document === 'object' ? document.body : undefined,\n);\n\nconst getTransformOriginStyle = align => {\n let vertical = 'top';\n if (align.bottom) {\n vertical = 'bottom';\n }\n let horizontal = 'left';\n if (align.right) {\n horizontal = 'right';\n }\n return `${vertical} ${horizontal}`;\n}\n\n\nexport const DropContent = forwardRef(({ children, alignProp = { bottom: true, right: true }, ...rest }, ref) => {\n\n return \n {children}\n \n\n\n})\n\n\n\nexport const DropContainer = forwardRef((\n {\n align = {\n top: 'top',\n left: 'left',\n },\n children,\n dropTarget,\n onClickOutside,\n // onEsc,\n // onKeyDown,\n plain, // Whether the drop element should have no background nor shadow\n responsive, // Whether the drop element should have no background nor shadow\n restrictFocus, // Whether the drop should control focus\n stretch = true,\n sx,\n ...rest\n },\n ref,\n) => {\n\n const theme = useContext(ThemeContext) || {};\n const portalContext = useContext(PortalContext) || [];\n const portalId = useMemo(() => portalContext.length, [portalContext]);\n const nextPortalContext = useMemo(() => [...portalContext, portalId], [\n portalContext,\n portalId,\n ]);\n const dropRef = useRef();\n useEffect(() => {\n // We try to preserve the maxHeight as changing it causes any scroll\n // position to be lost. We set the maxHeight on mount and if the window\n // is resized.\n const place = preserveHeight => {\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const target = dropTarget;\n const container = (ref || dropRef).current;\n if (container && target) {\n // clear prior styling\n container.style.left = '';\n container.style.top = '';\n container.style.bottom = '';\n container.style.width = '';\n if (!preserveHeight) {\n container.style.maxHeight = '';\n }\n // get bounds\n const targetRect = findVisibleParent(target).getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n // determine width\n const width = Math.min(\n stretch\n ? Math.max(targetRect.width, containerRect.width)\n : containerRect.width,\n windowWidth,\n );\n // set left position\n let left;\n if (align.left) {\n if (align.left === 'left') {\n ({ left } = targetRect);\n } else if (align.left === 'right') {\n left = targetRect.left + targetRect.width;\n }\n } else if (align.right) {\n if (align.right === 'left') {\n left = targetRect.left - width;\n } else if (align.right === 'right') {\n left = targetRect.left + targetRect.width - width;\n }\n } else {\n left = targetRect.left + targetRect.width / 2 - width / 2;\n }\n if (left + width > windowWidth) {\n left -= left + width - windowWidth;\n } else if (left < 0) {\n left = 0;\n }\n // set top or bottom position\n let top;\n let bottom;\n let maxHeight = containerRect.height;\n if (align.top) {\n if (align.top === 'top') {\n ({ top } = targetRect);\n } else {\n top = targetRect.bottom;\n }\n\n // Calculate visible area underneath the control w.r.t window height\n const percentVisibleAreaBelow =\n 100 - (targetRect.bottom / windowHeight) * 100;\n\n // Check whether it is within 20% from bottom of the window or\n // visible area to flip the control\n // DropContainer doesn't fit well within visible area when\n // percentVisibleAreaBelow value<=20%\n // There is enough space from DropContainer to bottom of the window\n // when percentVisibleAreaBelow>20%.\n\n if (windowHeight === top || percentVisibleAreaBelow <= 20) {\n // We need more room than we have.\n // We put it below, but there's more room above, put it above\n top = '';\n if (align.top === 'bottom') {\n bottom = targetRect.top;\n } else {\n ({ bottom } = targetRect);\n }\n maxHeight = bottom;\n container.style.maxHeight = `${maxHeight}px`;\n } else if (top > 0) {\n maxHeight = windowHeight - top;\n container.style.maxHeight = `${maxHeight}px`;\n } else {\n maxHeight = windowHeight - top;\n }\n } else if (align.bottom) {\n if (align.bottom === 'bottom') {\n ({ bottom } = targetRect);\n } else {\n bottom = targetRect.top;\n }\n maxHeight = bottom;\n container.style.maxHeight = `${maxHeight}px`;\n } else {\n // center\n top =\n targetRect.top + targetRect.height / 2 - containerRect.height / 2;\n maxHeight = windowHeight - top;\n }\n // if we can't fit it all, or we're rather close,\n // see if there's more room the other direction\n if (\n responsive &&\n (containerRect.height > maxHeight || maxHeight < windowHeight / 10)\n ) {\n // We need more room than we have.\n if (align.top && top > windowHeight / 2) {\n // We put it below, but there's more room above, put it above\n top = '';\n if (align.top === 'bottom') {\n // top = Math.max(targetRect.top - containerRect.height, 0);\n // maxHeight = targetRect.top - top;\n bottom = targetRect.top;\n } else {\n // top = Math.max(targetRect.bottom - containerRect.height, 0);\n // maxHeight = targetRect.bottom - top;\n ({ bottom } = targetRect);\n }\n maxHeight = bottom;\n } else if (align.bottom && maxHeight < windowHeight / 2) {\n // We put it above but there's more room below, put it below\n bottom = '';\n if (align.bottom === 'bottom') {\n ({ top } = targetRect);\n } else {\n top = targetRect.bottom;\n }\n maxHeight = windowHeight - top;\n }\n }\n container.style.left = `${left}px`;\n if (stretch) {\n // offset width by 0.1 to avoid a bug in ie11 that\n // unnecessarily wraps the text if width is the same\n // NOTE: turned off for now\n container.style.width = `${width + 0.1}px`;\n }\n // the (position:absolute + scrollTop)\n // is presenting issues with desktop scroll flickering\n if (top !== '') {\n container.style.top = `${top}px`;\n }\n if (bottom !== '') {\n container.style.bottom = `${windowHeight - bottom}px`;\n }\n if (!preserveHeight) {\n if (theme.drop && theme.drop.maxHeight) {\n maxHeight = Math.min(\n maxHeight,\n parseMetricToNum(theme.drop.maxHeight),\n );\n }\n container.style.maxHeight = `${maxHeight}px`;\n }\n }\n };\n\n let scrollParents;\n\n const addScrollListeners = () => {\n scrollParents = findScrollParents(dropTarget);\n scrollParents.forEach(scrollParent =>\n scrollParent.addEventListener('scroll', place),\n );\n };\n\n const removeScrollListeners = () => {\n scrollParents.forEach(scrollParent =>\n scrollParent.removeEventListener('scroll', place),\n );\n scrollParents = [];\n };\n\n const onClickDocument = event => {\n // determine which portal id the target is in, if any\n let clickedPortalId = null;\n let node = event.target;\n while (clickedPortalId === null && node !== document) {\n const attr = node.getAttribute('data-g-portal-id');\n if (attr !== null) clickedPortalId = parseInt(attr, 10);\n node = node.parentNode;\n }\n if (\n clickedPortalId === null ||\n portalContext.indexOf(clickedPortalId) !== -1\n ) {\n onClickOutside(event);\n }\n };\n\n const onResize = () => {\n removeScrollListeners();\n addScrollListeners();\n place(false);\n };\n\n addScrollListeners();\n window.addEventListener('resize', onResize);\n if (onClickOutside) {\n document.addEventListener('mousedown', onClickDocument);\n }\n\n place(false);\n\n\n return () => {\n removeScrollListeners();\n window.removeEventListener('resize', onResize);\n if (onClickOutside) {\n document.removeEventListener('mousedown', onClickDocument);\n }\n };\n }, [\n align,\n dropTarget,\n onClickOutside,\n portalContext,\n portalId,\n ref,\n responsive,\n restrictFocus,\n stretch,\n theme.drop,\n ]);\n\n useEffect(() => {\n if (restrictFocus) {\n (ref || dropRef).current.focus();\n }\n }, [ref, restrictFocus]);\n\n let content = (\n \n {children}\n \n );\n\n return (\n \n {/* \n {\n event.stopPropagation();\n onEsc(event);\n }\n : undefined\n }\n onKeyDown={onKeyDown}\n target=\"document\"\n > */}\n {content}\n {/* \n */}\n \n );\n});\n\n\nexport const Drop = forwardRef(\n (\n {\n restrictFocus,\n target: dropTarget, // avoid DOM leakage\n sx,\n ...rest\n },\n ref,\n ) => {\n const theme = useContext(ThemeContext) || {};\n const [originalFocusedElement, setOriginalFocusedElement] = useState();\n useEffect(() => setOriginalFocusedElement(document.activeElement), []);\n const [dropContainer, setDropContainer] = useState();\n const containerTarget = useContext(ContainerTargetContext);\n useEffect(() => setDropContainer(getNewContainer(containerTarget)), [\n containerTarget,\n ]);\n\n // just a few things to clean up when the Drop is unmounted\n useEffect(\n () => () => {\n if (restrictFocus && originalFocusedElement) {\n if (originalFocusedElement.focus) {\n setFocusWithoutScroll(originalFocusedElement);\n } else if (\n originalFocusedElement.parentNode &&\n originalFocusedElement.parentNode.focus\n ) {\n // required for IE11 and Edge\n setFocusWithoutScroll(originalFocusedElement.parentNode);\n }\n }\n if (dropContainer) {\n containerTarget.removeChild(dropContainer);\n }\n },\n [containerTarget, dropContainer, originalFocusedElement, restrictFocus],\n );\n\n return dropContainer\n ? ReactDOM.createPortal(\n ,\n dropContainer,\n )\n : null;\n\n },\n);","import React from 'react';\nimport {Box} from '../Box';\nimport { getVariant } from '../../core';\n\n\nexport const Footer = ({variant='footer',children, ...rest}) => {\n return (\n \n {children}\n \n )\n}","import React from \"react\";\nimport iconSet from '../selection.json';\nexport const VactoryIconContext = React.createContext(iconSet);\n\nexport const VactoryIconProvider = VactoryIconContext.Provider;\nexport const VactoryIconConsumer = VactoryIconContext.Consumer;\n\nexport const useVactoryIcon = () => React.useContext(VactoryIconContext);\n","import React from 'react'\nimport IcoMoon from \"react-icomoon\";\nimport styled from \"styled-components\";\nimport {size, color, space} from \"styled-system\";\nimport shouldForwardProp from '@styled-system/should-forward-prop';\nimport {sx, base} from \"../../core\";\nimport {useVactoryIcon} from \"./context\"\nimport iconSet from './selection.json';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nexport {iconSet}\n\nexport const mergeIcons = (source, target) => {\n return {\n ...source,\n icons: source.icons.concat(target.icons)\n }\n};\n\nexport const WrapperIcon = ({...rest}) => {\n const icons = useVactoryIcon();\n\n return \n};\n\nexport const Icon = styled(WrapperIcon).withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return !['sx', 'name', '__css', ...systemProps].includes(prop);}\n }).attrs(props => ({\n removeInlineStyle: true,\n icon: props.name || props.icon,\n}))\n `\n display: inline-block;\n stroke: currentcolor;\n fill: currentcolor;\n ${color}\n ${size}\n ${space}\n ${base}\n ${sx}\n `;\n\nexport default Icon;\n","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport {getSystemProps} from '../../core';\n\nconst SVG = ({ size = 24, ...props }) =>\n \n\nconst CheckboxChecked = props =>\n \n\nconst CheckboxUnchecked = props =>\n \n\nconst CheckboxIcon = ({iconName ,checkedIconName, uncheckedIconName, size = '24px' , ...props }) =>\n{ \n return (\n {\n (iconName || checkedIconName) ? :\n \n }\n {\n (iconName || uncheckedIconName) ? :\n \n\n }\n\n\n\n )}\n\n\n\nexport const Checkbox = forwardRef(({\n className,\n sx,\n iconName,\n checkedIconName,\n uncheckedIconName,\n variant,\n ...props }, ref) => {\n return (\n \n \n \n \n )});","import React from 'react';\nimport styled from 'styled-components';\nimport { color, typography, background, border, position, shadow, variant as StyledVariant, compose, width, height, display, padding } from 'styled-system';\n\nimport { sx, variant, getLayoutProps, getMarginProps } from \"../../core\";\nimport { Flex } from '../Box';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\n\nconst variantVariants = StyledVariant({\n scale: 'inputs.variants',\n prop: 'variant',\n variants: {\n primary: {\n\n }\n }\n});\nconst variantStatus = StyledVariant({\n scale: 'inputs.status',\n prop: 'status',\n variants: {\n primary: {\n\n }\n }\n});\n\nconst variantSizes = StyledVariant({\n scale: 'inputs.sizes',\n prop: 'size',\n variants: {\n medium: {\n padding: 'xsmall',\n fontSize: '16px',\n lineHeight: '24px'\n }\n }\n});\n\n\nconst StyledInput = styled('input').withConfig({\n shouldForwardProp: (prop, defaultValidatorFn) => { return defaultValidatorFn(prop) && ![...systemProps].includes(prop);}\n })`\n display: block;\n padding: 2px;\n appearance: none;\n font-size: inherit;\n line-height: inherit;\n border: 1px solid;\n color: inherit;\n background: transparent;\n width: auto;\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px;\n }\n\n ${variantVariants}\n ${variantStatus}\n ${variantSizes}\n\n\n ${variant}\n ${sx}\n ${compose(\n padding,\n color,\n typography,\n background,\n border,\n position,\n shadow,\n width,\n height,\n display,\n )}\n`;\n\nStyledInput.defaultProps = {\n type: 'text',\n variant: 'default',\n size: 'medium'\n}\n\n\nexport const Input = React.forwardRef(({as,size,reverse, ...props}, ref) => {\n\n\n return (\n \n {props.icon && \n\n \n {props.icon}\n \n }\n \n \n\n );\n})\n\nInput.defaultProps = {\n as: 'input',\n type: 'text',\n variant: 'default',\n size: 'medium'\n}\n\n\nexport default Input;","import React from 'react';\nimport {Flex} from '../Box'\n\n\nexport const Label = ({children, variant, ...props}) => {\n return \n {children}\n \n}","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { props as systemProps } from '@styled-system/should-forward-prop';\nimport { Icon } from '../Icon';\n\nconst RadioProps = [\n ...systemProps,\n 'sx',\n 'variant',\n 'iconName',\n 'checkedIconName',\n 'uncheckedIconName'\n\n];\n\nconst PRE = new RegExp(`^(${RadioProps.join('|')})$`);\nconst getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\nconst getSystemProps = getProps(k => PRE.test(k));\n\n\n\nconst SVG = ({ size, ...props }) =>\n \n\nconst RadioChecked = props =>\n \n\nconst RadioUnchecked = props =>\n \n\n\nconst RadioIcon = ({iconName ,checkedIconName, uncheckedIconName, size = '24px' , ...props }) =>\n{ \n return (\n {\n (iconName || checkedIconName) ? :\n \n }\n {\n (iconName || uncheckedIconName) ? :\n \n\n }\n\n\n\n )}\n \n\n\nexport const Radio = forwardRef(({\n className,\n sx,\n variant,\n ...props }, ref) => (\n \n \n \n \n ));","import React, { forwardRef, useRef } from 'react';\nimport styled, {css} from 'styled-components';\nimport {variant} from 'styled-system';\nimport { Box, Flex } from '../Box';\nimport { getMarginProps, omitMarginProps, getLayoutProps } from '../../core';\n\n\nconst DownArrow = ({size = 24, ...rest}) => (\n \n)\n\n\nconst SelectIcon = ({ icon }) => {\n return \n {icon || }\n ;\n};\n\nconst StyledSelectBox = styled(Box)(\n variant({\n prop: 'state',\n scale: 'select.states',\n variants: {\n default: {\n borderColor: 'primary',\n ':focus': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.primary}`}`,\n }, \n },\n danger: {\n borderColor: 'danger',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.danger}`}`,\n },\n },\n success: {\n borderColor: 'success',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.success}`}`,\n }\n },\n info: {\n borderColor: 'info',\n ':hover,:active': {\n boxShadow: css`${t => `0 0 0 2px ${t.colors.info}`}`,\n }\n },\n }\n })\n);\n\nconst Select = forwardRef(({ variant, children, options, ...props }, ref) => {\n const {icon} = props;\n const selectRef = ref || useRef();\n\n return \n \n\n { options\n ? Object.entries(options).map( ([option, attrs], i) => (\n \n ) )\n : children\n }\n\n \n \n\n \n});\n\nSelect.Option = ({ children, ...props }) => ;\n\nexport { Select };","import { createGlobalStyle } from \"styled-components\";\n\n\nexport const GlobalStyle = createGlobalStyle`\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n body, h1, h2, h3, h4, h5, h6, p, ol, ul {\n margin: 0;\n padding: 0;\n font-weight: normal;\n }\n\n ol, ul {\n list-style: none;\n }\n\n\n html, body {\n font-family: ${({ theme }) => theme.fonts.sans};\n font-size: ${({ theme }) => theme.fontSizes.body};;\n box-sizing: border-box;\n\n -webkit-font-smoothing: antialiased;\n }\n\n`;\n\nexport default GlobalStyle;","export const DEFAULT_CONFIG = {\n gridSize: 12,\n gutterWidth: 16,\n outerMargin: 8,\n container: {\n sm: '540px', \n md: '720px', \n lg: '960px', \n xl: '1140px',\n }\n};","import { DEFAULT_CONFIG } from \"./config\";\nimport {stripUnit} from 'polished';\n\n// Name of the grid-system config in theme object\nconst THEME_CONF = 'gridSystem';\n\n// Array to store the merged grid-system config\nconst configCache = [];\n\n// Generate a config ID\nconst generateConfigCacheId = (theme) => JSON.stringify((theme && theme[THEME_CONF]) || {});\n\n\n// Merge default config with global grid-system config\nconst resolveConfig = (theme) => {\n const themeConf = (theme && theme[THEME_CONF]) || {}\n const conf = {\n ...DEFAULT_CONFIG,\n ...themeConf,\n container: {\n ...DEFAULT_CONFIG.container,\n ...themeConf.container\n },\n }\n return conf;\n};\n\n// get grid-system config\nconst getConfig = ({theme}) => {\n const cacheId = generateConfigCacheId(theme);\n if (configCache[0] === cacheId) {\n return configCache[1]\n }\n const conf = resolveConfig(theme);\n configCache[0] = cacheId\n configCache[1] = conf\n return conf;\n};\n\n// sort breakpoint names from props\nexport const sortBreakpointProps = (props) => {\n const propsArr = Object.keys(props);\n const breakpointNames = Object.keys(props.theme.breakpoints);\n const breakpoints = propsArr.filter(_prop => ~breakpointNames.indexOf(_prop));\n const sortedBreakpoints = breakpoints.sort((bp1, bp2) => {\n const valueBp1 = stripUnit(props.theme.breakpoints[bp1]);\n const valueBp2 = stripUnit(props.theme.breakpoints[bp2]);\n return valueBp1 - valueBp2\n });\n return sortedBreakpoints;\n};\n\nexport const getGridSize = (props) => {\n return getConfig(props).gridSize;\n};\n\nexport const getGutterWidth = (props) => {\n return getConfig(props).gutterWidth;\n};\n\nexport const getOuterMargin = (props) => {\n return getConfig(props).outerMargin;\n};\n\nexport const getContainer = (props) => {\n return (breakpoint) => getConfig(props).container[breakpoint];\n}\n\n\n\n\n","import React from 'react';\nimport styled, {css} from 'styled-components';\nimport {getOuterMargin, getContainer} from '../helpers';\nimport {greaterThan} from '../../../core';\nimport {Box} from '../../Box';\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst generateMediaforContainer = props => {\n const breakpointsName = Object.keys(props.theme.breakpoints);\n if(!props.fluid) {\n return css`\n ${breakpointsName.map(breakpoint => {\n if(getContainer(props)(breakpoint)) {\n return greaterThan(breakpoint)`\n max-width: ${(props) => getContainer(props)(breakpoint)};\n `\n } else {\n return null;\n }\n })}\n `;\n\n }\n};\n\nconst StyledContainer = styled.div`\n box-sizing: border-box;\n margin-right: auto;\n margin-left: auto;\n padding-left: ${props => getOuterMargin(props)}px;\n padding-right: ${props => getOuterMargin(props)}px;\n width: 100%;\n ${generateMediaforContainer}\n ${compose(space, layout, flexbox)}\n`;\n\nconst Container = ({fluid = false, ...rest}) => {\n return \n}\n\nContainer.defaultProps = {\n fluid: false\n};\n\n\nexport default Container;","import React from 'react';\nimport styled from 'styled-components';\nimport {getOuterMargin} from '../helpers';\nimport {Box} from '../../Box';\n\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst StyledRow = styled.div`\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-wrap: wrap;\n margin-right: ${props => getOuterMargin(props) * -1}px;\n margin-left: ${props => getOuterMargin(props) * -1}px;\n ${compose(space, layout, flexbox)}\n`;\n\nconst Row = props => \n\nexport default Row;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { sortBreakpointProps, getGridSize, getGutterWidth } from \"../helpers\";\nimport { greaterThan } from \"../../../core\";\nimport { Box } from \"../../Box\";\nimport { space, layout, flexbox, compose } from \"styled-system\";\n\nconst generateMediaForCol = (props) => {\n return sortBreakpointProps(props).map((bp) => {\n return greaterThan(bp)`\n ${\n props[bp] >= 0\n ? `\n flex-basis: ${(100 / getGridSize(props)) * props[bp]}%;\n max-width: ${(100 / getGridSize(props)) * props[bp]}%;\n display: block;\n `\n : props[bp]\n ? `\n flex-grow: 1;\n flex-basis: 0;\n max-width: 100%;\n display: block;\n `\n : `\n display: none;\n `\n }\n `;\n });\n};\n\nconst StyledCol = styled.div`\n box-sizing: border-box;\n flex: 0 0 auto;\n padding-right: ${(props) => getGutterWidth(props) / 2}px;\n padding-left: ${(props) => getGutterWidth(props) / 2}px;\n flex-grow: 1;\n flex-basis:0;\n max-width: 100%;\n ${(p) =>\n p.reverse &&\n `\n flex-direction: column-reverse;\n `}\n ${generateMediaForCol}\n ${compose(space, layout, flexbox)}\n \n`;\n\nconst Col = (props) => ;\n\nexport default Col;\n","import React from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\nimport Headroom from 'react-headroom';\n\nexport const Header = React.forwardRef(({\n fixed = false,\n sticky = false,\n variant = 'header',\n stickyOptions = {},\n\n children,\n ...rest }, ref) => {\n\n let fixedStyle = {};\n if (fixed) {\n fixedStyle = {\n position: 'fixed',\n top: '0px',\n left: '0px',\n right: '0px',\n }\n }\n const Wrapper = sticky ? Headroom : 'div';\n return (\n \n \n {children}\n \n \n\n );\n});","import React, {forwardRef} from 'react';\nimport {Box} from '../Box';\n\nexport const Image = forwardRef((props, ref) => \n)","\nimport React, { forwardRef, Children, cloneElement, Fragment } from \"react\";\nimport {Box, } from '../Box';\nimport { getSystemProps } from \"../../core\";\n\nexport const Navs = forwardRef(({\n variant= \"navs\",\n children,\n sx,\n ...rest\n}, ref)=> {\n\n const navs = Children.toArray(children)\n .filter(child => child)\n .map((child, index) => {\n\n const nav = cloneElement(child, {\n variant: child.props.variant || variant,\n })\n\n return (\n {nav}\n )\n })\n\n\n return (\n \n {navs}\n \n );\n\n\n});","import React from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\n\n\nexport const Nav = React.forwardRef(({\n variant = 'navs',\n children,\n href,\n active = false,\n as = 'a',\n key,\n ...rest\n}, ref) => {\n\n return (\n \n {children}\n \n );\n\n\n});","import React, { useContext } from 'react';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport RCPagination from 'rc-pagination';\nimport frFR from 'rc-pagination/lib/locale/fr_FR';\nimport { get } from 'styled-system';\nimport { ThemeContext } from 'styled-components';\n\nconst PaginationPageButton = (props) => \n {props.children}\n\n\n\nconst PaginationPrevNextButton = (props) => \n {props.children}\n\n\n\nconst PaginationJumpButton = (props) => \n {props.children}\n\n\n\nconst itemRender = (current, type, element) => {\n if (type === 'page') {\n return {current};\n }\n if (type === 'prev') {\n return ;\n }\n if (type === 'next') {\n return ;\n }\n if (type === 'jump-prev') {\n return ;\n }\n if (type === 'jump-next') {\n return ;\n }\n return element;\n};\n\n\nexport const Pagination = ({\n sx,\n ...props\n}) => {\n const theme = useContext(ThemeContext);\n return (\n input' : {\n display: 'inline-block',\n padding: '2px',\n appearance: 'none',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n border: '1px solid',\n color: 'inherit',\n background: 'transparent',\n mx: '8px',\n ...get(theme, 'inputs.variants.default', {}),\n ...get(theme, 'inputs.sizes.medium', {})\n }\n }} as={RCPagination} locale={frFR} {...props} sx={sx} itemRender={itemRender} />\n );\n}","import React, { forwardRef } from 'react';\nimport { Box } from '../Box';\nimport { getVariant } from '../../core';\n\nexport const Tab = forwardRef((\n { title,\n index,\n isActive,\n onClickTab,\n variant = 'tabs',\n header,\n sx,\n ...props\n },\n ref\n) => {\n \n const handleOnClickTab = event => {\n if (event) {\n event.preventDefault();\n }\n onClickTab();\n };\n\n return (\n \n {title}\n \n );\n})","import React, { useState, Children, cloneElement, forwardRef, useRef, useEffect } from \"react\";\n\nimport { Box, Flex } from '../Box';\nimport { getVariant } from \"../../core\";\nimport { MotionBox } from '../Animation'\nimport { useAnimation } from \"framer-motion\";\n\nexport const Tabs = forwardRef(({\n children,\n theme,\n activeTab: propsActiveKey,\n sx,\n variant = 'tabs',\n showBar = false,\n onChange, // Callback executed when active tab is changed\n onTabClick, // Callback executed when tab is clicked\n onNextClick, //Callback executed when next button is clicked\n onPrevClick, // Callback executed when prev button is clicked\n\n ...rest\n\n}, ref) => {\n\n\n const [activeKey, setActiveKey] = useState(rest.activeTab || 0);\n\n const tabRefs = [];\n\n const headerAnimationCtrls = useAnimation();\n const inkBarAnimationCtrls = useAnimation();\n const motionVariantsContent = {\n active: {\n opacity: [0, 1],\n }\n }\n\n const headerTabRef = useRef(null);\n\n const animateInkBar = (key) => {\n const currentTabBCR = tabRefs[key].current.getBoundingClientRect();\n const headerTabBCR = headerTabRef.current.getBoundingClientRect();\n\n inkBarAnimationCtrls.start({\n left: (currentTabBCR.x - headerTabBCR.x),\n width: currentTabBCR.width,\n })\n }\n\n if (activeKey !== propsActiveKey && propsActiveKey !== undefined) {\n setActiveKey(propsActiveKey);\n }\n\n useEffect(() => {\n if(showBar){\n animateInkBar(activeKey);\n }\n }, [activeKey, showBar]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleClickTab = key => {\n headerAnimationCtrls.start('active');\n\n if (propsActiveKey === undefined) {\n setActiveKey(key)\n }\n if (onTabClick) {\n onTabClick(key)\n }\n if (onChange && activeKey !== key) {\n onChange(key)\n }\n if (onNextClick && activeKey + 1 === key) {\n onNextClick()\n }\n if (onPrevClick && activeKey - 1 === key) {\n onPrevClick()\n }\n }\n\n delete rest.activeIndex;\n delete rest.onActive;\n\n let activeContent;\n\n\n const tabs = Children.map(\n children,\n (tab, index) => {\n if (!tab) return undefined;\n const tabProps = tab.props || {};\n const isTabActive = index === activeKey;\n\n const ref = useRef();\n const key = tab.props.tabKey || index;\n tabRefs[key] = ref;\n\n if (isTabActive) {\n activeContent = tabProps.children;\n }\n return cloneElement(tab, {\n index,\n isActive: isTabActive,\n variant,\n onClickTab: () => handleClickTab(key),\n ref\n });\n }\n );\n\n\n\n return (\n \n\n \n {tabs}\n {showBar &&\n }\n \n\n \n \n {activeContent}\n \n \n \n );\n\n});","import React from 'react';\nimport { Box } from '../Box';\nimport { withTheme } from 'styled-components';\nimport { themeGet } from '@styled-system/theme-get';\n\nexport const Text = ({ children, as = 'p', ...rest }) => \n {children}\n\n\nexport const Paragraph = ({\n children,\n variant = \"paragraph.default\",\n ...rest\n}) => {\n\n return (\n \n {children}\n \n );\n}\n\nexport const Heading = withTheme(\n ({\n children,\n level = '1',\n variant = \"heading.default\",\n ...rest\n }) => {\n const variantName = themeGet(variant + '.h'+level)(rest) ? variant + '.h'+level : variant;\n return {children}\n }\n)\n\n\n\nexport default Text;\n\n\n","\nimport React, { forwardRef } from \"react\";\nimport {Box} from '../Box';\n\nconst List_ = ({horizontal, ordered, ...rest}, ref) => {\n\n return \n}\n\nexport const List = forwardRef(List_)","\nimport React, { forwardRef } from \"react\";\nimport {Box} from '../Box';\n\nconst Item_ = (props, ref) => {\n\n return \n}\n\nexport const Item = forwardRef(Item_)","import React, { useContext, forwardRef } from 'react';\nimport styled, { css, ThemeContext, keyframes } from 'styled-components';\nimport { themeGet } from '@styled-system/theme-get';\nimport { Box} from '../Box';\nimport { generateMedia } from '../../core';\n\n\nexport const StyledLayer = forwardRef(({variant='default', ...props}, ref) => {\n const theme = useContext(ThemeContext);\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)({theme});\n let mediaStyle = {};\n let hidenStyle = {};\n let boundsStyle = {\n position: 'fixed',\n top: '0px',\n left: '0px',\n right: '0px',\n bottom: '0px',\n };\n\n if (props.position === 'hidden') {\n hidenStyle = {\n left: '-100%',\n right: '100%',\n zIndex: '-1',\n position: 'fixed',\n };\n }\n\n if(props.targetBounds) {\n const { left, right, top, bottom } = props.targetBounds;\n boundsStyle = {\n position: 'fixed',\n top: `${top}px`,\n left: `${left}px`,\n right: `${right}px`,\n bottom: `${bottom}px`,\n }\n }\n\n if(props.responsive && responsiveBreakpoint) {\n mediaStyle[`@media (max-width: ${themeGet(`breakpoints.${responsiveBreakpoint}`, 0)({theme})} )`] = {\n position: 'absolute',\n width: '100%',\n height: '100%',\n minHeight: '100%',\n }\n }\n return (\n \n {props.children}\n \n );\n\n})\n\nexport const StyledOverlay = props => {\n const theme = useContext(ThemeContext);\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)({theme});\n let mediaStyle = {};\n if(props.responsive && responsiveBreakpoint) {\n mediaStyle[`@media (max-width: ${themeGet(`breakpoints.${responsiveBreakpoint}`, 0)({theme})} )`] = {\n position: 'relative',\n }\n }\n return (\n \n {props.children}\n \n );\n\n}\n\n\nconst parseMetricToNum = fontAsString => {\n if (fontAsString.match(/\\s/) && process.env.NODE_ENV !== 'production') {\n console.warn(`Invalid single measurement value: \"${fontAsString}\"`);\n }\n return parseFloat(fontAsString.match(/\\d+(\\.\\d+)?/), 10);\n };\n\nconst getMargin = (margin, theme, position) => {\n const axis =\n position.indexOf('top') !== -1 || position.indexOf('bottom') !== -1\n ? 'vertical'\n : 'horizontal';\n const marginValue = margin[position] || margin[axis] || margin;\n const marginApplied = theme.space[marginValue] || marginValue;\n const marginInTheme = !!theme.space[marginValue];\n\n return !marginInTheme && typeof marginValue !== 'string'\n ? 0\n : parseMetricToNum(marginApplied);\n };\n\nconst getBounds = (bounds, margin, theme, position = undefined) => {\n if (position) {\n return bounds[position] + getMargin(margin, theme, position);\n }\n return {\n bottom: bounds.bottom + getMargin(margin, theme, 'bottom'),\n // 'bottom-left': getMargin(margin, theme, 'bottom-left'),\n // 'bottom-right': getMargin(margin, theme, 'bottom-right'),\n end: bounds.right + getMargin(margin, theme, 'end'),\n left: bounds.left + getMargin(margin, theme, 'left'),\n right: bounds.right + getMargin(margin, theme, 'right'),\n start: bounds.left + getMargin(margin, theme, 'start'),\n top: bounds.top + getMargin(margin, theme, 'top'),\n // 'top-right': getMargin(margin, theme, 'top-right'),\n // 'top-left': getMargin(margin, theme, 'top-left'),\n };\n };\n\nconst KEYFRAMES = {\n center: {\n vertical: keyframes`\n 0% { transform: translateX(-50%) scale(0.8); }\n 100% { transform: translateX(-50%) scale(1); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(-50%) scale(0.8); }\n 100% { transform: translateY(-50) scale(1); }\n `,\n true: keyframes`\n 0% { transform: scale(0.8); }\n 100% { transform: scale(1); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, -50%) scale(0.8); }\n 100% { transform: translate(-50%, -50%) scale(1); }\n `,\n },\n top: {\n vertical: keyframes`\n 0% { transform: translate(-50%, -100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(-100%); }\n 100% { transform: translateY(0); }\n `,\n true: keyframes`\n 0% { transform: translateY(-100%); }\n 100% { transform: translateY(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, -100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n },\n bottom: {\n vertical: keyframes`\n 0% { transform: translate(-50%, 100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n horizontal: keyframes`\n 0% { transform: translateY(100%); }\n 100% { transform: translateY(0); }\n `,\n true: keyframes`\n 0% { transform: translateY(100%); }\n 100% { transform: translateY(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-50%, 100%); }\n 100% { transform: translate(-50%, 0); }\n `,\n },\n left: {\n vertical: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n right: {\n vertical: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n start: {\n vertical: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(-100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n end: {\n vertical: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n horizontal: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n true: keyframes`\n 0% { transform: translateX(100%); }\n 100% { transform: translateX(0); }\n `,\n false: keyframes`\n 0% { transform: translate(100%, -50%); }\n 100% { transform: translate(0, -50%); }\n `,\n },\n};\n\nexport const animationDuration = 200;\n\nexport const getAnimationStyle = (props, position, full) => {\n let animation =\n props.animation !== undefined ? props.animation : props.animate;\n if (animation === undefined) animation = 'slide';\n let keys;\n if (animation === 'slide' || animation === true) {\n keys = KEYFRAMES[position][full];\n } else if (animation === 'fadeIn') {\n keys = keyframes`0% { opacity: 0 } 100% { opacity: 1 }`;\n }\n return keys\n ? css`\n animation: ${keys} ${animationDuration / 1000.0}s ease-in-out forwards;\n `\n : '';\n};\n\n const POSITIONS = {\n center: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translateX(-50%);\n ${props => getAnimationStyle(props, 'center', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translateY(-50%);\n ${props => getAnimationStyle(props, 'center', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n ${props => getAnimationStyle(props, 'center', 'true')}\n `,\n false: () => css`\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n ${props => getAnimationStyle(props, 'center', 'false')}\n `,\n },\n\n top: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0%);\n ${props => getAnimationStyle(props, 'top', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: ${bounds.top}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'top', 'false')}\n `,\n },\n\n bottom: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'bottom', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n left: 50%;\n transform: translate(-50%, 0);\n ${props => getAnimationStyle(props, 'bottom', 'false')}\n `,\n },\n\n left: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'left', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'left', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'left', 'true')}\n `,\n false: bounds => css`\n left: ${bounds.left}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'left', 'false')}\n `,\n },\n\n right: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'right', 'vertical')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'right', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'right', 'true')}\n `,\n false: bounds => css`\n right: ${bounds.right}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'right', 'false')}\n `,\n },\n\n start: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'start', 'vertical')}\n `,\n horizontal: bounds => css`\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'start', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'start', 'true')}\n `,\n false: bounds => css`\n inset-inline-start: ${bounds.start}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'start', 'false')}\n `,\n },\n\n end: {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'end', 'vertical')}\n `,\n horizontal: bounds => css`\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'end', 'horizontal')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n inset-inline-start: ${bounds.start}px;\n inset-inline-end: ${bounds.end}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'end', 'true')}\n `,\n false: bounds => css`\n inset-inline-end: ${bounds.end}px;\n top: 50%;\n transform: translate(0, -50%);\n ${props => getAnimationStyle(props, 'end', 'false')}\n `,\n },\n\n 'top-right': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 0;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')};\n `,\n },\n\n 'top-left': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n top: 0;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')} \n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n false: bounds => css`\n top: ${bounds.top}px;\n left: ${bounds.left}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'top', 'true')}\n `,\n },\n\n 'bottom-right': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n right: ${bounds.right}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n },\n\n 'bottom-left': {\n vertical: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n horizontal: bounds => css`\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n bottom: ${bounds.bottom}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n true: bounds => css`\n top: ${bounds.top}px;\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n right: ${bounds.right}px;\n transform: translateX(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n false: bounds => css`\n bottom: ${bounds.bottom}px;\n left: ${bounds.left}px;\n transform: translateY(0);\n ${props => getAnimationStyle(props, 'bottom', 'true')}\n `,\n },\n };\n\nexport const StyledContainer = styled.div.attrs({'data-s': 'StyledContainer'})`\n display: flex;\n min-height: ${themeGet('sizes.xsmall')};\n flex-direction: column;\n outline: none;\n align-items: baseline;\n pointer-events: all;\n z-index: ${themeGet('layer.container.zIndex')};\n\n position: ${props => (props.modal ? 'absolute' : 'fixed')};\n max-height: ${props => `calc(100% - ${getBounds(props.targetBounds, props.margin, props.theme, 'top', )}px - ${getBounds( props.targetBounds, props.margin,props.theme,'bottom',)}px)`};\n max-width: ${props => `calc(100% - ${getBounds( props.targetBounds,props.margin,props.theme,'left',)}px - ${getBounds( props.targetBounds, props.margin, props.theme,'right', )}px)`};\n border-radius: ${props => props.plain ? 0 : themeGet('layer.borderRadius', 0)};\n ${props => ( props.position !== 'hidden' && POSITIONS[props.position][props.full](getBounds(props.targetBounds, props.margin, props.theme), props.targetBounds,)) || ''};\n ${props => {\n const responsiveBreakpoint = themeGet('layer.responsiveBreakpoint', false)(props);\n if(props.responsive && responsiveBreakpoint) {\n return generateMedia(props).lessThan(responsiveBreakpoint)`\n position: relative;\n max-height: none;\n max-width: none;\n border-radius: 0;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n transform: none;\n animation: none;\n height: 100vh;\n width: 100vw;\n `\n } else {\n return null;\n }\n }}\n\n`;\n","\nimport React, { useEffect, useRef, useState } from 'react';\nimport { makeNodeFocusable, makeNodeUnfocusable, isNotAncestorOf, getBodyChildElements } from '../../core';\n\nexport const FocusedContainer = ({\n hidden = false,\n restrictScroll = false,\n children,\n ...rest\n}) => {\n const [bodyOverflowStyle, setBodyOverflowStyle] = useState('');\n const ref = useRef(null);\n\n useEffect(() => {\n const removeTrap = () => {\n const child = ref.current;\n getBodyChildElements()\n .filter(isNotAncestorOf(child))\n .forEach(makeNodeFocusable);\n if (restrictScroll) {\n document.body.style.overflow = bodyOverflowStyle;\n }\n };\n\n const trapFocus = () => {\n const child = ref.current;\n getBodyChildElements()\n .filter(isNotAncestorOf(child))\n .forEach(makeNodeUnfocusable);\n\n if (restrictScroll) {\n setBodyOverflowStyle(document.body.style.overflow);\n document.body.style.overflow = 'hidden';\n }\n };\n\n const timer = setTimeout(() => {\n if (!hidden) {\n trapFocus();\n }\n }, 0);\n\n return () => {\n removeTrap();\n clearTimeout(timer);\n };\n }, [hidden, bodyOverflowStyle, restrictScroll]);\n\n return (\n \n {children}\n
\n );\n};","import React, {\n forwardRef,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport styled, { ThemeContext } from 'styled-components';\nimport { StyledLayer, StyledContainer, StyledOverlay } from './StyledLayer';\nimport { FocusedContainer } from './FocusedContainer';\nimport { findVisibleParent } from '../../core';\n\nconst HiddenAnchor = styled.a`\n width: 0;\n height: 0;\n overflow: hidden;\n position: absolute;\n`;\n\n\nconst fullBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\nexport const LayerContainer = forwardRef(\n (\n {\n children,\n full = false,\n id,\n margin = 'none',\n modal = true,\n onClickOutside,\n onEsc,\n plain,\n position = 'center',\n responsive,\n target: layerTarget,\n ...rest\n },\n ref,\n ) => {\n\n const theme = useContext(ThemeContext);\n const [targetBounds, setTargetBounds] = useState(fullBounds);\n\n const anchorRef = useRef();\n const containerRef = useRef();\n const layerRef = useRef();\n\n useEffect(() => {\n if (position !== 'hidden') {\n const node = layerRef.current || containerRef.current || ref.current;\n if (node && node.scrollIntoView) node.scrollIntoView();\n // Once layer is open we make sure it has focus so that you\n // can start tabbing inside the layer. If the caller put focus\n // on an element already, we honor that. Otherwise, we put\n // the focus in the hidden anchor.\n let element = document.activeElement;\n while (element) {\n if (element === containerRef.current) {\n // already have focus inside the container\n break;\n }\n element = element.parentElement;\n }\n if (modal && !element && anchorRef.current) {\n anchorRef.current.focus();\n }\n }\n }, [modal, position, ref]);\n\n\n useEffect(() => {\n if (position !== 'hidden') {\n const node = layerRef.current || containerRef.current || ref.current;\n if (node && node.scrollIntoView) node.scrollIntoView();\n }\n }, [position, ref]);\n\n useEffect(() => {\n if (layerTarget) {\n const updateBounds = () => {\n const rect = findVisibleParent(layerTarget).getBoundingClientRect();\n setTargetBounds({\n left: rect.left,\n right: window.innerWidth - rect.right,\n top: rect.top,\n bottom: window.innerHeight - rect.bottom,\n });\n };\n\n updateBounds();\n window.addEventListener('resize', updateBounds);\n return () => window.removeEventListener('resize', updateBounds);\n }\n setTargetBounds(fullBounds);\n return undefined;\n }, [layerTarget]);\n\n\n let content = (\n \n {/* eslint-disable max-len */}\n {/* eslint-disable jsx-a11y/anchor-is-valid, jsx-a11y/anchor-has-content */}\n \n {/* eslint-enable jsx-a11y/anchor-is-valid, jsx-a11y/anchor-has-content */}\n {/* eslint-enable max-len */}\n {children}\n \n );\n\n if (modal) {\n content = (\n \n \n {content}\n \n );\n }\n\n if (onEsc) {\n // TODO enabled onEsc event\n console.warn(\"onEsc is not yet implemented\");\n }\n\n\n if (modal) {\n content = (\n \n {content}\n \n );\n }\n\n return content;\n\n }\n)","import React, { forwardRef, useContext, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { LayerContainer } from './LayerContainer';\nimport { getNewContainer } from '../../core';\nimport { animationDuration } from './StyledLayer';\n\nconst ContainerTargetContext = React.createContext(\n typeof document === 'object' ? document.body : undefined,\n);\n\nexport const Layer = forwardRef((props, ref) => {\n\n const { animate, animation } = props;\n const [originalFocusedElement, setOriginalFocusedElement] = useState();\n useEffect(() => setOriginalFocusedElement(document.activeElement), []);\n const [layerContainer, setLayerContainer] = useState();\n const containerTarget = useContext(ContainerTargetContext);\n useEffect(() => setLayerContainer(getNewContainer(containerTarget)), [\n containerTarget,\n ]);\n\n // just a few things to clean up when the Layer is unmounted\n useEffect(\n () => () => {\n if (originalFocusedElement) {\n if (originalFocusedElement.focus) {\n // wait for the fixed positioning to come back to normal\n // see layer styling for reference\n setTimeout(() => originalFocusedElement.focus(), 0);\n } else if (\n originalFocusedElement.parentNode &&\n originalFocusedElement.parentNode.focus\n ) {\n // required for IE11 and Edge\n originalFocusedElement.parentNode.focus();\n }\n }\n\n if (layerContainer) {\n const activeAnimation = animation !== undefined ? animation : animate;\n if (activeAnimation !== false) {\n // undefined uses 'slide' as the default\n // animate out and remove later\n const layerClone = layerContainer.cloneNode(true);\n layerClone.id = 'layerClone';\n\n containerTarget.appendChild(layerClone);\n const clonedContainer = layerClone.querySelector(\n '[data-s=\"StyledContainer\"]',\n );\n\n if (clonedContainer && clonedContainer.style) {\n clonedContainer.style.animationDirection = 'reverse';\n }\n setTimeout(() => {\n // we add the id and query here so the unit tests work\n const clone = document.getElementById('layerClone');\n if (clone) {\n containerTarget.removeChild(clone);\n layerContainer.remove();\n }\n }, animationDuration);\n } else {\n containerTarget.removeChild(layerContainer);\n }\n }\n },\n [\n animate,\n animation,\n containerTarget,\n layerContainer,\n originalFocusedElement,\n ],\n );\n\n\n return layerContainer ? createPortal(, layerContainer) : null;\n\n});\n\nLayer.displayName = 'Layer';\n","import React from 'react';\nimport styled from 'styled-components';\nimport SlickSlider from 'react-slick';\nimport { Box } from '../Box';\n\nimport { Icon } from '../Icon';\n\nconst SliderWrapper = styled.div`\n.slick-list,\n.slick-slider,\n.slick-track {\n position: relative;\n display: block;\n}\n.slick-loading .slick-slide,\n.slick-loading .slick-track {\n visibility: hidden;\n}\n.slick-slider {\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n}\n.slick-list {\n overflow: hidden;\n margin: 0;\n padding: 0;\n}\n.slick-list:focus {\n outline: 0;\n}\n.slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n}\n.slick-slider .slick-list,\n.slick-slider .slick-track {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n}\n.slick-track {\n top: 0;\n left: 0;\n}\n.slick-track:after,\n.slick-track:before {\n display: table;\n content: \"\";\n}\n.slick-track:after {\n clear: both;\n}\n.slick-slide {\n display: none;\n float: left;\n height: 100%;\n min-height: 1px;\n}\n[dir=\"rtl\"] .slick-slide {\n float: right;\n}\n.slick-slide img {\n display: block;\n}\n.slick-slide.slick-loading img {\n display: none;\n}\n.slick-slide.dragging img {\n pointer-events: none;\n}\n.slick-initialized .slick-slide {\n display: block;\n}\n.slick-vertical .slick-slide {\n display: block;\n height: auto;\n border: 1px solid transparent;\n}\n.slick-arrow.slick-hidden {\n display: none;\n}\n\n`;\n\n\nexport const Arrow = ({children, ...rest}) => \n {children}\n \n\nexport const PrevArrow = props => \n \n\nexport const NextArrow = props => \n\n\n\n\nexport const appendDots = dots => li' : {\n position: 'relative',\n display: 'inline-block',\n margin: '0 5px',\n width: '12px',\n height: '12px',\n cursor: 'pointer',\n },\n\n '& > li > button' : {\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n outline: 0,\n borderRadius: '50%',\n backgroundColor: 'transparent',\n textIndent: '-999em',\n cursor: 'pointer',\n position: 'absolute',\n border: '1px solid',\n borderColor: 'primary500',\n padding: 0,\n },\n '& > li > button::after' : {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width:' 100%',\n height: '100%',\n visibility: 'hidden',\n background: 'primary500',\n borderRadius: '50%',\n boxShadow: '0 0 1px #02afbc',\n opacity: 0,\n transform:' scale(2.5)',\n transition: 'opacity .3s ease, transform .3s ease, visibility 0s .3s',\n },\n '& > li.slick-active > button::after' :{\n visibility: 'visible',\n opacity: 1,\n transform: 'scale(1.5)',\n transition: 'opacity .3s ease,transform .3s ease',\n }\n }}\n>{dots}\n\nexport const Slider = React.forwardRef(({children, ...rest}, ref) => {\n return (\n \n {children}\n \n )\n});\n\n","import React, { useRef, useEffect } from 'react';\nimport { Box } from '../Box';\nimport YouTube from 'react-youtube';\nimport { findParentByMatchedQuery } from '../../core';\n\n\n\nconst SlideSubtitle = ({ subtitle }) => {\n if (typeof subtitle === 'string') {\n return {subtitle}\n }\n else {\n return subtitle;\n }\n}\n\nconst SlideIamge = ({ imageSrc, ...rest }) => {\n\n return \n}\n\nconst SlideVideo = ({ videoId, sx, variant, opt, ...rest }) => {\n\n const options = {\n height: '100%',\n width: '100%',\n playerVars: {\n autoplay: 1,\n loop: 1,\n },\n\n ...opt\n }\n\n return div:first-child, & iframe': {\n height: '100%',\n width: '100%'\n },\n\n }}\n variant={variant}\n sx={variant}\n >\n \n \n}\n\n\nexport const Slide = ({ children, isActive = false, subtitle = null, content = null, bgImage = null, videoId = null, ...rest }) => {\n\n const ref = useRef(null);\n const refVideo = useRef(null);\n\n const toggleVideo = (_isActive) => {\n if (refVideo.current) {\n if (_isActive) {\n // find visible and active parent element of this slide;\n let el = findParentByMatchedQuery(ref.current, 'slick-slide');\n if (el.classList && !el.classList.contains('slick-cloned')) {\n refVideo.current.playVideo();\n }\n } else {\n refVideo.current.pauseVideo()\n }\n }\n }\n\n useEffect(() => {\n toggleVideo(isActive);\n }, [isActive]);\n\n const onVideoReady = e => {\n refVideo.current = e.target;\n toggleVideo(isActive);\n }\n\n return \n\n {videoId && }\n {subtitle && }\n {bgImage && }\n {content && \n {content}\n }\n\n\n \n}","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Box, Flex } from '../Box';\nimport { MotionFlex } from '../Animation';\nimport { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { Input } from '../Form';\nimport { DirectionManagerContext, getVariant } from '../../core';\n\nconst SearchOverlayTop = ({ closeIcon, topContent, variant, onClose }) => \n\n {topContent ? topContent :\n \n }\n\n\n\nconst SearchOverlayForm = ({ onSubmit, inputRef, inputPlaceholder, variant, onClickSearchIcon, inputTitle }) => \n\n \n\n\n\n\nconst SearchOverlayInfo = ({ searchInfo, variant }) => \n {searchInfo}\n\n\nconst SearchOverlayContainer = ({\n children,\n open = false,\n onClose,\n onSubmit,\n inputTitle = \"Veuillez tapez quelques chose\",\n inputPlaceholder = \"Que recherchez-vous ?\",\n searchInfo = \"Appuyer sur la touche \\\"Entrée\\\" du clavier pour lancer la recherche\",\n topContent = null,\n closeIcon = null,\n variant = \"searchOverlay\",\n\n ...rest }) => {\n\n const dir = React.useContext(DirectionManagerContext);\n const motionVariants = {\n visible: { opacity: 1 },\n hidden: { opacity: 0 }\n }\n\n const inputRef = React.createRef();\n\n React.useEffect(() => {\n if (open) {\n inputRef.current.value = '';\n }\n });\n\n const handleSubmitForm = (e) => {\n e.preventDefault();\n onSubmit(inputRef.current.value || null)\n }\n\n return \n \n \n \n \n\n \n \n};\n\n\n\nexport const SearchOverlay = ({\n open = false,\n children,\n ...rest\n}) => {\n return ReactDOM.createPortal(,\n document.body\n )\n}","\n/**\n * Design tokens\n * -------------------- \n * Colors\n */\nconst colors = {\n\n black: '#000',\n white: '#fff',\n transparent: 'transparent',\n light: '',\n disabled: '',\n\n text: '#0a1f44',\n\n primary100: '#f2f6ff',\n primary200: '#d9e4ff',\n primary300: '#a6c1ff',\n primary400: '#598bff',\n primary500: '#3366ff',\n primary600: '#274bdb',\n primary700: '#1a34b8',\n primary800: '#102694',\n primary900: '#091c7a',\n\n black100: '#707d91',\n black200: '#626f88',\n black300: '#596680',\n black400: '#4e5c78',\n black500: '#455571',\n black600: '#374766',\n black700: '#293a5b',\n black800: '#13284b',\n black900: '#0a1f44',\n\n gray100: '#f7f8f9',\n gray200: '#f7f8f9',\n gray300: '#f1f2f4',\n gray400: '#e1e4e8',\n gray500: '#c9ced6',\n gray600: '#afb7c3',\n gray700: '#a6aebb',\n gray800: '#98a1b1',\n gray900: '#8a94a6',\n\n success100: '#f0fff5',\n success200: '#ccfce3',\n success300: '#8cfac7',\n success400: '#2ce69b',\n success500: '#00d68f',\n success600: '#00b887',\n success700: '#00997a',\n success800: '#007d6c',\n success900: '#004a45',\n\n info100: '#f2f8ff',\n info200: '#c7e2ff',\n info300: '#94cbff',\n info400: '#42aaff',\n info500: '#0095ff',\n info600: '#006fd6',\n info700: '#0057c2',\n info800: '#0041a8',\n info900: '#002885',\n\n warning100: '#fffdf2',\n warning200: '#fff1c2',\n warning300: '#ffe59e',\n warning400: '#ffc94d',\n warning500: '#ffaa00',\n warning600: '#db8b00',\n warning700: '#b86e00',\n warning800: '#945400',\n warning900: '#703c00',\n\n danger100: '#fff2f2',\n danger200: '#ffd6d9',\n danger300: '#ffa8b4',\n danger400: '#ff708d',\n danger500: '#ff3d71',\n danger600: '#db2c66',\n danger700: '#b81d5b',\n danger800: '#94124e',\n danger900: '#700940',\n\n btnPrimary: '#3366ff',\n\n backgroundBasic100: '#fff',\n backgroundBasic200: '#f7f8f9',\n\n textBasic500: '#30435c',\n textBasic900: '#30435c',\n \n skeletonBackground: 'rgba(0, 0, 0, 0.08)',\n\n modes: {\n dark: {\n text: 'warning400',\n background: '#0a1f44',\n btnPrimary: '#ff3d71',\n\n backgroundBasic100: '#000',\n backgroundBasic200: '#303030',\n\n skeletonBackground: 'rgba(255, 255, 255, 0.25)',\n textBasic500: '#fff',\n textBasic900: '#fff',\n \n }\n }\n\n\n};\n\nconst defaultColorVariants = {\n primary : colors.primary500,\n black : colors.black500,\n gray : colors.gray500,\n success : colors.success500,\n info : colors.info500,\n warning : colors.warning500,\n danger : colors.danger500\n}\n\nexport default {...colors, ...defaultColorVariants};","\n/**\n * Design tokens\n * -------------------- \n * Breakpoints\n */\n\nconst breakpoints = [\n '576px', \n '768px', \n '992px', \n '1200px'\n];\n\nbreakpoints.xs = '0px';\nbreakpoints.sm = '576px'; \nbreakpoints.md = '768px';\nbreakpoints.lg = '992px'; \nbreakpoints.xl = '1200px';\n\nexport default breakpoints;\n\nexport const gridSystem = {\n gridSize: 12,\n gutterWidth: 16,\n outerMargin: 8,\n container: {\n sm: '540px', \n md: '720px', \n lg: '960px', \n xl: '1140px',\n }\n}","\n/**\n * Design tokens\n * -------------------- \n * Spacing\n */\nconst space = {\n none : '0px',\n xxxsmall : '2px',\n xxsmall : '4px',\n xsmall : '8px',\n small : '12px',\n medium : '16px',\n large : '24px',\n xlarge : '32px',\n xxlarge : '40px',\n xxxlarge : '64px',\n};\n\nexport default space;","\n/**\n * Design tokens\n * -------------------- \n * Colors\n */\n\n const shadows = {\n 0: '0 1px 1px 0 rgba(8, 11, 14, 0.1)',\n 1: '0 3px 3px -1px rgba(8, 11, 14, 0.1)',\n 2: '0 6px 6px -1px rgba(8, 11, 14, 0.1)',\n 3: '0 16px 16px -1px rgba(8, 11, 14, 0.1)',\n 4: '0 32px 40px -1px rgba(8, 11, 14, 0.1)',\n };\n\n export default shadows;","\n\n/**\n * Design tokens\n * -------------------- \n * Spacing\n */\nconst sizes = {\n xxxsmall: '2px',\n xxsmall: '4px',\n xsmall: '8px',\n small: '12px',\n medium: '16px',\n large: '24px',\n xlarge: '32px',\n xxlarge: '64px',\n xxxlarge: '128px',\n};\n\nexport default sizes;","\n\n/**\n * Design tokens\n * -------------------- \n * FontFamily\n */\n\n const fonts = {\n sans: 'Roboto, sans-serif',\n serif: '\\'Roboto Slab\\', serif',\n monospace: '\\'Roboto Mono\\', monospace',\n montserrat: \"'Montserrat', sans-serif\"\n };\n\n export default fonts;","\n\n/**\n * Design tokens\n * -------------------- \n * Font Weights\n */\n\nconst fontWeights = {\n thin : 100,\n extraLight : 200,\n light : 300,\n regular : 400,\n medium : 500,\n semiBold : 600,\n bold : 700,\n extraBold : 800,\n black : 900,\n };\n\n export default fontWeights;","\n/**\n * Design tokens\n * -------------------- \n * Font Sizes\n */\n\nconst fontSizes = {\n tiny : '10px',\n caption : '12px',\n body : '14px',\n paragraph : '16px',\n subheader : '17px',\n title : '22px',\n heading6 : '16px',\n heading5 : '20px',\n heading4 : '24px',\n heading3 : '28px',\n heading2 : '40px',\n heading1 : '48px',\n heading1x : '74px',\n };\n\n export default fontSizes;","\n/**\n * Design tokens\n * -------------------- \n * Line Heights\n */\n\nconst lineHeights = {\n tiny : '17px',\n caption : '20px',\n body : '24px',\n paragraph : '26px',\n subheader : '30px',\n title : '32px',\n heading6 : '26px',\n heading5 : '32px',\n heading4 : '38px',\n heading3 : '44px',\n heading2 : '62px',\n heading1 : '62px',\n };\n\n export default lineHeights;","import colors from './colors';\n\n\n/**\n * Design tokens\n * -------------------- \n * Border\n */\nconst borders = {\n primary : `1px solid ${colors.primary500}`,\n success : `1px solid ${colors.success500}`,\n danger : `1px solid ${colors.danger500}`,\n info : `1px solid ${colors.info500}`,\n warning : `1px solid ${colors.warning500}`,\n black : `1px solid ${colors.black500}`,\n gray : `1px solid ${colors.gray500}`,\n};\n\n\nexport const radii = {\n none : '0px',\n xsmall : '2px',\n small : '4px',\n medium : '6px',\n large : '8px',\n xlarge : '12px',\n rounded : '1000rem' \n};\n\n\nexport const borderWidths = {\n none : 'Opx',\n xsmall : '1px',\n small : '2px',\n medium : '4px',\n large : '8px'\n};\n\nexport const borderStyles = {\n \n};\n\nexport default borders;","\n\nconst buttons = {\n fill: {\n primary: {\n backgroundColor: 'primary500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'primary600',\n color: 'white',\n borderColor: 'primary600',\n },\n ':disabled': {\n backgroundColor: 'primary100',\n color: 'primary300',\n borderColor: 'primary200',\n }\n },\n danger : {\n backgroundColor: 'danger500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'danger600',\n color: 'white',\n borderColor: 'danger600',\n },\n ':disabled': {\n backgroundColor: 'danger100',\n color: 'danger300',\n borderColor: 'danger200',\n }\n },\n success : {\n backgroundColor: 'success500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'success600',\n color: 'white',\n borderColor: 'success600',\n },\n ':disabled': {\n backgroundColor: 'success100',\n color: 'success300',\n borderColor: 'success200',\n }\n },\n info : {\n backgroundColor: 'info500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'info600',\n color: 'white',\n borderColor: 'info600',\n },\n ':disabled': {\n backgroundColor: 'info100',\n color: 'info300',\n borderColor: 'info200',\n }\n },\n warning : {\n backgroundColor: 'warning500',\n color: 'white',\n fontSize: 'paragraph',\n lineHeight: 'paragraph',\n borderWidth: '2px',\n borderColor: 'transparent',\n ':hover': {\n backgroundColor: 'warning600',\n color: 'white',\n borderColor: 'warning600',\n },\n ':disabled': {\n backgroundColor: 'warning100',\n color: 'warning300',\n borderColor: 'warning200',\n }\n }\n },\n size: {\n small: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '14px',\n lineHeight: '20px'\n\n },\n medium: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '16px',\n lineHeight: '24px'\n },\n large: {\n paddingTop: 'xxsmall',\n paddingBottom: 'xxsmall',\n paddingLeft: 'large',\n paddingRight: 'large',\n fontSize: '22px',\n lineHeight: '28px',\n\n }\n },\n\n outline: {\n primary: {\n border: 'primary',\n color: 'primary500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'primary500',\n color: 'white',\n borderColor: 'primary500',\n },\n },\n danger: {\n border: 'danger',\n color: 'danger500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'danger500',\n color: 'white',\n borderColor: 'danger500',\n },\n },\n success: {\n border: 'success',\n color: 'success500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'success500',\n color: 'white',\n borderColor: 'success500',\n },\n },\n warning: {\n border: 'warning',\n color: 'warning500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'warning500',\n color: 'white',\n borderColor: 'warning500',\n },\n },\n info: {\n border: 'info',\n color: 'info500',\n borderWidth: 'small',\n backgroundColor: 'transparent',\n ':hover': {\n backgroundColor: 'info500',\n color: 'white',\n borderColor: 'info500',\n },\n },\n }\n \n};\n\n\nexport default buttons;","\n\nconst anchors = {\n variants: {\n primary: {\n color: 'primary500',\n textDecoration: 'none',\n '&:hover': {\n color: 'primary600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'gray300',\n }\n },\n danger : {\n color: 'danger500',\n textDecoration: 'none',\n '&:hover': {\n color: 'danger600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'danger300',\n }\n },\n success : {\n color: 'success500',\n textDecoration: 'none',\n '&:hover': {\n color: 'success600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'success300',\n }\n },\n info : {\n color: 'info500',\n textDecoration: 'none',\n '&:hover': {\n color: 'info600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'info300',\n }\n },\n warning : {\n color: 'warning500',\n textDecoration: 'none',\n '&:hover': {\n color: 'warning600',\n textDecoration: 'underline',\n\n },\n '&:disabled': {\n color: 'warning300',\n }\n }\n },\n};\n\n\nexport default anchors;","import colors from \"../constants/colors\";\n\n\n\n\nconst inputs = {\n\n iconContainer: {\n width: '30px'\n },\n variants: {\n default: {\n color: 'black800',\n borderColor: 'gray500',\n borderWidth: '1px',\n borderRadius: 'small',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: 'primary600',\n boxShadow: `0 0 0 2px ${colors.primary600}`\n },\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n },\n dam: {\n color: '#707070',\n borderColor: '#dfdfdf',\n borderWidth: '1px',\n borderRadius: 'rounded',\n lineHeight: '30px',\n fontSize: '16px',\n width: '100%',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: '#dfdfdf',\n boxShadow: 'none'\n },\n\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n },\n awb: {\n color: '#000',\n border: '2px solid #f5c000',\n backgroundColor: '#fff',\n fontWeight: 700,\n borderRadius: 'none',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075)',\n transition: 'border-color ease-in-out .15s,box-shadow ease-in-out .15s',\n ':hover,:active': {\n boxShadow: 'none'\n },\n ':focus': {\n borderColor: '#f5c001',\n outline: '0',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(245,192,1,.6)'\n },\n\n ':disabled': {\n backgroundColor: 'gray200',\n boxShadow: 'none',\n color: 'gray800',\n borderColor: 'gray500'\n }\n }\n },\n status: {\n primary: {\n borderColor: 'primary500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.primary200}`\n },\n ':focus': {\n borderColor: 'primary600',\n boxShadow: `0 0 0 3px ${colors.primary200}`\n }\n },\n danger : {\n borderColor: 'danger500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.danger200}`\n },\n ':focus': {\n borderColor: 'danger600',\n boxShadow: `0 0 0 3px ${colors.danger200}`\n }\n },\n success : {\n borderColor: 'success500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.success200}`\n },\n ':focus': {\n borderColor: 'success600',\n boxShadow: `0 0 0 3px ${colors.success200}`\n }\n },\n info : {\n borderColor: 'info500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.info200}`\n },\n ':focus': {\n borderColor: 'info600',\n boxShadow: `0 0 0 3px ${colors.info200}`\n }\n },\n warning : {\n borderColor: 'warning500',\n ':hover,:active': {\n boxShadow: `0 0 0 3px ${colors.warning200}`\n },\n ':focus': {\n borderColor: 'warning600',\n boxShadow: `0 0 0 3px ${colors.warning200}`\n }\n }\n },\n\n sizes: {\n small: {\n paddingY: 'xxsmall',\n paddingX: 'xsmall',\n fontSize: '14px',\n lineHeight: '20px'\n\n },\n medium: {\n paddingY: 'xsmall',\n paddingX: 'xsmall',\n fontSize: '16px',\n lineHeight: '24px'\n },\n large: {\n paddingY: 'small',\n paddingX: 'small',\n fontSize: '18px',\n lineHeight: '26px'\n },\n dam: {\n \n paddingX: '14px',\n fontSize: '16px',\n lineHeight: '30px',\n },\n awb: {\n padding: '7px 25px',\n fontSize: '18px',\n lineHeight: '1.33337',\n fontWeight: 700,\n height: '60px',\n width: '100%'\n }\n }\n};\n\n\nexport default inputs;","\nconst labels = {\n variants: {\n default: {\n color: 'gray500',\n fontSize: '14px',\n lineHeight: '24px',\n fontWeight: 400,\n },\n dam: {\n color: '#707070',\n fontSize: '16px',\n lineHeight: '27px',\n fontWeight: 400,\n },\n awb: {\n color: '#000000',\n fontSize: '20px',\n lineHeight: '2.7rem',\n fontWeight: 300,\n margin: '0 0 10px 0'\n }\n },\n};\n\n\nexport default labels;","\n\nconst radio = {\n\n primary: {\n color: 'gray300',\n 'input:checked ~ &': {\n color: 'primary500',\n },\n },\n\n danger: {\n color: 'danger300',\n 'input:checked ~ &': {\n color: 'danger500',\n },\n }\n \n};\n\nexport default radio;\n\n","\n\nconst checkbox = {\n\n primary: {\n color: 'gray300',\n 'input:checked ~ &': {\n color: 'primary500',\n },\n },\n\n danger: {\n color: 'danger300',\n 'input:checked ~ &': {\n color: 'danger500',\n },\n }\n \n};\n\nexport default checkbox;\n\n","\n\nconst select = {\n\n // uncomment to override defaults\n // states: {\n // danger: {},\n // success: {},\n // }\n \n};\n\nexport default select;\n","export const layer = {\n responsiveBreakpoint: 'md',\n zIndex: 1000,\n\n backgroundColor: 'primary200',\n\n container: {\n zIndex: 1001,\n },\n overlay: {\n backgroundColor: 'gray700',\n opacity: 0.5,\n },\n default: {\n }\n};","\n\nconst tabs = {\n\n header: {\n },\n tab: {\n },\n activeTab: {\n },\n content: {\n },\n\n\n cardType: {\n border: 0,\n header: {\n backgroundColor:'transparent',\n borderBottom: '1px solid',\n borderColor: 'gray400',\n },\n tab: {\n border: '1px solid',\n borderColor: 'gray400',\n borderRadius: \"4px\",\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n marginBottom: '-1px',\n mx:'3px',\n '&:not(first-of-type)': {\n marginLeft: '0'\n },\n },\n activeTab: {\n border: '1px solid',\n borderColor: 'gray400',\n borderBottom: 0, \n backgroundColor: 'white',\n borderRadius: \"4px\",\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n marginBottom: '-1px',\n mx:'3px',\n '&:not(first-of-type)': {\n marginLeft: '0'\n },\n },\n content: {\n py: 'large',\n px: 'small',\n border: '1px solid',\n borderColor: 'gray400',\n borderTop: 0, \n },\n },\n\n cardContainerType: {\n border: 0,\n header: {\n backgroundColor:'transparent',\n },\n tab: {\n \n backgroundColor:'transparent',\n mx:'-1px',\n marginBottom: '-1px',\n },\n activeTab: {\n backgroundColor: 'white',\n marginBottom: '-1px',\n },\n content: {\n py: 'large',\n px: 'small',\n backgroundColor: 'white'\n },\n }\n \n};\n\nexport default tabs;\n","\n\nconst accordion = {\n \n\n\n panel: {\n borderColor: 'gray400'\n },\n\n header: {\n backgroundColor: 'gray100',\n borderColor: 'gray400',\n p: ['medium', null, 'large']\n },\n\n primary: {\n panel: {\n borderColor: 'primary900',\n borderWidth: '3px'\n },\n },\n\n danger: {\n margin: 0,\n panel: {\n borderColor: 'danger500',\n borderWidth: '3px'\n },\n header: {\n borderColor: 'danger500',\n p: ['medium', null, 'large']\n },\n\n primary: {\n panel: {\n borderColor: 'danger500',\n borderWidth: '3px'\n },\n },\n }\n};\n\nexport default accordion;\n","\n\nconst breadcrumb = {\n\n saber: {\n backgroundColor: 'transparent',\n padding: 'small',\n fontFamily: 'montserrat',\n fontSize: '16px',\n\n item: {\n color: 'primary900',\n active: {\n color: 'primary500'\n }\n },\n\n separator: {\n\n },\n\n '& .vf-breadcrumb__item': {\n\n },\n '& vf-breadcrumb__item.vf-breadcrumb__item--active': {\n ':hover': {\n }\n },\n },\n\n};\n\nexport default breadcrumb;\n","\n\n\nconst navs = {\n\n\n nav: {\n\n },\n activeNav: {\n\n },\n\n // variants\n capitalazur: {\n padding: '0px',\n fontFamily: 'montserrat',\n backgroundColor: 'white',\n boxShadow: 1,\n py: 'large',\n alignItems: 'start',\n nav: {\n padding: '0px',\n fontSize: '14px',\n fontWeight: 500,\n color: '#000000',\n textTransform: 'uppercase',\n px: '16px',\n py: ['16px', '0'],\n borderWidth: ['0', '2px'],\n borderStyle: 'solid',\n borderColor: 'gray500',\n borderTop: '0px',\n borderBottom: '0px',\n\n\n '&:first-of-type' : {\n border: '0px',\n },\n '&:last-of-type' : {\n border: '0px',\n },\n ':hover': {\n color: '#017CFE'\n }\n\n },\n activeNav: {\n padding: '0px',\n color: '#017CFE',\n px: '16px',\n py: ['16px', '0'],\n fontWeight: 600,\n ':hover': {\n color: '#017CFE'\n }\n },\n }\n\n};\n\nexport default navs;\n","\n// @todo: thinking if we can add value in object fontSizes/lineHeights for paragraphMobile, heading1Mobile heading2Mobile...\nexport const heading = {\n default: {\n color: 'black500',\n h1: {\n fontSize: [\"28px\", null, \"50px\", 'heading1', 'heading1'],\n lineHeight: ['28px', \"37px\", \"heading1\"],\n marginBottom: ['15px', null, '20px'],\n },\n h2: {\n fontSize: [\"22px\", null, \"heading2\"],\n lineHeight: ['27px', null, \"heading2\"],\n marginBottom: ['15px', null, '20px'],\n },\n h3: {\n fontSize: [\"18px\", null, \"heading3\"],\n lineHeight: ['27px', null, \"heading3\"],\n marginBottom: ['15px', null, '20px'],\n },\n h4: {\n fontSize: [\"18px\", null, \"heading4\"],\n lineHeight: ['21px', null, \"heading4\"],\n marginBottom: ['15px', null, '20px'],\n },\n h5: {\n fontSize: [\"16px\", null, \"heading5\"],\n lineHeight: ['19px', null, \"heading5\"],\n marginBottom: ['15px', null, '20px'],\n },\n h6: {\n fontSize: [\"16px\", null, \"heading6\"],\n lineHeight: ['20px', null, \"heading6\"],\n marginBottom: ['15px', null, '20px'],\n },\n },\n};\n\n\nexport const paragraph = {\n default: {\n fontSize: ['15px', null, 'paragraph'],\n lineHeight: 'paragraph',\n marginBottom: 'xsmall',\n },\n}\n\n\n\n\n\n","\n\nexport const searchOverlay = {\n\n default : {\n\n wrapper : {\n\n },\n top: {\n closeBtn: {\n \n }\n },\n form: {\n wrapper: {\n\n },\n input: {\n\n },\n searchBtn: {\n\n }\n },\n info: {\n\n },\n \n '&.vf-search-overlay--open' : {\n\n },\n\n '&.vf-search-overlay--close' : {\n\n },\n\n '& .vf-search-overlay__content-wrapper' : {\n \n }\n\n }\n\n}","\nimport colors from './constants/colors';\nimport breakpoints, {gridSystem} from './constants/breakpoints';\nimport space from './constants/space';\nimport shadows from './constants/shadows';\nimport sizes from './constants/sizes';\nimport fonts from './constants/fonts';\nimport fontWeights from './constants/fontWeights';\nimport fontSizes from './constants/fontSizes';\nimport lineHeights from './constants/lineHeights';\nimport borders, {radii, borderWidths, borderStyles} from './constants/borders';\n\nimport buttons from './components/buttons';\nimport anchors from './components/anchors';\nimport inputs from './components/inputs';\n\nimport labels from './components/labels';\nimport radio from './components/radio';\nimport checkbox from './components/checkbox';\nimport select from './components/select';\nimport {layer} from './components/layer';\nimport tabs from './components/tabs';\nimport accordion from './components/accordion';\nimport breadcrumb from './components/breadcrumb';\nimport navs from './components/navs';\nimport {heading, paragraph} from './components/text';\nimport {searchOverlay} from './components/search-overlay';\n\nconst baseTheme = {\n colors,\n breakpoints,\n space,\n shadows,\n fonts,\n fontWeights,\n fontSizes,\n lineHeights,\n sizes,\n borders,\n radii,\n borderWidths,\n borderStyles,\n gridSystem,\n}\n\nconst componentsTheme = {\n buttons,\n anchors,\n inputs,\n labels,\n radio,\n checkbox,\n select,\n layer,\n tabs,\n accordion,\n breadcrumb,\n navs,\n heading,\n paragraph,\n searchOverlay,\n\n}\n\n\nexport const theme = {\n \n ...baseTheme,\n ...componentsTheme,\n};"],"names":["AccordionContext","createContext","VactoryThemeContext","React","colorMode","setColorMode","useVactoryTheme","useContext","STORAGE_KEY","storage","get","init","window","localStorage","getItem","e","console","warn","set","value","setItem","getColorsByMode","theme","mode","themeColors","colors","modes","deepmerge","all","useColorModeState","stored","useState","setMode","useEffect","useColorMode","Error","ColorModeProvider","children","styledComponentTheme","ThemeContext","context","DirectionManagerContext","DirectionManager","dir","stylisRTLPlugin","classnames","args","join","getClassName","el","props","className","StyledChildren","styledChildren","Children","toArray","map","child","cloneElement","Space","styled","space","DEFAULT_BREAKPOINTS","xs","sm","md","lg","xl","getSizeFromBreakpoint","breakpointValue","breakpoints","parseInt","error","lessThan","breakpoint","css","greaterThan","between","firstBreakpoint","secondBreakpoint","generateMedia","PRE","RegExp","systemProps","_getProps","test","next","key","MRE","margin","propNames","getMarginProps","k","omitMarginProps","getSystemProps","SizePropsRegExp","size","omitSizeProps","getSizeProps","LayoutPropsRegExp","layout","omitLayoutProps","getLayoutProps","SpacePRopsRegExp","omitSpaceProps","getSpaceProps","omitProps","propsToOmit","exp","getProps","propsToGet","sx","base","__css","variant","variantReducer","accumulator","currentValue","getVariant","reduce","findParentByMatchedQuery","element","offsetParent","parentNode","classList","contains","undefined","findVisibleParent","parentElement","getNewContainer","rootNode","document","body","container","createElement","appendChild","getBodyChildElements","excludeMatch","forEach","call","node","tagName","push","TABINDEX","TABINDEX_STATE","makeNodeFocusable","hasAttribute","setAttribute","elements","getElementsByTagName","Array","prototype","filter","prior","getAttribute","removeAttribute","autoFocusingTags","makeNodeUnfocusable","currentTag","toLowerCase","match","focus","isNotAncestorOf","parent","setFocusWithoutScroll","x","scrollX","y","scrollY","scrollTo","findScrollParents","horizontal","result","getBoundingClientRect","rect","width","scrollWidth","height","scrollHeight","length","parseMetricToNum","fontAsString","process","env","NODE_ENV","parseFloat","IntersectionContext","inView","IntersectionObserver","threshold","reset","setInView","intersectionRef","useRef","intersection","useIntersection","inViewNow","intersectionRatio","useIsomorphicLayoutEffect","useLayoutEffect","isBrowser","getScrollPosition","useWindow","target","current","position","left","top","useScrollPosition","effect","deps","wait","throttleTimeout","callBack","currPos","prevPos","handleScroll","setTimeout","addEventListener","removeEventListener","defaultProps","getClosestValue","val","arr","index","sort","a","b","findIndex","useMediaLessThan","useMedia","useMediaGreaterThan","useMediaBetween","bp1","bp2","bp","mediaQuery","doesMatch","onSetDoesMatch","breakpointsKeys","Object","keys","_bp","isNaN","_query","includes","sortedBreakpointsValues","stripUnit","maxWidth","onUpdateMatch","matches","matcher","matchMedia","isModern","addListener","removeListener","BoxWithoutConfig","boxSizing","minWidth","styledCss","compose","color","flexbox","border","typography","boxShadow","Box","withConfig","shouldForwardProp","prop","defaultValidatorFn","WithoutConfig","Flex","display","activeAsArray","active","Accordion","forwardRef","ref","activeIndex","multiple","onChange","rest","activeIndexes","setActiveIndexes","stateActiveIndex","setStateActiveIndex","derivedActiveIndexes","onPanelChange","nextActiveIndexes","nextActiveIndex","indexOf","splice","panels","panelKey","MotionBox","motion","custom","MotionFlex","ParallaxBox","as","easing","elementTop","setElementTop","useViewportScroll","setValues","offsetTop","transformInitialValue","transformFinalValue","yRange","useTransform","clamp","defaultHidden","opacity","defaultVisible","RevealBox","delayOrder","duration","hidden","visible","transition","useMemo","delay","ease","variants","show","PanelHeaderBaseStyle","alignItems","flexDirection","justifyContent","borderBottom","borderColor","marginBottom","backgroundColor","py","px","AccordionPanel","header","title","animationTransition","variantAccordion","motionVariantsContent","inactive","transitionEnd","padding","outline","cursor","overflow","Anchor","fontSize","lineHeight","textDecoration","renderBreadcrumbItems","separator","childrenCount","count","isLastItem","Fragment","Breadcrumb","items","BreadcrumbItem","href","fillVariants","StyledVariant","scale","primary","sizeVariants","medium","outlineVariants","Button","borderRadius","stretch","right","bottom","zIndex","pointerEvents","content","buttonStyle","background","shadow","fill","Link","PortalContext","ContainerTargetContext","getTransformOriginStyle","align","vertical","DropContent","alignProp","transformOrigin","DropContainer","dropTarget","onClickOutside","plain","responsive","restrictFocus","portalContext","portalId","nextPortalContext","dropRef","place","preserveHeight","windowWidth","innerWidth","windowHeight","innerHeight","style","maxHeight","targetRect","containerRect","Math","min","max","percentVisibleAreaBelow","drop","scrollParents","addScrollListeners","scrollParent","removeScrollListeners","onClickDocument","event","clickedPortalId","attr","onResize","Drop","originalFocusedElement","setOriginalFocusedElement","activeElement","dropContainer","setDropContainer","containerTarget","removeChild","ReactDOM","createPortal","Footer","minHeight","VactoryIconContext","iconSet","VactoryIconProvider","Provider","VactoryIconConsumer","Consumer","useVactoryIcon","mergeIcons","source","icons","concat","WrapperIcon","Icon","attrs","removeInlineStyle","icon","name","SVG","CheckboxChecked","CheckboxUnchecked","CheckboxIcon","iconName","checkedIconName","uncheckedIconName","Checkbox","mr","bg","variantVariants","variantStatus","variantSizes","StyledInput","type","Input","reverse","Label","RadioProps","RadioChecked","RadioUnchecked","RadioIcon","Radio","DownArrow","SelectIcon","ml","alignSelf","StyledSelectBox","t","danger","success","info","Select","options","selectRef","p","appearance","pr","entries","i","option","Option","GlobalStyle","createGlobalStyle","fonts","sans","fontSizes","DEFAULT_CONFIG","gridSize","gutterWidth","outerMargin","THEME_CONF","configCache","generateConfigCacheId","JSON","stringify","resolveConfig","themeConf","conf","getConfig","cacheId","sortBreakpointProps","propsArr","breakpointNames","_prop","sortedBreakpoints","valueBp1","valueBp2","getGridSize","getGutterWidth","getOuterMargin","getContainer","generateMediaforContainer","breakpointsName","fluid","StyledContainer","div","Container","StyledRow","Row","generateMediaForCol","StyledCol","Col","Header","fixed","sticky","stickyOptions","fixedStyle","Wrapper","Headroom","Image","Navs","navs","nav","Nav","PaginationPageButton","mx","textAlign","PaginationPrevNextButton","PaginationJumpButton","itemRender","Pagination","flexWrap","RCPagination","frFR","Tab","isActive","onClickTab","handleOnClickTab","preventDefault","Tabs","propsActiveKey","activeTab","showBar","onTabClick","onNextClick","onPrevClick","activeKey","setActiveKey","tabRefs","headerAnimationCtrls","useAnimation","inkBarAnimationCtrls","headerTabRef","animateInkBar","currentTabBCR","headerTabBCR","start","handleClickTab","onActive","activeContent","tabs","tab","tabProps","isTabActive","tabKey","m","flexGrow","Text","fontWeight","Paragraph","Heading","withTheme","level","variantName","themeGet","List_","ordered","listStyle","List","Item_","Item","StyledLayer","responsiveBreakpoint","mediaStyle","hidenStyle","boundsStyle","targetBounds","StyledOverlay","getMargin","axis","marginValue","marginApplied","marginInTheme","getBounds","bounds","end","KEYFRAMES","center","keyframes","animationDuration","getAnimationStyle","full","animation","animate","POSITIONS","modal","FocusedContainer","restrictScroll","bodyOverflowStyle","setBodyOverflowStyle","removeTrap","trapFocus","timer","clearTimeout","HiddenAnchor","fullBounds","LayerContainer","id","onEsc","layerTarget","setTargetBounds","anchorRef","containerRef","layerRef","scrollIntoView","updateBounds","Layer","layerContainer","setLayerContainer","activeAnimation","layerClone","cloneNode","clonedContainer","querySelector","animationDirection","clone","getElementById","remove","displayName","SliderWrapper","Arrow","transform","PrevArrow","NextArrow","appendDots","dots","textIndent","visibility","Slider","SlickSlider","SlideSubtitle","subtitle","SlideIamge","imageSrc","objectFit","SlideVideo","videoId","opt","playerVars","autoplay","loop","Slide","bgImage","refVideo","toggleVideo","_isActive","playVideo","pauseVideo","onVideoReady","SearchOverlayTop","closeIcon","topContent","onClose","marginLeft","SearchOverlayForm","onSubmit","inputRef","inputPlaceholder","onClickSearchIcon","inputTitle","backgroud","SearchOverlayInfo","searchInfo","SearchOverlayContainer","open","motionVariants","createRef","handleSubmitForm","SearchOverlay","black","white","transparent","light","disabled","text","primary100","primary200","primary300","primary400","primary500","primary600","primary700","primary800","primary900","black100","black200","black300","black400","black500","black600","black700","black800","black900","gray100","gray200","gray300","gray400","gray500","gray600","gray700","gray800","gray900","success100","success200","success300","success400","success500","success600","success700","success800","success900","info100","info200","info300","info400","info500","info600","info700","info800","info900","warning100","warning200","warning300","warning400","warning500","warning600","warning700","warning800","warning900","danger100","danger200","danger300","danger400","danger500","danger600","danger700","danger800","danger900","btnPrimary","backgroundBasic100","backgroundBasic200","textBasic500","textBasic900","skeletonBackground","dark","defaultColorVariants","gray","warning","gridSystem","none","xxxsmall","xxsmall","xsmall","small","large","xlarge","xxlarge","xxxlarge","shadows","sizes","serif","monospace","montserrat","fontWeights","thin","extraLight","regular","semiBold","bold","extraBold","tiny","caption","paragraph","subheader","heading6","heading5","heading4","heading3","heading2","heading1","heading1x","lineHeights","borders","radii","rounded","borderWidths","borderStyles","buttons","borderWidth","paddingTop","paddingBottom","paddingLeft","paddingRight","anchors","inputs","iconContainer","dam","awb","status","paddingY","paddingX","labels","radio","checkbox","select","layer","overlay","cardType","borderBottomLeftRadius","borderBottomRightRadius","borderTop","cardContainerType","accordion","panel","breadcrumb","saber","fontFamily","item","activeNav","capitalazur","textTransform","borderStyle","heading","h1","h2","h3","h4","h5","h6","searchOverlay","wrapper","closeBtn","form","input","searchBtn","baseTheme","componentsTheme"],"mappings":"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"}
\ No newline at end of file
diff --git a/package.json b/package.json
index a211e41..745d904 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "vactory-ui",
- "version": "1.0.7",
+ "version": "1.0.8",
"main": "dist/index.js",
"module": "dist/index.modern.js",
"source": "src/index.js",
diff --git a/src/components/Icon/Icon.js b/src/components/Icon/Icon.js
index d027c13..05b0438 100644
--- a/src/components/Icon/Icon.js
+++ b/src/components/Icon/Icon.js
@@ -24,7 +24,7 @@ export const WrapperIcon = ({...rest}) => {
};
export const Icon = styled(WrapperIcon).withConfig({
- shouldForwardProp: (prop, defaultValidatorFn) => { return !['sx', '__css', ...systemProps].includes(prop);}
+ shouldForwardProp: (prop, defaultValidatorFn) => { return !['sx', 'name', '__css', ...systemProps].includes(prop);}
}).attrs(props => ({
removeInlineStyle: true,
icon: props.name || props.icon,