g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import { useEffect, useLayoutEffect } from 'react';\n\n// useLayoutEffect will show warning if used during ssr, e.g. with Next.js\n// useIsomorphicEffect removes it by replacing useLayoutEffect with useEffect during ssr\nexport const useIsomorphicEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n","import { useState } from 'react';\nimport { randomId } from '../utils';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect';\n\nexport function useUuid(staticId?: string) {\n const [uuid, setUuid] = useState('');\n\n useIsomorphicEffect(() => {\n setUuid(randomId());\n }, []);\n\n return staticId || uuid;\n}\n","export function randomId() {\n return `mantine-${Math.random().toString(36).slice(2, 11)}`;\n}\n","const TABBABLE_NODES = /input|select|textarea|button|object/;\nexport const FOCUS_SELECTOR = 'a, input, select, textarea, button, object, [tabindex]';\n\nfunction hidden(element: HTMLElement) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n\n return element.style.display === 'none';\n}\n\nfunction visible(element: HTMLElement) {\n const isHidden =\n element.getAttribute('aria-hidden') ||\n element.getAttribute('hidden') ||\n element.getAttribute('type') === 'hidden';\n\n if (isHidden) {\n return false;\n }\n\n let parentElement: HTMLElement = element;\n while (parentElement) {\n if (parentElement === document.body) {\n break;\n }\n\n if (hidden(parentElement)) {\n return false;\n }\n\n parentElement = parentElement.parentNode as HTMLElement;\n }\n\n return true;\n}\n\nfunction getElementTabIndex(element: HTMLElement) {\n let tabIndex = element.getAttribute('tabindex');\n if (tabIndex === null) {\n tabIndex = undefined;\n }\n return parseInt(tabIndex, 10);\n}\n\nexport function focusable(element: HTMLElement) {\n const nodeName = element.nodeName.toLowerCase();\n const isTabIndexNotNaN = !Number.isNaN(getElementTabIndex(element));\n const res =\n // @ts-ignore\n (TABBABLE_NODES.test(nodeName) && !element.disabled) ||\n (element instanceof HTMLAnchorElement ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n\n return res && visible(element);\n}\n\nexport function tabbable(element: HTMLElement) {\n const tabIndex = getElementTabIndex(element);\n const isTabIndexNaN = Number.isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element);\n}\n\nexport function findTabbableDescendants(element: HTMLElement): HTMLElement[] {\n return Array.from(element.querySelectorAll(FOCUS_SELECTOR)).filter(tabbable);\n}\n","import { findTabbableDescendants } from './tabbable';\n\nexport function scopeTab(node: HTMLElement, event: KeyboardEvent) {\n const tabbable = findTabbableDescendants(node);\n if (!tabbable.length) {\n event.preventDefault();\n return;\n }\n const finalTabbable = tabbable[event.shiftKey ? 0 : tabbable.length - 1];\n const leavingFinalTabbable =\n finalTabbable === document.activeElement || node === document.activeElement;\n\n if (!leavingFinalTabbable) {\n return;\n }\n\n event.preventDefault();\n\n const target = tabbable[event.shiftKey ? tabbable.length - 1 : 0];\n\n if (target) {\n target.focus();\n }\n}\n","type Value = {\n node: HTMLElement;\n ariaHidden: string;\n};\n\nexport function createAriaHider(\n containerNode: HTMLElement,\n selector: string = 'body > :not(script)'\n) {\n const rootNodes: Value[] = Array.from(document.querySelectorAll(selector)).map(\n (node) => {\n if (node.contains(containerNode)) {\n return undefined;\n }\n\n const ariaHidden = node.getAttribute('aria-hidden');\n\n if (ariaHidden === null || ariaHidden === 'false') {\n node.setAttribute('aria-hidden', 'true');\n }\n\n return { node, ariaHidden };\n }\n );\n\n return () => {\n rootNodes.forEach((item) => {\n if (!item) {\n return;\n }\n\n if (item.ariaHidden === null) {\n item.node.removeAttribute('aria-hidden');\n } else {\n item.node.setAttribute('aria-hidden', item.ariaHidden);\n }\n });\n };\n}\n","import { useCallback, useEffect, useRef } from 'react';\nimport { FOCUS_SELECTOR, focusable, tabbable } from './tabbable';\nimport { scopeTab } from './scope-tab';\nimport { createAriaHider } from './create-aria-hider';\n\nexport function useFocusTrap(active = true): (instance: HTMLElement | null) => void {\n const ref = useRef();\n const restoreAria = useRef(null);\n\n const setRef = useCallback(\n (node: HTMLElement | null) => {\n if (!active) {\n return;\n }\n\n if (restoreAria.current) {\n restoreAria.current();\n }\n\n if (node) {\n const processNode = (_node: HTMLElement) => {\n restoreAria.current = createAriaHider(_node);\n\n let focusElement: HTMLElement = node.querySelector('[data-autofocus]');\n\n if (!focusElement) {\n const children = Array.from(node.querySelectorAll(FOCUS_SELECTOR));\n focusElement = children.find(tabbable) || children.find(focusable) || null;\n if (!focusElement && focusable(node)) focusElement = node;\n }\n\n if (focusElement) {\n focusElement.focus();\n } else if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\n '[@mantine/hooks/use-focus-trap] Failed to find focusable element within provided node',\n node\n );\n }\n };\n\n // Delay processing the HTML node by a frame. This ensures focus is assigned correctly.\n setTimeout(() => {\n if (node.ownerDocument) {\n processNode(node);\n } else if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('[@mantine/hooks/use-focus-trap] Ref node is not part of the dom', node);\n }\n });\n\n ref.current = node;\n } else {\n ref.current = null;\n }\n },\n [active]\n );\n\n useEffect(() => {\n if (!active) {\n return undefined;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab' && ref.current) {\n scopeTab(ref.current, event);\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [active]);\n\n return setRef;\n}\n","import { getScrollWidth } from './get-scroll-width';\n\nexport const getLockStyles = ({ disableBodyPadding }) => {\n const scrollWidth = disableBodyPadding ? null : getScrollWidth();\n\n const styles = `body {\n --removed-scroll-width: ${scrollWidth}px;\n touch-action: none;\n overflow: hidden !important;\n position: relative !important;\n ${scrollWidth ? 'padding-right: var(--removed-scroll-width) !important;' : ''}\n `;\n\n return styles;\n};\n","export function getScrollWidth() {\n if (typeof window === 'undefined' || typeof document === 'undefined') return 0;\n\n const paddingRight = parseInt(window.getComputedStyle(document.body).paddingRight, 10);\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n return paddingRight + scrollbarWidth;\n}\n","export function injectStyles(tag, css): void {\n if (tag.styleSheet) {\n // eslint-disable-next-line no-param-reassign\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\n","export function insertStyleTag(tag) {\n const head = document.head || document.getElementsByTagName('head')[0];\n\n head.appendChild(tag);\n}\n","export function makeStyleTag() {\n const tag = document.createElement('style');\n tag.type = 'text/css';\n tag.setAttribute('mantine-scroll-lock', '');\n\n return tag;\n}\n","import { useEffect, useRef } from 'react';\n\nexport function useDidUpdate(fn: () => void, dependencies?: any[]) {\n const mounted = useRef(false);\n\n useEffect(() => {\n if (mounted.current) {\n fn();\n } else {\n mounted.current = true;\n }\n }, dependencies);\n}\n","const elevations = {\n app: 100,\n modal: 200,\n popover: 300,\n overlay: 400,\n} as const;\n\nexport function getDefaultZIndex(level: keyof typeof elevations) {\n return elevations[level];\n}\n","import type { Tuple } from './types';\n\nexport const DEFAULT_COLORS = {\n dark: [\n '#C1C2C5',\n '#A6A7AB',\n '#909296',\n '#5c5f66',\n '#373A40',\n '#2C2E33',\n '#25262b',\n '#1A1B1E',\n '#141517',\n '#101113',\n ],\n\n gray: [\n '#f8f9fa',\n '#f1f3f5',\n '#e9ecef',\n '#dee2e6',\n '#ced4da',\n '#adb5bd',\n '#868e96',\n '#495057',\n '#343a40',\n '#212529',\n ],\n\n red: [\n '#fff5f5',\n '#ffe3e3',\n '#ffc9c9',\n '#ffa8a8',\n '#ff8787',\n '#ff6b6b',\n '#fa5252',\n '#f03e3e',\n '#e03131',\n '#c92a2a',\n ],\n\n pink: [\n '#fff0f6',\n '#ffdeeb',\n '#fcc2d7',\n '#faa2c1',\n '#f783ac',\n '#f06595',\n '#e64980',\n '#d6336c',\n '#c2255c',\n '#a61e4d',\n ],\n\n grape: [\n '#f8f0fc',\n '#f3d9fa',\n '#eebefa',\n '#e599f7',\n '#da77f2',\n '#cc5de8',\n '#be4bdb',\n '#ae3ec9',\n '#9c36b5',\n '#862e9c',\n ],\n\n violet: [\n '#f3f0ff',\n '#e5dbff',\n '#d0bfff',\n '#b197fc',\n '#9775fa',\n '#845ef7',\n '#7950f2',\n '#7048e8',\n '#6741d9',\n '#5f3dc4',\n ],\n\n indigo: [\n '#edf2ff',\n '#dbe4ff',\n '#bac8ff',\n '#91a7ff',\n '#748ffc',\n '#5c7cfa',\n '#4c6ef5',\n '#4263eb',\n '#3b5bdb',\n '#364fc7',\n ],\n\n blue: [\n '#e7f5ff',\n '#d0ebff',\n '#a5d8ff',\n '#74c0fc',\n '#4dabf7',\n '#339af0',\n '#228be6',\n '#1c7ed6',\n '#1971c2',\n '#1864ab',\n ],\n\n cyan: [\n '#e3fafc',\n '#c5f6fa',\n '#99e9f2',\n '#66d9e8',\n '#3bc9db',\n '#22b8cf',\n '#15aabf',\n '#1098ad',\n '#0c8599',\n '#0b7285',\n ],\n\n teal: [\n '#e6fcf5',\n '#c3fae8',\n '#96f2d7',\n '#63e6be',\n '#38d9a9',\n '#20c997',\n '#12b886',\n '#0ca678',\n '#099268',\n '#087f5b',\n ],\n\n green: [\n '#ebfbee',\n '#d3f9d8',\n '#b2f2bb',\n '#8ce99a',\n '#69db7c',\n '#51cf66',\n '#40c057',\n '#37b24d',\n '#2f9e44',\n '#2b8a3e',\n ],\n\n lime: [\n '#f4fce3',\n '#e9fac8',\n '#d8f5a2',\n '#c0eb75',\n '#a9e34b',\n '#94d82d',\n '#82c91e',\n '#74b816',\n '#66a80f',\n '#5c940d',\n ],\n\n yellow: [\n '#fff9db',\n '#fff3bf',\n '#ffec99',\n '#ffe066',\n '#ffd43b',\n '#fcc419',\n '#fab005',\n '#f59f00',\n '#f08c00',\n '#e67700',\n ],\n\n orange: [\n '#fff4e6',\n '#ffe8cc',\n '#ffd8a8',\n '#ffc078',\n '#ffa94d',\n '#ff922b',\n '#fd7e14',\n '#f76707',\n '#e8590c',\n '#d9480f',\n ],\n} as Record>;\n","import type { MantineThemeBase } from '../../../types';\n\nexport function themeColor(theme: MantineThemeBase) {\n return (color: string, shade: number, primaryFallback: boolean = true) => {\n const primaryShades = theme.colors[theme.primaryColor];\n return color in theme.colors\n ? theme.colors[color][shade]\n : primaryFallback\n ? primaryShades[shade]\n : color;\n };\n}\n","export function getGradientColorStops(colors: string[]) {\n let stops = '';\n for (let i = 1; i < colors.length - 1; i += 1) {\n stops += `${colors[i]} ${(i / (colors.length - 1)) * 100}%, `;\n }\n return `${colors[0]} 0%, ${stops}${colors[colors.length - 1]} 100%`;\n}\n","interface GetSize {\n size: string | number;\n sizes: Record;\n}\n\nexport function size(props: GetSize) {\n if (typeof props.size === 'number') {\n return props.size;\n }\n\n return props.sizes[props.size] || props.size || props.sizes.md;\n}\n","/* eslint-disable no-bitwise */\n\ninterface RGBA {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nfunction isHexColor(hex: string): boolean {\n const HEX_REGEXP = /^#?([0-9A-F]{3}){1,2}$/i;\n\n return HEX_REGEXP.test(hex);\n}\n\nfunction hexToRgba(color: string): RGBA {\n let hexString = color.replace('#', '');\n\n if (hexString.length === 3) {\n const shorthandHex = hexString.split('');\n hexString = [\n shorthandHex[0],\n shorthandHex[0],\n shorthandHex[1],\n shorthandHex[1],\n shorthandHex[2],\n shorthandHex[2],\n ].join('');\n }\n\n const parsed = parseInt(hexString, 16);\n const r = (parsed >> 16) & 255;\n const g = (parsed >> 8) & 255;\n const b = parsed & 255;\n\n return {\n r,\n g,\n b,\n a: 1,\n };\n}\n\nfunction rgbStringToRgba(color: string): RGBA {\n const [r, g, b, a] = color\n .replace(/[^0-9,.]/g, '')\n .split(',')\n .map(Number);\n\n return { r, g, b, a: a || 1 };\n}\n\nexport function toRgba(color: string): RGBA {\n if (isHexColor(color)) {\n return hexToRgba(color);\n }\n\n if (color.startsWith('rgb')) {\n return rgbStringToRgba(color);\n }\n\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 1,\n };\n}\n","/* eslint-disable no-bitwise */\nimport { toRgba } from '../../../utils/to-rgba/to-rgba';\n\nexport function rgba(color: string, alpha: number) {\n if (typeof color !== 'string' || alpha > 1 || alpha < 0) {\n return 'rgba(0, 0, 0, 1)';\n }\n\n const { r, g, b } = toRgba(color);\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n}\n","import type { MantineThemeBase } from '../../../types';\n\nexport function primaryShade(theme: MantineThemeBase) {\n return (colorScheme?: 'light' | 'dark') => {\n if (typeof theme.primaryShade === 'number') {\n return theme.primaryShade;\n }\n\n return theme.primaryShade[colorScheme || theme.colorScheme];\n };\n}\n","import type { MantineColor, MantineGradient, MantineThemeBase } from '../../../types';\nimport { rgba } from '../rgba/rgba';\nimport { themeColor } from '../theme-color/theme-color';\nimport { primaryShade } from '../primary-shade/primary-shade';\n\nexport interface VariantInput {\n variant: 'filled' | 'light' | 'outline' | 'default' | 'gradient' | 'white' | 'subtle';\n color?: MantineColor;\n gradient?: MantineGradient;\n}\n\nexport interface VariantOutput {\n border: string;\n background: string;\n color: string;\n hover: string;\n}\n\nconst DEFAULT_GRADIENT = {\n from: 'indigo',\n to: 'cyan',\n deg: 45,\n};\n\nexport function variant(theme: MantineThemeBase) {\n const getThemeColor = themeColor(theme);\n const getPrimaryShade = primaryShade(theme);\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n return ({ variant, color, gradient }: VariantInput): VariantOutput => {\n if (variant === 'light') {\n return {\n border: 'transparent',\n background: rgba(\n getThemeColor(color, theme.colorScheme === 'dark' ? 8 : 0),\n theme.colorScheme === 'dark' ? 0.35 : 1\n ),\n color:\n color === 'dark'\n ? theme.colorScheme === 'dark'\n ? theme.colors.dark[0]\n : theme.colors.dark[9]\n : getThemeColor(color, theme.colorScheme === 'dark' ? 2 : getPrimaryShade('light')),\n hover: rgba(\n getThemeColor(color, theme.colorScheme === 'dark' ? 7 : 1),\n theme.colorScheme === 'dark' ? 0.45 : 0.65\n ),\n };\n }\n\n if (variant === 'default') {\n return {\n border: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[4],\n background: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.white,\n color: theme.colorScheme === 'dark' ? theme.white : theme.black,\n hover: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[0],\n };\n }\n\n if (variant === 'white') {\n return {\n border: 'transparent',\n background: theme.white,\n color: getThemeColor(color, getPrimaryShade()),\n hover: null,\n };\n }\n\n if (variant === 'outline') {\n return {\n border: getThemeColor(color, theme.colorScheme === 'dark' ? 4 : getPrimaryShade('light')),\n background: 'transparent',\n color: getThemeColor(color, theme.colorScheme === 'dark' ? 4 : getPrimaryShade('light')),\n hover:\n theme.colorScheme === 'dark'\n ? rgba(getThemeColor(color, 4), 0.05)\n : rgba(getThemeColor(color, 0), 0.35),\n };\n }\n\n if (variant === 'gradient') {\n const merged = {\n from: gradient?.from || DEFAULT_GRADIENT.from,\n to: gradient?.to || DEFAULT_GRADIENT.to,\n deg: gradient?.deg || DEFAULT_GRADIENT.deg,\n };\n\n return {\n background: `linear-gradient(${merged.deg}deg, ${getThemeColor(\n merged.from,\n getPrimaryShade(),\n false\n )} 0%, ${getThemeColor(merged.to, getPrimaryShade(), false)} 100%)`,\n color: theme.white,\n border: 'transparent',\n hover: null,\n };\n }\n\n if (variant === 'subtle') {\n return {\n border: 'transparent',\n background: 'transparent',\n color:\n color === 'dark'\n ? theme.colorScheme === 'dark'\n ? theme.colors.dark[0]\n : theme.colors.dark[9]\n : getThemeColor(color, theme.colorScheme === 'dark' ? 2 : getPrimaryShade('light')),\n hover: rgba(\n getThemeColor(color, theme.colorScheme === 'dark' ? 8 : 0),\n theme.colorScheme === 'dark' ? 0.35 : 1\n ),\n };\n }\n\n return {\n border: 'transparent',\n background: getThemeColor(color, getPrimaryShade()),\n color: theme.white,\n hover: getThemeColor(color, getPrimaryShade() === 9 ? 8 : getPrimaryShade() + 1),\n };\n };\n}\n","import { fontStyles } from './font-styles/font-styles';\nimport { focusStyles } from './focus-styles/focus-styles';\nimport { themeColor } from './theme-color/theme-color';\nimport { linearGradient, radialGradient } from './gradient/gradient';\nimport { smallerThan, largerThan } from './breakpoints/breakpoints';\nimport { rgba } from './rgba/rgba';\nimport { size } from './size/size';\nimport { cover } from './cover/cover';\nimport { darken } from './darken/darken';\nimport { lighten } from './lighten/lighten';\nimport { radius } from './radius/radius';\nimport { variant } from './variant/variant';\nimport { primaryShade } from './primary-shade/primary-shade';\nimport { hover } from './hover/hover';\n\nexport const fns = {\n fontStyles,\n themeColor,\n focusStyles,\n linearGradient,\n radialGradient,\n smallerThan,\n largerThan,\n rgba,\n size,\n cover,\n darken,\n lighten,\n radius,\n variant,\n primaryShade,\n hover,\n} as const;\n","import type { MantineThemeBase } from '../../../types';\nimport type { CSSObject } from '../../../../tss';\n\nexport function fontStyles(theme: MantineThemeBase) {\n return (): CSSObject => ({ fontFamily: theme.fontFamily || 'sans-serif' });\n}\n","import type { MantineThemeBase } from '../../../types';\nimport type { CSSObject } from '../../../../tss';\n\nexport function focusStyles(theme: MantineThemeBase) {\n return (): CSSObject => ({\n WebkitTapHighlightColor: 'transparent',\n\n '&:focus': {\n outlineOffset: 2,\n outline:\n theme.focusRing === 'always' || theme.focusRing === 'auto'\n ? `2px solid ${theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 7 : 5]}`\n : 'none',\n },\n\n '&:focus:not(:focus-visible)': {\n outline: theme.focusRing === 'auto' || theme.focusRing === 'never' ? 'none' : undefined,\n },\n });\n}\n","import { getGradientColorStops } from './get-gradient-color-stops/get-gradient-color-stops';\n\nexport function linearGradient(deg: number, ...colors: string[]) {\n return `linear-gradient(${deg}deg, ${getGradientColorStops(colors)})`;\n}\n\nexport function radialGradient(...colors: string[]) {\n return `radial-gradient(circle, ${getGradientColorStops(colors)})`;\n}\n","import type { MantineThemeBase, MantineNumberSize } from '../../../types';\nimport { size } from '../size/size';\n\nexport function largerThan(theme: MantineThemeBase) {\n return (breakpoint: MantineNumberSize) =>\n `@media (min-width: ${size({ size: breakpoint, sizes: theme.breakpoints }) + 1}px)`;\n}\n\nexport function smallerThan(theme: MantineThemeBase) {\n return (breakpoint: MantineNumberSize) =>\n `@media (max-width: ${size({ size: breakpoint, sizes: theme.breakpoints })}px)`;\n}\n","import type { CSSObject } from '../../../../tss';\n\nexport function cover(offset: number | string = 0): CSSObject {\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n left: offset,\n bottom: offset,\n };\n}\n","import { toRgba } from '../../../utils/to-rgba/to-rgba';\n\nexport function darken(color: string, alpha: number) {\n const { r, g, b, a } = toRgba(color);\n const f = 1 - alpha;\n\n const dark = (input: number) => Math.round(input * f);\n\n return `rgba(${dark(r)}, ${dark(g)}, ${dark(b)}, ${a})`;\n}\n","import { toRgba } from '../../../utils/to-rgba/to-rgba';\n\nexport function lighten(color: string, alpha: number) {\n const { r, g, b, a } = toRgba(color);\n\n const light = (input: number) => Math.round(input + (255 - input) * alpha);\n\n return `rgba(${light(r)}, ${light(g)}, ${light(b)}, ${a})`;\n}\n","import type { MantineThemeBase, MantineNumberSize } from '../../../types';\n\nexport function radius(theme: MantineThemeBase) {\n return (size: MantineNumberSize | (string & {})): string | number => {\n if (typeof size === 'number') {\n return size;\n }\n\n const defaultRadius =\n typeof theme.defaultRadius === 'number'\n ? theme.defaultRadius\n : theme.radius[theme.defaultRadius] || theme.defaultRadius;\n\n return theme.radius[size] || size || defaultRadius;\n };\n}\n","import type { CSSObject } from '../../../../tss';\n\nexport function hover(hoverStyle: CSSObject) {\n return {\n '@media (hover: hover)': {\n '&:hover': hoverStyle,\n },\n '@media (hover: none)': {\n '&:active': hoverStyle,\n },\n };\n}\n","import type { MantineTheme, MantineThemeBase } from '../types';\nimport { fns } from './fns';\n\nexport function attachFunctions(themeBase: MantineThemeBase): MantineTheme {\n return {\n ...themeBase,\n fn: {\n fontStyles: fns.fontStyles(themeBase),\n themeColor: fns.themeColor(themeBase),\n focusStyles: fns.focusStyles(themeBase),\n largerThan: fns.largerThan(themeBase),\n smallerThan: fns.smallerThan(themeBase),\n radialGradient: fns.radialGradient,\n linearGradient: fns.linearGradient,\n rgba: fns.rgba,\n size: fns.size,\n cover: fns.cover,\n lighten: fns.lighten,\n darken: fns.darken,\n primaryShade: fns.primaryShade(themeBase),\n radius: fns.radius(themeBase),\n variant: fns.variant(themeBase),\n hover: fns.hover,\n },\n };\n}\n","import { MantineThemeBase } from './types';\nimport { DEFAULT_COLORS } from './default-colors';\nimport { attachFunctions } from './functions/attach-functions';\n\nexport const MANTINE_COLORS = Object.keys(DEFAULT_COLORS);\nexport const MANTINE_SIZES = ['xs', 'sm', 'md', 'lg', 'xl'] as const;\n\nexport const _DEFAULT_THEME: MantineThemeBase = {\n dir: 'ltr',\n primaryShade: {\n light: 6,\n dark: 8,\n },\n focusRing: 'auto',\n loader: 'oval',\n dateFormat: 'MMMM D, YYYY',\n colorScheme: 'light',\n white: '#fff',\n black: '#000',\n defaultRadius: 'sm',\n transitionTimingFunction: 'ease',\n colors: DEFAULT_COLORS,\n lineHeight: 1.55,\n fontFamily:\n '-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji',\n fontFamilyMonospace:\n 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace',\n primaryColor: 'blue',\n\n shadows: {\n xs: '0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.1)',\n sm: '0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0px 10px 15px -5px, rgba(0, 0, 0, 0.04) 0px 7px 7px -5px',\n md: '0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px',\n lg: '0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0px 28px 23px -7px, rgba(0, 0, 0, 0.04) 0px 12px 12px -7px',\n xl: '0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0px 36px 28px -7px, rgba(0, 0, 0, 0.04) 0px 17px 17px -7px',\n },\n\n fontSizes: {\n xs: 12,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n },\n\n radius: {\n xs: 2,\n sm: 4,\n md: 8,\n lg: 16,\n xl: 32,\n },\n\n spacing: {\n xs: 10,\n sm: 12,\n md: 16,\n lg: 20,\n xl: 24,\n },\n\n breakpoints: {\n xs: 576,\n sm: 768,\n md: 992,\n lg: 1200,\n xl: 1400,\n },\n\n headings: {\n fontFamily:\n '-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji',\n fontWeight: 700,\n sizes: {\n h1: { fontSize: 34, lineHeight: 1.3 },\n h2: { fontSize: 26, lineHeight: 1.35 },\n h3: { fontSize: 22, lineHeight: 1.4 },\n h4: { fontSize: 18, lineHeight: 1.45 },\n h5: { fontSize: 16, lineHeight: 1.5 },\n h6: { fontSize: 14, lineHeight: 1.5 },\n },\n },\n\n other: {},\n datesLocale: 'en',\n};\n\nexport const DEFAULT_THEME = attachFunctions(_DEFAULT_THEME);\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n}; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244\n\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\t\tbreak\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n\n if (match) {\n // The match may be something like 'Object.createEmotionProps'\n var parts = match[1].split('.');\n return parts[parts.length - 1];\n } // Safari / Firefox\n\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return match[1];\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","import { createElement, useContext, useRef, useLayoutEffect, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-699e6908.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-699e6908.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.7.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"mitchellhamilton \",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.13.10\",\n\t\t\"@emotion/cache\": \"^11.7.1\",\n\t\t\"@emotion/serialize\": \"^1.0.2\",\n\t\t\"@emotion/sheet\": \"^1.1.0\",\n\t\t\"@emotion/utils\": \"^1.0.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.2.5\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.13.10\",\n\t\t\"@emotion/css\": \"11.7.1\",\n\t\t\"@emotion/css-prettifier\": \"1.0.1\",\n\t\t\"@emotion/server\": \"11.4.0\",\n\t\t\"@emotion/styled\": \"11.6.0\",\n\t\t\"@types/react\": \"^16.9.11\",\n\t\tdtslint: \"^0.3.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\"\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useLayoutEffect(function () {\n var key = cache.key + \"-global\";\n var sheet = new StyleSheet({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useLayoutEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n\n {\n insertStyles(cache, serialized, false);\n }\n\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import React from 'react';\nimport { Global } from '@emotion/react';\nimport type { MantineTheme } from './types';\n\nexport function GlobalStyles({ theme }: { theme: MantineTheme }) {\n return (\n \n );\n}\n","import React from 'react';\nimport { Global } from '@emotion/react';\nimport type { MantineTheme, MantineSize } from './types';\n\nfunction assignSizeVariables(\n variables: Record,\n sizes: Record,\n name: string\n) {\n Object.keys(sizes).forEach((size) => {\n // eslint-disable-next-line no-param-reassign\n variables[`--mantine-${name}-${size}`] =\n typeof sizes[size] === 'number' ? `${sizes[size]}px` : sizes[size];\n });\n}\n\nexport function MantineCssVariables({ theme }: { theme: MantineTheme }) {\n const variables: Record = {\n '--mantine-color-white': theme.white,\n '--mantine-color-black': theme.black,\n '--mantine-transition-timing-function': theme.transitionTimingFunction,\n '--mantine-line-height': `${theme.lineHeight}`,\n '--mantine-font-family': theme.fontFamily,\n '--mantine-font-family-monospace': theme.fontFamilyMonospace,\n '--mantine-font-family-headings': theme.headings.fontFamily,\n '--mantine-heading-font-weight': `${theme.headings.fontWeight}`,\n };\n\n assignSizeVariables(variables, theme.shadows, 'shadow');\n assignSizeVariables(variables, theme.fontSizes, 'font-size');\n assignSizeVariables(variables, theme.radius, 'radius');\n assignSizeVariables(variables, theme.spacing, 'spacing');\n\n Object.keys(theme.colors).forEach((color) => {\n theme.colors[color].forEach((shade, index) => {\n variables[`--mantine-color-${color}-${index}`] = shade;\n });\n });\n\n const headings = theme.headings.sizes;\n\n Object.keys(headings).forEach((heading) => {\n variables[`--mantine-${heading}-font-size`] = `${headings[heading].fontSize}px`;\n variables[`--mantine-${heading}-line-height`] = `${headings[heading].lineHeight}`;\n });\n\n return (\n \n );\n}\n","import { MantineThemeOverride, MantineThemeBase, MantineTheme } from '../../types';\nimport { attachFunctions } from '../../functions/attach-functions';\n\nexport function mergeTheme(\n currentTheme: MantineThemeBase,\n themeOverride?: MantineThemeOverride\n): MantineThemeBase {\n if (!themeOverride) {\n return currentTheme;\n }\n\n // @ts-ignore\n return Object.keys(currentTheme).reduce((acc, key) => {\n if (key === 'headings' && themeOverride.headings) {\n const sizes = themeOverride.headings.sizes\n ? Object.keys(currentTheme.headings.sizes).reduce((headingsAcc, h) => {\n // eslint-disable-next-line no-param-reassign\n headingsAcc[h] = {\n ...currentTheme.headings.sizes[h],\n ...themeOverride.headings.sizes[h],\n };\n return headingsAcc;\n }, {} as MantineThemeBase['headings']['sizes'])\n : currentTheme.headings.sizes;\n return {\n ...acc,\n headings: {\n ...currentTheme.headings,\n ...themeOverride.headings,\n sizes,\n },\n };\n }\n\n acc[key] =\n typeof themeOverride[key] === 'object'\n ? { ...currentTheme[key], ...themeOverride[key] }\n : typeof themeOverride[key] === 'number'\n ? themeOverride[key]\n : themeOverride[key] || currentTheme[key];\n return acc;\n }, {} as MantineThemeBase);\n}\n\nexport function mergeThemeWithFunctions(\n currentTheme: MantineThemeBase,\n themeOverride?: MantineThemeOverride\n): MantineTheme {\n return attachFunctions(mergeTheme(currentTheme, themeOverride));\n}\n","import React from 'react';\nimport { Global } from '@emotion/react';\n\nconst styles = {\n html: {\n fontFamily: 'sans-serif',\n lineHeight: '1.15',\n textSizeAdjust: '100%',\n },\n\n body: {\n margin: 0,\n },\n\n 'article, aside, footer, header, nav, section, figcaption, figure, main': {\n display: 'block',\n },\n\n h1: {\n fontSize: '2em',\n },\n\n hr: {\n boxSizing: 'content-box',\n height: 0,\n overflow: 'visible',\n },\n\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em',\n },\n\n a: {\n background: 'transparent',\n textDecorationSkip: 'objects',\n },\n\n 'a:active, a:hover': {\n outlineWidth: 0,\n },\n\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline',\n },\n\n 'b, strong': {\n fontWeight: 'bolder',\n },\n\n 'code, kbp, samp': {\n fontFamily: 'monospace, monospace',\n fontSize: '1em',\n },\n\n dfn: {\n fontStyle: 'italic',\n },\n\n mark: {\n backgroundColor: '#ff0',\n color: '#000',\n },\n\n small: {\n fontSize: '80%',\n },\n\n 'sub, sup': {\n fontSize: '75%',\n lineHeight: 0,\n position: 'relative',\n verticalAlign: 'baseline',\n },\n\n sup: {\n top: '-0.5em',\n },\n\n sub: {\n bottom: '-0.25em',\n },\n\n 'audio, video': {\n display: 'inline-block',\n },\n\n 'audio:not([controls])': {\n display: 'none',\n height: 0,\n },\n\n img: {\n borderStyle: 'none',\n verticalAlign: 'middle',\n },\n\n 'svg:not(:root)': {\n overflow: 'hidden',\n },\n\n 'button, input, optgroup, select, textarea': {\n fontFamily: 'sans-serif',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: 0,\n },\n\n 'button, input': {\n overflow: 'visible',\n },\n\n 'button, select': {\n textTransform: 'none',\n },\n\n 'button, [type=reset], [type=submit]': {\n WebkitAppearance: 'button',\n },\n\n 'button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner':\n {\n borderStyle: 'none',\n padding: 0,\n },\n\n 'button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring':\n {\n outline: '1px dotted ButtonText',\n },\n\n legend: {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: 0,\n whiteSpace: 'normal',\n },\n\n progress: {\n display: 'inline-block',\n verticalAlign: 'baseline',\n },\n\n textarea: {\n overflow: 'auto',\n },\n\n '[type=checkbox], [type=radio]': {\n boxSizing: 'border-box',\n padding: 0,\n },\n\n '[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button': {\n height: 'auto',\n },\n\n '[type=search]': {\n appearance: 'none',\n },\n\n '[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration': {\n appearance: 'none',\n },\n\n '::-webkit-file-upload-button': {\n appearance: 'button',\n font: 'inherit',\n },\n\n 'details, menu': {\n display: 'block',\n },\n\n summary: {\n display: 'list-item',\n },\n\n canvas: {\n display: 'inline-block',\n },\n\n template: {\n display: 'none',\n },\n\n '[hidden]': {\n display: 'none',\n },\n} as const;\n\nexport function NormalizeCSS() {\n return ;\n}\n","import React, { createContext, useContext } from 'react';\nimport type { Options as EmotionCacheOptions } from '@emotion/cache';\nimport { DEFAULT_THEME } from './default-theme';\nimport { GlobalStyles } from './GlobalStyles';\nimport { MantineCssVariables } from './MantineCssVariables';\nimport type { MantineThemeOverride, MantineTheme } from './types';\nimport type { CSSObject } from '../tss';\nimport { mergeThemeWithFunctions } from './utils/merge-theme/merge-theme';\nimport { filterProps } from './utils/filter-props/filter-props';\nimport { NormalizeCSS } from './NormalizeCSS';\n\ntype ProviderStyles = Record<\n string,\n Record | ((theme: MantineTheme, params: any) => Record)\n>;\n\ntype ProviderClassNames = Record>;\ntype MantineDefaultProps = Record>;\n\ninterface MantineProviderContextType {\n theme: MantineTheme;\n styles: ProviderStyles;\n classNames: ProviderClassNames;\n emotionOptions: EmotionCacheOptions;\n defaultProps: MantineDefaultProps;\n}\n\nconst MantineProviderContext = createContext({\n theme: DEFAULT_THEME,\n styles: {},\n classNames: {},\n emotionOptions: { key: 'mantine', prepend: true },\n defaultProps: {},\n});\n\nexport function useMantineTheme() {\n return useContext(MantineProviderContext)?.theme || DEFAULT_THEME;\n}\n\nexport function useMantineThemeStyles(component: string) {\n const ctx = useContext(MantineProviderContext);\n return { styles: ctx.styles[component] || {}, classNames: ctx.classNames[component] || {} };\n}\n\nexport function useMantineEmotionOptions(): EmotionCacheOptions {\n return useContext(MantineProviderContext)?.emotionOptions || { key: 'mantine', prepend: true };\n}\n\nexport function useMantineDefaultProps>(\n component: string,\n defaultProps: Partial,\n props: T\n): T {\n const contextProps = useContext(MantineProviderContext)?.defaultProps?.[component] || {};\n return { ...defaultProps, ...contextProps, ...filterProps(props) };\n}\n\nexport interface MantineProviderProps {\n theme?: MantineThemeOverride;\n styles?: ProviderStyles;\n classNames?: ProviderClassNames;\n defaultProps?: MantineDefaultProps;\n emotionOptions?: EmotionCacheOptions;\n withNormalizeCSS?: boolean;\n withGlobalStyles?: boolean;\n withCSSVariables?: boolean;\n children: React.ReactNode;\n inherit?: boolean;\n}\n\nexport function MantineProvider({\n theme,\n styles = {},\n classNames = {},\n defaultProps = {},\n emotionOptions,\n withNormalizeCSS = false,\n withGlobalStyles = false,\n withCSSVariables = false,\n inherit = false,\n children,\n}: MantineProviderProps) {\n const ctx = useContext(MantineProviderContext);\n const overrides = {\n themeOverride: inherit ? { ...ctx.theme, ...theme } : theme,\n emotionOptions: inherit ? { ...ctx.emotionOptions, ...emotionOptions } : emotionOptions,\n styles: inherit ? { ...ctx.styles, ...styles } : styles,\n classNames: inherit ? { ...ctx.classNames, ...classNames } : classNames,\n defaultProps: inherit ? { ...ctx.defaultProps, ...defaultProps } : defaultProps,\n };\n\n const mergedTheme = mergeThemeWithFunctions(DEFAULT_THEME, overrides.themeOverride);\n\n return (\n \n {withNormalizeCSS && }\n {withGlobalStyles && }\n {withCSSVariables && }\n {children}\n \n );\n}\n\nMantineProvider.displayName = '@mantine/core/MantineProvider';\n","export function filterProps>(props: T) {\n return Object.keys(props).reduce((acc, key: keyof T) => {\n if (props[key] !== undefined) {\n acc[key] = props[key];\n }\n return acc;\n }, {} as T);\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t {\n let cache: EmotionCache;\n let _key = defaultCacheOptions.key;\n\n function _getCache(options?: Options) {\n if (cache === undefined || _key !== options?.key) {\n _key = options?.key || 'mantine';\n cache = createCache(options?.key ? options : defaultCacheOptions);\n }\n\n return cache;\n }\n\n return { getCache: _getCache };\n})();\n\nexport function useEmotionCache() {\n const options = useMantineEmotionOptions();\n return getCache(options);\n}\n","import clsx from 'clsx';\nimport { serializeStyles, RegisteredCache } from '@emotion/serialize';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport type { EmotionCache } from '@emotion/cache';\nimport { useGuaranteedMemo } from './utils/use-guaranteed-memo/use-guaranteed-memo';\nimport type { CSS } from './types';\nimport { useEmotionCache } from './use-emotion-cache';\n\nconst refPropertyName = 'ref' as const;\n\nfunction getRef(args: any[]) {\n let ref: string;\n\n if (args.length !== 1) {\n return { args, ref };\n }\n\n const [arg] = args;\n\n if (!(arg instanceof Object)) {\n return { args, ref };\n }\n\n if (!(refPropertyName in arg)) {\n return { args, ref };\n }\n\n ref = arg[refPropertyName];\n const argCopy = { ...arg };\n delete argCopy[refPropertyName];\n return { args: [argCopy], ref };\n}\n\nexport const { cssFactory } = (() => {\n function merge(registered: RegisteredCache, css: CSS, className: string) {\n const registeredStyles: string[] = [];\n\n const rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n }\n\n function _cssFactory(params: { cache: EmotionCache }) {\n const { cache } = params;\n\n const css: CSS = (...styles: any) => {\n const { ref, args } = getRef(styles);\n const serialized = serializeStyles(args, cache.registered);\n insertStyles(cache as any, serialized, false);\n return `${cache.key}-${serialized.name}${ref === undefined ? '' : ` ${ref}`}`;\n };\n\n const cx = (...args: any) => merge(cache.registered, css, clsx(args));\n\n return { css, cx };\n }\n\n return { cssFactory: _cssFactory };\n})();\n\nexport function useCss() {\n const cache = useEmotionCache();\n return useGuaranteedMemo(() => cssFactory({ cache }), [cache]);\n}\n","import { useRef } from 'react';\n\nexport function useGuaranteedMemo(fn: () => T, deps: React.DependencyList): T {\n const ref = useRef<{ v: T; prevDeps: unknown[] }>();\n\n if (\n !ref.current ||\n deps.length !== ref.current.prevDeps.length ||\n ref.current.prevDeps.map((v, i) => v === deps[i]).indexOf(false) >= 0\n ) {\n ref.current = {\n v: fn(),\n prevDeps: [...deps],\n };\n }\n\n return ref.current.v;\n}\n","export function mergeClassNames>(\n cx: (..._classNames: any) => string,\n classes: T,\n themeClassNames: Partial,\n classNames: Partial,\n name: string\n) {\n return Object.keys(classes).reduce((acc, className) => {\n acc[className] = cx(\n classes[className],\n themeClassNames !== null && themeClassNames[className],\n classNames != null && classNames[className],\n name ? `mantine-${name}-${className}` : null\n );\n return acc;\n }, {}) as T;\n}\n","import type { MantineTheme } from '../theme';\nimport type { CSSObject } from './types';\nimport { fromEntries } from './utils/from-entries/from-entries';\nimport { useCss } from './use-css';\nimport { useMantineTheme, useMantineThemeStyles } from '../theme/MantineProvider';\nimport { mergeClassNames } from './utils/merge-class-names/merge-class-names';\n\nexport interface UseStylesOptions {\n classNames?: Partial>;\n styles?:\n | Partial>\n | ((theme: MantineTheme) => Partial>);\n name: string;\n}\n\nexport function createStyles(\n getCssObjectOrCssObject:\n | ((\n theme: MantineTheme,\n params: Params,\n createRef: (refName: string) => string\n ) => Record)\n | Record\n) {\n const getCssObject =\n typeof getCssObjectOrCssObject === 'function'\n ? getCssObjectOrCssObject\n : () => getCssObjectOrCssObject;\n\n function useStyles(params: Params, options?: UseStylesOptions) {\n const theme = useMantineTheme();\n const { styles: themeStyles, classNames: themeClassNames } = useMantineThemeStyles(\n options?.name\n );\n\n const { css, cx } = useCss();\n\n function createRef(refName: string) {\n return `__mantine-ref-${refName || ''}`;\n }\n\n const cssObject = getCssObject(theme, params, createRef);\n\n const _styles =\n typeof options?.styles === 'function' ? options?.styles(theme) : options?.styles || {};\n const _themeStyles =\n typeof themeStyles === 'function' ? themeStyles(theme, params || {}) : themeStyles || {};\n\n const classes = fromEntries(\n Object.keys(cssObject).map((key) => {\n const mergedStyles = cx(css(cssObject[key]), css(_themeStyles[key]), css(_styles[key]));\n return [key, mergedStyles];\n })\n ) as Record;\n\n return {\n classes: mergeClassNames(cx, classes, themeClassNames, options?.classNames, options?.name),\n cx,\n theme,\n };\n }\n\n return useStyles;\n}\n","export function fromEntries(entries: any) {\n const o: any = {};\n\n Object.keys(entries).forEach((key) => {\n const [k, v] = entries[key];\n o[k] = v;\n });\n\n return o;\n}\n","import { createStyles } from '@mantine/styles';\n\nexport const sizes = {\n xs: 320,\n sm: 380,\n md: 440,\n lg: 620,\n xl: 780,\n full: '100%',\n};\n\nexport interface ModalStylesParams {\n overflow: 'outside' | 'inside';\n size: string | number;\n centered: boolean;\n zIndex: number;\n}\n\nexport default createStyles((theme, { overflow, size, centered, zIndex }: ModalStylesParams) => ({\n close: {},\n overlay: {},\n\n root: {\n position: 'fixed',\n zIndex,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n\n inner: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n overflowY: 'auto',\n padding: `${theme.spacing.xl * 2}px ${theme.spacing.md}px`,\n display: 'flex',\n justifyContent: 'center',\n alignItems: centered ? 'center' : 'flex-start',\n },\n\n title: {\n marginRight: theme.spacing.md,\n textOverflow: 'ellipsis',\n display: 'block',\n wordBreak: 'break-word',\n },\n\n modal: {\n position: 'relative',\n width: theme.fn.size({ sizes, size }),\n outline: 0,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n marginTop: centered ? 'auto' : undefined,\n marginBottom: centered ? 'auto' : undefined,\n zIndex: 1,\n marginLeft: 'calc(var(--removed-scroll-width, 0px) * -1)',\n },\n\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: theme.spacing.md,\n marginRight: -9,\n },\n\n body: {\n maxHeight: overflow === 'inside' ? 'calc(100vh - 185px)' : null,\n overflowY: overflow === 'inside' ? 'auto' : null,\n wordBreak: 'break-word',\n },\n}));\n","import React, { ReactPortal, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useIsomorphicEffect } from '@mantine/hooks';\nimport { useMantineTheme, useMantineDefaultProps } from '@mantine/styles';\n\nexport interface PortalProps {\n /** Portal children, for example, modal or popover */\n children: React.ReactNode;\n\n /** Root element z-index property */\n zIndex?: number;\n\n /** Root element position property */\n position?: string;\n\n /** Element where portal should be rendered, by default new div element is created and appended to document.body */\n target?: HTMLElement | string;\n\n /** Root element className */\n className?: string;\n}\n\nconst defaultProps: Partial = {\n zIndex: 1,\n position: 'relative',\n};\n\nexport function Portal(props: PortalProps): ReactPortal {\n const { children, zIndex, target, className, position } = useMantineDefaultProps(\n 'Portal',\n defaultProps,\n props\n );\n\n const theme = useMantineTheme();\n const [mounted, setMounted] = useState(false);\n const ref = useRef();\n\n useIsomorphicEffect(() => {\n setMounted(true);\n ref.current = !target\n ? document.createElement('div')\n : typeof target === 'string'\n ? document.querySelector(target)\n : target;\n\n if (!target) {\n document.body.appendChild(ref.current);\n }\n\n return () => {\n !target && document.body.removeChild(ref.current);\n };\n }, [target]);\n\n if (!mounted) {\n return null;\n }\n\n return createPortal(\n \n {children}\n
,\n ref.current\n );\n}\n\nPortal.displayName = '@mantine/core/Portal';\n","import React from 'react';\nimport { Portal, PortalProps } from './Portal';\n\nexport interface OptionalPortalProps extends PortalProps {\n /** Determines if children should be rendered in Portal */\n withinPortal?: boolean;\n}\n\nexport function OptionalPortal({ withinPortal = true, children, ...others }: OptionalPortalProps) {\n if (withinPortal) {\n return {children};\n }\n\n return <>{children}>;\n}\n\nOptionalPortal.displayName = '@mantine/core/OptionalPortal';\n","import React from 'react';\n\nexport interface MantineTransitionStyles {\n common?: React.CSSProperties;\n in: React.CSSProperties;\n out: React.CSSProperties;\n transitionProperty: React.CSSProperties['transitionProperty'];\n}\n\nexport type MantineTransitionName =\n | 'fade'\n | 'skew-up'\n | 'skew-down'\n | 'rotate-right'\n | 'rotate-left'\n | 'slide-down'\n | 'slide-up'\n | 'slide-right'\n | 'slide-left'\n | 'scale-y'\n | 'scale-x'\n | 'scale'\n | 'pop'\n | 'pop-top-left'\n | 'pop-top-right'\n | 'pop-bottom-left'\n | 'pop-bottom-right';\n\nexport type MantineTransition = MantineTransitionName | MantineTransitionStyles;\n\nconst popIn = {\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: 'scale(.9) translateY(10px)' },\n transitionProperty: 'transform, opacity',\n};\n\nexport const transitions: Record = {\n fade: {\n in: { opacity: 1 },\n out: { opacity: 0 },\n transitionProperty: 'opacity',\n },\n\n scale: {\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: 'scale(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-y': {\n in: { opacity: 1, transform: 'scaleY(1)' },\n out: { opacity: 0, transform: 'scaleY(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-x': {\n in: { opacity: 1, transform: 'scaleX(1)' },\n out: { opacity: 0, transform: 'scaleX(0)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-up': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: 'translateY(-20px) skew(-10deg, -5deg)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-down': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) skew(-10deg, -5deg)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-left': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) rotate(-5deg)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-right': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) rotate(5deg)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-down': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(-100%)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-up': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(100%)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-left': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(100%)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-right': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(-100%)' },\n common: { transformOrigin: 'right' },\n transitionProperty: 'transform, opacity',\n },\n\n pop: {\n ...popIn,\n common: { transformOrigin: 'center center' },\n },\n\n 'pop-bottom-left': {\n ...popIn,\n common: { transformOrigin: 'bottom left' },\n },\n\n 'pop-bottom-right': {\n ...popIn,\n common: { transformOrigin: 'bottom right' },\n },\n\n 'pop-top-left': {\n ...popIn,\n common: { transformOrigin: 'top left' },\n },\n\n 'pop-top-right': {\n ...popIn,\n common: { transformOrigin: 'top right' },\n },\n};\n","import { MantineTransition, transitions } from '../transitions';\n\nconst transitionStatuses = {\n entering: 'in',\n entered: 'in',\n exiting: 'out',\n exited: 'out',\n 'pre-exiting': 'out',\n 'pre-entering': 'out',\n} as const;\n\nexport function getTransitionStyles({\n transition,\n state,\n duration,\n timingFunction,\n}: {\n transition: MantineTransition;\n state: keyof typeof transitionStatuses;\n duration: number;\n timingFunction: React.CSSProperties['transitionTimingFunction'];\n}): React.CSSProperties {\n const shared = {\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: timingFunction,\n };\n\n if (typeof transition === 'string') {\n if (!(transition in transitions)) {\n return null;\n }\n\n return {\n transitionProperty: transitions[transition].transitionProperty,\n ...shared,\n ...transitions[transition].common,\n ...transitions[transition][transitionStatuses[state]],\n };\n }\n\n return {\n transitionProperty: transition.transitionProperty,\n ...shared,\n ...transition.common,\n ...transition[transitionStatuses[state]],\n };\n}\n","import { useState, useEffect, useRef } from 'react';\n\ntype MediaQueryCallback = (event: { matches: boolean; media: string }) => void;\n\n/**\n * Older versions of Safari (shipped withCatalina and before) do not support addEventListener on matchMedia\n * https://stackoverflow.com/questions/56466261/matchmedia-addlistener-marked-as-deprecated-addeventlistener-equivalent\n * */\nfunction attachMediaListener(query: MediaQueryList, callback: MediaQueryCallback) {\n try {\n query.addEventListener('change', callback);\n return () => query.removeEventListener('change', callback);\n } catch (e) {\n query.addListener(callback);\n return () => query.removeListener(callback);\n }\n}\n\nfunction getInitialValue(query: string, initialValue?: boolean) {\n if (initialValue !== undefined) {\n return initialValue;\n }\n\n if (typeof window !== 'undefined' && 'matchMedia' in window) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n}\n\nexport function useMediaQuery(query: string, initialValue?: boolean) {\n const [matches, setMatches] = useState(getInitialValue(query, initialValue));\n const queryRef = useRef();\n\n useEffect(() => {\n if ('matchMedia' in window) {\n queryRef.current = window.matchMedia(query);\n setMatches(queryRef.current.matches);\n return attachMediaListener(queryRef.current, (event) => setMatches(event.matches));\n }\n\n return undefined;\n }, [query]);\n\n return matches;\n}\n","import { useState, useEffect, useRef } from 'react';\nimport { useReducedMotion, useDidUpdate } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/styles';\n\nexport type TransitionStatus =\n | 'entered'\n | 'exited'\n | 'entering'\n | 'exiting'\n | 'pre-exiting'\n | 'pre-entering';\n\ninterface UseTransition {\n duration: number;\n exitDuration: number;\n timingFunction: string;\n mounted: boolean;\n onEnter?(): void;\n onExit?(): void;\n onEntered?(): void;\n onExited?(): void;\n}\n\nexport function useTransition({\n duration,\n exitDuration,\n timingFunction,\n mounted,\n onEnter,\n onExit,\n onEntered,\n onExited,\n}: UseTransition) {\n const theme = useMantineTheme();\n const reduceMotion = useReducedMotion();\n const [transitionStatus, setStatus] = useState(mounted ? 'entered' : 'exited');\n const [transitionDuration, setTransitionDuration] = useState(reduceMotion ? 0 : duration);\n const timeoutRef = useRef(-1);\n\n const handleStateChange = (shouldMount: boolean) => {\n const preHandler = shouldMount ? onEnter : onExit;\n const handler = shouldMount ? onEntered : onExited;\n\n setStatus(shouldMount ? 'pre-entering' : 'pre-exiting');\n window.clearTimeout(timeoutRef.current);\n const _duration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;\n setTransitionDuration(_duration);\n\n if (_duration === 0) {\n typeof preHandler === 'function' && preHandler();\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n } else {\n const preStateTimeout = window.setTimeout(() => {\n typeof preHandler === 'function' && preHandler();\n setStatus(shouldMount ? 'entering' : 'exiting');\n }, 10);\n\n timeoutRef.current = window.setTimeout(() => {\n window.clearTimeout(preStateTimeout);\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n }, _duration);\n }\n };\n\n useDidUpdate(() => {\n handleStateChange(mounted);\n }, [mounted]);\n\n useEffect(() => () => window.clearTimeout(timeoutRef.current), []);\n\n return {\n transitionDuration,\n transitionStatus,\n transitionTimingFunction: timingFunction || theme.transitionTimingFunction,\n };\n}\n","import { useMediaQuery } from '../use-media-query/use-media-query';\n\nexport function useReducedMotion(initialValue?: boolean) {\n return useMediaQuery('(prefers-reduced-motion: reduce)', initialValue);\n}\n","import React from 'react';\nimport { getTransitionStyles } from './get-transition-styles/get-transition-styles';\nimport { useTransition } from './use-transition';\nimport { MantineTransition } from './transitions';\n\ninterface GroupedTransitionItem {\n duration: number;\n timingFunction?: React.CSSProperties['transitionTimingFunction'];\n transition: MantineTransition;\n}\n\nexport interface GroupedTransitionProps {\n /** Transitions group */\n transitions: Record;\n\n /** Render function with transition group styles argument */\n children(styles: Record): React.ReactElement;\n\n /** Enter transition duration in ms */\n duration?: number;\n\n /** Exit transition duration in ms */\n exitDuration?: number;\n\n /** Transition timing function, defaults to theme.transitionTimingFunction */\n timingFunction?: string;\n\n /** When true, component will be mounted */\n mounted: boolean;\n\n /** Calls when exit transition ends */\n onExited?: () => void;\n\n /** Calls when exit transition starts */\n onExit?: () => void;\n\n /** Calls when enter transition starts */\n onEnter?: () => void;\n\n /** Calls when enter transition ends */\n onEntered?: () => void;\n}\n\nexport function GroupedTransition({\n transitions,\n duration = 250,\n exitDuration = duration,\n mounted,\n children,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n}: GroupedTransitionProps) {\n const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({\n mounted,\n duration,\n exitDuration,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n });\n\n if (transitionDuration === 0) {\n return mounted ? <>{children({})}> : null;\n }\n\n if (transitionStatus === 'exited') {\n return null;\n }\n\n const transitionsStyles = Object.keys(transitions).reduce((acc, transition) => {\n acc[transition] = getTransitionStyles({\n duration: transitions[transition].duration,\n transition: transitions[transition].transition,\n timingFunction: transitions[transition].timingFunction || transitionTimingFunction,\n state: transitionStatus,\n });\n\n return acc;\n }, {});\n\n return <>{children(transitionsStyles)}>;\n}\n\nGroupedTransition.displayName = '@mantine/core/GroupedTransition';\n","import type { MantineStyleSystemProps } from '../../types';\n\nexport function extractSystemStyles(others: MantineStyleSystemProps & { [key: string]: any }) {\n const { m, mx, my, mt, mb, ml, mr, p, px, py, pt, pb, pl, pr, ...rest } = others;\n const systemStyles = { m, mx, my, mt, mb, ml, mr, p, px, py, pt, pb, pl, pr };\n\n Object.keys(systemStyles).forEach((key) => {\n if (systemStyles[key] === undefined) {\n delete systemStyles[key];\n }\n });\n\n return { systemStyles, rest };\n}\n","import { MantineStyleSystemProps, MantineTheme, CSSObject } from '@mantine/styles';\n\nconst SYSTEM_PROPS = {\n mt: 'marginTop',\n mb: 'marginBottom',\n ml: 'marginLeft',\n mr: 'marginRight',\n pt: 'paddingTop',\n pb: 'paddingBottom',\n pl: 'paddingLeft',\n pr: 'paddingRight',\n};\n\nconst NEGATIVE_VALUES = ['-xs', '-sm', '-md', '-lg', '-xl'];\n\nfunction isValidSizeValue(margin: any) {\n return typeof margin === 'string' || typeof margin === 'number';\n}\n\nfunction getSizeValue(margin: any, theme: MantineTheme) {\n if (NEGATIVE_VALUES.includes(margin)) {\n return theme.fn.size({ size: margin.replace('-', ''), sizes: theme.spacing }) * -1;\n }\n\n return theme.fn.size({ size: margin, sizes: theme.spacing });\n}\n\nexport function getSystemStyles(systemStyles: MantineStyleSystemProps, theme: MantineTheme) {\n const styles: CSSObject = {};\n\n if (isValidSizeValue(systemStyles.p)) {\n const value = getSizeValue(systemStyles.p, theme);\n styles.padding = value;\n }\n\n if (isValidSizeValue(systemStyles.m)) {\n const value = getSizeValue(systemStyles.m, theme);\n styles.margin = value;\n }\n\n if (isValidSizeValue(systemStyles.py)) {\n const value = getSizeValue(systemStyles.py, theme);\n styles.paddingTop = value;\n styles.paddingBottom = value;\n }\n\n if (isValidSizeValue(systemStyles.px)) {\n const value = getSizeValue(systemStyles.px, theme);\n styles.paddingLeft = value;\n styles.paddingRight = value;\n }\n\n if (isValidSizeValue(systemStyles.my)) {\n const value = getSizeValue(systemStyles.my, theme);\n styles.marginTop = value;\n styles.marginBottom = value;\n }\n\n if (isValidSizeValue(systemStyles.mx)) {\n const value = getSizeValue(systemStyles.mx, theme);\n styles.marginLeft = value;\n styles.marginRight = value;\n }\n\n Object.keys(SYSTEM_PROPS).forEach((property) => {\n if (isValidSizeValue(systemStyles[property])) {\n styles[SYSTEM_PROPS[property]] = theme.fn.size({\n size: getSizeValue(systemStyles[property], theme),\n sizes: theme.spacing,\n });\n }\n });\n\n return styles;\n}\n","import {\n MantineStyleSystemProps,\n MantineTheme,\n Sx,\n useCss,\n useMantineTheme,\n} from '@mantine/styles';\nimport { getSystemStyles } from './get-system-styles/get-system-styles';\n\nfunction extractSx(sx: Sx, theme: MantineTheme) {\n return typeof sx === 'function' ? sx(theme) : sx;\n}\n\nexport function useSx(sx: Sx | Sx[], systemProps: MantineStyleSystemProps, className: string) {\n const theme = useMantineTheme();\n const { css, cx } = useCss();\n\n if (Array.isArray(sx)) {\n return cx(\n className,\n css(getSystemStyles(systemProps, theme)),\n sx.map((partial) => css(extractSx(partial, theme)))\n );\n }\n\n return cx(className, css(extractSx(sx, theme)), css(getSystemStyles(systemProps, theme)));\n}\n","import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n PolymorphicComponentProps,\n PolymorphicRef,\n extractSystemStyles,\n} from '@mantine/styles';\nimport { useSx } from './use-sx/use-sx';\n\ninterface _BoxProps extends DefaultProps {}\n\nexport type BoxProps = PolymorphicComponentProps;\n\ntype BoxComponent = ((props: BoxProps) => React.ReactElement) & {\n displayName?: string;\n};\n\nexport const Box: BoxComponent = forwardRef(\n ({ className, component, style, sx, ...others }: BoxProps<'div'>, ref: PolymorphicRef<'div'>) => {\n const { systemStyles, rest } = extractSystemStyles(others);\n const Element = component || 'div';\n return (\n \n );\n }\n) as any;\n\nBox.displayName = '@mantine/core/Box';\n","import { createStyles, MantineNumberSize, MantineShadow } from '@mantine/styles';\n\nexport interface PaperStylesParams {\n radius: MantineNumberSize;\n shadow: MantineShadow;\n withBorder: boolean;\n}\n\nexport default createStyles((theme, { radius, shadow, withBorder }: PaperStylesParams) => ({\n root: {\n outline: 0,\n WebkitTapHighlightColor: 'transparent',\n display: 'block',\n textDecoration: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n boxSizing: 'border-box',\n borderRadius: theme.fn.radius(radius),\n boxShadow: theme.shadows[shadow] || shadow || 'none',\n border: withBorder\n ? `1px solid ${theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]}`\n : undefined,\n },\n}));\n","import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n PolymorphicComponentProps,\n PolymorphicRef,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles from './Paper.styles';\n\nexport interface SharedPaperProps extends DefaultProps {\n /** Predefined box-shadow from theme.shadows (xs, sm, md, lg, xl) or any valid css box-shadow property */\n shadow?: MantineShadow;\n\n /** Predefined border-radius value from theme.radius or number for border-radius in px */\n radius?: MantineNumberSize;\n\n /** Adds 1px border with theme.colors.gray[2] color in light color scheme and theme.colors.dark[6] in dark color scheme */\n withBorder?: boolean;\n\n /** Paper children */\n children?: React.ReactNode;\n}\n\nexport type PaperProps = PolymorphicComponentProps;\n\ntype PaperComponent = ((props: PaperProps) => React.ReactElement) & {\n displayName?: string;\n};\n\nconst defaultProps: Partial> = {};\n\nexport const Paper: PaperComponent = forwardRef(\n (props: PaperProps<'div'>, ref: PolymorphicRef<'div'>) => {\n const { component, className, children, radius, withBorder, shadow, ...others } =\n useMantineDefaultProps('Paper', defaultProps, props);\n const { classes, cx } = useStyles({ radius, shadow, withBorder }, { name: 'Paper' });\n\n return (\n \n component={component || 'div'}\n className={cx(classes.root, className)}\n ref={ref}\n {...others}\n >\n {children}\n \n );\n }\n) as any;\n\nPaper.displayName = '@mantine/core/Paper';\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import { createStyles, MantineTheme, MantineSize, CSSObject, MantineColor } from '@mantine/styles';\n\nexport interface TextStylesParams {\n color: 'dimmed' | MantineColor;\n variant: 'text' | 'link' | 'gradient';\n size: MantineSize;\n lineClamp: number;\n inline: boolean;\n inherit: boolean;\n underline: boolean;\n gradientFrom: string;\n gradientTo: string;\n gradientDeg: number;\n transform: 'capitalize' | 'uppercase' | 'lowercase' | 'none';\n align: 'left' | 'center' | 'right' | 'justify';\n weight: React.CSSProperties['fontWeight'];\n}\n\ninterface GetTextColor {\n theme: MantineTheme;\n color: 'dimmed' | MantineColor;\n variant: TextStylesParams['variant'];\n}\n\nfunction getTextColor({ theme, color, variant }: GetTextColor) {\n if (color === 'dimmed') {\n return theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[6];\n }\n\n return color in theme.colors\n ? theme.colors[color][theme.colorScheme === 'dark' ? 5 : 7]\n : variant === 'link'\n ? theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 4 : 7]\n : color || 'inherit';\n}\n\nfunction getLineClamp(lineClamp: number): CSSObject {\n if (typeof lineClamp === 'number') {\n return {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitLineClamp: lineClamp,\n WebkitBoxOrient: 'vertical',\n };\n }\n\n return null;\n}\n\nexport default createStyles(\n (\n theme,\n {\n color,\n variant,\n size,\n lineClamp,\n inline,\n inherit,\n underline,\n gradientDeg,\n gradientTo,\n gradientFrom,\n weight,\n transform,\n align,\n }: TextStylesParams\n ) => {\n const colors = theme.fn.variant({\n variant: 'gradient',\n gradient: { from: gradientFrom, to: gradientTo, deg: gradientDeg },\n });\n\n return {\n root: {\n ...theme.fn.fontStyles(),\n ...theme.fn.focusStyles(),\n ...getLineClamp(lineClamp),\n color: getTextColor({ color, theme, variant }),\n fontFamily: inherit ? 'inherit' : theme.fontFamily,\n fontSize: inherit ? 'inherit' : theme.fontSizes[size],\n lineHeight: inherit ? 'inherit' : inline ? 1 : theme.lineHeight,\n textDecoration: underline ? 'underline' : 'none',\n WebkitTapHighlightColor: 'transparent',\n fontWeight: inherit ? 'inherit' : weight,\n textTransform: transform,\n textAlign: align,\n\n ...theme.fn.hover(\n variant === 'link' && underline === undefined\n ? {\n textDecoration: 'underline',\n }\n : undefined\n ),\n },\n\n gradient: {\n backgroundImage: colors.background,\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n },\n };\n }\n);\n","import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineSize,\n MantineGradient,\n PolymorphicComponentProps,\n PolymorphicRef,\n useMantineDefaultProps,\n MantineColor,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles from './Text.styles';\n\nexport interface SharedTextProps extends DefaultProps {\n /** Predefined font-size from theme.fontSizes */\n size?: MantineSize;\n\n /** Text color from theme or dimmed variant */\n color?: 'dimmed' | MantineColor;\n\n /** Sets font-weight css property */\n weight?: React.CSSProperties['fontWeight'];\n\n /** Sets text-transform css property */\n transform?: 'capitalize' | 'uppercase' | 'lowercase' | 'none';\n\n /** Sets text-align css property */\n align?: 'left' | 'center' | 'right' | 'justify';\n\n /** Link or text variant */\n variant?: 'text' | 'link' | 'gradient';\n\n /** CSS -webkit-line-clamp property */\n lineClamp?: number;\n\n /** Sets line-height to 1 for centering */\n inline?: boolean;\n\n /** Underline the text */\n underline?: boolean;\n\n /** Inherit font properties from parent element */\n inherit?: boolean;\n\n /** Controls gradient settings in gradient variant only */\n gradient?: MantineGradient;\n}\n\nexport type TextProps = PolymorphicComponentProps;\n\ntype TextComponent = ((props: TextProps) => React.ReactElement) & {\n displayName?: string;\n};\n\nconst defaultProps: Partial> = {\n size: 'md',\n variant: 'text',\n gradient: { from: 'blue', to: 'cyan', deg: 45 },\n inline: false,\n inherit: false,\n};\n\nexport const Text: TextComponent = forwardRef(\n (props: TextProps<'div'>, ref: PolymorphicRef<'div'>) => {\n const {\n className,\n component,\n size = 'md',\n weight,\n transform,\n color,\n align,\n variant = 'text',\n lineClamp,\n gradient = { from: 'blue', to: 'cyan', deg: 45 },\n inline = false,\n inherit = false,\n underline,\n classNames,\n styles,\n ...others\n } = useMantineDefaultProps('Text', defaultProps, props);\n\n const { classes, cx } = useStyles(\n {\n variant,\n color,\n size,\n lineClamp,\n inline,\n inherit,\n underline,\n weight,\n transform,\n align,\n gradientFrom: gradient.from,\n gradientTo: gradient.to,\n gradientDeg: gradient.deg,\n },\n { classNames, styles, name: 'Text' }\n );\n\n return (\n \n );\n }\n) as any;\n\nText.displayName = '@mantine/core/Text';\n","import { createStyles, MantineNumberSize, MantineColor, MantineTheme } from '@mantine/styles';\n\nexport type ActionIconVariant =\n | 'hover'\n | 'filled'\n | 'outline'\n | 'light'\n | 'default'\n | 'transparent';\n\nexport interface ActionIconStylesParams {\n color: MantineColor;\n size: MantineNumberSize;\n radius: MantineNumberSize;\n}\n\nexport const sizes = {\n xs: 18,\n sm: 22,\n md: 28,\n lg: 34,\n xl: 44,\n};\n\ninterface GetVariantStyles {\n variant: ActionIconVariant;\n theme: MantineTheme;\n color: MantineColor;\n}\n\nfunction getVariantStyles({ variant, theme, color }: GetVariantStyles) {\n if (variant === 'hover' || variant === 'transparent') {\n return {\n border: '1px solid transparent',\n color: theme.fn.themeColor(color, theme.colorScheme === 'dark' ? 4 : 7),\n backgroundColor: 'transparent',\n ...theme.fn.hover(\n variant === 'transparent'\n ? {}\n : {\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.fn.themeColor(color, 0),\n }\n ),\n };\n }\n\n const colors = theme.fn.variant({ color, variant });\n\n return {\n backgroundColor: colors.background,\n color: colors.color,\n border: `1px solid ${colors.border}`,\n ...theme.fn.hover({ backgroundColor: colors.hover }),\n };\n}\n\nexport default createStyles((theme, { color, size, radius }: ActionIconStylesParams) => ({\n root: {\n ...theme.fn.focusStyles(),\n ...theme.fn.fontStyles(),\n position: 'relative',\n appearance: 'none',\n WebkitAppearance: 'none',\n WebkitTapHighlightColor: 'transparent',\n boxSizing: 'border-box',\n height: theme.fn.size({ size, sizes }),\n minHeight: theme.fn.size({ size, sizes }),\n width: theme.fn.size({ size, sizes }),\n minWidth: theme.fn.size({ size, sizes }),\n borderRadius: theme.fn.radius(radius),\n padding: 0,\n lineHeight: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n\n '&:disabled': {\n color: theme.colors.gray[theme.colorScheme === 'dark' ? 6 : 4],\n cursor: 'not-allowed',\n backgroundColor: theme.fn.themeColor('gray', theme.colorScheme === 'dark' ? 8 : 1),\n borderColor: theme.fn.themeColor('gray', theme.colorScheme === 'dark' ? 8 : 1),\n },\n\n '&:not(:disabled):active': {\n transform: 'translateY(1px)',\n },\n },\n\n outline: getVariantStyles({ theme, color, variant: 'outline' }),\n filled: getVariantStyles({ theme, color, variant: 'filled' }),\n default: getVariantStyles({ theme, color, variant: 'default' }),\n light: getVariantStyles({ theme, color, variant: 'light' }),\n hover: getVariantStyles({ theme, color, variant: 'hover' }),\n transparent: getVariantStyles({ theme, color, variant: 'transparent' }),\n\n loading: {\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: -1,\n left: -1,\n right: -1,\n bottom: -1,\n backgroundColor:\n theme.colorScheme === 'dark'\n ? theme.fn.rgba(theme.colors.dark[7], 0.5)\n : 'rgba(255, 255, 255, .5)',\n borderRadius: theme.fn.radius(radius),\n cursor: 'not-allowed',\n },\n },\n}));\n","import React from 'react';\nimport { LoaderProps } from './loader-props';\n\nexport function Bars({ size, color, ...others }: LoaderProps) {\n return (\n \n );\n}\n","import React from 'react';\nimport { LoaderProps } from './loader-props';\n\nexport function Oval({ size, color, ...others }: LoaderProps) {\n return (\n \n );\n}\n","import React from 'react';\nimport { LoaderProps } from './loader-props';\n\nexport function Dots({ size, color, ...others }: LoaderProps) {\n return (\n \n );\n}\n","import React from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n MantineTheme,\n useMantineTheme,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Bars } from './loaders/Bars';\nimport { Oval } from './loaders/Oval';\nimport { Dots } from './loaders/Dots';\n\nconst LOADERS = {\n bars: Bars,\n oval: Oval,\n dots: Dots,\n} as const;\n\nexport const LOADER_SIZES = {\n xs: 18,\n sm: 22,\n md: 36,\n lg: 44,\n xl: 58,\n};\n\nexport interface LoaderProps extends DefaultProps, React.ComponentPropsWithoutRef<'svg'> {\n /** Defines width of loader */\n size?: MantineNumberSize;\n\n /** Loader color from theme */\n color?: MantineColor;\n\n /** Loader appearance */\n variant?: MantineTheme['loader'];\n}\n\nconst defaultProps: Partial = {\n size: 'md',\n};\n\nexport function Loader(props: LoaderProps) {\n const {\n size = 'md',\n color,\n variant,\n ...others\n } = useMantineDefaultProps('Loader', defaultProps, props);\n\n const theme = useMantineTheme();\n const defaultLoader = variant in LOADERS ? variant : theme.loader;\n const _color = color || theme.primaryColor;\n\n return (\n \n );\n}\n\nLoader.displayName = '@mantine/core/Loader';\n","import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n PolymorphicComponentProps,\n PolymorphicRef,\n Selectors,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, { sizes, ActionIconVariant } from './ActionIcon.styles';\nimport { Loader, LoaderProps } from '../Loader';\n\nexport type ActionIconStylesNames = Selectors;\n\ninterface _ActionIconProps extends DefaultProps {\n /** Icon rendered inside button */\n children?: React.ReactNode;\n\n /** Controls appearance */\n variant?: ActionIconVariant;\n\n /** Button hover, active and icon colors from theme, defaults to gray */\n color?: MantineColor;\n\n /** Button border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Predefined icon size or number to set width and height in px */\n size?: MantineNumberSize;\n\n /** Props spread to Loader component */\n loaderProps?: LoaderProps;\n\n /** Indicate loading state */\n loading?: boolean;\n}\n\nexport type ActionIconProps = PolymorphicComponentProps;\n\ntype ActionIconComponent = ((props: ActionIconProps) => React.ReactElement) & {\n displayName?: string;\n};\n\nconst defaultProps: Partial> = {\n color: 'gray',\n size: 'md',\n variant: 'hover',\n disabled: false,\n loading: false,\n};\n\nexport const ActionIcon: ActionIconComponent = forwardRef(\n (props: ActionIconProps<'button'>, ref: PolymorphicRef<'button'>) => {\n const {\n className,\n color,\n children,\n radius,\n size,\n variant,\n disabled,\n loaderProps,\n loading,\n component,\n styles,\n classNames,\n ...others\n } = useMantineDefaultProps('ActionIcon', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { size, radius, color },\n { name: 'ActionIcon', classNames, styles }\n );\n const colors = theme.fn.variant({ color, variant: 'light' });\n\n const loader = (\n \n );\n\n return (\n \n component={component || 'button'}\n className={cx(classes[variant], classes.root, { [classes.loading]: loading }, className)}\n type=\"button\"\n ref={ref}\n disabled={disabled || loading}\n {...others}\n >\n {loading ? loader : children}\n \n );\n }\n) as any;\n\nActionIcon.displayName = '@mantine/core/ActionIcon';\n","import React from 'react';\n\nexport function CloseIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n \n );\n}\n\nCloseIcon.displayName = '@mantine/core/CloseIcon';\n","import React, { forwardRef } from 'react';\nimport { useMantineTheme } from '@mantine/styles';\nimport { ActionIcon, ActionIconProps } from '../ActionIcon';\nimport { CloseIcon } from './CloseIcon';\n\nexport interface CloseButtonProps extends Omit, 'children'> {\n /** Width and height of cross icon */\n iconSize?: number;\n}\n\nconst iconSizes = {\n xs: 12,\n sm: 14,\n md: 16,\n lg: 20,\n xl: 24,\n};\n\nexport const CloseButton = forwardRef(\n ({ iconSize, size = 'md', ...others }: CloseButtonProps, ref) => {\n const theme = useMantineTheme();\n const _iconSize = iconSize || theme.fn.size({ size, sizes: iconSizes });\n\n return (\n \n \n \n );\n }\n);\n\nCloseButton.displayName = '@mantine/core/CloseButton';\n","import React, { forwardRef } from 'react';\nimport {\n PolymorphicComponentProps,\n PolymorphicRef,\n MantineNumberSize,\n DefaultProps,\n getDefaultZIndex,\n useMantineDefaultProps,\n CSSObject,\n} from '@mantine/styles';\nimport { Box } from '../Box';\n\ninterface _OverlayProps extends DefaultProps {\n /** Overlay opacity */\n opacity?: React.CSSProperties['opacity'];\n\n /** Overlay background-color */\n color?: React.CSSProperties['backgroundColor'];\n\n /** Overlay background blur in px */\n blur?: number;\n\n /** Use gradient instead of background-color */\n gradient?: string;\n\n /** Overlay z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n}\n\nexport type OverlayProps = PolymorphicComponentProps;\n\ntype OverlayComponent = ((props: OverlayProps) => React.ReactElement) & {\n displayName?: string;\n};\n\nconst defaultProps: Partial> = {\n opacity: 0.6,\n color: '#fff',\n zIndex: getDefaultZIndex('modal'),\n radius: 0,\n blur: 0,\n};\n\nexport const Overlay: OverlayComponent = forwardRef(\n (props: OverlayProps<'div'>, ref: PolymorphicRef<'div'>) => {\n const { opacity, blur, color, gradient, zIndex, component, radius, sx, ...others } =\n useMantineDefaultProps('Overlay', defaultProps, props);\n const background = gradient ? { backgroundImage: gradient } : { backgroundColor: color };\n\n const baseStyles: CSSObject = {\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex,\n };\n\n const innerOverlay = (otherProps?: Record) => (\n \n component={component || 'div'}\n ref={ref}\n sx={[\n (theme) => ({\n ...background,\n ...baseStyles,\n opacity,\n borderRadius: theme.fn.size({ size: radius, sizes: theme.radius }),\n }),\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...otherProps}\n />\n );\n\n if (blur) {\n return (\n ({\n ...baseStyles,\n backdropFilter: `blur(${blur}px)`,\n }),\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...others}\n >\n {innerOverlay()}\n \n );\n }\n\n return innerOverlay(others);\n }\n) as any;\n\nOverlay.displayName = '@mantine/core/Overlay';\n","/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\nimport React, { useEffect } from 'react';\nimport { useScrollLock, useFocusTrap, useFocusReturn, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n Selectors,\n MantineStyleSystemSize,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { CloseButton } from '../ActionIcon';\nimport { Text } from '../Text';\nimport { Paper } from '../Paper';\nimport { Overlay } from '../Overlay';\nimport { OptionalPortal } from '../Portal';\nimport { Box } from '../Box';\nimport { GroupedTransition, MantineTransition } from '../Transition';\nimport useStyles from './Modal.styles';\n\nexport type ModalStylesNames = Selectors;\n\nexport interface ModalProps\n extends Omit, MantineStyleSystemSize>,\n Omit, 'title'> {\n /** Mounts modal if true */\n opened: boolean;\n\n /** Called when close button clicked and when escape key is pressed */\n onClose(): void;\n\n /** Modal title, displayed in header before close button */\n title?: React.ReactNode;\n\n /** Modal z-index property */\n zIndex?: number;\n\n /** Control vertical overflow behavior */\n overflow?: 'outside' | 'inside';\n\n /** Hides close button if set to false, modal still can be closed with escape key and by clicking outside */\n withCloseButton?: boolean;\n\n /** Overlay opacity */\n overlayOpacity?: number;\n\n /** Overlay color */\n overlayColor?: string;\n\n /** Overlay blur in px */\n overlayBlur?: number;\n\n /** Modal radius */\n radius?: MantineNumberSize;\n\n /** Modal body width */\n size?: string | number;\n\n /** Modal body transition */\n transition?: MantineTransition;\n\n /** Duration in ms of modal transitions, set to 0 to disable all animations */\n transitionDuration?: number;\n\n /** Modal body transitionTimingFunction, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Close button aria-label */\n closeButtonLabel?: string;\n\n /** id base, used to generate ids to connect modal title and body with aria- attributes, defaults to random id */\n id?: string;\n\n /** Modal shadow from theme or css value */\n shadow?: MantineShadow;\n\n /** Modal padding from theme or number value for padding in px */\n padding?: MantineNumberSize;\n\n /** Should modal be closed when outside click was registered? */\n closeOnClickOutside?: boolean;\n\n /** Should modal be closed when escape is pressed? */\n closeOnEscape?: boolean;\n\n /** Disables focus trap */\n trapFocus?: boolean;\n\n /** Controls if modal should be centered */\n centered?: boolean;\n\n /** Target element or selector where modal portal should be rendered */\n target?: HTMLElement | string;\n\n /** Determines whether modal should be rendered within Portal, defaults to true */\n withinPortal?: boolean;\n}\n\nconst defaultProps: Partial = {\n size: 'md',\n transitionDuration: 250,\n overflow: 'outside',\n transition: 'pop',\n padding: 'lg',\n shadow: 'lg',\n closeOnClickOutside: true,\n closeOnEscape: true,\n trapFocus: true,\n withCloseButton: true,\n withinPortal: true,\n overlayBlur: 0,\n zIndex: getDefaultZIndex('modal'),\n};\n\nexport function Modal(props: ModalProps) {\n const {\n className,\n opened,\n title,\n onClose,\n children,\n withCloseButton,\n overlayOpacity,\n size,\n transitionDuration,\n closeButtonLabel,\n overlayColor,\n overflow,\n transition,\n padding,\n shadow,\n radius,\n id,\n classNames,\n styles,\n closeOnClickOutside,\n trapFocus,\n closeOnEscape,\n centered,\n target,\n withinPortal,\n zIndex,\n overlayBlur,\n transitionTimingFunction,\n ...others\n } = useMantineDefaultProps('Modal', defaultProps, props);\n const baseId = useUuid(id);\n const titleId = `${baseId}-title`;\n const bodyId = `${baseId}-body`;\n const { classes, cx, theme } = useStyles(\n { size, overflow, centered, zIndex },\n { classNames, styles, name: 'Modal' }\n );\n const focusTrapRef = useFocusTrap(trapFocus && opened);\n const _overlayOpacity =\n typeof overlayOpacity === 'number'\n ? overlayOpacity\n : theme.colorScheme === 'dark'\n ? 0.85\n : 0.75;\n\n const [, lockScroll] = useScrollLock();\n\n const closeOnEscapePress = (event: KeyboardEvent) => {\n if (!trapFocus && event.code === 'Escape' && closeOnEscape) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (!trapFocus) {\n window.addEventListener('keydown', closeOnEscapePress);\n return () => window.removeEventListener('keydown', closeOnEscapePress);\n }\n\n return undefined;\n }, [trapFocus]);\n\n useFocusReturn({ opened, transitionDuration: 0, shouldReturnFocus: trapFocus });\n\n return (\n \n lockScroll(false)}\n onEntered={() => lockScroll(true)}\n mounted={opened}\n duration={transitionDuration}\n exitDuration={transitionDuration}\n timingFunction={transitionTimingFunction}\n transitions={{\n modal: { duration: transitionDuration, transition },\n overlay: {\n duration: transitionDuration / 2,\n transition: 'fade',\n timingFunction: 'ease',\n },\n }}\n >\n {(transitionStyles) => (\n \n {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n shouldTrigger && event.nativeEvent.code === 'Escape' && closeOnEscape && onClose();\n }}\n ref={focusTrapRef}\n >\n
\n className={classes.modal}\n shadow={shadow}\n p={padding}\n radius={radius}\n role=\"dialog\"\n aria-labelledby={titleId}\n aria-describedby={bodyId}\n aria-modal\n tabIndex={-1}\n style={transitionStyles.modal}\n >\n {(title || withCloseButton) && (\n \n \n {title}\n \n\n {withCloseButton && (\n \n )}\n
\n )}\n\n \n {children}\n
\n \n
\n closeOnClickOutside && onClose()}\n blur={overlayBlur}\n color={\n overlayColor ||\n (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n opacity={_overlayOpacity}\n />\n
\n
\n \n )}\n \n \n );\n}\n\nModal.displayName = '@mantine/core/Modal';\n","import { useEffect, useRef, useState } from 'react';\n\nimport { getLockStyles } from './utils/get-lock-styles';\nimport { injectStyles } from './utils/inject-style-tag';\nimport { insertStyleTag } from './utils/insert-style-tag';\nimport { makeStyleTag } from './utils/make-style-tag';\n\nexport function useScrollLock(\n lock?: boolean,\n options = {\n disableBodyPadding: false,\n }\n) {\n const [scrollLocked, setScrollLocked] = useState(lock || false);\n const scrollTop = useRef(0);\n\n const { disableBodyPadding } = options;\n\n const stylesheet = useRef(null);\n\n const lockScroll = () => {\n scrollTop.current = window.scrollY;\n\n const styles = getLockStyles({ disableBodyPadding });\n\n /**\n * by applying styles via style tag\n * we dont care about previous styles due to inheritance\n * when scroll gets unlocked we delete that style tag\n */\n const sheet = makeStyleTag();\n\n injectStyles(sheet, styles);\n insertStyleTag(sheet);\n\n stylesheet.current = sheet;\n };\n\n const unlockScroll = () => {\n if (!stylesheet?.current) return;\n\n stylesheet.current.parentNode.removeChild(stylesheet.current);\n stylesheet.current = null;\n };\n\n useEffect(() => {\n if (scrollLocked) {\n lockScroll();\n } else {\n unlockScroll();\n }\n\n return unlockScroll;\n }, [scrollLocked]);\n\n useEffect(() => {\n if (lock !== undefined) {\n setScrollLocked(lock);\n }\n }, [lock]);\n\n useEffect(() => {\n if (lock === undefined && typeof window !== 'undefined') {\n window.document.body.style.overflow === 'hidden' && setScrollLocked(true);\n }\n }, [setScrollLocked]);\n\n return [scrollLocked, setScrollLocked] as const;\n}\n","import { useRef } from 'react';\nimport { useDidUpdate } from '../use-did-update/use-did-update';\n\ninterface UseFocusReturn {\n opened: boolean;\n transitionDuration: number;\n shouldReturnFocus?: boolean;\n}\n\n/** Returns focus to last active element, used in Modal and Drawer */\nexport function useFocusReturn({\n opened,\n transitionDuration,\n shouldReturnFocus = true,\n}: UseFocusReturn) {\n const lastActiveElement = useRef();\n const returnFocus = () => {\n if (\n lastActiveElement.current &&\n 'focus' in lastActiveElement.current &&\n typeof lastActiveElement.current.focus === 'function'\n ) {\n lastActiveElement.current?.focus();\n }\n };\n\n useDidUpdate(() => {\n let timeout = -1;\n\n const clearFocusTimeout = (event: KeyboardEvent) => {\n if (event.code === 'Tab') {\n window.clearTimeout(timeout);\n }\n };\n\n document.addEventListener('keydown', clearFocusTimeout);\n\n if (opened) {\n lastActiveElement.current = document.activeElement as HTMLElement;\n } else if (shouldReturnFocus) {\n timeout = window.setTimeout(returnFocus, transitionDuration + 10);\n }\n\n return () => {\n window.clearTimeout(timeout);\n document.removeEventListener('keydown', clearFocusTimeout);\n };\n }, [opened]);\n\n return returnFocus;\n}\n","import { createStyles, MantineNumberSize, MantineSize } from '@mantine/styles';\n\nexport type InputVariant = 'default' | 'filled' | 'unstyled' | 'headless';\n\nexport interface InputStylesParams {\n radius: MantineNumberSize;\n size: MantineSize;\n variant: InputVariant;\n multiline: boolean;\n invalid: boolean;\n rightSectionWidth: number;\n withRightSection: boolean;\n iconWidth: number;\n}\n\nexport const sizes = {\n xs: 30,\n sm: 36,\n md: 42,\n lg: 50,\n xl: 60,\n};\n\nexport default createStyles(\n (\n theme,\n {\n size,\n multiline,\n radius,\n variant,\n invalid,\n rightSectionWidth,\n withRightSection,\n iconWidth,\n }: InputStylesParams\n ) => {\n const invalidColor = theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7];\n const sizeStyles =\n variant === 'default' || variant === 'filled'\n ? {\n minHeight: theme.fn.size({ size, sizes }),\n paddingLeft: theme.fn.size({ size, sizes }) / 3,\n paddingRight: withRightSection ? rightSectionWidth : theme.fn.size({ size, sizes }) / 3,\n borderRadius: theme.fn.radius(radius),\n }\n : null;\n\n return {\n wrapper: {\n position: 'relative',\n },\n\n input:\n variant === 'headless'\n ? {}\n : {\n ...theme.fn.fontStyles(),\n height: multiline\n ? variant === 'unstyled'\n ? undefined\n : 'auto'\n : theme.fn.size({ size, sizes }),\n WebkitTapHighlightColor: 'transparent',\n lineHeight: multiline ? theme.lineHeight : `${theme.fn.size({ size, sizes }) - 2}px`,\n appearance: 'none',\n resize: 'none',\n boxSizing: 'border-box',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n width: '100%',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n display: 'block',\n textAlign: 'left',\n ...sizeStyles,\n\n '&:disabled': {\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: 'not-allowed',\n\n '&::placeholder': {\n color: theme.colors.dark[2],\n },\n },\n\n '&::placeholder': {\n opacity: 1,\n userSelect: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n\n '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration':\n {\n appearance: 'none',\n },\n\n '&[type=number]': {\n MozAppearance: 'textfield',\n },\n },\n\n defaultVariant: {\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[4]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.white,\n transition: 'border-color 100ms ease',\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 8 : 5],\n },\n },\n\n filledVariant: {\n border: '1px solid transparent',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1],\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: `${\n theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 8 : 5]\n } !important`,\n },\n },\n\n unstyledVariant: {\n borderWidth: 0,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n backgroundColor: 'transparent',\n minHeight: 28,\n outline: 0,\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n\n '&:disabled': {\n backgroundColor: 'transparent',\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n },\n },\n\n withIcon: {\n paddingLeft: typeof iconWidth === 'number' ? iconWidth : theme.fn.size({ size, sizes }),\n },\n\n invalid: {\n color: invalidColor,\n borderColor: invalidColor,\n\n '&::placeholder': {\n opacity: 1,\n color: invalidColor,\n },\n },\n\n disabled: {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: 'not-allowed',\n\n '&::placeholder': {\n color: theme.colors.dark[2],\n },\n },\n\n icon: {\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: typeof iconWidth === 'number' ? iconWidth : theme.fn.size({ size, sizes }),\n color: invalid\n ? theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7]\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[5],\n },\n\n rightSection: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: rightSectionWidth,\n },\n };\n }\n);\n","import React, { forwardRef } from 'react';\nimport {\n useMantineTheme,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n Selectors,\n PolymorphicComponentProps,\n PolymorphicRef,\n extractSystemStyles,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, { InputVariant } from './Input.styles';\n\nexport type InputStylesNames = Selectors;\n\nexport interface InputBaseProps {\n /** Adds icon on the left side of input */\n icon?: React.ReactNode;\n\n /** Width of icon section in px */\n iconWidth?: number;\n\n /** Right section of input, similar to icon but on the right */\n rightSection?: React.ReactNode;\n\n /** Width of right section, is used to calculate input padding-right */\n rightSectionWidth?: number;\n\n /** Props spread to rightSection div element */\n rightSectionProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Properties spread to root element */\n wrapperProps?: { [key: string]: any };\n\n /** Sets required on input element */\n required?: boolean;\n\n /** Input border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Defines input appearance, defaults to default in light color scheme and filled in dark */\n variant?: InputVariant;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Input size */\n size?: MantineSize;\n}\n\ninterface _InputProps extends InputBaseProps, DefaultProps {\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Sets border color to red and aria-invalid=true on input element */\n invalid?: boolean;\n\n /** Will input have multiple lines? */\n multiline?: boolean;\n}\n\nexport type InputProps = PolymorphicComponentProps;\n\ntype InputComponent = ((props: InputProps) => React.ReactElement) & {\n displayName?: string;\n};\n\nconst defaultProps: Partial> = {\n rightSectionWidth: 36,\n size: 'sm',\n __staticSelector: 'Input',\n};\n\nexport const Input: InputComponent = forwardRef(\n (props: InputProps<'input'>, ref: PolymorphicRef<'input'>) => {\n const {\n component,\n className,\n invalid,\n required,\n disabled,\n variant,\n icon,\n style,\n rightSectionWidth,\n iconWidth,\n rightSection,\n rightSectionProps,\n radius,\n size,\n wrapperProps,\n classNames,\n styles,\n __staticSelector,\n multiline,\n sx,\n ...others\n } = useMantineDefaultProps('Input', defaultProps, props);\n\n const theme = useMantineTheme();\n const _variant = variant || (theme.colorScheme === 'dark' ? 'filled' : 'default');\n const { classes, cx } = useStyles(\n {\n radius,\n size,\n multiline,\n variant: _variant,\n invalid,\n rightSectionWidth,\n iconWidth,\n withRightSection: !!rightSection,\n },\n { classNames, styles, name: __staticSelector }\n );\n const { systemStyles, rest } = extractSystemStyles(others);\n const Element: any = component || 'input';\n\n return (\n \n {icon && {icon}
}\n\n \n\n {rightSection && (\n \n {rightSection}\n
\n )}\n \n );\n }\n) as any;\n\nInput.displayName = '@mantine/core/Input';\n","import { createStyles, MantineSize } from '@mantine/styles';\n\nexport interface InputWrapperStylesParams {\n size: MantineSize;\n}\n\nexport default createStyles((theme, { size }: InputWrapperStylesParams) => ({\n root: {\n ...theme.fn.fontStyles(),\n lineHeight: theme.lineHeight,\n },\n\n label: {\n display: 'inline-block',\n marginBottom: 4,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n fontWeight: 500,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.colors.gray[9],\n wordBreak: 'break-word',\n cursor: 'default',\n WebkitTapHighlightColor: 'transparent',\n },\n\n error: {\n marginTop: theme.spacing.xs / 2,\n wordBreak: 'break-word',\n color: theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7],\n },\n\n description: {\n marginTop: -3,\n marginBottom: 7,\n wordBreak: 'break-word',\n color: `${\n theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[6]\n } !important`,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }) - 2,\n lineHeight: 1.2,\n },\n\n required: {\n color: theme.colorScheme === 'dark' ? theme.colors.red[5] : theme.colors.red[7],\n },\n}));\n","import React, { createElement, forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors, useMantineDefaultProps } from '@mantine/styles';\nimport { Text } from '../Text';\nimport { Box } from '../Box';\nimport useStyles from './InputWrapper.styles';\n\nexport type InputWrapperStylesNames = Selectors;\n\nexport interface InputWrapperBaseProps {\n /** Input label, displayed before input */\n label?: React.ReactNode;\n\n /** Input description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n\n /** Adds red asterisk on the right side of label */\n required?: boolean;\n\n /** Props spread to label element */\n labelProps?: React.ComponentPropsWithoutRef<'label'> & { [key: string]: any };\n\n /** Props spread to description element */\n descriptionProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /** Props spread to error element */\n errorProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n}\n\nexport interface InputWrapperProps\n extends DefaultProps,\n InputWrapperBaseProps,\n React.ComponentPropsWithoutRef<'div'> {\n /** Input that should be wrapped */\n children: React.ReactNode;\n\n /** htmlFor label prop */\n id?: string;\n\n /** Render label as label with htmlFor or as div */\n labelElement?: 'label' | 'div';\n\n /** Controls all elements font-size */\n size?: MantineSize;\n\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial = {\n labelElement: 'label',\n size: 'sm',\n __staticSelector: 'InputWrapper',\n};\n\nexport const InputWrapper = forwardRef(\n (props: InputWrapperProps, ref) => {\n const {\n className,\n label,\n children,\n required,\n id,\n error,\n description,\n labelElement,\n labelProps,\n descriptionProps,\n errorProps,\n classNames,\n styles,\n size,\n __staticSelector,\n ...others\n } = useMantineDefaultProps('InputWrapper', defaultProps, props);\n\n const { classes, cx } = useStyles({ size }, { classNames, styles, name: __staticSelector });\n const _labelProps = labelElement === 'label' ? { htmlFor: id } : {};\n const inputLabel = createElement(\n labelElement,\n {\n ..._labelProps,\n ...labelProps,\n id: id ? `${id}-label` : undefined,\n className: classes.label,\n },\n <>\n {label}\n {required && (\n \n {' *'}\n \n )}\n >\n );\n\n return (\n \n {label && inputLabel}\n\n {description && (\n \n {description}\n \n )}\n\n {children}\n\n {typeof error !== 'boolean' && error && (\n \n {error}\n \n )}\n \n );\n }\n);\n\nInputWrapper.displayName = '@mantine/core/InputWrapper';\n","import React, { forwardRef } from 'react';\nimport { useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineSize,\n extractSystemStyles,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Input, InputBaseProps, InputStylesNames } from '../Input/Input';\nimport {\n InputWrapperBaseProps,\n InputWrapper,\n InputWrapperStylesNames,\n} from '../InputWrapper/InputWrapper';\n\nexport type TextInputStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface TextInputProps\n extends DefaultProps,\n InputBaseProps,\n InputWrapperBaseProps,\n Omit, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds icon on the left side of input */\n icon?: React.ReactNode;\n\n /** Input element type */\n type?: 'text' | 'password' | 'email' | 'search' | 'tel' | 'url' | 'number';\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: { [key: string]: any };\n\n /** Input size */\n size?: MantineSize;\n\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial = {\n type: 'text',\n size: 'sm',\n __staticSelector: 'TextInput',\n};\n\nexport const TextInput = forwardRef(\n (props: TextInputProps, ref) => {\n const {\n className,\n id,\n label,\n error,\n required,\n type,\n style,\n icon,\n description,\n wrapperProps,\n size,\n classNames,\n styles,\n errorProps,\n labelProps,\n descriptionProps,\n __staticSelector,\n sx,\n ...others\n } = useMantineDefaultProps('TextInput', defaultProps, props);\n\n const uuid = useUuid(id);\n const { systemStyles, rest } = extractSystemStyles(others);\n\n return (\n \n \n {...rest}\n required={required}\n ref={ref}\n id={uuid}\n type={type}\n invalid={!!error}\n icon={icon}\n size={size}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n />\n \n );\n }\n);\n\nTextInput.displayName = '@mantine/core/TextInput';\n","import React from 'react';\nimport { createStyles, MantineNumberSize } from '@mantine/styles';\n\nexport type GroupPosition = 'right' | 'center' | 'left' | 'apart';\n\nexport interface GroupStylesParams {\n position: GroupPosition;\n noWrap: boolean;\n grow: boolean;\n spacing: MantineNumberSize;\n direction: 'row' | 'column';\n align: React.CSSProperties['alignItems'];\n count: number;\n}\n\nconst POSITIONS = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n apart: 'space-between',\n};\n\nexport default createStyles(\n (theme, { spacing, position, noWrap, direction, grow, align, count }: GroupStylesParams) => ({\n root: {\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: direction,\n alignItems:\n align ||\n (direction === 'row'\n ? 'center'\n : grow\n ? 'stretch'\n : position === 'apart'\n ? 'flex-start'\n : POSITIONS[position]),\n flexWrap: noWrap ? 'nowrap' : 'wrap',\n justifyContent: direction === 'row' ? POSITIONS[position] : undefined,\n gap: theme.fn.size({ size: spacing, sizes: theme.spacing }),\n },\n\n child: {\n boxSizing: 'border-box',\n maxWidth:\n grow && direction === 'row'\n ? `calc(${100 / count}% - ${\n theme.fn.size({ size: spacing, sizes: theme.spacing }) -\n theme.fn.size({ size: spacing, sizes: theme.spacing }) / count\n }px)`\n : undefined,\n flexGrow: grow ? 1 : 0,\n },\n })\n);\n","import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, useMantineDefaultProps } from '@mantine/styles';\nimport { filterFalsyChildren } from '../../utils';\nimport { Box } from '../Box';\nimport useStyles, { GroupPosition } from './Group.styles';\n\nexport interface GroupProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Defines justify-content property */\n position?: GroupPosition;\n\n /** Defined flex-wrap property */\n noWrap?: boolean;\n\n /** Defines flex-grow property for each element, true -> 1, false -> 0 */\n grow?: boolean;\n\n /** Space between elements */\n spacing?: MantineNumberSize;\n\n /** Defines flex-direction property, row for horizontal, column for vertical */\n direction?: 'row' | 'column';\n\n /** Defines align-items css property */\n align?: React.CSSProperties['alignItems'];\n}\n\nconst defaultProps: Partial = {\n position: 'left',\n spacing: 'md',\n direction: 'row',\n};\n\nexport const Group = forwardRef((props: GroupProps, ref) => {\n const {\n className,\n position,\n align,\n children,\n noWrap,\n grow,\n spacing,\n direction,\n classNames,\n styles,\n ...others\n } = useMantineDefaultProps('Group', defaultProps, props);\n\n const filteredChildren = filterFalsyChildren(children);\n const { classes, cx } = useStyles(\n {\n align,\n grow,\n noWrap,\n spacing,\n position,\n direction,\n count: filteredChildren.length,\n },\n { classNames, styles, name: 'Group' }\n );\n\n const items = filteredChildren.map((child) => {\n if (typeof child === 'object' && child !== null && 'props' in child) {\n return React.cloneElement(child, {\n className: cx(classes.child, child.props?.className),\n });\n }\n\n return child;\n });\n\n return (\n \n {items}\n \n );\n});\n\nGroup.displayName = '@mantine/core/Group';\n","import { Children, ReactElement, ReactNode } from 'react';\n\nexport function filterFalsyChildren(children: ReactNode) {\n return (Children.toArray(children) as ReactElement[]).filter(Boolean);\n}\n","import {\n createStyles,\n MantineSize,\n MantineNumberSize,\n MantineSizes,\n MantineColor,\n MantineTheme,\n} from '@mantine/styles';\nimport { INPUT_SIZES } from '../Input';\n\nexport type ButtonVariant =\n | 'filled'\n | 'outline'\n | 'light'\n | 'gradient'\n | 'white'\n | 'default'\n | 'subtle';\n\nexport interface ButtonStylesParams {\n color: MantineColor;\n size: MantineSize;\n radius: MantineNumberSize;\n fullWidth: boolean;\n compact: boolean;\n gradientFrom: string;\n gradientTo: string;\n gradientDeg: number;\n}\n\nconst sizes = {\n xs: {\n height: INPUT_SIZES.xs,\n padding: '0 14px',\n },\n\n sm: {\n height: INPUT_SIZES.sm,\n padding: '0 18px',\n },\n\n md: {\n height: INPUT_SIZES.md,\n padding: '0 22px',\n },\n\n lg: {\n height: INPUT_SIZES.lg,\n padding: '0 26px',\n },\n\n xl: {\n height: INPUT_SIZES.xl,\n padding: '0 32px',\n },\n\n 'compact-xs': {\n height: 22,\n padding: '0 7px',\n },\n\n 'compact-sm': {\n height: 26,\n padding: '0 8px',\n },\n\n 'compact-md': {\n height: 30,\n padding: '0 10px',\n },\n\n 'compact-lg': {\n height: 34,\n padding: '0 12px',\n },\n\n 'compact-xl': {\n height: 40,\n padding: '0 14px',\n },\n};\n\nexport const heights = Object.keys(sizes).reduce((acc, size) => {\n acc[size] = sizes[size].height;\n return acc;\n}, {} as MantineSizes);\n\nconst getSizeStyles = ({ compact, size }: { compact: boolean; size: MantineSize }) => {\n if (!compact) {\n return sizes[size];\n }\n\n return sizes[`compact-${size}`];\n};\n\nconst getWidthStyles = (fullWidth: boolean) => ({\n display: fullWidth ? 'block' : 'inline-block',\n width: fullWidth ? '100%' : 'auto',\n});\n\ninterface GetVariantStyles {\n theme: MantineTheme;\n color: MantineColor;\n variant: ButtonVariant;\n}\n\nfunction getVariantStyles({ variant, theme, color }: GetVariantStyles) {\n const colors = theme.fn.variant({ color, variant });\n\n return {\n border: `1px solid ${colors.border}`,\n backgroundColor: colors.background,\n backgroundImage: colors.background,\n color: colors.color,\n ...theme.fn.hover({\n backgroundColor: colors.hover,\n }),\n };\n}\n\nexport default createStyles(\n (\n theme,\n {\n color,\n size,\n radius,\n fullWidth,\n compact,\n gradientFrom,\n gradientTo,\n gradientDeg,\n }: ButtonStylesParams,\n getRef\n ) => {\n const gradient = theme.fn.variant({\n color,\n variant: 'gradient',\n gradient: { from: gradientFrom, to: gradientTo, deg: gradientDeg },\n });\n\n return {\n loading: {\n ref: getRef('loading'),\n pointerEvents: 'none',\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: -1,\n left: -1,\n right: -1,\n bottom: -1,\n backgroundColor:\n theme.colorScheme === 'dark'\n ? theme.fn.rgba(theme.colors.dark[7], 0.5)\n : 'rgba(255, 255, 255, .5)',\n borderRadius: theme.fn.radius(radius),\n cursor: 'not-allowed',\n },\n },\n\n outline: getVariantStyles({ variant: 'outline', theme, color }),\n filled: getVariantStyles({ variant: 'filled', theme, color }),\n light: getVariantStyles({ variant: 'light', theme, color }),\n default: getVariantStyles({ variant: 'default', theme, color }),\n white: getVariantStyles({ variant: 'white', theme, color }),\n subtle: getVariantStyles({ variant: 'subtle', theme, color }),\n\n gradient: {\n border: 0,\n backgroundImage: gradient.background,\n color: gradient.color,\n\n '&:hover': theme.fn.hover({\n backgroundSize: '200%',\n }),\n },\n\n root: {\n ...getSizeStyles({ compact, size }),\n ...theme.fn.fontStyles(),\n ...theme.fn.focusStyles(),\n ...getWidthStyles(fullWidth),\n borderRadius: theme.fn.radius(radius),\n fontWeight: 600,\n position: 'relative',\n lineHeight: 1,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n WebkitTapHighlightColor: 'transparent',\n userSelect: 'none',\n boxSizing: 'border-box',\n textDecoration: 'none',\n cursor: 'pointer',\n appearance: 'none',\n WebkitAppearance: 'none',\n\n '&:not(:disabled):active': {\n transform: 'translateY(1px)',\n },\n\n [`&:not(.${getRef('loading')}):disabled`]: {\n borderColor: 'transparent',\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2],\n color: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[5],\n cursor: 'not-allowed',\n },\n },\n\n icon: {\n display: 'flex',\n alignItems: 'center',\n },\n\n leftIcon: {\n marginRight: 10,\n },\n\n rightIcon: {\n marginLeft: 10,\n },\n\n inner: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n overflow: 'visible',\n },\n\n label: {\n whiteSpace: 'nowrap',\n height: '100%',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n },\n };\n }\n);\n","import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineSize,\n MantineNumberSize,\n MantineGradient,\n MantineColor,\n Selectors,\n PolymorphicComponentProps,\n PolymorphicRef,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, { heights, ButtonVariant } from './Button.styles';\nimport { Loader, LoaderProps } from '../Loader';\n\nexport type ButtonStylesNames = Selectors;\n\nexport interface SharedButtonProps extends DefaultProps {\n /** Predefined button size */\n size?: MantineSize;\n\n /** Button type attribute */\n type?: 'submit' | 'button' | 'reset';\n\n /** Button color from theme */\n color?: MantineColor;\n\n /** Adds icon before button label */\n leftIcon?: React.ReactNode;\n\n /** Adds icon after button label */\n rightIcon?: React.ReactNode;\n\n /** Sets button width to 100% of parent element */\n fullWidth?: boolean;\n\n /** Button border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Controls button appearance */\n variant?: ButtonVariant;\n\n /** Controls gradient settings in gradient variant only */\n gradient?: MantineGradient;\n\n /** Set text-transform to uppercase */\n uppercase?: boolean;\n\n /** Reduces vertical and horizontal spacing */\n compact?: boolean;\n\n /** Indicate loading state */\n loading?: boolean;\n\n /** Props spread to Loader component */\n loaderProps?: LoaderProps;\n\n /** Loader position relative to button label */\n loaderPosition?: 'left' | 'right';\n\n /** Button label */\n children?: React.ReactNode;\n\n /** Disabled state */\n disabled?: boolean;\n}\n\nexport type ButtonProps = PolymorphicComponentProps;\n\ntype ButtonComponent = ((props: ButtonProps) => React.ReactElement) & {\n displayName?: string;\n};\n\nconst defaultProps: Partial> = {\n size: 'sm',\n type: 'button',\n variant: 'filled',\n loaderPosition: 'left',\n gradient: { from: 'blue', to: 'cyan', deg: 45 },\n};\n\nexport const Button: ButtonComponent = forwardRef(\n (props: ButtonProps<'button'>, ref: PolymorphicRef<'button'>) => {\n const {\n className,\n size,\n color,\n type,\n disabled,\n children,\n leftIcon,\n rightIcon,\n fullWidth,\n variant,\n radius,\n component,\n uppercase,\n compact,\n loading,\n loaderPosition,\n loaderProps,\n gradient,\n classNames,\n styles,\n ...others\n } = useMantineDefaultProps('Button', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n {\n radius,\n color,\n size,\n fullWidth,\n compact,\n gradientFrom: gradient.from,\n gradientTo: gradient.to,\n gradientDeg: gradient.deg,\n },\n { classNames, styles, name: 'Button' }\n );\n const colors = theme.fn.variant({ color, variant });\n const loader = (\n \n );\n\n return (\n {}}\n {...others}\n >\n \n {(leftIcon || (loading && loaderPosition === 'left')) && (\n \n {loading && loaderPosition === 'left' ? loader : leftIcon}\n \n )}\n\n \n {children}\n \n\n {(rightIcon || (loading && loaderPosition === 'right')) && (\n \n {loading && loaderPosition === 'right' ? loader : rightIcon}\n \n )}\n
\n \n );\n }\n) as any;\n\nButton.displayName = '@mantine/core/Button';\n","import { createStyles, MantineNumberSize, MantineSize } from '@mantine/styles';\n\nexport interface ContainerStylesParams {\n fluid: boolean;\n size: MantineNumberSize;\n sizes: Record;\n}\n\nexport default createStyles((theme, { fluid, size, sizes }: ContainerStylesParams) => ({\n root: {\n paddingLeft: theme.spacing.md,\n paddingRight: theme.spacing.md,\n maxWidth: fluid ? '100%' : theme.fn.size({ size, sizes }),\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n}));\n","import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n useMantineDefaultProps,\n MantineSize,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles from './Container.styles';\n\nexport interface ContainerProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Predefined container max-width or number for max-width in px */\n size?: MantineNumberSize;\n\n /** If fluid is set to true, size prop is ignored and Container always take 100% of width */\n fluid?: boolean;\n\n /** Container sizes */\n sizes?: Record;\n}\n\nconst defaultProps: Partial = {\n sizes: {\n xs: 540,\n sm: 720,\n md: 960,\n lg: 1140,\n xl: 1320,\n },\n};\n\nexport const Container = forwardRef(\n (props: ContainerProps, ref) => {\n const { className, fluid, size, styles, classNames, sizes, ...others } = useMantineDefaultProps(\n 'Container',\n defaultProps,\n props\n );\n\n const { classes, cx } = useStyles(\n { fluid, size, sizes },\n { styles, classNames, name: 'Container' }\n );\n\n return ;\n }\n);\n\nContainer.displayName = '@mantine/core/Container';\n","import { createStyles } from '@mantine/styles';\n\ntype HeadingElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface TitleStylesParams {\n element: HeadingElement;\n align: 'right' | 'left' | 'center' | 'justify';\n}\n\nexport default createStyles((theme, { element, align }: TitleStylesParams) => ({\n root: {\n ...theme.fn.fontStyles(),\n fontFamily: theme.headings.fontFamily,\n fontWeight: theme.headings.fontWeight,\n fontSize: theme.headings.sizes[element].fontSize,\n lineHeight: theme.headings.sizes[element].lineHeight,\n margin: 0,\n color: 'inherit',\n textAlign: align,\n },\n}));\n","import React, { forwardRef } from 'react';\nimport { DefaultProps, useMantineDefaultProps } from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles from './Title.styles';\n\nexport type TitleOrder = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface TitleProps extends DefaultProps, React.ComponentPropsWithoutRef<'h1'> {\n /** Defines component and styles which will be used */\n order?: TitleOrder;\n\n /** Defined text-align */\n align?: 'right' | 'left' | 'center' | 'justify';\n}\n\nconst defaultProps: Partial = {\n order: 1,\n};\n\nexport const Title = forwardRef((props: TitleProps, ref) => {\n const { className, order, children, align, ...others } = useMantineDefaultProps(\n 'Title',\n defaultProps,\n props\n );\n\n const { classes, cx } = useStyles({ element: `h${order}`, align }, { name: 'Title' });\n\n if (![1, 2, 3, 4, 5, 6].includes(order)) {\n return null;\n }\n\n return (\n \n {children}\n \n );\n});\n\nTitle.displayName = '@mantine/core/Title';\n","import { createStyles, MantineNumberSize } from '@mantine/styles';\n\ninterface CardSectionStyles {\n padding: MantineNumberSize;\n first?: boolean;\n last?: boolean;\n}\n\nexport default createStyles((theme, { padding, first, last }: CardSectionStyles) => ({\n cardSection: {\n display: 'block',\n marginLeft: -1 * theme.fn.size({ size: padding, sizes: theme.spacing }),\n marginRight: -1 * theme.fn.size({ size: padding, sizes: theme.spacing }),\n marginTop: first ? -1 * theme.fn.size({ size: padding, sizes: theme.spacing }) : undefined,\n marginBottom: last ? -1 * theme.fn.size({ size: padding, sizes: theme.spacing }) : undefined,\n },\n}));\n","import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n PolymorphicComponentProps,\n PolymorphicRef,\n} from '@mantine/styles';\nimport { Box } from '../../Box';\nimport useStyles from './CardSection.styles';\n\nexport interface _CardSectionProps extends DefaultProps {\n padding?: MantineNumberSize;\n first?: boolean;\n last?: boolean;\n}\n\nexport type CardSectionProps = PolymorphicComponentProps;\n\ntype CardSectionComponent = ((props: CardSectionProps) => React.ReactElement) & {\n displayName?: string;\n};\n\nexport const CardSection: CardSectionComponent = forwardRef(\n (\n { className, padding = 0, component, first, last, ...others }: CardSectionProps<'div'>,\n ref: PolymorphicRef<'div'>\n ) => {\n const { classes, cx } = useStyles({ padding, first, last }, { name: 'Card' });\n return (\n \n );\n }\n) as any;\n\nCardSection.displayName = '@mantine/core/CardSection';\n","import { createStyles } from '@mantine/styles';\n\nexport default createStyles((theme) => ({\n root: {\n position: 'relative',\n overflow: 'hidden',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n },\n}));\n","import React, { Children, cloneElement, forwardRef } from 'react';\nimport { PolymorphicComponentProps, PolymorphicRef, useMantineDefaultProps } from '@mantine/styles';\nimport { Paper, SharedPaperProps } from '../Paper/Paper';\nimport { CardSection } from './CardSection/CardSection';\nimport useStyles from './Card.styles';\n\ninterface _CardProps extends SharedPaperProps {\n /** Card content */\n children: React.ReactNode;\n}\n\nexport type CardProps = PolymorphicComponentProps;\n\ntype CardComponent = ((props: CardProps) => React.ReactElement) & {\n displayName?: string;\n Section: typeof CardSection;\n};\n\nconst defaultProps: Partial> = {\n p: 'md',\n};\n\nexport const Card: CardComponent = forwardRef(\n (props: CardProps<'div'>, ref: PolymorphicRef<'div'>) => {\n const { component, className, p, radius, children, classNames, styles, ...others } =\n useMantineDefaultProps('Card', defaultProps, props);\n const { classes, cx } = useStyles(null, { name: 'Card', classNames, styles });\n const _children = Children.toArray(children);\n\n const content = _children.map((child, index) => {\n if (typeof child === 'object' && child && 'type' in child && child.type === CardSection) {\n return cloneElement(child, {\n padding: p,\n first: index === 0,\n last: index === _children.length - 1,\n });\n }\n\n return child;\n });\n\n return (\n \n {content}\n \n );\n }\n) as any;\n\nCard.Section = CardSection;\nCard.displayName = '@mantine/core/Card';\n","function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nexport { _extends as extends, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose };\n","import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport React from 'react';\n\nvar _excluded = [\"size\", \"color\"];\nfunction Sun(_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"icon icon-tabler icon-tabler-sun\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n stroke: color,\n strokeWidth: \"2\",\n fill: \"none\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, restProps), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7\"\n }));\n}\n\nexport { Sun as default };\n","import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport React from 'react';\n\nvar _excluded = [\"size\", \"color\"];\nfunction MoonStars(_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"icon icon-tabler icon-tabler-moon-stars\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n stroke: color,\n strokeWidth: \"2\",\n fill: \"none\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, restProps), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 11h2m-1 -1v2\"\n }));\n}\n\nexport { MoonStars as default };\n","import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport React from 'react';\n\nvar _excluded = [\"size\", \"color\"];\nfunction Trash(_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"icon icon-tabler icon-tabler-trash\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n stroke: color,\n strokeWidth: \"2\",\n fill: \"none\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, restProps), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"4\",\n y1: \"7\",\n x2: \"20\",\n y2: \"7\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"10\",\n y1: \"11\",\n x2: \"10\",\n y2: \"17\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"14\",\n y1: \"11\",\n x2: \"14\",\n y2: \"17\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3\"\n }));\n}\n\nexport { Trash as default };\n","import React, { createContext, useContext } from 'react';\nimport { ColorScheme } from './types';\n\ninterface ColorSchemeContextProps {\n colorScheme: ColorScheme;\n toggleColorScheme(colorScheme?: ColorScheme): void;\n}\n\nconst ColorSchemeContext = createContext(null);\n\nexport function useMantineColorScheme() {\n const ctx = useContext(ColorSchemeContext);\n\n if (!ctx) {\n throw new Error(\n 'useMantineColorScheme hook was called outside of context, make sure your app is wrapped with ColorSchemeProvider component'\n );\n }\n\n return ctx;\n}\n\ninterface ColorSchemeProviderProps extends ColorSchemeContextProps {\n children: React.ReactNode;\n}\n\nexport function ColorSchemeProvider({\n colorScheme,\n toggleColorScheme,\n children,\n}: ColorSchemeProviderProps) {\n return (\n \n {children}\n \n );\n}\n\nColorSchemeProvider.displayName = '@mantine/core/ColorSchemeProvider';\n","import { useEffect } from 'react';\n\nexport function useWindowEvent(\n type: K,\n listener: K extends keyof WindowEventMap\n ? (this: Window, ev: WindowEventMap[K]) => void\n : (this: Window, ev: CustomEvent) => void,\n options?: boolean | AddEventListenerOptions\n) {\n useEffect(() => {\n window.addEventListener(type, listener, options);\n return () => window.removeEventListener(type, listener, options);\n }, []);\n}\n","import { useState, useCallback, useEffect } from 'react';\nimport { useWindowEvent } from '../use-window-event/use-window-event';\n\ninterface UseLocalStorage {\n /** Local storage key */\n key: string;\n\n /** Default value that will be set if value is not found in local storage */\n defaultValue?: T;\n\n /** If set to true, value will be update is useEffect after mount */\n getInitialValueInEffect?: boolean;\n\n /** Function to serialize value into string to be save in local storage */\n serialize?(value: T): string;\n\n /** Function to deserialize string value from local storage to value */\n deserialize?(value: string): T;\n}\n\nfunction serializeJSON(value: T) {\n try {\n return JSON.stringify(value);\n } catch (error) {\n throw new Error('@mantine/hooks use-local-storage: Failed to serialize the value');\n }\n}\n\nfunction deserializeJSON(value: string) {\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n}\n\nexport function useLocalStorage({\n key,\n defaultValue = undefined,\n getInitialValueInEffect = false,\n deserialize = deserializeJSON,\n serialize = serializeJSON,\n}: UseLocalStorage) {\n const [value, setValue] = useState(\n typeof window !== 'undefined' && 'localStorage' in window && !getInitialValueInEffect\n ? deserialize(window.localStorage.getItem(key) ?? undefined)\n : ((defaultValue ?? '') as T)\n );\n\n const setLocalStorageValue = useCallback(\n (val: T | ((prevState: T) => T)) => {\n if (val instanceof Function) {\n setValue((current) => {\n const result = val(current);\n window.localStorage.setItem(key, serialize(result));\n window.dispatchEvent(\n new CustomEvent('mantine-local-storage', { detail: { key, value: val(current) } })\n );\n return result;\n });\n } else {\n window.localStorage.setItem(key, serialize(val));\n window.dispatchEvent(\n new CustomEvent('mantine-local-storage', { detail: { key, value: val } })\n );\n setValue(val);\n }\n },\n [key]\n );\n\n useWindowEvent('storage', (event) => {\n if (event.storageArea === window.localStorage && event.key === key) {\n setValue(deserialize(event.newValue ?? undefined));\n }\n });\n\n useWindowEvent('mantine-local-storage', (event) => {\n if (event.detail.key === key) {\n setValue(event.detail.value);\n }\n });\n\n useEffect(() => {\n if (defaultValue !== undefined && value === undefined) {\n setLocalStorageValue(defaultValue);\n }\n }, [defaultValue, value, setLocalStorageValue]);\n\n useEffect(() => {\n if (getInitialValueInEffect) {\n setValue(\n deserialize(window.localStorage.getItem(key) ?? undefined) || ((defaultValue ?? '') as T)\n );\n }\n }, []);\n\n return [value === undefined ? defaultValue : value, setLocalStorageValue] as const;\n}\n\nexport const useLocalStorageValue = useLocalStorage;\n","export type KeyboardModifiers = {\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n mod: boolean;\n shift: boolean;\n};\n\nexport type Hotkey = KeyboardModifiers & {\n key?: string;\n};\n\ntype CheckHotkeyMatch = (event: KeyboardEvent) => boolean;\n\nexport function parseHotkey(hotkey: string): Hotkey {\n const keys = hotkey\n .toLowerCase()\n .split('+')\n .map((part) => part.trim());\n\n const modifiers: KeyboardModifiers = {\n alt: keys.includes('alt'),\n ctrl: keys.includes('ctrl'),\n meta: keys.includes('meta'),\n mod: keys.includes('mod'),\n shift: keys.includes('shift'),\n };\n\n const reservedKeys = ['alt', 'ctrl', 'meta', 'shift', 'mod'];\n\n const freeKey = keys.find((key) => !reservedKeys.includes(key));\n\n return {\n ...modifiers,\n key: freeKey,\n };\n}\n\nfunction isExactHotkey(hotkey: Hotkey, event: KeyboardEvent): boolean {\n const { alt, ctrl, meta, mod, shift, key } = hotkey;\n const { altKey, ctrlKey, metaKey, shiftKey, key: pressedKey } = event;\n\n if (alt !== altKey) {\n return false;\n }\n\n if (mod) {\n if (!ctrlKey && !metaKey) {\n return false;\n }\n } else {\n if (ctrl !== ctrlKey) {\n return false;\n }\n if (meta !== metaKey) {\n return false;\n }\n }\n if (shift !== shiftKey) {\n return false;\n }\n\n if (\n key &&\n (pressedKey.toLowerCase() === key.toLowerCase() ||\n event.code.replace('Key', '').toLowerCase() === key.toLowerCase())\n ) {\n return true;\n }\n\n return false;\n}\n\nexport function getHotkeyMatcher(hotkey: string): CheckHotkeyMatch {\n return (event) => isExactHotkey(parseHotkey(hotkey), event);\n}\n\ntype HotkeyItem = [string, (event: React.KeyboardEvent) => void];\n\nexport function getHotkeyHandler(hotkeys: HotkeyItem[]) {\n return (event: React.KeyboardEvent) => {\n hotkeys.forEach(([hotkey, handler]) => {\n if (getHotkeyMatcher(hotkey)(event.nativeEvent)) {\n event.preventDefault();\n handler(event);\n }\n });\n };\n}\n","import { useEffect } from 'react';\nimport { getHotkeyMatcher, getHotkeyHandler } from './parse-hotkey';\n\nexport { getHotkeyHandler };\n\nexport type HotkeyItem = [string, (event: KeyboardEvent) => void];\n\nfunction shouldFireEvent(event: KeyboardEvent) {\n if (event.target instanceof HTMLElement) {\n return !['INPUT', 'TEXTAREA', 'SELECT'].includes(event.target.tagName);\n }\n return true;\n}\n\nexport function useHotkeys(hotkeys: HotkeyItem[]) {\n useEffect(() => {\n const keydownListener = (event: KeyboardEvent) => {\n hotkeys.forEach(([hotkey, handler]) => {\n if (getHotkeyMatcher(hotkey)(event) && shouldFireEvent(event)) {\n event.preventDefault();\n handler(event);\n }\n });\n };\n\n document.documentElement.addEventListener('keydown', keydownListener);\n return () => document.documentElement.removeEventListener('keydown', keydownListener);\n }, [hotkeys]);\n}\n","import {\n\tButton,\n\tContainer,\n\tText,\n\tTitle,\n\tModal,\n\tTextInput,\n\tGroup,\n\tCard,\n\tActionIcon,\n\tCode,\n} from '@mantine/core';\nimport { useState, useRef, useEffect } from 'react';\nimport { MoonStars, Sun, Trash } from 'tabler-icons-react';\n\nimport {\n\tMantineProvider,\n\tColorSchemeProvider,\n\tColorScheme,\n} from '@mantine/core';\nimport { useColorScheme } from '@mantine/hooks';\nimport { useHotkeys, useLocalStorage } from '@mantine/hooks';\n\nexport default function App() {\n\tconst [tasks, setTasks] = useState([]);\n\tconst [opened, setOpened] = useState(false);\n\n\tconst preferredColorScheme = useColorScheme();\n\tconst [colorScheme, setColorScheme] = useLocalStorage({\n\t\tkey: 'mantine-color-scheme',\n\t\tdefaultValue: 'light',\n\t\tgetInitialValueInEffect: true,\n\t});\n\tconst toggleColorScheme = value =>\n\t\tsetColorScheme(value || (colorScheme === 'dark' ? 'light' : 'dark'));\n\n\tuseHotkeys([['mod+J', () => toggleColorScheme()]]);\n\n\tconst taskTitle = useRef('');\n\tconst taskSummary = useRef('');\n\n\tfunction createTask() {\n\t\tsetTasks([\n\t\t\t...tasks,\n\t\t\t{\n\t\t\t\ttitle: taskTitle.current.value,\n\t\t\t\tsummary: taskSummary.current.value,\n\t\t\t},\n\t\t]);\n\n\t\tsaveTasks([\n\t\t\t...tasks,\n\t\t\t{\n\t\t\t\ttitle: taskTitle.current.value,\n\t\t\t\tsummary: taskSummary.current.value,\n\t\t\t},\n\t\t]);\n\t}\n\n\tfunction deleteTask(index) {\n\t\tvar clonedTasks = [...tasks];\n\n\t\tclonedTasks.splice(index, 1);\n\n\t\tsetTasks(clonedTasks);\n\n\t\tsaveTasks([...clonedTasks]);\n\t}\n\n\tfunction loadTasks() {\n\t\tlet loadedTasks = localStorage.getItem('tasks');\n\n\t\tlet tasks = JSON.parse(loadedTasks);\n\n\t\tif (tasks) {\n\t\t\tsetTasks(tasks);\n\t\t}\n\t}\n\n\tfunction saveTasks(tasks) {\n\t\tlocalStorage.setItem('tasks', JSON.stringify(tasks));\n\t}\n\n\tuseEffect(() => {\n\t\tloadTasks();\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{\n\t\t\t\t\t\t\tsetOpened(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tcentered>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t ({\n\t\t\t\t\t\t\t\t\tfontFamily: `Greycliff CF, ${theme.fontFamily}`,\n\t\t\t\t\t\t\t\t\tfontWeight: 900,\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\tMy Tasks\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t toggleColorScheme()}\n\t\t\t\t\t\t\t\tsize='lg'>\n\t\t\t\t\t\t\t\t{colorScheme === 'dark' ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{tasks.length > 0 ? (\n\t\t\t\t\t\t\ttasks.map((task, index) => {\n\t\t\t\t\t\t\t\tif (task.title) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{task.title}\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdeleteTask(index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor={'red'}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant={'transparent'}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{task.summary\n\t\t\t\t\t\t\t\t\t\t\t\t\t? task.summary\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'No summary was provided for this task'}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tYou have no tasks\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t);\n}\n","import { useMediaQuery } from '../use-media-query/use-media-query';\n\nexport function useColorScheme(initialValue?: 'dark' | 'light') {\n return useMediaQuery('(prefers-color-scheme: dark)', initialValue === 'dark') ? 'dark' : 'light';\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport App from './App';\n\nimport {\n\tMantineProvider,\n\tColorSchemeProvider,\n\tColorScheme,\n} from '@mantine/core';\n\nReactDOM.createRoot(document.getElementById('root')).render();\n"],"names":["reactIs","require","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","length","prototype","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","exports","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","i","key","descriptor","e","b","Symbol","for","c","d","f","g","h","k","l","m","n","p","q","r","t","v","w","x","y","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","aa","ca","encodeURIComponent","da","Set","ea","fa","ha","add","ia","window","document","createElement","ja","hasOwnProperty","ka","la","ma","this","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","split","forEach","toLowerCase","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","call","test","oa","removeAttribute","setAttribute","setAttributeNS","replace","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","assign","Ma","Error","stack","trim","match","Na","Oa","prepareStackTrace","set","Reflect","construct","includes","Pa","tag","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","constructor","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","value","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","Array","isArray","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","toString","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","push","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","apply","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","Math","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","id","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","String","fromCharCode","code","location","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","search","tel","text","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","min","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","element","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","setTimeout","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","context","memoizedValue","next","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","payload","callback","dh","K","eh","fh","gh","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","state","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","props","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","join","uh","vh","index","wh","xh","yh","implementation","zh","Ah","done","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","P","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","create","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","console","error","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","insertBefore","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","src","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","cache","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","default","Children","map","count","toArray","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","_arrayLikeToArray","arr","len","arr2","_unsupportedIterableToArray","o","minLen","from","_toConsumableArray","iter","TypeError","_i","_s","_e","_arr","_n","_d","_createForOfIteratorHelper","allowArrayLike","it","s","normalCompletion","didErr","step","_e2","useIsomorphicEffect","useUuid","staticId","uuid","setUuid","TABBABLE_NODES","FOCUS_SELECTOR","hidden","getElementTabIndex","tabIndex","getAttribute","parseInt","focusable","isTabIndexNotNaN","Number","HTMLAnchorElement","parentElement","visible","tabbable","findTabbableDescendants","filter","scopeTab","createAriaHider","containerNode","selector","rootNodes","ariaHidden","item","useFocusTrap","active","restoreAria","setRef","_node","focusElement","querySelector","find","processNode","handleKeyDown","getLockStyles","scrollWidth","disableBodyPadding","getComputedStyle","paddingRight","innerWidth","clientWidth","injectStyles","css","styleSheet","cssText","insertStyleTag","head","getElementsByTagName","makeStyleTag","useDidUpdate","fn","mounted","elevations","app","modal","popover","overlay","getDefaultZIndex","level","DEFAULT_COLORS","dark","gray","red","pink","grape","violet","indigo","blue","cyan","teal","green","lime","yellow","orange","themeColor","theme","shade","primaryFallback","primaryShades","colors","primaryColor","getGradientColorStops","stops","sizes","toRgba","hexString","shorthandHex","parsed","hexToRgba","startsWith","rgbStringToRgba","rgba","alpha","primaryShade","colorScheme","DEFAULT_GRADIENT","fns","fontStyles","fontFamily","focusStyles","WebkitTapHighlightColor","outlineOffset","outline","focusRing","linearGradient","deg","radialGradient","smallerThan","breakpoint","breakpoints","largerThan","cover","position","right","bottom","darken","round","lighten","light","radius","defaultRadius","variant","getThemeColor","getPrimaryShade","variant2","gradient","border","background","hover","white","black","merged","to","hoverStyle","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","propertyIsEnumerable","__defNormalProp","obj","writable","attachFunctions","themeBase","prop","__spreadValues","DEFAULT_THEME","dir","loader","dateFormat","transitionTimingFunction","fontFamilyMonospace","shadows","xs","sm","xl","fontSizes","spacing","headings","h1","fontSize","h2","h3","h4","h5","h6","other","datesLocale","StyleSheet","_this","_insertTag","before","tags","insertionPoint","prepend","container","isSpeedy","speedy","ctr","nonce","_proto","nodes","insert","rule","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","process","flush","abs","pattern","replacement","indexof","charat","charCodeAt","substr","begin","strlen","sizeof","append","array","line","column","character","characters","root","parent","copy","prev","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","serialize","output","prefix","hash","compile","parse","rules","rulesets","pseudo","points","declarations","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","j","identifierWithPointTracking","getRules","toRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","combine","exec","ssrStyles","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","serialized","shouldCache","styles","stylis","registered","str","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","arg","memoize","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","string","_key","interpolated","createStringFromObject","previousCursor","result","cached","labelPattern","serializeStyles","args","stringMode","strings","raw","lastIndex","identifierName","hashString","EmotionCacheContext","HTMLElement","createCache","withEmotionCache","func","ThemeContext","insertStyles","isStringTag","className","Global","sheetRef","rehydrating","sheetRefCurrent","nextElementSibling","GlobalStyles","React","boxSizing","backgroundColor","WebkitFontSmoothing","MozOsxFontSmoothing","assignSizeVariables","variables","MantineCssVariables","heading","__spreadProps","mergeThemeWithFunctions","currentTheme","themeOverride","reduce","acc","headingsAcc","mergeTheme","html","textSizeAdjust","margin","pre","textDecorationSkip","outlineWidth","borderBottom","textDecoration","dfn","fontStyle","mark","small","verticalAlign","sup","sub","borderStyle","textTransform","WebkitAppearance","padding","legend","maxWidth","whiteSpace","progress","textarea","appearance","font","summary","canvas","template","NormalizeCSS","MantineProviderContext","classNames","emotionOptions","useMantineTheme","_a","useMantineDefaultProps","_b","contextProps","filterProps","MantineProvider","withNormalizeCSS","withGlobalStyles","withCSSVariables","inherit","ctx","overrides","mergedTheme","defaultCacheOptions","getCache","useEmotionCache","useMantineEmotionOptions","refPropertyName","getRef","argCopy","merge","registeredStyles","rawClassName","getRegisteredStyles","cssFactory","params","cx","clsx","useCss","prevDeps","useGuaranteedMemo","mergeClassNames","classes","themeClassNames","createStyles","getCssObjectOrCssObject","getCssObject","useMantineThemeStyles","themeStyles","cssObject","refName","_styles","_themeStyles","entries","fromEntries","full","centered","close","inner","overflowY","justifyContent","alignItems","title","marginRight","textOverflow","wordBreak","marginTop","marginBottom","marginLeft","header","maxHeight","setMounted","OptionalPortal","withinPortal","others","exclude","__objRest","popIn","in","transform","out","transitionProperty","fade","scale","common","transformOrigin","transitionStatuses","entering","entered","exiting","exited","getTransitionStyles","duration","timingFunction","transitionDuration","useMediaQuery","query","matchMedia","matches","getInitialValue","setMatches","queryRef","addListener","removeListener","attachMediaListener","exitDuration","onEnter","onExit","onEntered","onExited","reduceMotion","transitionStatus","setStatus","setTransitionDuration","timeoutRef","shouldMount","preHandler","handler","_duration","preStateTimeout","handleStateChange","GroupedTransition","transitionsStyles","extractSystemStyles","mx","my","mt","mr","px","py","pt","pr","rest","systemStyles","SYSTEM_PROPS","NEGATIVE_VALUES","isValidSizeValue","getSizeValue","getSystemStyles","paddingTop","paddingBottom","paddingLeft","extractSx","sx","useSx","systemProps","partial","Box","shadow","withBorder","borderRadius","boxShadow","Paper","useStyles","_defineProperty","getTextColor","getLineClamp","WebkitBoxOrient","inline","underline","gradientDeg","gradientTo","gradientFrom","weight","align","textAlign","backgroundImage","WebkitBackgroundClip","WebkitTextFillColor","Text","getVariantStyles","minHeight","minWidth","borderColor","filled","transparent","loading","content","LOADERS","bars","viewBox","xmlns","fill","rx","dur","values","calcMode","repeatCount","oval","stroke","fillRule","cy","dots","LOADER_SIZES","Loader","defaultLoader","_color","role","ActionIcon","loaderProps","CloseIcon","clipRule","iconSizes","CloseButton","iconSize","_iconSize","blur","Overlay","baseStyles","innerOverlay","otherProps","backdropFilter","closeOnClickOutside","closeOnEscape","trapFocus","withCloseButton","overlayBlur","Modal","opened","onClose","overlayOpacity","closeButtonLabel","overlayColor","baseId","titleId","bodyId","focusTrapRef","_overlayOpacity","lock","scrollLocked","setScrollLocked","stylesheet","lockScroll","scrollY","unlockScroll","useScrollLock","closeOnEscapePress","shouldReturnFocus","lastActiveElement","returnFocus","timeout","clearFocusTimeout","useFocusReturn","transitionStyles","onKeyDownCapture","_a2","onMouseDown","multiline","invalid","rightSectionWidth","withRightSection","iconWidth","invalidColor","sizeStyles","wrapper","resize","userSelect","MozAppearance","defaultVariant","filledVariant","unstyledVariant","borderWidth","withIcon","icon","pointerEvents","rightSection","__staticSelector","Input","required","rightSectionProps","wrapperProps","_variant","label","description","labelElement","InputWrapper","labelProps","descriptionProps","errorProps","_labelProps","htmlFor","inputLabel","TextInput","POSITIONS","center","apart","noWrap","direction","grow","flexDirection","flexWrap","gap","Group","filteredChildren","Boolean","filterFalsyChildren","items","INPUT_SIZES","heights","getSizeStyles","compact","getWidthStyles","fullWidth","subtle","backgroundSize","leftIcon","rightIcon","loaderPosition","Button","uppercase","onTouchStart","fluid","Container","Title","first","cardSection","CardSection","Card","_children","_extends","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","Section","_excluded","Sun","_ref","_ref$size","_ref$color","restProps","strokeLinecap","strokeLinejoin","MoonStars","Trash","x1","y1","x2","y2","ColorSchemeContext","ColorSchemeProvider","toggleColorScheme","useWindowEvent","serializeJSON","deserializeJSON","useLocalStorage","getInitialValueInEffect","deserialize","localStorage","getItem","setLocalStorageValue","val","Function","setItem","CustomEvent","storageArea","newValue","parseHotkey","hotkey","part","modifiers","alt","ctrl","mod","reservedKeys","freeKey","getHotkeyMatcher","pressedKey","isExactHotkey","useHotkeys","hotkeys","keydownListener","shouldFireEvent","App","tasks","setTasks","setOpened","setColorScheme","taskTitle","taskSummary","saveTasks","loadedTasks","loadTasks","placeholder","task","clonedTasks","deleteTask","ReactDOM","getElementById"],"sourceRoot":""}
\ No newline at end of file