dga-ui-react 1.8.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +365 -67
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +363 -65
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +50 -3
- package/package.json +1 -1
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/components/ThemeProvider/index.tsx","../../src/lib/defaultTheme.ts","../../src/lib/helpers.ts","../../node_modules/style-inject/dist/style-inject.es.js","../../src/lib/useTheme.ts","../../node_modules/tslib/tslib.es6.js","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../node_modules/stylis/src/Enum.js","../../node_modules/stylis/src/Utility.js","../../node_modules/stylis/src/Tokenizer.js","../../node_modules/stylis/src/Parser.js","../../node_modules/stylis/src/Prefixer.js","../../node_modules/stylis/src/Serializer.js","../../node_modules/stylis/src/Middleware.js","../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../node_modules/styled-components/dist/styled-components.esm.js","../../src/assets/images/chevron.png","../../src/components/Accordion/index.tsx","../../src/assets/images/x.png","../../src/assets/images/check.png","../../src/assets/images/Feedback-Icon.png","../../src/components/Checkbox/checkboxColors.ts","../../src/components/Checkbox/Icon.tsx","../../src/components/Checkbox/index.tsx","../../src/components/Dropdown/DropdownItem.tsx","../../src/components/Tag/index.tsx","../../src/components/Tag/colors.ts","../../src/components/Autocomplete/index.tsx","../../src/components/Avatar/index.tsx","../../src/components/Breadcrumb/index.tsx","../../src/lib/constants.ts","../../src/components/Button/index.tsx","../../src/components/Button/buttonColors.ts","../../src/components/Card/index.tsx","../../node_modules/react-date-object/calendars/gregorian.js","../../node_modules/react-date-object/calendars/arabic.js","../../src/components/DatePicker/customLocales.js","../../src/components/TextInput/index.tsx","../../src/components/Menu/index.tsx","../../src/components/DatePicker/right.png","../../src/components/DatePicker/left.png","../../src/components/DatePicker/index.tsx","../../src/components/FileUpload/Icon.tsx","../../src/components/FileUpload/FileCard.tsx","../../src/assets/images/successFillCirecle.svg","../../src/assets/images/errorFillCircle.svg","../../src/components/FileUpload/DropZone.tsx","../../src/assets/images/chevronGray.png","../../src/components/Dropdown/index.tsx","../../src/components/FileUpload/FileUpload.tsx","../../src/lib/hooks/useScreenSizes.tsx","../../src/components/Grid/index.tsx","../../src/components/InlineAlert/colors.ts","../../src/components/InlineAlert/index.tsx","../../src/components/Link/index.tsx","../../src/components/List/index.tsx","../../src/components/Loading/index.tsx","../../src/components/Menu/MenuItem/index.tsx","../../src/components/Menu/MenuItemGroup/index.tsx","../../src/components/Modal/index.tsx","../../src/components/Notification/colors.ts","../../src/components/Notification/index.tsx","../../src/components/Tab/index.tsx","../../src/components/Pagination/index.tsx","../../src/components/ProgressIndicator/Base.tsx","../../src/assets/images/checkWhite.png","../../src/components/ProgressIndicator/index.tsx","../../src/components/Radio/index.tsx","../../src/components/RadioGroup/index.tsx","../../src/components/Switch/index.tsx","../../src/components/StatusTag/index.tsx","../../src/components/Table/index.tsx","../../src/components/TabList/index.tsx","../../src/components/Textarea/index.tsx","../../src/components/NotificationToast/colors.ts","../../src/components/NotificationToast/index.tsx","../../src/components/NotificationToast/icons/circle_neutral.png","../../src/components/NotificationToast/icons/circle_critical.png","../../src/components/NotificationToast/icons/circle_warning.png","../../src/components/NotificationToast/icons/circle_success.png","../../src/components/NotificationToast/icons/circle_info.png","../../src/components/Tooltip/index.tsx","../../src/components/HeaderMenuItem/index.tsx","../../src/components/NavigationDrawerItem/index.tsx","../../src/components/SearchBox/index.tsx","../../src/components/ContentSwitcher/index.tsx","../../src/components/Divider/index.tsx","../../src/components/Skeleton/Circle/index.tsx","../../src/components/Skeleton/Line/index.tsx","../../src/components/Skeleton/Square/index.tsx","../../src/components/Skeleton/Rectangle/index.tsx","../../src/components/Skeleton/index.tsx","../../src/components/Rating/icons/gray.png","../../src/components/Rating/index.tsx","../../src/components/Chip/index.tsx","../../src/components/FloatingButton/index.tsx","../../src/components/RadialStepper/index.tsx","../../src/components/ProgressBar/index.tsx","../../src/components/NumberInput/index.tsx","../../src/components/NumberInput/plus.png","../../src/components/NumberInput/minus.png","../../src/lib/hooks/useScreenDimensions.tsx","../../src/components/Slider/Normal.tsx","../../src/components/Slider/Range.tsx","../../src/assets/images/arrow-to-right.png","../../src/assets/images/arrow-to-left.png","../../src/assets/images/circle_neutral.png","../../src/assets/images/circle_error.png","../../src/assets/images/circle_warning.png","../../src/assets/images/circle_success.png","../../src/assets/images/circle_info.png","../../src/components/Link/colors.ts","../../src/components/List/colors.ts","../../src/components/Loading/colors.ts","../../src/components/Notification/icons/neutral.png","../../src/components/Notification/icons/error.png","../../src/components/Notification/icons/warning.png","../../src/components/Notification/icons/success.png","../../src/components/Notification/icons/info.png","../../src/components/Radio/radioColors.ts","../../src/components/Rating/icons/brand_selected.png","../../src/components/Rating/icons/selected.png","../../src/components/Rating/icons/brand_half.png","../../src/components/Rating/icons/half.png","../../src/assets/images/searchByVoice.png","../../src/components/StatusTag/colors.ts","../../src/components/Switch/switchColors.ts","../../src/assets/images/qIcon.png","../../src/lib/RTL.tsx"],"sourcesContent":["import React from \"react\";\n\ntype Props = {\n theme: ThemeProps;\n children: React.ReactNode;\n};\n\nexport const ThemeContext = React.createContext<ThemeProps | null>(null);\n\nconst ThemeProvider: React.FC<Props> = ({ theme, children }) => {\n return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>;\n};\n\nexport default ThemeProvider;\n","const defaultTheme: Theme = {\n direction: \"ltr\",\n fontFamily: \"IBM Plex Sans\",\n textColor: \"#161616\",\n textOnColor: \"#FFFFFF\",\n palette: {\n neutral: {\n 25: \"#FCFCFD\",\n 50: \"#F9FAFB\",\n 100: \"#F3F4F6\",\n 200: \"#E5E7EB\",\n 300: \"#D2D6DB\",\n 400: \"#9DA4AE\",\n 500: \"#6C737F\",\n 600: \"#4D5761\",\n 700: \"#384250\",\n 800: \"#1F2A37\",\n 900: \"#111927\",\n 950: \"#0D121C\",\n light: \"#D2D6DB\",\n main: \"#6C737F\",\n dark: \"#384250\",\n contrastText: \"#FFF\",\n },\n primary: {\n 25: \"#F7FDF9\",\n 50: \"#F3FCF6\",\n 100: \"#DFF6E7\",\n 200: \"#B8EACB\",\n 300: \"#88D8AD\",\n 400: \"#54C08A\",\n 500: \"#25935F\",\n 600: \"#1B8354\",\n 700: \"#166A45\",\n 800: \"#14573A\",\n 900: \"#104631\",\n 950: \"#092A1E\",\n light: \"#54C08A\",\n main: \"#1B8354\",\n dark: \"#14573A\",\n contrastText: \"#FFF\",\n },\n secondary: {\n 25: \"#FFFEF7\",\n 50: \"#FFFEF2\",\n 100: \"#FFFCE6\",\n 200: \"#FCF3BD\",\n 300: \"#FAE996\",\n 400: \"#F7D54D\",\n 500: \"#F5BD02\",\n 600: \"#DBA102\",\n 700: \"#B87B02\",\n 800: \"#945C01\",\n 900: \"#6E3C00\",\n 950: \"#472400\",\n light: \"#F7D54D\",\n main: \"#DBA102\",\n dark: \"#945C01\",\n contrastText: \"#0D121C\",\n },\n error: {\n 25: \"#FFFBFA\",\n 50: \"#FEF3F2\",\n 100: \"#FEE4E2\",\n 200: \"#FECDCA\",\n 300: \"#FDA29B\",\n 400: \"#F97066\",\n 500: \"#F04438\",\n 600: \"#D92D20\",\n 700: \"#B42318\",\n 800: \"#912018\",\n 900: \"#7A271A\",\n 950: \"#55160C\",\n light: \"#FDA29B\",\n main: \"#F04438\",\n dark: \"#B42318\",\n contrastText: \"#FFF\",\n },\n warning: {\n 25: \"#FFFCF5\",\n 50: \"#FFFAEB\",\n 100: \"#FEF0C7\",\n 200: \"#FEDF89\",\n 300: \"#FEC84B\",\n 400: \"#FDB022\",\n 500: \"#F79009\",\n 600: \"#DC6803\",\n 700: \"#B54708\",\n 800: \"#93370D\",\n 900: \"#7A2E0E\",\n 950: \"#4E1D09\",\n light: \"#FEC84B\",\n main: \"#F79009\",\n dark: \"#B54708\",\n contrastText: \"#0D121C\",\n },\n info: {\n 25: \"#F5FAFF\",\n 50: \"#ECFDF3\",\n 100: \"#D1E9FF\",\n 200: \"#B2DDFF\",\n 300: \"#84CAFF\",\n 400: \"#53B1FD\",\n 500: \"#2E90FA\",\n 600: \"#1570EF\",\n 700: \"#175CD3\",\n 800: \"#1849A9\",\n 900: \"#194185\",\n 950: \"#102A56\",\n light: \"#84CAFF\",\n main: \"#2E90FA\",\n dark: \"#175CD3\",\n contrastText: \"#FFF\",\n },\n success: {\n 25: \"#F6FEF9\",\n 50: \"#ECFDF3\",\n 100: \"#DCFAE6\",\n 200: \"#ABEFC6\",\n 300: \"#75E0A7\",\n 400: \"#47CD89\",\n 500: \"#17B26A\",\n 600: \"#079455\",\n 700: \"#067647\",\n 800: \"#085D3A\",\n 900: \"#074D31\",\n 950: \"#053321\",\n light: \"#75E0A7\",\n main: \"#17B26A\",\n dark: \"#067647\",\n contrastText: \"#FFF\",\n },\n },\n typography: {\n h1: {\n fontSize: \"72px\",\n lineHeight: \"90px\",\n },\n h2: {\n fontSize: \"60px\",\n lineHeight: \"72px\",\n },\n h3: {\n fontSize: \"48px\",\n lineHeight: \"60px\",\n },\n h4: {\n fontSize: \"36px\",\n lineHeight: \"44px\",\n },\n h5: {\n fontSize: \"30px\",\n lineHeight: \"38px\",\n },\n h6: {\n fontSize: \"24px\",\n lineHeight: \"32px\",\n },\n xl: {\n fontSize: \"20px\",\n lineHeight: \"30px\",\n },\n lg: {\n fontSize: \"18px\",\n lineHeight: \"28px\",\n },\n md: {\n fontSize: \"16px\",\n lineHeight: \"24px\",\n },\n sm: {\n fontSize: \"14px\",\n lineHeight: \"20px\",\n },\n xs: {\n fontSize: \"12px\",\n lineHeight: \"18px\",\n },\n },\n elevation: {\n shadows: {\n xs: \"box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, .05);\",\n sm: \"box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, .06), 0px 1px 3px 0px rgba(16, 24, 40, .1);\",\n md: \"box-shadow: 0px 2px 4px -2px rgba(16, 24, 40, .06), 0px 4px 8px -2px rgba(16, 24, 40, .1);\",\n lg: \"box-shadow: 0px 4px 6px -2px rgba(16, 24, 40, .03), 0px 12px 16px -4px rgba(16, 24, 40, .08);\",\n xl: \"box-shadow: 0px 8px 8px -4px rgba(16, 24, 40, .03), 0px 20px 24px -4px rgba(16, 24, 40, .08);\",\n \"2xl\": \"box-shadow: 0 24px 48px -12px #1018282e;\",\n \"3xl\": \"box-shadow: 0 32px 64px -12px #10182824;\",\n },\n backdropBlur: {\n sm: \"filter: blur(8px);-webkit-filter: blur(8px);\",\n md: \"filter: blur(16px);-webkit-filter: blur(16px);\",\n lg: \"filter: blur(24px);-webkit-filter: blur(24px);\",\n xl: \"filter: blur(40px);-webkit-filter: blur(40px);\",\n },\n },\n raduises: {\n none: \"0\",\n xs: \"2px\",\n sm: \"4px\",\n md: \"8px\",\n lg: \"16px\",\n xl: \"24px\",\n full: \"9999px\",\n },\n breakPoints: {\n lg: 1280,\n md: 768,\n sm: 375,\n },\n};\n\nexport default defaultTheme;\n","export const mergeThemes = (defaultTheme: Theme, theme: ThemeProps): Theme => {\n let finalResult: any = {};\n\n function isObject(item: any) {\n return item && typeof item === \"object\" && !Array.isArray(item);\n }\n\n function overrideDeep(target: any, source: any): any {\n let result = { ...target };\n\n for (const key in source) {\n if (isObject(source[key]) && key in target) {\n result[key] = overrideDeep(target[key], source[key]);\n } else {\n result[key] = source[key];\n }\n }\n\n return result;\n }\n\n if (theme) {\n finalResult = overrideDeep(defaultTheme, theme);\n }\n\n return finalResult;\n};\n\nexport const mergeStrings = (s1?: string, s2?: string, d = \" \") => {\n return s1 + d + (s2 ?? \"\");\n};\n\nexport const generateUniqueId = () => {\n const timestamp = Date.now().toString(36);\n const randomNum = Math.random().toString(36).substring(2, 8);\n return timestamp + randomNum;\n};\n\nexport const deepEqual = (obj1: any, obj2: any): boolean => {\n // Check if both are the same object reference or primitive equal values\n if (obj1 === obj2) return true;\n\n // Check if both are null or undefined\n if (obj1 == null || obj2 == null) return false;\n\n // Check if both are not objects (primitive values)\n if (typeof obj1 !== \"object\" || typeof obj2 !== \"object\") return false;\n\n // Check if both have different constructors (e.g., Array vs Object)\n if (obj1.constructor !== obj2.constructor) return false;\n\n // If both are arrays, compare their lengths and elements\n if (Array.isArray(obj1)) {\n if (obj1.length !== obj2.length) return false;\n for (let i = 0; i < obj1.length; i++) {\n if (!deepEqual(obj1[i], obj2[i])) return false;\n }\n return true;\n }\n\n // If both are plain objects, compare their keys and values\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) return false;\n\n for (const key of keys1) {\n if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) return false;\n }\n\n return true;\n};\n\nexport function getFrom1ToX(value = 0, to = 0) {\n const results = [];\n let i = 1;\n\n while (results.length < value) {\n if (i <= to) {\n results.push(i);\n } else {\n if (i % to === 0) {\n results.push(to);\n } else {\n results.push(i % to);\n }\n }\n\n i++;\n }\n\n return results;\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from \"react\";\nimport { ThemeContext } from \"../components/ThemeProvider\";\nimport defaultTheme from \"./defaultTheme\";\nimport { mergeThemes } from \"./helpers\";\nimport \"../assets/css/globalStyles.css\";\n\nconst useTheme = (): Theme => {\n const theme = React.useContext(ThemeContext);\n\n let result = defaultTheme;\n\n // Merge theme props provided from user, with dga default theme.\n if (theme) {\n result = mergeThemes(defaultTheme, theme);\n }\n\n return result;\n};\n\nexport default useTheme;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\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 { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\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// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + 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// 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\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\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/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + 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/g, '') + 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// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + 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', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, 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, children)\n\t\t\t\t\treturn\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(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::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\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\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\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\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","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 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 { unitlessKeys as default };\n","import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import r,{useRef as o,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.15\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"HTMLElement\"in window,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var r=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(r,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];E.test(t)?(a=!1,N.delete(s)):i.apply(void 0,e([t],n,!1))},o(),a&&!N.has(s)&&(console.warn(s),N.add(s))}catch(e){E.test(e.message)&&N.delete(s)}finally{console.error=i}}},_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set([\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"use\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"]),O=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,q=G?Symbol.for(\"react.forward_ref\"):60112,W={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[q]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:W;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function re(e,t,n){if(\"string\"!=typeof t){if(ne){var r=te(t);r&&r!==ne&&re(e,r,n)}var o=K(t);Q&&(o=o.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<o.length;++a){var c=o[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l)}catch(e){}}}}return e}function oe(e){return\"function\"==typeof e}function se(e){return\"object\"==typeof e&&\"styledComponentId\"in e}function ie(e,t){return e&&t?\"\".concat(e,\" \").concat(t):e||t||\"\"}function ae(e,t){if(0===e.length)return\"\";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function ce(e){return null!==e&&\"object\"==typeof e&&e.constructor.name===Object.name&&!(\"props\"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=le(e[r],t[r]);else if(ce(t))for(var r in t)e[r]=le(e[r],t[r]);return e}function ue(e,t){Object.defineProperty(e,\"toString\",{value:t})}var pe=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\"}:{};function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],r=[],o=1,s=e.length;o<s;o+=1)r.push(e[o]);return r.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function he(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#\".concat(t,\" for more information.\").concat(n.length>0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=\"\".concat(this.tag.getRule(s)).concat(g);return t},e}(),me=1<<30,ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;if(\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>me))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},Pe=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:\"\").split(g),o=[],s=0,i=r.length;s<i;s++){var a=r[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,o)),o.length=0}else o.push(a)}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,r=t.length;n<r;n++){var o=t[n];o&&o.getAttribute(f)!==m&&(Pe(e,o),o.parentNode&&o.parentNode.removeChild(o))}};function Ce(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){var t=Array.from(e.querySelectorAll(\"style[\".concat(f,\"]\")));return t[t.length-1]}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(f,m),r.setAttribute(y,v);var i=Ce();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw he(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\"\"},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),De=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,r){void 0===e&&(e=C),void 0===n&&(n={});var o=this;this.options=t(t({},Te),e),this.gs=n,this.names=new Map(r),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=function(n){var o=function(e){return ve.get(e)}(n);if(void 0===o)return\"continue\";var s=e.names.get(o),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return\"continue\";var a=\"\".concat(f,\".g\").concat(n,'[id=\"').concat(o,'\"]'),c=\"\";void 0!==s&&s.forEach(function(e){e.length>0&&(c+=\"\".concat(e,\",\"))}),r+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s<n;s++)o(s);return r}(o)})}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this)},e.prototype.reconstructWithOptions=function(n,r){return void 0===r&&(r=!0),new e(t(t({},this.options),n),this.gs,r&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),je=/&/g,xe=/^\\s*\\/\\/.*$/gm;function Ve(e,t){return e.map(function(e){return\"rule\"===e.type&&(e.value=\"\".concat(t,\" \").concat(e.value),e.value=e.value.replaceAll(\",\",\",\".concat(t,\" \")),e.props=e.props.map(function(e){return\"\".concat(t,\" \").concat(e)})),Array.isArray(e.children)&&\"@keyframes\"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,r,o=void 0===e?C:e,s=o.options,i=void 0===s?C:s,a=o.plugins,c=void 0===a?_:a,l=function(e,r,o){return o.startsWith(n)&&o.endsWith(n)&&o.replaceAll(n,\"\").length>0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(r,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,o,s,a){void 0===o&&(o=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=o,r=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||o?\"\".concat(s,\" \").concat(o,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=r.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=r.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],o=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||o(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return r.createElement($e.Provider,{value:d},r.createElement(Le.Provider,{value:u},e.children))}var qe=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),We=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n<e.length;n++){var r=e[n];if(1===n&&\"-\"===r&&\"-\"===e[0])return e;We(r)?t+=\"-\"+r.toLowerCase():t+=r}return t.startsWith(\"ms-\")?\"-\"+t:t}var Ue=function(e){return null==e||!1===e||\"\"===e},Je=function(t){var n,r,o=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||oe(i)?o.push(\"\".concat(He(s),\":\"),i,\";\"):ce(i)?o.push.apply(o,e(e([\"\".concat(s,\" {\")],Je(i),!1),[\"}\"],!1)):o.push(\"\".concat(He(s),\": \").concat((n=s,null==(r=i)||\"boolean\"==typeof r||\"\"===r?\"\":\"number\"!=typeof r||0===r||n in h||n.startsWith(\"--\")?String(r).trim():\"\".concat(r,\"px\")),\";\")))}return o};function Xe(e,t,n,r){if(Ue(e))return[];if(se(e))return[\".\".concat(e.styledComponentId)];if(oe(e)){if(!oe(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var o=e(t);return\"production\"===process.env.NODE_ENV||\"object\"!=typeof o||Array.isArray(o)||o instanceof qe||ce(o)||null===o||console.error(\"\".concat(B(e),\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")),Xe(o,t,n,r)}var s;return e instanceof qe?n?(e.inject(n,r),[e.getName(r)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,r)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(oe(n)&&!se(n))return!1}return!0}var Ke=z(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=M(Ke,t),this.baseStyle=n,ke.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):\"\";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=ie(r,this.staticRulesId);else{var o=ae(Xe(this.rules,e,t,n)),s=x(M(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(o,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}r=ie(r,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l<this.rules.length;l++){var u=this.rules[l];if(\"string\"==typeof u)c+=u,\"production\"!==process.env.NODE_ENV&&(a=M(a,u));else if(u){var p=ae(Xe(u,e,t,n));a=M(a,p+l),c+=p}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),r=ie(r,d)}}return r},e}(),et=r.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function rt(e){var n=r.useContext(et),o=i(function(){return function(e,n){if(!e)throw he(14);if(oe(e)){var r=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===r||Array.isArray(r)||\"object\"!=typeof r))throw he(7);return r}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?r.createElement(et.Provider,{value:o},e.children):null}var ot={},st=new Set;function it(e,o,s){var i=se(e),a=e,c=!L(e),p=o.attrs,d=void 0===p?_:p,h=o.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);ot[n]=(ot[n]||0)+1;var r=\"\".concat(n,\"-\").concat($(v+n+ot[n]));return t?\"\".concat(t,\"-\").concat(r):r}(o.displayName,o.parentComponentId):h,m=o.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=o.displayName&&o.componentId?\"\".concat(R(o.displayName),\"-\").concat(o.componentId):o.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=o.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(o.shouldForwardProp){var E=o.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,o){return function(e,o,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=r.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(o,f,c)||C,g=function(e,n,r){for(var o,s=t(t({},n),{className:void 0,theme:r}),i=0;i<e.length;i+=1){var a=oe(o=e[i])?o(s):o;for(var c in a)s[c]=\"className\"===c?ie(s[c],a[c]):\"style\"===c?t(t({},s[c]),a[c]):a[c]}return n.className&&(s.className=ie(s.className,n.className)),s}(i,o,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||\"$\"===b[0]||\"as\"===b||\"theme\"===b&&g.theme===v||(\"forwardedAs\"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||\"development\"!==process.env.NODE_ENV||n(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop \"'.concat(b,'\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),r=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(r),r}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,o)}O.displayName=y;var D=r.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)le(e,o[r],!0);return e}({},a.defaultProps,e):e}}),\"production\"!==process.env.NODE_ENV&&(P(y,g),D.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&re(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(oe(t)||ce(t))return ct(Xe(at(_,e([t],n,!0))));var o=t;return 0===n.length&&1===o.length&&\"string\"==typeof o[0]?Xe(o):ct(Xe(at(o,n)))}function ut(n,r,o){if(void 0===o&&(o=C),!r)throw he(1,r);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(r,o,lt.apply(void 0,e([t],s,!1)))};return s.attrs=function(e){return ut(n,r,t(t({},o),{attrs:Array.prototype.concat(o.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,r,t(t({},o),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e)});var ht=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Ze(e),ke.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,r){var o=r(ae(Xe(this.rules,t,n,r)),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function ft(n){for(var o=[],s=1;s<arguments.length;s++)o[s-1]=arguments[s];var i=lt.apply(void 0,e([n],o,!1)),a=\"sc-global-\".concat($(JSON.stringify(i))),c=new ht(i,a);\"production\"!==process.env.NODE_ENV&&P(a);var l=function(e){var n=Ge(),o=r.useContext(et),s=r.useRef(n.styleSheet.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&r.Children.count(e.children)&&console.warn(\"The global style component \".concat(a,\" was given child JSX. createGlobalStyle does not render children.\")),\"production\"!==process.env.NODE_ENV&&i.some(function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")})&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),n.styleSheet.server&&function(e,n,r,o,s){if(c.isStatic)c.renderStyles(e,b,r,s);else{var i=t(t({},n),{theme:I(n,o,l.defaultProps)});c.renderStyles(e,i,r,s)}}(s,e,n.styleSheet,o,n.stylis),null};return r.memo(l)}function mt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");var o=ae(lt.apply(void 0,e([t],n,!1))),s=$(o);return new qe(s,o)}function yt(e){var n=r.forwardRef(function(n,o){var s=I(n,r.useContext(et),e.defaultProps);return\"production\"!==process.env.NODE_ENV&&void 0===s&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'.concat(B(e),'\"')),r.createElement(e,t({},n,{theme:s,ref:o}))});return n.displayName=\"WithTheme(\".concat(B(e),\")\"),re(n,e)}var vt=/^\\s*<\\/[a-z]/i,gt=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Ce(),r=ae([n&&'nonce=\"'.concat(n,'\"'),\"\".concat(f,'=\"true\"'),\"\".concat(y,'=\"').concat(v,'\"')].filter(Boolean),\" \");return\"<style \".concat(r,\">\").concat(t,\"</style>\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var o=e.instance.toString();if(!o)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:o},n),i=Ce();return i&&(s.nonce=i),[r.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return r.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){if(S)throw he(3);if(this.sealed)throw he(2);this.seal();var t=require(\"stream\").Transform,n=e,r=this.instance,o=this._emitSheetCSS,s=new t({transform:function(e,t,n){var s=e.toString(),i=o();if(r.clearTag(),vt.test(s)){var a=s.indexOf(\">\")+1,c=s.slice(0,a),l=s.slice(a);this.push(c+i+l)}else this.push(i+s);n()}});return n.on(\"error\",function(e){s.emit(\"error\",e)}),n.pipe(s)},e}(),St={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var wt=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[wt]||(window[wt]=0),1===window[wt]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[wt]+=1);export{gt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,rt as ThemeProvider,St as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.esm.js.map\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAClSURBVHgB7Y89DsIwDIUdomRIMnTIz8oR2Fi5CVfoDYCNjYzcpitnyYJYsoKN2gURSmFsPimSZT8/vwBUZkiD/KNbvDaEEHvnXAcjSCk71MVRQ855ZIwtUXwqmXnvdxSStPAN1toNLt1DCO07M5rhwRVMAU3bfnE79KguHRrgpUHO+aK1xt+zaIy5KaXWWJ9xdEgpHeFXKCkmu9L7lGwSTQ9UKk8eYgIfE1UYUugAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport arrowDownImage from \"../../assets/images/chevron.png\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n small: { h: 40, p: 8, f: 16 },\n medium: { h: 48, p: 12, f: 16 },\n large: { h: 56, p: 16, f: 16 },\n};\n\ninterface DGA_AccordionProps\n extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n \"onChange\" | \"title\"\n > {\n title: React.ReactNode;\n children: React.ReactNode;\n size?: Size;\n expanded?: boolean;\n onChange?: (event: React.SyntheticEvent, isExpanded: boolean) => void;\n defaultExpanded?: boolean;\n iconAlignment?: \"leading\" | \"trailing\";\n flush?: boolean;\n}\n\nconst Accordion: React.FC<DGA_AccordionProps> = ({\n size = \"medium\",\n title,\n expanded,\n onChange,\n defaultExpanded,\n iconAlignment = \"trailing\",\n flush = false,\n children,\n ...props\n}) => {\n const theme = useTheme();\n const contentRef = React.useRef<HTMLDivElement>(null);\n const [open, setOpen] = React.useState(defaultExpanded);\n const [contentHeight, setContentHeight] = React.useState(0);\n\n let borderTop: string | undefined = `solid 1px ${theme.palette.neutral[300]}`;\n let border = `solid 2px transparent`;\n let cursor = \"pointer\";\n let fontColor = \"#161616\";\n\n const showContent = typeof expanded !== \"undefined\" ? expanded : open;\n\n if (props.disabled) {\n cursor = \"default\";\n borderTop = `solid 1px ${theme.palette.neutral[300]}`;\n border = `none`;\n fontColor = theme.palette.neutral[400];\n }\n\n const onTitleClickedHandler = (e: React.SyntheticEvent) => {\n onChange && onChange(e, !showContent);\n setOpen(!showContent);\n };\n\n React.useEffect(() => {\n if (contentRef.current?.clientHeight) {\n setContentHeight(contentRef.current.clientHeight);\n }\n }, [contentRef.current?.clientHeight]);\n\n return (\n <div\n className={mergeStrings(\"dgaui dgaui_accordion\", props.className)}\n tabIndex={1}\n >\n <StyledComponentTitle\n $customStyle={{\n direction: theme.direction,\n minHeight: sizes[size].h,\n padding: sizes[size].p,\n fontSize: sizes[size].f,\n fontColor,\n colors: theme.palette.neutral,\n border,\n borderTop,\n cursor,\n }}\n flush={flush}\n {...props}\n onClick={onTitleClickedHandler}\n className=\"dgaui dgaui_accordion_title\"\n >\n {iconAlignment === \"leading\" && (\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyItems: \"center\",\n gap: 16,\n }}\n >\n <span>\n <img\n alt=\"arrowdown\"\n src={arrowDownImage}\n style={{\n transition: \"all 0.2s\",\n transform: showContent ? \"rotateZ(180deg)\" : \"none\",\n }}\n />\n </span>\n <span>{title}</span>\n </div>\n )}\n {iconAlignment === \"trailing\" && (\n <>\n <span>{title}</span>\n <img\n alt=\"arrowdown\"\n src={arrowDownImage}\n style={{\n transition: \"all 0.2s\",\n transform: showContent ? \"rotateZ(180deg)\" : \"none\",\n }}\n />\n </>\n )}\n </StyledComponentTitle>\n <div\n className=\"dgaui_accordionContent\"\n style={{\n direction: theme.direction,\n height: showContent ? contentHeight : 0,\n overflow: \"hidden\",\n transition: \"all 0.2s\",\n color: fontColor,\n }}\n >\n <div ref={contentRef} style={{ padding: 16 }}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nconst StyledComponentTitle = styled.button<{\n $customStyle: {\n direction: string;\n border: string;\n borderTop?: string;\n minHeight: number;\n padding: number;\n fontSize: number;\n fontColor: string;\n colors: Color;\n cursor: string;\n };\n flush?: boolean;\n}>`\n direction: ${(props) => props.$customStyle.direction};\n outline: none;\n min-height: ${(props) => props.$customStyle.minHeight}px;\n padding: ${(props) =>\n props.flush ? \"0\" : `${props.$customStyle.padding}px`};\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n background-color: #fff;\n border: ${(props) => props.$customStyle.border};\n ${(props) =>\n props.$customStyle.borderTop\n ? \"border-top:\" + props.$customStyle.borderTop\n : \"\"};\n cursor: ${(props) => props.$customStyle.cursor};\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n transition: height 0.2s;\n\n &:hover {\n background-color: ${(props) => props.$customStyle.colors[100]};\n }\n &:active {\n background-color: ${(props) => props.$customStyle.colors[200]};\n }\n &:focus {\n border: solid 2px #161616;\n }\n &:disabled:hover {\n background-color: #fff;\n }\n &:disabled:active {\n background-color: #fff;\n }\n`;\n\nexport default Accordion;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACySURBVHgBfVGxEQIhEIQnegiMgPRLsQRLsAPtQMwMLUE78UPL+MyBmBRcZiTw4Z6ZG3budmFZuDHmkHPehRCebGNprU+c82VIKU0ADwgvFLnMwLmXg2vDoXJPVHq/mVsPGlGPLCqIMb6UUhzQYWeofcGoq/fesQ2/9abWBtbQ0WQC/1uqnqsN1Fztwe7MOlaaB5LpkdH1RPjBI0Vei6y1ZzGO4ySEeCO6GyUokUspF8DPF27nTJwLb4bWAAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAYAAABG1c6oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABtSURBVHgB7ZLBCcAwCEVNV0jUNTpCN2g3yipu0hE6UmuggVB6UwiBPPAg6Dv4BZh0BxHXtl/AABHlEMLFzDtYKTKtW0vASj9ZSmlzk8UYj3c4m2XNkvxJTTf7Sl0CqFJ92tMzTXGTVUpQMBmfB72yKHZx70rDAAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAF/SURBVHgBjVOxTgJBEJ3ZOwwl5RmbTdDEEv9ASqMWfAH4BfAJ/oHwBcIXoBFDiX+gpYkU2xgpKS+6d+PMckfW49Sbanf2zbyZebMIJTbVuhGGcUsRaLmnCOZyuXoqw2IxcE/FfUIcAFCjgDVIMP5M66OOMeudBHMd6SSABR81O8fMOglDMPJmLfsIenzsSqKgBu2z15XZJhDmWhA/87VBSJ3fyn08OmhRmjIJrb+S+olUouRBynbMSrX9YAmYH0c6v5+/vb8IgWB5RgPxuQSE0JOyBeAzUprcJBZufV9GMEHCvlSuHg6jU8koPUNFY8KxDNkplUuVD6yKhXaDVcit/IlEvIf/ksmSsEROKr4b//Fi+TEsC7KhkxVSAqOsrfPgcM2tdIvAWTNazJr7d0V/hnXbqURLlmbECXvZQLcWJHDF0l77PrcLjKVs6DuLJLtQlDM3IWD5pv4iVV5lKVuYoWyVc8t+4QA3Peqf/Oha5ZkNSz9TWbn+d5Zh+4G5fQMA8cBCDpoKdwAAAABJRU5ErkJggg==\";\n export default img;","type RadioColor = {\n default: string;\n hovered: string;\n active: string;\n disabled: string;\n};\n\ntype colors = \"primary\" | \"neutral\";\n\nconst radioColors = (them: Theme): { [k in colors]: RadioColor } => ({\n neutral: {\n default: them.palette.neutral[600],\n hovered: them.palette.neutral[800],\n active: them.palette.neutral[900],\n disabled: them.palette.neutral[200],\n },\n primary: {\n default: them.palette.primary[600],\n hovered: them.palette.primary[800],\n active: them.palette.primary[900],\n disabled: them.palette.neutral[200],\n },\n});\n\nexport default radioColors;\n","import React from \"react\";\n\ntype Props = {\n indeterminate?: boolean;\n};\n\nconst Icon: React.FC<Props> = ({ indeterminate = false }) => {\n if (indeterminate) {\n return (\n <svg\n width=\"12\"\n height=\"2\"\n viewBox=\"0 0 12 2\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect width=\"12\" height=\"2\" rx=\"1\" className=\"checkmark\" fill=\"white\" />\n </svg>\n );\n }\n\n return (\n <svg\n width=\"12\"\n height=\"10\"\n viewBox=\"0 0 12 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5945 0.535432C12.1352 1.07616 12.1352 1.95286 11.5945 2.4936L5.2483 8.83982C4.98864 9.09949 4.63645 9.24537 4.26923 9.24537C3.90201 9.24537 3.54983 9.09949 3.29016 8.83982L0.405544 5.95517C-0.135181 5.41444 -0.135181 4.53774 0.405545 3.99701C0.946271 3.45628 1.82296 3.45628 2.36369 3.99701L4.26923 5.90257L9.63631 0.535432C10.177 -0.00530017 11.0537 -0.00530013 11.5945 0.535432Z\"\n className=\"checkmark\"\n fill=\"white\"\n />\n </svg>\n );\n};\n\nexport default Icon;\n","import React, { useEffect, useRef } from \"react\";\nimport styled from \"styled-components\";\nimport feedbackIcon from \"../../assets/images/Feedback-Icon.png\";\nimport checkboxColors from \"./checkboxColors\";\nimport useTheme from \"../../lib/useTheme\";\nimport Icon from \"./Icon\";\nimport { generateUniqueId, mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n xSmall: { w: 14, h: 14, svgW: 9, svgH: 9, svgLeft: 2.5, svgTop: 3 },\n small: { w: 18, h: 18, svgW: 12, svgH: 12, svgLeft: 3, svgTop: 4 },\n medium: { w: 22, h: 22, svgW: 14, svgH: 14, svgLeft: 4, svgTop: 5 },\n};\n\nexport interface DGA_CheckboxProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"size\" | \"style\"\n > {\n label?: React.ReactNode;\n description?: React.ReactNode;\n error?: React.ReactNode;\n onChange?: (e: React.SyntheticEvent, value: boolean) => void;\n value?: any;\n size?: \"xSmall\" | \"small\" | \"medium\";\n indeterminate?: boolean;\n style?: \"primary\" | \"neutral\";\n}\n\nconst Checkbox: React.FC<DGA_CheckboxProps> = ({\n label,\n description,\n error,\n onChange,\n value,\n size,\n style = \"primary\",\n indeterminate = false,\n ...props\n}) => {\n const theme = useTheme();\n const colors = checkboxColors(theme);\n\n const sizeResult: \"xSmall\" | \"small\" | \"medium\" = size ?? \"medium\";\n\n let fontColor = theme.textColor;\n let backgroundColor = colors[style].default;\n let backgroundColorHovered = colors[style].hovered;\n let backgroundColorActive = colors[style].active;\n\n const id = generateUniqueId();\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n return (\n <StyledComponent\n $customStyle={{\n theme,\n fontColor,\n backgroundColor,\n backgroundColorHovered,\n backgroundColorActive,\n width: sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n svgW: sizes[sizeResult].svgW,\n svgH: sizes[sizeResult].svgW,\n svgLeft: sizes[sizeResult].svgLeft,\n svgTop: sizes[sizeResult].svgTop,\n }}\n className={mergeStrings(\"dgaui dgaui_checkboxContainer\", props.className)}\n >\n <div className=\"dgaui_checkboxHead\">\n <label className=\"dgaui_checkbox\">\n <input\n ref={inputRef}\n id={id}\n type=\"checkbox\"\n {...props}\n checked={value}\n onChange={(e) => {\n onChange && onChange(e, e.target.checked);\n }}\n />\n <Icon indeterminate={indeterminate} />\n </label>\n {label && (\n <label htmlFor={props.id || id} className=\"dgaui_checkboxLabel\">\n {label}\n </label>\n )}\n </div>\n {(description || error) && (\n <div className=\"dgaui_checkboxDescription\">\n {description && (\n <div className=\"dgaui_checkboxDescriptionText\">{description}</div>\n )}\n {error && (\n <div className=\"dgaui_checkboxDescriptionError\">{error}</div>\n )}\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n theme: Theme;\n fontColor: string;\n backgroundColor: string;\n backgroundColorHovered: string;\n backgroundColorActive: string;\n width: number;\n height: number;\n svgW: number;\n svgH: number;\n svgLeft: number;\n svgTop: number;\n };\n}>`\n direction: ${(props) => props.$customStyle.theme.direction};\n color: ${(props) => props.$customStyle.fontColor};\n\n .dgaui_checkbox svg {\n position: absolute;\n width: ${(props) => props.$customStyle.svgW}px;\n height: ${(props) => props.$customStyle.svgH}px;\n left: ${(props) => props.$customStyle.svgLeft}px;\n top: ${(props) => props.$customStyle.svgTop}px;\n\n .checkmark {\n fill: transparent;\n }\n }\n\n .dgaui_checkboxLabel {\n cursor: pointer;\n text-align: start;\n margin-inline-start: 16px;\n font-weight: 500;\n }\n\n .dgaui_checkboxDescription {\n padding-inline-start: 40px;\n .dgaui_checkboxDescriptionText {\n margin-top: 8px;\n }\n .dgaui_checkboxDescriptionError {\n font-weight: 500;\n color: ${(props) => props.$customStyle.theme.palette.error[700]};\n position: relative;\n margin-top: 8px;\n\n &::before {\n content: \"\";\n background: url(\"${feedbackIcon}\");\n width: 18px;\n height: 18px;\n background-repeat: no-repeat;\n background-size: contain;\n display: block;\n position: absolute;\n inset-inline-start: -40px;\n }\n }\n }\n\n .dgaui_checkboxHead {\n display: flex;\n align-items: flex-start;\n /* justify-content: center; */\n\n &:hover {\n .dgaui_checkbox {\n &::after {\n content: \"\";\n border-radius: 50%;\n background: #f3f4f6;\n width: ${(props) => props.$customStyle.width + 18}px;\n height: ${(props) => props.$customStyle.height + 18}px;\n transform: translate(-50%, -50%) scale(1);\n }\n }\n &:has(input:checked) {\n .dgaui_checkbox {\n background-color: ${(props) =>\n props.$customStyle.backgroundColorHovered};\n }\n }\n }\n\n &:active {\n .dgaui_checkbox {\n background-color: #d2d6db;\n }\n\n &:has(input:checked) {\n .dgaui_checkbox {\n background-color: ${(props) =>\n props.$customStyle.backgroundColorActive};\n }\n }\n\n &:has(input:disabled) {\n .dgaui_checkbox {\n background-color: transparent;\n }\n }\n }\n\n &:focus-within {\n .dgaui_checkbox {\n &::before {\n content: \"\";\n display: block;\n width: ${(props) => props.$customStyle.width + 6}px;\n height: ${(props) => props.$customStyle.height + 6}px;\n border: 2px solid #000;\n position: absolute;\n left: -5px;\n top: -5px;\n border-radius: 2px;\n }\n }\n }\n\n &:has(input:checked) {\n .dgaui_checkbox {\n background-color: ${(props) => props.$customStyle.backgroundColor};\n svg .checkmark {\n fill: #fff;\n }\n }\n }\n &:has(input:indeterminate) {\n .dgaui_checkbox {\n background-color: ${(props) => props.$customStyle.backgroundColor};\n svg .checkmark {\n fill: #fff;\n }\n }\n }\n\n &:has(input:disabled) {\n .dgaui_checkbox {\n &:hover {\n background-color: transparent;\n }\n\n &::after {\n display: none;\n }\n }\n\n .dgaui_checkboxLabel {\n cursor: not-allowed;\n opacity: 0.5;\n }\n }\n &:has(input:disabled:checked) {\n .dgaui_checkbox {\n background-color: #9da4ae;\n }\n }\n &:has(input:disabled:indeterminate) {\n .dgaui_checkbox {\n background-color: #9da4ae;\n\n svg .checkmark {\n fill: #fff;\n }\n }\n }\n }\n\n .dgaui_checkbox {\n background-color: transparent;\n cursor: pointer;\n position: relative;\n display: inline-block;\n min-width: ${(props) => props.$customStyle.width}px;\n height: ${(props) => props.$customStyle.height}px;\n outline: none;\n border: 1px solid #6c737f;\n border-radius: 2px;\n transition: all 0.1s;\n\n &::after {\n content: \"\";\n border-radius: 50%;\n background: #f3f4f6;\n width: 0;\n height: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0);\n transition: all 0.2s;\n z-index: -1;\n }\n\n input {\n flex: 0;\n opacity: 0;\n width: 0;\n height: 0;\n }\n }\n`;\n\nexport default Checkbox;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport checkIcon from \"../../assets/images/check.png\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Checkbox from \"../Checkbox\";\n\nexport interface DGA_DropdownItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onClick\"> {\n selected?: boolean;\n multiple?: boolean;\n value?: any;\n onClick?: (e: React.SyntheticEvent, value: any) => void;\n children: React.ReactNode;\n}\n\nconst DropdownItem: React.FC<DGA_DropdownItemProps> = ({\n selected,\n multiple,\n value,\n onClick,\n children,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_dropdownItem\" + (selected ? \" selected\" : \"\"), props.className)}\n $theme={theme}\n $selected={selected}\n $multiple={multiple}\n onClick={(e) => {\n onClick && onClick(e, value);\n }}\n >\n {multiple && <Checkbox color=\"neutral\" size=\"small\" value={selected} />}\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $selected?: boolean;\n $multiple?: boolean;\n}>`\n direction: ${(props) => props.$theme.direction};\n color: ${(p) => p.$theme.textColor};\n padding: 8px;\n height: 36px;\n display: flex;\n align-items: center;\n background-color: #fff;\n transition: background-color 0.1s;\n position: relative;\n\n &::after {\n position: absolute;\n content: url(${checkIcon});\n display: ${(p) => (!p.$multiple && p.$selected ? \"block\" : \"none\")};\n inset-inline-end: 16px;\n }\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n }\n\n .dgaui_checkbox {\n margin-bottom: 0;\n margin-inline-end: 8px;\n }\n`;\n\nexport default DropdownItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport colors from \"./colors\";\n\nexport const sizes = {\n xsmall: { w: 56, h: 20, py: 8, f: 10 },\n small: { w: 64, h: 24, py: 8, f: 12 },\n medium: { w: 86, h: 32, py: 12, f: 16 },\n};\ninterface DGA_TagProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"style\"> {\n children?: React.ReactNode;\n style?: \"neutral\" | \"success\" | \"error\" | \"warning\" | \"info\" | \"onColor\";\n size?: \"xsmall\" | \"small\" | \"medium\";\n outLine?: boolean;\n rounded?: boolean;\n iconOnly?: boolean;\n leadIcon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n}\n\nconst Tag: React.FC<DGA_TagProps> = ({\n children,\n style,\n size,\n outLine,\n iconOnly,\n leadIcon,\n trailIcon,\n rounded,\n ...props\n}) => {\n const theme = useTheme();\n\n const colorNameResult = style ?? \"neutral\";\n const sizeResult = size ?? \"medium\";\n const outLineResult: boolean = outLine ?? true;\n const tagColors = colors(theme) ?? \"neutral\";\n\n let backgroundColor = tagColors[colorNameResult].bg;\n let borderColor = tagColors[colorNameResult].border;\n let borderColorOutlined = tagColors[colorNameResult].borderOutlined;\n let fontColor = tagColors[colorNameResult].fontColor;\n let border = `border: 1px solid ${borderColor}`;\n let borderRadius = rounded ? 9999 : 4;\n\n if (outLineResult) {\n backgroundColor = \"transparent\";\n border = `border: 1px solid ${borderColorOutlined}`;\n }\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_tag\", props.className)}\n $customStyle={{\n direction: theme.direction,\n minWidth: iconOnly ? 0 : sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n paddingY: sizes[sizeResult].py,\n fontSize: sizes[sizeResult].f,\n fontColor,\n backgroundColor: backgroundColor,\n border,\n borderRadius,\n }}\n >\n {iconOnly && <div className=\"iconOnly\">{leadIcon || children}</div>}\n {!iconOnly && (\n <>\n <div className=\"leadIcon\">{leadIcon}</div>\n {children}\n <div className=\"trailIcon\">{trailIcon}</div>\n </>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n direction: string;\n minWidth: number;\n height: number;\n paddingY: number;\n fontSize: number;\n fontColor: string;\n backgroundColor: string;\n border: string;\n borderRadius: number;\n };\n}>`\n direction: ${(props) => props.$customStyle.direction};\n min-width: ${(props) => props.$customStyle.minWidth}px;\n color: ${(props) => props.$customStyle.fontColor};\n height: ${(props) => props.$customStyle.height}px;\n padding: 0 ${(props) => props.$customStyle.paddingY}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n background-color: ${(props) => props.$customStyle.backgroundColor};\n ${(props) => props.$customStyle.border};\n outline: none;\n border-radius: ${(props) => props.$customStyle.borderRadius}px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-weight: 500;\n .leadIcon {\n margin-inline-end: 4px;\n display: inline-flex;\n }\n .trailIcon {\n margin-inline-start: 4px;\n display: inline-flex;\n }\n`;\n\nexport default Tag;\n","type ButtonColor = {\n bg: string;\n border: string;\n borderOutlined: string;\n fontColor: string;\n};\n\nconst result = (\n them: Theme\n): {\n [k in\n | \"neutral\"\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"info\"\n | \"onColor\"]: ButtonColor;\n} => ({\n neutral: {\n bg: them.palette.neutral[50],\n border: them.palette.neutral[200],\n borderOutlined: them.palette.neutral[600],\n fontColor: them.palette.neutral[800],\n },\n success: {\n bg: them.palette.info[50],\n border: them.palette.success[200],\n borderOutlined: them.palette.success[700],\n fontColor: them.palette.success[800],\n },\n error: {\n bg: them.palette.error[50],\n border: them.palette.error[200],\n borderOutlined: them.palette.error[700],\n fontColor: them.palette.error[800],\n },\n warning: {\n bg: them.palette.warning[50],\n border: them.palette.warning[200],\n borderOutlined: them.palette.warning[700],\n fontColor: them.palette.warning[800],\n },\n info: {\n bg: \"#EFF8FF\",\n border: them.palette.info[200],\n borderOutlined: them.palette.info[700],\n fontColor: them.palette.info[800],\n },\n onColor: {\n bg: \"rgba(255, 255, 255, 0.2)\",\n border: \"transparent\",\n borderOutlined: \"rgba(255, 255, 255, 0.6)\",\n fontColor: them.textOnColor,\n },\n});\n\nexport default result;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport arrowDownIcon from \"../../assets/images/chevron.png\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport DropdownItem from \"../Dropdown/DropdownItem\";\nimport Tag from \"../Tag\";\n\nexport const sizes = {\n medium: { w: 320, h: 32, p: 16, f: 14 },\n large: { w: 320, h: 40, p: 16, f: 16 },\n};\n\ntype Variant = \"default\" | \"darker\" | \"lighter\";\n\nconst Autocomplete = <T,>({\n label,\n className,\n size,\n variant,\n error,\n onChange,\n value,\n placeholder,\n options,\n getOptionLabel,\n disabled,\n multiple,\n maxTagsToShow,\n maxTagsLabel,\n}: {\n label: React.ReactNode;\n className?: string;\n placeholder?: string;\n size?: \"large\" | \"medium\";\n variant?: Variant;\n error?: boolean;\n disabled?: boolean;\n multiple?: boolean;\n maxTagsToShow?: number;\n maxTagsLabel?: string;\n value?: T | T[];\n options: T[];\n getOptionLabel?: (option: T) => string;\n onChange?: (e: React.SyntheticEvent, value: T | T[]) => void;\n}) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n const [inputValue, setInputValue] = React.useState(\"\");\n const [inputValueSearch, setInputValueSearch] = React.useState(\"\");\n const [selectedOptions, setSelectedOptions] = React.useState<T[]>();\n const [itemsPosition, setItemsPosition] = React.useState({\n top: 0,\n left: 0,\n width: 0,\n });\n const ref = React.useRef<HTMLDivElement>(null);\n\n const sizeResult: \"large\" | \"medium\" = size ?? \"large\";\n\n // Default\n let fontColor = theme.textColor;\n let placeholderFontColor = theme.palette.neutral[500];\n let border = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[400]\n }`;\n let borderHovered = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let borderFocused = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n\n if (variant === \"lighter\") {\n backgroundColor = theme.palette.neutral[25];\n border = \"1px solid transparent\";\n borderHovered = `1px solid ${theme.palette.neutral[400]}`;\n borderFocused = `1px solid ${theme.palette.neutral[400]}`;\n }\n if (variant === \"darker\") {\n backgroundColor = theme.palette.neutral[100];\n }\n\n if (disabled) {\n fontColor = theme.palette.neutral[400];\n border = `1px solid ${theme.palette.neutral[200]}`;\n borderHovered = `1px solid ${theme.palette.neutral[200]}`;\n }\n\n const getLocalOptionLabel = (op: T) => {\n if (getOptionLabel) return getOptionLabel(op);\n return (op as any)?.label;\n };\n\n const onItemSelectedHandler = (e: React.SyntheticEvent, newValue: T) => {\n if (multiple) {\n e.stopPropagation();\n }\n // used for selected\n if (multiple && selectedOptions) {\n let newValues: T[] = [];\n // Value already exist, so remove it\n if (selectedOptions.includes(newValue)) {\n const newSelectedOptions = selectedOptions.filter(\n (el) => el !== newValue\n );\n setSelectedOptions(newSelectedOptions);\n newValues = newSelectedOptions;\n }\n // New value selected\n if (!selectedOptions.includes(newValue)) {\n const newSelectedOptions = [...selectedOptions, newValue];\n setSelectedOptions(newSelectedOptions);\n newValues = newSelectedOptions;\n }\n onChange && onChange(e, newValues);\n } else {\n onChange && onChange(e, newValue);\n setSelectedOptions([newValue]);\n const optionLabel = getLocalOptionLabel(newValue);\n setInputValue(optionLabel);\n }\n };\n\n const deleteTaghandler = (e: React.SyntheticEvent, option: T) => {\n e.stopPropagation();\n\n if (multiple && selectedOptions) {\n let newValues: T[] = [];\n const newSelectedOptions = selectedOptions.filter((el) => el !== option);\n setSelectedOptions(newSelectedOptions);\n newValues = options.filter((op) => newSelectedOptions.includes(op));\n onChange && onChange(e, newValues);\n }\n };\n\n const deleteAllTagshandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n\n if (multiple && selectedOptions) {\n setSelectedOptions([]);\n onChange && onChange(e, []);\n }\n };\n\n // Search\n const memoizedOptions = React.useMemo(() => {\n let result: T[] = [];\n\n if (inputValueSearch && options.length > 0) {\n options.forEach((op) => {\n if (\n (getOptionLabel &&\n getOptionLabel(op)\n .toLowerCase()\n .trim()\n .includes(inputValueSearch.toLowerCase().trim())) ||\n (!getOptionLabel &&\n (op as any)?.label\n ?.toLowerCase()\n .trim()\n .includes(inputValueSearch.toLowerCase().trim()))\n ) {\n result.push(op);\n }\n });\n } else {\n result = options;\n }\n\n return result;\n }, [options, inputValueSearch]);\n\n const calcPosition = () => {\n if (ref.current) {\n setItemsPosition({\n top: ref.current.offsetTop + ref.current.clientHeight,\n left: ref.current.offsetLeft,\n width: ref.current.clientWidth,\n });\n }\n };\n\n // Popover position\n React.useEffect(() => {\n if (ref.current) {\n const resizeHandler = () => {\n if (ref.current) {\n calcPosition();\n }\n };\n\n const clickHandler = (e: MouseEvent) => {\n // Clicked outside\n if (!ref.current?.contains(e.target as any)) {\n setOpen(false);\n }\n };\n\n window.addEventListener(\"resize\", resizeHandler);\n window.addEventListener(\"click\", clickHandler);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler);\n };\n }\n }, [ref]);\n\n // Set text input value from props\n React.useEffect(() => {\n if (!value) {\n setInputValue(\"\");\n setInputValueSearch(\"\");\n setSelectedOptions([]);\n setOpen(false);\n return;\n }\n\n if (!Array.isArray(value)) setInputValue(getLocalOptionLabel(value));\n\n if (multiple && Array.isArray(value)) {\n setSelectedOptions(value);\n } else {\n setSelectedOptions([value as any]);\n }\n }, [value, options]);\n\n React.useEffect(() => {\n if (open) {\n calcPosition();\n }\n }, [open, selectedOptions]);\n\n return (\n <StyledComponent\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_autocomplete\", className)}\n >\n <label className={disabled ? \"disabled\" : undefined}>{label}</label>\n <StyledDiv\n ref={ref}\n onClick={() => setOpen((prevState) => !prevState)}\n className={\n \"dgaui_dropdownContainer \" +\n (multiple ? \"multiple \" : \"\") +\n (disabled ? \"disabled\" : \"\")\n }\n $customStyle={{\n theme,\n direction: theme.direction,\n minWidth: sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n padding: sizes[sizeResult].p,\n fontSize: sizes[sizeResult].f,\n placeholderFontColor,\n fontColor,\n border,\n borderHovered,\n borderFocused,\n backgroundColor,\n shadowFocus,\n }}\n >\n {multiple &&\n (!maxTagsToShow ||\n (maxTagsToShow &&\n selectedOptions &&\n selectedOptions?.length <= maxTagsToShow)) &&\n selectedOptions?.map((op, ind) => (\n <Tag key={ind} rounded size={\"medium\"} color=\"neutral\">\n {getLocalOptionLabel(op)}\n <button\n className=\"deleteIcon\"\n onClick={(e) => deleteTaghandler(e, op)}\n />\n </Tag>\n ))}\n\n {multiple &&\n maxTagsToShow &&\n maxTagsToShow > 0 &&\n selectedOptions &&\n selectedOptions?.length > maxTagsToShow && (\n <Tag rounded size={\"medium\"} color=\"neutral\">\n {maxTagsLabel || `${selectedOptions.length} selected`}\n <button className=\"deleteIcon\" onClick={deleteAllTagshandler} />\n </Tag>\n )}\n\n <input\n className=\"dgaui\"\n disabled={disabled}\n placeholder={placeholder}\n value={inputValue}\n onChange={(e) => {\n if (!open) {\n setOpen(true);\n }\n setInputValue(e.target.value);\n setInputValueSearch(e.target.value);\n }}\n />\n </StyledDiv>\n\n {memoizedOptions?.length > 0 && (\n <div\n className={\"items\" + (open ? \" slide-bottom\" : \"\")}\n style={itemsPosition}\n >\n {memoizedOptions.map((el, index) => {\n if (!el) return null;\n\n let optionLabel = el as string;\n if (typeof el === \"object\") {\n optionLabel = (el as any)?.label;\n }\n\n return (\n <DropdownItem\n key={index}\n value={el}\n onClick={(e, v) => onItemSelectedHandler(e, v)}\n selected={selectedOptions?.includes(el)}\n >\n {getOptionLabel ? getOptionLabel(el) : optionLabel}\n </DropdownItem>\n );\n })}\n </div>\n )}\n\n <StyledComponentSpan\n $bgColor={animationColor}\n className={\"dgaui_autocompleteSeparator\" + (open ? \" open\" : \"\")}\n />\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n flex-direction: column;\n color: ${(p) => p.$theme.textColor};\n width: 100%;\n\n label {\n margin-bottom: 8px;\n &.disabled {\n color: #9da4ae;\n }\n }\n\n .items {\n position: absolute;\n top: 35px;\n left: 0;\n z-index: 1400;\n background-color: #fff;\n width: 100%;\n opacity: 0;\n max-height: 300px;\n overflow-y: scroll;\n pointer-events: none;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-radius: 4px;\n padding: 8px;\n box-sizing: border-box;\n ${(p) => p.$theme.elevation.shadows.xl}\n cursor: pointer;\n\n &.slide-bottom {\n animation: slide-bottom 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n pointer-events: all;\n }\n @keyframes slide-bottom {\n 0% {\n transform: translateZ(0) translateY(0);\n opacity: 0;\n }\n 100% {\n transform: translateZ(160px) translateY(8px);\n opacity: 1;\n }\n }\n }\n\n &:has(.dgaui_autocompleteSeparator.open) {\n .dgaui_dropdownContainer:before {\n top: 20%;\n transform: rotateZ(180deg);\n }\n }\n &:has(.dgaui_dropdownContainer:active) {\n .dgaui_autocompleteSeparator {\n transform: scaleX(0.5) translateY(-2.5px);\n }\n }\n &:has(.dgaui_dropdownContainer.multiple:active) {\n .dgaui_autocompleteSeparator.open {\n transform: scaleX(1) translateY(-2.5px);\n }\n }\n &:has(.dgaui_dropdownContainer.disabled) {\n .dgaui_autocompleteSeparator {\n opacity: 0;\n }\n }\n`;\n\nconst StyledDiv = styled.div<{\n $customStyle: {\n theme: Theme;\n direction: string;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: string;\n border: string;\n shadowFocus: string;\n placeholderFontColor: string;\n borderHovered: string;\n borderFocused: string;\n backgroundColor: string;\n };\n}>`\n outline: none;\n direction: ${(props) => props.$customStyle.direction};\n border-radius: 4px;\n height: ${(props) => props.$customStyle.height}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n border: ${(props) => props.$customStyle.border};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n padding-inline-end: ${(props) => props.$customStyle.padding}px;\n cursor: pointer;\n\n position: relative;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n &:-ms-expand {\n display: none; /* Hide the default arrow in Internet Explorer 10 and Internet Explorer 11 */\n }\n\n input {\n background-color: ${(props) => props.$customStyle.backgroundColor};\n border: none;\n outline: none;\n padding-inline-start: ${(props) => props.$customStyle.padding}px;\n height: calc(100% - 2px);\n border-radius: 4px;\n width: 90%;\n }\n\n &.multiple {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n align-content: flex-start;\n min-height: ${(props) => props.$customStyle.height}px;\n height: auto;\n input {\n flex: 1;\n min-height: ${(props) => props.$customStyle.height}px;\n }\n .dgaui_tag {\n margin: 4px;\n\n .deleteIcon {\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n background-size: 40%;\n background-position: center;\n width: 20px;\n height: 20px;\n margin-inline-start: 4px;\n cursor: pointer;\n background-color: transparent;\n border: none;\n outline: none;\n\n &:hover {\n transform: scale(1.2);\n }\n }\n }\n }\n\n &:before {\n content: url(${arrowDownIcon});\n display: block;\n top: 30%;\n inset-inline-end: 8px;\n position: absolute;\n transition: all 0.1s;\n background-color: ${(props) => props.$customStyle.backgroundColor};\n z-index: 2;\n width: 20px;\n height: 20px;\n }\n &:after {\n content: \"\";\n display: block;\n top: 0;\n inset-inline-end: 0;\n z-index: 1;\n position: absolute;\n background-color: ${(props) => props.$customStyle.backgroundColor};\n border-radius: 4px;\n width: 30px;\n height: 100%;\n }\n\n &:focus-within {\n ${(props) => props.$customStyle.shadowFocus};\n border: ${(props) => props.$customStyle.borderFocused};\n }\n\n &:hover {\n border: ${(props) => props.$customStyle.borderHovered};\n }\n &.disabled {\n pointer-events: none;\n filter: grayscale(1);\n }\n`;\n\nconst StyledComponentSpan = styled.span<{ $bgColor: string }>`\n height: 2px;\n background: ${(props) => props.$bgColor};\n display: block;\n transform: scaleX(0) translateY(-2.5px);\n transform-origin: 50%;\n transition: all 0.2s;\n border-bottom-left-radius: 50px;\n border-bottom-right-radius: 50px;\n z-index: 1;\n\n &.open {\n transform: scaleX(0.995) translateY(-2.5px);\n }\n`;\n\nexport default Autocomplete;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ntype DGA_AvatarSize =\n | \"xxSmall\"\n | \"xSmall\"\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xLarge\"\n | \"xxLarge\";\n\nexport type DGA_AvatarProps = {\n size?: DGA_AvatarSize;\n text?: React.ReactNode;\n icon?: React.ReactNode;\n imageSrc?: string;\n className?: string;\n square?: boolean;\n index?: number;\n border?: boolean;\n borderColor?: string;\n};\n\nexport const sizes: {\n [k in DGA_AvatarSize]: { wh: number; b: number; f: number; fw: number };\n} = {\n xxSmall: { wh: 24, b: 2, f: 10, fw: 700 },\n xSmall: { wh: 32, b: 2, f: 12, fw: 600 },\n small: { wh: 40, b: 2, f: 14, fw: 600 },\n medium: { wh: 48, b: 2, f: 16, fw: 500 },\n large: { wh: 64, b: 2, f: 20, fw: 500 },\n xLarge: { wh: 80, b: 2, f: 30, fw: 400 },\n xxLarge: { wh: 120, b: 4, f: 36, fw: 400 },\n};\n\nconst Avatar: React.FC<DGA_AvatarProps> = ({\n size = \"medium\",\n text,\n icon,\n imageSrc,\n className,\n square,\n index,\n border = false,\n borderColor = \"#16161633\",\n}) => {\n const theme = useTheme();\n\n let children: any = text;\n let isIcon = false;\n\n if (icon) {\n isIcon = true;\n children = icon;\n }\n\n if (imageSrc) {\n children = <img alt=\"avatar\" src={imageSrc} />;\n }\n\n return (\n <StyledComponent\n $theme={theme}\n $size={sizes[size]}\n $square={square}\n $isIcon={isIcon}\n className={mergeStrings(\"dgaui dgaui_avatar\", className)}\n $index={index}\n $border={border}\n $borderColor={borderColor}\n >\n {children}\n </StyledComponent>\n );\n};\n\nexport default Avatar;\n\nconst positioner = ({ index = 0, op = \"-\" }) => `\n transform: translateX(${op}${index * 8}px);\n`;\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: { wh: number; b: number; f: number; fw: number };\n $square?: boolean;\n $isIcon: boolean;\n $index?: number;\n $border?: boolean;\n $borderColor?: string;\n}>`\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${(p) => p.$size.wh}px;\n height: ${(p) => p.$size.wh}px;\n border: ${(p) =>\n p.$border\n ? `${p.$size.b}px solid ${p.$borderColor}`\n : `${p.$size.b}px solid #fff`};\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n font-size: ${(p) => p.$size.f}px;\n font-weight: ${(p) => p.$size.fw};\n border-radius: ${(p) => (p.$square ? \"8px\" : \"100%\")};\n overflow: hidden;\n box-sizing: border-box;\n\n img {\n width: ${(p) => (p.$isIcon ? p.$size.f * 2 + \"px\" : \"100%\")};\n height: ${(p) => (p.$isIcon ? p.$size.f * 2 + \"px\" : \"100%\")};\n object-fit: contain;\n border-radius: ${(p) => (p.$square ? \"8px\" : \"100%\")};\n }\n\n &.stacked {\n ${(p) =>\n positioner({\n index: p.$index,\n op: p.$theme.direction === \"ltr\" ? \"-\" : \"+\",\n })}\n }\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useTheme from \"../../lib/useTheme\";\nimport arrowToRight from \"../../assets/images/arrow-to-right.png\";\nimport arrowToLeft from \"../../assets/images/arrow-to-left.png\";\nimport DropdownItem from \"../../components/Dropdown/DropdownItem\";\n\ntype DGA_BreadcrumbProps = {\n items: {\n label: React.ReactNode;\n onClick?: Function;\n }[];\n className?: string;\n};\n\nconst Breadcrumb: React.FC<DGA_BreadcrumbProps> = ({ items, className }) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n const ref = React.useRef<HTMLSpanElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const [itemsPosition, setItemsPosition] = React.useState({\n top: 0,\n left: 0,\n width: 0,\n });\n\n const openListHandler = () => {\n setOpen(true);\n };\n\n let children: any = items.map((el, ind) => (\n <span\n className=\"dgaui_breadcrumbItem\"\n key={ind}\n onClick={() => el.onClick && el.onClick()}\n >\n {el.label}\n </span>\n ));\n\n if (items.length > 5) {\n const lastTwoItems = [items[items.length - 2], items[items.length - 1]];\n\n children = (\n <>\n <span\n className=\"dgaui_breadcrumbItem\"\n onClick={() => items[0].onClick && items[0].onClick()}\n >\n {items[0].label}\n </span>\n <span\n ref={ref}\n onClick={openListHandler}\n className=\"dgaui_breadcrumbItem dots\"\n >\n ...\n </span>\n {lastTwoItems.map((el, ind) => (\n <span\n className=\"dgaui_breadcrumbItem\"\n key={ind}\n onClick={() => el.onClick && el.onClick()}\n >\n {el.label}\n </span>\n ))}\n </>\n );\n }\n\n React.useEffect(() => {\n if (ref.current && containerRef.current) {\n setItemsPosition({\n top: containerRef.current.offsetTop + containerRef.current.clientHeight,\n left: containerRef.current.offsetLeft,\n width: containerRef.current.clientWidth,\n });\n\n const resizeHandler = () => {\n if (ref.current && containerRef.current)\n setItemsPosition({\n top:\n containerRef.current.offsetTop +\n containerRef.current.clientHeight,\n left: containerRef.current.offsetLeft,\n width: containerRef.current.clientWidth,\n });\n };\n\n const clickHandler = (e: MouseEvent) => {\n // Clicked outside\n if (!containerRef.current?.contains(e.target as any)) {\n setOpen(false);\n }\n };\n\n window.addEventListener(\"resize\", resizeHandler);\n window.addEventListener(\"click\", clickHandler);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler);\n };\n }\n }, [ref]);\n\n return (\n <>\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_breadcrumb\", className)}\n $theme={theme}\n $icon={theme.direction === \"ltr\" ? arrowToRight : arrowToLeft}\n ref={containerRef}\n >\n {children}\n </StyledComponent>\n\n {items.length > 5 && (\n <StyledList\n $theme={theme}\n className={\"dgaui_breadcrumbList\" + (open ? \" slide-bottom\" : \"\")}\n style={{ ...itemsPosition }}\n >\n {items.map((el, ind) => (\n <DropdownItem key={ind} onClick={() => el.onClick && el.onClick()}>\n {el.label}\n </DropdownItem>\n ))}\n </StyledList>\n )}\n </>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $icon: string;\n}>`\n direction: ${(props) => props.$theme.direction};\n display: flex;\n\n .dgaui_breadcrumbItem {\n color: ${(props) => props.$theme.palette.neutral[700]};\n min-width: 30px;\n height: 20px;\n position: relative;\n padding-inline-end: 4px;\n padding-inline-start: 20px;\n display: flex;\n justify-content: flex-end;\n cursor: pointer;\n\n &.dots {\n min-width: 12px;\n }\n\n &::before {\n content: url(${(p) => p.$icon});\n position: absolute;\n width: 20px;\n height: 20px;\n inset-inline-start: 0;\n bottom: -2px;\n }\n }\n\n :first-child::before {\n content: \"\";\n padding-inline-start: 0px;\n min-width: 0;\n width: 0;\n height: 0;\n }\n\n :last-child {\n color: ${(props) => props.$theme.palette.neutral[400]};\n cursor: auto;\n pointer-events: none;\n }\n`;\n\nconst StyledList = styled.div<{ $theme: Theme }>`\n position: absolute;\n top: 35px;\n left: 0;\n z-index: 1;\n background-color: #fff;\n width: 100%;\n opacity: 0;\n max-height: 300px;\n overflow-y: scroll;\n pointer-events: none;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-radius: 4px;\n padding: 8px;\n box-sizing: border-box;\n ${(p) => p.$theme.elevation.shadows.xl}\n cursor: pointer;\n\n &.slide-bottom {\n animation: slide-bottom 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n pointer-events: all;\n }\n @keyframes slide-bottom {\n 0% {\n transform: translateZ(0) translateY(0);\n opacity: 0;\n }\n 100% {\n transform: translateZ(160px) translateY(8px);\n opacity: 1;\n }\n }\n`;\n\nexport default Breadcrumb;\n","export const variants: Variant[] = [\n \"contained\",\n \"outlined\",\n \"text\",\n \"transparent\",\n \"solid\",\n];\n\nexport const COLORS = {\n white: \"#FFF\",\n white20: \"#FFF3\",\n white30: \"#FFFFFF4D\",\n white40: \"#FFF6\",\n white60: \"#FFF9\",\n white70: \"#FFFFFFB2\",\n white80: \"#FFFC\",\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport getButtonColors from \"./buttonColors\";\n\nexport const sizes = {\n small: { w: 74, h: 24, p: 8, f: 12 },\n medium: { w: 94, h: 32, p: 12, f: 14 },\n large: { w: 110, h: 40, p: 16, f: 16 },\n};\n\ninterface DGA_ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"style\"> {\n children?: React.ReactNode;\n size?: Size;\n style?: \"primary\" | \"neutral\" | \"secondary-solid\" | \"secondary-outline\" | \"subtle\" | \"transparent\";\n buttonStyle?: React.CSSProperties;\n destructive?: boolean;\n iconOnly?: boolean;\n onColor?: boolean;\n leadIcon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, DGA_ButtonProps>(\n (\n {\n children,\n size = \"large\",\n style = \"primary\",\n buttonStyle,\n destructive,\n iconOnly,\n onColor,\n leadIcon,\n trailIcon,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n\n const buttonColors = getButtonColors(theme, onColor, destructive);\n const backgroundColor = buttonColors[style].backgroundColor;\n const fontColor = buttonColors[style].fontColor;\n const borderColor = buttonColors[style].borderColor;\n const innerBorderColor = buttonColors[style].innerBorderColor;\n\n return (\n <StyledComponent\n {...props}\n ref={ref}\n className={mergeStrings(\"dgaui dgaui_button\", props.className)}\n $disabled={props.disabled}\n $customStyle={{\n theme,\n minWidth: iconOnly ? 0 : sizes[size].w,\n height: sizes[size].h,\n padding: sizes[size].p,\n fontSize: sizes[size].f,\n fontColor,\n backgroundColor,\n borderColor,\n innerBorderColor,\n }}\n style={buttonStyle}\n >\n {iconOnly && <div className=\"iconOnly\">{leadIcon || children}</div>}\n {!iconOnly && (\n <>\n <div className=\"leadIcon\">{leadIcon}</div>\n {children}\n <div className=\"trailIcon\">{trailIcon}</div>\n </>\n )}\n </StyledComponent>\n );\n }\n);\n\nconst StyledComponent = styled.button<{\n $disabled?: boolean;\n $customStyle: {\n theme: Theme;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: SelectorsObject;\n backgroundColor: SelectorsObject;\n borderColor?: SelectorsObject;\n innerBorderColor?: SelectorsObject;\n };\n}>`\n outline: none;\n border-radius: 4px;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n direction: ${(props) => props.$customStyle.theme.direction};\n min-width: ${(props) => props.$customStyle.minWidth}px;\n height: ${(props) => props.$customStyle.height}px;\n padding: ${(props) => props.$customStyle.padding}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n font-weight: 500;\n color: ${(props) => props.$customStyle.fontColor.default};\n background-color: ${(props) => props.$customStyle.backgroundColor.default};\n border: 2px solid transparent;\n ${(props) =>\n props.$customStyle.borderColor && `border: 1px solid ${props.$customStyle.borderColor.default};`};\n transition: background-color 0.1s;\n\n &:hover {\n background-color: ${(props) => props.$customStyle.backgroundColor.hovered};\n color: ${(props) => props.$customStyle.fontColor.hovered};\n ${(props) =>\n props.$customStyle.borderColor && `border: 1px solid ${props.$customStyle.borderColor.hovered};`};\n }\n\n &:focus {\n position: relative;\n border-radius: 4px;\n ${(props) =>\n props.$customStyle.borderColor?.focus && `border: 2px solid ${props.$customStyle.borderColor.focus};`};\n\n &:after {\n content: \"\";\n display: block;\n background-color: transparent;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n border-radius: 2px;\n box-sizing: border-box;\n ${(props) =>\n props.$customStyle.innerBorderColor?.focus &&\n `border: 1px solid ${props.$customStyle.innerBorderColor.focus};`};\n }\n }\n\n &:active {\n border: 2px solid transparent;\n border-radius: 4px;\n background-color: ${(props) => props.$customStyle.backgroundColor.active};\n color: ${(props) => props.$customStyle.fontColor.active};\n ${(props) =>\n props.$customStyle.borderColor?.active &&\n `border: 1px solid ${props.$customStyle.borderColor.active};`};\n &:after {\n display: none;\n }\n }\n\n &:disabled {\n cursor: default;\n pointer-events: none;\n background-color: ${(props) => props.$customStyle.backgroundColor.disabled};\n color: ${(props) => props.$customStyle.fontColor.disabled};\n }\n box-sizing: border-box;\n\n .leadIcon {\n margin-inline-end: 4px;\n display: inline-flex;\n }\n .trailIcon {\n margin-inline-start: 4px;\n display: inline-flex;\n }\n\n .iconOnly {\n display: inline-flex;\n }\n`;\n\nexport default Button;\n","import { COLORS } from \"../../lib/constants\";\n\ntype Button2Color = {\n backgroundColor: SelectorsObject;\n fontColor: SelectorsObject;\n borderColor?: SelectorsObject;\n innerBorderColor?: SelectorsObject;\n};\n\nconst result = (\n theme: Theme,\n onColor: boolean = false,\n destructive: boolean = false\n): {\n [k in\n | \"primary\"\n | \"neutral\"\n | \"secondary-solid\"\n | \"secondary-outline\"\n | \"subtle\"\n | \"transparent\"]: Button2Color;\n} => {\n /*\n *****************\n onColor = false\n destructive = false\n *****************\n */\n if (!onColor && !destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.primary[600],\n hovered: theme.palette.primary[700],\n active: theme.palette.primary[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.neutral[100],\n hovered: theme.palette.neutral[200],\n active: theme.palette.neutral[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.neutral[100],\n active: theme.palette.neutral[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.neutral[300],\n hovered: theme.palette.neutral[200],\n active: theme.palette.neutral[300],\n disabled: theme.palette.neutral[400],\n focus: theme.textColor,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.neutral[100],\n active: theme.palette.neutral[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.palette.primary[700],\n active: theme.palette.primary[900],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = false\n destructive = true\n *****************\n */\n\n // neutral style and disabled status are not set by dga //\n\n if (!onColor && destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.error[50],\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n focus: theme.textColor,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = true\n destructive = false\n *****************\n */\n if (onColor && !destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: COLORS.white,\n hovered: COLORS.white80, // 80% opacity\n active: COLORS.white60, // 60% opacity\n disabled: COLORS.white20, // 20% opacity\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n primary: {\n backgroundColor: {\n default: COLORS.white,\n hovered: COLORS.white80, // 80% opacity\n active: COLORS.white60, // 60% opacity\n disabled: COLORS.white20, // 20% opacity\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: COLORS.white20, // 20% opacity\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n default: COLORS.white40,\n hovered: COLORS.white40,\n active: COLORS.white40,\n disabled: theme.palette.neutral[400],\n focus: COLORS.white,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.palette.primary[400],\n active: theme.palette.primary[300],\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = true\n destructive = true\n *****************\n */\n if (onColor && destructive) {\n }\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.error[50],\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n focus: COLORS.white,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[300],\n active: theme.palette.error[400],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n };\n};\n\nexport default result;\n","import React, { HTMLAttributes } from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Button from \"../Button\";\nimport useTheme from \"../../lib/useTheme\";\nimport arrowDownImage from \"../../assets/images/chevron.png\";\nimport Checkbox from \"../Checkbox\";\n\ninterface DGA_CardProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"title\"> {\n title?: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n type?: \"default\" | \"expandable\" | \"selectable\";\n state?: \"default\" | \"disabled\" | \"focused\" | \"hover\";\n effect?: \"withShadow\" | \"noShadow\" | \"stroke\";\n expandableContent?: React.ReactNode;\n actionsButtons?: React.ReactElement<typeof Button>[];\n expanded?: boolean;\n selected?: boolean;\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n}\n\nconst Card: React.FC<DGA_CardProps> = ({\n title,\n description,\n icon,\n type = \"default\",\n state = \"default\",\n effect = \"withShadow\",\n expandableContent,\n actionsButtons,\n selected,\n expanded,\n onChange,\n ...props\n}) => {\n const theme = useTheme();\n const [internalExpanded, setInternalExpanded] = React.useState(false);\n const [contentHeight, setContentHeight] = React.useState(0);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n // Use expanded prop if provided, otherwise use internal state\n const isExpanded = expanded !== undefined ? expanded : internalExpanded;\n\n const selectable = type === \"selectable\";\n const expandable = type === \"expandable\";\n const pointerEvents =\n type === \"expandable\" || type === \"selectable\" ? \"all\" : \"none\";\n\n React.useEffect(() => {\n if (expandable && contentRef.current?.clientHeight) {\n setContentHeight(contentRef.current.clientHeight);\n }\n }, [expandable, contentRef.current?.clientHeight]);\n\n const handleExpandToggle = () => {\n if (expanded === undefined) {\n // Only use internal state if expanded prop is not controlled\n setInternalExpanded((prevState: boolean) => !prevState);\n }\n };\n\n return (\n <StyledComponent\n className={mergeStrings(\n \"dgaui dgaui_card\" +\n (state === \"disabled\" ? \" disabled\" : \"\") +\n (selectable ? \" selectable\" : \"\"),\n props.className\n )}\n $theme={theme}\n $pointerEvents={pointerEvents}\n $effect={effect}\n $contentHeight={contentHeight}\n $expanded={isExpanded}\n $state={state}\n {...props}\n tabIndex={0}\n onClick={(e) => {\n props.onClick && props.onClick(e);\n onChange?.(e, !selected);\n }}\n >\n {(icon || selectable) && (\n <div className=\"cardHeader\">\n <div className=\"iconContainer\">{icon}</div>\n {selectable && (\n <div\n className=\"checkboxContainer\"\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n value={selected}\n onChange={onChange}\n size=\"medium\"\n disabled={state === \"disabled\"}\n />\n </div>\n )}\n </div>\n )}\n {title && <div className=\"titleContainer\">{title}</div>}\n {description && <div className=\"descriptionContainer\">{description}</div>}\n {!!actionsButtons && actionsButtons.length > 0 && type === \"default\" && (\n <div\n className=\"actionsButtonsContainer\"\n onClick={(e) => e.stopPropagation()}\n >\n {actionsButtons}\n </div>\n )}\n {expandable && (\n <>\n <div className=\"caretButtonContainer\">\n <img\n src={arrowDownImage}\n onClick={handleExpandToggle}\n style={{\n transition: \"all 0.2s\",\n transform: isExpanded ? \"rotateZ(-180deg)\" : \"none\",\n }}\n />\n </div>\n <div\n className=\"expandableContentContainer\"\n style={{ height: isExpanded ? contentHeight : 0 }}\n >\n <div\n className=\"expandableContent\"\n ref={contentRef}\n style={{ visibility: isExpanded ? \"visible\" : \"hidden\" }}\n >\n {expandableContent}\n </div>\n </div>\n </>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $pointerEvents: string;\n $effect?: \"withShadow\" | \"noShadow\" | \"stroke\";\n $contentHeight: number;\n $expanded?: boolean;\n $state?: \"default\" | \"disabled\" | \"focused\" | \"hover\";\n}>`\n direction: ${(p) => p.$theme.direction};\n /* pointer-events: ${(p) => p.$pointerEvents}; */\n border: none;\n outline: none;\n width: 350px;\n padding: 16px;\n border-radius: 16px;\n background-color: #fff;\n text-align: start;\n overflow: hidden;\n color: ${(p) =>\n p.$state === \"disabled\"\n ? p.$theme.palette.neutral[400]\n : p.$theme.palette.neutral[800]};\n border: 2px solid transparent;\n\n /* Apply background color based on state prop */\n background-color: ${(p) => {\n if (p.$state === \"hover\") return p.$theme.palette.neutral[50];\n return \"#fff\";\n }};\n\n /* Apply border color based on state prop */\n ${(p) =>\n p.$state === \"focused\" ? `border: 2px solid ${p.$theme.textColor};` : \"\"}\n\n ${(p) => (p.$effect === \"withShadow\" ? p.$theme.elevation.shadows.md : \"\")};\n ${(p) =>\n p.$effect === \"stroke\"\n ? \"border: 1px solid \" + p.$theme.palette.neutral[300]\n : \"\"};\n\n /* CSS hover and focus states - work when state prop is default */\n ${(p) =>\n p.$pointerEvents === \"all\" && p.$state !== \"disabled\"\n ? css`\n &:hover {\n background-color: ${p.$theme.palette.neutral[50]};\n }\n &:focus {\n border: 2px solid ${p.$theme.textColor};\n }\n `\n : \"\"}\n\n &.selectable {\n cursor: pointer;\n }\n &.disabled {\n pointer-events: none;\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n\n .iconContainer {\n opacity: 0.5;\n filter: grayscale(1);\n }\n\n .checkboxContainer {\n opacity: 0.5;\n filter: grayscale(1);\n }\n }\n\n .cardHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-height: 48px;\n margin-bottom: 24px;\n\n .iconContainer {\n max-height: 48px;\n }\n }\n\n .titleContainer {\n font-size: 18px;\n font-weight: 700;\n margin-bottom: 8px;\n }\n .descriptionContainer {\n font-size: 16px;\n }\n .actionsButtonsContainer {\n margin-top: 24px;\n button {\n margin-inline-end: 16px;\n &:last-child {\n margin-inline-end: 0;\n }\n }\n }\n\n .caretButtonContainer {\n height: 40px;\n margin-top: 24px;\n display: flex;\n align-items: center;\n img {\n cursor: pointer;\n }\n }\n .expandableContentContainer {\n transition: all 0.2s;\n font-size: 16px;\n\n .expandableContent {\n }\n }\n`;\n\nexport default Card;\n","\"use strict\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=e({name:\"gregorian\",startYear:1,yearLength:365,epoch:1721424,century:20,weekStartDayIndex:1,getMonthLengths:e=>[31,e?29:28,31,30,31,30,31,31,30,31,30,31],isLeap:e=>e%4==0&&e%100!=0||e%400==0,getLeaps(e){if(0===e)return;let t=e>0?1:-1,r=[];for(;e>0?t<=e:e<=t;)this.isLeap(t)&&r.push(t),e>0?t++:t--;return r},getDayOfYear({year:e,month:t,day:r}){let a=this.getMonthLengths(this.isLeap(e));for(let e=0;e<t.index;e++)r+=a[e];return r},getAllDays(e){const{year:t}=e;return this.yearLength*(t-1)+this.leapsLength(t)+this.getDayOfYear(e)},leapsLength:e=>((e-1)/4|0)+(-(e-1)/100|0)+((e-1)/400|0),guessYear:(e,t)=>~~(e/365.24)+(t>0?1:-1)});module.exports=t;\n","\"use strict\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=e({name:\"arabic\",startYear:1,yearLength:354,epoch:1948438,century:14,weekStartDayIndex:0,getMonthLengths:e=>[30,29,30,29,30,29,30,29,30,29,30,e?30:29],isLeap:e=>[2,5,7,10,13,15,18,21,24,26,29].includes(e%30),getLeaps(e){if(0===e)return;let t=e>0?1:-1,r=[];for(;e>0?t<=e:e<=t;)this.isLeap(t)&&r.push(t),e>0?t++:t--;return r},getDayOfYear({year:e,month:t,day:r}){let a=this.getMonthLengths(this.isLeap(e));for(let e=0;e<t.index;e++)r+=a[e];return r},getAllDays(e){const{year:t}=e;return this.yearLength*(t-1)+this.leapsLength(t)+this.getDayOfYear(e)},leapsLength:e=>11/30*(e-1)+.5|0,guessYear:(e,t)=>~~((e-.5)/354.366)+(t>0?1:-1)});module.exports=t;\n","export const gregorian_ar = {\n name: \"gregorian_ar\",\n months: [\n [\"يناير\", \"ينا\"],\n [\"فبراير\", \"فبر\"],\n [\"مارس\", \"ما\"],\n [\"إبريل\", \"إبر\"],\n [\"مايو\", \"ما\"],\n [\"يونيو\", \"يو\"],\n [\"يوليو\", \"يوليو\"],\n [\"أغسطس\", \"أغس\"],\n [\"سبتمبر\", \"سب\"],\n [\"أكتوبر\", \"اک\"],\n [\"نوفمبر\", \"نو\"],\n [\"ديسمبر\", \"دس\"],\n ],\n weekDays: [\n [\"السّبت\", \"سب\"],\n [\"الأحد\", \"اح\"],\n [\"الإثنينِ\", \"ثن\"],\n [\"الثلاثاء\", \"ثل\"],\n [\"الأربعاء\", \"ار\"],\n [\"الخميس\", \"خم\"],\n [\"الجمعة\", \"جم\"],\n ],\n digits: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n meridiems: [\n [\"قبل الظهر\", \"ق.ظ\"],\n [\"بعد الظهر\", \"ب.ظ\"],\n ],\n};\n\nexport const arabic_ar = {\n name: \"arabic_ar\",\n months: [\n [\"محرم\", \"محرم\"],\n [\"صفر\", \"صفر\"],\n [\"ربیع الاول\", \"ربیع الاول\"],\n [\"ربیع الثانی\", \"ربیع الثانی\"],\n [\"جمادی الاول\", \"جمادی الاول\"],\n [\"جمادی الثانی\", \"جمادی الثانی\"],\n [\"رجب\", \"رجب\"],\n [\"شعبان\", \"شعبان\"],\n [\"رمضان\", \"رمضان\"],\n [\"شوال\", \"شوال\"],\n [\"ذو القعدة\", \"ذو القعدة\"],\n [\"ذو الحجة\", \"ذو الحجة\"],\n ],\n weekDays: [\n [\"السّبت\", \"سب\"],\n [\"الأحد\", \"اح\"],\n [\"الإثنينِ\", \"ثن\"],\n [\"الثلاثاء\", \"ثل\"],\n [\"الأربعاء\", \"ار\"],\n [\"الخميس\", \"خم\"],\n [\"الجمعة\", \"جم\"],\n ],\n digits: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n meridiems: [\n [\"قبل الظهر\", \"ق.ظ\"],\n [\"بعد الظهر\", \"ب.ظ\"],\n ],\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n medium: { w: 320, h: 32, p: 8, f: 14, prefixW: 72 },\n large: { w: 320, h: 40, p: 8, f: 16, prefixW: 61 },\n};\n\nexport type Style = \"default\" | \"filledDarker\" | \"filledLighter\";\n\nexport interface DGA_TextInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"prefix\" | \"style\"\n > {\n label?: React.ReactNode;\n size?: \"large\" | \"medium\";\n style?: Style;\n error?: boolean;\n prefix?: React.ReactNode;\n onPrefixClicked?: Function;\n prefixStyle?: \"solid\" | \"subtle\";\n suffix?: React.ReactNode;\n suffixStyle?: \"solid\" | \"subtle\";\n onSuffixClicked?: Function;\n icon?: React.ReactNode;\n}\n\nconst TextInput = React.forwardRef<HTMLInputElement, DGA_TextInputProps>(\n (\n {\n label,\n size = \"large\",\n style,\n error,\n prefix,\n prefixStyle = \"solid\",\n onPrefixClicked,\n suffix,\n suffixStyle = \"solid\",\n onSuffixClicked,\n icon,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n\n const sizeResult: \"large\" | \"medium\" = size ?? \"large\";\n\n // Default\n let fontColor = theme.textColor;\n let placeholderFontColor = theme.palette.neutral[500];\n let border = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[400]\n }`;\n let borderHovered = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let borderFocused = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n let prefixBg =\n prefixStyle === \"solid\" ? theme.palette.neutral[100] : \"transparent\";\n let prefixBgHover = theme.palette.neutral[100];\n let prefixBgActive = theme.palette.neutral[200];\n let suffixBg =\n suffixStyle === \"solid\" ? theme.palette.neutral[100] : \"transparent\";\n let suffixBgHover = theme.palette.neutral[100];\n let suffixBgActive = theme.palette.neutral[200];\n\n if (style === \"filledLighter\") {\n backgroundColor = theme.palette.neutral[25];\n if (!error) {\n border = \"1px solid transparent\";\n borderHovered = `1px solid ${theme.palette.neutral[400]}`;\n borderFocused = `1px solid ${theme.palette.neutral[400]}`;\n }\n }\n if (style === \"filledDarker\") {\n backgroundColor = theme.palette.neutral[100];\n }\n\n if (props.disabled) {\n fontColor = theme.palette.neutral[400];\n border = `1px solid ${theme.palette.neutral[200]}`;\n borderHovered = `1px solid ${theme.palette.neutral[200]}`;\n }\n\n return (\n <RootStyledComponent\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_textInput\", props.className)}\n $customStyle={{\n prefixBg,\n prefixBgHover,\n prefixBgActive,\n suffixBg,\n suffixBgHover,\n suffixBgActive,\n size,\n iconPadding: icon ? \"20px\" : \"0px\",\n }}\n >\n <label\n style={{ marginBottom: 8, textAlign: \"start\" }}\n htmlFor={props.id}\n >\n {label}\n </label>\n {prefix && (\n <div className=\"prefix\" onClick={() => onPrefixClicked?.()}>\n {prefix}\n </div>\n )}\n {suffix && (\n <div className=\"suffix\" onClick={() => onSuffixClicked?.()}>\n {suffix}\n </div>\n )}\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\n {icon && <div className=\"icon\">{icon}</div>}\n <StyledComponent\n $customStyle={{\n direction: theme.direction,\n minWidth: sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n padding: sizes[sizeResult].p,\n fontSize: sizes[sizeResult].f,\n placeholderFontColor,\n fontColor,\n border,\n borderHovered,\n borderFocused,\n backgroundColor,\n shadowFocus,\n }}\n {...props}\n ref={ref}\n className=\"dgaui dgaui_textInput_input\"\n />\n </div>\n <StyledComponentSpan\n $bgColor={animationColor}\n className=\"dgauiInputSeparator\"\n />\n </RootStyledComponent>\n );\n }\n);\n\nconst RootStyledComponent = styled.div<{\n $theme: Theme;\n $customStyle: {\n prefixBg: string;\n prefixBgHover: string;\n prefixBgActive: string;\n suffixBg: string;\n suffixBgHover: string;\n suffixBgActive: string;\n size?: \"large\" | \"medium\";\n iconPadding: string;\n };\n}>`\n position: relative;\n direction: ${(p) => p.$theme.direction};\n display: flex;\n flex-direction: column;\n color: ${(p) => p.$theme.textColor};\n width: 100%;\n overflow: hidden;\n\n .prefix,\n .suffix {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")};\n height: ${(p) => (p.$customStyle.size === \"large\" ? \"38px\" : \"30px\")};\n bottom: 3px;\n inset-inline-start: 1px;\n border-start-start-radius: 4px;\n border-end-start-radius: 4px;\n font-size: 16px;\n color: ${(p) => p.$theme.palette.neutral[500]};\n transition: background-color 0.2s;\n overflow: hidden;\n }\n\n .prefix {\n background-color: ${(p) => p.$customStyle.prefixBg};\n\n &:hover {\n background-color: ${(p) => p.$customStyle.prefixBgHover};\n }\n &:active {\n background-color: ${(p) => p.$customStyle.prefixBgActive};\n }\n }\n\n .suffix {\n background-color: ${(p) => p.$customStyle.suffixBg};\n\n &:hover {\n background-color: ${(p) => p.$customStyle.suffixBgHover};\n }\n &:active {\n background-color: ${(p) => p.$customStyle.suffixBgActive};\n }\n }\n\n .suffix {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: 4px;\n border-end-end-radius: 4px;\n inset-inline-start: unset;\n inset-inline-end: 1px;\n }\n\n .icon {\n width: calc(${(p) => p.$customStyle.iconPadding} + 10px);\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n input {\n padding-inline-start: calc(${(p) => p.$customStyle.iconPadding} + 8px);\n }\n\n &:has(.prefix) {\n input {\n padding-inline-start: calc(\n ${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")} +\n ${(p) => p.$customStyle.iconPadding} + 8px\n );\n }\n .icon {\n inset-inline-start: ${(p) =>\n p.$customStyle.size === \"large\" ? \"74px\" : \"61px\"};\n }\n }\n\n &:has(.suffix) {\n input {\n padding-inline-end: calc(\n ${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")} + 8px\n );\n }\n }\n &:has(.dgaui_textInput_input:disabled),\n &:has(.dgaui_textInput_input:read-only) {\n .dgauiInputSeparator {\n pointer-events: none;\n }\n }\n &:has(.dgaui_textInput_input:focus) {\n .dgauiInputSeparator {\n transform: scaleX(0.995) translateY(-2.5px);\n }\n }\n &:has(.dgaui_textInput_input:active) {\n .dgauiInputSeparator {\n transform: scaleX(0.5) translateY(-2.5px);\n }\n }\n`;\n\nconst StyledComponent = styled.input<{\n $customStyle: {\n direction: string;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: string;\n border: string;\n shadowFocus: string;\n placeholderFontColor: string;\n borderHovered: string;\n borderFocused: string;\n backgroundColor: string;\n };\n}>`\n outline: none;\n direction: ${(props) => props.$customStyle.direction};\n border-radius: 4px;\n width: 100%;\n height: ${(props) => props.$customStyle.height}px;\n padding: 0 ${(props) => props.$customStyle.padding}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n border: ${(props) => props.$customStyle.border};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n overflow: hidden;\n box-sizing: border-box;\n\n &::placeholder {\n color: ${(props) => props.$customStyle.placeholderFontColor};\n font-weight: 300;\n }\n &:focus {\n ${(props) => props.$customStyle.shadowFocus};\n border: ${(props) => props.$customStyle.borderFocused};\n }\n\n &:hover {\n border: ${(props) => props.$customStyle.borderHovered};\n }\n &:disabled {\n pointer-events: none;\n }\n`;\n\nconst StyledComponentSpan = styled.span<{ $bgColor: string }>`\n height: 2px;\n background: ${(props) => props.$bgColor};\n display: block;\n transform: scaleX(0) translateY(-2.5px);\n transform-origin: 50%;\n transition: all 0.2s;\n border-bottom-left-radius: 50px;\n border-bottom-right-radius: 50px;\n`;\n\nexport default TextInput;\n","import React, { SyntheticEvent } from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ninterface DGA_MenuProps extends React.HTMLAttributes<HTMLDivElement> {\n disabled?: boolean;\n menuItems: React.ReactNode;\n children: React.ReactNode;\n keepOpenOnItemsClicked?: boolean;\n onOpen?: (e: SyntheticEvent) => void;\n onClose?: (e: SyntheticEvent) => void;\n reverseOpeningDirection?: boolean;\n}\n\nconst Menu: React.FC<DGA_MenuProps> = ({\n children,\n menuItems,\n disabled,\n keepOpenOnItemsClicked,\n onOpen,\n onClose,\n reverseOpeningDirection,\n ...props\n}) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n const [defaultBodyOverflow, setDefaultBodyOverflow] = React.useState(\"\");\n const [itemsPosition, setItemsPosition] = React.useState({\n top: 0,\n left: 0,\n });\n const componentRef = React.useRef<HTMLDivElement>(null);\n const ref = React.useRef<HTMLDivElement>(null);\n const menuItemsRef = React.useRef<HTMLDivElement>(null);\n\n const positioner = () => {\n const vh = Math.max(document.documentElement.clientHeight, window.innerHeight);\n\n if (ref.current && menuItemsRef.current) {\n const rect = ref.current.getBoundingClientRect();\n\n // bottom-to-bottom\n let values = {\n top: rect.bottom,\n left: theme.direction === \"ltr\" ? rect.left : rect.right - menuItemsRef.current.clientWidth,\n };\n\n // if width starting from children corner greater than window width + direction checking\n if (theme.direction === \"ltr\") {\n if (values.left + menuItemsRef.current.clientWidth > window.innerWidth) {\n values.left = window.innerWidth - menuItemsRef.current.clientWidth;\n }\n } else {\n if (values.left && rect.right - menuItemsRef.current.clientWidth < 0) {\n values.left = 0;\n }\n }\n\n if (reverseOpeningDirection) {\n values = {\n top: values.top,\n left: theme.direction === \"ltr\" ? rect.right - menuItemsRef.current.clientWidth : rect.left,\n };\n\n if (values.left < 0) {\n values.left = 0;\n }\n if (rect.left + menuItemsRef.current.clientWidth > innerWidth) {\n values.left = innerWidth - menuItemsRef.current.clientWidth;\n }\n }\n\n // bottom-to-top\n if (rect.bottom + menuItemsRef.current.clientHeight > vh) {\n values.top = rect.top - menuItemsRef.current.clientHeight;\n }\n\n if (values.top < 0) {\n values.top = 0;\n }\n if (values.top > vh) {\n values.top = menuItemsRef.current.clientHeight;\n }\n\n setItemsPosition(values);\n }\n };\n\n const openMenu = (e: SyntheticEvent) => {\n if (open) {\n setOpen(false);\n onClose?.(e);\n } else {\n positioner();\n setOpen(true);\n onOpen?.(e);\n }\n };\n\n // Popover position\n React.useEffect(() => {\n if (ref.current) {\n const resizeHandler = () => {\n positioner();\n };\n\n const clickHandler = (e: SyntheticEvent) => {\n // Clicked outside\n if (!componentRef.current?.contains(e.target as any)) {\n onClose?.(e);\n setOpen(false);\n }\n };\n\n window.addEventListener(\"resize\", resizeHandler);\n window.addEventListener(\"click\", clickHandler as any);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler as any);\n };\n }\n }, [ref, reverseOpeningDirection]);\n\n React.useEffect(() => {\n const body = document.getElementsByTagName(\"body\");\n if (body && body[0]) {\n if (open) {\n body[0].style.overflow = \"hidden\";\n } else {\n body[0].style.overflow = defaultBodyOverflow;\n }\n }\n }, [open]);\n\n React.useEffect(() => {\n setDefaultBodyOverflow(document.getElementsByTagName(\"body\")?.[0]?.style?.overflow);\n }, []);\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_menu\", props.className)}\n ref={componentRef}\n >\n <div ref={ref} onClick={(e: SyntheticEvent) => openMenu(e)} className=\"menuChildren\">\n {children}\n </div>\n <div\n ref={menuItemsRef}\n className={\"menueItemsContainer dgaui_hiddenScrollbar \" + (open ? \" slide-bottom\" : \"\")}\n style={itemsPosition}\n onClick={(e) => {\n if (!keepOpenOnItemsClicked) {\n setOpen(false);\n onClose?.(e);\n }\n }}\n >\n {menuItems}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: inline-block;\n\n .menueItemsContainer {\n width: max-content;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1400;\n background-color: #fff;\n opacity: 0;\n min-width: 20px;\n max-height: 400px;\n overflow-y: scroll;\n pointer-events: none;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-radius: 8px;\n ${(p) => p.$theme.elevation.shadows[\"2xl\"]}\n cursor: pointer;\n\n &.slide-bottom {\n animation: slide-bottom 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n pointer-events: all;\n }\n @keyframes slide-bottom {\n 0% {\n transform: translateZ(0) translateY(0);\n opacity: 0;\n }\n 100% {\n transform: translateZ(160px) translateY(8px);\n opacity: 1;\n }\n }\n }\n`;\n\nexport default Menu;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD/SURBVHgB7dUxroJAEAbgAV5I6LaBUHqExxG8wWtf9Z4n8Ah6I49gbaU30JJAIQUVCeA/xsLCgl2zRpP/SzYLxSSTmZ1dESIiIiJ6IE3TZZZlK3lSKJ6M4xhgWyPJvTFmJu8IVfzHOiPJo2uSgXiW5/lsGIYtPg2qOq/r+mAT7z1BdZ9k13VF0zSnqbFfYkEPPrYfsdT3vQTBtRYmjmMdnMXUWKshuR18J4htxMFLWqwDgsppiyUMw3lZlqepsVYtdoFj8Y32blBBg1+r5JS3e1AhuT9s18pFUVTYTrBX+opgjXpR6xSLo0g8SZKkQGt3VVX9tm3rNCBEREREn+8C+TlJKy8I1/cAAAAASUVORK5CYII=\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEJSURBVHgB7dU9boNAEAXgtySigYKGn9JHSI7AEXIC5wi5QXKEtOlyhZwgbTp8g7gEUWQLQBEF+I1l916stWxpPmnFFFsMszO7gFJKKaXULbvDmbIse43j+LHv+x94EGChJElWTK5i+DbPc4JrckjuN03TP65neHQPR0zogZ9vLstVtm27gUfGZbNULgxDSQ5BEJR1XW/hmVOCrN6nMWbNcMO+s1iAP/bVNM37yfvhgMkdw4sNhVMFi6JYTdO0P+JxHEtr7RaeOVVQeo5H+ySx9KL0JDxzvgdlamVAJGaSFftyjWskx83kKt6Hc57nL/Bk8VPXdZ0dhuEjiiLOjvn39dQppZRSSt22HXZvSded5pbnAAAAAElFTkSuQmCC\";\n export default img;","import React from \"react\";\nimport { Calendar } from \"react-multi-date-picker\";\nimport { DateObject } from \"react-multi-date-picker\";\nimport gregorian from \"react-date-object/calendars/gregorian\";\nimport arabic from \"react-date-object/calendars/arabic\";\nimport { arabic_ar, gregorian_ar } from \"./customLocales\";\nimport TextInput, { DGA_TextInputProps } from \"../TextInput\";\nimport Menu from \"../Menu\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport rightIcon from \"./right.png\";\nimport leftIcon from \"./left.png\";\n\ntype Props = {\n hijri?: boolean;\n range?: boolean;\n minYear?: number;\n maxYear?: number;\n onChange?: (dateObject: DateObject) => void;\n onRangeChange?: (datesObject: DateObject[]) => void;\n value?: DateObject | DateObject[];\n withTextInput?: boolean;\n textInputProps?: DGA_TextInputProps;\n closeOnSelect?: boolean;\n rangeSeparator?: string;\n minDate?: DateObject;\n maxDate?: DateObject;\n};\n\nconst DatePicker: React.FC<Props> = ({\n hijri = false,\n range = false,\n minYear,\n maxYear,\n minDate,\n maxDate,\n onChange,\n onRangeChange,\n value,\n withTextInput = true,\n textInputProps,\n closeOnSelect = true,\n rangeSeparator = \" - \",\n}) => {\n const theme = useTheme();\n const [date, setDate] = React.useState<DateObject | DateObject[]>();\n const [dateText, setDateText] = React.useState(\"\");\n const [yearsList, setYearsList] = React.useState<number[]>([]);\n const [yearDisplayValue, setYearDisplayValue] = React.useState(0);\n const calendarRef = React.useRef();\n\n const isRangeAndOnlyOneSelected =\n range && Array.isArray(date) && date.length === 1;\n\n const onChangeHandler = (date: DateObject) => {\n setDate(date);\n\n if (range && onRangeChange && Array.isArray(date)) {\n onRangeChange(date);\n } else {\n date && onChange && onChange(date);\n }\n\n if (closeOnSelect) {\n if (range && Array.isArray(date) && date.length > 1) {\n document.body.click();\n } else if (!range) {\n document.body.click();\n }\n }\n };\n\n const onYearChangedDropdown = (v: number) => {\n setDate(undefined);\n (calendarRef?.current as any)?.set(\"year\", v);\n setYearDisplayValue(v);\n };\n\n React.useEffect(() => {\n let minYearDefault = 0;\n let maxYearDefault = 0;\n if (hijri) {\n minYearDefault = minDate ? minDate.year : minYear || 1300;\n maxYearDefault = maxDate ? maxDate.year : maxYear || 1500;\n } else {\n minYearDefault = minDate ? minDate.year : minYear || 1900;\n maxYearDefault = (maxDate ? maxDate.year : maxYear || 2100) + 1;\n }\n\n let newYearsList: number[] = [];\n\n // If invalid range\n if (minYearDefault >= maxYearDefault) {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + 1900);\n setYearsList(newYearsList);\n return;\n }\n\n if (minYearDefault && maxYearDefault) {\n newYearsList = Array(maxYearDefault - minYearDefault)\n .fill(0)\n .map((_, index) => index + minYearDefault);\n } else if (minYearDefault && !maxYearDefault) {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + minYearDefault);\n } else if (!minYearDefault && maxYearDefault) {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + (hijri ? 1300 : 1900));\n } else {\n if (hijri) {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + 1300);\n } else {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + 1900);\n }\n }\n setYearsList(newYearsList);\n }, [minYear, maxYear, minDate, maxDate, hijri]);\n\n React.useEffect(() => {\n const thisYear = new Date().getFullYear();\n const thisMonth = new Date().getMonth() + 1;\n\n if (hijri) {\n setYearDisplayValue(gregoreanYearToHijriYear(thisYear, thisMonth));\n } else {\n setYearDisplayValue(thisYear);\n }\n }, [hijri]);\n\n React.useEffect(() => {\n if (!range) {\n setDate(undefined);\n }\n }, [range]);\n\n React.useEffect(() => {\n setDate(value);\n }, [value]);\n\n React.useEffect(() => {\n let newDateText = \"\";\n if (range && Array.isArray(date) && date.length === 2) {\n newDateText = `${formatDate(date[0])}${rangeSeparator}${formatDate(\n date[1]\n )}`;\n } else if (date && !Array.isArray(date)) {\n newDateText = formatDate(date);\n }\n setDateText(newDateText);\n }, [date, range]);\n\n const calendar = (\n <Calendar\n ref={calendarRef}\n value={value || date}\n range={range}\n calendar={hijri ? arabic : gregorian}\n onMonthChange={(e) => setYearDisplayValue(e.year)}\n // When overriding the default locale using spread operator \"...\" then override only digits, we faced an issue when value is set.\n // And when overriding the locale using object it works fine, so we used the object to override the locale.\n locale={\n hijri ? arabic_ar : theme.direction === \"rtl\" ? gregorian_ar : undefined\n }\n weekStartDayIndex={hijri ? 1 : 0} // As arabic calendar starts in Saturday and I want to unify the start day to be in Sunday\n weekDays={\n hijri\n ? [\"سبت\", \"أحد\", \"إثنين\", \"ثلاثاء\", \"أربعاء\", \"خميس\", \"جمعة\"]\n : theme.direction === \"rtl\"\n ? [\"أحد\", \"إثنين\", \"ثلاثاء\", \"أربعاء\", \"خميس\", \"جمعة\", \"سبت\"]\n : undefined\n }\n onChange={onChangeHandler}\n format=\"YYYY/MM/DD\"\n showOtherDays\n monthYearSeparator=\" \"\n minDate={minDate}\n maxDate={maxDate}\n >\n <div className=\"yearsSelect\">\n <select\n value={yearDisplayValue}\n onChange={(e) => onYearChangedDropdown(+e.target.value)}\n >\n {yearsList.map((el) => {\n return (\n <option key={el} value={el}>\n {el}\n </option>\n );\n })}\n </select>\n </div>\n </Calendar>\n );\n\n return (\n <StyledComponent\n className={\n \"dgaui\" + (isRangeAndOnlyOneSelected ? \" rangeOnlyOneSelected\" : \"\")\n }\n $theme={theme}\n >\n {!withTextInput && calendar}\n {withTextInput && (\n <Menu menuItems={calendar} keepOpenOnItemsClicked>\n <TextInput\n value={textInputProps?.value || dateText}\n readOnly\n {...textInputProps}\n />\n </Menu>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n .rmdp-top-class {\n width: 424px;\n display: block !important;\n\n .rmdp-calendar {\n padding: 16px;\n }\n\n .rmdp-day-picker {\n padding: 0;\n display: block !important;\n }\n }\n\n .rmdp-header {\n margin: 0;\n div:first-child {\n button {\n width: 40px;\n height: 40px;\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[100]} !important;\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]} !important;\n }\n\n i {\n display: none;\n }\n }\n\n .rmdp-right {\n background-image: url(${rightIcon});\n background-repeat: no-repeat;\n }\n .rmdp-left {\n position: absolute;\n inset-inline-end: 48px;\n inset-inline-start: auto;\n background-image: url(${leftIcon});\n background-repeat: no-repeat;\n }\n .rmdp-header-values {\n flex: 1;\n font-size: 16px !important;\n font-weight: 500;\n display: flex;\n justify-content: flex-start;\n margin: 0;\n\n span:last-child {\n visibility: hidden;\n }\n }\n }\n }\n\n .rmdp-week-day {\n width: 56px;\n height: 48px;\n font-size: 16px !important;\n color: ${(p) => p.$theme.palette.neutral[500]};\n }\n\n .rmdp-day {\n margin: 0;\n box-sizing: border-box;\n border: 2px solid transparent;\n width: 56px;\n height: 56px;\n\n span {\n font-size: 16px !important;\n }\n\n &.rmdp-deactive {\n color: ${(p) => p.$theme.palette.neutral[400]} !important;\n }\n\n &:hover span {\n background-color: ${(p) => p.$theme.palette.neutral[200]} !important;\n color: ${(p) => p.$theme.textColor};\n }\n &:active span {\n background-color: ${(p) => p.$theme.palette.neutral[300]} !important;\n }\n\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor} !important;\n border-radius: 6px !important;\n }\n\n &.rmdp-selected {\n span {\n background-color: ${(p) => p.$theme.palette.primary[600]} !important;\n color: #fff !important;\n }\n &:hover {\n span {\n background-color: ${(p) => p.$theme.palette.primary[700]} !important;\n color: #fff !important;\n }\n }\n &:active {\n span {\n background-color: ${(p) => p.$theme.palette.primary[900]} !important;\n color: #fff !important;\n }\n }\n }\n }\n .rmdp-week {\n .rmdp-day {\n &.rmdp-disabled {\n pointer-events: none;\n }\n }\n }\n .rmdp-today {\n &:hover {\n background-color: transparent !important;\n span {\n background-color: transparent !important;\n color: ${(p) => p.$theme.palette.primary[600]} !important;\n }\n }\n\n span {\n box-shadow: none;\n background-color: transparent !important;\n border: 2px solid ${(p) => p.$theme.palette.primary[600]} !important;\n color: ${(p) => p.$theme.palette.primary[600]} !important;\n font-weight: 700 !important;\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[100]} !important;\n color: ${(p) => p.$theme.palette.primary[600]} !important;\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[200]} !important;\n color: ${(p) => p.$theme.palette.primary[600]} !important;\n }\n }\n }\n\n .rmdp-range {\n box-shadow: none;\n position: relative;\n\n background-color: transparent;\n color: ${(p) => p.$theme.textColor} !important;\n\n &:hover,\n &:hover span {\n background-color: transparent !important;\n }\n\n &::before {\n background-color: ${(p) => p.$theme.palette.primary[100]} !important;\n content: \"\";\n display: block;\n position: absolute;\n width: 108%;\n height: 92%;\n z-index: -1;\n top: 2px;\n inset-inline-end: -6px;\n }\n\n &.start {\n span {\n background-color: transparent;\n background-color: ${(p) => p.$theme.palette.primary[600]} !important;\n color: #fff;\n }\n border-bottom-left-radius: unset !important;\n border-top-left-radius: unset !important;\n border-radius: 50% !important;\n\n &::before {\n background-color: ${(p) => p.$theme.palette.primary[100]} !important;\n border-start-start-radius: 50%;\n border-end-start-radius: 50%;\n content: \"\";\n display: block;\n position: absolute;\n width: 107%;\n height: 92%;\n z-index: -1;\n top: 2px;\n inset-inline-end: -6px;\n }\n }\n &.end {\n span {\n background-color: ${(p) => p.$theme.palette.primary[600]} !important;\n color: #fff;\n }\n\n border-bottom-left-radius: unset !important;\n border-top-left-radius: unset !important;\n border-radius: 50% !important;\n\n &::before {\n background-color: ${(p) => p.$theme.palette.primary[100]} !important;\n border-start-end-radius: 50%;\n border-end-end-radius: 50%;\n content: \"\";\n display: block;\n position: absolute;\n width: 107%;\n height: 92%;\n z-index: -1;\n top: 2px;\n inset-inline-start: -6px;\n }\n &.start {\n &::before {\n display: none;\n }\n }\n }\n }\n\n &.rangeOnlyOneSelected {\n .rmdp-range {\n &::before {\n display: none;\n }\n }\n }\n\n .rmdp-shadow {\n ${(p) => p.$theme.elevation.shadows[\"2xl\"]}\n }\n\n .yearsSelect {\n position: absolute;\n top: 28px;\n left: 120px;\n z-index: 0;\n display: flex;\n justify-content: flex-start;\n\n select {\n outline: none;\n border: none;\n margin-top: 6px;\n font-size: 16px;\n font-weight: 500;\n }\n }\n\n .rmdp-rtl {\n .rmdp-header {\n div:first-child {\n .rmdp-right {\n background-image: url(${leftIcon});\n background-repeat: no-repeat;\n }\n .rmdp-left {\n background-image: url(${rightIcon});\n background-repeat: no-repeat;\n }\n }\n }\n }\n\n .rmdp-wrapper {\n position: relative;\n }\n\n &:has(.rmdp-rtl) {\n .yearsSelect {\n left: auto;\n right: 110px;\n }\n }\n\n .menueItemsContainer {\n max-height: unset;\n }\n\n @media screen and (max-width: 600px) {\n width: 100%;\n .rmdp-wrapper {\n width: 100%;\n }\n .rmdp-top-class .rmdp-calendar {\n padding: 0;\n }\n .rmdp-top-class {\n width: 100%;\n }\n .rmdp-day {\n width: 40px;\n height: 40px;\n }\n .rmdp-day {\n span {\n font-size: 14px !important;\n }\n }\n .yearsSelect {\n top: 10px;\n }\n }\n`;\n\nexport default DatePicker;\n\nfunction gregoreanYearToHijriYear(\n gregorianYear: number,\n gregorianMonth: number\n) {\n // Subtract 622 from the Gregorian year, then divide by 0.970224\n let hijriYear = (gregorianYear - 622) / 0.970224;\n\n // If the month is after roughly October (when the Hijri year might have turned), add 1 year to the result\n if (gregorianMonth >= 9) {\n hijriYear += 1;\n }\n\n return Math.floor(hijriYear); // Round down to get the whole Hijri year\n}\n\nconst padStartZero = (text: number | string) =>\n text?.toString().padStart(2, \"0\");\n\nconst formatDate = (date: DateObject) => {\n return `${padStartZero(date.day)}/${padStartZero(date.month.number)}/${\n date.year\n }`;\n};\n","import React from \"react\";\n\nconst Icon = () => {\n return (\n <svg\n className=\"elementsIcon\"\n width=\"20\"\n height=\"22\"\n viewBox=\"0 0 20 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.9998 0.250854C14.1608 0.250854 15.903 0.250854 17.23 1.18585C17.611 1.45385 17.95 1.77385 18.24 2.13685C19.251 3.40785 19.251 5.03485 19.251 8.27385V10.8189C19.251 13.8738 19.251 15.4069 18.729 16.7229C17.895 18.8279 16.139 20.4849 13.911 21.2669C12.7097 21.6876 11.3248 21.7418 8.85332 21.7488C8.841 21.7499 8.82868 21.7509 8.81633 21.7518C8.80186 21.753 8.78781 21.7518 8.77406 21.749C8.43151 21.7499 8.0683 21.7499 7.68208 21.7499C5.80016 21.7499 4.85498 21.7499 4.01699 21.4559C2.65599 20.9779 1.582 19.9639 1.071 18.6749C0.75 17.8659 0.75 16.9689 0.75 15.1829V10.6703C0.75 10.2563 1.086 9.92028 1.5 9.92028C1.914 9.92028 2.25 10.2563 2.25 10.6703V15.1828C2.25 16.7787 2.25 17.5799 2.46499 18.1229C2.81599 19.0079 3.56301 19.7079 4.51301 20.0419C5.11001 20.2519 5.96899 20.2519 7.68096 20.2519C8.0634 20.2519 8.42207 20.2519 8.75907 20.2511C10.0619 20.1207 11.083 19.0176 11.083 17.681C11.083 17.5211 11.075 17.3488 11.0666 17.1666L11.0647 17.1261C11.0398 16.5815 11.0115 15.9649 11.165 15.389C11.388 14.557 12.043 13.902 12.875 13.679C13.4506 13.5256 14.0659 13.5537 14.6112 13.5787L14.6511 13.5805C14.8339 13.589 15.0067 13.597 15.167 13.597C16.5666 13.597 17.7102 12.4773 17.749 11.0869C17.749 10.9993 17.749 10.9104 17.749 10.82V8.27485C17.749 5.38385 17.749 3.93285 17.064 3.07185C16.864 2.82085 16.629 2.59885 16.364 2.41385C15.465 1.78085 13.9868 1.75286 10.9978 1.75286C10.5838 1.75286 10.2478 1.41686 10.2478 1.00286C10.2478 0.588855 10.5838 0.252855 10.9978 0.252855L10.9998 0.250854ZM17.6944 14.2184C16.9986 14.7683 16.1204 15.097 15.167 15.097C14.9762 15.097 14.7811 15.0883 14.5905 15.0799C14.5763 15.0792 14.5621 15.0786 14.548 15.078L14.5321 15.0772C14.0781 15.0565 13.6109 15.0351 13.263 15.129C12.948 15.213 12.699 15.462 12.615 15.777C12.5212 16.1291 12.5429 16.6017 12.5638 17.0587L12.564 17.062C12.574 17.266 12.583 17.476 12.583 17.681C12.583 18.617 12.2663 19.4805 11.7344 20.17C12.4126 20.1131 12.9462 20.0165 13.413 19.8529C15.23 19.2149 16.659 17.8729 17.333 16.1719C17.5375 15.6556 17.6415 15.0456 17.6944 14.2184Z\"\n fill=\"#161616\"\n />\n <path\n d=\"M3.58933 3.36016C3.39711 3.60489 3.19487 3.86201 3.03781 4.0236C2.74911 4.32062 2.27428 4.32737 1.97726 4.03867C1.68023 3.74996 1.67349 3.27514 1.96219 2.97811C2.05089 2.88685 2.19651 2.70504 2.40971 2.43362L2.45675 2.37369C2.64683 2.13155 2.8698 1.84749 3.09954 1.57636C3.34574 1.28581 3.62131 0.984013 3.89679 0.749391C4.03484 0.631816 4.19043 0.515847 4.35782 0.426268C4.51926 0.339874 4.74172 0.250854 5 0.250854C5.25829 0.250854 5.48074 0.339874 5.64218 0.426268C5.80957 0.515847 5.96517 0.631816 6.10321 0.749391C6.37869 0.984012 6.65426 1.28581 6.90047 1.57636C7.1302 1.84748 7.35317 2.13154 7.54324 2.37368L7.59029 2.43362C7.80349 2.70504 7.94911 2.88685 8.03781 2.97811C8.32651 3.27514 8.31977 3.74996 8.02274 4.03867C7.72572 4.32737 7.25089 4.32062 6.96219 4.0236C6.80513 3.86201 6.6029 3.60489 6.41067 3.36016L6.36595 3.30321C6.17304 3.05748 5.96675 2.79471 5.75606 2.54607L5.75 2.53893V9.00085C5.75 9.41507 5.41421 9.75085 5 9.75085C4.58579 9.75085 4.25 9.41507 4.25 9.00085V2.53893L4.24394 2.54607C4.03326 2.7947 3.82698 3.05746 3.63408 3.30318L3.58933 3.36016Z\"\n fill=\"#161616\"\n />\n </svg>\n );\n};\n\nexport default Icon;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nexport type FileCardStatus = \"loading\" | \"success\" | \"error\";\nimport xIcon from \"../../assets/images/x.png\";\nimport successIcon from \"../../assets/images/successFillCirecle.svg\";\nimport errorIcon from \"../../assets/images/errorFillCircle.svg\";\n\ntype Props = {\n status?: FileCardStatus;\n filename: React.ReactNode;\n helperText?: React.ReactNode;\n onDelete: Function;\n theme: Theme;\n};\n\nconst FileCard: React.FC<Props> = ({\n status,\n filename,\n helperText,\n onDelete,\n theme,\n}) => {\n return (\n <StyledComponent\n className={\"dgaui dgaui_fileCard \" + (status === \"error\" ? \"error\" : \"\")}\n $theme={theme}\n >\n <div className=\"dgaui_fileCardContent\">\n <div className={\"dgaui_fileCardFileName\"}>\n {status === \"loading\" && (\n <span className=\"dgaui_loader dgaui_fileCardIcon\" />\n )}\n {status === \"success\" && (\n <img className=\"dgaui_fileCardIcon\" src={successIcon} />\n )}\n {status === \"error\" && (\n <img className=\"dgaui_fileCardIcon\" src={errorIcon} />\n )}\n {filename}\n </div>\n\n <img\n src={xIcon}\n className=\"dgaui_fileCardCloseIcon\"\n onClick={() => onDelete()}\n />\n </div>\n {status === \"error\" && helperText && (\n <div className=\"dgaui_fileCardContentError\">{helperText}</div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(props) => props.$theme.direction};\n margin-top: 8px;\n margin-bottom: 8px;\n border-radius: 4px;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n height: 36px;\n width: 100%;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n box-sizing: border-box;\n font-weight: 500;\n\n .dgaui_fileCardContent {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px;\n\n .dgaui_loader {\n border: 2px solid ${(p) => p.$theme.textColor};\n border-bottom-color: transparent;\n border-radius: 50%;\n display: inline-block;\n box-sizing: border-box;\n animation: rotation 1s linear infinite;\n }\n\n @keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .dgaui_fileCardFileName {\n display: flex;\n align-items: center;\n }\n\n .dgaui_fileCardCloseIcon {\n cursor: pointer;\n }\n\n .dgaui_fileCardIcon {\n margin-inline-end: 8px;\n width: 20px;\n height: 20px;\n }\n }\n\n &.error {\n border: 1px solid ${(p) => p.$theme.palette.error[700]};\n height: auto;\n min-height: 36px;\n\n .dgaui_fileCardContentError {\n color: #ce281c;\n border-top: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n font-weight: 400;\n padding: 8px;\n }\n }\n`;\n\nexport default FileCard;\n","var img = \"data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0002 19.1667C15.0628 19.1667 19.1668 15.0626 19.1668 10C19.1668 4.93743 15.0628 0.833374 10.0002 0.833374C4.93755 0.833374 0.833496 4.93743 0.833496 10C0.833496 15.0626 4.93755 19.1667 10.0002 19.1667Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0002 19.1667C15.0628 19.1667 19.1668 15.0626 19.1668 10C19.1668 4.93743 15.0628 0.833374 10.0002 0.833374C4.93755 0.833374 0.833496 4.93743 0.833496 10C0.833496 15.0626 4.93755 19.1667 10.0002 19.1667ZM5.87534 9.26781C5.54991 9.59324 5.54991 10.1209 5.87534 10.4463L8.23237 12.8033C8.5578 13.1288 9.08544 13.1288 9.41088 12.8033L14.1249 8.0893C14.4504 7.76386 14.4504 7.23622 14.1249 6.91078C13.7995 6.58535 13.2718 6.58535 12.9464 6.91078L8.82162 11.0356L7.05385 9.26781C6.72842 8.94237 6.20078 8.94237 5.87534 9.26781Z' fill='%23067647'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0002 19.1666C15.0628 19.1666 19.1668 15.0626 19.1668 9.99998C19.1668 4.93737 15.0628 0.833313 10.0002 0.833313C4.93755 0.833313 0.833496 4.93737 0.833496 9.99998C0.833496 15.0626 4.93755 19.1666 10.0002 19.1666Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0002 19.1666C15.0628 19.1666 19.1668 15.0626 19.1668 9.99998C19.1668 4.93737 15.0628 0.833313 10.0002 0.833313C4.93755 0.833313 0.833496 4.93737 0.833496 9.99998C0.833496 15.0626 4.93755 19.1666 10.0002 19.1666ZM10.0002 5.83331C9.53992 5.83331 9.16683 6.20641 9.16683 6.66665V9.99998C9.16683 10.4602 9.53992 10.8333 10.0002 10.8333C10.4604 10.8333 10.8335 10.4602 10.8335 9.99998V6.66665C10.8335 6.20641 10.4604 5.83331 10.0002 5.83331ZM10.0002 12.5C9.53992 12.5 9.16683 12.8731 9.16683 13.3333C9.16683 13.7935 9.53992 14.1666 10.0002 14.1666C10.4604 14.1666 10.8335 13.7935 10.8335 13.3333C10.8335 12.8731 10.4604 12.5 10.0002 12.5Z' fill='%23B42318'/%3e%3c/svg%3e\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport Icon from \"./Icon\";\nimport Button from \"../Button\";\nimport FileCard from \"./FileCard\";\nimport { generateUniqueId } from \"../../lib/helpers\";\nimport { FilesListItem } from \"./FileUpload\";\n\nexport interface DGA_FileUploadProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onDrop\" | \"title\"\n > {\n title?: React.ReactNode;\n helperText?: React.ReactNode;\n uploadText?: React.ReactNode;\n onDrop: (fileList: FilesListItem[]) => void;\n filesList?: FilesListItem[];\n onFileListItemDeleted?: (file: FilesListItem) => void;\n submitButton?: React.ReactElement<typeof Button>;\n}\n\nconst DropZone: React.FC<DGA_FileUploadProps> = ({\n title,\n helperText,\n uploadText,\n onDrop,\n filesList,\n onFileListItemDeleted,\n submitButton,\n ...porps\n}) => {\n const theme = useTheme();\n const [isDraggingOver, setIsDraggingOver] = React.useState(false);\n const ref = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onDrophandler = (fileList?: FileList) => {\n if (fileList) {\n const result: FilesListItem[] = [];\n for (const file of fileList) {\n result.push({\n id: generateUniqueId(),\n file,\n });\n }\n onDrop(result);\n }\n };\n\n React.useEffect(() => {\n if (ref.current) {\n const dragOverhandler = (e: DragEvent) => {\n e.preventDefault();\n setIsDraggingOver(true);\n };\n const dragLeavhandler = () => {\n setIsDraggingOver(false);\n };\n const dropHandler = (e: DragEvent) => {\n e.preventDefault();\n setIsDraggingOver(false);\n onDrophandler(e.dataTransfer?.files);\n };\n\n ref.current.addEventListener(\"dragover\", dragOverhandler);\n ref.current.addEventListener(\"dragleave\", dragLeavhandler);\n ref.current.addEventListener(\"drop\", dropHandler);\n\n return () => {\n ref.current?.removeEventListener(\"dragover\", dragOverhandler);\n ref.current?.removeEventListener(\"dragend\", dragLeavhandler);\n ref.current?.removeEventListener(\"drop\", dropHandler);\n };\n }\n }, [ref]);\n\n return (\n <div className={\"dgaui dgaui_fileUploadDropZone\"}>\n <StyledComponent\n $theme={theme}\n ref={ref}\n className={isDraggingOver ? \"hovered\" : \"\"}\n onClick={() => inputRef.current?.click()}\n >\n <Icon />\n <span className=\"title\">\n {title ?? \"Drag and drop files here to upload\"}\n </span>\n <span className=\"helperText\">{helperText}</span>\n {submitButton && submitButton}\n {!submitButton && (\n <Button color=\"neutral\" style=\"neutral\" disabled={porps.disabled}>\n {uploadText ?? \"Browse Files\"}\n </Button>\n )}\n <input\n ref={inputRef}\n onChange={(e) => onDrophandler(e.target.files || undefined)}\n type=\"file\"\n {...porps}\n multiple={porps.multiple ? porps.multiple : true}\n />\n </StyledComponent>\n\n {filesList?.map((el) => (\n <FileCard\n theme={theme}\n key={el.id}\n status={el.status}\n filename={el.file?.name}\n helperText={el.helperText}\n onDelete={() => onFileListItemDeleted && onFileListItemDeleted(el)}\n />\n ))}\n </div>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(props) => props.$theme.direction};\n height: 220px;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n padding: 24px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n /* https://kovart.github.io/dashed-border-generator */\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' rx='4' ry='4' stroke='rgb(210,214,219)' stroke-width='2' stroke-dasharray='10%2c 8' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\");\n border-radius: 4px;\n cursor: pointer;\n box-sizing: border-box;\n\n input {\n flex: 0;\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .elementsImage {\n width: 24px;\n }\n .title {\n font-size: 16px;\n font-weight: 500;\n }\n .helperText {\n font-size: 12px;\n text-align: center;\n line-height: 20px;\n }\n .uploadText {\n color: ${(p) => p.$theme.palette.neutral[800]};\n }\n\n &:hover,\n &.hovered {\n background-color: ${(props) => props.$theme.palette.success[25]};\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' rx='4' ry='4' stroke='rgb(6,118,71)' stroke-width='2' stroke-dasharray='10%2c 8' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\");\n color: ${(p) => p.$theme.palette.success[700]};\n\n .elementsIcon path {\n fill: ${(p) => p.$theme.palette.success[700]};\n }\n }\n\n &:has(input:disabled) {\n pointer-events: none;\n color: ${(p) => p.$theme.palette.neutral[400]};\n .elementsIcon path {\n fill: ${(p) => p.$theme.palette.neutral[400]};\n }\n }\n`;\n\nexport default DropZone;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADMSURBVHgB7ZJBDoIwEEU7VfccwSt4A69giCslLAyu5QTgCeheQxOpK1OJJ8AjeB+lY6sxJg2I0SW8pJt25s1PM4R0tBDOc+efOmpflH0Vp0IWpAEcYLHNJGsU9m6UIcKQizypk/F9HiES56pr7TeoathkhzGFnk6J4WLuMlumEOMSYLScTS6NCQ2BNz0rhaGel6Ti6L/uU3HyjUzpQVWy2oTvpDKmAJFJSoGiljF91oHnxnU9H4UP6U6unlJCFGiZ9QU/YVbk23XqaAN3EK5V48n9BCMAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport arrowDownIcon from \"../../assets/images/chevron.png\";\nimport arrowDownIconGray from \"../../assets/images/chevronGray.png\";\nimport DropdownItem, { DGA_DropdownItemProps } from \"./DropdownItem\";\n\nexport const sizes = {\n medium: { w: 320, h: 32, p: 16, f: 14 },\n large: { w: 320, h: 40, p: 16, f: 16 },\n};\n\ntype State =\n | \"default\"\n | \"hovered\"\n | \"pressed\"\n | \"focused\"\n | \"read-only\"\n | \"disabled\";\ntype Style = \"default\" | \"filled\" | \"filled-darker\" | \"filled-lighter\";\n\ninterface DGA_DropdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\" | \"style\"> {\n label?: React.ReactNode;\n className?: string;\n name?: string;\n placeholder?: string;\n size?: \"large\" | \"medium\";\n state?: State;\n error?: boolean;\n filled?: boolean;\n style?: Style;\n dropdownStyle?: React.CSSProperties;\n value?: any;\n valueDisplay?: any;\n onChange?: (e: React.SyntheticEvent, value: any) => void;\n onOpen?: Function;\n multiple?: boolean;\n children: (React.ReactElement<typeof DropdownItem> | null | false)[];\n}\n\nconst Dropdown: React.FC<DGA_DropdownProps> = (props) => {\n const theme = useTheme();\n\n const {\n state,\n error,\n filled,\n style: styleVariant,\n onChange,\n children,\n onOpen,\n className,\n dropdownStyle,\n label,\n placeholder,\n value,\n valueDisplay,\n multiple,\n name,\n size,\n ...otherProps\n } = props;\n const [selectedOptionText, setSelectedOptionText] = React.useState(\"\");\n const [open, setOpen] = React.useState(false);\n const [itemsPosition, setItemsPosition] = React.useState({\n top: 0,\n left: 0,\n width: 0,\n });\n const ref = React.useRef<HTMLDivElement>(null);\n\n const sizeResult: \"large\" | \"medium\" = size ?? \"large\";\n\n // Default styling\n let fontColor = theme.textColor;\n let placeholderFontColor = theme.palette.neutral[500];\n let border = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[400]\n }`;\n let borderHovered = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let borderFocused = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n\n // Apply style styling\n if (styleVariant === \"filled\") {\n backgroundColor = theme.palette.neutral[50];\n border = `1px solid ${theme.palette.neutral[300]}`;\n }\n if (styleVariant === \"filled-darker\") {\n backgroundColor = theme.palette.neutral[100];\n border = `1px solid ${theme.palette.neutral[400]}`;\n }\n if (styleVariant === \"filled-lighter\") {\n backgroundColor = theme.palette.neutral[25];\n border = `1px solid ${theme.palette.neutral[200]}`;\n }\n\n // Apply filled styling\n if (filled) {\n backgroundColor = theme.palette.neutral[50];\n border = `1px solid ${theme.palette.neutral[300]}`;\n }\n\n // Apply state styling\n if (state === \"disabled\") {\n fontColor = theme.palette.neutral[400];\n border = `1px solid ${theme.palette.neutral[200]}`;\n borderHovered = `1px solid ${theme.palette.neutral[200]}`;\n borderFocused = `1px solid ${theme.palette.neutral[200]}`;\n backgroundColor = theme.palette.neutral[50];\n }\n if (state === \"read-only\") {\n backgroundColor = theme.palette.neutral[25];\n border = `1px solid ${theme.palette.neutral[300]}`;\n borderHovered = `1px solid ${theme.palette.neutral[300]}`;\n borderFocused = `1px solid ${theme.palette.neutral[300]}`;\n }\n if (state === \"hovered\") {\n border = borderHovered;\n }\n if (state === \"focused\") {\n border = borderFocused;\n shadowFocus = theme.elevation.shadows.md;\n }\n if (state === \"pressed\") {\n backgroundColor = theme.palette.neutral[100];\n border = borderFocused;\n }\n\n // Error state overrides\n if (error) {\n border = `1px solid ${theme.palette.error[700]}`;\n borderHovered = `1px solid ${theme.palette.error[700]}`;\n borderFocused = `1px solid ${theme.palette.error[700]}`;\n animationColor = theme.palette.error[700];\n }\n\n const calcPosition = () => {\n if (ref.current) {\n setItemsPosition({\n top: ref.current.offsetTop + ref.current.clientHeight,\n left: ref.current.offsetLeft,\n width: ref.current.clientWidth,\n });\n }\n };\n\n const onChangeHandler = (e: React.SyntheticEvent, newValue: any) => {\n if (!multiple) {\n onChange?.(e, newValue);\n }\n\n if (multiple) {\n let newValues = [];\n if (value && Array.isArray(value) && value.includes(newValue)) {\n newValues = value.filter((v: any) => v !== newValue);\n } else {\n newValues = [...(value || []), newValue];\n }\n onChange?.(e, newValues);\n }\n };\n\n const newChildren = React.Children.map(children, (child) => {\n if (child) {\n return React.cloneElement(child, {\n ...child.props,\n onClick: onChangeHandler,\n selected:\n (child.props as unknown as DGA_DropdownItemProps)?.selected ||\n value === (child.props as unknown as DGA_DropdownItemProps)?.value ||\n (Array.isArray(value) &&\n value.includes(\n (child.props as unknown as DGA_DropdownItemProps).value\n )),\n multiple,\n } as DGA_DropdownItemProps as any);\n }\n });\n\n React.useEffect(() => {\n let newSelectedOptionText = \"\";\n\n if (multiple) {\n newChildren?.map((comp) => {\n if ((comp.props as any as DGA_DropdownItemProps).selected) {\n newSelectedOptionText = newSelectedOptionText.concat(\n ((comp.props as any as DGA_DropdownItemProps).children as string) +\n \", \"\n );\n }\n });\n // Remove the last comma and space\n newSelectedOptionText = newSelectedOptionText.slice(\n 0,\n newSelectedOptionText.length - 2\n );\n } else {\n newChildren?.map((comp) => {\n if ((comp.props as any as DGA_DropdownItemProps).selected) {\n newSelectedOptionText = (comp.props as any as DGA_DropdownItemProps)\n .children as string;\n }\n });\n }\n\n setSelectedOptionText(newSelectedOptionText);\n }, [newChildren, value]);\n\n // popover\n React.useEffect(() => {\n if (ref.current) {\n const resizeHandler = () => {\n if (ref.current) {\n calcPosition();\n }\n };\n\n const clickHandler = (e: MouseEvent) => {\n // Clicked outside\n if (!ref.current?.contains(e.target as any)) {\n // Close dropdown if clicked outside Only if not multiple\n // If multiple, close only if clicked outside the dropdown items\n if (\n !multiple ||\n (multiple &&\n e.target &&\n (e.target as any).classList &&\n !(e.target as any).classList.contains(\"dgaui_dropdownItem\"))\n ) {\n setOpen(false);\n }\n }\n };\n\n window.addEventListener(\"resize\", resizeHandler);\n window.addEventListener(\"click\", clickHandler);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler);\n };\n }\n }, [ref]);\n\n // popover positioner\n React.useEffect(() => {\n if (open) {\n calcPosition();\n }\n if (open && onOpen) {\n onOpen();\n }\n }, [open, onOpen]);\n\n return (\n <StyledComponent\n style={dropdownStyle}\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_dropdown\", className)}\n {...otherProps}\n >\n {label && (\n <label\n className={\n state === \"disabled\"\n ? \"disabled\"\n : state === \"read-only\"\n ? \"readonly\"\n : undefined\n }\n >\n {label}\n </label>\n )}\n <StyledDiv\n ref={ref}\n onClick={() => {\n if (state !== \"disabled\" && state !== \"read-only\") {\n setOpen((prevState) => !prevState);\n }\n }}\n className={\n \"dgaui_dropdownContainer \" +\n (state === \"disabled\" ? \"disabled\" : \"\") +\n (state === \"read-only\" ? \" readonly\" : \"\")\n }\n $customStyle={{\n theme,\n direction: theme.direction,\n minWidth: sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n padding: sizes[sizeResult].p,\n fontSize: sizes[sizeResult].f,\n placeholderFontColor,\n fontColor,\n border,\n borderHovered,\n borderFocused,\n backgroundColor,\n shadowFocus,\n }}\n >\n {placeholder && !valueDisplay && !selectedOptionText && (\n <div className=\"placeholder\">{placeholder}</div>\n )}\n <div className=\"valueDisplay\">{valueDisplay || selectedOptionText}</div>\n </StyledDiv>\n\n <div\n className={\"dgaui_dropdownItems\" + (open ? \" slide-bottom\" : \"\")}\n style={{ ...itemsPosition }}\n >\n {newChildren}\n </div>\n\n <StyledComponentSpan\n $bgColor={animationColor}\n className={\"dgaui_dropdownSeparator\" + (open ? \" open\" : \"\")}\n />\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n flex-direction: column;\n color: ${(p) => p.$theme.textColor};\n width: 100%;\n cursor: pointer;\n\n label {\n text-align: start;\n margin-bottom: 8px;\n &.disabled {\n color: #9da4ae;\n }\n &.readonly {\n color: ${(p) => p.$theme.palette.neutral[600]};\n }\n }\n\n .dgaui_dropdownItems {\n position: absolute;\n top: 35px;\n left: 0;\n z-index: 1400;\n background-color: #fff;\n width: 100%;\n opacity: 0;\n max-height: 300px;\n overflow-y: scroll;\n pointer-events: none;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-radius: 4px;\n padding: 8px;\n box-sizing: border-box;\n ${(p) => p.$theme.elevation.shadows.xl}\n cursor: pointer;\n\n &.slide-bottom {\n animation: slide-bottom 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n pointer-events: all;\n }\n @keyframes slide-bottom {\n 0% {\n transform: translateZ(0) translateY(0);\n opacity: 0;\n }\n 100% {\n transform: translateZ(160px) translateY(8px);\n opacity: 1;\n }\n }\n }\n\n &:has(.dgaui_dropdownSeparator.open) {\n .dgaui_dropdownContainer:before {\n top: 20%;\n transform: rotateZ(180deg);\n }\n }\n &:has(.dgaui_dropdownContainer:active) {\n .dgaui_dropdownSeparator {\n transform: scaleX(0.5) translateY(-2.5px);\n }\n }\n &:has(.dgaui_dropdownContainer:disabled) {\n .dgaui_dropdownSeparator {\n opacity: 0;\n }\n }\n\n .dgaui_checkboxContainer {\n pointer-events: none;\n }\n`;\n\nconst StyledDiv = styled.div<{\n $customStyle: {\n theme: Theme;\n direction: string;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: string;\n border: string;\n shadowFocus: string;\n placeholderFontColor: string;\n borderHovered: string;\n borderFocused: string;\n backgroundColor: string;\n };\n}>`\n box-sizing: border-box;\n outline: none;\n direction: ${(props) => props.$customStyle.direction};\n border-radius: 4px;\n width: 100%;\n height: ${(props) => props.$customStyle.height}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n border: ${(props) => props.$customStyle.border};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n padding: 0 ${(props) => props.$customStyle.padding}px;\n position: relative;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n &:-ms-expand {\n display: none; /* Hide the default arrow in Internet Explorer 10 and Internet Explorer 11 */\n }\n\n input {\n opacity: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .valueDisplay {\n height: 100%;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n width: 80%;\n text-overflow: ellipsis;\n\n /* vertical middle align */\n line-height: ${(props) => props.$customStyle.height}px;\n }\n\n .placeholder {\n height: 100%;\n width: 100%;\n display: flex;\n align-items: center;\n color: ${(p) => p.$customStyle.theme.palette.neutral[400]};\n font-size: 16px;\n }\n\n &:before {\n content: url(${arrowDownIcon});\n display: block;\n top: 30%;\n inset-inline-end: 8px;\n position: absolute;\n transition: all 0.1s;\n width: 20px;\n height: 20px;\n }\n\n &:focus-within {\n ${(props) => props.$customStyle.shadowFocus};\n border: ${(props) => props.$customStyle.borderFocused};\n }\n\n &:hover {\n border: ${(props) => props.$customStyle.borderHovered};\n }\n &.disabled {\n pointer-events: none;\n &:before {\n content: url(${arrowDownIconGray});\n }\n }\n &.readonly {\n pointer-events: none;\n &:before {\n content: url(${arrowDownIconGray});\n }\n }\n`;\n\nconst StyledComponentSpan = styled.span<{ $bgColor: string }>`\n height: 2px;\n background: ${(props) => props.$bgColor};\n display: block;\n transform: scaleX(0) translateY(-2.5px);\n transform-origin: 50%;\n transition: all 0.2s;\n border-bottom-left-radius: 50px;\n border-bottom-right-radius: 50px;\n z-index: 1;\n\n &.open {\n transform: scaleX(0.995) translateY(-2.5px);\n }\n`;\n\nexport default Dropdown;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport Button from \"../Button\";\nimport FileCard, { FileCardStatus } from \"./FileCard\";\nimport { generateUniqueId } from \"../../lib/helpers\";\n\nexport type FilesListItem = {\n file: File;\n id: string;\n status?: FileCardStatus;\n helperText?: React.ReactNode;\n};\n\nexport interface DGA_FileUploadProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onDrop\" | \"title\"\n > {\n title?: React.ReactNode;\n helperText?: React.ReactNode;\n uploadText?: React.ReactNode;\n onDrop: (fileList: FilesListItem[]) => void;\n filesList?: FilesListItem[];\n onFileListItemDeleted?: (file: FilesListItem) => void;\n submitButton?: React.ReactElement<typeof Button>;\n}\n\nconst FileUpload: React.FC<DGA_FileUploadProps> = ({\n title,\n helperText,\n uploadText,\n onDrop,\n filesList,\n onFileListItemDeleted,\n submitButton,\n ...porps\n}) => {\n const theme = useTheme();\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onDrophandler = (fileList?: FileList) => {\n if (fileList) {\n const result: FilesListItem[] = [];\n for (const file of fileList) {\n result.push({\n id: generateUniqueId(),\n file,\n });\n }\n onDrop(result);\n }\n };\n\n return (\n <div className={\"dgaui dgaui_fileUploadSingle\"}>\n <StyledComponent $theme={theme} onClick={() => inputRef.current?.click()}>\n <span className=\"title\">{title}</span>\n <span className=\"helperText\">{helperText}</span>\n {submitButton && submitButton}\n {!submitButton && (\n <Button\n color=\"neutral\"\n style=\"neutral\"\n disabled={porps.disabled}\n type=\"button\"\n >\n {uploadText}\n </Button>\n )}\n <input\n ref={inputRef}\n onChange={(e) => onDrophandler(e.target.files || undefined)}\n type=\"file\"\n {...porps}\n multiple={porps.multiple ? porps.multiple : false}\n />\n </StyledComponent>\n\n {filesList?.map((el) => (\n <FileCard\n theme={theme}\n key={el.id}\n status={el.status}\n filename={el.file.name}\n helperText={el.helperText}\n onDelete={() => onFileListItemDeleted && onFileListItemDeleted(el)}\n />\n ))}\n </div>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(props) => props.$theme.direction};\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n input {\n flex: 0;\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .title {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 16px;\n }\n .helperText {\n font-size: 12px;\n text-align: center;\n line-height: 20px;\n margin-bottom: 16px;\n color: #64748b;\n }\n\n &:has(input:disabled) {\n pointer-events: none;\n color: ${(p) => p.$theme.palette.neutral[400]};\n }\n`;\n\nexport default FileUpload;\n","import React from \"react\";\n\nconst useScreenSizes = (mobileThreshold = 768, tabletThreshold = 1024) => {\n const [result, setResult] = React.useState({\n isMobile: false,\n isTablet: false,\n isDesktop: true,\n });\n\n React.useEffect(() => {\n const resizeHandler = () =>\n setResult({\n isMobile: window.innerWidth <= mobileThreshold,\n isTablet:\n window.innerWidth > mobileThreshold &&\n window.innerWidth <= tabletThreshold,\n isDesktop: window.innerWidth > tabletThreshold,\n });\n resizeHandler();\n\n window.addEventListener(\"resize\", resizeHandler);\n return () => window.removeEventListener(\"resize\", resizeHandler);\n }, []);\n\n return result;\n};\n\nexport default useScreenSizes;\n","import React, { HTMLAttributes } from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\nimport useTheme from \"../../lib/useTheme\";\n\ninterface DGA_GridProps extends HTMLAttributes<HTMLDivElement> {\n container?: boolean;\n sm?: number;\n md?: number;\n lg?: number;\n rowSpacing?: number;\n columnSpacing?: number;\n children: React.ReactNode;\n}\n\nconst Grid: React.FC<DGA_GridProps> = ({\n container,\n sm,\n md,\n lg,\n rowSpacing = 0,\n columnSpacing = 0,\n children,\n ...props\n}) => {\n const theme = useTheme();\n const { isMobile, isTablet, isDesktop } = useScreenSizes();\n\n const getColumnSpan = () => {\n let result = 12; // Default to full width\n if (isMobile && sm) {\n result = sm;\n }\n if (isTablet) {\n result = md || sm!;\n }\n\n if (isDesktop) {\n result = lg || md || sm!;\n }\n return result;\n };\n\n if (container) {\n const newChildren = addSpacingPropsToChidren(\n children,\n columnSpacing,\n rowSpacing\n );\n\n return (\n <StyledComponentContainer\n {...props}\n $theme={theme}\n $rowSpacing={rowSpacing}\n $columnSpacing={columnSpacing}\n className={mergeStrings(\"dgaui dgaui_gridContainer\", props.className)}\n >\n {newChildren}\n </StyledComponentContainer>\n );\n }\n\n return (\n <StyledComponentItem\n {...props}\n $theme={theme}\n $columnSpan={getColumnSpan()}\n $columnSpacing={columnSpacing}\n className={mergeStrings(\"dgaui dgaui_gridItem\", props.className)}\n >\n {children}\n </StyledComponentItem>\n );\n};\n\nconst StyledComponentContainer = styled.div<{\n $theme: Theme;\n $columnSpacing: number;\n $rowSpacing: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n gap: ${(p) => p.$rowSpacing}px ${(p) => p.$columnSpacing}px;\n`;\n\nconst StyledComponentItem = styled.div<{\n $theme: Theme;\n $columnSpan: number;\n $columnSpacing: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n grid-column: span ${(p) => p.$columnSpan};\n`;\n\nexport default Grid;\n\n// a function that take children and return new children with columnSpacing and rowSpacing props, and if a child is a fragment, it should recursivly call itself on the children of the fragment\nconst addSpacingPropsToChidren = (\n children: React.ReactNode,\n columnSpacing: number,\n rowSpacing: number\n): React.ReactNode => {\n const newChildren = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n return addSpacingPropsToChidren(\n child.props.children,\n columnSpacing,\n rowSpacing\n );\n } else {\n return React.cloneElement(child, { columnSpacing, rowSpacing } as any);\n }\n }\n\n return child;\n });\n\n return newChildren;\n};\n","import neutralIcon from \"../../assets/images/circle_neutral.png\";\nimport successIcon from \"../../assets/images/circle_success.png\";\nimport infoIcon from \"../../assets/images/circle_info.png\";\nimport warningIcon from \"../../assets/images/circle_warning.png\";\nimport errorIcon from \"../../assets/images/circle_error.png\";\n\nexport type InlineAlertColor = {\n icon: string;\n vLine: string;\n font: string;\n bg: string;\n border: string;\n};\n\nconst result = (them: Theme): { [k in ThemeColorName & \"destructive\"]: InlineAlertColor } => ({\n neutral: {\n icon: neutralIcon,\n vLine: them.palette.neutral[200],\n border: them.palette.neutral[200],\n font: them.palette.neutral[800],\n bg: them.palette.neutral[25],\n },\n destructive: {\n icon: errorIcon,\n vLine: them.palette.error[600],\n border: them.palette.error[200],\n font: them.palette.error[700],\n bg: them.palette.error[25],\n },\n warning: {\n icon: warningIcon,\n vLine: them.palette.warning[600],\n border: them.palette.warning[200],\n font: them.palette.warning[700],\n bg: them.palette.warning[25],\n },\n success: {\n icon: successIcon,\n vLine: them.palette.success[600],\n border: them.palette.success[200],\n font: them.palette.success[700],\n bg: them.palette.success[25],\n },\n info: {\n icon: infoIcon,\n vLine: them.palette.info[600],\n border: them.palette.neutral[200],\n font: them.palette.info[700],\n bg: them.palette.info[25],\n },\n});\n\nexport default result;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\n// assets\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport colors, { InlineAlertColor } from \"./colors\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\n\nexport type InlineAlertType = ThemeColorName & \"destructive\";\nexport interface DGA_InlineAlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n leadText: React.ReactNode;\n helpText?: React.ReactNode;\n type?: InlineAlertType;\n closeButton?: boolean;\n actions?: React.ReactNode;\n onClose?: Function;\n background?: \"white\" | \"color\";\n}\n\nconst InlineAlert: React.FC<DGA_InlineAlertProps> = ({\n leadText,\n helpText,\n type = \"neutral\",\n actions,\n closeButton,\n onClose,\n background,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const colorsResult: InlineAlertColor = colors(theme)[type as InlineAlertType];\n const isColored = background === \"color\";\n const isMinimal = !helpText && !actions;\n\n return (\n <StyledComponent\n $theme={theme}\n $colors={colorsResult}\n $isColored={isColored}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_inlineAlert \" +\n (screenSizes.isMobile ? \" mobile \" : \"\") +\n (isMinimal ? \" minimal \" : \"\"),\n props.className\n )}\n >\n <div className=\"icon\" />\n <div className=\"content\">\n <div className=\"leadText\">{leadText}</div>\n {helpText && <div className=\"helpText\">{helpText}</div>}\n {actions && <div className=\"actions\">{actions}</div>}\n </div>\n {closeButton && <div className=\"close\" onClick={() => onClose?.()} />}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $colors: InlineAlertColor;\n $isColored: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n display: flex;\n position: relative;\n padding: 16px 24px;\n background-color: ${({ $colors, $isColored }) => ($isColored ? $colors.bg : \"#fff\")};\n border-radius: 8px;\n border: 1px solid\n ${({ $colors, $isColored, $theme }) => ($isColored ? $colors.border : $theme.palette.neutral[300])};\n\n box-sizing: border-box;\n overflow: hidden;\n\n &::before {\n content: \"\";\n display: block;\n width: 8px;\n height: 100%;\n position: absolute;\n inset-inline-start: 0;\n top: 0;\n background-color: ${(p) => p.$colors.vLine};\n }\n\n .icon {\n min-width: 40px;\n height: 40px;\n background-image: url(${(p) => p.$colors.icon});\n background-repeat: no-repeat;\n background-size: contain;\n margin-inline-end: 12px;\n }\n .content {\n width: 100%;\n\n .leadText {\n font-size: 16px;\n font-weight: 600;\n min-height: 40px;\n display: flex;\n align-items: center;\n color: ${({ $colors, $isColored, $theme }) =>\n $isColored ? $colors.font : $theme.palette.neutral[800]};\n }\n .helpText {\n font-size: 14px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n margin-top: 8px;\n }\n .actions {\n margin-top: 16px;\n\n button {\n margin-inline-end: 8px;\n }\n }\n }\n .close {\n margin-inline-start: 12px;\n cursor: pointer;\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n min-width: 20px;\n height: 20px;\n margin-top: 10px;\n &:hover {\n transform: scale(1.1);\n }\n }\n\n &.mobile {\n flex-direction: column;\n\n &::before {\n width: 100%;\n height: 8px;\n position: absolute;\n top: 0;\n }\n .icon {\n margin-bottom: 16px;\n }\n .content {\n .title {\n margin-inline-end: 16px;\n }\n .actionButtons {\n display: flex;\n flex-direction: column;\n\n button {\n margin-inline-end: 0;\n margin-bottom: 8px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n .close {\n margin-inline-start: 0;\n position: absolute;\n inset-inline-end: 16px;\n top: 16px;\n }\n }\n\n &.minimal {\n padding: 16px 24px;\n\n &.mobile {\n padding-top: 14px;\n flex-direction: row;\n align-items: center;\n\n .icon {\n margin-bottom: 0;\n }\n .close {\n position: initial;\n margin-top: 0;\n margin-inline-start: 16px;\n }\n }\n }\n`;\n\nexport default InlineAlert;\n","import React from \"react\";\nimport colors, { LinkColor } from \"./colors\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ninterface DGA_LinkProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"style\"> {\n size?: \"medium\" | \"small\";\n style?: \"primary\" | \"neutral\" | \"on-color\";\n inline?: boolean;\n disabled?: boolean;\n children: React.ReactNode;\n}\n\nexport const sizes = {\n medium: { f: 16, lh: 24 },\n small: { f: 14, lh: 20 },\n};\n\nconst Link: React.FC<DGA_LinkProps> = ({\n children,\n style = \"primary\",\n size = \"medium\",\n inline,\n disabled,\n ...props\n}) => {\n const theme = useTheme();\n const focusBorderColor = style === \"on-color\" ? \"#FFF\" : theme.textColor;\n const selectedColors = colors(theme)[style];\n\n return (\n <StyledComponent\n $theme={theme}\n $fontSize={sizes[size].f}\n $lineHeight={sizes[size].lh}\n $focusBorderColor={focusBorderColor}\n $style={selectedColors}\n $inline={inline}\n $disabled={disabled}\n {...props}\n href={!disabled ? props.href : \"\"}\n className={mergeStrings(\"dgaui dgaui_link\", props.className)}\n >\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.a<{\n $theme: Theme;\n $fontSize: number;\n $lineHeight: number;\n $focusBorderColor: string;\n $inline?: boolean;\n $disabled?: boolean;\n $style: LinkColor;\n}>`\n font-size: ${(p) => p.$fontSize}px;\n line-height: ${(p) => p.$lineHeight}px;\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.default)};\n text-decoration: ${(p) => (p.$inline ? \"underline\" : \"none\")};\n text-underline-offset: 2px;\n transition: color 0.2s;\n cursor: ${(p) => (p.$disabled ? \"default\" : \"pointer\")};\n ${(p) => (p.$disabled ? \"pointer-events: none;\" : \"\")}\n outline: none;\n box-sizing: border-box;\n\n &:visited {\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.visited)};\n }\n &:focus {\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.default)};\n border: 2px solid\n ${(p) => (p.$disabled ? \"transparent\" : p.$theme.textColor)};\n }\n &:active {\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.active)};\n }\n &:hover {\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.hovered)};\n }\n`;\n\nexport default Link;\n","import React from \"react\";\nimport colors, { ListColor } from \"./colors\";\nimport styled, { css } from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ninterface DGA_LinkProps extends Omit<React.OlHTMLAttributes<HTMLOListElement>, \"style\" | \"type\"> {\n style?: \"primary\" | \"neutral\" | \"on-color\";\n type?: \"ordered-list\" | \"unordered-list\" | \"with-icon\";\n level?: 1 | 2 | \"1\" | \"2\";\n iconUrl?: string;\n children: React.ReactNode;\n}\n\nconst List: React.FC<DGA_LinkProps> = ({\n children,\n style = \"primary\",\n type = \"ordered-list\",\n level = 1,\n iconUrl = \"\",\n ...props\n}) => {\n const theme = useTheme();\n const selectedColors = colors(theme)[style];\n\n const Result = type === \"ordered-list\" ? StyledOlComponent : StyledUlComponent;\n\n return (\n <Result\n $theme={theme}\n $colors={selectedColors}\n $listStyleType={getListStyleType(type, level)}\n {...props}\n className={mergeStrings(\"dgaui dgaui_list\", props.className)}\n type={type === \"ordered-list\" && +level === 1 ? \"1\" : \"a\"}\n $iconUrl={iconUrl}\n $level={+level}\n $ol={type === \"ordered-list\"}\n >\n {children}\n </Result>\n );\n};\n\nconst StyledUlComponent = styled.ul<{\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n}>`\n ${(p) => getCss(p)};\n`;\n\nconst StyledOlComponent = styled.ol<{\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n $ol: boolean;\n}>`\n ${(p) => getCss(p)};\n`;\n\nexport default List;\n\nconst getCss = (p: {\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n $ol?: boolean;\n}) => {\n return css`\n direction: ${p.$theme.direction};\n color: ${p.$colors.text};\n font-size: 16px;\n padding-inline-start: ${p.$level === 1 ? 0 : \"\"};\n\n ${p.$listStyleType ? \"list-style-type: \" + p.$listStyleType : \"\"};\n\n ${p.$listStyleType === \"decimal\" && p.$level === 1 && p.$ol\n ? css`\n list-style-type: none; /* Remove default numbering */\n counter-reset: item; /* Initialize the counter */\n\n li {\n display: flex;\n align-items: center;\n position: relative;\n\n &::before {\n content: counter(item) \"- \";\n counter-increment: item;\n\n height: 16px;\n width: 16px;\n position: absolute;\n top: 0;\n inset-inline-start: -24px;\n }\n &::marker {\n content: \"\";\n }\n }\n `\n : \"\"};\n\n ${p.$listStyleType === \"with-icon\" && p.$iconUrl\n ? css`\n li {\n display: flex;\n align-items: center;\n position: relative;\n\n &::before {\n content: url(${p.$iconUrl});\n height: 16px;\n width: 16px;\n position: absolute;\n top: 2px;\n inset-inline-start: -24px;\n }\n &::marker {\n content: \"\";\n }\n }\n `\n : \"\"};\n `;\n};\n\nconst getListStyleType = (\n type: \"ordered-list\" | \"unordered-list\" | \"with-icon\",\n anyLevel: string | number\n) => {\n const level = +anyLevel;\n\n switch (type) {\n case \"ordered-list\": {\n if (level === 1) {\n return \"decimal\";\n }\n if (level === 2) {\n return \"\";\n }\n return \"\";\n }\n case \"unordered-list\": {\n if (level === 1) {\n return `\"- \"`;\n }\n if (level === 2) {\n return \"disc\";\n }\n return \"\";\n }\n default: {\n return \"with-icon\";\n }\n }\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport getLoadingColors from \"./colors\";\nimport { COLORS } from \"../../lib/constants\";\n\ntype DGA_LoadingSize =\n | \"xxSmall\"\n | \"xSmall\"\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xLarge\"\n | \"xxLarge\";\n\nexport const sizes: { [k in DGA_LoadingSize]: { wh: number; b: number } } = {\n xxSmall: { wh: 20, b: 2 },\n xSmall: { wh: 24, b: 2 },\n small: { wh: 28, b: 2 },\n medium: { wh: 32, b: 3 },\n large: { wh: 36, b: 3 },\n xLarge: { wh: 40, b: 3 },\n xxLarge: { wh: 44, b: 4 },\n};\n\ninterface FGA_LoadingProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n style?: \"primary\" | \"neutral\" | \"on-color\";\n size?: DGA_LoadingSize;\n className?: string;\n loadingStyle?: React.CSSProperties;\n}\n\nconst Loading: React.FC<FGA_LoadingProps> = ({\n style = \"primary\",\n size = \"medium\",\n className,\n loadingStyle,\n ...props\n}) => {\n const theme = useTheme();\n\n const loadingColors = getLoadingColors(theme);\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $customStyle={{\n color: loadingColors[style],\n size: sizes[size],\n }}\n $style={style}\n className={mergeStrings(\"dgaui dgaui_loading\", className)}\n />\n );\n};\n\nexport default Loading;\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $customStyle: {\n color: string;\n size: { wh: number; b: number };\n };\n $style: \"primary\" | \"neutral\" | \"on-color\";\n}>`\n width: ${(p) => p.$customStyle.size.wh}px;\n height: ${(p) => p.$customStyle.size.wh}px;\n border: ${(p) => p.$customStyle.size.b}px solid\n ${(p) =>\n p.$style === \"on-color\" ? COLORS.white30 : p.$theme.palette.neutral[100]};\n border-bottom-color: ${(p) => p.$customStyle.color};\n border-radius: 50%;\n display: inline-block;\n box-sizing: border-box;\n animation: rotation 1s linear infinite;\n\n @keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../../lib/useTheme\";\nimport { mergeStrings } from \"../../../lib/helpers\";\n\ninterface DGA_MenuItemProps extends React.HTMLAttributes<HTMLDivElement> {\n disabled?: boolean;\n icon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst MenuItem: React.FC<DGA_MenuItemProps> = ({\n icon,\n trailIcon,\n children,\n disabled,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_menuItem\" + (disabled ? \" disabled\" : \"\"),\n props.className\n )}\n tabIndex={0}\n >\n <div className=\"itemContent\">\n {icon && <div className=\"icon\">{icon}</div>}\n <div className=\"content\">{children}</div>\n </div>\n {trailIcon && <div className=\"trailIcon\">{trailIcon}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n min-width: 225px;\n height: 40px;\n padding: 8px;\n display: flex;\n align-items: center;\n transition: all 0.2s;\n border-radius: 4px;\n border: 2px solid transparent;\n\n .itemContent {\n flex: 1;\n display: flex;\n align-items: center;\n\n .icon {\n margin-inline-end: 8px;\n display: flex;\n }\n .content {\n flex: 1;\n color: ${(p) => p.$theme.textColor};\n font-size: 16px;\n }\n }\n\n .trailIcon {\n margin-inline-start: 8px;\n }\n\n &:hover {\n background: ${(p) => p.$theme.palette.neutral[100]};\n }\n &:active {\n background: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n }\n &.disabled {\n pointer-events: none;\n filter: grayscale(1);\n .itemContent {\n .content {\n color: ${(p) => p.$theme.palette.neutral[400]};\n }\n }\n }\n`;\n\nexport default MenuItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../../lib/useTheme\";\nimport { mergeStrings } from \"../../../lib/helpers\";\n\ninterface DGA_MenuItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n title: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst MenuItemGroup: React.FC<DGA_MenuItemProps> = ({\n title,\n children,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_menuItemGroup\", props.className)}\n tabIndex={0}\n >\n <div className=\"groupTitle\">{title}</div>\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n border-bottom: 1px solid #cbd5e1;\n padding-bottom: 8px;\n margin-bottom: 8px;\n\n &:last-child {\n border-bottom: none;\n }\n\n .groupTitle {\n font-size: 12px;\n font-weight: 700;\n color: ${(p) => p.$theme.palette.neutral[800]};\n margin-bottom: 12px;\n padding: 8px;\n padding-bottom: 0;\n }\n`;\n\nexport default MenuItemGroup;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\nimport Button from \"../Button\";\n\ninterface DGA_ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: React.ReactNode;\n title?: React.ReactNode;\n body?: React.ReactNode;\n align?: \"start\" | \"center\";\n size?: \"auto\" | 600;\n open: boolean;\n onClose?: Function;\n footerStartButtons?: React.ReactElement<typeof Button>[];\n footerEndButtons?: React.ReactElement<typeof Button>[];\n}\n\nconst Modal: React.FC<DGA_ModalProps> = ({\n icon,\n title,\n body,\n align,\n size = 600,\n open,\n onClose,\n footerStartButtons,\n footerEndButtons,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const ref = React.useRef(null);\n\n if (!open) return null;\n\n return (\n <>\n <Backdrop className={\"dgaui dgaui_modal_backdrop\"} onClick={() => onClose?.()} />\n\n <StyledComponent\n $theme={theme}\n $align={align === \"start\" ? \"flex-start\" : \"center\"}\n $size={size}\n className={mergeStrings(\"dgaui dgaui_modal \" + props.className)}\n >\n <div\n {...props}\n ref={ref}\n className={\"dgaui_modalContent\" + (screenSizes.isMobile ? \" dgaui_modalMobile\" : \"\")}\n >\n <div className=\"dgaui_modalClose\" onClick={() => onClose?.()} />\n\n {(title || icon) && (\n <div className=\"dgaui_modalHeader\">\n {icon && <div className=\"dgaui_modalHeaderIcon\">{icon}</div>}\n {title && <div className=\"dgaui_modalHeaderTitle\">{title}</div>}\n </div>\n )}\n\n {body && <div className=\"dgaui_modalHeaderBody dgaui_hiddenScrollbar\">{body}</div>}\n\n {(!!footerStartButtons || !!footerEndButtons) && (\n <div\n className={\n \"dgaui_modalHeaderFooter \" + (!footerStartButtons && !!footerEndButtons ? \"onlyEnd\" : \"\")\n }\n >\n {footerStartButtons && <div className=\"dgaui_modalHeaderFooterStart\">{footerStartButtons}</div>}\n {footerEndButtons && <div className=\"dgaui_modalHeaderFooterEnd\">{footerEndButtons}</div>}\n </div>\n )}\n </div>\n </StyledComponent>\n </>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $align?: string;\n $size?: \"auto\" | 600;\n}>`\n position: fixed;\n z-index: 2401;\n opacity: 0;\n animation: opacity 0.225s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: center;\n justify-self: center;\n inset: 0;\n\n &.dgaui_modal {\n opacity: 1;\n }\n\n @keyframes opacity {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n }\n\n .dgaui_modalContent {\n height: fit-content;\n direction: ${(p) => p.$theme.direction};\n width: ${(p) => (p.$size === \"auto\" ? p.$size : p.$size + \"px\")};\n padding: 24px;\n background-color: #fff;\n border-radius: 8px;\n ${(p) => p.$theme.elevation.shadows[\"3xl\"]};\n position: relative;\n\n .dgaui_modalClose {\n position: absolute;\n top: 20px;\n inset-inline-end: 20px;\n cursor: pointer;\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n width: 20px;\n height: 20px;\n\n &:hover {\n transform: scale(1.1);\n }\n }\n\n .dgaui_modalHeader {\n display: flex;\n flex-direction: column;\n align-items: ${(p) => p.$align};\n\n .dgaui_modalHeaderIcon {\n height: 40px;\n margin-bottom: 8px;\n }\n .dgaui_modalHeaderTitle {\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n color: ${({ $theme }) => $theme.palette.neutral[800]};\n }\n }\n\n .dgaui_modalHeaderBody {\n padding: 16px 0;\n padding-bottom: 0;\n font-size: 14px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n display: flex;\n flex-direction: column;\n align-items: ${(p) => p.$align};\n text-align: ${(p) => p.$align};\n max-height: calc(100vh - 300px);\n overflow: auto;\n }\n\n .dgaui_modalHeaderFooter {\n padding: 0;\n margin-top: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n &.onlyEnd {\n display: flex;\n justify-content: flex-end;\n }\n\n .dgaui_modalHeaderFooterEnd {\n display: flex;\n justify-content: flex-end;\n }\n\n button {\n margin-inline-end: 8px;\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n }\n\n &.dgaui_modalMobile {\n width: auto;\n margin: 0 16px;\n\n .dgaui_modalHeaderBody {\n max-height: calc(100vh - 400px);\n }\n\n .dgaui_modalHeaderFooter {\n flex-direction: column;\n .dgaui_modalHeaderFooterStart,\n .dgaui_modalHeaderFooterEnd {\n display: inline-flex;\n width: 100%;\n }\n button {\n width: 100%;\n margin-inline-end: 0;\n margin-bottom: 4px;\n }\n }\n }\n }\n`;\n\nconst Backdrop = styled.div`\n position: fixed;\n z-index: 2400;\n background-color: rgba(0, 0, 0, 0.5);\n inset: 0;\n`;\n\nexport default Modal;\n","// assets\nimport info from \"./icons/info.png\";\nimport error from \"./icons/error.png\";\nimport neutral from \"./icons/neutral.png\";\nimport success from \"./icons/success.png\";\nimport warning from \"./icons/warning.png\";\n\nexport type NotificationColor = {\n bg: string;\n text: string;\n border: string;\n icon: string;\n};\n\nconst result = (them: Theme): { [k in 'success' | 'info' | 'neutral' | 'warning' | 'critical']: NotificationColor } => ({\n neutral: {\n bg: them.palette.neutral[50],\n text: them.palette.neutral[700],\n border: them.textColor,\n icon: neutral,\n },\n critical: {\n bg: them.palette.error[50],\n text: them.palette.error[700],\n border: them.palette.error[600],\n icon: error,\n },\n warning: {\n bg: them.palette.warning[50],\n text: them.palette.warning[700],\n border: them.palette.warning[600],\n icon: warning,\n },\n success: {\n bg: them.palette.success[50],\n text: them.palette.success[700],\n border: them.palette.success[600],\n icon: success,\n },\n info: {\n bg: \"#EFF8FF\",\n text: them.palette.info[700],\n border: them.palette.info[600],\n icon: info,\n },\n});\n\nexport default result;\n","import React from 'react';\nimport styled from 'styled-components';\n\n//lib\nimport { mergeStrings } from '../../lib/helpers';\n\n// assets\nimport useTheme from '../../lib/useTheme';\nimport colors, { NotificationColor } from './colors';\nimport buttonCloseIcon from '../../assets/images/x.png';\n\ninterface DGA_NotificationProps {\n\tstyle: 'success' | 'info' | 'neutral' | 'warning' | 'critical';\n\tclassName?: string;\n\ticon?: boolean;\n\tleadText?: string;\n\tlink?: React.ReactNode;\n\tdismissible?: boolean;\n\tbutton?: React.ReactNode;\n\thelpText?: string;\n\tonClose?: Function;\n}\n\nconst Notification: React.FC<DGA_NotificationProps> = ({\n\tstyle = 'neutral',\n\ticon = true,\n\tleadText,\n\tlink,\n\tdismissible = true,\n\tbutton,\n\thelpText,\n\tonClose,\n\t...props\n}) => {\n\tconst theme = useTheme();\n\tconst colorNameResult = style;\n\tconst [show, setShow] = React.useState(true);\n\n\tconst closeClickedHandler = () => {\n\t\tsetShow(false);\n\t\tonClose?.();\n\t};\n\n\tif (!show) return null;\n\n\treturn (\n\t\t<StyledComponent\n\t\t\t$theme={theme}\n\t\t\t$colors={colors(theme)[colorNameResult]}\n\t\t\t{...props}\n\t\t\tclassName={mergeStrings('dgaui dgaui_notification', props.className)}>\n\t\t\t<div className='contentContainer'>\n\t\t\t\t{icon && <div className='icon' />}\n\t\t\t\t<div className='content'>\n\t\t\t\t\t{leadText && <span className='title'>{leadText}</span>}\n\t\t\t\t\t{helpText && <span className='message'>{helpText}</span>}\n\t\t\t\t</div>\n\t\t\t\t<div className='actions'>\n\t\t\t\t\t{link && link}\n\t\t\t\t\t{button && button}\n\t\t\t\t\t{dismissible && (\n\t\t\t\t\t\t<div className='close' onClick={closeClickedHandler} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</StyledComponent>\n\t);\n};\n\nconst StyledComponent = styled.div<{\n\t$theme: Theme;\n\t$colors: NotificationColor;\n}>`\n\tdirection: ${(p) => p.$theme.direction};\n\tpadding: 8px 24px;\n\twidth: 100%;\n\tmin-height: 56px;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tborder-radius: 2px;\n\tborder-bottom: 2px solid ${(p) => p.$colors.border};\n\tbackground-color: ${(p) => p.$colors.bg};\n\t.contentContainer {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tgap: 8px;\n\t\t.icon {\n\t\t\tbackground-image: url(${(p) => p.$colors.icon});\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-size: contain;\n\t\t\tmin-width: 24px;\n\t\t\theight: 24px;\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\t\t.content {\n\t\t\tcolor: ${(p) => p.$colors.text};\n\t\t\tfont-size: 16px;\n\t\t\t.title {\n\t\t\t\tmargin-inline-end: 8px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t.message {\n\t\t\t\tword-wrap: normal;\n\t\t\t}\n\t\t}\n\t}\n\t.actions {\n\t\tdisplay: flex;\n\t\tgap: 8px;\n\t\tflex-wrap: nowrap;\n\t\talign-items: center;\n\t}\n\t.close {\n\t\tmargin-inline-start: 12px;\n\t\tcursor: pointer;\n\t\tbackground-image: url(${buttonCloseIcon});\n\t\tbackground-repeat: no-repeat;\n\t\tmin-width: 20px;\n\t\theight: 20px;\n\t\t&:hover {\n\t\t\ttransform: scale(1.1);\n\t\t}\n\t}\n`;\n\nexport default Notification;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n small: { w: 73, h: 36, p: \"8px 12px\" },\n medium: { w: 81, h: 44, p: \"12px 16px\" },\n large: { w: 81, h: 52, p: \"16px\" },\n};\n\nexport interface DGA_TabProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n size?: Size;\n selected?: boolean;\n vertical?: boolean;\n}\n\nconst Tab: React.FC<DGA_TabProps> = ({\n children,\n size,\n selected,\n vertical,\n ...props\n}) => {\n const theme = useTheme();\n\n const sizeResult: Size = size ?? \"large\";\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_tab\", props.className)}\n $theme={theme}\n $customStyle={{\n w: sizes[sizeResult].w,\n h: sizes[sizeResult].h,\n p: sizes[sizeResult].p,\n }}\n $selected={selected}\n $vertical={vertical}\n >\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.button<{\n $theme: Theme;\n $customStyle: {\n w: number;\n h: number;\n p: string;\n };\n $selected?: boolean;\n $vertical?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n min-width: ${(p) => p.$customStyle.w}px;\n height: ${(p) => p.$customStyle.h}px;\n outline: none;\n background-color: transparent;\n border-radius: 4px;\n font-weight: ${(p) => (p.$selected ? 700 : 500)};\n color: ${(p) => p.$theme.palette.neutral[700]};\n padding: ${(p) => p.$customStyle.p};\n position: relative;\n cursor: pointer;\n border: 2px solid transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n\n img {\n margin-inline-end: 4px;\n }\n\n &::after {\n content: \"\";\n display: block;\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n height: ${(p) => (p.$vertical ? \"50%\" : \"3px\")};\n width: ${(p) => (p.$vertical ? \"3px\" : \"80%\")};\n border-radius: 10px;\n bottom: ${(p) => (p.$vertical ? \"auto\" : \"1px\")};\n inset-inline-start: ${(p) => (p.$vertical ? \"1px\" : \"auto\")};\n position: absolute;\n z-index: 2;\n background: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : p.$theme.textColor};\n }\n\n &:hover {\n &::after {\n opacity: 1;\n }\n }\n &:active {\n background-color: transparent;\n &::after {\n opacity: 1;\n }\n }\n\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n &::after {\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n }\n }\n &:disabled {\n color: ${(p) => p.$theme.palette.neutral[400]};\n cursor: default;\n pointer-events: none;\n &::after {\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n background: ${(p) => (p.$selected ? p.$theme.palette.neutral[400] : \"\")};\n }\n img {\n filter: opacity(0.5) grayscale(100%);\n }\n }\n`;\n\nexport default Tab;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport checkIcon from \"../../assets/images/check.png\";\n// TODO: Update the import from v2 after refactoring the components\nimport Menu from \"../../components/Menu\";\nimport Tab from \"../../components/Tab\";\nimport MenuItem from \"../../components/Menu/MenuItem\";\n\ninterface DGA_PaginationProps extends React.HTMLAttributes<HTMLDivElement> {\n count: number;\n currentPage: number;\n size?: Size;\n siblingCount?: number;\n onPageChange?: (pageNumber: number) => void;\n}\n\nconst Pagination: React.FC<DGA_PaginationProps> = ({\n count,\n currentPage,\n siblingCount = 1,\n onPageChange,\n size = \"small\",\n ...props\n}) => {\n const theme = useTheme();\n\n const onMenuOpen = () => {\n const menus = document.getElementsByClassName(\"menueItemsContainer\");\n\n for (let i = 0; i < menus.length; i++) {\n menus[i]?.scrollTo(\n 0,\n (document.getElementsByClassName(\"selectedMenueItem\")[0] as any)\n ?.offsetTop || 0\n );\n }\n };\n\n // Hide menu for count larger than 100 pages because it's causing issues when calling scrollTo for very large numbers like 100000 pages\n const menu =\n count <= 1000 ? (\n <Menu\n onOpen={onMenuOpen}\n menuItems={Array(count)\n .fill(\"\")\n .map((_el, index) => (\n <MenuItem\n key={index}\n onClick={() => onPageChange?.(index + 1)}\n trailIcon={\n currentPage === index + 1 ? <img src={checkIcon} /> : undefined\n }\n className={\n currentPage === index + 1 ? \"selectedMenueItem\" : undefined\n }\n >\n {index + 1}\n </MenuItem>\n ))}\n >\n <Tab size={size}>...</Tab>\n </Menu>\n ) : (\n <Tab size={size}>...</Tab>\n );\n\n const siblingCountResult = siblingCount * 2 >= count ? 1 : siblingCount;\n\n const showStartItems =\n siblingCountResult === 1\n ? currentPage <= siblingCountResult * 2 + 1\n : currentPage < siblingCountResult * 2 + 1;\n\n const showEndItems =\n !showStartItems && currentPage > count - siblingCountResult * 2;\n\n const showCenterItems = !showStartItems && !showEndItems;\n const showMenuStart = !showStartItems;\n const showMenuEnd = !showEndItems;\n\n let itemsToRenderCount = 1 + siblingCountResult * 2;\n\n const startItemsToRender = Array(itemsToRenderCount)\n .fill(0)\n .map((_el, index) => index + 1);\n\n const centerItemsToRender = Array(itemsToRenderCount)\n .fill(0)\n .map((_el, index) => currentPage - siblingCountResult + index);\n\n const endItemsToRender = Array(itemsToRenderCount)\n .fill(0)\n .map((_el, index) => count - index)\n .reverse();\n\n const show5Only = count <= 5;\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_pagination\", props.className)}\n >\n <Tab\n className=\"noAfter\"\n size={size}\n onClick={() =>\n currentPage > 1 ? onPageChange?.(currentPage - 1) : undefined\n }\n >\n {\"<\"}\n </Tab>\n\n {show5Only &&\n Array(count)\n .fill(0)\n .map((_el, index) => index + 1)\n .map((el) => (\n <Tab\n key={el}\n size={size}\n selected={el === currentPage}\n onClick={() => onPageChange?.(el)}\n >\n {el}\n </Tab>\n ))}\n\n {!show5Only && (\n <>\n {!showStartItems && (\n <Tab\n size={size}\n selected={currentPage === 1}\n onClick={() => onPageChange?.(1)}\n >\n 1\n </Tab>\n )}\n\n {showMenuStart && menu}\n\n {showStartItems &&\n startItemsToRender.map((el) => (\n <Tab\n key={el}\n size={size}\n selected={el === currentPage}\n onClick={() => onPageChange?.(el)}\n >\n {el}\n </Tab>\n ))}\n\n {showCenterItems &&\n centerItemsToRender.map((el) => (\n <Tab\n key={el}\n size={size}\n selected={el === currentPage}\n onClick={() => onPageChange?.(el)}\n >\n {el}\n </Tab>\n ))}\n\n {showMenuEnd && menu}\n\n {showEndItems &&\n endItemsToRender.map((el) => (\n <Tab\n key={el}\n size={size}\n selected={el === currentPage}\n onClick={() => onPageChange?.(el)}\n >\n {el}\n </Tab>\n ))}\n\n {!showEndItems && (\n <Tab\n size={size}\n selected={currentPage === count}\n onClick={() => onPageChange?.(count)}\n >\n {count}\n </Tab>\n )}\n </>\n )}\n\n <Tab\n className=\"noAfter\"\n size={size}\n onClick={() =>\n currentPage < count ? onPageChange?.(currentPage + 1) : undefined\n }\n >\n {\">\"}\n </Tab>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n align-items: center;\n\n .dgaui_menuItem {\n min-width: auto;\n }\n .dgaui_tab {\n min-width: auto;\n margin-inline-end: 8px;\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n .noAfter::after {\n display: none;\n }\n`;\n\nexport default Pagination;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport checkWhiteIcon from \"../../assets/images/checkWhite.png\";\nimport useTheme from \"../../lib/useTheme\";\n\ntype DGA_AIBaseProps = {\n status: \"completed\" | \"active\" | \"upComing\";\n dot?: boolean;\n children?: number;\n};\n\nconst Base: React.FC<DGA_AIBaseProps> = ({ status, dot, children }) => {\n const theme = useTheme();\n\n if (dot) {\n return (\n <StyledDot\n $theme={theme}\n $status={status}\n className=\"dgaui_stepperBase dot\"\n />\n );\n }\n\n return (\n <StyledComponent\n $theme={theme}\n $status={status}\n className=\"dgaui_stepperBase circle\"\n >\n <span className=\"content\">{children}</span>\n </StyledComponent>\n );\n};\n\nconst getCircleCss = (\n theme: Theme,\n status: \"completed\" | \"active\" | \"upComing\"\n) => {\n switch (status) {\n case \"completed\": {\n return css`\n border: 1px solid #fff;\n background-color: ${theme.palette.primary[600]};\n background-image: url(${checkWhiteIcon});\n background-repeat: no-repeat;\n background-position: center;\n\n &:hover {\n background-color: ${theme.palette.primary[700]};\n }\n &:focus {\n border: 1px solid #fff;\n\n &::after {\n content: \"\";\n display: block;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border: 2px solid ${theme.textColor};\n position: absolute;\n border-radius: 100%;\n }\n }\n .content {\n display: none;\n }\n `;\n }\n case \"active\": {\n return css`\n border: 2px solid ${theme.palette.primary[600]};\n background-color: #fff;\n\n &:hover {\n border-color: ${theme.palette.primary[700]};\n }\n &:focus {\n &::after {\n content: \"\";\n display: block;\n width: calc(100% + 6px);\n height: calc(100% + 6px);\n border: 2px solid ${theme.textColor};\n position: absolute;\n border-radius: 100%;\n }\n }\n `;\n }\n case \"upComing\": {\n return css`\n border: 2px solid ${theme.palette.neutral[300]};\n background-color: #fff;\n color: ${theme.palette.neutral[300]};\n\n &:hover {\n border-color: ${theme.palette.neutral[400]};\n color: ${theme.palette.neutral[400]};\n }\n `;\n }\n default: {\n return \"\";\n }\n }\n};\n\nconst getDotCss = (\n theme: Theme,\n status: \"completed\" | \"active\" | \"upComing\"\n) => {\n switch (status) {\n case \"completed\": {\n return css`\n background-color: ${theme.palette.primary[600]};\n\n &:hover {\n background-color: ${theme.palette.primary[700]};\n }\n `;\n }\n case \"active\": {\n return css`\n background-color: #fff;\n border: 4px solid ${theme.palette.primary[600]};\n\n &:hover {\n border-color: ${theme.palette.primary[700]};\n }\n\n width: 8px;\n height: 8px;\n `;\n }\n case \"upComing\": {\n return css`\n background-color: #fff;\n border: 2px solid ${theme.palette.neutral[300]};\n &:hover {\n border-color: ${theme.palette.neutral[400]};\n }\n width: 12px;\n height: 12px;\n `;\n }\n default: {\n return \"\";\n }\n }\n};\n\nconst StyledComponent = styled.button<{\n $theme: Theme;\n $status: \"completed\" | \"active\" | \"upComing\";\n}>`\n border: none;\n outline: none;\n width: 32px;\n height: 32px;\n border-radius: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #fff;\n position: relative;\n cursor: pointer;\n z-index: 1;\n\n ${(p) => getCircleCss(p.$theme, p.$status)}\n`;\n\nconst StyledDot = styled.div<{\n $theme: Theme;\n $status: \"completed\" | \"active\" | \"upComing\";\n}>`\n border: none;\n outline: none;\n width: 16px;\n height: 16px;\n border-radius: 100%;\n cursor: pointer;\n position: relative;\n z-index: 1;\n\n ${(p) => getDotCss(p.$theme, p.$status)}\n`;\n\nexport default Base;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABkSURBVHgB5ZBRDcAgDEQrZRImpRKQMAfgcBKQMAm3EiABQoCGT15yf30HLdFZAGCJl1jSItIt+RB5d+QAa+SrkY1W9oX8jIZt2C1/ryO72WvVsEpOBQZ95vKgZF0uSjjdwtEZ/ElLxHCBicxFAAAAAElFTkSuQmCC\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Base from \"./Base\";\n\nexport interface DGA_ProgressIndicatorProps\n extends React.HTMLAttributes<HTMLDivElement> {\n steps: {\n title: React.ReactNode;\n description?: React.ReactNode;\n }[];\n activeStepIndex: number;\n alignment?: \"vertical\" | \"horizontal\";\n dot?: boolean;\n onStepClick?: (stepIndex: number) => void;\n}\n\nconst ProgressIndicator: React.FC<DGA_ProgressIndicatorProps> = ({\n children,\n alignment,\n steps,\n activeStepIndex,\n dot,\n onStepClick,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_progressIndicator\", props.className)}\n $theme={theme}\n $alignment={alignment || \"horizontal\"}\n $dot={dot}\n >\n {steps.map((el, index) => {\n const status =\n index < activeStepIndex\n ? \"completed\"\n : index === activeStepIndex\n ? \"active\"\n : \"upComing\";\n\n return (\n <div\n key={index}\n className={\"step \" + status}\n onClick={() => onStepClick?.(index)}\n >\n <Base dot={dot} status={status}>\n {!dot ? index + 1 : undefined}\n </Base>\n\n <div className=\"stepContent\">\n <div className=\"title\">{el.title}</div>\n <div className=\"description\">{el.description}</div>\n </div>\n </div>\n );\n })}\n </StyledComponent>\n );\n};\n\nconst getLineCss = (\n theme: Theme,\n status: \"completed\" | \"active\" | \"upComing\"\n) => {\n switch (status) {\n case \"completed\": {\n return {\n bg: theme.palette.primary[600],\n bgHover: theme.palette.primary[700],\n };\n }\n case \"active\": {\n return {\n bg: theme.palette.neutral[300],\n bgHover: theme.palette.neutral[300],\n };\n }\n case \"upComing\": {\n return {\n bg: theme.palette.neutral[300],\n bgHover: theme.palette.neutral[400],\n };\n }\n }\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $alignment?: \"vertical\" | \"horizontal\";\n $dot?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n flex-direction: ${(p) => (p.$alignment === \"horizontal\" ? \"row\" : \"column\")};\n width: 100%;\n\n .step {\n min-width: 100px;\n min-height: 100px;\n width: 100%;\n position: relative;\n cursor: pointer;\n display: ${(p) => (p.$alignment === \"horizontal\" ? \"block\" : \"flex\")};\n\n .stepContent {\n margin-top: ${(p) => (p.$alignment === \"horizontal\" ? \"8px\" : \"0\")};\n margin-inline-start: ${(p) =>\n p.$alignment === \"horizontal\" ? \"0\" : \"8px\"};\n padding-inline-end: 16px;\n\n .title {\n font-size: 16px;\n }\n .description {\n margin-top: 4px;\n }\n }\n\n &::after {\n content: \"\";\n display: block;\n position: absolute;\n top: ${(p) => (p.$dot ? \"8px\" : \"16px\")};\n inset-inline-start: ${(p) => (p.$dot ? \"8px\" : \"16px\")};\n width: ${(p) => (p.$alignment === \"horizontal\" ? \"100%\" : \"2px\")};\n height: ${(p) => (p.$alignment === \"horizontal\" ? \"2px\" : \"100%\")};\n }\n\n &.completed {\n &:hover {\n &::after {\n background-color: ${(p) => getLineCss(p.$theme, \"completed\").bgHover};\n }\n }\n &::after {\n background-color: ${(p) => getLineCss(p.$theme, \"completed\").bg};\n }\n }\n\n &.active::after {\n background-color: ${(p) => getLineCss(p.$theme, \"active\").bg};\n }\n\n &.upComing {\n &:hover {\n &::after {\n background-color: ${(p) => getLineCss(p.$theme, \"upComing\").bgHover};\n }\n }\n &::after {\n background-color: ${(p) => getLineCss(p.$theme, \"upComing\").bg};\n }\n }\n\n &:last-child::after {\n display: none;\n }\n }\n`;\n\nexport default ProgressIndicator;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport radioColors from \"./radioColors\";\nimport feedbackIcon from \"../../assets/images/Feedback-Icon.png\";\n\nexport interface DGA_RadioProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"style\"> {\n label: React.ReactNode;\n description?: React.ReactNode;\n error?: React.ReactNode;\n style?: \"primary\" | \"neutral\";\n onChange?: (e: React.SyntheticEvent, value: any) => void;\n value?: any;\n groupValue?: any;\n}\n\nconst Radio: React.FC<DGA_RadioProps> = ({\n label,\n description,\n error,\n onChange,\n value,\n groupValue,\n style = \"primary\",\n ...props\n}) => {\n const theme = useTheme();\n const colors = radioColors(theme);\n\n const colorNameResult: \"primary\" | \"neutral\" = style ?? \"primary\";\n\n let fontColor = theme.textColor;\n let backgroundColor = colors[colorNameResult].default;\n let backgroundColorHovered = colors[colorNameResult].hovered;\n let backgroundColorActive = colors[colorNameResult].active;\n let sliderBg = theme.palette.neutral[950];\n let sliderBgHovered = theme.palette.neutral[600];\n let sliderBgActive = theme.palette.neutral[500];\n let sliderBgDisabled = theme.palette.neutral[300];\n\n const id = props.id;\n\n return (\n <StyledComponent\n $customStyle={{\n theme,\n fontColor,\n backgroundColor,\n backgroundColorHovered,\n backgroundColorActive,\n sliderBg,\n sliderBgHovered,\n sliderBgActive,\n sliderBgDisabled,\n }}\n className={mergeStrings(\"dgaui dgaui_radioContainer\", props.className)}\n >\n <div className=\"dgaui_radioHead\">\n <label className=\"dgaui_radio\">\n <input\n id={id}\n type=\"radio\"\n {...props}\n checked={groupValue === value}\n onChange={(e) => onChange && onChange(e, value)}\n />\n <span className=\"dgaui_radioDot\" />\n </label>\n <label htmlFor={id} className=\"dgaui_radioLabel\">\n {label}\n </label>\n </div>\n\n <div className=\"dgaui_radioDescription\">\n {description && <div className=\"dgaui_radioDescriptionText\">{description}</div>}\n {error && <div className=\"dgaui_radioDescriptionError\">{error}</div>}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n theme: Theme;\n fontColor: string;\n backgroundColor: string;\n backgroundColorHovered: string;\n backgroundColorActive: string;\n sliderBg: string;\n sliderBgHovered: string;\n sliderBgActive: string;\n sliderBgDisabled: string;\n };\n}>`\n direction: ${(props) => props.$customStyle.theme.direction};\n color: ${(props) => props.$customStyle.fontColor};\n\n .dgaui_radioLabel {\n cursor: pointer;\n text-align: start;\n margin-inline-start: 16px;\n font-weight: 500;\n }\n\n .dgaui_radioDescription {\n padding-inline-start: 40px;\n .dgaui_radioDescriptionText {\n margin-top: 8px;\n color: ${(props) => props.$customStyle.theme.palette.neutral[700]};\n }\n .dgaui_radioDescriptionError {\n font-weight: 500;\n color: ${(props) => props.$customStyle.theme.palette.error[700]};\n position: relative;\n margin-top: 8px;\n\n &::before {\n content: \"\";\n background: url(\"${feedbackIcon}\");\n width: 18px;\n height: 18px;\n background-repeat: no-repeat;\n background-size: contain;\n display: block;\n position: absolute;\n inset-inline-start: -40px;\n }\n }\n }\n\n .dgaui_radioHead {\n display: flex;\n align-items: center;\n\n &:hover {\n .dgaui_radio {\n box-shadow: 0 0 0px 12px #f3f4f6;\n background-color: #f3f4f6;\n border-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n &:has(input:checked) {\n .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n }\n }\n\n &:active {\n .dgaui_radio {\n background-color: #d2d6db;\n border-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n &:has(input:checked) {\n &:active {\n .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n }\n }\n }\n\n &:has(input:disabled) {\n color: #9da4ae;\n\n &:hover {\n .dgaui_radio {\n box-shadow: none;\n background-color: transparent;\n }\n }\n &:has(input:checked) {\n &:active {\n .dgaui_radioDot {\n background: #9da4ae;\n }\n }\n }\n }\n\n &:focus-within {\n .dgaui_radio {\n box-shadow: none;\n z-index: 1;\n\n &::after {\n content: \" \";\n position: absolute;\n top: -5px;\n left: -5px;\n right: -5px;\n bottom: -5px;\n border: 2px solid #0d121c;\n }\n }\n }\n }\n\n .dgaui_radio {\n cursor: pointer;\n position: relative;\n display: inline-block;\n width: 22px;\n height: 22px;\n outline: none;\n border: 1px solid #000;\n border-radius: 50px;\n transition: all 0.1s;\n\n .dgaui_radioDot {\n border-radius: 50px;\n position: absolute;\n top: 3.5px;\n left: 3.5px;\n z-index: 1;\n width: 15px;\n height: 15px;\n background-color: none;\n }\n\n input {\n flex: 0;\n opacity: 0;\n width: 0;\n height: 0;\n\n &:checked + .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColor};\n }\n &:checked:disabled + .dgaui_radioDot {\n background-color: #9da4ae;\n }\n }\n\n &:has(input:checked) {\n border-color: ${(props) => props.$customStyle.backgroundColor};\n &:hover {\n border-color: ${(props) => props.$customStyle.backgroundColorHovered};\n background-color: #f3f4f6;\n .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColorHovered};\n }\n }\n &:active {\n border-color: ${(props) => props.$customStyle.backgroundColorActive};\n background-color: #f3f4f6;\n .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n }\n &:disabled {\n background-color: red;\n &:hover,\n &:active {\n background-color: #9da4ae;\n }\n }\n }\n\n &:has(input:disabled) {\n border: 1px solid #9da4ae;\n background-color: transparent;\n .dgaui_radioDot {\n background-color: transparent;\n }\n\n &:hover,\n &:active {\n box-shadow: none;\n background-color: transparent;\n .dgaui_radioDot {\n background-color: transparent;\n }\n }\n &:has(input:checked) {\n .dgaui_radioDot {\n background-color: #9da4ae;\n &:active {\n background-color: #9da4ae;\n }\n }\n }\n }\n }\n`;\n\nexport default Radio;\n","import React from \"react\";\nimport Radio, { DGA_RadioProps } from \"../Radio\";\nimport { generateUniqueId } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\ninterface DGA_RadioGroupProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n onChange?: (event: React.SyntheticEvent, value: any) => void;\n children: React.ReactElement<typeof Radio> | React.ReactElement<typeof Radio>[];\n name?: string;\n value?: any;\n layout?: \"vertiaval\" | \"horizontal\";\n}\n\nconst RadioGroup: React.FC<DGA_RadioGroupProps> = ({\n onChange,\n name,\n value,\n layout,\n children,\n ...props\n}) => {\n const theme = useTheme();\n\n const groupName = name ? name : generateUniqueId();\n\n const newChildren = React.Children.map(children, (child, index) =>\n React.cloneElement(child, {\n onChange,\n name: groupName,\n id: groupName + \"_\" + index,\n groupValue: value,\n } as DGA_RadioProps as any)\n );\n\n return (\n <StyledComponent\n className={`dgaui dgaui_radioGroup_${layout ?? \"horizontal\"}`}\n $direction={theme.direction}\n {...props}\n >\n {newChildren}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $direction: string }>`\n direction: ${(p) => p.$direction};\n &.dgaui_radioGroup_vertiaval {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n .dgaui_radioContainer {\n margin-bottom: 32px;\n }\n }\n\n &.dgaui_radioGroup_horizontal {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n\n .dgaui_radioContainer {\n margin-inline-end: 32px;\n }\n }\n\n .dgaui_radio {\n position: absolute !important;\n }\n\n .dgaui_radioLabel {\n margin-inline-start: 40px;\n }\n`;\n\nexport default RadioGroup;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { generateUniqueId, mergeStrings } from \"../../lib/helpers\";\nimport switchColors from \"./switchColors\";\nimport feedbackIcon from \"../../assets/images/Feedback-Icon.png\";\n\ninterface DGA_SwitchProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"checked\" | \"onChange\"\n > {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n alertMessage?: React.ReactNode;\n color?: ColorName;\n checked?: boolean;\n trailSwitch?: boolean;\n icon?: React.ReactNode;\n onChange?: (event: React.SyntheticEvent, isChecked: boolean) => void;\n}\n\nconst Switch: React.FC<DGA_SwitchProps> = ({\n label,\n helperText,\n color,\n alertMessage,\n checked,\n trailSwitch,\n icon,\n onChange,\n ...props\n}) => {\n const theme = useTheme();\n const colors = switchColors(theme);\n\n const colorNameResult: ColorName = color ?? \"primary\";\n\n let fontColor = theme.textColor;\n let backgroundColor = colors[colorNameResult].default;\n let backgroundColorHovered = colors[colorNameResult].hovered;\n let backgroundColorActive = colors[colorNameResult].active;\n let sliderBg = theme.palette.neutral[950];\n let sliderBgHovered = theme.palette.neutral[600];\n let sliderBgActive = theme.palette.neutral[500];\n let sliderBgDisabled = theme.palette.neutral[300];\n\n const id = props.id || generateUniqueId();\n\n return (\n <StyledComponent\n $customStyle={{\n theme,\n fontColor,\n backgroundColor,\n backgroundColorHovered,\n backgroundColorActive,\n sliderBg,\n sliderBgHovered,\n sliderBgActive,\n sliderBgDisabled,\n }}\n className={mergeStrings(\n \"dgaui dgaui_switchContainer \" + (trailSwitch ? \"endSwitch\" : \"\"),\n props.className\n )}\n >\n <div className=\"dgaui_switchHead\">\n <label className=\"dgaui_switch\">\n <input\n id={id}\n type=\"checkbox\"\n {...props}\n checked={checked}\n onChange={(e) => onChange && onChange(e, e.target.checked)}\n />\n <span className=\"dgaui_switchSlider\">\n {icon && <span className=\"icon\">{icon}</span>}\n </span>\n </label>\n <label htmlFor={id} className=\"dgaui_switchLabel\">\n {label}\n </label>\n </div>\n <div className=\"dgaui_switchDescription\">\n {helperText && (\n <div className=\"dgaui_switchDescriptionText\">{helperText}</div>\n )}\n {alertMessage && <div className=\"dgaui_switchDescriptionError\">{alertMessage}</div>}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n theme: Theme;\n fontColor: string;\n backgroundColor: string;\n backgroundColorHovered: string;\n backgroundColorActive: string;\n sliderBg: string;\n sliderBgHovered: string;\n sliderBgActive: string;\n sliderBgDisabled: string;\n };\n}>`\n direction: ${(props) => props.$customStyle.theme.direction};\n color: ${(props) => props.$customStyle.fontColor};\n\n .dgaui_switchLabel {\n cursor: pointer;\n text-align: start;\n margin-inline-start: 8px;\n font-weight: 500;\n }\n\n .dgaui_switchDescription {\n padding-inline-start: 64px;\n .dgaui_switchDescriptionText {\n margin: 4px 0;\n }\n .dgaui_switchDescriptionError {\n font-weight: 500;\n color: ${(props) => props.$customStyle.theme.palette.error[700]};\n position: relative;\n margin: 4px 0;\n\n &::before {\n content: \"\";\n background: url(\"${feedbackIcon}\");\n width: 18px;\n height: 18px;\n background-repeat: no-repeat;\n background-size: contain;\n display: block;\n position: absolute;\n inset-inline-start: -40px;\n }\n }\n }\n\n &.endSwitch {\n .dgaui_switchLabel {\n margin-inline-start: 0px;\n margin-inline-end: 8px;\n }\n\n .dgaui_switchHead {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-direction: row-reverse;\n }\n .dgaui_switchDescription {\n padding-inline-start: 0px;\n\n .dgaui_switchDescriptionText {\n }\n .dgaui_switchDescriptionError {\n display: flex;\n align-items: center;\n\n &::before {\n position: initial;\n margin-inline-end: 8px;\n }\n }\n }\n }\n\n .dgaui_switch {\n cursor: pointer;\n\n &:hover {\n border-radius: 24px;\n border: 4px solid #f3f4f6;\n\n .dgaui_switchSlider {\n border: 1px solid #4d5761;\n\n &::before {\n background-color: ${(props) => props.$customStyle.sliderBgHovered};\n }\n }\n }\n\n &:active {\n .dgaui_switchSlider {\n &::before {\n background-color: ${(props) => props.$customStyle.sliderBgActive};\n }\n }\n }\n\n position: relative;\n display: inline-block;\n width: 48px;\n height: 24px;\n outline: none;\n border: 4px solid transparent;\n\n &:focus-within {\n border: 4px solid #fff;\n z-index: 1;\n\n &::after {\n content: \" \";\n position: absolute;\n top: -4px;\n left: -4px;\n right: -4px;\n bottom: -4px;\n border: 2px solid #0d121c;\n border-radius: 2px;\n }\n }\n\n .dgaui_switchSlider {\n border: 1px solid #0d121c;\n border-radius: 24px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #fff;\n transition: background-color 0.2s;\n display: flex;\n align-items: center;\n justify-content: left;\n\n &::before {\n background-color: ${(props) => props.$customStyle.sliderBg};\n content: \"\";\n height: 16px;\n width: 16px;\n transition: 0.2s;\n border-radius: 50%;\n margin-left: 4px;\n }\n }\n\n input {\n opacity: 0;\n width: 0;\n height: 0;\n\n &:checked + .dgaui_switchSlider {\n border: none;\n background-color: ${(props) => props.$customStyle.backgroundColor};\n\n &:before {\n background-color: #fff;\n transform: translateX(24px);\n }\n\n &:hover {\n background-color: ${(props) =>\n props.$customStyle.backgroundColorHovered};\n }\n &:active {\n background-color: ${(props) =>\n props.$customStyle.backgroundColorActive};\n }\n }\n\n &:disabled + .dgaui_switchSlider {\n background-color: #fff;\n &:before {\n background-color: #d2d6db;\n }\n }\n &:disabled:checked + .dgaui_switchSlider {\n background-color: #d2d6db;\n &:before {\n background-color: #fff;\n }\n }\n }\n .icon {\n display: none;\n }\n &:has(input:checked) {\n .icon {\n position: absolute;\n z-index: 2;\n inset-inline-end: 5px;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n }\n }\n\n &:has(input:disabled:hover) {\n border: 4px solid transparent;\n }\n }\n`;\n\nexport default Switch;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport colors, { TagStatusColorName, TagStatusVariant } from \"./colors\";\n\nexport const sizes = {\n xsmall: { w: 64, h: 20, py: 8, f: 10 },\n small: { h: 24, py: 8, f: 12 },\n medium: { h: 32, py: 16, f: 16 },\n};\n\ninterface DGA_TagProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"style\"> {\n children: React.ReactNode;\n status?: TagStatusVariant;\n size?: \"xsmall\" | \"small\" | \"medium\";\n style?: TagStatusColorName;\n}\n\nconst tagStatusColorNames = [\"neutral\", \"green\", \"blue\", \"yellow\", \"red\"];\n\nconst StatusTag: React.FC<DGA_TagProps> = ({\n children,\n status,\n size,\n style,\n ...props\n}) => {\n const theme = useTheme();\n\n const colorNameResult = style ?? \"neutral\";\n const sizeResult = size ?? \"medium\";\n\n const variantResult: TagStatusVariant = status ? status : \"subtle\";\n const tagColors = colors(theme);\n\n let backgroundColor = tagColors[colorNameResult][variantResult]?.bg;\n let iconBackgroundColor = tagColors[colorNameResult][variantResult]?.iconBg;\n let fontColor = tagColors[colorNameResult][variantResult]?.font;\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_statusTag\", props.className)}\n $customStyle={{\n direction: theme.direction,\n height: sizes[sizeResult].h,\n paddingY: sizes[sizeResult].py,\n fontSize: sizes[sizeResult].f,\n fontColor,\n backgroundColor,\n iconBackgroundColor,\n }}\n >\n <i className=\"dgaui_icon\" />\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n direction: string;\n height: number;\n paddingY: number;\n fontSize: number;\n fontColor: string;\n backgroundColor: string;\n iconBackgroundColor: string;\n };\n}>`\n direction: ${(props) => props.$customStyle.direction};\n height: ${(props) => props.$customStyle.height}px;\n padding: 0 ${(props) => props.$customStyle.paddingY}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n outline: none;\n border-radius: 9999px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .dgaui_icon {\n width: 10px;\n height: 10px;\n border-radius: 100%;\n background-color: ${(props) => props.$customStyle.iconBackgroundColor};\n margin-inline-end: 8px;\n }\n`;\n\nexport default StatusTag;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useTheme from \"../../lib/useTheme\";\nimport Checkbox from \"../Checkbox\";\n\nconst Table = <T,>({\n contained,\n compact,\n alternatingRows,\n selectable,\n className,\n labels,\n values,\n onRowClick,\n onCheck,\n responsiveThreshold,\n columnDivider,\n headerColumnDivider = true,\n lastColumnWidthMultiply,\n}: {\n contained?: boolean;\n compact?: boolean;\n alternatingRows?: boolean;\n selectable?: boolean;\n className?: string;\n labels: Record<string, any>;\n values: T[];\n onRowClick?: (row: T) => void;\n onCheck?: (rows: T[]) => void;\n responsiveThreshold?: number;\n columnDivider?: boolean;\n headerColumnDivider?: boolean;\n lastColumnWidthMultiply?: number;\n}) => {\n const theme = useTheme();\n const [selectAllValue, setSelectAllValue] = React.useState(false);\n const [isMobile, setIsMobile] = React.useState(false);\n\n const onSelectAllValueChangedHandler = (\n _e: React.SyntheticEvent,\n newValue: boolean\n ) => {\n setSelectAllValue(newValue);\n\n if (onCheck) {\n let newCheckedValues: T[] = [];\n\n if (newValue) {\n newCheckedValues = values.map((el) => {\n return { ...el, selected: true };\n });\n } else {\n newCheckedValues = values.map((el) => {\n return { ...el, selected: false };\n });\n }\n\n onCheck(newCheckedValues);\n }\n };\n\n const onRowCheckedHandler = (item: T) => {\n onCheck?.(\n values.map((el) => {\n if (el === item) {\n return { ...el, selected: !(el as any)?.selected };\n }\n return el;\n })\n );\n };\n\n React.useEffect(() => {\n if (selectable) {\n let allSelected = true;\n values.forEach((el) => {\n if (!(el as any)?.selected) {\n allSelected = false;\n }\n });\n\n setSelectAllValue(allSelected);\n }\n }, [values]);\n\n React.useEffect(() => {\n const resizeHandler = () =>\n setIsMobile(window.innerWidth <= (responsiveThreshold || 768));\n resizeHandler();\n window.addEventListener(\"resize\", resizeHandler);\n return () => window.removeEventListener(\"resize\", resizeHandler);\n }, []);\n\n if (isMobile) {\n return (\n <MobileStyledComponent\n $theme={theme}\n $compact={compact}\n $contained={contained}\n $alternatingRows={alternatingRows}\n $onRowClick={!!onRowClick}\n className={mergeStrings(\"dgaui dgaui_table\", className)}\n >\n {values.map((item, index) => {\n const checked = (item as any)?.selected;\n const checkedClassName = checked ? \"checked \" : \"\";\n\n return (\n <div\n key={index}\n className={\"mobileRow \" + checkedClassName}\n onClick={(e: React.SyntheticEvent) => {\n if (!(e.target instanceof HTMLElement)) return;\n\n const nodeName = e.target.nodeName;\n // Don't fire onRowClick if target is checkbox\n if (nodeName === \"DIV\") {\n onRowClick?.(item);\n }\n }}\n >\n {selectable && (\n <div className=\"cell selectable\">\n <Checkbox\n size={compact ? \"small\" : \"medium\"}\n value={checked}\n onChange={() => onRowCheckedHandler(item)}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n )}\n\n {Object.keys(labels)\n .filter((key) => !!labels[key])\n .map((key, sIndex) => (\n <div key={sIndex} className={\"mobileRowContainer\"}>\n <div className=\"cell label\">{labels[key]}</div>\n <div\n className={\n \"cell value \" +\n (alternatingRows\n ? (sIndex + 1) % 2 === 0\n ? \"even\"\n : \"odd\"\n : \"\")\n }\n >\n {(item as any)[key]}\n </div>\n </div>\n ))}\n </div>\n );\n })}\n </MobileStyledComponent>\n );\n }\n\n return (\n <StyledComponent\n $theme={theme}\n $headerColumnDivider={headerColumnDivider}\n $compact={compact}\n $contained={contained}\n $alternatingRows={alternatingRows}\n $onRowClick={!!onRowClick}\n className={mergeStrings(\n \"dgaui dgaui_table\" + (columnDivider ? \" columnDivider\" : \"\"),\n className\n )}\n cellPadding={0}\n cellSpacing={0}\n >\n <thead>\n <tr>\n {selectable && (\n <th className=\"selectable\">\n <Checkbox\n value={selectAllValue}\n onChange={onSelectAllValueChangedHandler}\n />\n </th>\n )}\n {Object.keys(labels as any)\n .filter((key) => !!labels[key])\n .map((key, index) => (\n <th\n key={index}\n style={{\n flex:\n lastColumnWidthMultiply &&\n index === Object.keys(labels).length - 1\n ? lastColumnWidthMultiply\n : undefined,\n }}\n >\n {(labels as any)[key]}\n </th>\n ))}\n </tr>\n </thead>\n\n {values && values.length > 0 && (\n <tbody>\n {values.map((item, index) => {\n const checked = (item as any)?.selected;\n const trClassName = checked ? \"checked \" : \"\";\n\n return (\n <tr\n key={index}\n onClick={(e: React.SyntheticEvent) => {\n if (!(e.target instanceof HTMLElement)) return;\n\n const nodeName = e.target.nodeName;\n // Don't fire onRowClick if target is checkbox\n if (nodeName === \"TR\" || nodeName === \"TD\") {\n onRowClick?.(item);\n }\n }}\n className={\n trClassName +\n (alternatingRows\n ? (index + 1) % 2 === 0\n ? \"even\"\n : \"odd\"\n : \"\")\n }\n >\n {selectable && (\n <td className=\"selectable\">\n <Checkbox\n value={checked}\n onChange={() => onRowCheckedHandler(item)}\n onClick={(e) => e.stopPropagation()}\n />\n </td>\n )}\n {Object.entries(item as any)\n .filter((key) => !!labels[key[0]])\n .map(\n ([key, value], itemIndex) =>\n (labels as any)[key] && (\n <td\n key={key}\n style={{\n flex:\n lastColumnWidthMultiply &&\n itemIndex === Object.keys(labels).length - 1\n ? lastColumnWidthMultiply\n : undefined,\n }}\n >\n {value as any}\n </td>\n )\n )}\n </tr>\n );\n })}\n </tbody>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.table<{\n $theme: Theme;\n $headerColumnDivider?: boolean;\n $contained?: boolean;\n $compact?: boolean;\n $alternatingRows?: boolean;\n $onRowClick?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n overflow: hidden;\n transition: background-color 0.2s;\n\n ${(p) =>\n p.$contained\n ? `border: 1px solid ${p.$theme.palette.neutral[400]}; border-radius: 8px;`\n : \"\"}\n\n tr {\n display: flex;\n &.even {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n }\n &.checked {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n }\n\n &:hover {\n ${(p) =>\n p.$onRowClick\n ? `background-color: ${p.$theme.palette.neutral[25]};`\n : \"\"}\n\n &.even {\n ${(p) =>\n p.$onRowClick\n ? `background-color: ${p.$theme.palette.neutral[100]};`\n : \"\"}\n\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[25]};\n }\n }\n\n &.checked {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[25]};\n }\n }\n }\n\n border-end-start-radius: ${(p) => (p.$contained ? 8 : 0)}px;\n border-end-end-radius: ${(p) => (p.$contained ? 8 : 0)}px;\n\n &:last-child {\n td {\n border-bottom: ${(p) =>\n p.$contained ? \"none\" : `1px solid ${p.$theme.palette.neutral[300]}`};\n }\n }\n\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[25]};\n }\n }\n\n th,\n td {\n flex: 1;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n overflow: hidden;\n box-sizing: border-box;\n\n &.selectable {\n flex: none;\n }\n }\n\n th {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-inline-end: ${(p) => (p.$headerColumnDivider ? \"1\" : \"0\")}px solid\n ${(p) => p.$theme.palette.neutral[300]};\n border-bottom: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-top: 1px solid\n ${(p) => (p.$contained ? 0 : p.$theme.palette.neutral[300])};\n color: ${(p) => p.$theme.palette.neutral[700]};\n font-size: 12px;\n font-weight: 500;\n height: 48px;\n padding: 0 16px;\n\n &:first-child {\n border-start-start-radius: ${(p) => (p.$contained ? 8 : 0)}px;\n }\n\n &:last-child {\n border-start-end-radius: ${(p) => (p.$contained ? 8 : 0)}px;\n border-inline-end: none;\n }\n }\n\n td {\n flex: 1;\n padding: 0 16px;\n height: ${(p) => (p.$compact ? 48 : 64)}px;\n border-bottom: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n ${(p) => (p.$onRowClick ? \"cursor: pointer;\" : \"\")}\n\n &.selectable {\n border-inline-end: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n }\n }\n\n &.columnDivider {\n td {\n border-inline-end: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n &:last-child {\n border-inline-end: none;\n }\n }\n }\n`;\n\nconst MobileStyledComponent = styled.div<{\n $theme: Theme;\n $contained?: boolean;\n $compact?: boolean;\n $alternatingRows?: boolean;\n $onRowClick?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n transition: background-color 0.2s;\n\n .mobileRow {\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n width: 100%;\n ${(p) =>\n p.$contained\n ? `border-left: 1px solid ${p.$theme.palette.neutral[300]};border-right: 1px solid ${p.$theme.palette.neutral[300]};`\n : \"\"}\n\n .cell {\n height: ${(p) => (p.$compact ? 30 : 36)}px;\n padding: 0 8px;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n font-size: ${(p) => (p.$compact ? 10 : 12)}px;\n }\n\n .mobileRowContainer {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n overflow: hidden;\n box-sizing: border-box;\n border-top: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n\n &:last-child {\n border-bottom: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n }\n\n .label {\n flex: 1;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-inline-end: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n color: ${(p) => p.$theme.palette.neutral[700]};\n font-weight: 600;\n }\n .value {\n flex: 2;\n\n &.even {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n }\n }\n }\n\n &.checked {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n .mobileRowContainer .even {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n }\n .selectable {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n }\n }\n\n .selectable {\n border-top: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n }\n }\n`;\n\nexport default Table;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Tab, { DGA_TabProps } from \"../Tab\";\n\ninterface DGA_TagProps extends React.HTMLAttributes<HTMLDivElement> {\n children: (React.ReactNode | React.ReactElement<typeof Tab>)[];\n size?: Size;\n flush?: boolean;\n vertical?: boolean;\n}\n\nconst TabList: React.FC<DGA_TagProps> = ({\n children,\n size = \"large\",\n flush,\n vertical = false,\n ...props\n}) => {\n const theme = useTheme();\n\n // If\n const newChildren = addPropsToChidren(children, size, vertical);\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_tabList\", props.className)}\n $theme={theme}\n $flush={flush}\n $vertical={vertical}\n >\n {newChildren}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $flush?: boolean;\n $vertical?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n position: relative;\n ${(p) => (p.$vertical ? \"flex-direction: column;\" : \"\")};\n\n &::after {\n content: \"\";\n display: ${(p) => (p.$vertical ? \"none\" : \"block\")};\n position: absolute;\n height: 3px;\n width: 100%;\n border-radius: 10px;\n bottom: 0;\n left: 0;\n background: ${(p) => p.$theme.palette.neutral[300]};\n z-index: 1;\n }\n\n .dgaui_tab {\n border: none;\n &:focus {\n border: none;\n }\n &::after {\n ${(p) => (!p.$vertical ? \"bottom: 0;\" : \"\")};\n ${(p) => (p.$flush && !p.$vertical ? \"width: 100%;\" : \"\")}\n ${(p) => (p.$flush && p.$vertical ? \"height: 100%;\" : \"\")}\n }\n }\n`;\n\nexport default TabList;\n\n// a function that take children and return new children with size and vertical props, and if a child is a fragment, it should recursivly call itself on the children of the fragment\nconst addPropsToChidren = (\n children: React.ReactNode,\n size: Size,\n vertical: boolean\n): React.ReactNode => {\n const newChildren = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n return addPropsToChidren(child.props.children, size, vertical);\n } else {\n return React.cloneElement(child, { size, vertical } as any);\n }\n }\n\n return child;\n });\n\n return newChildren;\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ntype Style = \"default\" | \"filledDarker\" | \"filledLighter\";\n\ninterface DGA_TextareaProps\n extends Omit<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"size\" | \"style\"\n > {\n label: React.ReactNode;\n style?: Style;\n error?: boolean;\n scrollBar?: boolean;\n resize?: boolean;\n ref?: React.Ref<HTMLTextAreaElement>;\n}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, DGA_TextareaProps>(\n (\n { label, style, error, scrollBar = false, resize = true, ...props },\n ref\n ) => {\n const theme = useTheme();\n\n // Default\n let fontColor = theme.textColor;\n let placeholderFontColor = theme.palette.neutral[500];\n let border = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[400]\n }`;\n let borderHovered = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n\n if (style === \"filledDarker\") {\n backgroundColor = theme.palette.neutral[100];\n }\n\n if (props.disabled) {\n fontColor = theme.palette.neutral[400];\n border = `1px solid ${theme.palette.neutral[200]}`;\n borderHovered = `1px solid ${theme.palette.neutral[200]}`;\n }\n\n return (\n <div\n style={{\n direction: theme.direction,\n display: \"flex\",\n flexDirection: \"column\",\n color: theme.textColor,\n width: \"100%\",\n overflow: \"hidden\",\n }}\n className={mergeStrings(\"dgaui dgaui_textarea\", props.className)}\n >\n <label\n style={{ marginBottom: 8, textAlign: \"start\" }}\n htmlFor={props.id}\n >\n {label}\n </label>\n <StyledComponent\n $customStyle={{\n direction: theme.direction,\n placeholderFontColor,\n fontColor,\n border,\n borderHovered,\n backgroundColor,\n shadowFocus,\n scrollBar,\n resize,\n }}\n {...props}\n ref={ref}\n />\n <StyledComponentSpan\n $bgColor={animationColor}\n className=\"dgauiInputSeparator\"\n />\n </div>\n );\n }\n);\n\nconst StyledComponent = styled.textarea<{\n $customStyle: {\n direction: string;\n fontColor: string;\n border: string;\n shadowFocus: string;\n placeholderFontColor: string;\n borderHovered: string;\n backgroundColor: string;\n scrollBar?: boolean;\n resize?: boolean;\n };\n}>`\n outline: none;\n direction: ${(props) => props.$customStyle.direction};\n border-radius: 4px;\n width: 100%;\n min-height: 96px;\n padding: 12px 16px;\n font-size: 16px;\n color: ${(props) => props.$customStyle.fontColor};\n border: ${(props) => props.$customStyle.border};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n box-sizing: border-box;\n\n resize: ${(p) => (p.$customStyle.resize ? \"both\" : \"none\")};\n overflow-y: ${(p) => (p.$customStyle.scrollBar ? \"scroll\" : \"auto\")};\n\n &::placeholder {\n color: ${(props) => props.$customStyle.placeholderFontColor};\n font-weight: 300;\n }\n &:focus {\n ${(props) => props.$customStyle.shadowFocus};\n }\n\n &:hover {\n border: ${(props) => props.$customStyle.borderHovered};\n }\n\n &:focus + .dgauiInputSeparator {\n transform: scaleX(0.995) translateY(-2.5px);\n opacity: 1;\n }\n &:active + .dgauiInputSeparator {\n transform: scaleX(0.5) translateY(-2.5px);\n opacity: 1;\n }\n &:read-only + .dgauiInputSeparator,\n &:disabled + .dgauiInputSeparator {\n transform: scaleX(0) translateY(-2.5px);\n opacity: 0;\n }\n`;\n\nconst StyledComponentSpan = styled.span<{ $bgColor: string }>`\n height: 2px;\n background: ${(props) => props.$bgColor};\n display: block;\n transform: scaleX(0) translateY(-2.5px);\n transform-origin: 50%;\n opacity: 1;\n transition: all 0.2s;\n border-bottom-left-radius: 50px;\n border-bottom-right-radius: 50px;\n`;\n\nexport default Textarea;\n","// assets\nimport iconInfo from './icons/circle_info.png'\nimport iconSuccess from './icons/circle_success.png'\nimport iconWarning from './icons/circle_warning.png'\nimport iconNeutral from './icons/circle_neutral.png'\nimport iconCritical from './icons/circle_critical.png'\n\nexport const getColors = (theme: Theme): { [k in 'critical' | 'warning' | 'success' | 'info' | 'neutral']: any } => ({\n neutral: {\n icon: iconNeutral,\n vLine: theme.palette.neutral[200],\n border: theme.palette.neutral[200],\n font: theme.palette.neutral[800],\n bg: theme.palette.neutral[25],\n },\n critical: {\n icon: iconCritical,\n vLine: theme.palette.error[600],\n border: theme.palette.error[200],\n font: theme.palette.error[700],\n bg: theme.palette.error[25],\n },\n warning: {\n icon: iconWarning,\n vLine: theme.palette.warning[600],\n border: theme.palette.warning[200],\n font: theme.palette.warning[700],\n bg: theme.palette.warning[25],\n },\n success: {\n icon: iconSuccess,\n vLine: theme.palette.success[600],\n border: theme.palette.success[200],\n font: theme.palette.success[700],\n bg: theme.palette.success[25],\n },\n info: {\n icon: iconInfo,\n vLine: theme.palette.info[600],\n border: theme.palette.info[200],\n font: theme.palette.info[700],\n bg: theme.palette.info[25],\n },\n});","import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport styled, { css, keyframes } from \"styled-components\";\n\n// lib\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\n\n// assets\nimport { getColors } from \"./colors\";\nimport useTheme from \"../../lib/useTheme\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\n\nexport type Position =\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\";\n\ninterface NotificationToastProps {\n leadText: React.ReactNode;\n helpText?: string;\n type?: \"success\" | \"critical\" | \"warning\" | \"info\";\n closeButton?: boolean;\n actions?: React.ReactNode;\n onClose?: Function;\n style?: React.CSSProperties;\n}\n\nconst NotificationToast: React.FC<NotificationToastProps> = ({\n leadText,\n helpText,\n type,\n actions,\n closeButton,\n onClose,\n style,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const colorsResult =\n getColors(theme)[type as keyof ReturnType<typeof getColors>];\n const isMinimal = !helpText && !actions;\n\n return (\n <StyledAlertComponent\n $theme={theme}\n $colors={colorsResult}\n style={style}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_inlineAlert \" +\n (screenSizes.isMobile ? \" mobile \" : \"\") +\n (isMinimal ? \" minimal \" : \"\")\n )}\n >\n <div className=\"icon\" />\n <div className=\"content\">\n <div className=\"leadText\">{leadText}</div>\n {helpText && <div className=\"helpText\">{helpText}</div>}\n {actions && <div className=\"actions\">{actions}</div>}\n </div>\n {closeButton && <div className=\"close\" onClick={() => onClose?.()} />}\n </StyledAlertComponent>\n );\n};\n\nconst StyledAlertComponent = styled.div<{\n $theme: Theme;\n $colors: any;\n}>`\n\tdirection: ${(p) => p.$theme.direction};\n\twidth: 100%;\n\tdisplay: flex;\n\tposition: relative;\n\tpadding: 16px 24px;\n\tbackground-color: #ffffff;\n\tborder-radius: 8px;\n\tborder: 1px solid;\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\n\t&::before {\n\t\tcontent: '';\n\t\tdisplay: block;\n\t\twidth: 8px;\n\t\theight: 100%;\n\t\tposition: absolute;\n\t\tinset-inline-start: 0;\n\t\ttop: 0;\n\t\tbackground-color: ${(p) => p.$colors.vLine};\n\t}\n\n\t.icon {\n\t\tmin-width: 40px;\n\t\theight: 40px;\n\t\tbackground-image: url(${(p) => p.$colors.icon});\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: contain;\n\t\tmargin-inline-end: 12px;\n\t}\n\t.content {\n\t\twidth: 100%;\n\t\t.leadText {\n\t\t\tfont-size: 16px;\n\t\t\tfont-weight: 600;\n\t\t\tmin-height: 40px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n}\n\t\t.helpText {\n\t\t\tfont-size: 14px;\n\t\t\tcolor: ${(p) => p.$theme.palette.neutral[700]};\n\t\t\tmargin-top: 8px;\n\t\t}\n\t\t}\n\t\t.actions {\n\t\t\tmargin-top: 16px;\n\t\t\tbutton {\n\t\t\t\tmargin-inline-end: 8px;\n\t\t\t}\n}\n\t.close {\n\t\tmargin-inline-start: 12px;\n\t\tcursor: pointer;\n\t\tbackground-image: url(${buttonCloseIcon});\n\t\tbackground-repeat: no-repeat;\n\t\tmin-width: 20px;\n\t\theight: 20px;\n\t\tmargin-top: 10px;\n\t\t&:hover {\n\t\t\ttransform: scale(1.1);\n\t\t}\n\t}\n\n\t&.mobile {\n\t\tflex-direction: column;\n\n\t\t&::before {\n\t\t\twidth: 100%;\n\t\t\theight: 8px;\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t}\n\t\t.icon {\n\t\t\tmargin-bottom: 16px;\n\t\t}\n\t\t.content {\n\t\t\t.title {\n\t\t\t\tmargin-inline-end: 16px;\n\t\t\t}\n\t\t\t.actionButtons {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\n\t\t\t\tbutton {\n\t\t\t\t\tmargin-inline-end: 0;\n\t\t\t\t\tmargin-bottom: 8px;\n\n\t\t\t\t\t&:last-child {\n\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t.close {\n\t\t\tmargin-inline-start: 0;\n\t\t\tposition: absolute;\n\t\t\tinset-inline-end: 16px;\n\t\t\ttop: 16px;\n\t\t}\n\t}\n\n\t&.minimal {\n\t\tpadding: 16px 24px;\n\n\t\t&.mobile {\n\t\t\tpadding-top: 14px;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\n\t\t\t.icon {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t\t.close {\n\t\t\t\tposition: initial;\n\t\t\t\tmargin-top: 0;\n\t\t\t\tmargin-inline-start: 16px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\ninterface Props extends NotificationToastProps {\n position?: Position;\n duration?: number;\n rtl?: boolean;\n}\n\nconst toast: (props: Props) => void = ({\n position = \"bottom-left\",\n duration = 993000,\n rtl,\n ...props\n}) => {\n const container = document.createElement(\"div\");\n container.className = \"dgaui dgaui_toastContainer\";\n const body = document.getElementsByTagName(\"body\")[0];\n body.appendChild(container);\n\n const root = createRoot(container);\n\n const onCloseHandler = () => {\n props.onClose?.();\n root.unmount();\n container.remove();\n };\n\n const closeHandler = () => {\n addCloseClass();\n setTimeout(onCloseHandler, 200);\n };\n\n const addCloseClass = () => {\n if (container.childNodes[0] && container.childNodes[0] instanceof Element) {\n container.childNodes[0].className =\n container.childNodes[0].className + \" toastClose\";\n }\n };\n\n setTimeout(addCloseClass, +duration);\n setTimeout(onCloseHandler, +duration + 200);\n\n root.render(\n <StyledComponent className=\"dgaui_toast\" $position={position}>\n <NotificationToast\n {...props}\n onClose={closeHandler}\n closeButton={props.closeButton}\n style={{ direction: rtl ? \"rtl\" : \"ltr\" }}\n />\n </StyledComponent>\n );\n};\n\nconst getAnimation = (position: Position) => {\n switch (position) {\n case \"top-left\": {\n return {\n keyframes: keyframes`\n from {\n left: -484px;\n }\n to {\n left: 16px;\n }\n `,\n css: css`\n top: 16px;\n left: 16px;\n `,\n backCss: css`\n left: -484px;\n `,\n mobileCss: css`\n padding-inline-end: 16px;\n `,\n };\n }\n case \"top-center\": {\n return {\n keyframes: keyframes`\n from {\n top: -100vh;\n }\n to {\n top: 16px;\n }\n `,\n css: css`\n top: 16px;\n left: calc(50% - 242px);\n `,\n backCss: css`\n top: -100vh;\n `,\n mobileCss: css`\n padding: 0 8px;\n `,\n };\n }\n case \"top-right\": {\n return {\n keyframes: keyframes`\n from {\n right: -484px;\n }\n to {\n right: 16px;\n }\n `,\n css: css`\n top: 16px;\n right: 16px;\n `,\n backCss: css`\n right: -484px;\n `,\n mobileCss: css`\n padding-inline-start: 16px;\n `,\n };\n }\n case \"bottom-left\": {\n return {\n keyframes: keyframes`\n from {\n left: -484px;\n }\n to {\n left: 16px;\n }\n `,\n css: css`\n bottom: 16px;\n left: 16px;\n `,\n backCss: css`\n left: -484px;\n `,\n mobileCss: css`\n padding-inline-end: 16px;\n `,\n };\n }\n case \"bottom-center\": {\n return {\n keyframes: keyframes`\n from {\n bottom: -100vh;\n }\n to {\n bottom: 16px;\n }\n `,\n css: css`\n bottom: 16px;\n left: calc(50% - 242px);\n `,\n backCss: css`\n bottom: -100vh;\n `,\n mobileCss: css`\n padding: 0 8px;\n `,\n };\n }\n case \"bottom-right\": {\n return {\n keyframes: keyframes`\n from {\n right: -484px;\n }\n to {\n right: 16px;\n }\n `,\n css: css`\n bottom: 16px;\n right: 16px;\n `,\n backCss: css`\n right: -484px;\n `,\n mobileCss: css`\n padding-inline-start: 16px;\n `,\n };\n }\n }\n};\n\nconst StyledComponent = styled.div<{ $position: Position }>`\n z-index: 2500;\n width: 484px;\n background-color: #fff;\n position: fixed;\n transition: all 0.2s;\n ${(p) => getAnimation(p.$position)?.css};\n animation: ${(p) => getAnimation(p.$position)?.keyframes} 0.2s\n cubic-bezier(0.075, 0.82, 0.165, 1);\n\n &.toastClose {\n ${(p) => getAnimation(p.$position)?.backCss};\n animation-direction: reverse;\n }\n\n .dgaui_inlineAlert {\n box-shadow: 0 32px 64px -12px #10182824;\n }\n\n &:has(.dgaui_inlineAlert.mobile) {\n ${(p) => getAnimation(p.$position)?.mobileCss};\n }\n\n @media screen and (max-width: 640px) {\n width: calc(100% - 32px);\n }\n`;\n\nexport default toast;\n","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKKADAAQAAAABAAAAKAAAAAB65masAAAE2ElEQVRYCc1ZTWxbRRCeffYzaQqp05LYlYJkV0JCodRBHBrEoQ5I7RkJOHBqpXB2Um5wiHPJjWCfATVcQIIDEidSCSWcmhxAaYBwqNQYEUTSNsSN0kT4b/lmnffs5L2194X8MJLz9s3M7n47Mzs7+yLogCTLD9NUpQESdIWEGMAwUSKJH5Mool0gSQW83CWLZoXdM4t2YBJBeki5EaVKJUNSjDTAmI4gCtCcJTs0LkQ3t43ICOAusDFYBMAOg8SUKdC2AGVpPQNrZYNbrN1C2KK1cRHpnWql2RIg4uzjw7OaFkZORHpGdVJfgMql5co36JTWdTxk/gLZ4SHEJjbXXrL2vu6+lSszaKV9ZUfDHKC6QTyjewAqtxLSx/FTWpYQUvtoj4tl6cF15LBb+3SO97VWHRUd8ZwzqQtQ7mwkKFSFa2XCEZ7Qs4h4TDrx2HBxqDr2PwDHNokiHoGlTsqCdetVlh1mkOffP9+h1bnbtDY/TeWtx6prZ+w56kr2U98bb9PZl14NMlxD1w53sxXrAEuPbsF61xvS9q3tByu0mLtJDJBBxC9fpVMAZp/uos37v9L6L3O0NjdN8cFr9MJwljpjfe0HbdaQSOJPxbIOQFjPPPYYwNwH71DXhRcplZkEMP/Jd7CIu1jEztof9MqHnyr9Zgxt2kUk8G6hqhJJM22UXTFbbh7g+l5/i55/96bLb9W498UkFb79jF7LTwezpKAhi2rBEvJvn2TpVG+fMTgGzgt5BtZezJstyF0syjkLtVrKZbRpcLxxXLFb/cixlJ8sNTKp4nUdY5hTLW2hGEiYdlj5/msV9PqY+1NtEL/x2Oq8mdaw443JCqU4DyZMO2wuL9HZiwdMG5gkfvkaAH5nOh30ZJQBRk17bGM3dl3oN1X36HVgt1eebHr4LRjRcAuhr6jcYoLewau4ougpghwZlBgg12BGVrSfPoOctqKdoxNxFj59RivfvL+kkrlWwSsowsV8AzOjGGJoFUeajhbz79NPE8M6MU6XO+oI1Cp4BQWLhFzw8v05MbiQU822xop8WlzKfOTbmRM8pyg+n42pVvvdwt32B9MO55AmOFXoEi6nEj7+/IjP7RjO5UDFg7AWLAqRsQV5Yk64fBbf+9JT/PrhUjzW5fO4fzir1fEV8IWfBSi1N/Aw2iiszwB/nHhPHXmXcKroKhWn4mH9wYmvtNblMb0kC7iSJusA/3mYRX4Y8yrpOVypLOFc5rhi1527OKgAcBpia63O33ZLsVYVj34GMSUiz96oA+RPGuUKWzEw8abhI5BPGU7kTJyOeMfHsakCxVzz7HYFZf/5ggLIfFl6lMPfTLPOybXr1uP5GwDrVlwGzzgWj2YB+CpmV3GJP1/g8fksVrR7ixp33k/wOe6AYwwuQH5BiQ03izy3T4Zkfv/HJNfFzYCQdmbwnm7mHX1bLgDcy/vn2WNBV2iH30R7wX0/+gY+bD4Z8pvGF6C6j0Z6sJrjcDe7tQebIlk0BugoIlGOIPXcwK/g8A7xWcSFbRRuxRx68rVgs7oK2mp1iKT8vJn/39oyT/ZWUnTwpmxNvptE10Xu/JUgK5RF9rwC9yd0ehp+ERe0PEW2cjp3+vULBLB5AHXhr9+pUwCcgIx/UfyYilgAAKHWlCjnUDEd9N8Q/wKvLq424p4TIgAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKKADAAQAAAABAAAAKAAAAAB65masAAAFJklEQVRYCc1YTWhcVRQ+976JKGbamSZTqBA7cadTSFqp0LpwgoUWdCNNshKMSFcFmxDQ5cxsKyURrAsDNgtXMdBNhQSVTBdaiCgjmLgzo4EKTdKZZlIjZN69nu8mb/pmMj/3hST1wMy7P+fne+eec+59V9AeaUWXklKpXi3kG0LrXiIR0UQRqBNERf7Lcz+vNf1KkrIxEc7uxRTrsqeC1hFFG9dI0bAHxlZakADgrCOdTFQ8l7eXs+DcAZbSDMyC3YJFTNoCbenBNQ2P6XRQj7VCaTyqVaYzdGSyGW9TgGu6NLZ/XqsPQ0sxHhPtI/VnTTzvnsKSunrjNmlK7p7d/xEhKCdFuS8qosVa7bJ2AH2lH88dFjjY40zvdXXoNtq1tAugWVZTNmpZD7jPq7WiN8ZqrVTF4Gp5fYiEuFXLdJh9TWok5hwd92xWABb0Zlwpd06TjnuTT+lZdGS524vHyhK7yk39D8DBJ5EytaU85xgPwnuuKi95g0GeP/6xQLOL8zSz+BM92nxsRF88dpwSJ07SwJk+Ov9SIoi6Ci97MQovGoCr7gbHnR6qzFo0lgsPaGT6JgHg+e4EXXzlNeo6FqMjzz5PC/fzdI/HZ36fp0s8nnl7iLqixy20PmHRRJmYE04bgGvuxlKQ5f2NAfRPpOjUiTiNDVxtaNx7ieXCCn357keUeCH+BEHrVrHTCUcFTiVC0Vxr/m0OGO2fSNPgmSSNXhi0Ervx3RRN/PANffvhJw1fpp4i3sX6JJ9MkvUmG42l7kxSVyRmDQ568CKn2HsIiUAkRa8UmnpshRBvM5wQWFYbWv93O2nAO9Z/1cQrdFiTVknJ+2DcVmDq5zkT9DYBf+P7Kbr8RbqiGjLI6FnOdlsSQvZIzpa4rcDi33k6Z1E2AA5xN3phoEr1xZfPmhWoGmza0REU6khTHt/kX5yNCc5cP6Gk+GnqlzkDbpyXFCXGT11cH71a6R9v0jYAm8zvnlrf/Kdq8DKXm5Hpz8wY4nP465s0+uYgDb7aV8WHDmpkUAqxAM5gVl48ygaWiw+qbExfyZia+GjzukkCgGtUfhbuLwUqM8AmBWkAtKJLibNmW/Mzo3wAJLLzyutvNQQHmXtLC1xuTvrFm7aFEHmptcg15fJNYjsDEBRrPwHk/MefNwUHGezX2J9tSSn1p9RC3LUVQJnAr17BbRVfkEHSBDo8CJHjnURbexAvgoKLvRilxJbAi/0Yh4ZApCgrILDqlgr8sEoU8APgB19d54CPGcCNCrd3WAA/4hShYEv4LO1w2rsNwBW3hGNNylYYfDCeunPLxBWW7hwfuXBawfa2/HCFZvmohXjFUazZiaexTTHZ6bS/bwAWdCHiqhC8GJgAAlsgdhkUchDKETIeSRUo5oz09t/OsT9vAGJodas0zpc813w8T7G57T0AqADc8eISj1nH4kG8AWJPyi18xOehv/LRZM7/rsochNEgOjXf13jgqgCi0/EMf48q+jSIwn3lZdu1l0mVJfYbWlWlQ736gG3e1nIdsv20HwfalSX2Tzii/I7gCx3/2IG2BWWl2OqrZ6MuQMRjhwyfPpTlxrLKcN2bLQCuC9B7k8628DBfPXGxFHlvbL+eHFtF7YoRY6OJ0roxWMvPJSi+5Tpp/oB5r3ZuT332mhMqp7FSreStAHpKPKAO3+wH+dCHPDymGFgoVB63AebZDATQE8JzZauU5ABJcjL1sJI4X3jG9U6RBxi+SinyUS4ntLqrlMzF2sJZv7xt+z/+xgcVO9htPQAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useTheme from \"../../lib/useTheme\";\nimport qIcon from \"../../assets/images/qIcon.png\";\n\nconst caretSize = 6;\n\ninterface DGA_TooltipProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"|\"content\"> {\n children: React.ReactNode;\n title?: React.ReactNode;\n content?: React.ReactNode;\n jsxContents?: React.ReactNode;\n beakPlacement?: \"top\" | \"bottom\" | \"left\" | \"right\";\n beakAlignment?: \"start\" | \"end\" | \"center\";\n noBeak?: boolean;\n inverted?: boolean;\n backgroundColor?: string;\n icon?: boolean;\n}\n\nconst Tooltip: React.FC<DGA_TooltipProps> = ({\n title,\n content,\n jsxContents,\n children,\n beakPlacement = \"top\",\n beakAlignment = \"center\",\n noBeak,\n inverted,\n backgroundColor,\n icon = false,\n ...props\n}) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n const [contentClicked, setContentClicked] = React.useState(false);\n const ref = React.useRef<HTMLDivElement>(null);\n const tooltipRef = React.useRef<HTMLDivElement>(null);\n const [position, setPosition] = React.useState({\n top: 0,\n left: 0,\n caret: {\n top: 0,\n left: 0,\n color: \"\",\n },\n });\n\n const showTooltip = open || contentClicked;\n let caretColor = inverted ? theme.palette.neutral[800] : \"#fff\";\n if (backgroundColor) {\n caretColor = backgroundColor;\n }\n\n const caretColors = {\n toBottom: `${caretColor} transparent transparent transparent`,\n toTop: `transparent transparent ${caretColor} transparent`,\n toLeft: `transparent ${caretColor} transparent transparent`,\n toRight: `transparent transparent transparent ${caretColor}`,\n };\n\n const calcPosition = () => {\n if (ref.current && tooltipRef.current) {\n let newTop = 0;\n let newLeft = 0;\n let newCaret = {\n top: 0,\n left: 0,\n color: \"\",\n };\n const childrenWidth = ref.current.clientWidth;\n const childrenHeight = ref.current.clientHeight;\n const childrenTop = ref.current.offsetTop;\n const childrenLeft = ref.current.offsetLeft;\n const tooltipWidth = tooltipRef.current.clientWidth;\n const tooltipHeight = tooltipRef.current.clientHeight;\n\n if (beakPlacement === \"top\" && beakAlignment === \"start\") {\n newTop = childrenTop - tooltipHeight - caretSize;\n newLeft = childrenLeft;\n newCaret = {\n top: childrenTop - caretSize,\n left: childrenLeft + caretSize,\n color: caretColors.toBottom,\n };\n }\n if (beakPlacement === \"top\" && beakAlignment === \"center\") {\n newTop = childrenTop - tooltipHeight - caretSize;\n newLeft = childrenLeft - tooltipWidth / 2;\n newCaret = {\n top: childrenTop - caretSize,\n left: childrenLeft,\n color: caretColors.toBottom,\n };\n }\n if (beakPlacement === \"top\" && beakAlignment === \"end\") {\n newTop = childrenTop - tooltipHeight - caretSize;\n newLeft = childrenLeft + caretSize * 3 - tooltipWidth;\n newCaret = {\n top: childrenTop - caretSize,\n left: childrenLeft,\n color: caretColors.toBottom,\n };\n }\n\n if (beakPlacement === \"bottom\" && beakAlignment === \"start\") {\n newTop = childrenTop + childrenHeight + caretSize;\n newLeft = childrenLeft;\n newCaret = {\n top: childrenTop + childrenHeight - caretSize,\n left: childrenLeft + caretSize,\n color: caretColors.toTop,\n };\n }\n if (beakPlacement === \"bottom\" && beakAlignment === \"center\") {\n newTop = childrenTop + childrenHeight + caretSize;\n newLeft = childrenLeft - tooltipWidth / 2;\n newCaret = {\n top: childrenTop + childrenHeight - caretSize,\n left: childrenLeft,\n color: caretColors.toTop,\n };\n }\n if (beakPlacement === \"bottom\" && beakAlignment === \"end\") {\n newTop = childrenTop + childrenHeight + caretSize;\n newLeft = childrenLeft + caretSize * 4 - tooltipWidth;\n newCaret = {\n top: childrenTop + childrenHeight - caretSize,\n left: childrenLeft + caretSize,\n color: caretColors.toTop,\n };\n }\n\n if (beakPlacement === \"left\" && beakAlignment === \"start\") {\n newTop = childrenTop;\n newLeft = childrenLeft - tooltipWidth - caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft - caretSize,\n color: caretColors.toRight,\n };\n }\n if (beakPlacement === \"left\" && beakAlignment === \"center\") {\n newTop = childrenTop + caretSize * 1.5 - tooltipHeight / 2;\n newLeft = childrenLeft - tooltipWidth - caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft - caretSize,\n color: caretColors.toRight,\n };\n }\n if (beakPlacement === \"left\" && beakAlignment === \"end\") {\n newTop = childrenTop - tooltipHeight + caretSize * 4;\n newLeft = childrenLeft - tooltipWidth - caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft - caretSize,\n color: caretColors.toRight,\n };\n }\n\n if (beakPlacement === \"right\" && beakAlignment === \"start\") {\n newTop = childrenTop;\n newLeft = childrenLeft + childrenWidth + caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft + childrenWidth - caretSize,\n color: caretColors.toLeft,\n };\n }\n if (beakPlacement === \"right\" && beakAlignment === \"center\") {\n newTop = childrenTop - tooltipHeight / 2 + caretSize * 2;\n newLeft = childrenLeft + childrenWidth + caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft + childrenWidth - caretSize,\n color: caretColors.toLeft,\n };\n }\n if (beakPlacement === \"right\" && beakAlignment === \"end\") {\n newTop = childrenTop - tooltipHeight + caretSize * 4;\n newLeft = childrenLeft + childrenWidth + caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft + childrenWidth - caretSize,\n color: caretColors.toLeft,\n };\n }\n\n setPosition({\n top: newTop,\n left: newLeft,\n caret: newCaret,\n });\n }\n };\n\n React.useEffect(() => {\n if (ref.current) {\n calcPosition();\n\n const resizeHandler = () => {\n calcPosition();\n };\n\n const clickHandler = (e: MouseEvent) => {\n // Clicked outside\n if (!ref.current?.contains(e.target as any)) {\n setOpen(false);\n setContentClicked(false);\n }\n };\n\n const mouseoverHandler = (e: MouseEvent) => {\n calcPosition();\n setOpen(true);\n };\n\n const mouseleaveHandler = () => {\n setOpen(false);\n };\n\n window.addEventListener(\"click\", clickHandler);\n window.addEventListener(\"resize\", resizeHandler);\n ref.current.addEventListener(\"mouseover\", mouseoverHandler);\n ref.current.addEventListener(\"mouseleave\", mouseleaveHandler);\n ref.current.addEventListener(\"click\", mouseoverHandler);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler);\n ref?.current?.removeEventListener(\"mouseover\", mouseoverHandler);\n ref?.current?.removeEventListener(\"mouseleave\", mouseleaveHandler);\n ref?.current?.removeEventListener(\"click\", mouseoverHandler);\n };\n }\n }, [ref, tooltipRef, beakPlacement, beakAlignment]);\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_tooltip\", props.className)}\n $theme={theme}\n $inverted={inverted}\n {...props}\n ref={ref}\n onClick={() => {\n setContentClicked(true);\n }}\n $position={position}\n >\n {children}\n\n <StyledDiv\n ref={tooltipRef}\n $theme={theme}\n $position={position}\n $inverted={inverted}\n $backgroundColor={backgroundColor}\n className={\n \"dgaui_tooltipContent\" + (showTooltip ? \" show-tooltip\" : \"\")\n }\n >\n {jsxContents && jsxContents}\n {!jsxContents && (\n <>\n {icon && (\n <div className=\"dgaui_tooltipContentIcon\">\n <img src={qIcon} />\n </div>\n )}\n <div className=\"dgaui_tooltipContentText\">\n <div className=\"dgaui_tooltipTitle\">{title}</div>\n <div className=\"dgaui_tooltipDescription\">{content}</div>\n </div>\n </>\n )}\n </StyledDiv>\n {!noBeak && <span className={showTooltip ? \"show\" : \"\"} />}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $position: {\n top: number;\n left: number;\n caret: { top: number; left: number; color: string };\n };\n $inverted?: boolean;\n}>`\n direction: ${(props) => props.$theme.direction};\n display: inline-block;\n\n span {\n position: absolute;\n display: none;\n z-index: 1;\n border-style: solid;\n top: ${(p) => p.$position.caret.top}px;\n left: ${(p) => p.$position.caret.left}px;\n ${(p) => p.$theme.elevation.shadows.lg}\n border-width: ${caretSize}px;\n border-color: ${(p) => p.$position.caret.color};\n\n &.show {\n display: initial;\n }\n }\n`;\n\nconst StyledDiv = styled.div<{\n $theme: Theme;\n $position: { top: number; left: number };\n $inverted?: boolean;\n $backgroundColor?: string;\n}>`\n position: absolute;\n top: ${(p) => p.$position.top}px;\n left: ${(p) => p.$position.left}px;\n z-index: 1;\n background-color: ${(p) =>\n p.$backgroundColor\n ? p.$backgroundColor\n : p.$inverted\n ? p.$theme.palette.neutral[800]\n : \"#fff\"};\n width: 240px;\n opacity: 0;\n display: flex;\n visibility: hidden;\n max-height: 400px;\n\n border-radius: 4px;\n ${(p) => p.$theme.elevation.shadows.lg}\n\n .dgaui_tooltipContentIcon {\n padding: 8px;\n padding-inline-end: 0;\n\n img {\n width: 18px;\n height: 18px;\n }\n }\n .dgaui_tooltipContentText {\n padding: 8px;\n font-size: 12px;\n\n .dgaui_tooltipTitle {\n font-weight: 600;\n color: ${(p) =>\n p.$inverted\n ? p.$theme.palette.neutral[50]\n : p.$theme.palette.neutral[800]};\n }\n .dgaui_tooltipDescription {\n margin-top: 8px;\n color: ${(p) =>\n p.$inverted\n ? p.$theme.palette.neutral[100]\n : p.$theme.palette.neutral[700]};\n line-height: 16px;\n }\n }\n\n &.show-tooltip {\n visibility: visible;\n\n animation: show-tooltip 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n }\n @keyframes show-tooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n`;\n\nexport default Tooltip;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport interface DGA_HeaderMenuItemProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n selected?: boolean;\n}\n\nconst HeaderMenuItem: React.FC<DGA_HeaderMenuItemProps> = ({\n children,\n selected,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_headerMenuItem\", props.className)}\n $theme={theme}\n $selected={selected}\n >\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.button<{\n $theme: Theme;\n $selected?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: 72px;\n outline: none;\n background-color: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : \"transparent\"};\n border-radius: 4px;\n font-weight: ${(p) => (p.$selected ? 600 : 500)};\n color: ${(p) => (p.$selected ? \"#fff\" : p.$theme.textColor)};\n padding: 8px 16px;\n box-sizing: border-box;\n position: relative;\n cursor: pointer;\n border: 2px solid transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n\n &::after {\n content: \"\";\n display: block;\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n position: absolute;\n z-index: 2;\n height: 6px;\n width: 90%;\n bottom: -2px;\n border-radius: 100px;\n background: ${(p) =>\n p.$selected ? p.$theme.palette.primary[400] : p.$theme.textColor};\n }\n\n &:hover {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[700]\n : p.$theme.palette.neutral[100]};\n &::after {\n opacity: 1;\n background: ${(p) =>\n p.$selected ?p.$theme.palette.primary[400] : p.$theme.palette.neutral[400]};\n }\n }\n &:active {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[900]\n : p.$theme.palette.neutral[200]};\n &::after {\n opacity: 1;\n background: ${(p) =>\n p.$selected ? p.$theme.palette.primary[400] : p.$theme.palette.neutral[800]};\n }\n }\n\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n &::after {\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n }\n }\n`;\n\nexport default HeaderMenuItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport arrowDownImage from \"../../assets/images/chevron.png\";\n\nexport interface DGA_NavigationDrawerItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n children?: React.ReactNode;\n title: React.ReactNode;\n selected?: boolean;\n disabled?: boolean;\n expanded?: boolean;\n defaultExpanded?: boolean;\n type?: \"divider\" | \"parent\" | \"link\";\n level?: 1 | 2;\n}\n\nconst NavigationDrawerItem: React.FC<DGA_NavigationDrawerItemProps> = ({\n children,\n title,\n selected,\n type = \"link\",\n level = 1,\n disabled,\n expanded,\n defaultExpanded,\n ...props\n}) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(defaultExpanded);\n const [contentHeight, setContentHeight] = React.useState(0);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n const showContent = typeof expanded !== \"undefined\" ? expanded : open;\n\n const onTitleClickedHandler = () => {\n setOpen(!showContent);\n };\n\n const className = mergeStrings(\n \"dgaui dgaui_ndi\" +\n (disabled ? \" disabled\" : \"\") +\n (type === \"parent\" ? \" parent\" : \"\"),\n props.className\n );\n\n React.useEffect(() => {\n if (contentRef.current?.clientHeight) {\n setContentHeight(contentRef.current.clientHeight+10);//10 for content padding\n }\n }, [contentRef.current?.clientHeight]);\n\n if (type === \"divider\") {\n return <StyledComponentDivider />;\n }\n\n return (\n <>\n <StyledComponent\n {...props}\n className={className}\n $theme={theme}\n $selected={selected}\n $level={level}\n $type={type}\n tabIndex={0}\n onClick={onTitleClickedHandler}\n >\n {title}\n {type === \"parent\" && (\n <img\n src={arrowDownImage}\n style={{\n transition: \"all 0.2s\",\n transform: showContent ? \"rotateZ(180deg)\" : \"none\",\n }}\n />\n )}\n </StyledComponent>\n {type === \"parent\" && (\n <div\n className=\"dgaui_ndiContent\"\n style={{\n direction: theme.direction,\n height: showContent ? contentHeight : 0,\n overflow: \"hidden\",\n transition: \"all 0.2s\",\n }}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n )}\n </>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $selected?: boolean;\n $vertical?: boolean;\n $level: 1 | 2;\n $type: \"divider\" | \"parent\" | \"link\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: 36px;\n outline: none;\n background-color: ${(p) =>\n p.$selected ? p.$theme.palette.neutral[200] : \"transparent\"};\n font-weight: ${(p) => (p.$level === 1 ? 600 : 400)};\n color: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : p.$theme.textColor};\n padding: 8px 16px;\n position: relative;\n cursor: pointer;\n border: 2px solid transparent;\n border-radius: 4px;\n display: flex;\n justify-content: ${(p) =>\n p.$type === \"parent\" ? \"space-between\" : \"flex-start\"};\n align-items: center;\n\n &::after {\n content: \"\";\n display: block;\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n height: 75%;\n width: 6px;\n border-radius: 10px;\n bottom: auto;\n inset-inline-start: -2px;\n position: absolute;\n z-index: 2;\n background: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : p.$theme.textColor};\n }\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n\n &::after {\n opacity: 1;\n background: ${(p) => p.$theme.palette.neutral[400]};\n }\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n\n &::after {\n background: ${(p) => p.$theme.palette.neutral[800]};\n opacity: 1;\n }\n }\n\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n &::after {\n opacity: 0;\n }\n }\n &.disabled {\n pointer-events: none;\n color: ${(p) => p.$theme.palette.neutral[400]};\n cursor: default;\n pointer-events: none;\n &::after {\n opacity: 0;\n background: ${(p) => (p.$selected ? p.$theme.palette.neutral[400] : \"\")};\n }\n img {\n filter: opacity(0.5) grayscale(100%);\n }\n }\n`;\n\nconst StyledComponentDivider = styled.div`\n margin: 8px 16px;\n height: 1px;\n background-color: #d2d6db;\n width: 100%;\n`;\n\nexport default NavigationDrawerItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport TextInput from \"../TextInput\";\nimport searchByVoiceIcon from \"../../assets/images/searchByVoice.png\";\n\nconst sizes = {\n medium: { w: 320, h: 32, p: 8, f: 14, prefixW: 72 },\n large: { w: 320, h: 40, p: 8, f: 16, prefixW: 61 },\n};\n\ntype Style = \"default\" | \"filledDarker\" | \"filledLighter\";\n\nexport interface DGA_SeachBoxProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"style\"> {\n label?: React.ReactNode;\n size?: \"large\" | \"medium\";\n style?: Style;\n icon?: React.ReactNode;\n showTrailingIcon?: boolean;\n showLabel?: boolean;\n helperText?: React.ReactNode;\n onSearchByVoiceClicked?: Function;\n}\n\nconst SearchBox: React.FC<DGA_SeachBoxProps> = ({\n label,\n icon,\n showTrailingIcon = true,\n showLabel = true,\n helperText,\n onSearchByVoiceClicked,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_searchBox\", props.className)}\n $showTrailingIcon={showTrailingIcon}\n $showLabel={showLabel && !!label}\n $disabled={props.disabled}\n $theme={theme}\n >\n {showLabel && (\n <label\n style={{ marginBottom: 13, textAlign: \"start\" }}\n htmlFor={props.id}\n >\n {label}\n </label>\n )}\n <TextInput {...props} icon={icon} />\n {showTrailingIcon && (\n <img\n className=\"dgaui_searchBox_trailIcon\"\n src={searchByVoiceIcon}\n onClick={() => onSearchByVoiceClicked?.()}\n />\n )}\n {helperText && (\n <div className=\"dgaui dgaui_searchBox_helperText\">{helperText}</div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $showTrailingIcon: boolean;\n $showLabel: boolean;\n $disabled?: boolean;\n $theme: Theme;\n}>`\n direction: ${(props) => props.$theme.direction};\n\n .dgaui_searchBox_trailIcon {\n width: 16px;\n height: auto;\n position: absolute;\n inset-inline-end: 16px;\n top: ${({ $showLabel }) => ($showLabel ? \"50px\" : \"30px\")};\n cursor: pointer;\n }\n\n ${(p) =>\n p.$showTrailingIcon\n ? `\n .dgaui_textInput_input{\n padding-inline-end: 24px;\n }\n `\n : \"\"}\n\n .dgaui_searchBox_helperText {\n margin-top: 8px;\n color: ${p => p.$disabled ? p.$theme.palette.neutral[400] : \"unset\"};\n }\n`;\n\nexport default SearchBox;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\nexport const sizes = {\n small: { h: 32 },\n medium: { h: 40 },\n large: { h: 48 },\n};\n\ninterface DGA_ContentSwitcherProps\n extends React.ButtonHTMLAttributes<HTMLDivElement> {\n size?: Size;\n onColor?: boolean;\n data: { text: React.ReactNode; active?: boolean; onClick?: Function }[];\n onItemClicked?: (item: any, index: number) => void;\n}\n\nconst ContentSwitcher: React.FC<DGA_ContentSwitcherProps> = ({\n size = \"medium\",\n onColor = false,\n data,\n onItemClicked,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n $onColor={onColor}\n $size={size}\n className={mergeStrings(\n \"dgaui dgaui_contentSwitcher\" + (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n >\n {data.map((item, index) => (\n <div\n key={index}\n tabIndex={0}\n className={\n \"dgaui dgaui_contentSwitcherItem\" + (item.active ? \" active\" : \"\")\n }\n onClick={() => onItemClicked && onItemClicked(item, index)}\n >\n {item.text}\n </div>\n ))}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $onColor: boolean;\n $size: Size;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n align-items: center;\n height: ${(p) => sizes[p.$size].h}px;\n border-radius: 8px;\n overflow: hidden;\n\n .dgaui_contentSwitcherItem {\n background-color: ${(p) =>\n p.$onColor ? COLORS.white20 : p.$theme.palette.neutral[100]};\n outline: none;\n color: ${(p) => (p.$onColor ? COLORS.white : p.$theme.textColor)};\n height: 100%;\n padding: 8px 16px;\n border-inline-end: 1px solid #d2d6db;\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n border: 2px solid transparent;\n\n &.active {\n background-color: ${(p) => p.$theme.palette.neutral[950]};\n color: #fff;\n }\n\n &:focus {\n background-color: ${(p) => p.$theme.palette.neutral[950]};\n color: #fff;\n border: 2px solid #161616;\n box-sizing: border-box;\n\n &:after {\n content: \"\";\n display: block;\n background-color: transparent;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n\n border: 1px solid #fff;\n box-sizing: border-box;\n }\n }\n\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[950]};\n color: #fff;\n }\n\n &:first-child {\n border-start-start-radius: 8px;\n border-end-start-radius: 8px;\n &:focus:after {\n border-start-start-radius: 8px;\n border-end-start-radius: 8px;\n }\n }\n\n &:last-child {\n border-start-end-radius: 8px;\n border-end-end-radius: 8px;\n &:focus:after {\n border-start-end-radius: 8px;\n border-end-end-radius: 8px;\n }\n }\n }\n\n &.onColor {\n .dgaui_contentSwitcherItem {\n &.active {\n background-color: ${(p) => p.$theme.palette.primary[600]};\n }\n }\n }\n`;\n\nexport default ContentSwitcher;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport { COLORS } from \"../../lib/constants\";\nimport useTheme from \"../../lib/useTheme\";\n\ntype DividerColor = \"neutral\" | \"alphaWhite\" | \"white\" | \"primary\";\n\ninterface DGA_DividerProps extends React.HTMLAttributes<HTMLHRElement> {\n color?: DividerColor;\n lineType?: \"horizontal\" | \"vertical\";\n}\n\nconst Divider: React.FC<DGA_DividerProps> = ({\n color,\n lineType = \"horizontal\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $color={color}\n $lineType={lineType}\n className={mergeStrings(\"dgaui dgaui_divider\", props.className)}\n />\n );\n};\n\nconst StyledComponent = styled.hr<{\n $theme: Theme;\n $color?: DividerColor;\n $lineType: \"horizontal\" | \"vertical\";\n}>`\n outline: none;\n border: none;\n ${(p) => p.$lineType === \"vertical\" && \"height: 100%; width: 1px;\"}\n ${(p) => p.$lineType === \"horizontal\" && \"height: 1px; width: 100%;\"}\n \n ${(p) =>\n p.$color === \"neutral\" &&\n `background-color: ${p.$theme.palette.neutral[300]};`}\n ${(p) =>\n p.$color === \"primary\" &&\n `background-color: ${p.$theme.palette.primary[600]};`}\n ${(p) => p.$color === \"alphaWhite\" && `background-color: ${COLORS.white30};`}\n ${(p) => p.$color === \"white\" && `background-color: ${COLORS.white};`}\n`;\n\nexport default Divider;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../../lib/helpers\";\nimport useTheme from \"../../../lib/useTheme\";\nimport \"../index.css\";\n\ntype Size = \"24px\" | \"48px\" | \"64px\" | \"80px\" | \"120px\" | \"170px\" | \"240px\";\n\ninterface DGA_SkeletonCircleProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: Size;\n}\n\nconst SkeletonCircle: React.FC<DGA_SkeletonCircleProps> = ({\n size = \"120px\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $size={size}\n className={mergeStrings(\n \"dgaui dgaui_skeletonCircle skeletonAnimation\",\n props.className\n )}\n />\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: Size;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => p.$size};\n width: ${(p) => p.$size};\n border-radius: 100%;\n`;\n\nexport default SkeletonCircle;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../../lib/helpers\";\nimport useTheme from \"../../../lib/useTheme\";\nimport \"../index.css\";\n\ninterface DGA_SkeletonLineProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: \"large\" | \"small\";\n}\n\nconst SkeletonLine: React.FC<DGA_SkeletonLineProps> = ({\n size = \"large\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $size={size}\n className={mergeStrings(\n \"dgaui dgaui_skeletonLine skeletonAnimation\",\n props.className\n )}\n />\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: \"large\" | \"small\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => (p.$size === \"large\" ? \"22px\" : \"14px\")};\n width: 100%;\n border-radius: 8px;\n`;\n\nexport default SkeletonLine;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../../lib/helpers\";\nimport useTheme from \"../../../lib/useTheme\";\nimport \"../index.css\";\n\ntype Size = \"24px\" | \"48px\" | \"64px\" | \"80px\" | \"120px\" | \"170px\" | \"240px\";\n\ninterface DGA_SkeletonSquareProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: Size;\n}\n\nconst SkeletonSquare: React.FC<DGA_SkeletonSquareProps> = ({\n size = \"120px\",\n ...props\n}) => {\n const theme = useTheme();\n\n let borderRadius = 2;\n if (size === \"64px\" || size === \"80px\") {\n borderRadius = 4;\n }\n if (size === \"170px\" || size === \"120px\") {\n borderRadius = 8;\n }\n if (size === \"240px\") {\n borderRadius = 16;\n }\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $size={size}\n $borderRadius={borderRadius}\n className={mergeStrings(\n \"dgaui dgaui_skeletonSquare skeletonAnimation\",\n props.className\n )}\n />\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: Size;\n $borderRadius: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => p.$size};\n width: ${(p) => p.$size};\n border-radius: ${(p) => p.$borderRadius}px;\n`;\n\nexport default SkeletonSquare;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../../lib/helpers\";\nimport useTheme from \"../../../lib/useTheme\";\nimport \"../index.css\";\n\ninterface DGA_SkeletonRectangleProps\n extends React.HTMLAttributes<HTMLDivElement> {\n size?: \"large\" | \"medium\" | \"small\";\n}\n\nconst SkeletonRectangle: React.FC<DGA_SkeletonRectangleProps> = ({\n size = \"large\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $size={size}\n className={mergeStrings(\n \"dgaui dgaui_skeletonRectangle skeletonAnimation\",\n props.className\n )}\n />\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: \"large\" | \"medium\" | \"small\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => (p.$size === \"large\" ? \"40px\" : p.$size === \"medium\" ? \"32px\" : \"24px\")};\n width: 100%;\n border-radius: 4px;\n`;\n\nexport default SkeletonRectangle;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useTheme from \"../../lib/useTheme\";\nimport SkeletonCircle from \"./Circle\";\nimport SkeletonLine from \"./Line\";\nimport SkeletonSquare from \"./Square\";\nimport SkeletonRectangle from \"./Rectangle\";\n\ninterface DGA_SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n type?:\n | \"imageButtonAndText\"\n | \"iconAndList\"\n | \"imageContentAndButton\"\n | \"chartAndContent\"\n | \"imageProfileContentAndButton\";\n}\n\nconst Result: React.FC<any> = ({ children, ...props }) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_skeleton\", props.className)}\n >\n {children}\n </StyledComponent>\n );\n};\n\nconst Skeleton: React.FC<DGA_SkeletonProps> = ({\n type = \"chartAndContent\",\n ...props\n}) => {\n if (type === \"chartAndContent\") {\n return (\n <Result {...props}>\n <SkeletonCircle style={{ marginBottom: 24 }} size=\"240px\" />\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonLine />\n </Result>\n );\n }\n\n if (type === \"imageContentAndButton\") {\n return (\n <Result {...props}>\n <SkeletonSquare style={{ marginBottom: 24 }} size=\"240px\" />\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonRectangle size=\"small\" style={{ width: 59, marginTop: 24 }} />\n </Result>\n );\n }\n\n if (type === \"imageProfileContentAndButton\") {\n return (\n <Result {...props}>\n <SkeletonSquare style={{ marginBottom: 24 }} size=\"240px\" />\n <div className=\"circleAndLine\">\n <SkeletonCircle size=\"24px\" />\n <SkeletonLine size=\"small\" />\n </div>\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonRectangle size=\"small\" style={{ width: 59, marginTop: 24 }} />\n </Result>\n );\n }\n\n if (type === \"imageButtonAndText\") {\n return (\n <Result {...props} style={{ minWidth: 200 }}>\n <div className=\"imageButtonAndText\">\n <SkeletonCircle size=\"48px\" />\n <div className=\"rightSection\">\n <SkeletonLine size=\"small\" />\n <SkeletonRectangle size=\"small\" style={{ width: 59 }} />\n </div>\n </div>\n </Result>\n );\n }\n\n // else iconAndList\n return (\n <Result {...props} style={{ minWidth: 200 }}>\n <div className=\"iconAndList\">\n <SkeletonSquare size=\"48px\" />\n <div className=\"rightSection\">\n <SkeletonLine size=\"small\" />\n <SkeletonLine size=\"small\" />\n <SkeletonLine size=\"small\" />\n </div>\n </div>\n </Result>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n\n div {\n margin-bottom: 12px;\n }\n\n .circleAndLine {\n display: flex;\n align-items: center;\n .dgaui_skeletonLine {\n width: 67px;\n margin-inline-start: 8px;\n }\n }\n\n .imageButtonAndText {\n div {\n margin: 0;\n }\n display: flex;\n min-width: 200px;\n align-items: center;\n\n .rightSection {\n flex: 1;\n margin-inline-start: 8px;\n .dgaui_skeletonLine {\n margin-bottom: 8px;\n }\n }\n }\n\n .iconAndList {\n display: flex;\n .dgaui_skeletonSquare {\n }\n\n .rightSection {\n flex: 1;\n margin-inline-start: 24px;\n }\n }\n`;\n\nexport default Skeleton;\n","var img = \"data:image/png;base64,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\";\n export default img;","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\nimport grayIcon from \"./icons/gray.png\";\nimport default_selectedIcon from \"./icons/selected.png\";\nimport default_halfIcon from \"./icons/half.png\";\nimport brand_selectedIcon from \"./icons/brand_selected.png\";\nimport brand_halfIcon from \"./icons/brand_half.png\";\n\ninterface DGA_RatingProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n size?: Size;\n brand?: boolean;\n value?: number;\n onChange?: (value: number) => void;\n}\n\nconst Rating: React.FC<DGA_RatingProps> = ({\n size = \"medium\",\n brand = false,\n value = 0,\n onChange,\n ...props\n}) => {\n const theme = useTheme();\n const [hovering, setHovering] = React.useState(false);\n const [hoverScore, setHoverScore] = React.useState(0);\n\n const selectedIcon = brand ? brand_selectedIcon : default_selectedIcon;\n const halfIcon = brand ? brand_halfIcon : default_halfIcon;\n const imageSize = size === \"large\" ? 48 : size === \"medium\" ? 32 : 24;\n\n const onHoverHandler = (e: React.MouseEvent, starOrder: number) => {\n const isLeftStarSection = e.nativeEvent.offsetX < imageSize / 2;\n\n const newHoverScore = isLeftStarSection ? starOrder - 0.5 : starOrder;\n setHoverScore(newHoverScore);\n };\n\n const onClickHandler = () => {\n onChange?.(hoverScore);\n };\n\n const scoreResult = hovering ? hoverScore : value;\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_rating\", props.className)}\n onMouseEnter={() => setHovering(true)}\n onMouseLeave={() => setHovering(false)}\n onClick={onClickHandler}\n >\n <img\n src={\n scoreResult === 0.5\n ? halfIcon\n : scoreResult > 0.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 1)}\n />\n <img\n src={\n scoreResult === 1.5\n ? halfIcon\n : scoreResult > 1.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 2)}\n />\n <img\n src={\n scoreResult === 2.5\n ? halfIcon\n : scoreResult > 2.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 3)}\n />\n <img\n src={\n scoreResult === 3.5\n ? halfIcon\n : scoreResult > 3.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 4)}\n />\n <img\n src={\n scoreResult === 4.5\n ? halfIcon\n : scoreResult > 4.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 5)}\n />\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $size: Size;\n $theme: Theme;\n}>`\n display: flex;\n cursor: pointer;\n\n img {\n border-radius: 100%;\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n }\n\n width: ${(p) =>\n p.$size === \"large\" ? 48 : p.$size === \"medium\" ? 32 : 24}px;\n height: ${(p) =>\n p.$size === \"large\" ? 48 : p.$size === \"medium\" ? 32 : 24}px;\n margin-inline-end: 4px;\n &:last-child {\n margin-inline-end: 0;\n }\n }\n`;\n\nexport default Rating;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_ChipProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n size?: Size;\n style?: \"primary\" | \"neutral\";\n rounded?: boolean;\n selected?: boolean;\n disabled?: boolean;\n onColor?: boolean;\n children?: React.ReactNode;\n leadIcon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n}\n\nconst Chip: React.FC<DGA_ChipProps> = ({\n size = \"large\",\n style = \"primary\",\n rounded = true,\n onColor = false,\n selected = false,\n disabled = false,\n children,\n leadIcon,\n trailIcon,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $rounded={rounded}\n $selected={selected}\n className={mergeStrings(\n \"dgaui dgaui_chip\" +\n (style === \"neutral\" ? \" neutral\" : \"\") +\n (disabled ? \" disabled\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n tabIndex={0}\n {...props}\n >\n {leadIcon && <div className=\"leadIcon\">{leadIcon}</div>}\n <div>{children}</div>\n {trailIcon && <div className=\"trailIcon\">{trailIcon}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $size: Size;\n $theme: Theme;\n $rounded: boolean;\n $selected: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) =>\n p.$size === \"large\" ? 32 : p.$size === \"medium\" ? 24 : 20}px;\n padding: ${(p) => (p.$size === \"large\" ? 4 : 3)}px 12px;\n background-color: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : p.$theme.palette.primary[50]};\n color: ${(p) => (p.$selected ? \"#fff\" : p.$theme.palette.primary[800])};\n cursor: pointer;\n display: flex;\n align-items: center;\n font-weight: ${(p) => (p.$size === \"small\" ? 600 : 500)};\n font-size: ${(p) => (p.$size === \"large\" ? 14 : 12)}px;\n border-radius: ${(p) => (p.$rounded ? 9999 : 4)}px;\n position: relative;\n outline: none;\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[200]};\n }\n\n &:focus {\n &:after {\n display: block;\n content: \"\";\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border: 3px solid #000;\n border-radius: ${(p) => (p.$rounded ? 9999 : 4)}px;\n position: absolute;\n top: -4px;\n left: -4px;\n z-index: 1;\n }\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[400]};\n color: ${(p) => p.$theme.palette.primary[900]};\n &:after {\n display: none;\n }\n }\n\n .leadIcon {\n margin-inline-end: 4px;\n }\n .trailIcon {\n margin-inline-start: 4px;\n }\n\n &.neutral {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[700]\n : p.$theme.palette.neutral[100]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[300]};\n }\n }\n\n &.disabled {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n color: ${(p) => p.$theme.palette.neutral[400]};\n pointer-events: none;\n }\n\n &.onColor {\n background-color: ${(p) => (p.$selected ? COLORS.white70 : COLORS.white)};\n color: ${(p) => p.$theme.textColor};\n\n &:hover {\n background-color: ${COLORS.white80};\n }\n &:active {\n background-color: ${COLORS.white60};\n }\n\n &.disabled {\n background-color: ${COLORS.white20};\n color: ${COLORS.white40};\n }\n }\n`;\n\nexport default Chip;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_FloatingButtonProps\n extends Omit<React.HTMLAttributes<HTMLButtonElement>, \"style\"> {\n style?: \"Primary-Neutral\" | \"Primary-Brand\" | \"Secondary-Solid\";\n iconOnly?: boolean;\n size?: \"small\" | \"large\";\n selected?: boolean;\n onColor?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n leadIcon?: React.ReactNode;\n}\n\nconst FloatingButton: React.FC<DGA_FloatingButtonProps> = ({\n size = \"large\",\n style = \"Primary-Neutral\",\n onColor = false,\n selected = false,\n disabled = false,\n iconOnly = false,\n children,\n leadIcon,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $iconOnly={iconOnly}\n $selected={selected}\n className={mergeStrings(\n \"dgaui dgaui_floatingButton\" +\n (style === \"Primary-Brand\" ? \" primaryBrand\" : \"\") +\n (style === \"Secondary-Solid\" ? \" secondarySolid\" : \"\") +\n (disabled ? \" disabled\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n {...props}\n >\n {leadIcon && <div className=\"leadIcon\">{leadIcon}</div>}\n {children && !iconOnly && <div>{children}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.button<{\n $size: \"small\" | \"large\";\n $theme: Theme;\n $selected: boolean;\n $iconOnly: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => (p.$size === \"large\" ? 64 : 56)}px;\n width: ${(p) =>\n p.$iconOnly ? (p.$size === \"large\" ? \"64px\" : \"56px\") : \"initial\"};\n padding: ${(p) => (p.$size === \"large\" ? 20 : 16)}px;\n cursor: pointer;\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: ${(p) => (p.$size === \"large\" ? 14 : 12)}px;\n border-radius: 9999px;\n position: relative;\n outline: none;\n border: none;\n justify-content: ${(p) => (p.$iconOnly ? \"center\" : \"flex-start\")};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[700]\n : p.$theme.palette.neutral[950]};\n color: ${COLORS.white};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[800]};\n }\n\n &:focus {\n &:after {\n display: block;\n content: \"\";\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n border: 3px solid #000;\n border-radius: 9999px;\n position: absolute;\n top: -5px;\n left: -5px;\n z-index: 1;\n }\n }\n\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[600]};\n\n &:after {\n display: none;\n }\n }\n\n .leadIcon {\n margin-inline-end: ${(p) => (p.$iconOnly ? \"initial\" : \"12px\")};\n }\n\n &.primaryBrand {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[500]\n : p.$theme.palette.primary[600]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[700]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[900]};\n }\n }\n\n &.secondarySolid {\n color: ${(p) => p.$theme.textColor};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[200]\n : p.$theme.palette.neutral[100]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n }\n\n &.disabled {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n color: ${(p) => p.$theme.palette.neutral[400]};\n pointer-events: none;\n }\n\n &.onColor {\n background-color: ${(p) => (p.$selected ? COLORS.white70 : COLORS.white)};\n color: ${(p) => p.$theme.textColor};\n\n &:hover {\n background-color: ${COLORS.white80};\n }\n &:active {\n background-color: ${COLORS.white60};\n }\n\n &:focus {\n &:after {\n border-color: #fff;\n }\n }\n\n &.primaryBrand {\n color: ${COLORS.white};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[700]\n : p.$theme.palette.primary[600]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[700]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[900]};\n }\n }\n\n &.secondarySolid {\n color: ${COLORS.white};\n background-color: ${(p) =>\n p.$selected ? COLORS.white30 : COLORS.white20};\n\n &:hover {\n background-color: ${COLORS.white20};\n }\n &:focus {\n background-color: transparent;\n }\n &:active {\n background-color: ${COLORS.white40};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white20};\n color: ${COLORS.white40};\n }\n }\n`;\n\nexport default FloatingButton;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ntype RadialStepperSize = \"40px\" | \"48px\" | \"64px\" | \"80px\" | \"120px\";\n\nconst sizes = {\n \"40px\": {\n borderWidth: 2,\n width: 40,\n circleRadius: 2,\n magicNumber: 118,\n stepNameFontSize: 12,\n descriptionFontSize: 10,\n innerCircleFontSize: 9,\n },\n \"48px\": {\n borderWidth: 4,\n width: 48,\n circleRadius: 4,\n magicNumber: 136,\n stepNameFontSize: 14,\n descriptionFontSize: 12,\n innerCircleFontSize: 10.5,\n },\n \"64px\": {\n borderWidth: 5,\n width: 64,\n circleRadius: 5,\n magicNumber: 185,\n stepNameFontSize: 14,\n descriptionFontSize: 12,\n innerCircleFontSize: 14,\n },\n \"80px\": {\n borderWidth: 8,\n width: 80,\n circleRadius: 8,\n magicNumber: 225,\n stepNameFontSize: 16,\n descriptionFontSize: 14,\n innerCircleFontSize: 16,\n },\n \"120px\": {\n borderWidth: 10,\n width: 120,\n circleRadius: 10,\n magicNumber: 340,\n stepNameFontSize: 20,\n descriptionFontSize: 14,\n innerCircleFontSize: 24,\n },\n};\n\ninterface DGA_RadialStepperProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n size?: RadialStepperSize;\n style?: \"primary\" | \"neutral\";\n onColor?: boolean;\n stepsCount: number;\n activeStep: number;\n innerCircleText?: React.ReactNode;\n description?: React.ReactNode;\n preStepName?: React.ReactNode;\n stepName?: React.ReactNode;\n nextStepName?: React.ReactNode;\n}\n\nconst RadialStepper: React.FC<DGA_RadialStepperProps> = ({\n size = \"64px\",\n style = \"primary\",\n onColor = false,\n stepsCount,\n activeStep,\n innerCircleText,\n description,\n preStepName,\n stepName,\n nextStepName,\n ...props\n}) => {\n const theme = useTheme();\n\n const circleRadius = sizes[size].circleRadius;\n\n return (\n <StyledComponent\n $size={size}\n $circleRadius={circleRadius}\n $theme={theme}\n className={mergeStrings(\n \"dgaui dgaui_radialStepper\" +\n (style === \"neutral\" ? \" neutral\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n {...props}\n $stepsCount={stepsCount}\n $activeStep={activeStep}\n >\n <div className=\"dgaui dgaui_circle\">\n <div className=\"innerCircleText\">{innerCircleText}</div>\n <svg\n className=\"dgaui_circle-svg\"\n width={sizes[size].width}\n height={sizes[size].width}\n >\n <circle\n className=\"dgaui_circle-path\"\n cx={sizes[size].width / 2}\n cy={sizes[size].width / 2}\n r={sizes[size].width / 2 - circleRadius / 2}\n strokeWidth={sizes[size].borderWidth}\n />\n </svg>\n </div>\n <div className=\"dgaui_content\">\n <div className=\"preStepName\">{preStepName}</div>\n <div className=\"stepName\">{stepName}</div>\n <div className=\"description\">{description}</div>\n <div className=\"nextStepName\">{nextStepName}</div>\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $size: RadialStepperSize;\n $circleRadius: number;\n $theme: Theme;\n $stepsCount: number;\n $activeStep: number;\n $innerCircleTextWidth?: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n align-items: center;\n\n .dgaui_circle {\n position: relative;\n width: ${(p) => p.$size};\n height: ${(p) => p.$size};\n border: ${(p) => sizes[p.$size].borderWidth}px solid\n ${(p) => p.$theme.palette.neutral[200]};\n border-radius: 50%;\n\n .dgaui_circle-svg {\n border-radius: 50%;\n position: absolute;\n top: -${(p) => p.$circleRadius}px;\n left: -${(p) => p.$circleRadius}px;\n transform: rotate(-90deg); /* Start animation from the top */\n }\n\n .dgaui_circle-path {\n fill: none;\n stroke: ${(p) => p.$theme.palette.primary[600]};\n stroke-width: ${(p) => sizes[p.$size].borderWidth}px;\n stroke-linecap: round;\n stroke-dasharray: ${(p) => sizes[p.$size].magicNumber};\n stroke-dashoffset: -${(p) => sizes[p.$size].magicNumber - (sizes[p.$size].magicNumber / p.$stepsCount) * p.$activeStep};\n transition: stroke-dashoffset 0.5s;\n }\n\n .innerCircleText {\n text-align: ${(p) => p.$theme.direction === 'ltr' ? 'left' : 'right'};\n font-weight: 500;\n position: absolute;\n z-index: 1;\n top: 35%;\n justify-self: center;\n font-size: ${(p) => sizes[p.$size].innerCircleFontSize}px;\n }\n }\n\n .dgaui_content {\n margin-inline-start: 8px;\n padding: 8px;\n\n .preStepName {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n .stepName {\n color: ${(p) => p.$theme.palette.neutral[950]};\n font-size: ${(p) => sizes[p.$size].stepNameFontSize};\n font-weight: 500;\n }\n .description {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n .nextStepName {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n }\n\n &.neutral {\n .dgaui_circle {\n .dgaui_circle-path {\n stroke: ${(p) => p.$theme.textColor};\n }\n }\n }\n\n &.onColor {\n color: ${COLORS.white};\n .dgaui_circle {\n border-color: ${COLORS.white30};\n .dgaui_circle-path {\n stroke: ${COLORS.white};\n }\n }\n\n .dgaui_content {\n .preStepName {\n color: ${COLORS.white70};\n }\n .stepName {\n color: ${COLORS.white};\n }\n .description {\n color: ${COLORS.white80};\n }\n .nextStepName {\n color: ${COLORS.white70};\n }\n }\n }\n`;\n\nexport default RadialStepper;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport interface DGA_ProgressBarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: Size;\n percentage?: number;\n error?: boolean;\n success?: boolean;\n style?: \"primary\" | \"neutral\";\n}\n\nconst ProgressBar: React.FC<DGA_ProgressBarProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n style = \"primary\",\n percentage = 0,\n error = false,\n success = false,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $error={error}\n $success={success}\n $style={style}\n className={mergeStrings(\n \"dgaui dgaui_progressBar\" + (style === \"neutral\" ? \" neutral \" : \"\"),\n props.className\n )}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"dgaui indicator\" />\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: Size;\n $percentage: number;\n $error?: boolean;\n $success?: boolean;\n $style?: \"primary\" | \"neutral\";\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .indicator {\n margin: 8px 0;\n height: ${(p) =>\n p.$size === \"large\" ? 16 : p.$size === \"medium\" ? 8 : 4}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: ${(p) => (p.$size === \"large\" ? 8 : 4)}px;\n position: relative;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n inset-inline-start: 0;\n z-index: 1;\n transition: width 0.2s;\n border-radius: ${(p) => (p.$size === \"large\" ? 8 : 4)}px;\n height: ${(p) =>\n p.$size === \"large\" ? 16 : p.$size === \"medium\" ? 8 : 4}px;\n background-color: ${(p) =>\n p.$success\n ? p.$theme.palette.success[600]\n : p.$error\n ? p.$theme.palette.error[600]\n : p.$style === \"primary\"\n ? p.$theme.palette.primary[600]\n : p.$theme.palette.neutral[700]};\n width: ${(p) => (p.$percentage <= 100 ? p.$percentage : 100)}%;\n }\n\n &::after {\n position: absolute;\n z-index: 2;\n color: #fff;\n font-size: 12px;\n transition: left 0.2s;\n top: -1px;\n inset-inline-start: calc(\n ${(p) => ((p.$percentage <= 100 ? p.$percentage : 100) + \"%\")} -\n ${(p) => (p.$percentage < 100 ? 30 : 40)}px\n );\n display: ${(p) =>\n p.$percentage >= 10 && p.$size === \"large\" ? \"block\" : \"none\"};\n content: \"${(p) => Math.min(p.$percentage, 100)}%\";\n }\n }\n .helperText {\n color: ${(p) =>\n p.$success\n ? p.$theme.palette.success[700]\n : p.$error\n ? p.$theme.palette.error[700]\n : \"initial\"};\n }\n`;\n\nexport default ProgressBar;\n","import React from \"react\";\nimport TextInput, { DGA_TextInputProps, Style } from \"../TextInput\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport plusIcon from \"./plus.png\";\nimport minusIcon from \"./minus.png\";\n\ntype PrefixSuffixStyle = \"plus\" | \"minus\";\n\nexport interface DGA_NumberInputProps extends Omit<DGA_TextInputProps, \"icon\"> {\n prefixType?: PrefixSuffixStyle;\n suffixType?: PrefixSuffixStyle;\n}\n\nconst plusIconJsx = <img src={plusIcon} style={{ width: 17.5 }} />;\nconst minusIconJsx = <img src={minusIcon} style={{ width: 17.5 }} />;\n\nconst NumberInput = React.forwardRef<HTMLInputElement, DGA_NumberInputProps>(\n ({ prefixType = \"plus\", suffixType = \"minus\", ...props }, ref) => {\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_numberInput\", props.className)}\n ref={ref}\n prefix={prefixType === \"plus\" ? plusIconJsx : minusIconJsx}\n suffix={suffixType === \"plus\" ? plusIconJsx : minusIconJsx}\n prefixStyle={\n props.prefixStyle\n ? props.prefixStyle\n : props.style === \"filledLighter\"\n ? \"subtle\"\n : undefined\n }\n suffixStyle={\n props.suffixStyle\n ? props.suffixStyle\n : props.style === \"filledLighter\"\n ? \"subtle\"\n : undefined\n }\n {...props}\n onWheel={(e) => {\n (e.target as any).blur();\n }}\n type=\"number\"\n pattern=\"[0-9]*\"\n inputMode=\"numeric\"\n onKeyDown={(e) => {\n (e.key === \"e\" || e.key === \"E\") && e.preventDefault();\n props.onKeyDown?.(e);\n }}\n />\n );\n }\n);\n\nconst StyledComponent = styled(TextInput)`\n input[type=\"number\"] {\n appearance: textfield;\n -moz-appearance: textfield;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n }\n\n .prefix,\n .suffix {\n cursor: pointer;\n }\n\n img {\n user-select: none;\n }\n\n &:has(input:disabled) {\n .prefix,\n .suffix {\n pointer-events: none;\n }\n img {\n filter: brightness(8);\n }\n }\n`;\n\nexport default NumberInput;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC4SURBVHgB7dhBCsIwEIXhiS6zTtZ6Ao+gN7FH8SbiTfQInqDus882zkiFrHxoApbyPmiZTcsPpXToWjoIIQze+13O+S7/ZjExxmKHzkdptJJGzrlNNW+lUXNQbwxCGIQwCGEQwiCEQYizk60Q9Vf7G6WUvV57mOarzjf5gV47ppQuboo5ywxo1MBH9uE+r0cmrXR1Pb1XWJulEV97hEEIgxAGIQxCGIQsL0jXhkc1jzIHtk/1+HtmniG3OoMZpqw2AAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAECAYAAADmrJ2uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA9SURBVHgBzdHBDQAgCAPA1rgCf0dzM+NkDsAQCAk7wD36blrCicgmuVDIzJ6q3pllDop5hxgGA80wotNlHyEREYxNANeWAAAAAElFTkSuQmCC\";\n export default img;","import React from \"react\";\n\nconst useScreenDimensions = () => {\n const [screenDimentions, setScreenDimentions] = React.useState({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n React.useEffect(() => {\n const windowResizeHandler = () => {};\n window.addEventListener(\"resize\", () => {\n setScreenDimentions({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n });\n\n return () => {\n window.removeEventListener(\"resize\", windowResizeHandler);\n };\n }, []);\n\n return screenDimentions;\n};\n\nexport default useScreenDimensions;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenDimensions from \"../../lib/hooks/useScreenDimensions\";\n\ntype SliderSize = \"small\" | \"medium\";\n\nexport interface DGA_SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: SliderSize;\n percentage?: number;\n onChnage?: Function;\n}\n\nconst NormalSlider: React.FC<DGA_SliderProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n percentage = 0,\n onChnage,\n ...props\n}) => {\n const theme = useTheme();\n const screenDimensions = useScreenDimensions();\n\n const sliderBaseRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef = React.useRef<HTMLDivElement>(null);\n const [isMoving, setIsMoving] = React.useState(false);\n const [currentX, setCurrentX] = React.useState(0);\n const [canMoveFromTo, setCanMoveFromTo] = React.useState([0, 0]);\n\n const indicatorWidth = size === \"medium\" ? 16 : 12;\n\n React.useEffect(() => {\n const percentageResult = ((currentX - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n\n const result = Math.round(percentageResult);\n onChnage?.(result);\n }, [currentX, canMoveFromTo]);\n\n React.useEffect(() => {\n if (sliderBaseRef.current && sliderIndicatorRef.current) {\n const sliderRect = sliderBaseRef.current.getBoundingClientRect();\n const indicatorRect = sliderIndicatorRef.current.getBoundingClientRect();\n\n setCanMoveFromTo([sliderRect.left, sliderRect.right]);\n setCurrentX(indicatorRect.x + indicatorWidth / 2);\n }\n }, [sliderBaseRef, sliderIndicatorRef, screenDimensions]);\n\n React.useEffect(() => {\n if (isMoving) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const newClientX = e.clientX;\n\n console.log(\"newClientX a\", newClientX);\n if (newClientX > canMoveFromTo[0] && newClientX < canMoveFromTo[1]) {\n setCurrentX(newClientX);\n }\n\n if (newClientX <= canMoveFromTo[0]) {\n setCurrentX(canMoveFromTo[0]);\n }\n if (newClientX >= canMoveFromTo[1]) {\n setCurrentX(canMoveFromTo[1]);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving, screenDimensions, window.innerWidth]);\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $indicatorWidth={indicatorWidth}\n className={mergeStrings(\"dgaui dgaui_slider\", props.className)}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"sliderBaseContent\">\n <div className=\"dgaui sliderBase\" ref={sliderBaseRef}>\n <div\n ref={sliderIndicatorRef}\n className=\"dgaui sliderIndicator\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving(true);\n }}\n />\n </div>\n <div className=\"dgaui_percentageText\">{percentage}</div>\n </div>\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: SliderSize;\n $percentage: number;\n $indicatorWidth: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .sliderBaseContent {\n display: flex;\n align-items: center;\n }\n\n .dgaui_percentageText {\n min-width: 40px;\n text-align: center;\n }\n\n .sliderBase {\n flex: 1;\n margin: 8px 0;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: 4px;\n position: relative;\n margin-inline-end: 12px;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n left: 0;\n z-index: 1;\n border-radius: 4px;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n width: ${(p) => (p.$percentage <= 100 ? p.$percentage : 100)}%;\n }\n\n .sliderIndicator {\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\n width: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n height: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n border-radius: 100%;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n position: absolute;\n cursor: pointer;\n z-index: 1;\n top: calc(50% - ${(p) => p.$indicatorWidth / 2}px);\n ${(p) => `\n left: calc(\n ${p.$percentage <= 100 ? p.$percentage : 100}% - ${p.$indicatorWidth / 2}px\n );\n `}\n\n &:active {\n cursor: grabbing;\n }\n }\n }\n`;\n\nexport default NormalSlider;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenDimensions from \"../../lib/hooks/useScreenDimensions\";\n\ntype SliderSize = \"small\" | \"medium\";\n\nexport interface DGA_SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: SliderSize;\n percentage: [number, number];\n onChnage?: Function;\n}\n\nconst RangeSlider: React.FC<DGA_SliderProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n percentage = [0, 0],\n onChnage,\n ...props\n}) => {\n const theme = useTheme();\n const screenDimensions = useScreenDimensions();\n\n const sliderBaseRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef2 = React.useRef<HTMLDivElement>(null);\n const [isMoving1, setIsMoving1] = React.useState(false);\n const [isMoving2, setIsMoving2] = React.useState(false);\n const [currentX1, setCurrentX1] = React.useState(0);\n const [currentX2, setCurrentX2] = React.useState(0);\n const [canMoveFromTo, setCanMoveFromTo] = React.useState([0, 0]);\n\n const indicatorWidth = size === \"medium\" ? 16 : 12;\n\n React.useEffect(() => {\n const percentage0 = ((currentX1 - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n const percentageResult = [Math.round(percentage0), percentage[1]];\n\n onChnage?.(percentageResult);\n }, [currentX1, canMoveFromTo]);\n\n React.useEffect(() => {\n const percentage1 = ((currentX2 - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n const percentageResult = [percentage[0], Math.round(percentage1)];\n\n onChnage?.(percentageResult);\n }, [currentX2, canMoveFromTo]);\n\n // Set restrictions\n React.useEffect(() => {\n if (sliderBaseRef.current && sliderIndicatorRef.current && sliderIndicatorRef2.current) {\n const sliderRect = sliderBaseRef.current.getBoundingClientRect();\n const indicatorRect = sliderIndicatorRef.current.getBoundingClientRect();\n const indicatorRect2 = sliderIndicatorRef2.current.getBoundingClientRect();\n\n setCanMoveFromTo([sliderRect.left, sliderRect.right]);\n setCurrentX1(indicatorRect.x + indicatorWidth / 2);\n setCurrentX2(indicatorRect2.x + indicatorWidth / 2);\n }\n }, [sliderBaseRef, sliderIndicatorRef, sliderIndicatorRef2, screenDimensions]);\n\n // Track indicator start movements\n React.useEffect(() => {\n if (isMoving1) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const indicatorRect2 = sliderIndicatorRef2.current?.getBoundingClientRect()!;\n const newClientX = e.clientX;\n\n if (newClientX > canMoveFromTo[0] && newClientX < indicatorRect2.left + indicatorWidth / 2) {\n setCurrentX1(newClientX);\n }\n\n if (newClientX <= canMoveFromTo[0]) {\n setCurrentX1(canMoveFromTo[0]);\n }\n if (newClientX >= indicatorRect2.left + indicatorWidth / 2) {\n setCurrentX1(indicatorRect2.left + indicatorWidth / 2);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving1(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving1, screenDimensions]);\n\n // Track indicator end movements\n React.useEffect(() => {\n if (isMoving2) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const indicatorRect = sliderIndicatorRef.current?.getBoundingClientRect()!;\n const newClientX = e.clientX;\n\n if (newClientX > indicatorRect.left + indicatorWidth / 2 && newClientX < canMoveFromTo[1]) {\n setCurrentX2(newClientX);\n }\n if (newClientX <= indicatorRect.left + indicatorWidth / 2) {\n setCurrentX2(indicatorRect.left + indicatorWidth / 2);\n }\n if (newClientX >= canMoveFromTo[1]) {\n setCurrentX2(canMoveFromTo[1]);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving2(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving2, screenDimensions]);\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $indicatorWidth={indicatorWidth}\n className={mergeStrings(\"dgaui dgaui_rangeSlider\", props.className)}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"dgaui_rangeSliderContainer\">\n <div className=\"dgaui_percentageText\">{percentage[0]}</div>\n <div className=\"sliderBaseContent\">\n <div className=\"dgaui sliderBase\" ref={sliderBaseRef}>\n <div\n ref={sliderIndicatorRef}\n className=\"dgaui sliderIndicator\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving1(true);\n }}\n />\n <div\n ref={sliderIndicatorRef2}\n className=\"dgaui sliderIndicator end\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving2(true);\n }}\n />\n </div>\n </div>\n <div className=\"dgaui_percentageText\">{percentage[1]}</div>\n </div>\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: SliderSize;\n $percentage: [number, number];\n $indicatorWidth: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .dgaui_rangeSliderContainer {\n direction: ltr;\n display: flex;\n align-items: center;\n }\n\n .sliderBaseContent {\n flex: 1;\n display: flex;\n align-items: center;\n }\n\n .dgaui_percentageText {\n min-width: 40px;\n text-align: center;\n }\n\n .sliderBase {\n flex: 1;\n margin: 8px 0;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: 4px;\n position: relative;\n margin-inline-end: 12px;\n margin-inline-start: 12px;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n z-index: 1;\n border-radius: 4px;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n width: ${(p) => p.$percentage[1] - +p.$percentage[0]}%;\n left: ${(p) => p.$percentage[0]}%;\n }\n\n .sliderIndicator {\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\n width: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n height: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n border-radius: 100%;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n position: absolute;\n cursor: pointer;\n z-index: ${(p) => (p.$percentage[0] === 100 ? 3 : 1)};\n top: calc(50% - ${(p) => p.$indicatorWidth / 2}px);\n left: calc(${(p) => p.$percentage[0]}% - ${(p) => p.$indicatorWidth / 2}px);\n\n &:active {\n cursor: grabbing;\n }\n\n &.end {\n left: calc(${(p) => p.$percentage[1]}% - ${(p) => p.$indicatorWidth / 2}px);\n z-index: 2;\n }\n }\n }\n`;\n\nexport default RangeSlider;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACbSURBVHgBzZHBDYMwDEUdh0HaTTpCK45tpebAHG03KPdKaZG4ITECI8AocAcHOCAhFIgRF97R9n9RbIBd8o2Ss47TJ2cWbUXZyILIPDgSMdfQOj2QZzJE8VPXy3u1gCtZFHAkTsFIkmNdHZVS5biHsBGnYPgCgQmnr/ewltiF/8Hdf9lmnGdcCs8KuOEez1YkSScSEAY3/wO7pwU2FFQ/1m+2IwAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACPSURBVHgB5ZI9CoUwEIQ34R3gXU1S+gMi1uoJjDdIL2KhluLZ7DWrayUSNbY6sKQY5stmCMA3VHdDUrV9avK4RTjXiEoj/E0+swjLdYrYF/IRwCZ8CrANk4wdTLMe6fxxjnAjIyAOhKLbaQva5gpwWWLZ9JIzlq8jQ9cpHgP2EADMIk+oo3/7D6jE7TnwWi3nAk7pNHjsVAAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASKSURBVHgBzVm/cxpHFH57HAiKYNKjjDyjymRGDmmMm0hNUBVNZiK1iRNSy8h/AKiKUgRwHXnitJCZtKDGpIlSxXgmpIpjMnJvTEO4427zvhUQQAfawxrkb2YHbn+w3719v/YhaEF0bXtTSLkhpNgkkrdJiBh3xwbDbUHUkpJaLrnPyDDqkWCwTgtA+JkspYz1+/19V9L9MTK6W7V4s7rjBA4jEdHSXqUzCcTsfj8nz4m9MQSJx7pELyVoWda+JJEn3xK7dOuWMCgfMs0f586aN2jZdvGqpDaHQCkUCmbnjF+EOlK7/7Mk2qQlgEk0gkFzSwjR9hi7CMuynzK527REwIBYklvT/cZ0hzrWJZMDcFosmOJ0/4QEu13rCyMgfqBrhHSdbDgcLg2fRwS73e6aYQSesMNdo+tFOxQ0bw718f8jNgL5t4AcAAPNDR+UBJX0AuYLWgCnp79SrVajWrVKnU5H9a2urtKtWwna3dulVOouLQKW4ruQ4jnBnvXYEOJzPz/w8uyMDg6yTPCU7qRSlE6nmdh7FI1Gqdn8Q/WfMHH05/KHirQfuNI9jKys5NVDr2e96Fm21G2/P23I9fV1+cnOjvzr+d8z5z3nsR2ek0x+qNb42YPbK0UOWYmfhdg0mUzKb46+1V6DuXiheS/j1bpdzpi6vV7eEEZOV/SZr76k16xrlcpPE/3NZpOKhe+UHuJIE4nExPje7mfqszy1bh7gcgzGhu6CoUEUCpP+FPoIAtHoDYrHV9X3ocEMgTXQSzR9iE2DXfia7vRKuTIwhkmFh0RBrlAsqgZykOg44rwmxcZUq1VJF8IIbMAPrukuaP7ZVBY7DRxn7eREfccxw5Lj8fiFeR/zy9WqNdKHjIGgdp6Ho0wk3vccAymMFwoFyh488HQrcEOdzmvygZhBPjFvg+NHx0oFMpmM53g0+g75hckNMU9LipDSGUtpFmAgN3jOLEAvfTrstsnZaXtwI7sU6e1tFR0yma89x2dJbojf2IIRAn2gZZAhGrqz0+lt5SZmSfHR8ffsH8ueY9BPuKjdvT3ShXTdfwzHcX7RXQA3gfbgwPsKAQLVqrcbQdyGFac8vMBMgoIahHDiN9QhbB0dHWmvwVzE40VCnWKKwOw3WUA83tFMFvBC/pOFvkr/YMVIbR76icdwzIjF+XyO7qbuKNcCB45+RBHoKIxpmIpVaye+0y1cogaf59dMy+6/ogUAEpVyWUWZlwPjgTuCxcOo/OjcOFzHvInKw+hO8q9ll/hhn94CoDQSCpn3zr8PMJAizv2KSxx+IVquE9ga1m1GoQ75v3TlIV0zUK8ZLypNxOJwOFTiC/RDuiZg7+li0qzSx5Nl1WXGiDS49PHBdL9nNsOFnE/5QzsEvilYGHUUj7zGPAlCH1f4bZZx3NgjzEUjr8oWMDcf5IX3XUfeYxNv0dUDRpnFHvMmaZWAUXlAacTv5X4WILWVoJmfJbVx+Cqij4gSfbRAHafNxXc+TrOkQ2whguNQmYbh8rWQr61CXbzQRn9DsOPnuopoSCHr0hHPIpHF/ob4D9qk6fUuw5aHAAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASRSURBVHgBzVlPiFtFGP9m3stB2fzTg9DdQ/agtR7cFYsWFMyC50q9eKjSFjyIIN09iOKhmy0oSg9NEcRDwV20h16s9qqSiBdbWtjtoX/oYVNoS1tok7yU9rB5b/r9Jnlpkr6XnUlDtj/I7nvzZjK/9/v+zDcTQUNCVat5ct0ZRSpPSs2SEBluzrQf17hHhUhUVKDWZBCURTZbpiEgbDozqQyTOsik5rvImM5U4cnKtOEvMdmK+TBTYo6zqATN0wggBC2bEt2UoGo0oFiBbBXbfGZWVBbExMTK4G4DoDzv6KhUiyUgqCgmUguxz6MaYVLlOqf4Mk9jgVoVzWCOTV7rfyIjuyfcEo2NHCBm24I8gScIwqw6bYwfeXWf5+5Dj4mbnrdfCvqFthCcNxecdLoY3ncIst/lVMIpkaIcbS1qoulPh/7YMXHgyMIzQA7IUMJZDG+0glo911mnIXD33Bm6XfpbfzYaDd32/LZJSm5/laZ2f0gv7nybhgGrmIWKmqDv1ZeFEPtsvuDBzet04dDXdO/cWXph51v00tz79Ny2KUokk+RduaTbQRrtO778hklP2Xw9fHGJfbGgCQb3vXUb84LA/59+QilWaebwD0xsMrLfw5s3aO3QV/r/m0d/4v47yAI1mUxlBaoSNm/JdBSUO8PkYL6XP/vCaMzVn3+kyokVeufkH1ZK+uTPyUDKPFng0pHvtGL95KDq+YXPWdmP9XU30Bc+CZewAZOblUKKGdMBYUDArN2AqjB5IpnSCkHhjYbX0wdj4Jf4DlMIofKcZkTOdMD107+3g6HX50AGwfH64e/1B/f9KmIMggkvaAwpZ5igypn2965cjkwb6e2v0bsn/9TX8De3rWQ/8HJWBBVlkKiN6zxEI3wpCjAvTA2Cr7DPRUU20lCznSsNkZFkiUETIFKhUm5vdEqFG9jCJb3BMVMRE0DFOEA1KBkH+GVczoxBzWU713jBMyIIdW6V/opVaHrv/oHjEcE2yVrwzlDy31XTASCIVAFfi8L6iWUd6VHAmDulf2hy9x4yhVLqmuQ171/TAYhgpIq4hBsWDVHAGLygTfGglFgVG41q3iHzpQ4++N9HH7A591ktdVB21/HfrHwQS12rWGh4VbJIN+GyhsmQmOPW17DiQf7cdfxXu2JBsf+l0tOtcqteL/CSt0gWgJIXj3zbKalgehBAGgIxtIel2KCKJw7Y3PN29EBYsGKbWaUhgMi8cfoU1VnVMAUhHYG0rc/1EGyV/ZXOnsRv1IuCxEF6BhCqp6/DxraKKPtHe8RhC/Y94etNfAW3naUO9b8K/CXaYnAsFLoPlXrWYiedLfJB0THaImBuNm3PYVLk2QynnTEffQBqVSbTb/S3RlYzHEF7MIDGhzIOj6IeRBNkf8TbjMPcmIN3b5EnW8DAetBJpucD5R9AZNHImamaEnwOw3MM6rZpweqmsssIe64sVmhE0MHgB9POxONDojjYHqLncIbDg97jbJqzGdtSjI7JZlCMM+dTE+wGqiDet+Zb21beeOFkovVThCZDqNQFl0ukyk0K1hLJ4X6GeARlTwkNXxVzeAAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQsSURBVHgBzZnLa1NbFMa/vfPA3Iem3rZ6wQvJBS94fbTiQAXBFEFnPgYKOlLUqW0d6qDxH9BmXrFOdOBAdKQDMeJAh1HRgYI9ouIjaqNUg3mc7Vo7OWkaT5J9TkLqD1LOYx/Od7611n5VwCeqmE1AySEoO0GnwxAiSlejlbsiR8cWFCzAfgAp0yI0kIYPhJfGSs1GUSqNQomxeTHGWPS6NMqBMyLSZ5k+ZCSwKmyCHBlDVxDTpkLbClSFj6P0N+nDsXZYkCIpgv0XWzVqKZDy7Fz3XGvKpAgPjDe76SpQh7RYukqHCfSGDELBESH6co03pGvzYuk2eieOGa4a8hM/CdRh5Qd6T0IV9LsXsCDEKv/+MALiAhYTuzwulqycdE5rAlV+NgZJoRWIYXHJUT7GnXycD7EsJn8BcQwX6IRzoh3U7gVKM+iAT4/u4SP9mL/Wb8Vy+nVEKNjHLlYcZPc64OHkSdw/dQBv79/UIvn4ydQZdEShoPvfYOVMbIdPnl0+p0VtS93A0n/X6mv5969w98Quffz/sQn4QkgawZCUelbiM/dYyLNLZ7H60MmaOCYyuAqbTk/BujZVC7sPoiqfTUjYerrkCw7lqh379a8RzkO+zg77RpSHJWRgCD54desKinOfsfrg/DBa+vplQZs1x5P48vwxrOvn4Q9BDioVg0d0aMmZ+O6jiKz4p3b9KYWbC8Yh9PtS3YbToFG8EVIOcRXH4BF2jz5M5149biJie44h+McyzFA++iDKAj3N8+oLwwR2cQ1VMoc5/+4lPBKVHh/QYeQqdSuMZqzcsgt/UpU/9VEwLDBn2pjde03h3TB21vU+uxqjnHO9R8XEz3p0kUYSZS6Q3Vu+bovuQtzgiuWPcMMZ/ma8VbRF3YzImLZmARyuZrwkh1r1eys278Q7Gg6Nse0XQZTtOyRyr0l7dqe+W2lkuEnoHZZRHjZz2BWBDIXY3EEezt62cCBIFcu/ZrDDnCLG2DItRUSv+I3y0El0PyMD5x4/G6d+0QxlsbbKfPB7lierRtMO7gM5z9ip3yjcrRxjuPP+Vq3c/+gDY8YCxbQI9x+pCKwsM2cNn9Qv/UCzFO4y2g1h/AGct/1Uwe0+ZgHlUlxE/rbm1ySFLC9URvFLUHFPHzmXqi7ytL/bWxweoV2xcnmE3eOz2lCnV1G26nCe3gWkTDri9Gn9PbFkkMOcwqKhUo2bSe57M4Vsr7c++K0ZER7c2HjVfTYTCu4Db+j0jjRCX0fcbrgK5HykLTH+mh6Em8IaHqCdrbjrYNFyPkgPjqGsjlCJW+g+XJTjFNaW+49tJ6wiMjhNGzojJPIiuoZKITQXrxZl6/fDAyr/hjaYAkk63E55EIM3cjT3TCE8N9ksnOhUYD28qIbkNTX9K6Ky8OdftE4Mi8jQDgHt7NsPqpMSz/wAP+ylCNjUveUAAAAASUVORK5CYII=\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANiSURBVHgBzZg9aFNRFMf/976kKP16wSaQQUhcK7QuCl1MwcFRUTcHFRzEoS2Ia9O1S1NXQVtwEZTi5pa4CkI6dG7AodAPEpIUhbx3r+e85pU0pkney8vHb0nyPvL+73/uPffcI+CTo1oxJWVoTgukhNbzGsKkw2b9dAkCBfosaFvtAioXDUdy8IHwcnFRF02F0JJWWG4Q0xX0AgV6WM6QtbWIiBS6va8rgWfCjFWtxDICQWx1K7SjwBNdYcfS8OhYJxxHJdIzYmK73XWivbjyRnCuXSJAisw1MbFy6flWBzmktg7t0GumMAgE8oawFinkpeZTstX1lg5nByaO0Zh3DGnBfwI5rJw2MGjIkBNd3Wg+fCHEh1b5mRTiI4aIglqJGdMZ9/e5QBp3CUuFswI6geFSMqSVdMfjeYhrtpEeAXEM5dzwqvvDcZDds1VoHyMEuRhhFx0H2T2MGJYlnfzrOHhkV/dHJLyNlGaMyYjkqqTf4sp/T+ED86hWSVGIZQp95HfxEPfevcH3vZ/witZqntKenEOfYHGP3q9iIXkT92dvwyu0TpODAgn0gUZxmSev4QdJ5vEsTiBgXHHTV8d9i2M0tMkCA63zGsV9fbmGHjElAqRZ3NSVcfQKCyx5venzryzurL9yBLlwKnnxad1JrB+evg1EHGuTlAM9C1y4MUvjA3hMbrFIFsfOlf+c4gs5dz0SQyDQzlAcW5Ud+vIAHnHDyY7NxhPYOygEKw6cB/U3qZT6AR+wEB5n7GQ/xDlonRe8nNDuKgufsJM8KQIacxeg3eSiUywc25UiAk43vUI5sBA1ppJOmtFKbWLEEJC5s0/Ut5kqVMQIUaOyP06dB8dBrlwp3iPkotiK19sijZsms172D3Us8tizpL3oCjxf6thFZaueF89eEVKm4w1NpQtrcWxsOjPMUPOzm5tJLXszx6oy2NYHQY3QfFRO3mo+3rKaoUbOQ27oYFBo5KrUPGp1qm37jVaZDK0yS+gjHNZoePLSFl/bepBvVFo/55mFwNE0KcVKO3FMx4I1Fpra4mlPQrcREOxaRdrJ2NhEptO1nproB9QiMbiHI3BXQCTgCU2LgdishqxMskWjEkEIbISrIGqWpZxtq7Mz5M2/MF0x9MclrUWeXianFHYplDn44B+38nKPa3CIJgAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARRSURBVHgBzVk/bBNXGP+9S0niVLFiGbWVkqqOWol2ggx06VAjMqMydWpTOltKMnRgaZwOMHRoLMEMdGNK1ZmIdGgHFswEDBXHn6gVwrKVQGyCcsf3e3cXbOfueM+ybH7Si8/37sv73ffvfe+zQo+oN/0iFI7LKMLHCbk1FQ6iIfdd+XQ9D3ccYDOXUZvoAcrm4brvT2EPi0JoqY2MKVxZbRMeVoWsaypkRFATe4kVuVxCP6Bw1ZToWwnWW/6ifJRhr7G3wYWDcm5UXUt7KJWgkPsN/dJaMtZy42o5aTKWYGjSdbksYhBQqGIUp3JKNbqnnFiBPdzEoMgRzAKBQg7hEEFt1iBtDBrF0KU60GHiZ03/hxGFKxgiPGA5P67Wou8HBCXxFuQbTVvAcNHAGGYjfzwwsRekkgKGjyjnamgNhtp7gB5w6/4L3Li9jQ0Z2819fW86P4ovPh7H2a9y+PLY++gJY8hRi5pgrelfdRQWbOS3nu3h/JUtTZAkTs9NYkaITU6M4O7jptzf1aTn57I4/+1HmD46avPv4flYzWdUOdBgy6f2CqbCJPD9rw9ESxlcPDeduHj0Evy8XPoEn4tWLdCQBJ5TYVVy01SKi5EczVc684GRzKU/n+LajRr++PlTO036OOV4lgn5wvX/9SLd5KjV0uVHmvy9x62OOT5Ln6Q2beApnHAcR2o6Q9Df6Fc0azsirU5mHCF/BN/J9fbufsczlKE8hynE/4qOqLFgKrD+T107fbeZdpoespkRXPxxRojMYEfIdWuRMgwmRrwFwePMgwVTgXuPWjgZkzbo/Osrn+lr+tvkhGgyf+TQc6fl5Taq5gQFUyRoXOc9qb3SvhSHrKQXmpoES2c+jA2GGSG9vevBlqAVun2rHYxUusDCfD52njnSFu+Be5+hFrMSBFuixSQwQLIpJO6KX8aZPgUNK4Lah8TJkzS0MH80Vf7W/eeJLpIA19HVrCFoPqYJ+locaOL1v+uxc5TZuL2jE7wpfOCh4+3jL1MBpgmOpIRL7W5Ud2LnKMMXtCkefB/Vnra6b375V5vZZqujZn//adZ6q4uKBdrFON3Q2UuXHurFTIoFboMkx+LCAq4UC7NRuVWWcmvFRpqLX7j+n/Yrmu7ksQlNgGloqxb4W1SKpb1EIuRwnxtT5wIN1uWYmUEdPYAkuAVyl3lSC4KH2x4j3tbnOuBL2S+dh4MzSW3XX5PCYRHvAkLtBZchQi2ycO13i8MWLoMj6tscbHVyAGDCXsWQMcJ+TVtTqWMvlqhZk35eBcNDJdvVTIrvzbT8wbY+AiZV8bu57tvx1UwTZ+Wv8RbYB2yyeRQ3EUuQ/ijmnhuQuSuyVmxni0itB/MTakkiiuHuov8goWUhl9p/NGsBS+eBrRHbw30KKtI5KCdprR12TfQ3RL+GfR+nIdaoYFw6qgbEeiLYDlZBPFM7Sh9bC+F48zNEMKr8CULaGHd6/RniNTDfu03o+dx1AAAAAElFTkSuQmCC\";\n export default img;","export type LinkColor = {\n default: string;\n hovered: string;\n active: string;\n visited: string;\n disabled: string;\n};\n\nconst result = (\n them: Theme\n): {\n [k in \"primary\" | \"neutral\" | \"on-color\"]: LinkColor;\n} => ({\n primary: {\n default: them.palette.primary[600],\n hovered: them.palette.primary[400],\n active: them.palette.primary[600],\n visited: them.palette.primary[800],\n disabled: them.palette.neutral[400],\n },\n neutral: {\n default: them.palette.neutral[700],\n hovered: them.palette.neutral[500],\n active: them.palette.neutral[400],\n visited: them.palette.primary[800],\n disabled: them.palette.neutral[400],\n },\n \"on-color\": {\n default: \"#FFF\",\n hovered: \"rgba(255, 255, 255, 0.8)\",\n active: \"rgba(255, 255, 255, 0.6)\",\n visited: \"rgba(255, 255, 255, 0.9)\",\n disabled: \"rgba(255, 255, 255, 0.3)\",\n },\n});\n\nexport default result;\n","export type ListColor = {\n text: string;\n};\n\nconst result = (\n them: Theme\n): { [k in \"primary\" | \"neutral\" | \"on-color\"]: ListColor } => ({\n neutral: {\n text: them.textColor,\n },\n primary: {\n text: them.palette.primary[600],\n },\n \"on-color\": {\n text: \"#FFF\",\n },\n});\n\nexport default result;\n","import { COLORS } from \"../../lib/constants\";\n\nconst colors = (\n them: Theme\n): {\n [k in \"primary\" | \"neutral\" | \"on-color\"]: string;\n} => ({\n primary: them.palette.primary.main,\n neutral: them.textColor,\n \"on-color\": them.textOnColor || COLORS.white,\n});\n\nexport default colors;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGCSURBVHgBvVU7UsMwEH0SKUiXioHOnADKlA4nyNBShI6S3CDODUJJFwpaxicAp0uZG6AOhspdQmGbXUX22CH4MxZ5M7Zkr/Y9rVZaAf8MUWZ03WFvfYSRTOAmwCX9coxJkaeido4Ii2Xgq0YCTLyRuCfSMQ3ooRre8tWf1hLou0MHEm+52daFQozBbjTCEvmfIrJgbkcO7UscvMS/BPpXwwnakWcilL9x+qGXyCzNe5Xny/Ojbq9v7krH0eYIuzHOg8APtxFIuLAI3nlriVvud4zkqPxEbFE184JIoic9k0bSgW0IXHCTJtmp48M5SPNQAw6/OmiAs9MTNEUagYJ9qEyA8ruCbYicQAwsYBsRVdpU4DvGPEkQVvl8fH7ppyb0pLPdT6XCo2YCO5hS+fa4k9WiTYwZHTiFtiCOlLwgsKK6QcZBKxH2ZY4c9l84gsp209NtyEsvnIJQzZzw5hACD8e0xFw9d+2lJU5HQ1c0jRqZiBxjUgmfHYGgG+FpH/HB8ANrR4JKA6DRAwAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGYSURBVHgBvVW9UsJAEN5NQLBLmUJnDsZeK1vB1qHgCfAN5A2AN9A3wCegYGz5aW30AfzJjONMynSKhKy3CYEDHS6YyDeT3N/efne3t98B/DNw02BPWNaeUWhIq0pAeIIIgvuJwJF1R1a70xmM647rbEUQOS5eEVJTmligWyVB++LF7SQi6Alb5AwYxqtNCgJw/BlU13eDWTjfRGKoBmmcM+RqRc6EIR/xD4K7st1K43yFxCg2lXZ0NHkTXnWTz0f3YTmonGosyZvOJqW643nhDkwTKpAA+weH4acHWnmjcMk1Y/5rQNbAaNEhgUwcARmDAI8XBFkEdx0cbC5z20z6eH+DbRESzLVF6IwHZ7rbswQnHZdRkJEeIWOgSiB3ME4yifMgzoUE6C4IpsGky8mhnYKgEfglWMZBNe+X7baMQwsyACF0ak9ue4WABUpqyEPaK8vBrT27pbi9EDvWDT+AKt8o+CNiuVb7dvvgqOgfyZhQkpiQR4g3vv95zaewPqp59G3BSstiyHqlPvph7hCMvoLJ7W+Od4Zv9VKZiJJSgxIAAAAASUVORK5CYII=\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFzSURBVHgB5ZS7TsMwFECvA6ipukSsLOUHEIiFBSkMgQjEwAcgOjGXLwgzEhJ8AQMbC0OVQGFoNkbEF3RiYCIbBCk2sZWkzsOPCDEgzuI8fH2de3wD8K/wHXMQbJtHbWKQ7sQ71+xjAlN6jRFs7d9/hjpxBmiSLj7Jr+cIeLpxWgloadKhn98TADvY6Qx1YpUlykoz4RNkaaKvuLt8EEaRLF75BQmG0/ribG9Wp/OhLJX0C3ixlMWVTVjoWfD2NCrmqITPgwReLGXj7IGNgdstnmXCQ9EawhJVxYpQCW9MQEuTvtE+imkS79a2LO0EYrEixMJrCejuEYJWvwMKATQcuaZdfV6TXBXL83J+DDKahJeOKRNrwBX8AATkZHccX8zuM8QdO6OpD+qUO7xwoCOW9sG6dwNyysIRt/upIhKWnEM2vj5eq6YWHc4ky8Ty6CyckwtHvtNbBSN5ht8AJ2usRL5rDjBu01hqDETe98bxJfx5vgHxJocZugq6oAAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH9SURBVHgBvVU9S/NQFD4n79vb+gHWSXQxRWcVnNzqoPYXuEndXAQF8WOzjtalIg6Cg/4CwcmPQR3EwUUFF1EaF8HJCgoxxV7PSdIa07QmtvrATXI5l+e55+Te5wD8MrBqdDoeDYXCSUSI06yPhmpHNClBA5RbeVROYHlPCyZAxEKIKUlfCBiFbyFTRvpgyZ/AfEIVUh45dusXmoE46M4G60ReUURxRmskZ1gbpBKXCYi54cUayT9FQmK6OLFKZJUmC/VDzjDeYpA5zpkZhArvcfgBNkdn4GZhG6KRJncoGhbhcf6wS6QkISCYfKx/CFoams3hBt2TeEmALpLqRdLZ2laVPKe/wtDGHNw/PZYvQugtCYDHz2VyTv98av1LCdzkVw93UAGqU6AMz/qLubOeji44nEibIgHIHYkAH9GRLFTIgsn5zaQsEoBcM9L7MTsDeeG1gjMo1jggOZhmSPjHj/8D3e2US8Jr4TOR7l6fQUukGSZ31nyRm0BMFU5vL62LxrYsRNafc/qDghjTyZOsEtGNQwmrUC9IXNJtwyudIiNvZOilQe3QjJW9VHHyeUzZN9hqaxPRbI4SyhpOhIyv8MOGw+R61YbjgJhNpKjnLsI3kCDp/ymrjXk9k6MquONVmz5n815g05JJ26/U4m5pXNBZP27Kv217Ef8ZPgAOAtiZl+lFiAAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGnSURBVHgBvZU/TsMwFMbfc9J2zYAqFqSysKHSoXt6C4ZK7Q0oXKDtCSg3CFIHRm5QOjMUCbGwEImlgiVDB9o4edhuEjUU5Y8S+ElxbCXv+2y/5Bngj8Gkh0Z/YdS43hNdExDPgKixjUJb9G2f0NIq7nxptexcBlK4yvUL0R2IFwxIgQBGH9PTcSaDw/6iQW5lBhjMNiuENlbczs/VYCniCSYs9ryIuETESg25xXsG9e7LsJD4jkmVs0E0lI3aGq6/pcU+Xp+oe/vyNe1VZ63zY8dqOWoF3kYzIQsUXOkYNZf1ZUeXDWPYyxLVvkqd+Q5oimayzQFiA8qGsaa6qQFlS67MQZiHVAJNHXJwdFCFvIRbZEPZBJrKgIieoGxEMYwMkPw5lAyKShsZrCu+RUBOWtD750ZdmfBcNemo2NW7zyMxGEIJIPjj5bQ5kv2oFm10Pgn3rRBCIxSPGci6gZ7XKWQiYpXGDvsHzrkofJo2y/13B+LLu4QDJ2YkckIZciI/DgZ487XiE+e+tfehJB76cjXANJNkMZQrih/68t95WK/47W/C/8Y3LR2435JQAzIAAAAASUVORK5CYII=\";\n export default img;","type RadioColor = {\n default: string;\n hovered: string;\n active: string;\n disabled: string;\n};\n\ntype colors = \"primary\" | \"neutral\";\n\nconst radioColors = (them: Theme): { [k in colors]: RadioColor } => ({\n neutral: {\n default: them.palette.neutral[600],\n hovered: them.palette.neutral[800],\n active: them.palette.neutral[900],\n disabled: them.palette.neutral[200],\n },\n primary: {\n default: them.palette.primary[600],\n hovered: them.palette.primary[800],\n active: them.palette.primary[900],\n disabled: them.palette.neutral[200],\n },\n});\n\nexport default radioColors;\n","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAkCAYAAACe0YppAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAOTSURBVHgB5Ve9UttAED7LhuFnYFwAQ4fyBuYJEF26mDJVRJeOuEqJ6dLhNwA6OpwylZ0uHeYJEB3mZ0bMAMPw53yf2GMOYZ1PTjIp2Bnp7la7t7+3tyqonDAzMxMUCoUqniUsy8T1er0IQ4Rx5+zsrO2yT0E5wuzsbAXDJgQGA0ij29vb5TiOI/WngiF0DQIbeg3LYgwdChGUn1YI61q3220MLXhubq6KYc9AbcCiBiyKTbr5+Xn/8fExxHTdUDA8PT3dyS24XC77IyMj+9C+LFYuY6OOjUdC0iIPxhhKLvZzu2fbBELrsgFdtzpIKIE0UHJF64491vvRZVpMa0dHRw9luX1ycrKqcgAsb0ncafW7dGgyLS4WixU9R+x2VE6A1RsypdXV9PeSchDscjYltmt6rUMkc99ZMEATR8oNtiCgkvFtQeUQnAsg9LuSSmaAn0X/1wQj+eoY6iYONeAwS7j1OP1LeHuCkxhLPd5UT4ViQw0B2IMVKkyh/Qy6qra4KkShGh5C2cN8sugqOqsj9VrDZxzKZzld8tLw8PBQ8zzvg4nDEQtlemSgfb4SwSiJMZgSLK+34+NjdhMRGBNcqVRiYWgrC5yfnzcxNPVaOpVQFNjnyPqvv2tXdwzNA453d3dNuQrJuK5ygmEt5wcczTKcCL6/v+8YQhJ30bVSjYgLaIFyBCYreD7JcpseTIR5nr4sYi8tBBAwpkJY1wphvicXgRVIA54tzskLvuSU0M2GMs2iZhgfH4/FPWMgHru+vv5xeXkZT05OdtlVEo/xM9ZsEI5ubm5eJBuVnZ6e/gqaXTxj4qmP6Lt+cT41NdXQlwhyqlZIaasvb35c1tch3PwFymyatLCG3yJZ+ngqqavwudlL9W1JU/FCMDMaybXfr1+SZq6lLDeOoVBNt0nSySR8dD0SbJExf9X6wOoQgrdkyWO1YvZaTDJYHwK/oC94yYOfGJtm08B4g2ZPK2vrOpW4po6nZzy5jhPjTZ7UHnWTptiP8erqqo1ku4C27wUVIKnCiYmJGG67SCeWKZAJBo/sGrxJvBHXbyatta+2xDX5i9BHTTYP+tGBpm9b7PoLE0r18pUbUGDDFk/nnzaCJFaATZcksXz5FKknLxzAQ23XP8ahgEroxMlTTjX8tw4kz/8xm/XnWi1FJin6qSpGaFvPq6tgiW1L5QAos2j7yXPqq3lt4mLomLV4gNAI93lko/kNLXmsYTAB8fwAAAAASUVORK5CYII=\";\n export default img;","type TagStatusVariantColors = {\n bg: string;\n iconBg: string;\n font: string;\n};\n\nexport type TagStatusVariantDetails = {\n subtle: TagStatusVariantColors;\n inverted: TagStatusVariantColors;\n ghost: TagStatusVariantColors;\n};\nexport type TagStatusVariant = keyof TagStatusVariantDetails;\nexport type TagStatusColorName =\n | \"neutral\"\n | \"green\"\n | \"blue\"\n | \"yellow\"\n | \"red\";\n\nconst result = (\n them: Theme\n): { [k in TagStatusColorName]: TagStatusVariantDetails } => ({\n neutral: {\n subtle: {\n bg: them.palette.neutral[50],\n iconBg: them.palette.neutral[600],\n font: them.palette.neutral[800],\n },\n inverted: {\n bg: them.palette.neutral[600],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.neutral[600],\n font: them.palette.neutral[800],\n },\n },\n\n blue: {\n subtle: {\n bg: \"#EFF8FF\",\n iconBg: them.palette.info[800],\n font: them.palette.info[800],\n },\n inverted: {\n bg: them.palette.info[600],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.info[800],\n font: them.palette.neutral[800],\n },\n },\n green: {\n subtle: {\n bg: them.palette.success[50],\n iconBg: them.palette.success[800],\n font: them.palette.success[800],\n },\n inverted: {\n bg: them.palette.success[700],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.success[800],\n font: them.palette.neutral[800],\n },\n },\n red: {\n subtle: {\n bg: them.palette.error[50],\n iconBg: them.palette.error[800],\n font: them.palette.error[800],\n },\n inverted: {\n bg: them.palette.error[600],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.error[800],\n font: them.palette.neutral[800],\n },\n },\n yellow: {\n subtle: {\n bg: them.palette.warning[50],\n iconBg: them.palette.warning[800],\n font: them.palette.warning[800],\n },\n inverted: {\n bg: them.palette.warning[700],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.warning[800],\n font: them.palette.neutral[800],\n },\n },\n});\n\nexport default result;\n","type SwitchColor = {\n default: string;\n hovered: string;\n active: string;\n disabled: string;\n};\n\nconst switchColors = (them: Theme): { [k in ColorName]: SwitchColor } => ({\n neutral: {\n default: them.palette.neutral[600],\n hovered: them.palette.neutral[800],\n active: them.palette.neutral[900],\n disabled: them.palette.neutral[200],\n },\n primary: {\n default: them.palette.primary[600],\n hovered: them.palette.primary[800],\n active: them.palette.primary[900],\n disabled: them.palette.neutral[200],\n },\n secondary: {\n default: them.palette.secondary[600],\n hovered: them.palette.secondary[800],\n active: them.palette.secondary[900],\n disabled: them.palette.neutral[200],\n },\n error: {\n default: them.palette.error[600],\n hovered: them.palette.error[800],\n active: them.palette.error[900],\n disabled: them.palette.neutral[200],\n },\n warning: {\n default: them.palette.warning[600],\n hovered: them.palette.warning[800],\n active: them.palette.warning[900],\n disabled: them.palette.neutral[200],\n },\n success: {\n default: them.palette.success[600],\n hovered: them.palette.success[800],\n active: them.palette.success[900],\n disabled: them.palette.neutral[200],\n },\n info: {\n default: them.palette.info[600],\n hovered: them.palette.info[800],\n active: them.palette.info[900],\n disabled: them.palette.neutral[200],\n },\n});\n\nexport default switchColors;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHaSURBVHgBjVQ9SMNAFP4SOxR0cHAQFJv6Ax3rIAqK1CIqiFh0UFC04uAgojiog2JxchJdBEGFujmZxcFBzVgQtIKCqGA2fwYpmEqp0PjuMDWkSdoPrne59/L1fXffiwAXtIUiEk1swAskFUVOOeUK1o1QKFKZETFPy6hBYoJKb8QS53LclaglFAmWiTixIUABYQ5dCUVWC4iYDF3EDW1UogToQCpHZFeKnGTPZUagtj7ASKrNyU0NfnSHO+Crq4GmfUNLp81SvKKAvkZfIK6qDxkPryYciVrl9PeGsbo0l39+ffvA7OIaXt8/zGkSnecCzTHxb2PdWvr0xAienl/QMziOobEZVFSUY3V5DjaYZD+eIN0SbA734OgY17d3+NLSfNzQmkm1gcTOVyR/BO2ip2cXXA7DyPAAOttbObEDJA+K4GhvC02Nflwn77Cze+iYx4hUN6J9kqiRNJdquOu5j+jWXlDchPbQoSYuZb9xa3GnvM2NFX6DLkQxNnFDVvkCSdI4Si4rcHU2+4P7h0d8fqbsq1HkKbbMtwjrM3LqpSCU2CI6UoKOZqPfDGlgPcMC7F+Ks0DN6Q5NawYZLEqRdRqSJcRejHtz2LZ+m2yJDPBv079hVXMFVvwCXOukAPYYzukAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport ThemeProvider from \"../components/ThemeProvider\";\n\nexport const withRtl: (Component: React.FC<any>) => React.FC<React.ReactNode> =\n (Component) => () => (\n <ThemeProvider theme={{ direction: \"rtl\" }}>\n <Component />\n </ThemeProvider>\n );\n\nexport default withRtl;\n"],"names":["ThemeContext","React","createContext","ThemeProvider","theme","children","_jsx","jsx","Provider","value","defaultTheme","direction","fontFamily","textColor","textOnColor","palette","neutral","light","main","dark","contrastText","primary","secondary","error","warning","info","success","typography","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","xl","lg","md","sm","xs","elevation","shadows","backdropBlur","raduises","none","full","breakPoints","mergeStrings","s1","s2","d","generateUniqueId","Date","now","toString","Math","random","substring","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","useTheme","useContext","result","finalResult","overrideDeep","target","source","Object","assign","key","item","Array","isArray","mergeThemes","__assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__spreadArray","to","from","pack","ar","l","slice","concat","memoize","fn","cache","create","arg","undefined","SuppressedError","reactPropsRegex","isPropValid","prop","test","charCodeAt","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","abs","String","fromCharCode","trim","match","pattern","exec","replace","replacement","indexof","search","position","charat","index","substr","begin","end","strlen","sizeof","append","array","push","filter","line","column","character","characters","node","root","parent","props","siblings","return","copy","lift","prev","next","peek","caret","token","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","dealloc","parse","alloc","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","k","x","y","z","prefix","hash","some","element","_","a","b","c","f","serialize","callback","output","stringify","join","prefixer","map","combine","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","process","env","REACT_APP_SC_ATTR","SC_ATTR","m","v","g","S","window","w","Boolean","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","NODE_ENV","E","N","Set","P","r","console","delete","o","useRef","has","warn","add","message","freeze","C","A","O","D","R","T","V","M","$","B","displayName","name","L","charAt","toLowerCase","G","Symbol","for","Y","q","W","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","H","caller","callee","arity","U","$$typeof","compare","J","render","X","Z","defineProperty","K","getOwnPropertyNames","Q","ee","getOwnPropertyDescriptor","te","getPrototypeOf","ne","re","oe","se","ie","ae","ce","constructor","le","ue","pe","de","forEach","he","Error","fe","groupSizes","Uint32Array","tag","indexOfGroup","insertRules","set","insertRule","clearGroup","deleteRule","getGroup","getRule","me","ye","Map","ve","ge","Se","get","we","be","Ee","RegExp","Ne","split","registerName","Pe","textContent","parseInt","u","getTag","_e","querySelectorAll","getAttribute","parentNode","removeChild","Ie","nextSibling","setAttribute","__webpack_nonce__","Ae","sheet","styleSheets","ownerNode","cssRules","Oe","nodes","childNodes","De","splice","Re","Te","isServer","useCSSOMInjection","ke","options","gs","names","server","registerId","rehydrate","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clear","clearRules","clearTag","je","xe","Ve","replaceAll","Me","ze","plugins","startsWith","endsWith","d.RULESET","includes","d.prefixer","d.stringify","d.compile","namespace","d.serialize","collection","d.middleware","reduce","Fe","$e","shouldForwardProp","stylis","Ge","Consumer","qe","inject","id","getName","We","He","Ue","Je","isCss","h","Xe","styledComponentId","isReactComponent","Ke","Qe","staticRulesId","isStatic","Ze","componentId","baseHash","baseStyle","generateAndInjectStyles","et","ot","st","it","attrs","parentComponentId","componentStyle","foldedComponentIds","I","className","as","forwardedAs","warnTooManyClasses","forwardRef","_foldedDefaultProps","keys","at","ct","lt","ut","withConfig","pt","dt","mt","navigator","product","wt","img","sizes","small","medium","large","StyledComponentTitle","styled","button","$customStyle","minHeight","flush","padding","fontColor","border","borderTop","cursor","colors","Icon","indeterminate","width","height","viewBox","fill","xmlns","rx","fillRule","clipRule","xSmall","svgW","svgH","svgLeft","svgTop","Checkbox","_a","label","description","onChange","default","them","hovered","active","disabled","sizeResult","backgroundColor","backgroundColorHovered","backgroundColorActive","inputRef","useEffect","current","_jsxs","jsxs","StyledComponent","checked","htmlFor","div","feedbackIcon","DropdownItem","selected","multiple","onClick","$selected","$multiple","color","$theme","checkIcon","xsmall","py","Tag","outLine","iconOnly","leadIcon","trailIcon","rounded","colorNameResult","outLineResult","tagColors","_b","bg","borderOutlined","onColor","borderColor","borderColorOutlined","borderRadius","minWidth","paddingY","StyledDiv","buttonCloseIcon","arrowDownIcon","shadowFocus","borderFocused","borderHovered","StyledComponentSpan","span","$bgColor","xxSmall","wh","fw","xLarge","xxLarge","$size","$border","$borderColor","$square","$isIcon","op","positioner","$index","$icon","StyledList","COLORS","Button","buttonStyle","destructive","buttonColors","focus","innerBorderColor","subtle","transparent","getButtonColors","$disabled","_Fragment","$pointerEvents","$state","$effect","__esModule","startYear","yearLength","epoch","century","weekStartDayIndex","getMonthLengths","isLeap","getLeaps","getDayOfYear","year","month","day","getAllDays","leapsLength","guessYear","gregorian_ar","months","weekDays","digits","meridiems","arabic_ar","prefixW","TextInput","prefixStyle","onPrefixClicked","suffix","suffixStyle","onSuffixClicked","icon","placeholderFontColor","animationColor","prefixBg","prefixBgHover","prefixBgActive","suffixBg","suffixBgHover","suffixBgActive","RootStyledComponent","iconPadding","marginBottom","textAlign","display","alignItems","input","Menu","menuItems","keepOpenOnItemsClicked","onOpen","onClose","reverseOpeningDirection","open","setOpen","useState","defaultBodyOverflow","setDefaultBodyOverflow","itemsPosition","setItemsPosition","top","left","componentRef","menuItemsRef","vh","max","documentElement","clientHeight","innerHeight","rect","getBoundingClientRect","values","bottom","right","clientWidth","innerWidth","resizeHandler","clickHandler","contains","addEventListener","removeEventListener","body","overflow","_c","openMenu","rightIcon","leftIcon","padStartZero","text","padStart","formatDate","date","number","FileCard","status","filename","helperText","onDelete","src","xIcon","arrowDownIconGray","useScreenSizes","mobileThreshold","tabletThreshold","setResult","isMobile","isTablet","isDesktop","StyledComponentContainer","$rowSpacing","$columnSpacing","StyledComponentItem","$columnSpan","addSpacingPropsToChidren","columnSpacing","rowSpacing","Children","child","isValidElement","Fragment","cloneElement","$colors","$isColored","vLine","font","lh","$fontSize","$lineHeight","$style","$inline","visited","StyledUlComponent","ul","getCss","StyledOlComponent","ol","$level","$listStyleType","$ol","$iconUrl","getListStyleType","anyLevel","level","MenuItem","tabIndex","$align","Backdrop","Tab","vertical","$vertical","Base","dot","StyledDot","$status","getCircleCss","getDotCss","getLineCss","bgHover","$alignment","$dot","$direction","sliderBgHovered","sliderBgActive","sliderBg","iconBackgroundColor","table","$contained","$onRowClick","$headerColumnDivider","$compact","MobileStyledComponent","$flush","addPropsToChidren","Textarea","scrollBar","resize","flexDirection","textarea","NotificationToast","leadText","helpText","actions","closeButton","screenSizes","colorsResult","critical","getColors","isMinimal","StyledAlertComponent","getAnimation","keyframes","backCss","mobileCss","$position","$backgroundColor","$inverted","$type","StyledComponentDivider","$showLabel","$showTrailingIcon","$onColor","hr","$lineType","$color","SkeletonCircle","SkeletonLine","SkeletonSquare","$borderRadius","SkeletonRectangle","Result","$rounded","$iconOnly","borderWidth","circleRadius","magicNumber","stepNameFontSize","descriptionFontSize","innerCircleFontSize","$circleRadius","$stepsCount","$activeStep","$success","$error","$percentage","min","plusIconJsx","minusIconJsx","NumberInput","prefixType","suffixType","onWheel","blur","inputMode","onKeyDown","preventDefault","useScreenDimensions","screenDimentions","setScreenDimentions","windowResizeHandler","$indicatorWidth","title","expanded","defaultExpanded","iconAlignment","contentRef","contentHeight","setContentHeight","showContent","justifyItems","gap","alt","arrowDownImage","transition","transform","variant","placeholder","getOptionLabel","maxTagsToShow","maxTagsLabel","inputValue","setInputValue","inputValueSearch","setInputValueSearch","selectedOptions","setSelectedOptions","getLocalOptionLabel","memoizedOptions","useMemo","calcPosition","offsetTop","offsetLeft","prevState","ind","option","stopPropagation","newValues","newSelectedOptions","el","deleteTaghandler","optionLabel","newValue","onItemSelectedHandler","imageSrc","square","isIcon","items","containerRef","openListHandler","lastTwoItems","state","effect","expandableContent","actionsButtons","internalExpanded","setInternalExpanded","isExpanded","selectable","expandable","pointerEvents","$expanded","visibility","data","onItemClicked","hijri","range","minYear","maxYear","minDate","maxDate","onRangeChange","withTextInput","textInputProps","closeOnSelect","rangeSeparator","setDate","dateText","setDateText","yearsList","setYearsList","yearDisplayValue","setYearDisplayValue","calendarRef","isRangeAndOnlyOneSelected","minYearDefault","maxYearDefault","newYearsList","thisYear","getFullYear","thisMonth","getMonth","gregorianYear","gregorianMonth","hijriYear","floor","gregoreanYearToHijriYear","newDateText","calendar","Calendar","arabic","gregorian","onMonthChange","locale","click","format","showOtherDays","monthYearSeparator","onYearChangedDropdown","readOnly","lineType","uploadText","onDrop","filesList","onFileListItemDeleted","submitButton","porps","isDraggingOver","setIsDraggingOver","onDrophandler","fileList","file","dragOverhandler","dragLeavhandler","dropHandler","dataTransfer","files","filled","styleVariant","dropdownStyle","valueDisplay","otherProps","selectedOptionText","setSelectedOptionText","onChangeHandler","newChildren","newSelectedOptionText","comp","classList","container","getColumnSpan","background","isColored","inline","focusBorderColor","selectedColors","$focusBorderColor","href","iconUrl","loadingStyle","loadingColors","align","footerStartButtons","footerEndButtons","link","dismissible","show","setShow","currentPage","siblingCount","onPageChange","menu","menus","getElementsByClassName","scrollTo","_el","siblingCountResult","showStartItems","showEndItems","showCenterItems","showMenuStart","showMenuEnd","itemsToRenderCount","startItemsToRender","centerItemsToRender","endItemsToRender","reverse","show5Only","percentage","alignment","steps","activeStepIndex","onStepClick","stepsCount","activeStep","innerCircleText","preStepName","stepName","nextStepName","cx","cy","groupValue","sliderBgDisabled","layout","groupName","onChnage","screenDimensions","sliderBaseRef","sliderIndicatorRef","sliderIndicatorRef2","isMoving1","setIsMoving1","isMoving2","setIsMoving2","currentX1","setCurrentX1","currentX2","setCurrentX2","canMoveFromTo","setCanMoveFromTo","indicatorWidth","percentage0","percentageResult","round","percentage1","sliderRect","indicatorRect","indicatorRect2","mouseMoveHandler","newClientX","clientX","mouseUpHandler","remove","onMouseDown","brand","hovering","setHovering","hoverScore","setHoverScore","selectedIcon","halfIcon","imageSize","onHoverHandler","starOrder","isLeftStarSection","nativeEvent","offsetX","scoreResult","onMouseEnter","onMouseLeave","grayIcon","onMouseMove","showTrailingIcon","showLabel","onSearchByVoiceClicked","marginTop","isMoving","setIsMoving","currentX","setCurrentX","log","variantResult","iconBg","inverted","ghost","blue","green","red","yellow","_d","alertMessage","trailSwitch","contained","compact","alternatingRows","labels","onRowClick","onCheck","responsiveThreshold","columnDivider","headerColumnDivider","lastColumnWidthMultiply","selectAllValue","setSelectAllValue","setIsMobile","onRowCheckedHandler","allSelected","checkedClassName","HTMLElement","nodeName","sIndex","$alternatingRows","cellPadding","cellSpacing","newCheckedValues","trClassName","entries","itemIndex","content","jsxContents","beakPlacement","beakAlignment","noBeak","contentClicked","setContentClicked","tooltipRef","setPosition","showTooltip","caretColor","caretColors","toBottom","toTop","toLeft","toRight","newTop","newLeft","newCaret","childrenWidth","childrenHeight","childrenTop","childrenLeft","tooltipWidth","tooltipHeight","caretSize","mouseoverHandler","mouseleaveHandler","duration","rtl","createRoot","onCloseHandler","unmount","addCloseClass","Element","setTimeout","Component"],"mappings":"sIAOO,MAAMA,EAAeC,EAAMC,cAAiC,MAE7DC,EAAiC,EAAGC,QAAOC,cACxCC,EAAAC,IAACP,EAAaQ,SAAQ,CAACC,MAAOL,EAAKC,SAAGA,ICVzCK,EAAsB,CAC1BC,UAAW,MACXC,WAAY,gBACZC,UAAW,UACXC,YAAa,UACbC,QAAS,CACPC,QAAS,CACP,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,aAAc,QAEhBC,QAAS,CACP,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLJ,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,aAAc,QAEhBE,UAAW,CACT,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLL,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,aAAc,WAEhBG,MAAO,CACL,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLN,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,aAAc,QAEhBI,QAAS,CACP,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLP,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,aAAc,WAEhBK,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLR,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,aAAc,QAEhBM,QAAS,CACP,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLT,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,aAAc,SAGlBO,WAAY,CACVC,GAAI,CACFC,SAAU,OACVC,WAAY,QAEdC,GAAI,CACFF,SAAU,OACVC,WAAY,QAEdE,GAAI,CACFH,SAAU,OACVC,WAAY,QAEdG,GAAI,CACFJ,SAAU,OACVC,WAAY,QAEdI,GAAI,CACFL,SAAU,OACVC,WAAY,QAEdK,GAAI,CACFN,SAAU,OACVC,WAAY,QAEdM,GAAI,CACFP,SAAU,OACVC,WAAY,QAEdO,GAAI,CACFR,SAAU,OACVC,WAAY,QAEdQ,GAAI,CACFT,SAAU,OACVC,WAAY,QAEdS,GAAI,CACFV,SAAU,OACVC,WAAY,QAEdU,GAAI,CACFX,SAAU,OACVC,WAAY,SAGhBW,UAAW,CACTC,QAAS,CACPF,GAAI,qDACJD,GAAI,2FACJD,GAAI,6FACJD,GAAI,gGACJD,GAAI,gGACJ,MAAO,2CACP,MAAO,4CAETO,aAAc,CACZJ,GAAI,+CACJD,GAAI,iDACJD,GAAI,iDACJD,GAAI,mDAGRQ,SAAU,CACRC,KAAM,IACNL,GAAI,MACJD,GAAI,MACJD,GAAI,MACJD,GAAI,OACJD,GAAI,OACJU,KAAM,UAERC,YAAa,CACXV,GAAI,KACJC,GAAI,IACJC,GAAI,MCpLKS,EAAe,CAACC,EAAaC,EAAaC,EAAI,MAClDF,EAAKE,GAAKD,QAAAA,EAAM,IAGZE,EAAmB,IACZC,KAAKC,MAAMC,SAAS,IACpBC,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,GClC5D,SAASC,EAAYC,EAAKC,QACX,IAARA,IAAiBA,EAAM,CAAE,GAC9B,IAAIC,EAAWD,EAAIC,SAEnB,GAAKF,GAA2B,oBAAbG,SAAnB,CAEA,IAAIC,EAAOD,SAASC,MAAQD,SAASE,qBAAqB,QAAQ,GAC9DC,EAAQH,SAASI,cAAc,SACnCD,EAAME,KAAO,WAEI,QAAbN,GACEE,EAAKK,WACPL,EAAKM,aAAaJ,EAAOF,EAAKK,YAKhCL,EAAKO,YAAYL,GAGfA,EAAMM,WACRN,EAAMM,WAAWC,QAAUb,EAE3BM,EAAMK,YAAYR,SAASW,eAAed,GAnBU,CAqBxD,2jBCnBM,MAAAe,EAAW,KACf,MAAMvE,EAAQH,EAAM2E,WAAW5E,GAE/B,IAAI6E,EAASnE,EAOb,OAJIN,IACFyE,EFbuB,EAACnE,EAAqBN,KAC/C,IAAI0E,EAAmB,CAAE,EAwBzB,OAJI1E,IACF0E,EAfF,SAASC,EAAaC,EAAaC,GACjC,IAAIJ,EAAMK,OAAAC,OAAA,CAAA,EAAQH,GAElB,IAAK,MAAMI,KAAOH,GAPFI,EAQDJ,EAAOG,KAPS,iBAATC,IAAsBC,MAAMC,QAAQF,IAO3BD,KAAOJ,EAClCH,EAAOO,GAAOL,EAAaC,EAAOI,GAAMH,EAAOG,IAE/CP,EAAOO,GAAOH,EAAOG,GAX3B,IAAkBC,EAehB,OAAOR,EAIOE,CAAarE,EAAcN,IAGpC0E,CAAW,EEZPU,CAAY9E,EAAcN,IAG9ByE,CAAM,ECeR,IAAIY,EAAW,WAQlB,OAPAA,EAAWP,OAAOC,QAAU,SAAkBO,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOV,OAAOe,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACV,EACMD,EAASW,MAAMC,KAAMP,UAChC,EAEO,SAASQ,EAAOX,EAAGY,GACtB,IAAIb,EAAI,CAAA,EACR,IAAK,IAAIM,KAAKL,EAAOT,OAAOe,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAC9EN,EAAEM,GAAKL,EAAEK,IACb,GAAS,MAALL,GAAqD,mBAAjCT,OAAOuB,sBACtB,KAAIb,EAAI,EAAb,IAAgBI,EAAId,OAAOuB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAC3DW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKV,OAAOe,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,MACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,IAF4B,CAItD,OAAOF,CACX,CAiKO,SAASiB,EAAcC,EAAIC,EAAMC,GACpC,GAAIA,GAA6B,IAArBhB,UAAUC,OAAc,IAAK,IAA4BgB,EAAxBnB,EAAI,EAAGoB,EAAIH,EAAKd,OAAYH,EAAIoB,EAAGpB,KACxEmB,GAAQnB,KAAKiB,IACRE,IAAIA,EAAKzB,MAAMW,UAAUgB,MAAMd,KAAKU,EAAM,EAAGjB,IAClDmB,EAAGnB,GAAKiB,EAAKjB,IAGrB,OAAOgB,EAAGM,OAAOH,GAAMzB,MAAMW,UAAUgB,MAAMd,KAAKU,GACtD,CC7NA,SAASM,EAAQC,GACf,IAAIC,EAAQnC,OAAOoC,OAAO,MAC1B,OAAO,SAAUC,GAEf,YADmBC,IAAfH,EAAME,KAAoBF,EAAME,GAAOH,EAAGG,IACvCF,EAAME,EACd,CACH,CDkUkD,mBAApBE,iBAAiCA,gBEtU/D,IAAIC,EAAkB,0+HAElBC,EAA6BR,GAAQ,SAAUS,GACjD,OAAOF,EAAgBG,KAAKD,IAAgC,MAAvBA,EAAKE,WAAW,IAE3B,MAAvBF,EAAKE,WAAW,IAEhBF,EAAKE,WAAW,GAAK,EAC1B,wGCVO,IAAIC,EAAK,OACLC,EAAM,QACNC,EAAS,WAETC,EAAU,OACVC,EAAU,OACVC,EAAc,OAUdC,EAAY,aCZZC,EAAM9E,KAAK8E,IAMXzB,EAAO0B,OAAOC,aAMdrD,EAASD,OAAOC,OAepB,SAASsD,EAAMhI,GACrB,OAAOA,EAAMgI,MACd,CAOO,SAASC,EAAOjI,EAAOkI,GAC7B,OAAQlI,EAAQkI,EAAQC,KAAKnI,IAAUA,EAAM,GAAKA,CACnD,CAQO,SAASoI,EAASpI,EAAOkI,EAASG,GACxC,OAAOrI,EAAMoI,QAAQF,EAASG,EAC/B,CAQO,SAASC,EAAStI,EAAOuI,EAAQC,GACvC,OAAOxI,EAAM+F,QAAQwC,EAAQC,EAC9B,CAOO,SAASC,EAAQzI,EAAO0I,GAC9B,OAAiC,EAA1B1I,EAAMqH,WAAWqB,EACzB,CAQO,SAASC,EAAQ3I,EAAO4I,EAAOC,GACrC,OAAO7I,EAAMwG,MAAMoC,EAAOC,EAC3B,CAMO,SAASC,EAAQ9I,GACvB,OAAOA,EAAMsF,MACd,CAMO,SAASyD,EAAQ/I,GACvB,OAAOA,EAAMsF,MACd,CAOO,SAAS0D,EAAQhJ,EAAOiJ,GAC9B,OAAOA,EAAMC,KAAKlJ,GAAQA,CAC3B,CAgBO,SAASmJ,EAAQF,EAAOf,GAC9B,OAAOe,EAAME,QAAO,SAAUnJ,GAAS,OAAQiI,EAAMjI,EAAOkI,EAAU,GACvE,CC1HO,IAAIkB,EAAO,EACPC,EAAS,EACT/D,EAAS,EACTkD,EAAW,EACXc,EAAY,EACZC,EAAa,GAYjB,SAASC,EAAMxJ,EAAOyJ,EAAMC,EAAQ/F,EAAMgG,EAAO/J,EAAU0F,EAAQsE,GACzE,MAAO,CAAC5J,MAAOA,EAAOyJ,KAAMA,EAAMC,OAAQA,EAAQ/F,KAAMA,EAAMgG,MAAOA,EAAO/J,SAAUA,EAAUwJ,KAAMA,EAAMC,OAAQA,EAAQ/D,OAAQA,EAAQuE,OAAQ,GAAID,SAAUA,EACnK,CAOO,SAASE,EAAML,EAAME,GAC3B,OAAOjF,EAAO8E,EAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,EAAGC,EAAKG,UAAWH,EAAM,CAACnE,QAASmE,EAAKnE,QAASqE,EACrG,CAKO,SAASI,EAAMN,GACrB,KAAOA,EAAKA,MACXA,EAAOK,EAAKL,EAAKA,KAAM,CAAC7J,SAAU,CAAC6J,KAEpCT,EAAOS,EAAMA,EAAKG,SACnB,CAYO,SAASI,IAMf,OALAV,EAAYd,EAAW,EAAIC,EAAOc,IAAcf,GAAY,EAExDa,IAAwB,KAAdC,IACbD,EAAS,EAAGD,KAENE,CACR,CAKO,SAASW,IAMf,OALAX,EAAYd,EAAWlD,EAASmD,EAAOc,EAAYf,KAAc,EAE7Da,IAAwB,KAAdC,IACbD,EAAS,EAAGD,KAENE,CACR,CAKO,SAASY,IACf,OAAOzB,EAAOc,EAAYf,EAC3B,CAKO,SAAS2B,IACf,OAAO3B,CACR,CAOO,SAAShC,EAAOoC,EAAOC,GAC7B,OAAOF,EAAOY,EAAYX,EAAOC,EAClC,CAMO,SAASuB,EAAOzG,GACtB,OAAQA,GAEP,KAAK,EAAG,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtC,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAE3D,KAAK,GAAI,KAAK,IAAK,KAAK,IACvB,OAAO,EAER,KAAK,GACJ,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAC/B,OAAO,EAER,KAAK,GAAI,KAAK,GACb,OAAO,EAGT,OAAO,CACR,CAsBO,SAAS0G,EAAS1G,GACxB,OAAOqE,EAAKxB,EAAMgC,EAAW,EAAG8B,GAAmB,KAAT3G,EAAcA,EAAO,EAAa,KAATA,EAAcA,EAAO,EAAIA,IAC7F,CAcO,SAAS4G,GAAY5G,GAC3B,MAAO2F,EAAYY,MACdZ,EAAY,IACfW,IAIF,OAAOG,EAAMzG,GAAQ,GAAKyG,EAAMd,GAAa,EAAI,GAAK,GACvD,CAwBO,SAASkB,GAAU9B,EAAO+B,GAChC,OAASA,GAASR,OAEbX,EAAY,IAAMA,EAAY,KAAQA,EAAY,IAAMA,EAAY,IAAQA,EAAY,IAAMA,EAAY,MAG/G,OAAO9C,EAAMkC,EAAOyB,KAAWM,EAAQ,GAAe,IAAVP,KAA0B,IAAVD,KAC7D,CAMO,SAASK,GAAW3G,GAC1B,KAAOsG,YACEX,GAEP,KAAK3F,EACJ,OAAO6E,EAER,KAAK,GAAI,KAAK,GACA,KAAT7E,GAAwB,KAATA,GAClB2G,GAAUhB,GACX,MAED,KAAK,GACS,KAAT3F,GACH2G,GAAU3G,GACX,MAED,KAAK,GACJsG,IAIH,OAAOzB,CACR,CAOO,SAASkC,GAAW/G,EAAM+E,GAChC,KAAOuB,KAEFtG,EAAO2F,IAAc,KAGhB3F,EAAO2F,IAAc,IAAsB,KAAXY,OAG1C,MAAO,KAAO1D,EAAMkC,EAAOF,EAAW,GAAK,IAAMpC,EAAc,KAATzC,EAAcA,EAAOsG,IAC5E,CAMO,SAASU,GAAYjC,GAC3B,MAAQ0B,EAAMF,MACbD,IAED,OAAOzD,EAAMkC,EAAOF,EACrB,CCxPO,SAASoC,GAAS5K,GACxB,OD+HM,SAAkBA,GACxB,OAAOuJ,EAAa,GAAIvJ,CACzB,CCjIQ6K,CAAQC,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,IAAK9K,EDuH3C,SAAgBA,GACtB,OAAOoJ,EAAOC,EAAS,EAAG/D,EAASwD,EAAOS,EAAavJ,GAAQwI,EAAW,EAAG,EAC9E,CCzH0DuC,CAAM/K,GAAQ,EAAG,CAAC,GAAIA,GAChF,CAcO,SAAS8K,GAAO9K,EAAOyJ,EAAMC,EAAQsB,EAAMC,EAAOC,EAAUC,EAAQC,EAAQC,GAiBlF,IAhBA,IAAI3C,EAAQ,EACR4C,EAAS,EACThG,EAAS6F,EACTI,EAAS,EACTC,EAAW,EACXC,EAAW,EACXC,EAAW,EACXC,EAAW,EACXC,EAAY,EACZtC,EAAY,EACZ3F,EAAO,GACPgG,EAAQsB,EACRrL,EAAWsL,EACXW,EAAYb,EACZzB,EAAa5F,EAEVgI,UACEF,EAAWnC,EAAWA,EAAYW,KAEzC,KAAK,GACJ,GAAgB,KAAZwB,GAAqD,IAAlChD,EAAOc,EAAYjE,EAAS,GAAU,EACuD,GAA/GgD,EAAQiB,GAAcnB,EAAQiC,EAAQf,GAAY,IAAK,OAAQ,MAAOzB,EAAIa,EAAQ0C,EAAO1C,EAAQ,GAAK,MACzGkD,GAAY,GACb,KACL,CAEG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtBrC,GAAcc,EAAQf,GACtB,MAED,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAC9BC,GAAcgB,GAAWkB,GACzB,MAED,KAAK,GACJlC,GAAciB,GAASL,IAAU,EAAG,GACpC,SAED,KAAK,GACJ,OAAQD,KACP,KAAK,GAAI,KAAK,GACblB,EAAO8C,GAAQpB,GAAUT,IAAQE,KAAUV,EAAMC,EAAQ2B,GAAeA,GACxE,MACD,QACC9B,GAAc,IAEhB,MAED,KAAK,IAAMmC,EACVN,EAAO1C,KAAWI,EAAOS,GAAcqC,EAExC,KAAK,IAAMF,EAAU,KAAK,GAAI,KAAK,EAClC,OAAQpC,GAEP,KAAK,EAAG,KAAK,IAAKqC,EAAW,EAE7B,KAAK,GAAKL,GAAyB,GAAbM,IAAiBrC,EAAanB,EAAQmB,EAAY,MAAO,KAC1EiC,EAAW,GAAM1C,EAAOS,GAAcjE,GACzC0D,EAAOwC,EAAW,GAAKO,GAAYxC,EAAa,IAAKyB,EAAMtB,EAAQpE,EAAS,EAAG+F,GAAgBU,GAAY3D,EAAQmB,EAAY,IAAK,IAAM,IAAKyB,EAAMtB,EAAQpE,EAAS,EAAG+F,GAAeA,GACzL,MAED,KAAK,GAAI9B,GAAc,IAEvB,QAGC,GAFAP,EAAO6C,EAAYG,GAAQzC,EAAYE,EAAMC,EAAQhB,EAAO4C,EAAQL,EAAOG,EAAQzH,EAAMgG,EAAQ,GAAI/J,EAAW,GAAI0F,EAAQ4F,GAAWA,GAErH,MAAd5B,EACH,GAAe,IAAXgC,EACHR,GAAMvB,EAAYE,EAAMoC,EAAWA,EAAWlC,EAAOuB,EAAU5F,EAAQ8F,EAAQxL,QAE/E,OAAmB,KAAX2L,GAA2C,MAA1B9C,EAAOc,EAAY,GAAa,IAAMgC,GAE9D,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAClCT,GAAM9K,EAAO6L,EAAWA,EAAWb,GAAQhC,EAAOgD,GAAQhM,EAAO6L,EAAWA,EAAW,EAAG,EAAGZ,EAAOG,EAAQzH,EAAMsH,EAAOtB,EAAQ,GAAIrE,EAAQ1F,GAAWA,GAAWqL,EAAOrL,EAAU0F,EAAQ8F,EAAQJ,EAAOrB,EAAQ/J,GACnN,MACD,QACCkL,GAAMvB,EAAYsC,EAAWA,EAAWA,EAAW,CAAC,IAAKjM,EAAU,EAAGwL,EAAQxL,IAIpF8I,EAAQ4C,EAASE,EAAW,EAAGE,EAAWE,EAAY,EAAGjI,EAAO4F,EAAa,GAAIjE,EAAS6F,EAC1F,MAED,KAAK,GACJ7F,EAAS,EAAIwD,EAAOS,GAAaiC,EAAWC,EAC7C,QACC,GAAIC,EAAW,EACd,GAAiB,KAAbpC,IACDoC,OACE,GAAiB,KAAbpC,GAAkC,GAAdoC,KAA6B,KAAV1B,IAC/C,SAEF,OAAQT,GAAcnD,EAAKkD,GAAYA,EAAYoC,GAElD,KAAK,GACJE,EAAYN,EAAS,EAAI,GAAK/B,GAAc,MAAQ,GACpD,MAED,KAAK,GACJ6B,EAAO1C,MAAYI,EAAOS,GAAc,GAAKqC,EAAWA,EAAY,EACpE,MAED,KAAK,GAEW,KAAX1B,MACHX,GAAcc,EAAQJ,MAEvBsB,EAASrB,IAAQoB,EAAShG,EAASwD,EAAOnF,EAAO4F,GAAcoB,GAAWR,MAAWb,IACrF,MAED,KAAK,GACa,KAAbmC,GAAyC,GAAtB3C,EAAOS,KAC7BmC,EAAW,IAIjB,OAAOR,CACR,CAiBO,SAASc,GAAShM,EAAOyJ,EAAMC,EAAQhB,EAAO4C,EAAQL,EAAOG,EAAQzH,EAAMgG,EAAO/J,EAAU0F,EAAQsE,GAK1G,IAJA,IAAIqC,EAAOX,EAAS,EAChBN,EAAkB,IAAXM,EAAeL,EAAQ,CAAC,IAC/BiB,EAAOnD,EAAOiC,GAET7F,EAAI,EAAGgH,EAAI,EAAGC,EAAI,EAAGjH,EAAIuD,IAASvD,EAC1C,IAAK,IAAIkH,EAAI,EAAGC,EAAI3D,EAAO3I,EAAOiM,EAAO,EAAGA,EAAOpE,EAAIsE,EAAIf,EAAOjG,KAAMoH,EAAIvM,EAAOqM,EAAIH,IAAQG,GAC1FE,EAAIvE,EAAKmE,EAAI,EAAInB,EAAKqB,GAAK,IAAMC,EAAIlE,EAAQkE,EAAG,OAAQtB,EAAKqB,QAChE1C,EAAMyC,KAAOG,GAEhB,OAAO/C,EAAKxJ,EAAOyJ,EAAMC,EAAmB,IAAX4B,EAAe5D,EAAU/D,EAAMgG,EAAO/J,EAAU0F,EAAQsE,EAC1F,CASO,SAASkC,GAAS9L,EAAOyJ,EAAMC,EAAQE,GAC7C,OAAOJ,EAAKxJ,EAAOyJ,EAAMC,EAAQjC,EAASrB,EDtInCkD,GCsIiDX,EAAO3I,EAAO,GAAG,GAAK,EAAG4J,EAClF,CAUO,SAASmC,GAAa/L,EAAOyJ,EAAMC,EAAQpE,EAAQsE,GACzD,OAAOJ,EAAKxJ,EAAOyJ,EAAMC,EAAQ/B,EAAagB,EAAO3I,EAAO,EAAGsF,GAASqD,EAAO3I,EAAOsF,EAAS,GAAK,GAAGA,EAAQsE,EAChH,CCxLO,SAAS4C,GAAQxM,EAAOsF,EAAQ1F,GACtC,OHaM,SAAeI,EAAOsF,GAC5B,OAA0B,GAAnBmD,EAAOzI,EAAO,MAAiBsF,GAAU,EAAKmD,EAAOzI,EAAO,KAAO,EAAKyI,EAAOzI,EAAO,KAAO,EAAKyI,EAAOzI,EAAO,KAAO,EAAKyI,EAAOzI,EAAO,GAAK,CACvJ,CGfSyM,CAAKzM,EAAOsF,IAEnB,KAAK,KACJ,OAAOkC,EAAS,SAAWxH,EAAQA,EAEpC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAEvE,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAC3D,OAAOwH,EAASxH,EAAQA,EAEzB,KAAK,KACJ,OAAOuH,EAAMvH,EAAQA,EAEtB,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAChD,OAAOwH,EAASxH,EAAQuH,EAAMvH,EAAQsH,EAAKtH,EAAQA,EAEpD,KAAK,KACJ,OAAQyI,EAAOzI,EAAOsF,EAAS,KAE9B,KAAK,IACJ,OAAOkC,EAASxH,EAAQsH,EAAKc,EAAQpI,EAAO,qBAAsB,MAAQA,EAE3E,KAAK,IACJ,OAAOwH,EAASxH,EAAQsH,EAAKc,EAAQpI,EAAO,qBAAsB,SAAWA,EAE9E,KAAK,GACJ,OAAOwH,EAASxH,EAAQsH,EAAKc,EAAQpI,EAAO,qBAAsB,MAAQA,EAI7E,KAAK,KAAM,KAAK,KAAM,KAAK,KAC1B,OAAOwH,EAASxH,EAAQsH,EAAKtH,EAAQA,EAEtC,KAAK,KACJ,OAAOwH,EAASxH,EAAQsH,EAAK,QAAUtH,EAAQA,EAEhD,KAAK,KACJ,OAAOwH,EAASxH,EAAQoI,EAAQpI,EAAO,iBAAkBwH,EAAS,WAAaF,EAAK,aAAetH,EAEpG,KAAK,KACJ,OAAOwH,EAASxH,EAAQsH,EAAK,aAAec,EAAQpI,EAAO,eAAgB,KAAQiI,EAAMjI,EAAO,kBAA4E,GAAxDsH,EAAK,YAAcc,EAAQpI,EAAO,eAAgB,KAAYA,EAEnL,KAAK,KACJ,OAAOwH,EAASxH,EAAQsH,EAAK,iBAAmBc,EAAQpI,EAAO,6BAA8B,IAAMA,EAEpG,KAAK,KACJ,OAAOwH,EAASxH,EAAQsH,EAAKc,EAAQpI,EAAO,SAAU,YAAcA,EAErE,KAAK,KACJ,OAAOwH,EAASxH,EAAQsH,EAAKc,EAAQpI,EAAO,QAAS,kBAAoBA,EAE1E,KAAK,KACJ,OAAOwH,EAAS,OAASY,EAAQpI,EAAO,QAAS,IAAMwH,EAASxH,EAAQsH,EAAKc,EAAQpI,EAAO,OAAQ,YAAcA,EAEnH,KAAK,KACJ,OAAOwH,EAASY,EAAQpI,EAAO,qBAAsB,KAAOwH,EAAS,MAAQxH,EAE9E,KAAK,KACJ,OAAOoI,EAAQA,EAAQA,EAAQpI,EAAO,eAAgBwH,EAAS,MAAO,cAAeA,EAAS,MAAOxH,EAAO,IAAMA,EAEnH,KAAK,KAAM,KAAK,KACf,OAAOoI,EAAQpI,EAAO,oBAAqBwH,YAE5C,KAAK,KACJ,OAAOY,EAAQA,EAAQpI,EAAO,oBAAqBwH,EAAS,cAAgBF,EAAK,gBAAiB,aAAc,WAAaE,EAASxH,EAAQA,EAE/I,KAAK,KACJ,IAAKiI,EAAMjI,EAAO,kBAAmB,OAAOsH,EAAK,oBAAsBqB,EAAO3I,EAAOsF,GAAUtF,EAC/F,MAED,KAAK,KAAM,KAAK,KACf,OAAOsH,EAAKc,EAAQpI,EAAO,YAAa,IAAMA,EAE/C,KAAK,KAAM,KAAK,KACf,OAAIJ,GAAYA,EAAS8M,MAAK,SAAUC,EAASjE,GAAS,OAAOpD,EAASoD,EAAOT,EAAM0E,EAAQhD,MAAO,eAAiB,KAC9GrB,EAAQtI,GAASJ,EAAWA,EAAS0F,GAAQtF,OAAQ,OAAQ,GAAKA,EAASsH,EAAKc,EAAQpI,EAAO,SAAU,IAAMA,EAAQsH,EAAK,mBAAqBgB,EAAQ1I,EAAU,OAAQ,GAAKqI,EAAMrI,EAAU,QAAUqI,EAAMrI,EAAU,QAAUqI,EAAMjI,EAAO,QAAU,IAE7PsH,EAAKc,EAAQpI,EAAO,SAAU,IAAMA,EAE5C,KAAK,KAAM,KAAK,KACf,OAAQJ,GAAYA,EAAS8M,MAAK,SAAUC,GAAW,OAAO1E,EAAM0E,EAAQhD,MAAO,qBAAwB3J,EAAQsH,EAAKc,EAAQA,EAAQpI,EAAO,OAAQ,SAAU,QAAS,IAAMA,EAEjL,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACrC,OAAOoI,EAAQpI,EAAO,kBAAmBwH,EAAS,QAAUxH,EAE7D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAErC,GAAI8I,EAAO9I,GAAS,EAAIsF,EAAS,EAChC,OAAQmD,EAAOzI,EAAOsF,EAAS,IAE9B,KAAK,IAEJ,GAAkC,KAA9BmD,EAAOzI,EAAOsF,EAAS,GAC1B,MAEF,KAAK,IACJ,OAAO8C,EAAQpI,EAAO,mBAAoB,KAAOwH,EAAP,UAAiCD,GAAoC,KAA7BkB,EAAOzI,EAAOsF,EAAS,GAAY,KAAO,UAAYtF,EAEzI,KAAK,IACJ,OAAQsI,EAAQtI,EAAO,UAAW,GAAKwM,GAAOpE,EAAQpI,EAAO,UAAW,kBAAmBsF,EAAQ1F,GAAYI,EAAQA,EAE1H,MAED,KAAK,KAAM,KAAK,KACf,OAAOoI,EAAQpI,EAAO,6CAA6C,SAAU4M,EAAGC,EAAGC,EAAGC,EAAGrK,EAAGoD,EAAGkH,GAAK,OAAQ1F,EAAKuF,EAAI,IAAMC,EAAIE,GAAMD,EAAKzF,EAAKuF,EAAI,UAAYnK,EAAIoD,GAAKA,GAAKgH,GAAME,EAAI,IAAMhN,CAAO,IAErM,KAAK,KAEJ,GAAkC,MAA9ByI,EAAOzI,EAAOsF,EAAS,GAC1B,OAAO8C,EAAQpI,EAAO,IAAK,IAAMwH,GAAUxH,EAC5C,MAED,KAAK,KACJ,OAAQyI,EAAOzI,EAA6B,KAAtByI,EAAOzI,EAAO,IAAa,GAAK,KAErD,KAAK,IACJ,OAAOoI,EAAQpI,EAAO,gCAAiC,KAAOwH,GAAgC,KAAtBiB,EAAOzI,EAAO,IAAa,UAAY,IAAxD,UAA+EwH,EAA/E,SAAwGF,EAAK,WAAatH,EAElL,KAAK,IACJ,OAAOoI,EAAQpI,EAAO,IAAK,IAAMsH,GAAMtH,EAEzC,MAED,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAChD,OAAOoI,EAAQpI,EAAO,UAAW,gBAAkBA,EAGrD,OAAOA,CACR,CCxIO,SAASiN,GAAWrN,EAAUsN,GAGpC,IAFA,IAAIC,EAAS,GAEJhI,EAAI,EAAGA,EAAIvF,EAAS0F,OAAQH,IACpCgI,GAAUD,EAAStN,EAASuF,GAAIA,EAAGvF,EAAUsN,IAAa,GAE3D,OAAOC,CACR,CASO,SAASC,GAAWT,EAASjE,EAAO9I,EAAUsN,GACpD,OAAQP,EAAQhJ,MACf,ILNiB,SKML,GAAIgJ,EAAQ/M,SAAS0F,OAAQ,MACzC,ILjBkB,UKiBL,KAAKqC,EAAa,OAAOgF,EAAQ9C,OAAS8C,EAAQ9C,QAAU8C,EAAQ3M,MACjF,KAAKyH,EAAS,MAAO,GACrB,KAAKG,EAAW,OAAO+E,EAAQ9C,OAAS8C,EAAQ3M,MAAQ,IAAMiN,GAAUN,EAAQ/M,SAAUsN,GAAY,IACtG,KAAKxF,EAAS,IAAKoB,EAAO6D,EAAQ3M,MAAQ2M,EAAQhD,MAAM0D,KAAK,MAAO,MAAO,GAG5E,OAAOvE,EAAOlJ,EAAWqN,GAAUN,EAAQ/M,SAAUsN,IAAaP,EAAQ9C,OAAS8C,EAAQ3M,MAAQ,IAAMJ,EAAW,IAAM,EAC3H,CCOO,SAAS0N,GAAUX,EAASjE,EAAO9I,EAAUsN,GACnD,GAAIP,EAAQrH,QAAW,IACjBqH,EAAQ9C,OACZ,OAAQ8C,EAAQhJ,MACf,KAAKgE,EACJ,YADiBgF,EAAQ9C,OAAS2C,GAAOG,EAAQ3M,MAAO2M,EAAQrH,OAAQ1F,IAEzE,KAAKgI,EACJ,OAAOqF,GAAU,CAACnD,EAAK6C,EAAS,CAAC3M,MAAOoI,EAAQuE,EAAQ3M,MAAO,IAAK,IAAMwH,MAAY0F,GACvF,KAAKxF,EACJ,GAAIiF,EAAQrH,OACX,OL8DC,SAAkB2D,EAAOiE,GAC/B,OAAOjE,EAAMsE,IAAIL,GAAUG,KAAK,GACjC,CKhEaG,CAAQ5N,EAAW+M,EAAQhD,OAAO,SAAU3J,GAClD,OAAQiI,EAAMjI,EAAOkN,EAAW,0BAE/B,IAAK,aAAc,IAAK,cACvBnD,EAAKD,EAAK6C,EAAS,CAAChD,MAAO,CAACvB,EAAQpI,EAAO,cAAe,gBAC1D+J,EAAKD,EAAK6C,EAAS,CAAChD,MAAO,CAAC3J,MAC5B0E,EAAOiI,EAAS,CAAChD,MAAOR,EAAOvJ,EAAUsN,KACzC,MAED,IAAK,gBACJnD,EAAKD,EAAK6C,EAAS,CAAChD,MAAO,CAACvB,EAAQpI,EAAO,aAAc,IAAMwH,EAAS,gBACxEuC,EAAKD,EAAK6C,EAAS,CAAChD,MAAO,CAACvB,EAAQpI,EAAO,aAAc,gBACzD+J,EAAKD,EAAK6C,EAAS,CAAChD,MAAO,CAACvB,EAAQpI,EAAO,aAAcsH,EAAK,gBAC9DyC,EAAKD,EAAK6C,EAAS,CAAChD,MAAO,CAAC3J,MAC5B0E,EAAOiI,EAAS,CAAChD,MAAOR,EAAOvJ,EAAUsN,KAI3C,MAAO,EACP,IAEP,CCxEA,IAAIO,GAAe,CACjBC,wBAAyB,EACzBC,YAAa,EACbC,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTC,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXC,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBC,WAAY,EACZjO,WAAY,EACZkO,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNC,gBAAiB,EAEjBC,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,GC/CuStD,GAAE,oBAAoBuD,cAAS,IAASA,QAAQC,MAAMD,QAAQC,IAAIC,mBAAmBF,QAAQC,IAAIE,UAAU,cAAcC,GAAE,SAASrE,GAAE,sBAAsBsE,GAAE,SAASC,GAAE,YAAYC,GAAE,oBAAoBC,QAAQ,gBAAgBA,OAAOC,GAAEC,QAAQ,kBAAkBC,kBAAkBA,kBAAkB,oBAAoBX,cAAS,IAASA,QAAQC,UAAK,IAASD,QAAQC,IAAIW,6BAA6B,KAAKZ,QAAQC,IAAIW,4BAA4B,UAAUZ,QAAQC,IAAIW,6BAA6BZ,QAAQC,IAAIW,4BAA4B,oBAAoBZ,cAAS,IAASA,QAAQC,UAAK,IAASD,QAAQC,IAAIU,mBAAmB,KAAKX,QAAQC,IAAIU,kBAAkB,UAAUX,QAAQC,IAAIU,mBAAmBX,QAAQC,IAAIU,kBAAkB,eAAeX,QAAQC,IAAIY,UAAeC,GAAE,qBAAqBC,GAAE,IAAIC,IAAIC,GAAE,SAASvM,EAAEG,GAAG,GAAG,eAAemL,QAAQC,IAAIY,SAAS,CAAC,IAAIK,EAAErM,EAAE,oBAAoBqB,OAAOrB,EAAE,KAAK,GAAGF,EAAE,iBAAiBuB,OAAOxB,GAAGwB,OAAOgL,EAAE,oCAAoC,yLAAyLtM,EAAEuM,QAAQ5Q,MAAM,IAAI,IAAI+L,GAAE,EAAG6E,QAAQ5Q,MAAM,SAASmE,GAAG,IAAI,IAAIG,EAAE,GAAGqM,EAAE,EAAEA,EAAEpM,UAAUC,OAAOmM,IAAIrM,EAAEqM,EAAE,GAAGpM,UAAUoM,GAAGJ,GAAEjK,KAAKnC,IAAI4H,GAAE,EAAGyE,GAAEK,OAAOzM,IAAIC,EAAEQ,WAAM,EAAOG,EAAE,CAACb,GAAGG,GAAE,GAAI,EAAEwM,EAACC,SAAGhF,IAAIyE,GAAEQ,IAAI5M,KAAKwM,QAAQK,KAAK7M,GAAGoM,GAAEU,IAAI9M,GAAG,CAAC,MAAMY,GAAGuL,GAAEjK,KAAKtB,EAAEmM,UAAUX,GAAEK,OAAOzM,EAAE,CAAC,QAAQwM,QAAQ5Q,MAAMqE,CAAC,CAAC,CAAC,EAAEyH,GAAEnI,OAAOyN,OAAO,IAAIC,GAAE1N,OAAOyN,OAAO,CAAA,GAAsF,IAAIE,GAAE,IAAIb,IAAI,CAAC,IAAI,OAAO,UAAU,OAAO,UAAU,QAAQ,QAAQ,IAAI,OAAO,MAAM,MAAM,MAAM,aAAa,OAAO,KAAK,SAAS,SAAS,UAAU,OAAO,OAAO,MAAM,WAAW,OAAO,WAAW,KAAK,MAAM,UAAU,MAAM,SAAS,MAAM,KAAK,KAAK,KAAK,QAAQ,WAAW,aAAa,SAAS,SAAS,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,SAAS,SAAS,KAAK,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,MAAM,SAAS,QAAQ,SAAS,KAAK,OAAO,OAAO,MAAM,OAAO,OAAO,WAAW,OAAO,QAAQ,MAAM,WAAW,SAAS,KAAK,WAAW,SAAS,SAAS,IAAI,QAAQ,UAAU,MAAM,WAAW,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,SAAS,UAAU,SAAS,QAAQ,SAAS,OAAO,SAAS,QAAQ,MAAM,UAAU,MAAM,QAAQ,QAAQ,KAAK,WAAW,QAAQ,KAAK,QAAQ,OAAO,KAAK,QAAQ,IAAI,KAAK,MAAM,MAAM,QAAQ,MAAM,SAAS,WAAW,OAAO,UAAU,gBAAgB,IAAI,QAAQ,OAAO,iBAAiB,SAAS,OAAO,OAAO,UAAU,UAAU,WAAW,iBAAiB,OAAO,OAAO,MAAM,OAAO,UAAUc,GAAE,wCAAwCC,GAAE,WAAW,SAASC,GAAEzM,GAAG,OAAOA,EAAEsC,QAAQiK,GAAE,KAAKjK,QAAQkK,GAAE,GAAG,CAAC,IAAIE,GAAE,WAAgBrG,GAAE,SAASrG,GAAG,OAAOgC,OAAOC,aAAajC,GAAGA,EAAE,GAAG,GAAG,IAAI,EAAE,SAASuG,GAAEvG,GAAG,IAAIb,EAAEG,EAAE,GAAG,IAAIH,EAAElC,KAAK8E,IAAI/B,GAAGb,EAAxG,GAA4GA,EAAEA,EAA9G,GAAkH,EAAEG,EAAE+G,GAAElH,EAAxH,IAA6HG,EAAE,OAAO+G,GAAElH,EAAxI,IAA6IG,GAAGgD,QAAQoK,GAAE,QAAQ,CAAC,IAAIC,GAASC,GAAE,SAAS5M,EAAEb,GAAG,IAAI,IAAIG,EAAEH,EAAEK,OAAOF,GAAGU,EAAE,GAAGA,EAAEb,EAAEoC,aAAajC,GAAG,OAAOU,CAAC,EAAEyG,GAAE,SAASzG,GAAG,OAAO4M,GAAnG,KAAuG5M,EAAE,EAAE,SAAS6M,GAAE7M,GAAG,OAAOuG,GAAEE,GAAEzG,KAAK,EAAE,CAAC,SAAS8M,GAAE9M,GAAG,MAAM,eAAeyK,QAAQC,IAAIY,UAAU,iBAAiBtL,GAAGA,GAAGA,EAAE+M,aAAa/M,EAAEgN,MAAM,WAAW,CAAC,SAASC,GAAEjN,GAAG,MAAM,iBAAiBA,IAAI,eAAeyK,QAAQC,IAAIY,UAAUtL,EAAEkN,OAAO,KAAKlN,EAAEkN,OAAO,GAAGC,cAAc,CAAC,IAAIC,GAAE,mBAAmBC,QAAQA,OAAOC,IAAIC,GAAEH,GAAEC,OAAOC,IAAI,cAAc,MAAME,GAAEJ,GAAEC,OAAOC,IAAI,qBAAqB,MAAMG,GAAE,CAACC,mBAAkB,EAAGC,aAAY,EAAGC,cAAa,EAAGC,cAAa,EAAGd,aAAY,EAAGe,iBAAgB,EAAGC,0BAAyB,EAAGC,0BAAyB,EAAGC,QAAO,EAAGC,WAAU,EAAGrQ,MAAK,GAAIsQ,GAAE,CAACnB,MAAK,EAAGxN,QAAO,EAAGE,WAAU,EAAG0O,QAAO,EAAGC,QAAO,EAAG9O,WAAU,EAAG+O,OAAM,GAAIC,GAAE,CAACC,UAAS,EAAGC,SAAQ,EAAGZ,cAAa,EAAGd,aAAY,EAAGmB,WAAU,EAAGrQ,MAAK,GAAI6Q,KAAI/B,GAAE,CAAE,GAAEa,IAAG,CAACgB,UAAS,EAAGG,QAAO,EAAGd,cAAa,EAAGd,aAAY,EAAGmB,WAAU,GAAIvB,GAAEY,IAAGgB,GAAE5B,IAAG,SAASiC,GAAE5O,GAAG,OAAO,SAASb,EAAEa,IAAIb,EAAEtB,KAAK2Q,YAAYjB,GAAEgB,GAAE,aAAavO,EAAE0O,GAAE1O,EAAEwO,UAAUf,GAAE,IAAItO,CAAC,CAAC,IAAI0P,GAAElQ,OAAOmQ,eAAeC,GAAEpQ,OAAOqQ,oBAAoBC,GAAEtQ,OAAOuB,sBAAsBgP,GAAGvQ,OAAOwQ,yBAAyBC,GAAGzQ,OAAO0Q,eAAeC,GAAG3Q,OAAOe,UAAU,SAAS6P,GAAGvP,EAAEb,EAAEG,GAAG,GAAG,iBAAiBH,EAAE,CAAC,GAAGmQ,GAAG,CAAC,IAAI3D,EAAEyD,GAAGjQ,GAAGwM,GAAGA,IAAI2D,IAAIC,GAAGvP,EAAE2L,EAAErM,EAAE,CAAC,IAAIwM,EAAEiD,GAAE5P,GAAG8P,KAAInD,EAAEA,EAAEnL,OAAOsO,GAAE9P,KAAK,IAAI,IAAIC,EAAEwP,GAAE5O,GAAGX,EAAEuP,GAAEzP,GAAG4H,EAAE,EAAEA,EAAE+E,EAAEtM,SAASuH,EAAE,CAAC,IAAIE,EAAE6E,EAAE/E,GAAG,KAAKE,KAAKkH,IAAG7O,GAAGA,EAAE2H,IAAI5H,GAAG4H,KAAK5H,GAAGD,GAAG6H,KAAK7H,GAAG,CAAC,IAAIqB,EAAEyO,GAAG/P,EAAE8H,GAAG,IAAI4H,GAAE7O,EAAEiH,EAAExG,EAAE,CAAC,MAAMT,GAAE,CAAE,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASwP,GAAGxP,GAAG,MAAM,mBAAmBA,CAAC,CAAC,SAASyP,GAAGzP,GAAG,MAAM,iBAAiBA,GAAG,sBAAsBA,CAAC,CAAC,SAAS0P,GAAG1P,EAAEb,GAAG,OAAOa,GAAGb,EAAE,GAAGwB,OAAOX,EAAE,KAAKW,OAAOxB,GAAGa,GAAGb,GAAG,EAAE,CAAC,SAASwQ,GAAG3P,EAAEb,GAAG,GAAG,IAAIa,EAAER,OAAO,MAAM,GAAG,IAAI,IAAIF,EAAEU,EAAE,GAAG2L,EAAE,EAAEA,EAAE3L,EAAER,OAAOmM,IAAIrM,GAAYU,EAAE2L,GAAG,OAAOrM,CAAC,CAAC,SAASsQ,GAAG5P,GAAG,OAAO,OAAOA,GAAG,iBAAiBA,GAAGA,EAAE6P,YAAY7C,OAAOrO,OAAOqO,QAAQ,UAAUhN,GAAGA,EAAEwO,SAAS,CAAC,SAASsB,GAAG9P,EAAEb,EAAEG,GAAG,QAAG,IAASA,IAAIA,GAAE,IAAKA,IAAIsQ,GAAG5P,KAAKjB,MAAMC,QAAQgB,GAAG,OAAOb,EAAE,GAAGJ,MAAMC,QAAQG,GAAG,IAAI,IAAIwM,EAAE,EAAEA,EAAExM,EAAEK,OAAOmM,IAAI3L,EAAE2L,GAAGmE,GAAG9P,EAAE2L,GAAGxM,EAAEwM,SAAS,GAAGiE,GAAGzQ,GAAG,IAAI,IAAIwM,KAAKxM,EAAEa,EAAE2L,GAAGmE,GAAG9P,EAAE2L,GAAGxM,EAAEwM,IAAI,OAAO3L,CAAC,CAAC,SAAS+P,GAAG/P,EAAEb,GAAGR,OAAOmQ,eAAe9O,EAAE,WAAW,CAAC9F,MAAMiF,GAAG,CAAC,IAAI6Q,GAAG,eAAevF,QAAQC,IAAIY,SAAS,CAAC,EAAE,wDAAwD,EAAE,gQAAgQ,EAAE,sHAAsH,EAAE,sMAAsM,EAAE,kKAAkK,EAAE,4OAA4O,EAAE,qHAAqH,EAAE,8DAA8D,EAAE,gCAAgC,GAAG,iUAAiU,GAAG,wNAAwN,GAAG,qWAAqW,GAAG,yLAAyL,GAAG,+CAA+C,GAAG,2ZAA2Z,GAAG,uQAAuQ,GAAG,yIAAyI,GAAG,oFAAoF,CAAA,EAAG,SAAS2E,KAAK,IAAI,IAAIjQ,EAAE,GAAGb,EAAE,EAAEA,EAAEI,UAAUC,OAAOL,IAAIa,EAAEb,GAAGI,UAAUJ,GAAG,IAAI,IAAIG,EAAEU,EAAE,GAAG2L,EAAE,GAAGG,EAAE,EAAE1M,EAAEY,EAAER,OAAOsM,EAAE1M,EAAE0M,GAAG,EAAEH,EAAEvI,KAAKpD,EAAE8L,IAAI,OAAOH,EAAEuE,SAAQ,SAASlQ,GAAGV,EAAEA,EAAEgD,QAAQ,SAAStC,EAAE,IAAGV,CAAC,CAAC,SAAS6Q,GAAGhR,GAAG,IAAI,IAAIG,EAAE,GAAGqM,EAAE,EAAEA,EAAEpM,UAAUC,OAAOmM,IAAIrM,EAAEqM,EAAE,GAAGpM,UAAUoM,GAAG,MAAM,eAAelB,QAAQC,IAAIY,SAAS,IAAI8E,MAAM,0IAA0IzP,OAAOxB,EAAE,0BAA0BwB,OAAOrB,EAAEE,OAAO,EAAE,UAAUmB,OAAOrB,EAAEiI,KAAK,OAAO,KAAK,IAAI6I,MAAMH,GAAGpQ,WAAM,EAAOG,EAAE,CAACgQ,GAAG7Q,IAAIG,GAAE,IAAK4C,OAAO,CAAC,IAAImO,GAAG,WAAW,SAASrQ,EAAEA,GAAGF,KAAKwQ,WAAW,IAAIC,YAAY,KAAKzQ,KAAKN,OAAO,IAAIM,KAAK0Q,IAAIxQ,CAAC,CAAC,OAAOA,EAAEN,UAAU+Q,aAAa,SAASzQ,GAAG,IAAI,IAAIb,EAAE,EAAEG,EAAE,EAAEA,EAAEU,EAAEV,IAAIH,GAAGW,KAAKwQ,WAAWhR,GAAG,OAAOH,CAAC,EAAEa,EAAEN,UAAUgR,YAAY,SAAS1Q,EAAEb,GAAG,GAAGa,GAAGF,KAAKwQ,WAAW9Q,OAAO,CAAC,IAAI,IAAIF,EAAEQ,KAAKwQ,WAAW3E,EAAErM,EAAEE,OAAOsM,EAAEH,EAAE3L,GAAG8L,GAAG,IAAIA,IAAI,GAAG,EAAE,MAAMqE,GAAG,GAAG,GAAGxP,OAAOX,IAAIF,KAAKwQ,WAAW,IAAIC,YAAYzE,GAAGhM,KAAKwQ,WAAWK,IAAIrR,GAAGQ,KAAKN,OAAOsM,EAAE,IAAI,IAAI1M,EAAEuM,EAAEvM,EAAE0M,EAAE1M,IAAIU,KAAKwQ,WAAWlR,GAAG,CAAC,CAAC,IAAI,IAAIC,EAAES,KAAK2Q,aAAazQ,EAAE,GAAG+G,GAAG3H,EAAE,EAAED,EAAEK,QAAQJ,EAAE2H,EAAE3H,IAAIU,KAAK0Q,IAAII,WAAWvR,EAAEF,EAAEC,MAAMU,KAAKwQ,WAAWtQ,KAAKX,IAAI,EAAEW,EAAEN,UAAUmR,WAAW,SAAS7Q,GAAG,GAAGA,EAAEF,KAAKN,OAAO,CAAC,IAAIL,EAAEW,KAAKwQ,WAAWtQ,GAAGV,EAAEQ,KAAK2Q,aAAazQ,GAAG2L,EAAErM,EAAEH,EAAEW,KAAKwQ,WAAWtQ,GAAG,EAAE,IAAI,IAAI8L,EAAExM,EAAEwM,EAAEH,EAAEG,IAAIhM,KAAK0Q,IAAIM,WAAWxR,EAAE,CAAC,EAAEU,EAAEN,UAAUqR,SAAS,SAAS/Q,GAAG,IAAIb,EAAE,GAAG,GAAGa,GAAGF,KAAKN,QAAQ,IAAIM,KAAKwQ,WAAWtQ,GAAG,OAAOb,EAAE,IAAI,IAAIG,EAAEQ,KAAKwQ,WAAWtQ,GAAG2L,EAAE7L,KAAK2Q,aAAazQ,GAAG8L,EAAEH,EAAErM,EAAEF,EAAEuM,EAAEvM,EAAE0M,EAAE1M,IAAID,GAAG,GAAGwB,OAAOb,KAAK0Q,IAAIQ,QAAQ5R,IAAIuB,OAAOoK,IAAG,OAAO5L,CAAC,EAAEa,CAAC,CAAl8B,GAAs8BiR,GAAG,GAAG,GAAGC,GAAG,IAAIC,IAAIC,GAAG,IAAID,IAAIE,GAAG,EAAEC,GAAG,SAAStR,GAAG,GAAGkR,GAAGlF,IAAIhM,GAAG,OAAOkR,GAAGK,IAAIvR,GAAG,KAAKoR,GAAGpF,IAAIqF,KAAKA,KAAK,IAAIlS,EAAEkS,KAAK,GAAG,eAAe5G,QAAQC,IAAIY,YAAY,EAAEnM,GAAG,GAAGA,EAAE8R,IAAI,MAAMd,GAAG,GAAG,GAAGxP,OAAOxB,IAAI,OAAO+R,GAAGP,IAAI3Q,EAAEb,GAAGiS,GAAGT,IAAIxR,EAAEa,GAAGb,CAAC,EAAEqS,GAAG,SAASxR,EAAEb,GAAGkS,GAAGlS,EAAE,EAAE+R,GAAGP,IAAI3Q,EAAEb,GAAGiS,GAAGT,IAAIxR,EAAEa,EAAE,EAAEyR,GAAG,SAAS9Q,OAAOuG,GAAE,MAAMvG,OAAO6F,GAAE,MAAM7F,OAAOmK,GAAE,MAAM4G,GAAG,IAAIC,OAAO,IAAIhR,OAAOuG,GAAE,iDAAiD0K,GAAG,SAAS5R,EAAEb,EAAEG,GAAG,IAAI,IAAIqM,EAAEG,EAAExM,EAAEuS,MAAM,KAAKzS,EAAE,EAAEC,EAAEyM,EAAEtM,OAAOJ,EAAEC,EAAED,KAAKuM,EAAEG,EAAE1M,KAAKY,EAAE8R,aAAa3S,EAAEwM,EAAE,EAAEoG,GAAG,SAAS/R,EAAEb,GAAG,IAAI,IAAIG,EAAEqM,GAAG,QAAQrM,EAAEH,EAAE6S,mBAAc,IAAS1S,EAAEA,EAAE,IAAIuS,MAAM9G,IAAGe,EAAE,GAAG1M,EAAE,EAAEC,EAAEsM,EAAEnM,OAAOJ,EAAEC,EAAED,IAAI,CAAC,IAAI2H,EAAE4E,EAAEvM,GAAG8C,OAAO,GAAG6E,EAAE,CAAC,IAAIE,EAAEF,EAAE5E,MAAMuP,IAAI,GAAGzK,EAAE,CAAC,IAAIxG,EAAE,EAAEwR,SAAShL,EAAE,GAAG,IAAIiL,EAAEjL,EAAE,GAAG,IAAIxG,IAAI+Q,GAAGU,EAAEzR,GAAGmR,GAAG5R,EAAEkS,EAAEjL,EAAE,IAAIjH,EAAEmS,SAASzB,YAAYjQ,EAAEqL,IAAIA,EAAEtM,OAAO,CAAC,MAAMsM,EAAE1I,KAAK2D,EAAE,CAAC,CAAC,EAAEqL,GAAG,SAASpS,GAAG,IAAI,IAAIb,EAAE3B,SAAS6U,iBAAiBZ,IAAInS,EAAE,EAAEqM,EAAExM,EAAEK,OAAOF,EAAEqM,EAAErM,IAAI,CAAC,IAAIwM,EAAE3M,EAAEG,GAAGwM,GAAGA,EAAEwG,aAAapL,MAAK2D,KAAIkH,GAAG/R,EAAE8L,GAAGA,EAAEyG,YAAYzG,EAAEyG,WAAWC,YAAY1G,GAAG,CAAC,EAAmF,IAAI2G,GAAG,SAASzS,GAAG,IAAIb,EAAE3B,SAASC,KAAK6B,EAAEU,GAAGb,EAAEwM,EAAEnO,SAASI,cAAc,SAASkO,EAAE,SAAS9L,GAAG,IAAIb,EAAEJ,MAAMuB,KAAKN,EAAEqS,iBAAiB,SAAS1R,OAAOuG,GAAE,OAAO,OAAO/H,EAAEA,EAAEK,OAAO,EAAE,CAA7F,CAA+FF,GAAGF,OAAE,IAAS0M,EAAEA,EAAE4G,YAAY,KAAK/G,EAAEgH,aAAazL,GAAE2D,IAAGc,EAAEgH,aAAanM,GAAEsE,IAAG,IAAIzL,EAA7T,oBAAoBuT,kBAAkBA,kBAAkB,KAA4Q,OAAOvT,GAAGsM,EAAEgH,aAAa,QAAQtT,GAAGC,EAAEvB,aAAa4N,EAAEvM,GAAGuM,CAAC,EAAEkH,GAAG,WAAW,SAAS7S,EAAEA,GAAGF,KAAK+G,QAAQ4L,GAAGzS,GAAGF,KAAK+G,QAAQ7I,YAAYR,SAASW,eAAe,KAAK2B,KAAKgT,MAAM,SAAS9S,GAAG,GAAGA,EAAE8S,MAAM,OAAO9S,EAAE8S,MAAM,IAAI,IAAI3T,EAAE3B,SAASuV,YAAYzT,EAAE,EAAEqM,EAAExM,EAAEK,OAAOF,EAAEqM,EAAErM,IAAI,CAAC,IAAIwM,EAAE3M,EAAEG,GAAG,GAAGwM,EAAEkH,YAAYhT,EAAE,OAAO8L,CAAC,CAAC,MAAMqE,GAAG,GAAG,CAAhJ,CAAkJrQ,KAAK+G,SAAS/G,KAAKN,OAAO,CAAC,CAAC,OAAOQ,EAAEN,UAAUkR,WAAW,SAAS5Q,EAAEb,GAAG,IAAI,OAAOW,KAAKgT,MAAMlC,WAAWzR,EAAEa,GAAGF,KAAKN,UAAS,CAAE,CAAC,MAAMQ,GAAG,OAAQ,CAAA,CAAC,EAAEA,EAAEN,UAAUoR,WAAW,SAAS9Q,GAAGF,KAAKgT,MAAMhC,WAAW9Q,GAAGF,KAAKN,QAAQ,EAAEQ,EAAEN,UAAUsR,QAAQ,SAAShR,GAAG,IAAIb,EAAEW,KAAKgT,MAAMG,SAASjT,GAAG,OAAOb,GAAGA,EAAEjB,QAAQiB,EAAEjB,QAAQ,EAAE,EAAE8B,CAAC,CAA7jB,GAAikBkT,GAAG,WAAW,SAASlT,EAAEA,GAAGF,KAAK+G,QAAQ4L,GAAGzS,GAAGF,KAAKqT,MAAMrT,KAAK+G,QAAQuM,WAAWtT,KAAKN,OAAO,CAAC,CAAC,OAAOQ,EAAEN,UAAUkR,WAAW,SAAS5Q,EAAEb,GAAG,GAAGa,GAAGF,KAAKN,QAAQQ,GAAG,EAAE,CAAC,IAAIV,EAAE9B,SAASW,eAAegB,GAAG,OAAOW,KAAK+G,QAAQ9I,aAAauB,EAAEQ,KAAKqT,MAAMnT,IAAI,MAAMF,KAAKN,UAAS,CAAE,CAAC,OAAM,CAAE,EAAEQ,EAAEN,UAAUoR,WAAW,SAAS9Q,GAAGF,KAAK+G,QAAQ2L,YAAY1S,KAAKqT,MAAMnT,IAAIF,KAAKN,QAAQ,EAAEQ,EAAEN,UAAUsR,QAAQ,SAAShR,GAAG,OAAOA,EAAEF,KAAKN,OAAOM,KAAKqT,MAAMnT,GAAGgS,YAAY,EAAE,EAAEhS,CAAC,CAApc,GAAwcqT,GAAG,WAAW,SAASrT,EAAEA,GAAGF,KAAKqF,MAAM,GAAGrF,KAAKN,OAAO,CAAC,CAAC,OAAOQ,EAAEN,UAAUkR,WAAW,SAAS5Q,EAAEb,GAAG,OAAOa,GAAGF,KAAKN,SAASM,KAAKqF,MAAMmO,OAAOtT,EAAE,EAAEb,GAAGW,KAAKN,UAAS,EAAG,EAAEQ,EAAEN,UAAUoR,WAAW,SAAS9Q,GAAGF,KAAKqF,MAAMmO,OAAOtT,EAAE,GAAGF,KAAKN,QAAQ,EAAEQ,EAAEN,UAAUsR,QAAQ,SAAShR,GAAG,OAAOA,EAAEF,KAAKN,OAAOM,KAAKqF,MAAMnF,GAAG,EAAE,EAAEA,CAAC,CAAtT,GAA0TuT,GAAGvI,GAAEwI,GAAG,CAACC,UAAUzI,GAAE0I,mBAAmBxI,IAAGyI,GAAG,WAAW,SAAS3T,EAAEA,EAAEV,EAAEqM,QAAG,IAAS3L,IAAIA,EAAEqM,SAAG,IAAS/M,IAAIA,EAAE,CAAE,GAAE,IAAIwM,EAAEhM,KAAKA,KAAK8T,QAAQzU,EAAEA,EAAE,CAAE,EAACqU,IAAIxT,GAAGF,KAAK+T,GAAGvU,EAAEQ,KAAKgU,MAAM,IAAI3C,IAAIxF,GAAG7L,KAAKiU,SAAS/T,EAAEyT,UAAU3T,KAAKiU,QAAQ/I,IAAGuI,KAAKA,IAAG,EAAGnB,GAAGtS,OAAOiQ,GAAGjQ,MAAK,WAAW,OAAO,SAASE,GAAG,IAAI,IAAIb,EAAEa,EAAEmS,SAAS7S,EAAEH,EAAEK,OAAOmM,EAAE,GAAGG,EAAE,SAASxM,GAAG,IAAIwM,EAAE,SAAS9L,GAAG,OAAOoR,GAAGG,IAAIvR,EAAE,CAA5B,CAA8BV,GAAG,QAAG,IAASwM,EAAE,MAAM,WAAW,IAAI1M,EAAEY,EAAE8T,MAAMvC,IAAIzF,GAAGzM,EAAEF,EAAE4R,SAASzR,GAAG,QAAG,IAASF,IAAIA,EAAEgH,MAAM,IAAI/G,EAAEG,OAAO,MAAM,WAAW,IAAIuH,EAAE,GAAGpG,OAAOuG,GAAE,MAAMvG,OAAOrB,EAAE,SAASqB,OAAOmL,EAAE,MAAM7E,EAAE,QAAG,IAAS7H,GAAGA,EAAE8Q,SAAQ,SAASlQ,GAAGA,EAAER,OAAO,IAAIyH,GAAG,GAAGtG,OAAOX,EAAE,KAAK,IAAG2L,GAAG,GAAGhL,OAAOtB,GAAGsB,OAAOoG,EAAE,cAAcpG,OAAOsG,EAAE,MAAMtG,OAAOoK,GAAE,EAAE3L,EAAE,EAAEA,EAAEE,EAAEF,IAAI0M,EAAE1M,GAAG,OAAOuM,CAAC,CAA9b,CAAgcG,EAAE,GAAE,CAAC,OAAO9L,EAAEgU,WAAW,SAAShU,GAAG,OAAOsR,GAAGtR,EAAE,EAAEA,EAAEN,UAAUuU,UAAU,YAAYnU,KAAKiU,QAAQ/I,IAAGoH,GAAGtS,KAAK,EAAEE,EAAEN,UAAUwU,uBAAuB,SAAS5U,EAAEqM,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAI,IAAI3L,EAAEb,EAAEA,EAAE,CAAE,EAACW,KAAK8T,SAAStU,GAAGQ,KAAK+T,GAAGlI,GAAG7L,KAAKgU,YAAO,EAAO,EAAE9T,EAAEN,UAAUyU,mBAAmB,SAASnU,GAAG,OAAOF,KAAK+T,GAAG7T,IAAIF,KAAK+T,GAAG7T,IAAI,GAAG,CAAC,EAAEA,EAAEN,UAAUyS,OAAO,WAAW,OAAOrS,KAAK0Q,MAAM1Q,KAAK0Q,KAAKxQ,EAAE,SAASA,GAAG,IAAIb,EAAEa,EAAE0T,kBAAkBpU,EAAEU,EAAEvB,OAAO,OAAOuB,EAAEyT,SAAS,IAAIJ,GAAG/T,GAAGH,EAAE,IAAI0T,GAAGvT,GAAG,IAAI4T,GAAG5T,EAAE,CAAlG,CAAoGQ,KAAK8T,SAAS,IAAIvD,GAAGrQ,KAAK,IAAIA,CAAC,EAAEA,EAAEN,UAAU0U,aAAa,SAASpU,EAAEb,GAAG,OAAOW,KAAKgU,MAAM9H,IAAIhM,IAAIF,KAAKgU,MAAMvC,IAAIvR,GAAGgM,IAAI7M,EAAE,EAAEa,EAAEN,UAAUoS,aAAa,SAAS9R,EAAEb,GAAG,GAAGmS,GAAGtR,GAAGF,KAAKgU,MAAM9H,IAAIhM,GAAGF,KAAKgU,MAAMvC,IAAIvR,GAAGkM,IAAI/M,OAAO,CAAC,IAAIG,EAAE,IAAImM,IAAInM,EAAE4M,IAAI/M,GAAGW,KAAKgU,MAAMnD,IAAI3Q,EAAEV,EAAE,CAAC,EAAEU,EAAEN,UAAUgR,YAAY,SAAS1Q,EAAEb,EAAEG,GAAGQ,KAAKgS,aAAa9R,EAAEb,GAAGW,KAAKqS,SAASzB,YAAYY,GAAGtR,GAAGV,EAAE,EAAEU,EAAEN,UAAU2U,WAAW,SAASrU,GAAGF,KAAKgU,MAAM9H,IAAIhM,IAAIF,KAAKgU,MAAMvC,IAAIvR,GAAGsU,OAAO,EAAEtU,EAAEN,UAAU6U,WAAW,SAASvU,GAAGF,KAAKqS,SAAStB,WAAWS,GAAGtR,IAAIF,KAAKuU,WAAWrU,EAAE,EAAEA,EAAEN,UAAU8U,SAAS,WAAW1U,KAAK0Q,SAAI,CAAM,EAAExQ,CAAC,CAA/sD,GAAmtDyU,GAAG,KAAKC,GAAG,gBAAgB,SAASC,GAAG3U,EAAEb,GAAG,OAAOa,EAAEyH,KAAI,SAASzH,GAAG,MAAM,SAASA,EAAEnC,OAAOmC,EAAE9F,MAAM,GAAGyG,OAAOxB,EAAE,KAAKwB,OAAOX,EAAE9F,OAAO8F,EAAE9F,MAAM8F,EAAE9F,MAAM0a,WAAW,IAAI,IAAIjU,OAAOxB,EAAE,MAAMa,EAAE6D,MAAM7D,EAAE6D,MAAM4D,KAAI,SAASzH,GAAG,MAAM,GAAGW,OAAOxB,EAAE,KAAKwB,OAAOX,EAAE,KAAIjB,MAAMC,QAAQgB,EAAElG,WAAW,eAAekG,EAAEnC,OAAOmC,EAAElG,SAAS6a,GAAG3U,EAAElG,SAASqF,IAAIa,CAAC,GAAE,CAAs0B,IAAC6U,GAAG,IAAIlB,GAAGmB,GAAh1B,WAAe,IAAI3V,EAAEG,EAAEqM,EAAEG,EAAaO,GAAIjN,EAAE0M,EAAE8H,QAAQvU,OAAE,IAASD,EAAEiN,GAAEjN,EAAE2H,EAAE+E,EAAEiJ,QAAQ9N,OAAE,IAASF,EAAED,GAAEC,EAAEtG,EAAE,SAAST,EAAE2L,EAAEG,GAAG,OAAOA,EAAEkJ,WAAW1V,IAAIwM,EAAEmJ,SAAS3V,IAAIwM,EAAE8I,WAAWtV,EAAE,IAAIE,OAAO,EAAE,IAAImB,OAAOxB,GAAGa,CAAC,EAAEkS,EAAEjL,EAAEvG,QAAQwR,EAAE9O,MAAK,SAASpD,GAAGA,EAAEnC,OAAOqX,GAAWlV,EAAE9F,MAAMib,SAAS,OAAOnV,EAAE6D,MAAM,GAAG7D,EAAE6D,MAAM,GAAGvB,QAAQmS,GAAGnV,GAAGgD,QAAQqJ,EAAElL,GAAG,IAAGpB,EAAEqH,QAAQwL,EAAE9O,KAAKgS,IAAYlD,EAAE9O,KAAKiS,IAAa,IAAI5V,EAAE,SAASO,EAAE8L,EAAE1M,EAAE2H,QAAG,IAAS+E,IAAIA,EAAE,SAAI,IAAS1M,IAAIA,EAAE,SAAI,IAAS2H,IAAIA,EAAE,KAAK5H,EAAE4H,EAAEzH,EAAEwM,EAAEH,EAAE,IAAIgG,OAAO,KAAKhR,OAAOrB,EAAE,OAAO,KAAK,IAAI2H,EAAEjH,EAAEsC,QAAQoS,GAAG,IAAIjU,EAAE6U,GAAUlW,GAAG0M,EAAE,GAAGnL,OAAOvB,EAAE,KAAKuB,OAAOmL,EAAE,OAAOnL,OAAOsG,EAAE,MAAMA,GAAG5H,EAAEkW,YAAY9U,EAAEkU,GAAGlU,EAAEpB,EAAEkW,YAAY,IF2B70enO,EE3Bi1e3H,EAAE,GAAG,OAAO+V,GAAY/U,EFU73e,SAAqBgV,GAC3B,IAAIjW,EAASyD,EAAOwS,GAEpB,OAAO,SAAU5O,EAASjE,EAAO9I,EAAUsN,GAG1C,IAFA,IAAIC,EAAS,GAEJhI,EAAI,EAAGA,EAAIG,EAAQH,IAC3BgI,GAAUoO,EAAWpW,GAAGwH,EAASjE,EAAO9I,EAAUsN,IAAa,GAEhE,OAAOC,CACT,CACA,CErBs4eqO,CAAaxD,EAAEvR,QF2B13eyG,EE3B64e,SAASpH,GAAG,OAAOP,EAAE2D,KAAKpD,EAAE,EF4B57e,SAAU6G,GACXA,EAAQlD,OACRkD,EAAUA,EAAQ9C,SACrBqD,EAASP,EACb,MEhC08epH,CAAC,EAAE,OAAOA,EAAEkH,KAAKM,EAAEzH,OAAOyH,EAAE0O,QAAO,SAAS3V,EAAEb,GAAG,OAAOA,EAAE6N,MAAMmD,GAAG,IAAIvD,GAAE5M,EAAEb,EAAE6N,KAAK,GAAh5Y,MAAq5YhQ,WAAW,GAAGyC,CAAC,CAAkBmW,GAAKC,GAAGlK,EAAEhS,cAAc,CAACmc,uBAAkB,EAAO7X,WAAW4W,GAAGkB,OAAOjB,KAA+C,SAASkB,KAAK,OAAO/O,EAAAA,WAAE4O,GAAG,CAAjEA,GAAGI,SAAYtK,EAAEhS,mBAAc,GAAiwB,IAAIuc,GAAG,WAAW,SAASlW,EAAEA,EAAEb,GAAG,IAAIG,EAAEQ,KAAKA,KAAKqW,OAAO,SAASnW,EAAEb,QAAG,IAASA,IAAIA,EAAE2V,IAAI,IAAInJ,EAAErM,EAAE0N,KAAK7N,EAAEwH,KAAK3G,EAAEoU,aAAa9U,EAAE8W,GAAGzK,IAAI3L,EAAE0Q,YAAYpR,EAAE8W,GAAGzK,EAAExM,EAAEG,EAAE6F,MAAMwG,EAAE,cAAc,EAAE7L,KAAKkN,KAAKhN,EAAEF,KAAKsW,GAAG,gBAAgBzV,OAAOX,GAAGF,KAAKqF,MAAMhG,EAAE4Q,GAAGjQ,MAAK,WAAW,MAAMqQ,GAAG,GAAGnO,OAAO1C,EAAE0N,MAAM,GAAE,CAAC,OAAOhN,EAAEN,UAAU2W,QAAQ,SAASrW,GAAG,YAAO,IAASA,IAAIA,EAAE8U,IAAIhV,KAAKkN,KAAKhN,EAAE2G,IAAI,EAAE3G,CAAC,CAAhX,GAAoXsW,GAAG,SAAStW,GAAG,OAAOA,GAAG,KAAKA,GAAG,GAAG,EAAE,SAASuW,GAAGvW,GAAG,IAAI,IAAIb,EAAE,GAAGG,EAAE,EAAEA,EAAEU,EAAER,OAAOF,IAAI,CAAC,IAAIqM,EAAE3L,EAAEV,GAAG,GAAG,IAAIA,GAAG,MAAMqM,GAAG,MAAM3L,EAAE,GAAG,OAAOA,EAAEsW,GAAG3K,GAAGxM,GAAG,IAAIwM,EAAEwB,cAAchO,GAAGwM,CAAC,CAAC,OAAOxM,EAAE6V,WAAW,OAAO,IAAI7V,EAAEA,CAAC,CAAC,IAAIqX,GAAG,SAASxW,GAAG,OAAO,MAAMA,IAAG,IAAKA,GAAG,KAAKA,CAAC,EAAEyW,GAAG,SAAStX,GAAG,IAAIG,EAAEqM,EAAEG,EAAE,GAAG,IAAI,IAAI1M,KAAKD,EAAE,CAAC,IAAIE,EAAEF,EAAEC,GAAGD,EAAEQ,eAAeP,KAAKoX,GAAGnX,KAAKN,MAAMC,QAAQK,IAAIA,EAAEqX,OAAOlH,GAAGnQ,GAAGyM,EAAE1I,KAAK,GAAGzC,OAAO4V,GAAGnX,GAAG,KAAKC,EAAE,KAAKuQ,GAAGvQ,GAAGyM,EAAE1I,KAAKvD,MAAMiM,EAAE9L,EAAEA,EAAE,CAAC,GAAGW,OAAOvB,EAAE,OAAOqX,GAAGpX,IAAG,GAAI,CAAC,MAAK,IAAKyM,EAAE1I,KAAK,GAAGzC,OAAO4V,GAAGnX,GAAG,MAAMuB,QAAQrB,EAAEF,EAAE,OAAOuM,EAAEtM,IAAI,kBAAkBsM,GAAG,KAAKA,EAAE,GAAG,iBAAiBA,GAAG,IAAIA,GAAGrM,KAAKqX,IAAGrX,EAAE0V,WAAW,MAAMhT,OAAO2J,GAAGzJ,OAAO,GAAGvB,OAAOgL,EAAE,OAAO,MAAM,CAAC,OAAOG,CAAC,EAAE,SAAS8K,GAAG5W,EAAEb,EAAEG,EAAEqM,GAAG,GAAG6K,GAAGxW,GAAG,MAAM,GAAG,GAAGyP,GAAGzP,GAAG,MAAM,CAAC,IAAIW,OAAOX,EAAE6W,oBAAoB,GAAGrH,GAAGxP,GAAG,CAAC,IAAIwP,GAAGpQ,EAAEY,IAAIZ,EAAEM,WAAWN,EAAEM,UAAUoX,mBAAmB3X,EAAE,MAAM,CAACa,GAAG,IAAI8L,EAAE9L,EAAEb,GAAG,MAAM,eAAesL,QAAQC,IAAIY,UAAU,iBAAiBQ,GAAG/M,MAAMC,QAAQ8M,IAAIA,aAAaoK,IAAItG,GAAG9D,IAAI,OAAOA,GAAGF,QAAQ5Q,MAAM,GAAG2F,OAAOmM,GAAE9M,GAAG,qLAAqL4W,GAAG9K,EAAE3M,EAAEG,EAAEqM,EAAE,CAAC,IAAIvM,EAAE,OAAOY,aAAakW,GAAG5W,GAAGU,EAAEmW,OAAO7W,EAAEqM,GAAG,CAAC3L,EAAEqW,QAAQ1K,KAAK,CAAC3L,GAAG4P,GAAG5P,GAAGyW,GAAGzW,GAAGjB,MAAMC,QAAQgB,GAAGjB,MAAMW,UAAUiB,OAAOd,MAAMiH,GAAE9G,EAAEyH,KAAI,SAASzH,GAAG,OAAO4W,GAAG5W,EAAEb,EAAEG,EAAEqM,EAAE,KAAI,CAAC3L,EAAEhD,WAAW,CAA8F,IAAC+Z,GAAGtQ,GAAEqE,IAAGkM,GAAG,WAAW,SAAShX,EAAEA,EAAEb,EAAEG,GAAGQ,KAAKqF,MAAMnF,EAAEF,KAAKmX,cAAc,GAAGnX,KAAKoX,SAAS,eAAezM,QAAQC,IAAIY,gBAAW,IAAShM,GAAGA,EAAE4X,WAA3O,SAAYlX,GAAG,IAAI,IAAIb,EAAE,EAAEA,EAAEa,EAAER,OAAOL,GAAG,EAAE,CAAC,IAAIG,EAAEU,EAAEb,GAAG,GAAGqQ,GAAGlQ,KAAKmQ,GAAGnQ,GAAG,OAAQ,CAAA,CAAC,OAAM,CAAE,CAA6J6X,CAAGnX,GAAGF,KAAKsX,YAAYjY,EAAEW,KAAKuX,SAASzK,GAAEmK,GAAG5X,GAAGW,KAAKwX,UAAUhY,EAAEqU,GAAGK,WAAW7U,EAAE,CAAC,OAAOa,EAAEN,UAAU6X,wBAAwB,SAASvX,EAAEb,EAAEG,GAAG,IAAIqM,EAAE7L,KAAKwX,UAAUxX,KAAKwX,UAAUC,wBAAwBvX,EAAEb,EAAEG,GAAG,GAAG,GAAGQ,KAAKoX,WAAW5X,EAAEqH,KAAK,GAAG7G,KAAKmX,eAAe9X,EAAEiV,aAAatU,KAAKsX,YAAYtX,KAAKmX,eAAetL,EAAE+D,GAAG/D,EAAE7L,KAAKmX,mBAAmB,CAAC,IAAInL,EAAE6D,GAAGiH,GAAG9W,KAAKqF,MAAMnF,EAAEb,EAAEG,IAAIF,EAAEmH,GAAEqG,GAAE9M,KAAKuX,SAASvL,KAAK,GAAG,IAAI3M,EAAEiV,aAAatU,KAAKsX,YAAYhY,GAAG,CAAC,IAAIC,EAAEC,EAAEwM,EAAE,IAAInL,OAAOvB,QAAG,EAAOU,KAAKsX,aAAajY,EAAEuR,YAAY5Q,KAAKsX,YAAYhY,EAAEC,EAAE,CAACsM,EAAE+D,GAAG/D,EAAEvM,GAAGU,KAAKmX,cAAc7X,CAAC,KAAK,CAAC,IAAI,IAAI2H,EAAE6F,GAAE9M,KAAKuX,SAAS/X,EAAEqH,MAAMM,EAAE,GAAGxG,EAAE,EAAEA,EAAEX,KAAKqF,MAAM3F,OAAOiB,IAAI,CAAC,IAAIyR,EAAEpS,KAAKqF,MAAM1E,GAAG,GAAG,iBAAiByR,EAAEjL,GAAGiL,EAAE,eAAezH,QAAQC,IAAIY,WAAWvE,EAAE6F,GAAE7F,EAAEmL,SAAS,GAAGA,EAAE,CAAC,IAAIzS,EAAEkQ,GAAGiH,GAAG1E,EAAElS,EAAEb,EAAEG,IAAIyH,EAAE6F,GAAE7F,EAAEtH,EAAEgB,GAAGwG,GAAGxH,CAAC,CAAC,CAAC,GAAGwH,EAAE,CAAC,IAAIrK,EAAE2J,GAAEQ,IAAI,GAAG5H,EAAEiV,aAAatU,KAAKsX,YAAYxa,IAAIuC,EAAEuR,YAAY5Q,KAAKsX,YAAYxa,EAAE0C,EAAE2H,EAAE,IAAItG,OAAO/D,QAAG,EAAOkD,KAAKsX,cAAczL,EAAE+D,GAAG/D,EAAE/O,EAAE,CAAC,CAAC,OAAO+O,CAAC,EAAE3L,CAAC,CAAjjC,GAAqjCwX,GAAG7L,EAAEhS,mBAAc,GAAW6d,GAAGvB,SAA8c,IAAIwB,GAAG,CAAA,EAAGC,GAAG,IAAIjM,IAAI,SAASkM,GAAG3X,EAAE8L,EAAE1M,GAAG,IAAIC,EAAEoQ,GAAGzP,GAAG+G,EAAE/G,EAAEiH,GAAGgG,GAAEjN,GAAGP,EAAEqM,EAAE8L,MAAMhb,OAAE,IAAS6C,EAAEqH,GAAErH,EAAEkX,EAAE7K,EAAEsL,YAAYlQ,OAAE,IAASyP,EAAE,SAAS3W,EAAEb,GAAG,IAAIG,EAAE,iBAAiBU,EAAE,KAAKyM,GAAEzM,GAAGyX,GAAGnY,IAAImY,GAAGnY,IAAI,GAAG,EAAE,IAAIqM,EAAE,GAAGhL,OAAOrB,EAAE,KAAKqB,OAAOkM,GAAE/B,GAAExL,EAAEmY,GAAGnY,KAAK,OAAOH,EAAE,GAAGwB,OAAOxB,EAAE,KAAKwB,OAAOgL,GAAGA,CAAC,CAArJ,CAAuJG,EAAEiB,YAAYjB,EAAE+L,mBAAmBlB,EAAE9L,EAAEiB,EAAEiB,YAAYvG,OAAE,IAASqE,EAAE,SAAS7K,GAAG,OAAOiN,GAAEjN,GAAG,UAAUW,OAAOX,GAAG,UAAUW,OAAOmM,GAAE9M,GAAG,IAAI,CAAtE,CAAwEA,GAAG6K,EAAEE,EAAEe,EAAEiB,aAAajB,EAAEsL,YAAY,GAAGzW,OAAO8L,GAAEX,EAAEiB,aAAa,KAAKpM,OAAOmL,EAAEsL,aAAatL,EAAEsL,aAAalQ,EAAE8D,EAAE3L,GAAG0H,EAAE6Q,MAAM7Q,EAAE6Q,MAAMjX,OAAO/D,GAAGyG,OAAO8H,SAASvO,EAAEsO,EAAEY,EAAEgK,kBAAkB,GAAGzW,GAAG0H,EAAE+O,kBAAkB,CAAC,IAAI9O,EAAED,EAAE+O,kBAAkB,GAAGhK,EAAEgK,kBAAkB,CAAC,IAAIvK,EAAEO,EAAEgK,kBAAkB5K,EAAE,SAASlL,EAAEb,GAAG,OAAO6H,EAAEhH,EAAEb,IAAIoM,EAAEvL,EAAEb,EAAE,CAAC,MAAM+L,EAAElE,CAAC,CAAC,IAAIwE,EAAE,IAAIwL,GAAG5X,EAAE2L,EAAE1L,EAAE0H,EAAE+Q,oBAAe,GAAQ,SAASvL,EAAEvM,EAAE8L,GAAG,OAAO,SAAS9L,EAAE8L,EAAE1M,GAAG,IAAIC,EAAEW,EAAE4X,MAAM7Q,EAAE/G,EAAE8X,eAAe7Q,EAAEjH,EAAE6N,aAAapO,EAAEO,EAAE+X,mBAAmBnb,EAAEoD,EAAE6W,kBAAkBF,EAAE3W,EAAEvB,OAAOyI,EAAEyE,EAAEtN,WAAWmZ,IAAI3M,EAAEmL,KAAKxP,EAAExG,EAAE8V,mBAAmBjL,EAAEiL,kBAAkB,eAAerL,QAAQC,IAAIY,UAAU7K,EAAAA,cAAE7D,GAAG,IAAIkO,EAAphmB,SAAW9K,EAAEb,EAAEG,GAAG,YAAO,IAASA,IAAIA,EAAE+M,IAAGrM,EAAEnG,QAAQyF,EAAEzF,OAAOmG,EAAEnG,OAAOsF,GAAGG,EAAEzF,KAAK,CAAq8lBme,CAAElM,EAAE5E,EAAED,IAAIoF,GAAEtB,EAAE,SAAS/K,EAAEV,EAAEqM,GAAG,IAAI,IAAIG,EAAE1M,EAAED,EAAEA,EAAE,CAAA,EAAGG,GAAG,CAAC2Y,eAAU,EAAOpe,MAAM8R,IAAItM,EAAE,EAAEA,EAAEW,EAAER,OAAOH,GAAG,EAAE,CAAC,IAAI0H,EAAEyI,GAAG1D,EAAE9L,EAAEX,IAAIyM,EAAE1M,GAAG0M,EAAE,IAAI,IAAI7E,KAAKF,EAAE3H,EAAE6H,GAAG,cAAcA,EAAEyI,GAAGtQ,EAAE6H,GAAGF,EAAEE,IAAI,UAAUA,EAAE9H,EAAEA,EAAE,CAAE,EAACC,EAAE6H,IAAIF,EAAEE,IAAIF,EAAEE,EAAE,CAAC,OAAO3H,EAAE2Y,YAAY7Y,EAAE6Y,UAAUvI,GAAGtQ,EAAE6Y,UAAU3Y,EAAE2Y,YAAY7Y,CAAC,CAApQ,CAAsQC,EAAEyM,EAAEhB,GAAGE,EAAED,EAAEmN,IAAIvB,EAAEzL,EAAE,CAAA,EAAG,IAAI,IAAIlE,KAAK+D,OAAQ,IAAGA,EAAE/D,IAAI,MAAMA,EAAE,IAAI,OAAOA,GAAG,UAAUA,GAAG+D,EAAElR,QAAQiR,IAAI,gBAAgB9D,EAAEkE,EAAEgN,GAAGnN,EAAEoN,YAAY3R,IAAIA,EAAEQ,EAAEgE,KAAKE,EAAElE,GAAG+D,EAAE/D,GAAGR,GAAG,gBAAgBiE,QAAQC,IAAIY,UAAUhM,EAAE0H,IAAI0Q,GAAG1L,IAAIhF,KAAKsF,GAAEN,IAAIhB,KAAK0M,GAAGxL,IAAIlF,GAAG4E,QAAQK,KAAK,qDAAqDtL,OAAOqG,EAAE,4VAA4V,IAAIuE,EAAE,SAASvL,EAAEb,GAAG,IAAIG,EAAE0W,KAAKrK,EAAE3L,EAAEuX,wBAAwBpY,EAAEG,EAAErB,WAAWqB,EAAEyW,QAAQ,MAAM,eAAetL,QAAQC,IAAIY,UAAU7K,gBAAEkL,GAAGA,CAAC,CAA/H,CAAiI5E,EAAEgE,GAAG,eAAeN,QAAQC,IAAIY,UAAUtL,EAAEoY,oBAAoBpY,EAAEoY,mBAAmB7M,GAAG,IAAIC,EAAEkE,GAAGjQ,EAAE7C,GAAG,OAAO2O,IAAIC,GAAG,IAAID,GAAGR,EAAEkN,YAAYzM,GAAG,IAAIT,EAAEkN,WAAW/M,EAAE+B,GAAEjC,KAAKsB,GAAEN,IAAIhB,GAAG,QAAQ,aAAaQ,EAAEpM,IAAI8L,EAAE5N,IAAI8B,GAAG8S,EAAAA,cAAElH,EAAEE,EAAE,CAA3/C,CAA6/CsB,EAAExM,EAAE8L,EAAE,CAACS,EAAEQ,YAAYvG,EAAE,IAAIgG,EAAEb,EAAE0M,WAAW9L,GAAG,OAAOC,EAAEoL,MAAM5M,EAAEwB,EAAEsL,eAAetM,EAAEgB,EAAEO,YAAYvG,EAAEgG,EAAEsJ,kBAAkB5K,EAAEsB,EAAEuL,mBAAmB1Y,EAAEqQ,GAAG3I,EAAEgR,mBAAmBhR,EAAE8P,mBAAmB,GAAGrK,EAAEqK,kBAAkB9L,EAAEyB,EAAE/N,OAAOY,EAAE0H,EAAEtI,OAAOuB,EAAErB,OAAOmQ,eAAetC,EAAE,eAAe,CAAC+E,IAAI,WAAW,OAAOzR,KAAKwY,mBAAmB,EAAE3H,IAAI,SAAS3Q,GAAGF,KAAKwY,oBAAoBjZ,EAAE,SAASW,GAAG,IAAI,IAAIb,EAAE,GAAGG,EAAE,EAAEA,EAAEC,UAAUC,OAAOF,IAAIH,EAAEG,EAAE,GAAGC,UAAUD,GAAG,IAAI,IAAIqM,EAAE,EAAEG,EAAE3M,EAAEwM,EAAEG,EAAEtM,OAAOmM,IAAImE,GAAG9P,EAAE8L,EAAEH,IAAG,GAAI,OAAO3L,CAAC,CAA7H,CAA+H,CAAE,EAAC+G,EAAE8G,aAAa7N,GAAGA,CAAC,IAAI,eAAeyK,QAAQC,IAAIY,WAAWI,GAAElF,EAAEuE,GAAGyB,EAAE4L,mBAAmB,SAASpY,EAAEb,GAAG,IAAIG,EAAE,CAAE,EAACqM,GAAE,EAAG,OAAO,SAASG,GAAG,IAAIH,IAAIrM,EAAEwM,IAAG,EAAGnN,OAAO4Z,KAAKjZ,GAAGE,QAAQ,KAAK,CAAC,IAAIJ,EAAED,EAAE,oBAAoBwB,OAAOxB,EAAE,KAAK,GAAGyM,QAAQK,KAAK,QAAQtL,OAAO,IAAI,0CAA0CA,OAAOX,GAAGW,OAAOvB,EAAE,OAAO,+PAA+PuM,GAAE,EAAGrM,EAAE,CAAE,CAAA,CAAC,CAAC,CAAvf,CAAyfkH,EAAEuE,IAAIgF,GAAGvD,GAAE,WAAW,MAAM,IAAI7L,OAAO6L,EAAEqK,kBAAkB,IAAG5P,GAAGsI,GAAG/C,EAAExM,EAAE,CAAC4X,OAAM,EAAGE,gBAAe,EAAG/K,aAAY,EAAGgL,oBAAmB,EAAGjC,mBAAkB,EAAGe,mBAAkB,EAAGpY,QAAO,IAAK+N,CAAC,CAAC,SAASgM,GAAGxY,EAAEb,GAAG,IAAI,IAAIG,EAAE,CAACU,EAAE,IAAI2L,EAAE,EAAEG,EAAE3M,EAAEK,OAAOmM,EAAEG,EAAEH,GAAG,EAAErM,EAAE8D,KAAKjE,EAAEwM,GAAG3L,EAAE2L,EAAE,IAAI,OAAOrM,CAAC,CAAC,IAAImZ,GAAG,SAASzY,GAAG,OAAOrB,OAAOC,OAAOoB,EAAE,CAAC0W,OAAM,GAAI,EAAE,SAASgC,GAAGvZ,GAAG,IAAI,IAAIG,EAAE,GAAGqM,EAAE,EAAEA,EAAEpM,UAAUC,OAAOmM,IAAIrM,EAAEqM,EAAE,GAAGpM,UAAUoM,GAAG,GAAG6D,GAAGrQ,IAAIyQ,GAAGzQ,GAAG,OAAOsZ,GAAG7B,GAAG4B,GAAG1R,GAAE9G,EAAE,CAACb,GAAGG,GAAE,MAAO,IAAIwM,EAAE3M,EAAE,OAAO,IAAIG,EAAEE,QAAQ,IAAIsM,EAAEtM,QAAQ,iBAAiBsM,EAAE,GAAG8K,GAAG9K,GAAG2M,GAAG7B,GAAG4B,GAAG1M,EAAExM,IAAI,CAAC,SAASqZ,GAAGrZ,EAAEqM,EAAEG,GAAG,QAAG,IAASA,IAAIA,EAAEO,KAAIV,EAAE,MAAMwE,GAAG,EAAExE,GAAG,IAAIvM,EAAE,SAASD,GAAG,IAAI,IAAIC,EAAE,GAAGC,EAAE,EAAEA,EAAEE,UAAUC,OAAOH,IAAID,EAAEC,EAAE,GAAGE,UAAUF,GAAG,OAAOC,EAAEqM,EAAEG,EAAE4M,GAAG7Y,WAAM,EAAOG,EAAE,CAACb,GAAGC,GAAE,IAAK,EAAE,OAAOA,EAAEwY,MAAM,SAAS5X,GAAG,OAAO2Y,GAAGrZ,EAAEqM,EAAExM,EAAEA,EAAE,CAAA,EAAG2M,GAAG,CAAC8L,MAAM7Y,MAAMW,UAAUiB,OAAOmL,EAAE8L,MAAM5X,GAAGqD,OAAO8H,WAAW,EAAE/L,EAAEwZ,WAAW,SAAS5Y,GAAG,OAAO2Y,GAAGrZ,EAAEqM,EAAExM,EAAEA,EAAE,CAAA,EAAG2M,GAAG9L,GAAG,EAAEZ,CAAC,CAAC,IAAIyZ,GAAG,SAAS7Y,GAAG,OAAO2Y,GAAGhB,GAAG3X,EAAE,EAAE8Y,GAAGD,GAA6oD,SAASE,GAAG5Z,GAAG,IAAI,IAAIG,EAAE,GAAGqM,EAAE,EAAEA,EAAEpM,UAAUC,OAAOmM,IAAIrM,EAAEqM,EAAE,GAAGpM,UAAUoM,GAAG,eAAelB,QAAQC,IAAIY,UAAU,oBAAoB0N,WAAW,gBAAgBA,UAAUC,SAASrN,QAAQK,KAAK,mHAAmH,IAAIH,EAAE6D,GAAG+I,GAAG7Y,WAAM,EAAOG,EAAE,CAACb,GAAGG,GAAE,KAAMF,EAAEyN,GAAEf,GAAG,OAAO,IAAIoK,GAAG9W,EAAE0M,EAAE,CAA5/DQ,GAAE4D,SAAQ,SAASlQ,GAAG8Y,GAAG9Y,GAAG6Y,GAAG7Y,EAAE,IAA4oH,eAAeyK,QAAQC,IAAIY,UAAU,oBAAoB0N,WAAW,gBAAgBA,UAAUC,SAASrN,QAAQK,KAAK,wNAAwN,IAAIiN,GAAG,QAAQvY,OAAOuG,GAAE,MAAM,eAAeuD,QAAQC,IAAIY,UAAU,SAASb,QAAQC,IAAIY,UAAU,oBAAoBL,SAASA,OAAOiO,MAAMjO,OAAOiO,IAAI,GAAG,IAAIjO,OAAOiO,KAAKtN,QAAQK,KAAK,4TAA4ThB,OAAOiO,KAAK,GCA9g5B,IAAIC,GAAM,qYCMH,MAAMC,GAAQ,CACnBC,MAAO,CAAE1C,EAAG,GAAIlX,EAAG,EAAGyH,EAAG,IACzBoS,OAAQ,CAAE3C,EAAG,GAAIlX,EAAG,GAAIyH,EAAG,IAC3BqS,MAAO,CAAE5C,EAAG,GAAIlX,EAAG,GAAIyH,EAAG,KAuItBsS,GAAuBC,GAAOC,MAalC;eACc7V,GAAUA,EAAM8V,aAAavf;;gBAE5ByJ,GAAUA,EAAM8V,aAAaC;aAChC/V,GACVA,EAAMgW,MAAQ,IAAM,GAAGhW,EAAM8V,aAAaG;eAC9BjW,GAAUA,EAAM8V,aAAare;WACjCuI,GAAUA,EAAM8V,aAAaI;;YAE5BlW,GAAUA,EAAM8V,aAAaK;IACrCnW,GACDA,EAAM8V,aAAaM,UACf,cAAgBpW,EAAM8V,aAAaM,UACnC;YACKpW,GAAUA,EAAM8V,aAAaO;;;;;;;;wBAQjBrW,GAAUA,EAAM8V,aAAaQ,OAAO;;;wBAGpCtW,GAAUA,EAAM8V,aAAaQ,OAAO;;;;;;;;;;;ECtL7D,IAAIhB,GAAM,qZCANA,GAAM,yTCANA,GAAM,yqBCSV,MCHMiB,GAAwB,EAAGC,iBAAgB,KAC3CA,EAEAtgB,aACEugB,MAAM,KACNC,OAAO,IACPC,QAAQ,WACRC,KAAK,OACLC,MAAM,6BAA4B5gB,SAElCC,cAAMugB,MAAM,KAAKC,OAAO,IAAII,GAAG,IAAI1C,UAAU,YAAYwC,KAAK,YAMlE1gB,aACEugB,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,MAAM,6BAA4B5gB,SAElCC,cACE6gB,SAAS,UACTC,SAAS,UACTje,EAAE,mYACFqb,UAAU,YACVwC,KAAK,YC1BArB,GAAQ,CACnB0B,OAAQ,CAAE5P,EAAG,GAAIyL,EAAG,GAAIoE,KAAM,EAAGC,KAAM,EAAGC,QAAS,IAAKC,OAAQ,GAChE7B,MAAO,CAAEnO,EAAG,GAAIyL,EAAG,GAAIoE,KAAM,GAAIC,KAAM,GAAIC,QAAS,EAAGC,OAAQ,GAC/D5B,OAAQ,CAAEpO,EAAG,GAAIyL,EAAG,GAAIoE,KAAM,GAAIC,KAAM,GAAIC,QAAS,EAAGC,OAAQ,IAkB5DC,GAAyCC,QAAAC,MAC7CA,EAAKC,YACLA,EAAWtgB,MACXA,EAAKugB,SACLA,EAAQrhB,MACRA,EAAKkM,KACLA,EAAIzI,MACJA,EAAQ,UAAS0c,cACjBA,GAAgB,KACbxW,EAT0C9D,EAAAqb,EAAA,CAAA,QAAA,cAAA,QAAA,WAAA,QAAA,OAAA,QAAA,kBAW7C,MAAMvhB,EAAQuE,IACR+b,EFhC6D,CACnE1f,QAAS,CACP+gB,SAFiBC,EEgCW5hB,GF9BdW,QAAQC,QAAQ,KAC9BihB,QAASD,EAAKjhB,QAAQC,QAAQ,KAC9BkhB,OAAQF,EAAKjhB,QAAQC,QAAQ,KAC7BmhB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCK,QAAS,CACP0gB,QAASC,EAAKjhB,QAAQM,QAAQ,KAC9B4gB,QAASD,EAAKjhB,QAAQM,QAAQ,KAC9B6gB,OAAQF,EAAKjhB,QAAQM,QAAQ,KAC7B8gB,SAAUH,EAAKjhB,QAAQC,QAAQ,OAXf,IAACghB,EEkCnB,MAAMI,EAA4CzV,QAAAA,EAAQ,SAE1D,IAAI2T,EAAYlgB,EAAMS,UAClBwhB,EAAkB3B,EAAOxc,GAAO6d,QAChCO,EAAyB5B,EAAOxc,GAAO+d,QACvCM,EAAwB7B,EAAOxc,GAAOge,OAE1C,MAAMvF,EAAKvZ,IACLof,EAAWlQ,EAAMA,OAAmB,MAQ1C,OANAmQ,EAAAA,WAAU,KACJD,EAASE,UACXF,EAASE,QAAQ9B,cAAgBA,KAElC,CAACA,IAGF+B,EAACC,KAAAC,GACe,CAAA3C,aAAA,CACZ9f,QACAkgB,YACA+B,kBACAC,yBACAC,wBACA1B,MAAOlB,GAAMyC,GAAY3Q,EACzBqP,OAAQnB,GAAMyC,GAAYlF,EAC1BoE,KAAM3B,GAAMyC,GAAYd,KACxBC,KAAM5B,GAAMyC,GAAYd,KACxBE,QAAS7B,GAAMyC,GAAYZ,QAC3BC,OAAQ9B,GAAMyC,GAAYX,QAE5BjD,UAAWxb,EAAa,gCAAiCoH,EAAMoU,qBAE/DmE,EAAKC,KAAA,MAAA,CAAApE,UAAU,qBAAoBne,SAAA,CACjCsiB,EAAAA,cAAOnE,UAAU,iBACfne,SAAA,CAAAC,EAAAA,IAAA,QAAA4E,OAAAC,OAAA,CACEtB,IAAK2e,EACL7F,GAAIA,EACJvY,KAAK,YACDgG,EACJ,CAAA0Y,QAASriB,EACTqhB,SAAWvb,IACTub,GAAYA,EAASvb,EAAGA,EAAEvB,OAAO8d,QAAQ,KAG7CxiB,MAACqgB,IAAKC,cAAeA,OAEtBgB,GACCthB,EAAAA,IAAO,QAAA,CAAAyiB,QAAS3Y,EAAMuS,IAAMA,EAAI6B,UAAU,sBAAqBne,SAC5DuhB,QAILC,GAAetgB,IACfohB,OAAK,MAAA,CAAAnE,UAAU,4BAA2Bne,SAAA,CACvCwhB,GACCvhB,EAAKC,IAAA,MAAA,CAAAie,UAAU,yCAAiCqD,IAEjDtgB,GACCjB,EAAAC,IAAA,MAAA,CAAKie,UAAU,iCAAkCne,SAAAkB,SAIvC,EAIhBshB,GAAkB7C,GAAOgD,GAc7B;eACc5Y,GAAUA,EAAM8V,aAAa9f,MAAMO;WACvCyJ,GAAUA,EAAM8V,aAAaI;;;;aAI3BlW,GAAUA,EAAM8V,aAAaoB;cAC5BlX,GAAUA,EAAM8V,aAAaqB;YAC/BnX,GAAUA,EAAM8V,aAAasB;WAC9BpX,GAAUA,EAAM8V,aAAauB;;;;;;;;;;;;;;;;;;;;;eAqBzBrX,GAAUA,EAAM8V,aAAa9f,MAAMW,QAAQQ,MAAM;;;;;;2BAMtC0hB;;;;;;;;;;;;;;;;;;;;;;;mBAuBP7Y,GAAUA,EAAM8V,aAAaW,MAAQ;oBACpCzW,GAAUA,EAAM8V,aAAaY,OAAS;;;;;;8BAM5B1W,GACnBA,EAAM8V,aAAaoC;;;;;;;;;;;;8BAYAlY,GACnBA,EAAM8V,aAAaqC;;;;;;;;;;;;;;;;mBAgBXnY,GAAUA,EAAM8V,aAAaW,MAAQ;oBACpCzW,GAAUA,EAAM8V,aAAaY,OAAS;;;;;;;;;;;;4BAY9B1W,GAAUA,EAAM8V,aAAamC;;;;;;;;4BAQ7BjY,GAAUA,EAAM8V,aAAamC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4CxCjY,GAAUA,EAAM8V,aAAaW;cAChCzW,GAAUA,EAAM8V,aAAaY;;;;;;;;;;;;;;;;;;;;;;;;;;;EC/QtCoC,GAAiDvB,IAAA,IAAAwB,SACrDA,EAAQC,SACRA,EAAQ3iB,MACRA,EAAK4iB,QACLA,EAAOhjB,SACPA,GAEDshB,EADIvX,EAAK9D,EAAAqb,EAN6C,sDAQrD,MAAMvhB,EAAQuE,IAEd,OACEge,EAACC,KAAAC,GACC,CAAArE,UAAWxb,EAAa,4BAA8BmgB,EAAW,YAAc,IAAK/Y,EAAMoU,kBAClFpe,EAAKkjB,UACFH,EAAQI,UACRH,EACXC,QAAU9c,IACR8c,GAAWA,EAAQ9c,EAAG9F,EAAM,EAC7BJ,SAAA,CAEA+iB,GAAY9iB,EAAAC,IAACmhB,GAAS,CAAA8B,MAAM,UAAU7W,KAAK,QAAQlM,MAAO0iB,IAC1D9iB,IACe,EAIhBwiB,GAAkB7C,GAAOgD,GAI7B;eACc5Y,GAAUA,EAAMqZ,OAAO9iB;WAC3BqF,GAAMA,EAAEyd,OAAO5iB;;;;;;;;;;;mBAWR6iB;eACH1d,IAAQA,EAAEud,WAAavd,EAAEsd,UAAY,QAAU;;;;;wBAKtCtd,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;wBAG/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;wBAG/BgF,GAAMA,EAAEyd,OAAO5iB;;;;;;;EChE3B8e,GAAQ,CACnBgE,OAAQ,CAAElS,EAAG,GAAIyL,EAAG,GAAI0G,GAAI,EAAGnW,EAAG,IAClCmS,MAAO,CAAEnO,EAAG,GAAIyL,EAAG,GAAI0G,GAAI,EAAGnW,EAAG,IACjCoS,OAAQ,CAAEpO,EAAG,GAAIyL,EAAG,GAAI0G,GAAI,GAAInW,EAAG,KAa/BoW,GAA+BlC,WAAAthB,SACnCA,EAAQ6D,MACRA,EAAKyI,KACLA,EAAImX,QACJA,EAAOC,SACPA,EAAQC,SACRA,EAAQC,UACRA,EAASC,QACTA,GAAOvC,EACJvX,EAAK9D,EAAAqb,EAT2B,mFAWnC,MAAMvhB,EAAQuE,IAERwf,EAAkBjgB,QAAAA,EAAS,UAC3Bke,EAAazV,QAAAA,EAAQ,SACrByX,EAAyBN,SAAAA,EACzBO,EAA6B,QAAjBC,ECrBd,CACJtjB,QAAS,CACPujB,IAXFvC,ED8ByB5hB,GCnBdW,QAAQC,QAAQ,IACzBuf,OAAQyB,EAAKjhB,QAAQC,QAAQ,KAC7BwjB,eAAgBxC,EAAKjhB,QAAQC,QAAQ,KACrCsf,UAAW0B,EAAKjhB,QAAQC,QAAQ,MAElCU,QAAS,CACP6iB,GAAIvC,EAAKjhB,QAAQU,KAAK,IACtB8e,OAAQyB,EAAKjhB,QAAQW,QAAQ,KAC7B8iB,eAAgBxC,EAAKjhB,QAAQW,QAAQ,KACrC4e,UAAW0B,EAAKjhB,QAAQW,QAAQ,MAElCH,MAAO,CACLgjB,GAAIvC,EAAKjhB,QAAQQ,MAAM,IACvBgf,OAAQyB,EAAKjhB,QAAQQ,MAAM,KAC3BijB,eAAgBxC,EAAKjhB,QAAQQ,MAAM,KACnC+e,UAAW0B,EAAKjhB,QAAQQ,MAAM,MAEhCC,QAAS,CACP+iB,GAAIvC,EAAKjhB,QAAQS,QAAQ,IACzB+e,OAAQyB,EAAKjhB,QAAQS,QAAQ,KAC7BgjB,eAAgBxC,EAAKjhB,QAAQS,QAAQ,KACrC8e,UAAW0B,EAAKjhB,QAAQS,QAAQ,MAElCC,KAAM,CACJ8iB,GAAI,UACJhE,OAAQyB,EAAKjhB,QAAQU,KAAK,KAC1B+iB,eAAgBxC,EAAKjhB,QAAQU,KAAK,KAClC6e,UAAW0B,EAAKjhB,QAAQU,KAAK,MAE/BgjB,QAAS,CACPF,GAAI,2BACJhE,OAAQ,cACRiE,eAAgB,2BAChBlE,UAAW0B,EAAKlhB,qBDdiB,IAAAwjB,EAAAA,EAAA,UC/BtB,IACbtC,EDgCA,IAAIK,EAAkBgC,EAAUF,GAAiBI,GAC7CG,EAAcL,EAAUF,GAAiB5D,OACzCoE,EAAsBN,EAAUF,GAAiBK,eACjDlE,EAAY+D,EAAUF,GAAiB7D,UACvCC,EAAS,qBAAqBmE,IAC9BE,EAAeV,EAAU,KAAO,EAOpC,OALIE,IACF/B,EAAkB,cAClB9B,EAAS,qBAAqBoE,KAI9BhC,EAAAC,KAACC,GAAe,CACdrE,UAAWxb,EAAa,kBAAmBoH,EAAMoU,WACnC0B,aAAA,CACZvf,UAAWP,EAAMO,UACjBkkB,SAAUd,EAAW,EAAIpE,GAAMyC,GAAY3Q,EAC3CqP,OAAQnB,GAAMyC,GAAYlF,EAC1B4H,SAAUnF,GAAMyC,GAAYwB,GAC5B/hB,SAAU8d,GAAMyC,GAAY3U,EAC5B6S,YACA+B,gBAAiBA,EACjB9B,SACAqE,gBACDvkB,SAAA,CAEA0jB,GAAYzjB,EAAAA,IAAA,MAAA,CAAKke,UAAU,WAAYne,SAAA2jB,GAAY3jB,KAClD0jB,GACApB,EAAAA,2BACEriB,EAAAA,IAAK,MAAA,CAAAke,UAAU,oBAAYwF,IAC1B3jB,EACDC,MAAK,MAAA,CAAAke,UAAU,qBAAayF,SAGhB,EAIhBpB,GAAkB7C,GAAOgD,GAY7B;eACc5Y,GAAUA,EAAM8V,aAAavf;eAC7ByJ,GAAUA,EAAM8V,aAAa2E;WACjCza,GAAUA,EAAM8V,aAAaI;YAC5BlW,GAAUA,EAAM8V,aAAaY;eAC1B1W,GAAUA,EAAM8V,aAAa4E;eAC7B1a,GAAUA,EAAM8V,aAAare;sBACtBuI,GAAUA,EAAM8V,aAAamC;IAC/CjY,GAAUA,EAAM8V,aAAaK;;mBAEdnW,GAAUA,EAAM8V,aAAa0E;;;;;;;;;;;;;EE5FpCjF,GAAQ,CACnBE,OAAQ,CAAEpO,EAAG,IAAKyL,EAAG,GAAIlX,EAAG,GAAIyH,EAAG,IACnCqS,MAAO,CAAErO,EAAG,IAAKyL,EAAG,GAAIlX,EAAG,GAAIyH,EAAG,KA6U9BoV,GAAkB7C,GAAOgD,GAAsB;eACrChd,GAAMA,EAAEyd,OAAO9iB;;;WAGnBqF,GAAMA,EAAEyd,OAAO5iB;;;;;;;;;;;;;;;;;;;;;wBAqBFmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;MAIjDgF,GAAMA,EAAEyd,OAAOhhB,UAAUC,QAAQN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ClC2iB,GAAY/E,GAAOgD,GAgBvB;;eAEc5Y,GAAUA,EAAM8V,aAAavf;;YAEhCyJ,GAAUA,EAAM8V,aAAaY;eAC1B1W,GAAUA,EAAM8V,aAAare;WACjCuI,GAAUA,EAAM8V,aAAaI;YAC5BlW,GAAUA,EAAM8V,aAAaK;sBACnBnW,GAAUA,EAAM8V,aAAamC;wBAC3BjY,GAAUA,EAAM8V,aAAaG;;;;;;;;;;;;wBAY7BjW,GAAUA,EAAM8V,aAAamC;;;4BAGzBjY,GAAUA,EAAM8V,aAAaG;;;;;;;;;;;kBAWvCjW,GAAUA,EAAM8V,aAAaY;;;;oBAI3B1W,GAAUA,EAAM8V,aAAaY;;;;;;gCAMlBkE;;;;;;;;;;;;;;;;;;;;mBAoBbC;;;;;;wBAMM7a,GAAUA,EAAM8V,aAAamC;;;;;;;;;;;;wBAY7BjY,GAAUA,EAAM8V,aAAamC;;;;;;;MAO/CjY,GAAUA,EAAM8V,aAAagF;cACrB9a,GAAUA,EAAM8V,aAAaiF;;;;cAI7B/a,GAAUA,EAAM8V,aAAakF;;;;;;EAQtCC,GAAsBrF,GAAOsF,IAA0B;;gBAE5Clb,GAAUA,EAAMmb;;;;;;;;;;;;EC9fpB5F,GAET,CACF6F,QAAS,CAAEC,GAAI,GAAIlY,EAAG,EAAGE,EAAG,GAAIiY,GAAI,KACpCrE,OAAQ,CAAEoE,GAAI,GAAIlY,EAAG,EAAGE,EAAG,GAAIiY,GAAI,KACnC9F,MAAO,CAAE6F,GAAI,GAAIlY,EAAG,EAAGE,EAAG,GAAIiY,GAAI,KAClC7F,OAAQ,CAAE4F,GAAI,GAAIlY,EAAG,EAAGE,EAAG,GAAIiY,GAAI,KACnC5F,MAAO,CAAE2F,GAAI,GAAIlY,EAAG,EAAGE,EAAG,GAAIiY,GAAI,KAClCC,OAAQ,CAAEF,GAAI,GAAIlY,EAAG,EAAGE,EAAG,GAAIiY,GAAI,KACnCE,QAAS,CAAEH,GAAI,IAAKlY,EAAG,EAAGE,EAAG,GAAIiY,GAAI,MAkDjC7C,GAAkB7C,GAAOgD,GAQ7B;;;;WAIUhd,GAAMA,EAAE6f,MAAMJ;YACbzf,GAAMA,EAAE6f,MAAMJ;YACdzf,GACTA,EAAE8f,QACE,GAAG9f,EAAE6f,MAAMtY,aAAavH,EAAE+f,eAC1B,GAAG/f,EAAE6f,MAAMtY;sBACIvH,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;eACtCgF,GAAMA,EAAE6f,MAAMpY;iBACZzH,GAAMA,EAAE6f,MAAMH;mBACZ1f,GAAOA,EAAEggB,QAAU,MAAQ;;;;;aAKjChgB,GAAOA,EAAEigB,QAAsB,EAAZjgB,EAAE6f,MAAMpY,EAAQ,KAAO;cACzCzH,GAAOA,EAAEigB,QAAsB,EAAZjgB,EAAE6f,MAAMpY,EAAQ,KAAO;;qBAEnCzH,GAAOA,EAAEggB,QAAU,MAAQ;;;;MAI1ChgB,GArCY,GAAGmD,QAAQ,EAAG+c,KAAK,OAAU,6BACtBA,IAAa,EAAR/c,UAqCzBgd,CAAW,CACThd,MAAOnD,EAAEogB,OACTF,GAA2B,QAAvBlgB,EAAEyd,OAAO9iB,UAAsB,IAAM;;ECzG3C,MAwHAkiB,GAAkB7C,GAAOgD,GAG7B;eACc5Y,GAAUA,EAAMqZ,OAAO9iB;;;;aAIzByJ,GAAUA,EAAMqZ,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;qBAe/BgF,GAAMA,EAAEqgB;;;;;;;;;;;;;;;;;;aAkBhBjc,GAAUA,EAAMqZ,OAAO1iB,QAAQC,QAAQ;;;;EAM/CslB,GAAatG,GAAOgD,GAAsB;;;;;;;;;;;sBAWzBhd,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;IAIjDgF,GAAMA,EAAEyd,OAAOhhB,UAAUC,QAAQN;;;;;;;;;;;;;;;;;EC9LzBmkB,GACJ,OADIA,GAEF,QAFEA,GAGF,YAHEA,GAIF,QAJEA,GAKF,QALEA,GAMF,YANEA,GAOF,QCTE5G,GAAQ,CACnBC,MAAO,CAAEnO,EAAG,GAAIyL,EAAG,GAAIlX,EAAG,EAAGyH,EAAG,IAChCoS,OAAQ,CAAEpO,EAAG,GAAIyL,EAAG,GAAIlX,EAAG,GAAIyH,EAAG,IAClCqS,MAAO,CAAErO,EAAG,IAAKyL,EAAG,GAAIlX,EAAG,GAAIyH,EAAG,KAe9B+Y,GAASvmB,EAAM2e,YACnB,CACE+C,EAYA9d,SAZAxD,SACEA,EAAQsM,KACRA,EAAO,QAAOzI,MACdA,EAAQ,UAASuiB,YACjBA,EAAWC,YACXA,EAAW3C,SACXA,EAAQU,QACRA,EAAOT,SACPA,EAAQC,UACRA,GAAStC,EACNvX,EAVL9D,EAAAqb,EAAA,CAAA,WAAA,OAAA,QAAA,cAAA,cAAA,WAAA,UAAA,WAAA,cAcA,MAAMvhB,EAAQuE,IAERgiB,ECjCK,EACbvmB,EACAqkB,GAAmB,EACnBiC,GAAuB,IAgBlBjC,GAAYiC,GA8HZjC,GAAWiC,EACP,CACL1lB,QAAS,CACPqhB,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQC,QAAQ,KAC/BihB,QAAS7hB,EAAMW,QAAQC,QAAQ,KAC/BkhB,OAAQ9hB,EAAMW,QAAQC,QAAQ,KAC9BmhB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAU/hB,EAAMW,QAAQC,QAAQ,OAGpCK,QAAS,CACPghB,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,WAEfgmB,iBAAkB,CAChBD,MAAOL,KAGX,kBAAmB,CACjBlE,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQQ,MAAM,IAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,YAGjB,oBAAqB,CACnBwhB,gBAAiB,CACfN,QAAS,cACTE,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACX3C,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,KAChC4lB,MAAOxmB,EAAMS,YAGjBimB,OAAQ,CACNzE,gBAAiB,CACfN,QAAS,cACTE,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,YAGjBkmB,YAAa,CACX1E,gBAAiB,CACfN,QAAS,cACTE,QAAS,cACTC,OAAQ,cACRC,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,aAYjB4jB,IAAYiC,EACP,CACL1lB,QAAS,CACPqhB,gBAAiB,CACfN,QAASwE,GACTtE,QAASsE,GACTrE,OAAQqE,GACRpE,SAAUoE,IAEZjG,UAAW,CACTyB,QAAS3hB,EAAMS,UACfohB,QAAS7hB,EAAMS,UACfqhB,OAAQ9hB,EAAMS,UACdshB,SAAUoE,IAEZ7B,YAAa,CACXkC,MAAOL,IAETM,iBAAkB,CAChBD,MAAOxmB,EAAMS,YAGjBQ,QAAS,CACPghB,gBAAiB,CACfN,QAASwE,GACTtE,QAASsE,GACTrE,OAAQqE,GACRpE,SAAUoE,IAEZjG,UAAW,CACTyB,QAAS3hB,EAAMS,UACfohB,QAAS7hB,EAAMS,UACfqhB,OAAQ9hB,EAAMS,UACdshB,SAAUoE,IAEZ7B,YAAa,CACXkC,MAAOL,IAETM,iBAAkB,CAChBD,MAAOxmB,EAAMS,YAGjB,kBAAmB,CACjBwhB,gBAAiB,CACfN,QAASwE,GACTtE,QAASsE,GACTrE,OAAQqE,GACRpE,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAUoE,IAEZ7B,YAAa,CACXkC,MAAOL,KAGX,oBAAqB,CACnBlE,gBAAiB,CACfN,QAAS,cACTE,QAASsE,GACTrE,OAAQqE,GACRpE,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAUoE,IAEZ7B,YAAa,CACX3C,QAASwE,GACTtE,QAASsE,GACTrE,OAAQqE,GACRpE,SAAU/hB,EAAMW,QAAQC,QAAQ,KAChC4lB,MAAOL,KAGXO,OAAQ,CACNzE,gBAAiB,CACfN,QAAS,cACTE,QAASsE,GACTrE,OAAQqE,GACRpE,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAUoE,IAEZ7B,YAAa,CACXkC,MAAOL,KAGXQ,YAAa,CACX1E,gBAAiB,CACfN,QAAS,cACTE,QAAS,cACTC,OAAQ,cACRC,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMW,QAAQM,QAAQ,KAC/B6gB,OAAQ9hB,EAAMW,QAAQM,QAAQ,KAC9B8gB,SAAUoE,IAEZ7B,YAAa,CACXkC,MAAOL,MAcR,CACLvlB,QAAS,CACPqhB,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQC,QAAQ,KAC/BihB,QAAS7hB,EAAMW,QAAQC,QAAQ,KAC/BkhB,OAAQ9hB,EAAMW,QAAQC,QAAQ,KAC9BmhB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAU/hB,EAAMW,QAAQC,QAAQ,OAGpCK,QAAS,CACPghB,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOL,IAETM,iBAAkB,CAChBD,MAAOxmB,EAAMS,YAGjB,kBAAmB,CACjBwhB,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQQ,MAAM,IAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOL,KAGX,oBAAqB,CACnBlE,gBAAiB,CACfN,QAAS,cACTE,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACX3C,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,KAChC4lB,MAAOL,KAGXO,OAAQ,CACNzE,gBAAiB,CACfN,QAAS,cACTE,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOL,KAGXQ,YAAa,CACX1E,gBAAiB,CACfN,QAAS,cACTE,QAAS,cACTC,OAAQ,cACRC,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMW,QAAQQ,MAAM,KAC7B0gB,QAAS7hB,EAAMW,QAAQQ,MAAM,KAC7B2gB,OAAQ9hB,EAAMW,QAAQQ,MAAM,KAC5B4gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOL,MAvdJ,CACLvlB,QAAS,CACPqhB,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQC,QAAQ,KAC/BihB,QAAS7hB,EAAMW,QAAQC,QAAQ,KAC/BkhB,OAAQ9hB,EAAMW,QAAQC,QAAQ,KAC9BmhB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,WAEfgmB,iBAAkB,CAChBD,MAAOL,KAGXllB,QAAS,CACPghB,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQM,QAAQ,KAC/B4gB,QAAS7hB,EAAMW,QAAQM,QAAQ,KAC/B6gB,OAAQ9hB,EAAMW,QAAQM,QAAQ,KAC9B8gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMU,aAAeylB,GAC9BtE,QAAS7hB,EAAMU,aAAeylB,GAC9BrE,OAAQ9hB,EAAMU,aAAeylB,GAC7BpE,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,WAEfgmB,iBAAkB,CAChBD,MAAOL,KAGX,kBAAmB,CACjBlE,gBAAiB,CACfN,QAAS3hB,EAAMW,QAAQC,QAAQ,KAC/BihB,QAAS7hB,EAAMW,QAAQC,QAAQ,KAC/BkhB,OAAQ9hB,EAAMW,QAAQC,QAAQ,KAC9BmhB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElCsf,UAAW,CACTyB,QAAS3hB,EAAMS,UACfohB,QAAS7hB,EAAMS,UACfqhB,OAAQ9hB,EAAMS,UACdshB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,YAGjB,oBAAqB,CACnBwhB,gBAAiB,CACfN,QAAS,cACTE,QAAS7hB,EAAMW,QAAQC,QAAQ,KAC/BkhB,OAAQ9hB,EAAMW,QAAQC,QAAQ,KAC9BmhB,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMS,UACfohB,QAAS7hB,EAAMS,UACfqhB,OAAQ9hB,EAAMS,UACdshB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACX3C,QAAS3hB,EAAMW,QAAQC,QAAQ,KAC/BihB,QAAS7hB,EAAMW,QAAQC,QAAQ,KAC/BkhB,OAAQ9hB,EAAMW,QAAQC,QAAQ,KAC9BmhB,SAAU/hB,EAAMW,QAAQC,QAAQ,KAChC4lB,MAAOxmB,EAAMS,YAGjBimB,OAAQ,CACNzE,gBAAiB,CACfN,QAAS,cACTE,QAAS7hB,EAAMW,QAAQC,QAAQ,KAC/BkhB,OAAQ9hB,EAAMW,QAAQC,QAAQ,KAC9BmhB,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMS,UACfohB,QAAS7hB,EAAMS,UACfqhB,OAAQ9hB,EAAMS,UACdshB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,YAGjBkmB,YAAa,CACX1E,gBAAiB,CACfN,QAAS,cACTE,QAAS,cACTC,OAAQ,cACRC,SAAU,eAEZ7B,UAAW,CACTyB,QAAS3hB,EAAMS,UACfohB,QAAS7hB,EAAMW,QAAQM,QAAQ,KAC/B6gB,OAAQ9hB,EAAMW,QAAQM,QAAQ,KAC9B8gB,SAAU/hB,EAAMW,QAAQC,QAAQ,MAElC0jB,YAAa,CACXkC,MAAOxmB,EAAMS,aDjGEmmB,CAAgB5mB,EAAOqkB,EAASiC,GAC/CrE,EAAkBsE,EAAaziB,GAAOme,gBACtC/B,EAAYqG,EAAaziB,GAAOoc,UAChCoE,EAAciC,EAAaziB,GAAOwgB,YAClCmC,EAAmBF,EAAaziB,GAAO2iB,iBAE7C,OACElE,EAACC,KAAAC,GACK3d,OAAAC,OAAA,CAAA,EAAAiF,GACJvG,IAAKA,EACL2a,UAAWxb,EAAa,qBAAsBoH,EAAMoU,WACzCyI,UAAA7c,EAAM+X,SACHjC,aAAA,CACZ9f,QACAykB,SAAUd,EAAW,EAAIpE,GAAMhT,GAAM8E,EACrCqP,OAAQnB,GAAMhT,GAAMuQ,EACpBmD,QAASV,GAAMhT,GAAM3G,EACrBnE,SAAU8d,GAAMhT,GAAMc,EACtB6S,YACA+B,kBACAqC,cACAmC,oBAEF3iB,MAAOuiB,YAEN1C,GAAYzjB,aAAKke,UAAU,WAAYne,SAAA2jB,GAAY3jB,KAClD0jB,GACApB,OAAAuE,EAAAA,SAAA,CAAA7mB,SAAA,CACEC,EAAKC,IAAA,MAAA,CAAAie,UAAU,WAAUne,SAAE2jB,IAC1B3jB,EACDC,MAAA,MAAA,CAAKke,UAAU,qBAAayF,UAGhB,IAKlBpB,GAAkB7C,GAAOC,MAa7B;;;;;;;eAOc7V,GAAUA,EAAM8V,aAAa9f,MAAMO;eACnCyJ,GAAUA,EAAM8V,aAAa2E;YAChCza,GAAUA,EAAM8V,aAAaY;aAC5B1W,GAAUA,EAAM8V,aAAaG;eAC3BjW,GAAUA,EAAM8V,aAAare;;WAEjCuI,GAAUA,EAAM8V,aAAaI,UAAUyB;sBAC5B3X,GAAUA,EAAM8V,aAAamC,gBAAgBN;;IAE/D3X,GACDA,EAAM8V,aAAawE,aAAe,qBAAqBta,EAAM8V,aAAawE,YAAY3C;;;;wBAIjE3X,GAAUA,EAAM8V,aAAamC,gBAAgBJ;aACxD7X,GAAUA,EAAM8V,aAAaI,UAAU2B;MAC9C7X,GACDA,EAAM8V,aAAawE,aAAe,qBAAqBta,EAAM8V,aAAawE,YAAYzC;;;;;;MAMrF7X,IACD,IAAAuX,EAAA,eAAAA,EAAAvX,EAAM8V,aAAawE,kCAAakC,QAAS,qBAAqBxc,EAAM8V,aAAawE,YAAYkC,QAAQ;;;;;;;;;;;;;QAalGxc,UACD,iBAAAA,EAAM8V,aAAa2G,uCAAkBD,QACrC,qBAAqBxc,EAAM8V,aAAa2G,iBAAiBD,QAAQ;;;;;;;wBAOhDxc,GAAUA,EAAM8V,aAAamC,gBAAgBH;aACxD9X,GAAUA,EAAM8V,aAAaI,UAAU4B;MAC9C9X,UACD,iBAAAA,EAAM8V,aAAawE,kCAAaxC,SAChC,qBAAqB9X,EAAM8V,aAAawE,YAAYxC,SAAS;;;;;;;;;wBAS1C9X,GAAUA,EAAM8V,aAAamC,gBAAgBF;aACxD/X,GAAUA,EAAM8V,aAAaI,UAAU6B;;;;;;;;;;;;;;;;EElB/CU,GAAkB7C,GAAOgD,GAO7B;eACchd,GAAMA,EAAEyd,OAAO9iB;uBACPqF,GAAMA,EAAEmhB;;;;;;;;;WASpBnhB,GACK,aAAbA,EAAEohB,OACEphB,EAAEyd,OAAO1iB,QAAQC,QAAQ,KACzBgF,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;sBAIVgF,GACF,UAAbA,EAAEohB,OAA2BphB,EAAEyd,OAAO1iB,QAAQC,QAAQ,IACnD;;;IAINgF,GACY,YAAbA,EAAEohB,OAAuB,qBAAqBphB,EAAEyd,OAAO5iB,aAAe;;IAErEmF,GAAqB,eAAdA,EAAEqhB,QAA2BrhB,EAAEyd,OAAOhhB,UAAUC,QAAQJ,GAAK;IACpE0D,GACa,WAAdA,EAAEqhB,QACE,qBAAuBrhB,EAAEyd,OAAO1iB,QAAQC,QAAQ,KAChD;;;IAGHgF,GACoB,QAArBA,EAAEmhB,gBAAyC,aAAbnhB,EAAEohB,OAC5BxjB,EAAG;;gCAEqBoC,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;gCAGzBgF,EAAEyd,OAAO5iB;;UAGjC;;;;;;;wBAOiBmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECxMyD,IAAI0E,GAAxG,SAAWa,GAAG,OAAOA,GAAGA,EAAE+gB,YAAYpiB,OAAOe,UAAUC,eAAeC,KAAKI,EAAE,WAAWA,EAAEwb,QAAQxb,CAAC,CAAOA,CAAE,CAACgN,KAAK,YAAYgU,UAAU,EAAEC,WAAW,IAAIC,MAAM,QAAQC,QAAQ,GAAGC,kBAAkB,EAAEC,gBAAgBrhB,GAAG,CAAC,GAAGA,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIshB,OAAOthB,GAAGA,EAAE,GAAG,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,EAAE,QAAAuhB,CAASvhB,GAAG,GAAG,IAAIA,EAAE,OAAO,IAAIb,EAAEa,EAAE,EAAE,GAAI,EAAC2L,EAAE,GAAG,KAAK3L,EAAE,EAAEb,GAAGa,EAAEA,GAAGb,GAAGW,KAAKwhB,OAAOniB,IAAIwM,EAAEvI,KAAKjE,GAAGa,EAAE,EAAEb,IAAIA,IAAI,OAAOwM,CAAC,EAAE,YAAA6V,EAAcC,KAAKzhB,EAAE0hB,MAAMviB,EAAEwiB,IAAIhW,IAAI,IAAI5E,EAAEjH,KAAKuhB,gBAAgBvhB,KAAKwhB,OAAOthB,IAAI,IAAI,IAAIA,EAAE,EAAEA,EAAEb,EAAEyD,MAAM5C,IAAI2L,GAAG5E,EAAE/G,GAAG,OAAO2L,CAAC,EAAE,UAAAiW,CAAW5hB,GAAG,MAAMyhB,KAAKtiB,GAAGa,EAAE,OAAOF,KAAKmhB,YAAY9hB,EAAE,GAAGW,KAAK+hB,YAAY1iB,GAAGW,KAAK0hB,aAAaxhB,EAAE,EAAE6hB,YAAY7hB,KAAKA,EAAE,GAAG,EAAE,MAAMA,EAAE,GAAG,IAAI,KAAKA,EAAE,GAAG,IAAI,GAAG8hB,UAAU,CAAC9hB,EAAEb,OAAOa,EAAE,SAASb,EAAE,EAAE,GAAE,UAAqBA,ICA5oB,IAAIA,GAAxG,SAAWa,GAAG,OAAOA,GAAGA,EAAE+gB,YAAYpiB,OAAOe,UAAUC,eAAeC,KAAKI,EAAE,WAAWA,EAAEwb,QAAQxb,CAAC,CAAOA,CAAE,CAACgN,KAAK,SAASgU,UAAU,EAAEC,WAAW,IAAIC,MAAM,QAAQC,QAAQ,GAAGC,kBAAkB,EAAEC,gBAAgBrhB,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGA,EAAE,GAAG,IAAIshB,OAAOthB,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAImV,SAASnV,EAAE,IAAI,QAAAuhB,CAASvhB,GAAG,GAAG,IAAIA,EAAE,OAAO,IAAIb,EAAEa,EAAE,EAAE,GAAE,EAAG2L,EAAE,GAAG,KAAK3L,EAAE,EAAEb,GAAGa,EAAEA,GAAGb,GAAGW,KAAKwhB,OAAOniB,IAAIwM,EAAEvI,KAAKjE,GAAGa,EAAE,EAAEb,IAAIA,IAAI,OAAOwM,CAAC,EAAE,YAAA6V,EAAcC,KAAKzhB,EAAE0hB,MAAMviB,EAAEwiB,IAAIhW,IAAI,IAAI5E,EAAEjH,KAAKuhB,gBAAgBvhB,KAAKwhB,OAAOthB,IAAI,IAAI,IAAIA,EAAE,EAAEA,EAAEb,EAAEyD,MAAM5C,IAAI2L,GAAG5E,EAAE/G,GAAG,OAAO2L,CAAC,EAAE,UAAAiW,CAAW5hB,GAAG,MAAMyhB,KAAKtiB,GAAGa,EAAE,OAAOF,KAAKmhB,YAAY9hB,EAAE,GAAGW,KAAK+hB,YAAY1iB,GAAGW,KAAK0hB,aAAaxhB,EAAE,EAAE6hB,YAAY7hB,GAAG,GAAG,IAAIA,EAAE,GAAG,GAAG,EAAE8hB,UAAU,CAAC9hB,EAAEb,QAAQa,EAAE,IAAI,UAAUb,EAAE,EAAE,GAAE,UAAqBA,ICArvB,MAAM4iB,GAAe,CAC1B/U,KAAM,eACNgV,OAAQ,CACN,CAAC,QAAS,OACV,CAAC,SAAU,OACX,CAAC,OAAQ,MACT,CAAC,QAAS,OACV,CAAC,OAAQ,MACT,CAAC,QAAS,MACV,CAAC,QAAS,SACV,CAAC,QAAS,OACV,CAAC,SAAU,MACX,CAAC,SAAU,MACX,CAAC,SAAU,MACX,CAAC,SAAU,OAEbC,SAAU,CACR,CAAC,SAAU,MACX,CAAC,QAAS,MACV,CAAC,WAAY,MACb,CAAC,WAAY,MACb,CAAC,WAAY,MACb,CAAC,SAAU,MACX,CAAC,SAAU,OAEbC,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACtDC,UAAW,CACT,CAAC,YAAa,OACd,CAAC,YAAa,SAILC,GAAY,CACvBpV,KAAM,YACNgV,OAAQ,CACN,CAAC,OAAQ,QACT,CAAC,MAAO,OACR,CAAC,aAAc,cACf,CAAC,cAAe,eAChB,CAAC,cAAe,eAChB,CAAC,eAAgB,gBACjB,CAAC,MAAO,OACR,CAAC,QAAS,SACV,CAAC,QAAS,SACV,CAAC,OAAQ,QACT,CAAC,YAAa,aACd,CAAC,WAAY,aAEfC,SAAU,CACR,CAAC,SAAU,MACX,CAAC,QAAS,MACV,CAAC,WAAY,MACb,CAAC,WAAY,MACb,CAAC,WAAY,MACb,CAAC,SAAU,MACX,CAAC,SAAU,OAEbC,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACtDC,UAAW,CACT,CAAC,YAAa,OACd,CAAC,YAAa,SCvDL/I,GAAQ,CACnBE,OAAQ,CAAEpO,EAAG,IAAKyL,EAAG,GAAIlX,EAAG,EAAGyH,EAAG,GAAImb,QAAS,IAC/C9I,MAAO,CAAErO,EAAG,IAAKyL,EAAG,GAAIlX,EAAG,EAAGyH,EAAG,GAAImb,QAAS,KAuB1CC,GAAY5oB,EAAM2e,YACtB,CACE+C,EAcA9d,KAdA,IAAA+d,MACEA,EAAKjV,KACLA,EAAO,QAAOzI,MACdA,EAAK3C,MACLA,EAAK0L,OACLA,EAAM6b,YACNA,EAAc,QAAOC,gBACrBA,EAAeC,OACfA,EAAMC,YACNA,EAAc,QAAOC,gBACrBA,EAAeC,KACfA,GAEDxH,EADIvX,EAAK9D,EAAAqb,EAZV,2HAgBA,MAAMvhB,EAAQuE,IAERyd,EAAiCzV,QAAAA,EAAQ,QAG/C,IAAI2T,EAAYlgB,EAAMS,UAClBuoB,EAAuBhpB,EAAMW,QAAQC,QAAQ,KAC7Cuf,EAAS,aACXhf,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDokB,EAAgB,aAClB7jB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDmkB,EAAgB,aAClB5jB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDqhB,EAAkB,OAClBgH,EAAiB9nB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMS,UAC1DqkB,EAAc9kB,EAAMqC,UAAUC,QAAQJ,GACtCgnB,EACc,UAAhBR,EAA0B1oB,EAAMW,QAAQC,QAAQ,KAAO,cACrDuoB,EAAgBnpB,EAAMW,QAAQC,QAAQ,KACtCwoB,EAAiBppB,EAAMW,QAAQC,QAAQ,KACvCyoB,EACc,UAAhBR,EAA0B7oB,EAAMW,QAAQC,QAAQ,KAAO,cACrD0oB,EAAgBtpB,EAAMW,QAAQC,QAAQ,KACtC2oB,EAAiBvpB,EAAMW,QAAQC,QAAQ,KAoB3C,MAlBc,kBAAVkD,IACFme,EAAkBjiB,EAAMW,QAAQC,QAAQ,IACnCO,IACHgf,EAAS,wBACT6E,EAAgB,aAAahlB,EAAMW,QAAQC,QAAQ,OACnDmkB,EAAgB,aAAa/kB,EAAMW,QAAQC,QAAQ,SAGzC,iBAAVkD,IACFme,EAAkBjiB,EAAMW,QAAQC,QAAQ,MAGtCoJ,EAAM+X,WACR7B,EAAYlgB,EAAMW,QAAQC,QAAQ,KAClCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,OAC5CokB,EAAgB,aAAahlB,EAAMW,QAAQC,QAAQ,QAInD2hB,OAACiH,GACS,CAAAnG,OAAArjB,EACRoe,UAAWxb,EAAa,wBAAyBoH,EAAMoU,WACzC0B,aAAA,CACZoJ,WACAC,gBACAC,iBACAC,WACAC,gBACAC,iBACAhd,OACAkd,YAAaV,EAAO,OAAS,OAG/B9oB,SAAA,CAAAC,MAAA,QAAA,CACE4D,MAAO,CAAE4lB,aAAc,EAAGC,UAAW,SACrChH,QAAS3Y,EAAMuS,GAAEtc,SAEhBuhB,IAEF3U,GACC3M,EAAAA,WAAKke,UAAU,SAAS6E,QAAS,IAAM0F,aAAA,EAAAA,IACpC1oB,SAAA4M,IAGJ+b,GACC1oB,EAAAC,IAAA,MAAA,CAAKie,UAAU,SAAS6E,QAAS,IAAM6F,eAAAA,aACpCF,IAGLrG,EAAAA,KAAK,MAAA,CAAAze,MAAO,CAAE8lB,QAAS,OAAQC,WAAY,UACxC5pB,SAAA,CAAA8oB,GAAQ7oB,MAAK,MAAA,CAAAke,UAAU,OAAMne,SAAE8oB,IAChC7oB,EAACC,IAAAsiB,GACe3d,OAAAC,OAAA,CAAA+a,aAAA,CACZvf,UAAWP,EAAMO,UACjBkkB,SAAUlF,GAAMyC,GAAY3Q,EAC5BqP,OAAQnB,GAAMyC,GAAYlF,EAC1BmD,QAASV,GAAMyC,GAAYpc,EAC3BnE,SAAU8d,GAAMyC,GAAY3U,EAC5B2b,uBACA9I,YACAC,SACA6E,gBACAD,gBACA9C,kBACA6C,gBAEE9a,GACJvG,IAAKA,EACL2a,UAAU,oCAGdle,MAAC+kB,GACW,CAAAE,SAAA8D,EACV7K,UAAU,0BAEQ,IAKtBoL,GAAsB5J,GAAOgD,GAYjC;;eAEchd,GAAMA,EAAEyd,OAAO9iB;;;WAGnBqF,GAAMA,EAAEyd,OAAO5iB;;;;;;;;;;aAUbmF,GAA+B,UAAxBA,EAAEka,aAAavT,KAAmB,OAAS;cACjD3G,GAA+B,UAAxBA,EAAEka,aAAavT,KAAmB,OAAS;;;;;;aAMnD3G,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;wBAMpBgF,GAAMA,EAAEka,aAAaoJ;;;0BAGnBtjB,GAAMA,EAAEka,aAAaqJ;;;0BAGrBvjB,GAAMA,EAAEka,aAAasJ;;;;;wBAKvBxjB,GAAMA,EAAEka,aAAauJ;;;0BAGnBzjB,GAAMA,EAAEka,aAAawJ;;;0BAGrB1jB,GAAMA,EAAEka,aAAayJ;;;;;;;;;;;;;;kBAc7B3jB,GAAMA,EAAEka,aAAa2J;;;;;;;;iCAQN7jB,GAAMA,EAAEka,aAAa2J;;;;;;UAM5C7jB,GAA+B,UAAxBA,EAAEka,aAAavT,KAAmB,OAAS;YAChD3G,GAAMA,EAAEka,aAAa2J;;;;4BAIL7jB,GACG,UAAxBA,EAAEka,aAAavT,KAAmB,OAAS;;;;;;;UAOxC3G,GAA+B,UAAxBA,EAAEka,aAAavT,KAAmB,OAAS;;;;;;;;;;;;;;;;;;;;EAsBvDkW,GAAkB7C,GAAOkK,KAe7B;;eAEc9f,GAAUA,EAAM8V,aAAavf;;;YAGhCyJ,GAAUA,EAAM8V,aAAaY;eAC1B1W,GAAUA,EAAM8V,aAAaG;eAC7BjW,GAAUA,EAAM8V,aAAare;WACjCuI,GAAUA,EAAM8V,aAAaI;YAC5BlW,GAAUA,EAAM8V,aAAaK;sBACnBnW,GAAUA,EAAM8V,aAAamC;;;;;aAKtCjY,GAAUA,EAAM8V,aAAakJ;;;;MAIpChf,GAAUA,EAAM8V,aAAagF;cACrB9a,GAAUA,EAAM8V,aAAaiF;;;;cAI7B/a,GAAUA,EAAM8V,aAAakF;;;;;EAOtCC,GAAsBrF,GAAOsF,IAA0B;;gBAE5Clb,GAAUA,EAAMmb;;;;;;;ECrT3B4E,GAAiCxI,IAAA,IAAAthB,SACrCA,EAAQ+pB,UACRA,EAASjI,SACTA,EAAQkI,uBACRA,EAAsBC,OACtBA,EAAMC,QACNA,EAAOC,wBACPA,GAAuB7I,EACpBvX,EAAK9D,EAAAqb,EAR6B,2GAUrC,MAAMvhB,EAAQuE,KACP8lB,EAAMC,GAAWzqB,EAAM0qB,UAAS,IAChCC,EAAqBC,GAA0B5qB,EAAM0qB,SAAS,KAC9DG,EAAeC,GAAoB9qB,EAAM0qB,SAAS,CACvDK,IAAK,EACLC,KAAM,IAEFC,EAAejrB,EAAMqS,OAAuB,MAC5CzO,EAAM5D,EAAMqS,OAAuB,MACnC6Y,EAAelrB,EAAMqS,OAAuB,MAE5C6T,EAAa,KACjB,MAAMiF,EAAK5nB,KAAK6nB,IAAItnB,SAASunB,gBAAgBC,aAAc/Z,OAAOga,aAElE,GAAI3nB,EAAI6e,SAAWyI,EAAazI,QAAS,CACvC,MAAM+I,EAAO5nB,EAAI6e,QAAQgJ,wBAGzB,IAAIC,EAAS,CACXX,IAAKS,EAAKG,OACVX,KAA0B,QAApB7qB,EAAMO,UAAsB8qB,EAAKR,KAAOQ,EAAKI,MAAQV,EAAazI,QAAQoJ,aAI1D,QAApB1rB,EAAMO,UACJgrB,EAAOV,KAAOE,EAAazI,QAAQoJ,YAActa,OAAOua,aAC1DJ,EAAOV,KAAOzZ,OAAOua,WAAaZ,EAAazI,QAAQoJ,aAGrDH,EAAOV,MAAQQ,EAAKI,MAAQV,EAAazI,QAAQoJ,YAAc,IACjEH,EAAOV,KAAO,GAIdT,IACFmB,EAAS,CACPX,IAAKW,EAAOX,IACZC,KAA0B,QAApB7qB,EAAMO,UAAsB8qB,EAAKI,MAAQV,EAAazI,QAAQoJ,YAAcL,EAAKR,MAGrFU,EAAOV,KAAO,IAChBU,EAAOV,KAAO,GAEZQ,EAAKR,KAAOE,EAAazI,QAAQoJ,YAAcC,aACjDJ,EAAOV,KAAOc,WAAaZ,EAAazI,QAAQoJ,cAKhDL,EAAKG,OAAST,EAAazI,QAAQ6I,aAAeH,IACpDO,EAAOX,IAAMS,EAAKT,IAAMG,EAAazI,QAAQ6I,cAG3CI,EAAOX,IAAM,IACfW,EAAOX,IAAM,GAEXW,EAAOX,IAAMI,IACfO,EAAOX,IAAMG,EAAazI,QAAQ6I,cAGpCR,EAAiBY,KAuDrB,OAvCA1rB,EAAMwiB,WAAU,KACd,GAAI5e,EAAI6e,QAAS,CACf,MAAMsJ,EAAgB,KACpB7F,GAAY,EAGR8F,EAAgB1lB,WAEK,QAApBob,EAAAuJ,EAAaxI,eAAO,IAAAf,OAAA,EAAAA,EAAEuK,SAAS3lB,EAAEvB,WACpCulB,SAAAA,EAAUhkB,GACVmkB,GAAQ,KAOZ,OAHAlZ,OAAO2a,iBAAiB,SAAUH,GAClCxa,OAAO2a,iBAAiB,QAASF,GAE1B,KACLza,OAAO4a,oBAAoB,SAAUJ,GACrCxa,OAAO4a,oBAAoB,QAASH,EAAoB,KAG3D,CAACpoB,EAAK2mB,IAETvqB,EAAMwiB,WAAU,KACd,MAAM4J,EAAOtoB,SAASE,qBAAqB,QACvCooB,GAAQA,EAAK,KAEbA,EAAK,GAAGnoB,MAAMooB,SADZ7B,EACuB,SAEAG,KAG5B,CAACH,IAEJxqB,EAAMwiB,WAAU,eACdoI,EAA0E,QAAnD0B,EAA0C,QAA1CjI,EAAqC,UAArCvgB,SAASE,qBAAqB,eAAO,IAAA0d,OAAA,EAAAA,EAAG,UAAE,IAAA2C,OAAA,EAAAA,EAAEpgB,aAAO,IAAAqoB,OAAA,EAAAA,EAAAD,SAAS,GAClF,IAGD3J,OAACE,GACS3d,OAAAC,OAAA,CAAAse,OAAArjB,GACJgK,EAAK,CACToU,UAAWxb,EAAa,mBAAoBoH,EAAMoU,WAClD3a,IAAKqnB,EAAY7qB,SAAA,CAEjBC,EAAAA,IAAK,MAAA,CAAAuD,IAAKA,EAAKwf,QAAU9c,GA1DZ,CAACA,IACZkkB,GACFC,GAAQ,GACRH,SAAAA,EAAUhkB,KAEV4f,IACAuE,GAAQ,GACRJ,SAAAA,EAAS/jB,KAmDsCimB,CAASjmB,GAAIiY,UAAU,eACnEne,SAAAA,IAEHC,EAAAC,IAAA,MAAA,CACEsD,IAAKsnB,EACL3M,UAAW,8CAAgDiM,EAAO,gBAAkB,IACpFvmB,MAAO4mB,EACPzH,QAAU9c,IACH8jB,IACHK,GAAQ,GACRH,SAAAA,EAAUhkB,KAIblG,SAAA+pB,OAEa,EAIhBvH,GAAkB7C,GAAOgD,GAE7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;;;;;;;wBAeNqF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;MAEjDgF,GAAMA,EAAEyd,OAAOhhB,UAAUC,QAAQ;;;;;;;;;;;;;;;;;;EC3LxC,IAAIgd,GAAM,6fCANA,GAAM,ygBC6BV,MAmMMmD,GAAkB7C,GAAOgD,GAAsB;;;;;;;;;;;;;;;;;;;;;;8BAsBtBhd,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;8BAG/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;gCAS9ByrB;;;;;;;gCAOAC;;;;;;;;;;;;;;;;;;;;;;aAsBlB1mB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;eAe7BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;0BAIpBgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;eAC1CgF,GAAMA,EAAEyd,OAAO5iB;;;0BAGJmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;0BAI/BgF,GAAMA,EAAEyd,OAAO5iB;;;;;;4BAMbmF,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;8BAK7B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;8BAM/B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;;;;;;;;;;iBAkB5C2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;0BAOtB2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;eAC1C2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;4BAIlB2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;iBAC1C2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;4BAGpB2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;iBAC1C2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;;aAUnC2E,GAAMA,EAAEyd,OAAO5iB;;;;;;;;0BAQFmF,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;;;;;;4BAc7B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;4BAQ/B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;;;;;;;4BAe/B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;4BAS/B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BrD2E,GAAMA,EAAEyd,OAAOhhB,UAAUC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;kCAwBNgqB;;;;kCAIAD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiElC,MAAME,GAAgBC,GACpBA,eAAAA,EAAMrpB,WAAWspB,SAAS,EAAG,KAEzBC,GAAcC,GACX,GAAGJ,GAAaI,EAAK7E,QAAQyE,GAAaI,EAAK9E,MAAM+E,WAC1DD,EAAK/E,OC3iBHrH,GAAO,IAETgC,EAAAA,KACE,MAAA,CAAAnE,UAAU,eACVqC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,MAAM,6BAEN5gB,SAAA,CAAAC,MAAA,OAAA,CACE6gB,SAAS,UACTC,SAAS,UACTje,EAAE,mgEACF6d,KAAK,YAEP1gB,EAAAA,IAAA,OAAA,CACE6C,EAAE,qjCACF6d,KAAK,eCJb,MAAMiM,GAA4B,EAChCC,SACAC,WACAC,aACAC,WACAjtB,WAGEuiB,EAACC,KAAAC,GACC,CAAArE,UAAW,yBAAsC,UAAX0O,EAAqB,QAAU,IAAGzJ,OAChErjB,EAAKC,SAAA,CAEbsiB,EAAKC,KAAA,MAAA,CAAApE,UAAU,kCACbmE,EAAKC,KAAA,MAAA,CAAApE,UAAW,yBACbne,SAAA,CAAW,YAAX6sB,GACC5sB,EAAAA,IAAM,OAAA,CAAAke,UAAU,oCAEN,YAAX0O,GACC5sB,MAAA,MAAA,CAAKke,UAAU,qBAAqB8O,IClCtC,4+BDoCY,UAAXJ,GACC5sB,EAAAA,IAAK,MAAA,CAAAke,UAAU,qBAAqB8O,IErCtC,umCFuCCH,KAGH7sB,MAAA,MAAA,CACEgtB,IAAKC,GACL/O,UAAU,0BACV6E,QAAS,IAAMgK,SAGP,UAAXH,GAAsBE,GACrB9sB,MAAK,MAAA,CAAAke,UAAU,6BAA8Bne,SAAA+sB,OAM/CvK,GAAkB7C,GAAOgD,GAAsB;eACrC5Y,GAAUA,EAAMqZ,OAAO9iB;;;;sBAIhBqF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;sBAG/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;0BAW3BgF,GAAMA,EAAEyd,OAAO5iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAkCjBmF,GAAMA,EAAEyd,OAAO1iB,QAAQQ,MAAM;;;;;;8BAMvByE,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;EGMxD6hB,GAAkB7C,GAAOgD,GAAsB;eACrC5Y,GAAUA,EAAMqZ,OAAO9iB;;;;;;;;sBAQhBqF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;aA2BxCgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;wBAKpBoJ,GAAUA,EAAMqZ,OAAO1iB,QAAQW,QAAQ;;aAElDsE,GAAMA,EAAEyd,OAAO1iB,QAAQW,QAAQ;;;cAG9BsE,GAAMA,EAAEyd,OAAO1iB,QAAQW,QAAQ;;;;;;aAMhCsE,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;cAE9BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;EC9K9C,IAAI0e,GAAM,ybCQH,MAAMC,GAAQ,CACnBE,OAAQ,CAAEpO,EAAG,IAAKyL,EAAG,GAAIlX,EAAG,GAAIyH,EAAG,IACnCqS,MAAO,CAAErO,EAAG,IAAKyL,EAAG,GAAIlX,EAAG,GAAIyH,EAAG,KAkU9BoV,GAAkB7C,GAAOgD,GAAsB;eACrChd,GAAMA,EAAEyd,OAAO9iB;;;WAGnBqF,GAAMA,EAAEyd,OAAO5iB;;;;;;;;;;;eAWXmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;wBAetBgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;MAIjDgF,GAAMA,EAAEyd,OAAOhhB,UAAUC,QAAQN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyClC2iB,GAAY/E,GAAOgD,GAgBvB;;;eAGc5Y,GAAUA,EAAM8V,aAAavf;;;YAGhCyJ,GAAUA,EAAM8V,aAAaY;eAC1B1W,GAAUA,EAAM8V,aAAare;WACjCuI,GAAUA,EAAM8V,aAAaI;YAC5BlW,GAAUA,EAAM8V,aAAaK;sBACnBnW,GAAUA,EAAM8V,aAAamC;eACpCjY,GAAUA,EAAM8V,aAAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA4BzBjW,GAAUA,EAAM8V,aAAaY;;;;;;;;aAQnC9a,GAAMA,EAAEka,aAAa9f,MAAMW,QAAQC,QAAQ;;;;;mBAKtCikB;;;;;;;;;;;MAWZ7a,GAAUA,EAAM8V,aAAagF;cACrB9a,GAAUA,EAAM8V,aAAaiF;;;;cAI7B/a,GAAUA,EAAM8V,aAAakF;;;;;qBAKvBoI;;;;;;qBAMAA;;;EAKfnI,GAAsBrF,GAAOsF,IAA0B;;gBAE5Clb,GAAUA,EAAMmb;;;;;;;;;;;;ECha3B1C,GAAkB7C,GAAOgD,GAAsB;eACrC5Y,GAAUA,EAAMqZ,OAAO9iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA4BzBqF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;ECxHvCysB,GAAiB,CAACC,EAAkB,IAAKC,EAAkB,QAC/D,MAAO9oB,EAAQ+oB,GAAa3tB,EAAM0qB,SAAS,CACzCkD,UAAU,EACVC,UAAU,EACVC,WAAW,IAkBb,OAfA9tB,EAAMwiB,WAAU,KACd,MAAMuJ,EAAgB,IACpB4B,EAAU,CACRC,SAAUrc,OAAOua,YAAc2B,EAC/BI,SACEtc,OAAOua,WAAa2B,GACpBlc,OAAOua,YAAc4B,EACvBI,UAAWvc,OAAOua,WAAa4B,IAKnC,OAHA3B,IAEAxa,OAAO2a,iBAAiB,SAAUH,GAC3B,IAAMxa,OAAO4a,oBAAoB,SAAUJ,EAAc,GAC/D,IAEInnB,CAAM,ECqDTmpB,GAA2BhO,GAAOgD,GAItC;eACchd,GAAMA,EAAEyd,OAAO9iB;;;SAGrBqF,GAAMA,EAAEioB,iBAAkBjoB,GAAMA,EAAEkoB;EAGtCC,GAAsBnO,GAAOgD,GAIjC;eACchd,GAAMA,EAAEyd,OAAO9iB;sBACRqF,GAAMA,EAAEooB;EAMzBC,GAA2B,CAC/BhuB,EACAiuB,EACAC,IAEoBtuB,EAAMuuB,SAASxgB,IAAI3N,GAAWouB,GAC5CxuB,EAAMyuB,eAAeD,GACnBA,EAAMrqB,OAASnE,EAAM0uB,SAChBN,GACLI,EAAMrkB,MAAM/J,SACZiuB,EACAC,GAGKtuB,EAAM2uB,aAAaH,EAAO,CAAEH,gBAAeC,eAI/CE,ICxGX,MC+CM5L,GAAkB7C,GAAOgD,GAI7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;sBAKT,EAAGkuB,UAASC,gBAAkBA,EAAaD,EAAQtK,GAAK;;;MAGxE,EAAGsK,UAASC,aAAYrL,YAAcqL,EAAaD,EAAQtO,OAASkD,EAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;wBAaxEgF,GAAMA,EAAE6oB,QAAQE;;;;;;4BAMZ/oB,GAAMA,EAAE6oB,QAAQ1F;;;;;;;;;;;;;;eAc9B,EAAG0F,UAASC,aAAYrL,YAC/BqL,EAAaD,EAAQG,KAAOvL,EAAO1iB,QAAQC,QAAQ;;;;eAI3CgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;4BAcnBgkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC/GfrF,GAAQ,CACnBE,OAAQ,CAAEpS,EAAG,GAAIwhB,GAAI,IACrBrP,MAAO,CAAEnS,EAAG,GAAIwhB,GAAI,KAiChBpM,GAAkB7C,GAAO1S,CAQ7B;eACctH,GAAMA,EAAEkpB;iBACNlpB,GAAMA,EAAEmpB;WACdnpB,GAAOA,EAAEihB,UAAYjhB,EAAEopB,OAAOjN,SAAWnc,EAAEopB,OAAOrN;qBACxC/b,GAAOA,EAAEqpB,QAAU,YAAc;;;YAG1CrpB,GAAOA,EAAEihB,UAAY,UAAY;IACzCjhB,GAAOA,EAAEihB,UAAY,wBAA0B;;;;;aAKtCjhB,GAAOA,EAAEihB,UAAYjhB,EAAEopB,OAAOjN,SAAWnc,EAAEopB,OAAOE;;;aAGlDtpB,GAAOA,EAAEihB,UAAYjhB,EAAEopB,OAAOjN,SAAWnc,EAAEopB,OAAOrN;;QAEvD/b,GAAOA,EAAEihB,UAAY,cAAgBjhB,EAAEyd,OAAO5iB;;;aAGzCmF,GAAOA,EAAEihB,UAAYjhB,EAAEopB,OAAOjN,SAAWnc,EAAEopB,OAAOlN;;;aAGlDlc,GAAOA,EAAEihB,UAAYjhB,EAAEopB,OAAOjN,SAAWnc,EAAEopB,OAAOnN;;ECtC1DsN,GAAoBvP,GAAOwP,EAM/B;IACGxpB,GAAMypB,GAAOzpB;EAGZ0pB,GAAoB1P,GAAO2P,EAO/B;IACG3pB,GAAMypB,GAAOzpB;EAKZypB,GAAUzpB,GAQPpC,EAAG;iBACKoC,EAAEyd,OAAO9iB;aACbqF,EAAE6oB,QAAQjC;;4BAEkB,IAAb5mB,EAAE4pB,OAAe,EAAI;;MAE3C5pB,EAAE6pB,eAAiB,oBAAsB7pB,EAAE6pB,eAAiB;;MAEvC,YAArB7pB,EAAE6pB,gBAA6C,IAAb7pB,EAAE4pB,QAAgB5pB,EAAE8pB,IACpDlsB,EAAG;;;;;;;;;;;;;;;;;;;;;;;UAwBH;;MAEmB,cAArBoC,EAAE6pB,gBAAkC7pB,EAAE+pB,SACpCnsB,EAAG;;;;;;;6BAOkBoC,EAAE+pB;;;;;;;;;;;UAYvB;IAIFC,GAAmB,CACvB5rB,EACA6rB,KAEA,MAAMC,GAASD,EAEf,OAAQ7rB,GACN,IAAK,eACH,OAAc,IAAV8rB,EACK,UAGA,GAIX,IAAK,iBACH,OAAc,IAAVA,EACK,QAEK,IAAVA,EACK,OAEF,GAET,QACE,MAAO,cChJAvQ,GAA+D,CAC1E6F,QAAS,CAAEC,GAAI,GAAIlY,EAAG,GACtB8T,OAAQ,CAAEoE,GAAI,GAAIlY,EAAG,GACrBqS,MAAO,CAAE6F,GAAI,GAAIlY,EAAG,GACpBsS,OAAQ,CAAE4F,GAAI,GAAIlY,EAAG,GACrBuS,MAAO,CAAE2F,GAAI,GAAIlY,EAAG,GACpBoY,OAAQ,CAAEF,GAAI,GAAIlY,EAAG,GACrBqY,QAAS,CAAEH,GAAI,GAAIlY,EAAG,IAsClBsV,GAAkB7C,GAAOgD,GAO7B;WACUhd,GAAMA,EAAEka,aAAavT,KAAK8Y;YACzBzf,GAAMA,EAAEka,aAAavT,KAAK8Y;YAC1Bzf,GAAMA,EAAEka,aAAavT,KAAKY;MAChCvH,GACY,aAAbA,EAAEopB,OAAwB7I,GAAiBvgB,EAAEyd,OAAO1iB,QAAQC,QAAQ;yBAChDgF,GAAMA,EAAEka,aAAasD;;;;;;;;;;;;;;EC9DzC2M,GAAyCxO,IAAA,IAAAwH,KAC7CA,EAAIlF,UACJA,EAAS5jB,SACTA,EAAQ8hB,SACRA,GAAQR,EACLvX,EAL0C9D,EAAAqb,EAAA,CAAA,OAAA,YAAA,WAAA,aAO7C,MAAMvhB,EAAQuE,IAEd,OACEge,EAAAC,KAACC,GAAe3d,OAAAC,OAAA,CAAAse,OACNrjB,GACJgK,EACJ,CAAAoU,UAAWxb,EACT,wBAA0Bmf,EAAW,YAAc,IACnD/X,EAAMoU,WAER4R,SAAU,EAAC/vB,SAAA,CAEXsiB,EAAKC,KAAA,MAAA,CAAApE,UAAU,cACZne,SAAA,CAAA8oB,GAAQ7oB,EAAKC,IAAA,MAAA,CAAAie,UAAU,OAAQne,SAAA8oB,IAChC7oB,EAAAA,WAAKke,UAAU,UAASne,SAAEA,OAE3B4jB,GAAa3jB,EAAAC,IAAA,MAAA,CAAKie,UAAU,YAAane,SAAA4jB,OAC1B,EAIhBpB,GAAkB7C,GAAOgD,GAE7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;;;;;;;;;;;;;eAqBfqF,GAAMA,EAAEyd,OAAO5iB;;;;;;;;;;kBAUZmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;kBAG/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;wBAGzBgF,GAAMA,EAAEyd,OAAO5iB;;;;;;;iBAOtBmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;ECxD3C6hB,GAAkB7C,GAAOgD,GAE7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;;;;aAYjBqF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;ECkCvC6hB,GAAkB7C,GAAOgD,GAI7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BgBhd,GAAMA,EAAEyd,OAAO9iB;aACnBqF,GAAmB,SAAZA,EAAE6f,MAAmB7f,EAAE6f,MAAQ7f,EAAE6f,MAAQ;;;;MAIvD7f,GAAMA,EAAEyd,OAAOhhB,UAAUC,QAAQ;;;;;;;;8BAQVsiB;;;;;;;;;;;;;qBAaRhf,GAAMA,EAAEqqB;;;;;;;;;;;iBAWb,EAAG5M,YAAaA,EAAO1iB,QAAQC,QAAQ;;;;;;;;eAQxCgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;qBAGzBgF,GAAMA,EAAEqqB;oBACTrqB,GAAMA,EAAEqqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDvBC,GAAWtQ,GAAOgD,GAAG;;;;;EC3M3B,MCuDMH,GAAkB7C,GAAOgD,GAG7B;cACahd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;4BAQDqF,GAAMA,EAAE6oB,QAAQtO;qBACvBva,GAAMA,EAAE6oB,QAAQtK;;;;;;;2BAOVve,GAAMA,EAAE6oB,QAAQ1F;;;;;;;;YAQ/BnjB,GAAMA,EAAE6oB,QAAQjC;;;;;;;;;;;;;;;;;;;;0BAoBH5H;;;;;;;;EChHbrF,GAAQ,CACnBC,MAAO,CAAEnO,EAAG,GAAIyL,EAAG,GAAIlX,EAAG,YAC1B6Z,OAAQ,CAAEpO,EAAG,GAAIyL,EAAG,GAAIlX,EAAG,aAC3B8Z,MAAO,CAAErO,EAAG,GAAIyL,EAAG,GAAIlX,EAAG,SAWtBuqB,GAA+B5O,IAAA,IAAAthB,SACnCA,EAAQsM,KACRA,EAAIwW,SACJA,EAAQqN,SACRA,GAAQ7O,EACLvX,EALgC9D,EAAAqb,EAAA,CAAA,WAAA,OAAA,WAAA,aAOnC,MAAMvhB,EAAQuE,IAERyd,EAAmBzV,QAAAA,EAAQ,QAEjC,OACErM,EAAAA,IAACuiB,oBACKzY,EAAK,CACToU,UAAWxb,EAAa,kBAAmBoH,EAAMoU,WAAUiF,OACnDrjB,EACM8f,aAAA,CACZzO,EAAGkO,GAAMyC,GAAY3Q,EACrByL,EAAGyC,GAAMyC,GAAYlF,EACrBlX,EAAG2Z,GAAMyC,GAAYpc,GACtBsd,UACUH,EACAsN,UAAAD,WAEVnwB,IACe,EAIhBwiB,GAAkB7C,GAAOC,MAS7B;eACcja,GAAMA,EAAEyd,OAAO9iB;eACfqF,GAAMA,EAAEka,aAAazO;YACxBzL,GAAMA,EAAEka,aAAahD;;;;iBAIhBlX,GAAOA,EAAEsd,UAAY,IAAM;WACjCtd,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;aAC7BgF,GAAMA,EAAEka,aAAala;;;;;;;;;;;;;;;eAenBA,GAAOA,EAAEsd,UAAY,EAAI;cAC1Btd,GAAOA,EAAEyqB,UAAY,MAAQ;aAC9BzqB,GAAOA,EAAEyqB,UAAY,MAAQ;;cAE5BzqB,GAAOA,EAAEyqB,UAAY,OAAS;0BAClBzqB,GAAOA,EAAEyqB,UAAY,MAAQ;;;kBAGrCzqB,GACbA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KAAO2E,EAAEyd,OAAO5iB;;;;;;;;;;;;;;;;wBAgBpCmF,GAAMA,EAAEyd,OAAO5iB;;iBAEtBmF,GAAOA,EAAEsd,UAAY,EAAI;;;;aAI7Btd,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;iBAI3BgF,GAAOA,EAAEsd,UAAY,EAAI;oBACtBtd,GAAOA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQC,QAAQ,KAAO;;;;;;EC0FpE6hB,GAAkB7C,GAAOgD,GAE7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;;;;;;;;;;ECvM/B,MAAM+vB,GAAkC,EAAGxD,SAAQyD,MAAKtwB,eACtD,MAAMD,EAAQuE,IAEd,OAAIgsB,EAEArwB,EAAAC,IAACqwB,GAAS,CAAAnN,OACArjB,EAAKywB,QACJ3D,EACT1O,UAAU,0BAMdle,EAAAA,IAACuiB,GAAe,CAAAY,OACNrjB,EACCywB,QAAA3D,EACT1O,UAAU,2BAEVne,SAAAC,EAAAC,IAAA,OAAA,CAAMie,UAAU,mBAAWne,KACX,EAyHhBwiB,GAAkB7C,GAAOC,MAG7B;;;;;;;;;;;;;;IAcGja,GAtIgB,EACnB5F,EACA8sB,KAEA,OAAQA,GACN,IAAK,YACH,OAAOtpB,EAAG;;4BAEYxD,EAAMW,QAAQM,QAAQ;gCC3CxC;;;;;8BDiDoBjB,EAAMW,QAAQM,QAAQ;;;;;;;;;;gCAUpBjB,EAAMS;;;;;;;;QAUlC,IAAK,SACH,OAAO+C,EAAG;4BACYxD,EAAMW,QAAQM,QAAQ;;;;0BAIxBjB,EAAMW,QAAQM,QAAQ;;;;;;;;gCAQhBjB,EAAMS;;;;;QAOlC,IAAK,WACH,OAAO+C,EAAG;4BACYxD,EAAMW,QAAQC,QAAQ;;iBAEjCZ,EAAMW,QAAQC,QAAQ;;;0BAGbZ,EAAMW,QAAQC,QAAQ;mBAC7BZ,EAAMW,QAAQC,QAAQ;;QAIrC,QACE,MAAO,KAkEF8vB,CAAa9qB,EAAEyd,OAAQzd,EAAE6qB;EAG9BD,GAAY5Q,GAAOgD,GAGvB;;;;;;;;;;IAUGhd,GA7Ea,EAChB5F,EACA8sB,KAEA,OAAQA,GACN,IAAK,YACH,OAAOtpB,EAAG;4BACYxD,EAAMW,QAAQM,QAAQ;;;8BAGpBjB,EAAMW,QAAQM,QAAQ;;QAIhD,IAAK,SACH,OAAOuC,EAAG;;4BAEYxD,EAAMW,QAAQM,QAAQ;;;0BAGxBjB,EAAMW,QAAQM,QAAQ;;;;;QAO5C,IAAK,WACH,OAAOuC,EAAG;;4BAEYxD,EAAMW,QAAQC,QAAQ;;0BAExBZ,EAAMW,QAAQC,QAAQ;;;;QAM5C,QACE,MAAO,KAsCF+vB,CAAU/qB,EAAEyd,OAAQzd,EAAE6qB;EEvH3BG,GAAa,CACjB5wB,EACA8sB,KAEA,OAAQA,GACN,IAAK,YACH,MAAO,CACL3I,GAAInkB,EAAMW,QAAQM,QAAQ,KAC1B4vB,QAAS7wB,EAAMW,QAAQM,QAAQ,MAGnC,IAAK,SACH,MAAO,CACLkjB,GAAInkB,EAAMW,QAAQC,QAAQ,KAC1BiwB,QAAS7wB,EAAMW,QAAQC,QAAQ,MAGnC,IAAK,WACH,MAAO,CACLujB,GAAInkB,EAAMW,QAAQC,QAAQ,KAC1BiwB,QAAS7wB,EAAMW,QAAQC,QAAQ,QAMjC6hB,GAAkB7C,GAAOgD,GAI7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;oBAEVqF,GAAwB,eAAjBA,EAAEkrB,WAA8B,MAAQ;;;;;;;;;eASpDlrB,GAAwB,eAAjBA,EAAEkrB,WAA8B,QAAU;;;oBAG5ClrB,GAAwB,eAAjBA,EAAEkrB,WAA8B,MAAQ;6BACtClrB,GACL,eAAjBA,EAAEkrB,WAA8B,IAAM;;;;;;;;;;;;;;;aAehClrB,GAAOA,EAAEmrB,KAAO,MAAQ;4BACTnrB,GAAOA,EAAEmrB,KAAO,MAAQ;eACrCnrB,GAAwB,eAAjBA,EAAEkrB,WAA8B,OAAS;gBAC/ClrB,GAAwB,eAAjBA,EAAEkrB,WAA8B,MAAQ;;;;;;8BAMjClrB,GAAMgrB,GAAWhrB,EAAEyd,OAAQ,aAAawN;;;;4BAI1CjrB,GAAMgrB,GAAWhrB,EAAEyd,OAAQ,aAAac;;;;;0BAK1Cve,GAAMgrB,GAAWhrB,EAAEyd,OAAQ,UAAUc;;;;;;8BAMjCve,GAAMgrB,GAAWhrB,EAAEyd,OAAQ,YAAYwN;;;;4BAIzCjrB,GAAMgrB,GAAWhrB,EAAEyd,OAAQ,YAAYc;;;;;;;;ECzE9D1B,GAAkB7C,GAAOgD,GAY7B;eACc5Y,GAAUA,EAAM8V,aAAa9f,MAAMO;WACvCyJ,GAAUA,EAAM8V,aAAaI;;;;;;;;;;;;;eAazBlW,GAAUA,EAAM8V,aAAa9f,MAAMW,QAAQC,QAAQ;;;;eAInDoJ,GAAUA,EAAM8V,aAAa9f,MAAMW,QAAQQ,MAAM;;;;;;2BAMtC0hB;;;;;;;;;;;;;;;;;;;;wBAoBF7Y,GAAUA,EAAM8V,aAAaqC;;;;8BAIvBnY,GAAUA,EAAM8V,aAAaqC;;;;;;;;wBAQnCnY,GAAUA,EAAM8V,aAAaqC;;;;;gCAKrBnY,GAAUA,EAAM8V,aAAaqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAuEjCnY,GAAUA,EAAM8V,aAAamC;;;;;;;;sBAQnCjY,GAAUA,EAAM8V,aAAamC;;wBAE3BjY,GAAUA,EAAM8V,aAAaoC;;;8BAGvBlY,GAAUA,EAAM8V,aAAaoC;;;;wBAInClY,GAAUA,EAAM8V,aAAaqC;;;8BAGvBnY,GAAUA,EAAM8V,aAAaqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECzMtDM,GAAkB7C,GAAOgD,GAA2B;eAC1Chd,GAAMA,EAAEorB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC8ClBvO,GAAkB7C,GAAOgD,GAY7B;eACc5Y,GAAUA,EAAM8V,aAAa9f,MAAMO;WACvCyJ,GAAUA,EAAM8V,aAAaI;;;;;;;;;;;;;;;;eAgBzBlW,GAAUA,EAAM8V,aAAa9f,MAAMW,QAAQQ,MAAM;;;;;;2BAMtC0hB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoDI7Y,GAAUA,EAAM8V,aAAamR;;;;;;;;8BAQ7BjnB,GAAUA,EAAM8V,aAAaoR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA2C/BlnB,GAAUA,EAAM8V,aAAaqR;;;;;;;;;;;;;;;;;4BAiB7BnnB,GAAUA,EAAM8V,aAAamC;;;;;;;;8BAQ3BjY,GACnBA,EAAM8V,aAAaoC;;;8BAGAlY,GACnBA,EAAM8V,aAAaqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECjQlB5C,GAAQ,CACnBgE,OAAQ,CAAElS,EAAG,GAAIyL,EAAG,GAAI0G,GAAI,EAAGnW,EAAG,IAClCmS,MAAO,CAAE1C,EAAG,GAAI0G,GAAI,EAAGnW,EAAG,IAC1BoS,OAAQ,CAAE3C,EAAG,GAAI0G,GAAI,GAAInW,EAAG,KAmDxBoV,GAAkB7C,GAAOgD,GAU7B;eACc5Y,GAAUA,EAAM8V,aAAavf;YAChCyJ,GAAUA,EAAM8V,aAAaY;eAC1B1W,GAAUA,EAAM8V,aAAa4E;eAC7B1a,GAAUA,EAAM8V,aAAare;WACjCuI,GAAUA,EAAM8V,aAAaI;sBAClBlW,GAAUA,EAAM8V,aAAamC;;;;;;;;;;;wBAW3BjY,GAAUA,EAAM8V,aAAasR;;;ECoLhD3O,GAAkB7C,GAAOyR,KAO7B;eACczrB,GAAMA,EAAEyd,OAAO9iB;;;;;IAK1BqF,GACDA,EAAE0rB,WACE,qBAAqB1rB,EAAEyd,OAAO1iB,QAAQC,QAAQ,4BAC9C;;;;;0BAKmBgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;0BAG/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;QAIjD2E,GACDA,EAAE2rB,YACE,qBAAqB3rB,EAAEyd,OAAO1iB,QAAQC,QAAQ,OAC9C;;;UAGDgF,GACDA,EAAE2rB,YACE,qBAAqB3rB,EAAEyd,OAAO1iB,QAAQC,QAAQ,QAC9C;;;8BAGiBgF,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;4BAKjC2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;8BAG7B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;+BAK9B2E,GAAOA,EAAE0rB,WAAa,EAAI;6BAC5B1rB,GAAOA,EAAE0rB,WAAa,EAAI;;;;yBAI9B1rB,GAChBA,EAAE0rB,WAAa,OAAS,aAAa1rB,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;0BAK7CgF,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;;;;;;;;;;;;wBAoBjC2E,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;yBAC9BgF,GAAOA,EAAE4rB,qBAAuB,IAAM;QACvD5rB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;+BACRgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;QAEtDgF,GAAOA,EAAE0rB,WAAa,EAAI1rB,EAAEyd,OAAO1iB,QAAQC,QAAQ;aAC9CgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;mCAOTgF,GAAOA,EAAE0rB,WAAa,EAAI;;;;iCAI5B1rB,GAAOA,EAAE0rB,WAAa,EAAI;;;;;;;;cAQ7C1rB,GAAOA,EAAE6rB,SAAW,GAAK;+BACR7rB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;MACxDgF,GAAOA,EAAE2rB,YAAc,mBAAqB;;;qCAGb3rB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;qCAM/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;EAQ/D8wB,GAAwB9R,GAAOgD,GAMnC;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;MASxBqF,GACDA,EAAE0rB,WACE,0BAA0B1rB,EAAEyd,OAAO1iB,QAAQC,QAAQ,gCAAgCgF,EAAEyd,OAAO1iB,QAAQC,QAAQ,QAC5G;;;gBAGOgF,GAAOA,EAAE6rB,SAAW,GAAK;;;;;mBAKtB7rB,GAAOA,EAAE6rB,SAAW,GAAK;;;;;;;;;;8BAUd7rB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;mCAG1BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;4BAKtCgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;uCACpBgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;iBACrDgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;8BAOlBgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;0BAMnCgF,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;4BAE7B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;4BAG/B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;8BAK7B2E,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;EC3axD6hB,GAAkB7C,GAAOgD,GAI7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;IAG1BqF,GAAOA,EAAEyqB,UAAY,0BAA4B;;;;eAItCzqB,GAAOA,EAAEyqB,UAAY,OAAS;;;;;;;kBAO3BzqB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;QAUzCgF,GAAQA,EAAEyqB,UAA2B,GAAf;QACtBzqB,GAAOA,EAAE+rB,SAAW/rB,EAAEyqB,UAAY,eAAiB;QACnDzqB,GAAOA,EAAE+rB,QAAU/rB,EAAEyqB,UAAY,gBAAkB;;;EAQtDuB,GAAoB,CACxB3xB,EACAsM,EACA6jB,IAEoBvwB,EAAMuuB,SAASxgB,IAAI3N,GAAWouB,GAC5CxuB,EAAMyuB,eAAeD,GACnBA,EAAMrqB,OAASnE,EAAM0uB,SAChBqD,GAAkBvD,EAAMrkB,MAAM/J,SAAUsM,EAAM6jB,GAE9CvwB,EAAM2uB,aAAaH,EAAO,CAAE9hB,OAAM6jB,aAItC/B,ICvELwD,GAAWhyB,EAAM2e,YACrB,CACE+C,EACA9d,KADA,IAAA+d,MAAEA,EAAK1d,MAAEA,EAAK3C,MAAEA,EAAK2wB,UAAEA,GAAY,EAAKC,OAAEA,GAAS,GAAIxQ,EAAKvX,EAAK9D,EAAAqb,EAAjE,gDAGA,MAAMvhB,EAAQuE,IAGd,IAAI2b,EAAYlgB,EAAMS,UAClBuoB,EAAuBhpB,EAAMW,QAAQC,QAAQ,KAC7Cuf,EAAS,aACXhf,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDokB,EAAgB,aAClB7jB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDqhB,EAAkB,OAClBgH,EAAiB9nB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMS,UAC1DqkB,EAAc9kB,EAAMqC,UAAUC,QAAQJ,GAY1C,MAVc,iBAAV4B,IACFme,EAAkBjiB,EAAMW,QAAQC,QAAQ,MAGtCoJ,EAAM+X,WACR7B,EAAYlgB,EAAMW,QAAQC,QAAQ,KAClCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,OAC5CokB,EAAgB,aAAahlB,EAAMW,QAAQC,QAAQ,QAInD2hB,EACEC,KAAA,MAAA,CAAA1e,MAAO,CACLvD,UAAWP,EAAMO,UACjBqpB,QAAS,OACToI,cAAe,SACf5O,MAAOpjB,EAAMS,UACbggB,MAAO,OACPyL,SAAU,UAEZ9N,UAAWxb,EAAa,uBAAwBoH,EAAMoU,WAEtDne,SAAA,CAAAC,EAAAC,IAAA,QAAA,CACE2D,MAAO,CAAE4lB,aAAc,EAAGC,UAAW,SACrChH,QAAS3Y,EAAMuS,YAEdiF,IAEHthB,EAAAC,IAACsiB,GACe3d,OAAAC,OAAA,CAAA+a,aAAA,CACZvf,UAAWP,EAAMO,UACjByoB,uBACA9I,YACAC,SACA6E,gBACA/C,kBACA6C,cACAgN,YACAC,WAEE/nB,EACJ,CAAAvG,IAAKA,KAEPvD,EAACC,IAAA8kB,GACW,CAAAE,SAAA8D,EACV7K,UAAU,0BAER,IAKNqE,GAAkB7C,GAAOqS,QAY7B;;eAEcjoB,GAAUA,EAAM8V,aAAavf;;;;;;WAMjCyJ,GAAUA,EAAM8V,aAAaI;YAC5BlW,GAAUA,EAAM8V,aAAaK;sBACnBnW,GAAUA,EAAM8V,aAAamC;;;YAGvCrc,GAAOA,EAAEka,aAAaiS,OAAS,OAAS;gBACpCnsB,GAAOA,EAAEka,aAAagS,UAAY,SAAW;;;aAGhD9nB,GAAUA,EAAM8V,aAAakJ;;;;MAIpChf,GAAUA,EAAM8V,aAAagF;;;;cAIrB9a,GAAUA,EAAM8V,aAAakF;;;;;;;;;;;;;;;;EAkBtCC,GAAsBrF,GAAOsF,IAA0B;;gBAE5Clb,GAAUA,EAAMmb;;;;;;;;EC9I1B,MCwBD+M,GAAuD3Q,IAAA,IAAA4Q,SAC3DA,EAAQC,SACRA,EAAQpuB,KACRA,EAAIquB,QACJA,EAAOC,YACPA,EAAWnI,QACXA,EAAOrmB,MACPA,GAAKyd,EACFvX,EAAK9D,EAAAqb,EARmD,0EAU3D,MAAMvhB,EAAQuE,IACRguB,EAAclF,KACdmF,EDpCiB,CAACxyB,IAA2F,CACnHY,QAAS,CACPmoB,KETM,i+GFUN4F,MAAO3uB,EAAMW,QAAQC,QAAQ,KAC7Buf,OAAQngB,EAAMW,QAAQC,QAAQ,KAC9BguB,KAAM5uB,EAAMW,QAAQC,QAAQ,KAC5BujB,GAAInkB,EAAMW,QAAQC,QAAQ,KAE5B6xB,SAAU,CACR1J,KGhBM,y8GHiBN4F,MAAO3uB,EAAMW,QAAQQ,MAAM,KAC3Bgf,OAAQngB,EAAMW,QAAQQ,MAAM,KAC5BytB,KAAM5uB,EAAMW,QAAQQ,MAAM,KAC1BgjB,GAAInkB,EAAMW,QAAQQ,MAAM,KAE1BC,QAAS,CACP2nB,KIvBM,y1DJwBN4F,MAAO3uB,EAAMW,QAAQS,QAAQ,KAC7B+e,OAAQngB,EAAMW,QAAQS,QAAQ,KAC9BwtB,KAAM5uB,EAAMW,QAAQS,QAAQ,KAC5B+iB,GAAInkB,EAAMW,QAAQS,QAAQ,KAE5BE,QAAS,CACPynB,KK9BM,i8DL+BN4F,MAAO3uB,EAAMW,QAAQW,QAAQ,KAC7B6e,OAAQngB,EAAMW,QAAQW,QAAQ,KAC9BstB,KAAM5uB,EAAMW,QAAQW,QAAQ,KAC5B6iB,GAAInkB,EAAMW,QAAQW,QAAQ,KAE5BD,KAAM,CACJ0nB,KMrCM,i4GNsCN4F,MAAO3uB,EAAMW,QAAQU,KAAK,KAC1B8e,OAAQngB,EAAMW,QAAQU,KAAK,KAC3ButB,KAAM5uB,EAAMW,QAAQU,KAAK,KACzB8iB,GAAInkB,EAAMW,QAAQU,KAAK,OCGvBqxB,CAAU1yB,GAAOgE,GACb2uB,GAAaP,IAAaC,EAEhC,OACE9P,EAAAA,KAACqQ,yBACS5yB,EAAKyuB,QACJ+D,EACT1uB,MAAOA,GACHkG,EAAK,CACToU,UAAWxb,EACT,4BACG2vB,EAAY9E,SAAW,WAAa,KACpCkF,EAAY,YAAc,KAC9B1yB,SAAA,CAEDC,EAAKC,IAAA,MAAA,CAAAie,UAAU,SACfmE,EAAAC,KAAA,MAAA,CAAKpE,UAAU,UAASne,SAAA,CACtBC,EAAAA,WAAKke,UAAU,WAAUne,SAAEkyB,IAC1BC,GAAYlyB,EAAAA,WAAKke,UAAU,WAAUne,SAAEmyB,IACvCC,GAAWnyB,EAAAA,IAAK,MAAA,CAAAke,UAAU,mBAAWiU,OAEvCC,GAAepyB,MAAA,MAAA,CAAKke,UAAU,QAAQ6E,QAAS,IAAMkH,eAAAA,SACjC,EAIrByI,GAAuBhT,GAAOgD,GAGlC;cACahd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;;;;;;;;;;;sBAmBPqF,GAAMA,EAAE6oB,QAAQE;;;;;;0BAMZ/oB,GAAMA,EAAE6oB,QAAQ1F;;;;;;;;;;;;;;;;YAgB9BnjB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;0BAalBgkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwHpBiO,GAAgBhqB,IACpB,OAAQA,GACN,IAAK,WACH,MAAO,CACLiqB,UAAWA,EAAS;;;;;;;YAQpBtvB,IAAKA,EAAG;;;UAIRuvB,QAASvvB,EAAG;;UAGZwvB,UAAWxvB,EAAG;;WAKlB,IAAK,aACH,MAAO,CACLsvB,UAAWA,EAAS;;;;;;;YAQpBtvB,IAAKA,EAAG;;;UAIRuvB,QAASvvB,EAAG;;UAGZwvB,UAAWxvB,EAAG;;WAKlB,IAAK,YACH,MAAO,CACLsvB,UAAWA,EAAS;;;;;;;cAQpBtvB,IAAKA,EAAG;;;UAIRuvB,QAASvvB,EAAG;;UAGZwvB,UAAWxvB,EAAG;;WAKlB,IAAK,cACH,MAAO,CACLsvB,UAAWA,EAAS;;;;;;;YAQpBtvB,IAAKA,EAAG;;;UAIRuvB,QAASvvB,EAAG;;UAGZwvB,UAAWxvB,EAAG;;WAKlB,IAAK,gBACH,MAAO,CACLsvB,UAAWA,EAAS;;;;;;;YAQpBtvB,IAAKA,EAAG;;;UAIRuvB,QAASvvB,EAAG;;UAGZwvB,UAAWxvB,EAAG;;WAKlB,IAAK,eACH,MAAO,CACLsvB,UAAWA,EAAS;;;;;;;cAQpBtvB,IAAKA,EAAG;;;UAIRuvB,QAASvvB,EAAG;;UAGZwvB,UAAWxvB,EAAG;;aAQhBif,GAAkB7C,GAAOgD,GAA4B;;;;;;IAMtDhd,IAAK,IAAA2b,EAAC,OAA2B,QAA3BA,EAAAsR,GAAajtB,EAAEqtB,kBAAY,IAAA1R,OAAA,EAAAA,EAAA/d,GAAG;eACzBoC,IAAK,IAAA2b,EAAC,OAA2B,QAA3BA,EAAAsR,GAAajtB,EAAEqtB,kBAAY,IAAA1R,OAAA,EAAAA,EAAAuR,SAAS;;;;MAInDltB,IAAK,IAAA2b,EAAC,OAA2B,QAA3BA,EAAAsR,GAAajtB,EAAEqtB,kBAAY,IAAA1R,OAAA,EAAAA,EAAAwR,OAAO;;;;;;;;;MASxCntB,IAAK,IAAA2b,EAAC,OAA2B,QAA3BA,EAAAsR,GAAajtB,EAAEqtB,kBAAY,IAAA1R,OAAA,EAAAA,EAAAyR,SAAS;;;;;;EM/YjD,MAsRMvQ,GAAkB7C,GAAOgD,GAQ7B;eACc5Y,GAAUA,EAAMqZ,OAAO9iB;;;;;;;;WAQ3BqF,GAAMA,EAAEqtB,UAAUzoB,MAAMogB;YACvBhlB,GAAMA,EAAEqtB,UAAUzoB,MAAMqgB;MAC9BjlB,GAAMA,EAAEyd,OAAOhhB,UAAUC,QAAQL;oBAzStB;oBA2SG2D,GAAMA,EAAEqtB,UAAUzoB,MAAM4Y;;;;;;EAQvCuB,GAAY/E,GAAOgD,GAKvB;;SAEQhd,GAAMA,EAAEqtB,UAAUrI;UACjBhlB,GAAMA,EAAEqtB,UAAUpI;;sBAENjlB,GACnBA,EAAEstB,iBACEttB,EAAEstB,iBACFttB,EAAEutB,UACAvtB,EAAEyd,OAAO1iB,QAAQC,QAAQ,KACzB;;;;;;;;IAQLgF,GAAMA,EAAEyd,OAAOhhB,UAAUC,QAAQL;;;;;;;;;;;;;;;;;eAiBtB2D,GACRA,EAAEutB,UACEvtB,EAAEyd,OAAO1iB,QAAQC,QAAQ,IACzBgF,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;eAIrBgF,GACRA,EAAEutB,UACEvtB,EAAEyd,OAAO1iB,QAAQC,QAAQ,KACzBgF,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;;;;EC7U/B6hB,GAAkB7C,GAAOC,MAG7B;eACcja,GAAMA,EAAEyd,OAAO9iB;;;sBAGRqF,GACnBA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KAAO;;iBAEhC2E,GAAOA,EAAEsd,UAAY,IAAM;WACjCtd,GAAOA,EAAEsd,UAAY,OAAStd,EAAEyd,OAAO5iB;;;;;;;;;;;;;eAanCmF,GAAOA,EAAEsd,UAAY,EAAI;;;;;;;kBAOtBtd,GACbA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KAAO2E,EAAEyd,OAAO5iB;;;;wBAIpCmF,GACnBA,EAAEsd,UACEtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KACzB2E,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;oBAGdgF,GACbA,EAAEsd,UAAWtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KAAO2E,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;wBAIrDgF,GACnBA,EAAEsd,UACEtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KACzB2E,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;oBAGdgF,GACbA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KAAO2E,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;wBAKtDgF,GAAMA,EAAEyd,OAAO5iB;;iBAEtBmF,GAAOA,EAAEsd,UAAY,EAAI;;;ECMrCT,GAAkB7C,GAAOgD,GAM7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;sBAGRqF,GACnBA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQC,QAAQ,KAAO;iBAChCgF,GAAoB,IAAbA,EAAE4pB,OAAe,IAAM;WACpC5pB,GACRA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KAAO2E,EAAEyd,OAAO5iB;;;;;;;qBAOrCmF,GACN,WAAZA,EAAEwtB,MAAqB,gBAAkB;;;;;;eAM7BxtB,GAAOA,EAAEsd,UAAY,EAAI;;;;;;;;kBAQtBtd,GACbA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KAAO2E,EAAEyd,OAAO5iB;;;;wBAIpCmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;oBAInCgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;wBAI3BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;oBAGnCgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;wBAM3BgF,GAAMA,EAAEyd,OAAO5iB;;;;;;;aAO1BmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;oBAKxBgF,GAAOA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQC,QAAQ,KAAO;;;;;;EAQpEyyB,GAAyBzT,GAAOgD,GAAG;;;;;ECrJzC,MA0CMH,GAAkB7C,GAAOgD,GAK7B;eACc5Y,GAAUA,EAAMqZ,OAAO9iB;;;;;;;WAO5B,EAAG+yB,gBAAkBA,EAAa,OAAS;;;;IAIjD1tB,GACDA,EAAE2tB,kBACE,sEAKA;;;;aAIK3tB,GAAKA,EAAEihB,UAAYjhB,EAAEyd,OAAO1iB,QAAQC,QAAQ,KAAO;;EC1FnD2e,GAAQ,CACnBC,MAAO,CAAE1C,EAAG,IACZ2C,OAAQ,CAAE3C,EAAG,IACb4C,MAAO,CAAE5C,EAAG,KA8CR2F,GAAkB7C,GAAOgD,GAI7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;YAGlBqF,GAAM2Z,GAAM3Z,EAAE6f,OAAO3I;;;;;wBAKTlX,GACnBA,EAAE4tB,SAAWrN,GAAiBvgB,EAAEyd,OAAO1iB,QAAQC,QAAQ;;aAE/CgF,GAAOA,EAAE4tB,SAAWrN,GAAevgB,EAAEyd,OAAO5iB;;;;;;;;;;;0BAW/BmF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;0BAK/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;;;;;;;0BAqB/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;4BA0B7BgF,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;ECvGtDwhB,GAAkB7C,GAAO6T,EAI7B;;;IAGG7tB,GAAsB,aAAhBA,EAAE8tB,WAA4B;IACpC9tB,GAAsB,eAAhBA,EAAE8tB,WAA8B;;IAEtC9tB,GACY,YAAbA,EAAE+tB,QACF,qBAAqB/tB,EAAEyd,OAAO1iB,QAAQC,QAAQ;IAC7CgF,GACY,YAAbA,EAAE+tB,QACF,qBAAqB/tB,EAAEyd,OAAO1iB,QAAQM,QAAQ;IAC7C2E,GAAmB,eAAbA,EAAE+tB,QAA2B,qBAAqBxN;IACxDvgB,GAAmB,UAAbA,EAAE+tB,QAAsB,qBAAqBxN;0VCpCxD,MAAMyN,GAAqDrS,QAAAhV,KACzDA,EAAO,SAAOgV,EACXvX,EAAK9D,EAAAqb,EAFiD,UAIzD,MAAMvhB,EAAQuE,IAEd,OACErE,EAAAA,IAACuiB,GAAe3d,OAAAC,OAAA,GACViF,EACI,CAAAqZ,OAAArjB,EACDylB,MAAAlZ,EACP6R,UAAWxb,EACT,+CACAoH,EAAMoU,aAER,EAIAqE,GAAkB7C,GAAOgD,GAG7B;eACchd,GAAMA,EAAEyd,OAAO9iB;YAClBqF,GAAMA,EAAE6f;WACT7f,GAAMA,EAAE6f;;EC3BdoO,GAAiDtS,QAAAhV,KACrDA,EAAO,SAAOgV,EACXvX,EAAK9D,EAAAqb,EAF6C,UAIrD,MAAMvhB,EAAQuE,IAEd,OACErE,EAAAA,IAACuiB,GAAe3d,OAAAC,OAAA,GACViF,EACI,CAAAqZ,OAAArjB,EACDylB,MAAAlZ,EACP6R,UAAWxb,EACT,6CACAoH,EAAMoU,aAER,EAIAqE,GAAkB7C,GAAOgD,GAG7B;eACchd,GAAMA,EAAEyd,OAAO9iB;YAClBqF,GAAmB,UAAZA,EAAE6f,MAAoB,OAAS;;;ECtB7CqO,GAAqDvS,QAAAhV,KACzDA,EAAO,SAAOgV,EACXvX,EAAK9D,EAAAqb,EAFiD,UAIzD,MAAMvhB,EAAQuE,IAEd,IAAIigB,EAAe,EAWnB,MAVa,SAATjY,GAA4B,SAATA,IACrBiY,EAAe,GAEJ,UAATjY,GAA6B,UAATA,IACtBiY,EAAe,GAEJ,UAATjY,IACFiY,EAAe,IAIftkB,EAACC,IAAAsiB,GACK3d,OAAAC,OAAA,CAAA,EAAAiF,UACIhK,EAAKylB,MACNlZ,EAAIwnB,cACIvP,EACfpG,UAAWxb,EACT,+CACAoH,EAAMoU,aAER,EAIAqE,GAAkB7C,GAAOgD,GAI7B;eACchd,GAAMA,EAAEyd,OAAO9iB;YAClBqF,GAAMA,EAAE6f;WACT7f,GAAMA,EAAE6f;mBACA7f,GAAMA,EAAEmuB;ECxCtBC,GAA2DzS,QAAAhV,KAC/DA,EAAO,SAAOgV,EACXvX,EAAK9D,EAAAqb,EAFuD,UAI/D,MAAMvhB,EAAQuE,IAEd,OACErE,EAAAA,IAACuiB,GAAe3d,OAAAC,OAAA,GACViF,EACI,CAAAqZ,OAAArjB,EACDylB,MAAAlZ,EACP6R,UAAWxb,EACT,kDACAoH,EAAMoU,aAER,EAIAqE,GAAkB7C,GAAOgD,GAG7B;eACchd,GAAMA,EAAEyd,OAAO9iB;YAClBqF,GAAmB,UAAZA,EAAE6f,MAAoB,OAAqB,WAAZ7f,EAAE6f,MAAqB,OAAS;;;EChB7EwO,GAAyB1S,IAAA,IAAAthB,SAAEA,GAAoBshB,EAAPvX,EAAK9D,EAAAqb,EAApB,cAC7B,MAAMvhB,EAAQuE,IAEd,OACErE,EAAAA,IAACuiB,GAAe3d,OAAAC,OAAA,CAAAse,OACNrjB,GACJgK,EACJ,CAAAoU,UAAWxb,EAAa,uBAAwBoH,EAAMoU,WAErDne,SAAAA,IACe,EA4EhBwiB,GAAkB7C,GAAOgD,GAE7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC5G/B,IAAI+e,GAAM,yoECmBV,MA2FMmD,GAAkB7C,GAAOgD,GAG7B;;;;;;;0BAOyBhd,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;aAG5CgF,GACI,UAAZA,EAAE6f,MAAoB,GAAiB,WAAZ7f,EAAE6f,MAAqB,GAAK;cAC9C7f,GACG,UAAZA,EAAE6f,MAAoB,GAAiB,WAAZ7f,EAAE6f,MAAqB,GAAK;;;;;;ECtEvDhD,GAAkB7C,GAAOgD,GAK7B;eACchd,GAAMA,EAAEyd,OAAO9iB;YAClBqF,GACG,UAAZA,EAAE6f,MAAoB,GAAiB,WAAZ7f,EAAE6f,MAAqB,GAAK;aAC7C7f,GAAmB,UAAZA,EAAE6f,MAAoB,EAAI;sBACxB7f,GACnBA,EAAEsd,UAAYtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KAAO2E,EAAEyd,OAAO1iB,QAAQM,QAAQ;WAC/D2E,GAAOA,EAAEsd,UAAY,OAAStd,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;iBAIjD2E,GAAmB,UAAZA,EAAE6f,MAAoB,IAAM;eACrC7f,GAAmB,UAAZA,EAAE6f,MAAoB,GAAK;mBAC9B7f,GAAOA,EAAEsuB,SAAW,KAAO;;;;wBAItBtuB,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;;uBAUhC2E,GAAOA,EAAEsuB,SAAW,KAAO;;;;;;;;wBAQ1BtuB,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;aAC1C2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;;;;;;;;;;wBAcpB2E,GACnBA,EAAEsd,UACEtd,EAAEyd,OAAO1iB,QAAQC,QAAQ,KACzBgF,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;0BAGRgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;0BAG/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;wBAKjCgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;aAC1CgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;wBAKpBgF,GAAOA,EAAEsd,UAAYiD,GAAiBA;aACjDvgB,GAAMA,EAAEyd,OAAO5iB;;;0BAGH0lB;;;0BAGAA;;;;0BAIAA;eACXA;;;EC1FT1D,GAAkB7C,GAAOC,MAK7B;eACcja,GAAMA,EAAEyd,OAAO9iB;YAClBqF,GAAmB,UAAZA,EAAE6f,MAAoB,GAAK;WACnC7f,GACRA,EAAEuuB,UAAyB,UAAZvuB,EAAE6f,MAAoB,OAAS,OAAU;aAC9C7f,GAAmB,UAAZA,EAAE6f,MAAoB,GAAK;;;;;eAKhC7f,GAAmB,UAAZA,EAAE6f,MAAoB,GAAK;;;;;qBAK5B7f,GAAOA,EAAEuuB,UAAY,SAAW;sBAC/BvuB,GACnBA,EAAEsd,UACEtd,EAAEyd,OAAO1iB,QAAQC,QAAQ,KACzBgF,EAAEyd,OAAO1iB,QAAQC,QAAQ;WACtBulB;;;wBAGcvgB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;;;;;;;wBAmB/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;yBAQ9BgF,GAAOA,EAAEuuB,UAAY,UAAY;;;;wBAIlCvuB,GACnBA,EAAEsd,UACEtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KACzB2E,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;0BAGR2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;0BAG/B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;aAK5C2E,GAAMA,EAAEyd,OAAO5iB;wBACJmF,GACnBA,EAAEsd,UACEtd,EAAEyd,OAAO1iB,QAAQC,QAAQ,KACzBgF,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;0BAGRgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;0BAG/BgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;wBAKjCgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;aAC1CgF,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;wBAKpBgF,GAAOA,EAAEsd,UAAYiD,GAAiBA;aACjDvgB,GAAMA,EAAEyd,OAAO5iB;;;0BAGH0lB;;;0BAGAA;;;;;;;;;;eAUXA;0BACYvgB,GACnBA,EAAEsd,UACEtd,EAAEyd,OAAO1iB,QAAQM,QAAQ,KACzB2E,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;4BAGR2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;4BAG/B2E,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;;eAK7CklB;0BACYvgB,GACnBA,EAAEsd,UAAYiD,GAAiBA;;;4BAGXA;;;;;;4BAMAA;;;;;0BAKFA;eACXA;;;EC5LT5G,GAAQ,CACZ,OAAQ,CACN6U,YAAa,EACb3T,MAAO,GACP4T,aAAc,EACdC,YAAa,IACbC,iBAAkB,GAClBC,oBAAqB,GACrBC,oBAAqB,GAEvB,OAAQ,CACNL,YAAa,EACb3T,MAAO,GACP4T,aAAc,EACdC,YAAa,IACbC,iBAAkB,GAClBC,oBAAqB,GACrBC,oBAAqB,MAEvB,OAAQ,CACNL,YAAa,EACb3T,MAAO,GACP4T,aAAc,EACdC,YAAa,IACbC,iBAAkB,GAClBC,oBAAqB,GACrBC,oBAAqB,IAEvB,OAAQ,CACNL,YAAa,EACb3T,MAAO,GACP4T,aAAc,EACdC,YAAa,IACbC,iBAAkB,GAClBC,oBAAqB,GACrBC,oBAAqB,IAEvB,QAAS,CACPL,YAAa,GACb3T,MAAO,IACP4T,aAAc,GACdC,YAAa,IACbC,iBAAkB,GAClBC,oBAAqB,GACrBC,oBAAqB,KA4EnBhS,GAAkB7C,GAAOgD,GAO7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;aAMjBqF,GAAMA,EAAE6f;cACP7f,GAAMA,EAAE6f;cACR7f,GAAM2Z,GAAM3Z,EAAE6f,OAAO2O;QAC3BxuB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;cAMzBgF,GAAMA,EAAE8uB;eACP9uB,GAAMA,EAAE8uB;;;;;;gBAMP9uB,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;sBACzB2E,GAAM2Z,GAAM3Z,EAAE6f,OAAO2O;;0BAEjBxuB,GAAM2Z,GAAM3Z,EAAE6f,OAAO6O;4BACnB1uB,GAAM2Z,GAAM3Z,EAAE6f,OAAO6O,YAAe/U,GAAM3Z,EAAE6f,OAAO6O,YAAc1uB,EAAE+uB,YAAe/uB,EAAEgvB;;;;;oBAK5FhvB,GAA6B,QAAvBA,EAAEyd,OAAO9iB,UAAsB,OAAS;;;;;;mBAM/CqF,GAAM2Z,GAAM3Z,EAAE6f,OAAOgP;;;;;;;;;eASzB7uB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;mBAC3BgF,GAAM2Z,GAAM3Z,EAAE6f,OAAO+O;;;eAGzB5uB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;mBAC3BgF,GAAM2Z,GAAM3Z,EAAE6f,OAAO8O;;;;eAIzB3uB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;mBAC3BgF,GAAM2Z,GAAM3Z,EAAE6f,OAAO+O;;;eAGzB5uB,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;mBAC3BgF,GAAM2Z,GAAM3Z,EAAE6f,OAAO+O;;;;;;;kBAOtB5uB,GAAMA,EAAEyd,OAAO5iB;;;;;;aAMrB0lB;;sBAESA;;kBAEJA;;;;;;iBAMDA;;;iBAGAA;;;iBAGAA;;;iBAGAA;;;;ECnLX1D,GAAkB7C,GAAOgD,GAO7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;cAKhBqF,GACG,UAAZA,EAAE6f,MAAoB,GAAiB,WAAZ7f,EAAE6f,MAAqB,EAAI;wBACnC7f,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;qBAClCgF,GAAmB,UAAZA,EAAE6f,MAAoB,EAAI;;;;;;;;;;;uBAW/B7f,GAAmB,UAAZA,EAAE6f,MAAoB,EAAI;gBACxC7f,GACG,UAAZA,EAAE6f,MAAoB,GAAiB,WAAZ7f,EAAE6f,MAAqB,EAAI;0BACnC7f,GACnBA,EAAEivB,SACEjvB,EAAEyd,OAAO1iB,QAAQW,QAAQ,KACzBsE,EAAEkvB,OACFlvB,EAAEyd,OAAO1iB,QAAQQ,MAAM,KACV,YAAbyE,EAAEopB,OACFppB,EAAEyd,OAAO1iB,QAAQM,QAAQ,KACzB2E,EAAEyd,OAAO1iB,QAAQC,QAAQ;eACrBgF,GAAOA,EAAEmvB,aAAe,IAAMnvB,EAAEmvB,YAAc;;;;;;;;;;;UAWnDnvB,IAAQA,EAAEmvB,aAAe,IAAMnvB,EAAEmvB,YAAc,KAAO;YACpDnvB,GAAOA,EAAEmvB,YAAc,IAAM,GAAK;;iBAE7BnvB,GACVA,EAAEmvB,aAAe,IAAkB,UAAZnvB,EAAE6f,MAAoB,QAAU;kBAC5C7f,GAAMxC,KAAK4xB,IAAIpvB,EAAEmvB,YAAa;;;;aAInCnvB,GACRA,EAAEivB,SACEjvB,EAAEyd,OAAO1iB,QAAQW,QAAQ,KACzBsE,EAAEkvB,OACFlvB,EAAEyd,OAAO1iB,QAAQQ,MAAM,KACvB;;EClGV,MAAM8zB,GAAc/0B,EAAAA,IAAK,MAAA,CAAAgtB,ICdf,6ZDc8BppB,MAAO,CAAE2c,MAAO,QAClDyU,GAAeh1B,EAAAA,IAAK,MAAA,CAAAgtB,IEfhB,yPFegCppB,MAAO,CAAE2c,MAAO,QAEpD0U,GAAct1B,EAAM2e,YACxB,CAAC+C,EAAyD9d,KAAzD,IAAA2xB,WAAEA,EAAa,OAAMC,WAAEA,EAAa,SAAO9T,EAAKvX,EAAhD9D,EAAAqb,EAAA,CAAA,aAAA,eACC,OACErhB,MAACuiB,GAAe3d,OAAAC,OAAA,CACdqZ,UAAWxb,EAAa,0BAA2BoH,EAAMoU,WACzD3a,IAAKA,EACLoJ,OAAuB,SAAfuoB,EAAwBH,GAAcC,GAC9CtM,OAAuB,SAAfyM,EAAwBJ,GAAcC,GAC9CxM,YACE1e,EAAM0e,YACF1e,EAAM0e,YACU,kBAAhB1e,EAAMlG,MACN,cACAsD,EAENyhB,YACE7e,EAAM6e,YACF7e,EAAM6e,YACU,kBAAhB7e,EAAMlG,MACN,cACAsD,GAEF4C,EAAK,CACTsrB,QAAUnvB,IACPA,EAAEvB,OAAe2wB,MAAM,EAE1BvxB,KAAK,SACLuE,QAAQ,SACRitB,UAAU,UACVC,UAAYtvB,WACC,MAAVA,EAAEnB,KAAyB,MAAVmB,EAAEnB,MAAgBmB,EAAEuvB,iBACpB,QAAlBnU,EAAAvX,EAAMyrB,iBAAY,IAAAlU,GAAAA,EAAAxb,KAAAiE,EAAA7D,EAAE,IAEtB,IAKFsc,GAAkB7C,GAAO6I,GAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EGrDnCkN,GAAsB,KAC1B,MAAOC,EAAkBC,GAAuBh2B,EAAM0qB,SAAS,CAC7D9J,MAAOrP,OAAOua,WACdjL,OAAQtP,OAAOga,cAiBjB,OAdAvrB,EAAMwiB,WAAU,KACd,MAAMyT,EAAsB,OAQ5B,OAPA1kB,OAAO2a,iBAAiB,UAAU,KAChC8J,EAAoB,CAClBpV,MAAOrP,OAAOua,WACdjL,OAAQtP,OAAOga,aACf,IAGG,KACLha,OAAO4a,oBAAoB,SAAU8J,EAAoB,CAC1D,GACA,IAEIF,CAAgB,EC2FnBnT,GAAkB7C,GAAOgD,GAK7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;;;;;;;;cAgBhBqF,GAAmB,WAAZA,EAAE6f,MAAqB,EAAI;wBACxB7f,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;gBAavCgF,GAAmB,WAAZA,EAAE6f,MAAqB,EAAI;0BACxB7f,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;eAC1C2E,GAAOA,EAAEmvB,aAAe,IAAMnvB,EAAEmvB,YAAc;;;;;;;;eAQ9CnvB,GAAmB,WAAZA,EAAE6f,MAAqB,GAAK;gBAClC7f,GAAmB,WAAZA,EAAE6f,MAAqB,GAAK;;0BAEzB7f,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;;wBAIjC2E,GAAMA,EAAEmwB,gBAAkB;QAC1CnwB,GAAM,oCAEHA,EAAEmvB,aAAe,IAAMnvB,EAAEmvB,YAAc,UAAUnvB,EAAEmwB,gBAAkB;;;;;;;ECE3EtT,GAAkB7C,GAAOgD,GAK7B;eACchd,GAAMA,EAAEyd,OAAO9iB;;;;;;;;;;;;;;;;;;;;;;;cAuBhBqF,GAAmB,WAAZA,EAAE6f,MAAqB,EAAI;wBACxB7f,GAAMA,EAAEyd,OAAO1iB,QAAQC,QAAQ;;;;;;;;;;;;;gBAavCgF,GAAmB,WAAZA,EAAE6f,MAAqB,EAAI;0BACxB7f,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;eAC1C2E,GAAMA,EAAEmvB,YAAY,IAAMnvB,EAAEmvB,YAAY;cACzCnvB,GAAMA,EAAEmvB,YAAY;;;;;;;;eAQnBnvB,GAAmB,WAAZA,EAAE6f,MAAqB,GAAK;gBAClC7f,GAAmB,WAAZA,EAAE6f,MAAqB,GAAK;;0BAEzB7f,GAAMA,EAAEyd,OAAO1iB,QAAQM,QAAQ;;;iBAGxC2E,GAA4B,MAArBA,EAAEmvB,YAAY,GAAa,EAAI;wBAC/BnvB,GAAMA,EAAEmwB,gBAAkB;mBAC/BnwB,GAAMA,EAAEmvB,YAAY,SAAUnvB,GAAMA,EAAEmwB,gBAAkB;;;;;;;qBAOtDnwB,GAAMA,EAAEmvB,YAAY,SAAUnvB,GAAMA,EAAEmwB,gBAAkB;;;;;oBtFrN7BxU,WAAAhV,KAC/CA,EAAO,SAAQypB,MACfA,EAAKC,SACLA,EAAQvU,SACRA,EAAQwU,gBACRA,EAAeC,cACfA,EAAgB,WAAUnW,MAC1BA,GAAQ,EAAK/f,SACbA,GAAQshB,EACLvX,EAT4C9D,EAAAqb,EAAA,CAAA,OAAA,QAAA,WAAA,WAAA,kBAAA,gBAAA,QAAA,aAW/C,MAAMvhB,EAAQuE,IACR6xB,EAAav2B,EAAMqS,OAAuB,OACzCmY,EAAMC,GAAWzqB,EAAM0qB,SAAS2L,IAChCG,EAAeC,GAAoBz2B,EAAM0qB,SAAS,GAEzD,IAAInK,EAAgC,aAAapgB,EAAMW,QAAQC,QAAQ,OACnEuf,EAAS,wBACTE,EAAS,UACTH,EAAY,UAEhB,MAAMqW,OAAkC,IAAbN,EAA2BA,EAAW5L,EAE7DrgB,EAAM+X,WACR1B,EAAS,UACTD,EAAY,aAAapgB,EAAMW,QAAQC,QAAQ,OAC/Cuf,EAAS,OACTD,EAAYlgB,EAAMW,QAAQC,QAAQ,MAcpC,OANAf,EAAMwiB,WAAU,YACU,UAApB+T,EAAW9T,eAAS,IAAAf,OAAA,EAAAA,EAAA4J,eACtBmL,EAAiBF,EAAW9T,QAAQ6I,gBAErC,CAAqB,QAApBjH,EAAAkS,EAAW9T,eAAS,IAAA4B,OAAA,EAAAA,EAAAiH,eAGtB5I,EAAAA,KACE,MAAA,CAAAnE,UAAWxb,EAAa,wBAAyBoH,EAAMoU,WACvD4R,SAAU,EAEV/vB,SAAA,CAAAsiB,EAAAC,KAAC7C,GACe7a,OAAAC,OAAA,CAAA+a,aAAA,CACZvf,UAAWP,EAAMO,UACjBwf,UAAWR,GAAMhT,GAAMuQ,EACvBmD,QAASV,GAAMhT,GAAM3G,EACrBnE,SAAU8d,GAAMhT,GAAMc,EACtB6S,YACAI,OAAQtgB,EAAMW,QAAQC,QACtBuf,SACAC,YACAC,UAEFL,MAAOA,GACHhW,EACJ,CAAAiZ,QA9ByB9c,IAC7Bub,GAAYA,EAASvb,GAAIowB,GACzBjM,GAASiM,EAAY,EA6BjBnY,UAAU,wCAES,YAAlB+X,GACC5T,EAAAA,KACE,MAAA,CAAAze,MAAO,CACL8lB,QAAS,OACTC,WAAY,aACZ2M,aAAc,SACdC,IAAK,IAGPx2B,SAAA,CAAAC,EAAAA,IAAA,OAAA,CAAAD,SACEC,EAAAA,IACE,MAAA,CAAAw2B,IAAI,YACJxJ,IAAKyJ,GACL7yB,MAAO,CACL8yB,WAAY,WACZC,UAAWN,EAAc,kBAAoB,YAInDr2B,EAAOC,IAAA,OAAA,CAAAF,SAAA+1B,OAGQ,aAAlBG,GACC5T,EAAAC,KAAAsE,EAAAyH,SAAA,CAAAtuB,SAAA,CACEC,EAAAA,IAAO,OAAA,CAAAD,SAAA+1B,IACP91B,EACEC,IAAA,MAAA,CAAAu2B,IAAI,YACJxJ,IAAKyJ,GACL7yB,MAAO,CACL8yB,WAAY,WACZC,UAAWN,EAAc,kBAAoB,iBAMvDr2B,EAAAC,IAAA,MAAA,CACEie,UAAU,yBACVta,MAAO,CACLvD,UAAWP,EAAMO,UACjBmgB,OAAQ6V,EAAcF,EAAgB,EACtCnK,SAAU,SACV0K,WAAY,WACZxT,MAAOlD,GACRjgB,SAEDC,EAAAA,WAAKuD,IAAK2yB,EAAYtyB,MAAO,CAAEmc,QAAS,IACrChgB,SAAAA,QAGD,uBU5HW,EACnBuhB,QACApD,YACA7R,OACAuqB,UACA31B,QACAugB,WACArhB,QACA02B,cACAhd,UACAid,iBACAjV,WACAiB,WACAiU,gBACAC,mBAiBA,MAAMl3B,EAAQuE,KACP8lB,EAAMC,GAAWzqB,EAAM0qB,UAAS,IAChC4M,EAAYC,GAAiBv3B,EAAM0qB,SAAS,KAC5C8M,EAAkBC,GAAuBz3B,EAAM0qB,SAAS,KACxDgN,EAAiBC,GAAsB33B,EAAM0qB,YAC7CG,EAAeC,GAAoB9qB,EAAM0qB,SAAS,CACvDK,IAAK,EACLC,KAAM,EACNpK,MAAO,IAEHhd,EAAM5D,EAAMqS,OAAuB,MAEnC8P,EAAiCzV,QAAAA,EAAQ,QAG/C,IAAI2T,EAAYlgB,EAAMS,UAClBuoB,EAAuBhpB,EAAMW,QAAQC,QAAQ,KAC7Cuf,EAAS,aACXhf,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDokB,EAAgB,aAClB7jB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDmkB,EAAgB,aAClB5jB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDqhB,EAAkB,OAClBgH,EAAiB9nB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMS,UAC1DqkB,EAAc9kB,EAAMqC,UAAUC,QAAQJ,GAE1B,YAAZ40B,IACF7U,EAAkBjiB,EAAMW,QAAQC,QAAQ,IACxCuf,EAAS,wBACT6E,EAAgB,aAAahlB,EAAMW,QAAQC,QAAQ,OACnDmkB,EAAgB,aAAa/kB,EAAMW,QAAQC,QAAQ,QAErC,WAAZk2B,IACF7U,EAAkBjiB,EAAMW,QAAQC,QAAQ,MAGtCmhB,IACF7B,EAAYlgB,EAAMW,QAAQC,QAAQ,KAClCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,OAC5CokB,EAAgB,aAAahlB,EAAMW,QAAQC,QAAQ,QAGrD,MAAM62B,EAAuB3R,GACvBkR,EAAuBA,EAAelR,GAClCA,eAAAA,EAAYtE,MAuDhBkW,EAAkB73B,EAAM83B,SAAQ,KACpC,IAAIlzB,EAAc,GAuBlB,OArBI4yB,GAAoBtd,EAAQpU,OAAS,EACvCoU,EAAQ1D,SAASyP,WAEZkR,GACCA,EAAelR,GACZxS,cACAjL,OACAiT,SAAS+b,EAAiB/jB,cAAcjL,UAC3C2uB,IACkB,QAAjBzV,EAAAuE,aAAA,EAAAA,EAAYtE,aAAK,IAAAD,OAAA,EAAAA,EACdjO,cACDjL,OACAiT,SAAS+b,EAAiB/jB,cAAcjL,WAE7C5D,EAAO8E,KAAKuc,MAIhBrhB,EAASsV,EAGJtV,CAAM,GACZ,CAACsV,EAASsd,IAEPO,EAAe,KACfn0B,EAAI6e,SACNqI,EAAiB,CACfC,IAAKnnB,EAAI6e,QAAQuV,UAAYp0B,EAAI6e,QAAQ6I,aACzCN,KAAMpnB,EAAI6e,QAAQwV,WAClBrX,MAAOhd,EAAI6e,QAAQoJ,eAwDzB,OAlDA7rB,EAAMwiB,WAAU,KACd,GAAI5e,EAAI6e,QAAS,CACf,MAAMsJ,EAAgB,KAChBnoB,EAAI6e,SACNsV,KAIE/L,EAAgB1lB,WAEJ,QAAXob,EAAA9d,EAAI6e,eAAO,IAAAf,OAAA,EAAAA,EAAEuK,SAAS3lB,EAAEvB,UAC3B0lB,GAAQ,IAOZ,OAHAlZ,OAAO2a,iBAAiB,SAAUH,GAClCxa,OAAO2a,iBAAiB,QAASF,GAE1B,KACLza,OAAO4a,oBAAoB,SAAUJ,GACrCxa,OAAO4a,oBAAoB,QAASH,EAAa,KAGpD,CAACpoB,IAGJ5D,EAAMwiB,WAAU,KACd,IAAKhiB,EAKH,OAJA+2B,EAAc,IACdE,EAAoB,IACpBE,EAAmB,SACnBlN,GAAQ,GAILplB,MAAMC,QAAQ9E,IAAQ+2B,EAAcK,EAAoBp3B,IAEzD2iB,GAAY9d,MAAMC,QAAQ9E,GAC5Bm3B,EAAmBn3B,GAEnBm3B,EAAmB,CAACn3B,MAErB,CAACA,EAAO0Z,IAEXla,EAAMwiB,WAAU,KACVgI,GACFuN,MAED,CAACvN,EAAMkN,IAGRhV,EAAAA,KAACE,GACS,CAAAY,OAAArjB,EACRoe,UAAWxb,EAAa,2BAA4Bwb,GAEpDne,SAAA,CAAAC,EAAAA,IAAA,QAAA,CAAOke,UAAW2D,EAAW,gBAAa3a,EAASnH,SAAGuhB,IACtDe,EAAAA,KAACoC,GACC,CAAAlhB,IAAKA,EACLwf,QAAS,IAAMqH,GAASyN,IAAeA,IACvC3Z,UACE,4BACC4E,EAAW,YAAc,KACzBjB,EAAW,WAAa,IAEbjC,aAAA,CACZ9f,QACAO,UAAWP,EAAMO,UACjBkkB,SAAUlF,GAAMyC,GAAY3Q,EAC5BqP,OAAQnB,GAAMyC,GAAYlF,EAC1BmD,QAASV,GAAMyC,GAAYpc,EAC3BnE,SAAU8d,GAAMyC,GAAY3U,EAC5B2b,uBACA9I,YACAC,SACA6E,gBACAD,gBACA9C,kBACA6C,eACD7kB,SAAA,CAEA+iB,KACGiU,GACCA,GACCM,IACAA,aAAA,EAAAA,EAAiB5xB,SAAUsxB,KAC/BM,aAAe,EAAfA,EAAiB3pB,KAAI,CAACkY,EAAIkS,IACxBzV,OAACkB,GAAc,CAAAK,SAAQ,EAAAvX,KAAM,SAAU6W,MAAM,UAC1CnjB,SAAA,CAAAw3B,EAAoB3R,GACrB5lB,MACE,SAAA,CAAAke,UAAU,aACV6E,QAAU9c,GAtJC,EAACA,EAAyB8xB,KAGjD,GAFA9xB,EAAE+xB,kBAEElV,GAAYuU,EAAiB,CAC/B,IAAIY,EAAiB,GACrB,MAAMC,EAAqBb,EAAgB/tB,QAAQ6uB,GAAOA,IAAOJ,IACjET,EAAmBY,GACnBD,EAAYpe,EAAQvQ,QAAQsc,GAAOsS,EAAmB9c,SAASwK,KAC/DpE,GAAYA,EAASvb,EAAGgyB,KA8IEG,CAAiBnyB,EAAG2f,OAJ9BkS,MASbhV,GACCiU,GACAA,EAAgB,GAChBM,IACAA,aAAe,EAAfA,EAAiB5xB,QAASsxB,GACxB1U,EAAAC,KAACiB,GAAI,CAAAK,SAAQ,EAAAvX,KAAM,SAAU6W,MAAM,UAASnjB,SAAA,CACzCi3B,GAAgB,GAAGK,EAAgB5xB,kBACpCzF,EAAAA,IAAA,SAAA,CAAQke,UAAU,aAAa6E,QAtJb9c,IAC5BA,EAAE+xB,kBAEElV,GAAYuU,IACdC,EAAmB,IACnB9V,GAAYA,EAASvb,EAAG,WAqJtBjG,MAAA,QAAA,CACEke,UAAU,QACV2D,SAAUA,EACVgV,YAAaA,EACb12B,MAAO82B,EACPzV,SAAWvb,IACJkkB,GACHC,GAAQ,GAEV8M,EAAcjxB,EAAEvB,OAAOvE,OACvBi3B,EAAoBnxB,EAAEvB,OAAOvE,MAAM,QAKxCq3B,eAAAA,EAAiB/xB,QAAS,GACzBzF,EAAAA,IAAA,MAAA,CACEke,UAAW,SAAWiM,EAAO,gBAAkB,IAC/CvmB,MAAO4mB,EAENzqB,SAAAy3B,EAAgB9pB,KAAI,CAACyqB,EAAItvB,KACxB,IAAKsvB,EAAI,OAAO,KAEhB,IAAIE,EAAcF,EAKlB,MAJkB,iBAAPA,IACTE,EAAeF,eAAAA,EAAY7W,OAI3BthB,EAACC,IAAA2iB,GAEC,CAAAziB,MAAOg4B,EACPpV,QAAS,CAAC9c,EAAG8K,IApOG,EAAC9K,EAAyBqyB,KAKtD,GAJIxV,GACF7c,EAAE+xB,kBAGAlV,GAAYuU,EAAiB,CAC/B,IAAIY,EAAiB,GAErB,GAAIZ,EAAgBjc,SAASkd,GAAW,CACtC,MAAMJ,EAAqBb,EAAgB/tB,QACxC6uB,GAAOA,IAAOG,IAEjBhB,EAAmBY,GACnBD,EAAYC,EAGd,IAAKb,EAAgBjc,SAASkd,GAAW,CACvC,MAAMJ,EAAqB,IAAIb,EAAiBiB,GAChDhB,EAAmBY,GACnBD,EAAYC,EAEd1W,GAAYA,EAASvb,EAAGgyB,OACnB,CACLzW,GAAYA,EAASvb,EAAGqyB,GACxBhB,EAAmB,CAACgB,IACpB,MAAMD,EAAcd,EAAoBe,GACxCpB,EAAcmB,KA0MeE,CAAsBtyB,EAAG8K,GAC5C8R,SAAUwU,aAAA,EAAAA,EAAiBjc,SAAS+c,GAEnCp4B,SAAA+2B,EAAiBA,EAAeqB,GAAME,GALlCxvB,EAMQ,MAMvB7I,EAAAA,IAAC+kB,GAAmB,CAAAE,SACR8D,EACV7K,UAAW,+BAAiCiM,EAAO,QAAU,QAE/C,iBC9SoB,EACxC9d,OAAO,SACPigB,OACAzD,OACA2P,WACAta,YACAua,SACA5vB,QACAoX,UAAS,EACTmE,cAAc,gBAEd,MAAMtkB,EAAQuE,IAEd,IAAItE,EAAgBusB,EAChBoM,GAAS,EAWb,OATI7P,IACF6P,GAAS,EACT34B,EAAW8oB,GAGT2P,IACFz4B,EAAWC,EAAKC,IAAA,MAAA,CAAAu2B,IAAI,SAASxJ,IAAKwL,KAIlCx4B,MAACuiB,GAAe,CAAAY,OACNrjB,EACDylB,MAAAlG,GAAMhT,GAAKqZ,QACT+S,EAAM9S,QACN+S,EACTxa,UAAWxb,EAAa,qBAAsBwb,GACtC4H,OAAAjd,EACC2c,QAAAvF,eACKmE,EAAWrkB,SAExBA,GACe,qBC3D4B,EAAG44B,QAAOza,gBAC1D,MAAMpe,EAAQuE,KACP8lB,EAAMC,GAAWzqB,EAAM0qB,UAAS,GACjC9mB,EAAM5D,EAAMqS,OAAwB,MACpC4mB,EAAej5B,EAAMqS,OAAuB,OAC3CwY,EAAeC,GAAoB9qB,EAAM0qB,SAAS,CACvDK,IAAK,EACLC,KAAM,EACNpK,MAAO,IAGHsY,EAAkB,KACtBzO,GAAQ,EAAK,EAGf,IAAIrqB,EAAgB44B,EAAMjrB,KAAI,CAACyqB,EAAIL,IACjC93B,cACEke,UAAU,uBAEV6E,QAAS,IAAMoV,EAAGpV,SAAWoV,EAAGpV,UAE/BhjB,SAAAo4B,EAAG7W,OAHCwW,KAOT,GAAIa,EAAMlzB,OAAS,EAAG,CACpB,MAAMqzB,EAAe,CAACH,EAAMA,EAAMlzB,OAAS,GAAIkzB,EAAMA,EAAMlzB,OAAS,IAEpE1F,EACEsiB,EAAAA,KAAAuE,EAAAA,SAAA,CAAA7mB,SAAA,CACEC,cACEke,UAAU,uBACV6E,QAAS,IAAM4V,EAAM,GAAG5V,SAAW4V,EAAM,GAAG5V,mBAE3C4V,EAAM,GAAGrX,QAEZthB,EAAAA,YACEuD,IAAKA,EACLwf,QAAS8V,EACT3a,UAAU,6CAIX4a,EAAaprB,KAAI,CAACyqB,EAAIL,IACrB93B,EAAAA,IAAA,OAAA,CACEke,UAAU,uBAEV6E,QAAS,IAAMoV,EAAGpV,SAAWoV,EAAGpV,UAAShjB,SAExCo4B,EAAG7W,OAHCwW,QA8Cf,OApCAn4B,EAAMwiB,WAAU,KACd,GAAI5e,EAAI6e,SAAWwW,EAAaxW,QAAS,CACvCqI,EAAiB,CACfC,IAAKkO,EAAaxW,QAAQuV,UAAYiB,EAAaxW,QAAQ6I,aAC3DN,KAAMiO,EAAaxW,QAAQwV,WAC3BrX,MAAOqY,EAAaxW,QAAQoJ,cAG9B,MAAME,EAAgB,KAChBnoB,EAAI6e,SAAWwW,EAAaxW,SAC9BqI,EAAiB,CACfC,IACEkO,EAAaxW,QAAQuV,UACrBiB,EAAaxW,QAAQ6I,aACvBN,KAAMiO,EAAaxW,QAAQwV,WAC3BrX,MAAOqY,EAAaxW,QAAQoJ,aAC5B,EAGAG,EAAgB1lB,WAEK,QAApBob,EAAAuX,EAAaxW,eAAO,IAAAf,OAAA,EAAAA,EAAEuK,SAAS3lB,EAAEvB,UACpC0lB,GAAQ,IAOZ,OAHAlZ,OAAO2a,iBAAiB,SAAUH,GAClCxa,OAAO2a,iBAAiB,QAASF,GAE1B,KACLza,OAAO4a,oBAAoB,SAAUJ,GACrCxa,OAAO4a,oBAAoB,QAASH,EAAa,KAGpD,CAACpoB,IAGF8e,EAAAA,KACEuE,EAAAA,SAAA,CAAA7mB,SAAA,CAAAC,EAAAA,IAACuiB,GAAe,CACdrE,UAAWxb,EAAa,yBAA0Bwb,GAC1CiF,OAAArjB,EACDimB,MAAoB,QAApBjmB,EAAMO,U2EjHX,yXCAA,yW5EkHFkD,IAAKq1B,WAEJ74B,IAGF44B,EAAMlzB,OAAS,GACdzF,EAAAA,IAACgmB,GAAU,CAAA7C,OACDrjB,EACRoe,UAAW,wBAA0BiM,EAAO,gBAAkB,IAC9DvmB,MAAKgB,OAAAC,OAAA,CAAA,EAAO2lB,GAAazqB,SAExB44B,EAAMjrB,KAAI,CAACyqB,EAAIL,IACd93B,EAAAA,IAAC4iB,IAAuBG,QAAS,IAAMoV,EAAGpV,SAAWoV,EAAGpV,mBACrDoV,EAAG7W,OADawW,SAMxB,iCI7GgCzW,WAAAyU,MACrCA,EAAKvU,YACLA,EAAWsH,KACXA,EAAI/kB,KACJA,EAAO,UAASi1B,MAChBA,EAAQ,UAASC,OACjBA,EAAS,aAAYC,kBACrBA,EAAiBC,eACjBA,EAAcrW,SACdA,EAAQkT,SACRA,EAAQvU,SACRA,GAEDH,EADIvX,EAAK9D,EAAAqb,EAZ6B,8HAcrC,MAAMvhB,EAAQuE,KACP80B,EAAkBC,GAAuBz5B,EAAM0qB,UAAS,IACxD8L,EAAeC,GAAoBz2B,EAAM0qB,SAAS,GACnD6L,EAAav2B,EAAMqS,OAAuB,MAG1CqnB,OAA0BnyB,IAAb6uB,EAAyBA,EAAWoD,EAEjDG,EAAsB,eAATx1B,EACby1B,EAAsB,eAATz1B,EACb01B,EACK,eAAT11B,GAAkC,eAATA,EAAwB,MAAQ,OAE3DnE,EAAMwiB,WAAU,WACVoX,IAAkC,QAApBlY,EAAA6U,EAAW9T,eAAS,IAAAf,OAAA,EAAAA,EAAA4J,eACpCmL,EAAiBF,EAAW9T,QAAQ6I,gBAErC,CAACsO,EAAgC,QAApBvV,EAAAkS,EAAW9T,eAAS,IAAA4B,OAAA,EAAAA,EAAAiH,eASpC,OACE5I,EAAAA,KAACE,GAAe3d,OAAAC,OAAA,CACdqZ,UAAWxb,EACT,oBACa,aAAVq2B,EAAuB,YAAc,KACrCO,EAAa,cAAgB,IAChCxvB,EAAMoU,WACPiF,OACOrjB,EACQ+mB,eAAA2S,EACPzS,QAAAiS,iBACO7C,EAAasD,UAClBJ,EACHvS,OAAAiS,GACJjvB,EAAK,CACTgmB,SAAU,EACV/M,QAAU9c,IACR6D,EAAMiZ,SAAWjZ,EAAMiZ,QAAQ9c,GAC/Bub,SAAAA,EAAWvb,GAAI4c,EAAS,EAGzB9iB,SAAA,EAAC8oB,GAAQyQ,IACRjX,EAAAA,KAAA,MAAA,CAAKnE,UAAU,aAAYne,SAAA,CACzBC,aAAKke,UAAU,gBAAene,SAAE8oB,IAC/ByQ,GACCt5B,EAAAA,IAAA,MAAA,CACEke,UAAU,oBACV6E,QAAU9c,GAAMA,EAAE+xB,2BAElBh4B,EAACC,IAAAmhB,GACC,CAAAjhB,MAAO0iB,EACPrB,SAAUA,EACVnV,KAAK,SACLwV,SAAoB,aAAVkX,SAMnBjD,GAAS91B,MAAK,MAAA,CAAAke,UAAU,iBAAkBne,SAAA+1B,IAC1CvU,GAAevhB,EAAAC,IAAA,MAAA,CAAKie,UAAU,uBAAsBne,SAAEwhB,MACpD2X,GAAkBA,EAAezzB,OAAS,GAAc,YAAT3B,GAChD9D,EACEC,IAAA,MAAA,CAAAie,UAAU,0BACV6E,QAAU9c,GAAMA,EAAE+xB,kBAEjBj4B,SAAAm5B,IAGJK,GACClX,EAAAC,KAAAsE,WAAA,CAAA7mB,SAAA,CACEC,EAAAA,IAAK,MAAA,CAAAke,UAAU,gCACble,EAAAA,IACE,MAAA,CAAAgtB,IAAKyJ,GACL1T,QA7De,UACR7b,IAAb6uB,GAEFqD,GAAqBvB,IAAwBA,KA2DrCj0B,MAAO,CACL8yB,WAAY,WACZC,UAAW0C,EAAa,mBAAqB,YAInDr5B,EAAAA,IAAA,MAAA,CACEke,UAAU,6BACVta,MAAO,CAAE4c,OAAQ6Y,EAAalD,EAAgB,GAAGp2B,SAEjDC,EACEC,IAAA,MAAA,CAAAie,UAAU,oBACV3a,IAAK2yB,EACLtyB,MAAO,CAAE81B,WAAYL,EAAa,UAAY,UAE7Ct5B,SAAAk5B,YAKO,mC6DvHiB5X,IAAA,IAAAhV,KACrCA,EAAO,QAAOzI,MACdA,EAAQ,UAASggB,QACjBA,GAAU,EAAIO,QACdA,GAAU,EAAKtB,SACfA,GAAW,EAAKhB,SAChBA,GAAW,EAAK9hB,SAChBA,EAAQ2jB,SACRA,EAAQC,UACRA,GAEDtC,EADIvX,EAAK9D,EAAAqb,EAV6B,8FAYrC,MAAMvhB,EAAQuE,IAEd,OACEge,EAAAA,KAACE,GACQ3d,OAAAC,OAAA,CAAA0gB,MAAAlZ,SACCvM,EAAKk0B,SACHpQ,EAAOZ,UACNH,EACX3E,UAAWxb,EACT,oBACa,YAAVkB,EAAsB,WAAa,KACnCie,EAAW,YAAc,KACzBsC,EAAU,WAAa,IAC1Bra,EAAMoU,WAER4R,SAAU,GACNhmB,EAEH,CAAA/J,SAAA,CAAA2jB,GAAY1jB,EAAKC,IAAA,MAAA,CAAAie,UAAU,WAAUne,SAAE2jB,IACxC1jB,EAAAA,IAAM,MAAA,CAAAD,SAAAA,IACL4jB,GAAa3jB,EAAAC,IAAA,MAAA,CAAKie,UAAU,qBAAayF,OAC1B,0BThCuCtC,IAAA,IAAAhV,KAC3DA,EAAO,SAAQ8X,QACfA,GAAU,EAAKwV,KACfA,EAAIC,cACJA,GAEDvY,EADIvX,EAAK9D,EAAAqb,EALmD,2CAO3D,MAAMvhB,EAAQuE,IAEd,OACErE,MAACuiB,GAAe,CAAAY,OACNrjB,EACEwzB,SAAAnP,QACH9X,EACP6R,UAAWxb,EACT,+BAAiCyhB,EAAU,WAAa,IACxDra,EAAMoU,WAGPne,SAAA45B,EAAKjsB,KAAI,CAAC3I,EAAM8D,IACf7I,EAAAC,IAAA,MAAA,CAEE6vB,SAAU,EACV5R,UACE,mCAAqCnZ,EAAK6c,OAAS,UAAY,IAEjEmB,QAAS,IAAM6W,GAAiBA,EAAc70B,EAAM8D,GAAM9I,SAEzDgF,EAAKunB,MAPDzjB,MAUO,qB5CtBc,EAClCgxB,SAAQ,EACRC,SAAQ,EACRC,UACAC,UACAC,UACAC,UACA1Y,WACA2Y,gBACAh6B,QACAi6B,iBAAgB,EAChBC,iBACAC,iBAAgB,EAChBC,iBAAiB,UAEjB,MAAMz6B,EAAQuE,KACPooB,EAAM+N,GAAW76B,EAAM0qB,YACvBoQ,EAAUC,GAAe/6B,EAAM0qB,SAAS,KACxCsQ,EAAWC,GAAgBj7B,EAAM0qB,SAAmB,KACpDwQ,EAAkBC,GAAuBn7B,EAAM0qB,SAAS,GACzD0Q,EAAcp7B,EAAMqS,SAEpBgpB,EACJlB,GAAS90B,MAAMC,QAAQwnB,IAAyB,IAAhBA,EAAKhnB,OA0BvC9F,EAAMwiB,WAAU,KACd,IAAI8Y,EAAiB,EACjBC,EAAiB,EACjBrB,GACFoB,EAAiBhB,EAAUA,EAAQvS,KAAOqS,GAAW,KACrDmB,EAAiBhB,EAAUA,EAAQxS,KAAOsS,GAAW,OAErDiB,EAAiBhB,EAAUA,EAAQvS,KAAOqS,GAAW,KACrDmB,GAAkBhB,EAAUA,EAAQxS,KAAOsS,GAAW,MAAQ,GAGhE,IAAImB,EAAyB,GAG7B,GAAIF,GAAkBC,EAKpB,OAJAC,EAAen2B,MAAM,KAClB0b,KAAK,GACLhT,KAAI,CAACX,EAAGlE,IAAUA,EAAQ,YAC7B+xB,EAAaO,GAKbA,EADEF,GAAkBC,EACLl2B,MAAMk2B,EAAiBD,GACnCva,KAAK,GACLhT,KAAI,CAACX,EAAGlE,IAAUA,EAAQoyB,IACpBA,IAAmBC,EACbl2B,MAAM,KAClB0b,KAAK,GACLhT,KAAI,CAACX,EAAGlE,IAAUA,EAAQoyB,KACnBA,GAAkBC,EACbl2B,MAAM,KAClB0b,KAAK,GACLhT,KAAI,CAACX,EAAGlE,IAAUA,GAASgxB,EAAQ,KAAO,QAEzCA,EACa70B,MAAM,KAClB0b,KAAK,GACLhT,KAAI,CAACX,EAAGlE,IAAUA,EAAQ,OAEd7D,MAAM,KAClB0b,KAAK,GACLhT,KAAI,CAACX,EAAGlE,IAAUA,EAAQ,OAGjC+xB,EAAaO,EAAa,GACzB,CAACpB,EAASC,EAASC,EAASC,EAASL,IAExCl6B,EAAMwiB,WAAU,KACd,MAAMiZ,GAAW,IAAIr4B,MAAOs4B,cACtBC,GAAY,IAAIv4B,MAAOw4B,WAAa,EAGxCT,EADEjB,EAuZR,SACE2B,EACAC,GAGA,IAAIC,GAAaF,EAAgB,KAAO,QAGpCC,GAAkB,IACpBC,GAAa,GAGf,OAAOx4B,KAAKy4B,MAAMD,EACpB,CAna0BE,CAAyBR,EAAUE,GAEnCF,KAErB,CAACvB,IAEJl6B,EAAMwiB,WAAU,KACT2X,GACHU,OAAQtzB,KAET,CAAC4yB,IAEJn6B,EAAMwiB,WAAU,KACdqY,EAAQr6B,EAAM,GACb,CAACA,IAEJR,EAAMwiB,WAAU,KACd,IAAI0Z,EAAc,GACd/B,GAAS90B,MAAMC,QAAQwnB,IAAyB,IAAhBA,EAAKhnB,OACvCo2B,EAAc,GAAGrP,GAAWC,EAAK,MAAM8N,IAAiB/N,GACtDC,EAAK,MAEEA,IAASznB,MAAMC,QAAQwnB,KAChCoP,EAAcrP,GAAWC,IAE3BiO,EAAYmB,EAAY,GACvB,CAACpP,EAAMqN,IAEV,MAAMgC,EACJ97B,MAAC+7B,EAAAA,SACC,CAAAx4B,IAAKw3B,EACL56B,MAAOA,GAASssB,EAChBqN,MAAOA,EACPgC,SAAUjC,EAAQmC,GAASC,GAC3BC,cAAgBj2B,GAAM60B,EAAoB70B,EAAEyhB,MAG5CyU,OACEtC,EAAQxR,GAAgC,QAApBvoB,EAAMO,UAAsB2nB,QAAe9gB,EAEjEmgB,kBAAmBwS,EAAQ,EAAI,EAC/B3R,SACE2R,EACI,CAAC,MAAO,MAAO,QAAS,SAAU,SAAU,OAAQ,QAChC,QAApB/5B,EAAMO,UACN,CAAC,MAAO,QAAS,SAAU,SAAU,OAAQ,OAAQ,YACrD6G,EAENsa,SA7HqBiL,IACvB+N,EAAQ/N,GAEJqN,GAASK,GAAiBn1B,MAAMC,QAAQwnB,GAC1C0N,EAAc1N,GAEdA,GAAQjL,GAAYA,EAASiL,GAG3B6N,IACER,GAAS90B,MAAMC,QAAQwnB,IAASA,EAAKhnB,OAAS,EAChDhC,SAASsoB,KAAKqQ,QACJtC,GACVr2B,SAASsoB,KAAKqQ,UAiHhBC,OAAO,aACPC,eAAa,EACbC,mBAAmB,IACnBtC,QAASA,EACTC,QAASA,EAAOn6B,SAEhBC,EAAKC,IAAA,MAAA,CAAAie,UAAU,cACbne,SAAAC,EAAAC,IAAA,SAAA,CACEE,MAAO06B,EACPrZ,SAAWvb,GArHW,CAAC8K,UAC7BypB,OAAQtzB,GACuB,QAA/Bma,EAAC0Z,aAAW,EAAXA,EAAa3Y,eAAiB,IAAAf,GAAAA,EAAAzK,IAAI,OAAQ7F,GAC3C+pB,EAAoB/pB,EAAE,EAkHCyrB,EAAuBv2B,EAAEvB,OAAOvE,OAEhDJ,SAAA46B,EAAUjtB,KAAKyqB,GAEZn4B,EAAiBC,IAAA,SAAA,CAAAE,MAAOg4B,EACrBp4B,SAAAo4B,GADUA,WAUzB,OACE9V,EAAAC,KAACC,GAAe,CACdrE,UACE,SAAW8c,EAA4B,wBAA0B,IAAG7X,OAE9DrjB,EAAKC,SAAA,EAEXq6B,GAAiB0B,EAClB1B,GACCp6B,MAAC6pB,GAAI,CAACC,UAAWgS,EAAU/R,wBAAsB,EAAAhqB,SAC/CC,EAACC,IAAAsoB,GACC3jB,OAAAC,OAAA,CAAA1E,OAAOk6B,aAAA,EAAAA,EAAgBl6B,QAASs6B,EAChCgC,UACI,GAAApC,QAIM,kB6C/MuBhZ,QAAA6B,MAC3CA,EAAKwZ,SACLA,EAAW,gBACR5yB,EAHwC9D,EAAAqb,EAAA,CAAA,QAAA,aAK3C,MAAMvhB,EAAQuE,IAEd,OACErE,EAACC,IAAAsiB,GACK3d,OAAAC,OAAA,CAAA,EAAAiF,UACIhK,EAAK2zB,OACLvQ,EAAKsQ,UACFkJ,EACXxe,UAAWxb,EAAa,sBAAuBoH,EAAMoU,aACrD,mBxCJ2CmD,IAAA,IAAAyU,MAC/CA,EAAKhJ,WACLA,EAAU6P,WACVA,EAAUC,OACVA,EAAMC,UACNA,EAASC,sBACTA,EAAqBC,aACrBA,GAAY1b,EACT2b,EAAKh3B,EAAAqb,EARuC,iGAU/C,MAAMvhB,EAAQuE,KACP44B,EAAgBC,GAAqBv9B,EAAM0qB,UAAS,GACrD9mB,EAAM5D,EAAMqS,OAAuB,MACnCkQ,EAAWviB,EAAMqS,OAAyB,MAE1CmrB,EAAiBC,IACrB,GAAIA,EAAU,CACZ,MAAM74B,EAA0B,GAChC,IAAK,MAAM84B,KAAQD,EACjB74B,EAAO8E,KAAK,CACVgT,GAAIvZ,IACJu6B,SAGJT,EAAOr4B,KA+BX,OA3BA5E,EAAMwiB,WAAU,KACd,GAAI5e,EAAI6e,QAAS,CACf,MAAMkb,EAAmBr3B,IACvBA,EAAEuvB,iBACF0H,GAAkB,EAAK,EAEnBK,EAAkB,KACtBL,GAAkB,EAAM,EAEpBM,EAAev3B,UACnBA,EAAEuvB,iBACF0H,GAAkB,GAClBC,EAA8B,UAAhBl3B,EAAEw3B,oBAAc,IAAApc,OAAA,EAAAA,EAAAqc,MAAM,EAOtC,OAJAn6B,EAAI6e,QAAQyJ,iBAAiB,WAAYyR,GACzC/5B,EAAI6e,QAAQyJ,iBAAiB,YAAa0R,GAC1Ch6B,EAAI6e,QAAQyJ,iBAAiB,OAAQ2R,GAE9B,eACQ,QAAbnc,EAAA9d,EAAI6e,eAAS,IAAAf,GAAAA,EAAAyK,oBAAoB,WAAYwR,GAChC,QAAbtZ,EAAAzgB,EAAI6e,eAAS,IAAA4B,GAAAA,EAAA8H,oBAAoB,UAAWyR,GAC/B,QAAbtR,EAAA1oB,EAAI6e,eAAS,IAAA6J,GAAAA,EAAAH,oBAAoB,OAAQ0R,EAAY,KAGxD,CAACj6B,IAGF8e,EAAKC,KAAA,MAAA,CAAApE,UAAW,2CACdmE,EAACC,KAAAC,GACS,CAAAY,OAAArjB,EACRyD,IAAKA,EACL2a,UAAW+e,EAAiB,UAAY,GACxCla,QAAS,KAAM,IAAA1B,EAAA,OAAkB,UAAlBa,EAASE,eAAS,IAAAf,OAAA,EAAAA,EAAA+a,OAAO,EAExCr8B,SAAA,CAAAC,EAAAC,IAACogB,GAAI,CAAA,GACLrgB,EAAMC,IAAA,OAAA,CAAAie,UAAU,iBACb4X,QAAAA,EAAS,uCAEZ91B,EAAAC,IAAA,OAAA,CAAMie,UAAU,aAAcne,SAAA+sB,IAC7BiQ,GAAgBA,GACfA,GACA/8B,EAAAC,IAACimB,GAAO,CAAAhD,MAAM,UAAUtf,MAAM,UAAUie,SAAUmb,EAAMnb,kBACrD8a,QAAAA,EAAc,iBAGnB38B,EACEC,IAAA,QAAA2E,OAAAC,OAAA,CAAAtB,IAAK2e,EACLV,SAAWvb,GAAMk3B,EAAcl3B,EAAEvB,OAAOg5B,YAASx2B,GACjDpD,KAAK,QACDk5B,EACJ,CAAAla,UAAUka,EAAMla,UAAWka,EAAMla,eAIpC+Z,aAAS,EAATA,EAAWnvB,KAAKyqB,UAAO,OACtBn4B,MAAC2sB,GAAQ,CACP7sB,MAAOA,EAEP8sB,OAAQuL,EAAGvL,OACXC,SAAiB,UAAPsL,EAAGkF,YAAI,IAAAhc,OAAA,EAAAA,EAAEpO,KACnB6Z,WAAYqL,EAAGrL,WACfC,SAAU,IAAM+P,GAAyBA,EAAsB3E,IAJ1DA,EAAG9b,GAKR,MAEA,mBE1EqCvS,IAC7C,MAAMhK,EAAQuE,KAER00B,MACJA,EAAK93B,MACLA,EAAK08B,OACLA,EACA/5B,MAAOg6B,EAAYpc,SACnBA,EAAQzhB,SACRA,EAAQiqB,OACRA,EAAM9L,UACNA,EAAS2f,cACTA,EAAavc,MACbA,EAAKuV,YACLA,EAAW12B,MACXA,EAAK29B,aACLA,EAAYhb,SACZA,EAAQ7P,KACRA,EAAI5G,KACJA,GAEEvC,EADCi0B,EAAU/3B,EACX8D,EAlBE,CAAA,QAAA,QAAA,SAAA,QAAA,WAAA,WAAA,SAAA,YAAA,gBAAA,QAAA,cAAA,QAAA,eAAA,WAAA,OAAA,UAmBCk0B,EAAoBC,GAAyBt+B,EAAM0qB,SAAS,KAC5DF,EAAMC,GAAWzqB,EAAM0qB,UAAS,IAChCG,EAAeC,GAAoB9qB,EAAM0qB,SAAS,CACvDK,IAAK,EACLC,KAAM,EACNpK,MAAO,IAEHhd,EAAM5D,EAAMqS,OAAuB,MAEnC8P,EAAiCzV,QAAAA,EAAQ,QAG/C,IAAI2T,EAAYlgB,EAAMS,UAClBuoB,EAAuBhpB,EAAMW,QAAQC,QAAQ,KAC7Cuf,EAAS,aACXhf,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDokB,EAAgB,aAClB7jB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDmkB,EAAgB,aAClB5jB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMW,QAAQC,QAAQ,OAEvDqhB,EAAkB,OAClBgH,EAAiB9nB,EAAQnB,EAAMW,QAAQQ,MAAM,KAAOnB,EAAMS,UAC1DqkB,EAAc9kB,EAAMqC,UAAUC,QAAQJ,GAGrB,WAAjB47B,IACF7b,EAAkBjiB,EAAMW,QAAQC,QAAQ,IACxCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,QAEzB,kBAAjBk9B,IACF7b,EAAkBjiB,EAAMW,QAAQC,QAAQ,KACxCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,QAEzB,mBAAjBk9B,IACF7b,EAAkBjiB,EAAMW,QAAQC,QAAQ,IACxCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,QAI1Ci9B,IACF5b,EAAkBjiB,EAAMW,QAAQC,QAAQ,IACxCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,QAIhC,aAAVq4B,IACF/Y,EAAYlgB,EAAMW,QAAQC,QAAQ,KAClCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,OAC5CokB,EAAgB,aAAahlB,EAAMW,QAAQC,QAAQ,OACnDmkB,EAAgB,aAAa/kB,EAAMW,QAAQC,QAAQ,OACnDqhB,EAAkBjiB,EAAMW,QAAQC,QAAQ,KAE5B,cAAVq4B,IACFhX,EAAkBjiB,EAAMW,QAAQC,QAAQ,IACxCuf,EAAS,aAAangB,EAAMW,QAAQC,QAAQ,OAC5CokB,EAAgB,aAAahlB,EAAMW,QAAQC,QAAQ,OACnDmkB,EAAgB,aAAa/kB,EAAMW,QAAQC,QAAQ,QAEvC,YAAVq4B,IACF9Y,EAAS6E,GAEG,YAAViU,IACF9Y,EAAS4E,EACTD,EAAc9kB,EAAMqC,UAAUC,QAAQJ,IAE1B,YAAV+2B,IACFhX,EAAkBjiB,EAAMW,QAAQC,QAAQ,KACxCuf,EAAS4E,GAIP5jB,IACFgf,EAAS,aAAangB,EAAMW,QAAQQ,MAAM,OAC1C6jB,EAAgB,aAAahlB,EAAMW,QAAQQ,MAAM,OACjD4jB,EAAgB,aAAa/kB,EAAMW,QAAQQ,MAAM,OACjD8nB,EAAiBjpB,EAAMW,QAAQQ,MAAM,MAGvC,MAAMy2B,EAAe,KACfn0B,EAAI6e,SACNqI,EAAiB,CACfC,IAAKnnB,EAAI6e,QAAQuV,UAAYp0B,EAAI6e,QAAQ6I,aACzCN,KAAMpnB,EAAI6e,QAAQwV,WAClBrX,MAAOhd,EAAI6e,QAAQoJ,eAKnB0S,EAAkB,CAACj4B,EAAyBqyB,KAKhD,GAJKxV,GACHtB,SAAAA,EAAWvb,EAAGqyB,GAGZxV,EAAU,CACZ,IAAImV,EAAY,GAEdA,EADE93B,GAAS6E,MAAMC,QAAQ9E,IAAUA,EAAMib,SAASkd,GACtCn4B,EAAMmJ,QAAQyH,GAAWA,IAAMunB,IAE/B,IAAKn4B,GAAS,GAAKm4B,GAEjC9W,SAAAA,EAAWvb,EAAGgyB,KAIZkG,EAAcx+B,EAAMuuB,SAASxgB,IAAI3N,GAAWouB,YAChD,GAAIA,EACF,OAAOxuB,EAAM2uB,aAAaH,EAAOvpB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAC5BspB,EAAMrkB,OAAK,CACdiZ,QAASmb,EACTrb,UACmD,UAAhDsL,EAAMrkB,aAA0C,IAAAuX,OAAA,EAAAA,EAAEwB,WACnD1iB,KAA2D,QAAhD6jB,EAAAmK,EAAMrkB,aAA0C,IAAAka,OAAA,EAAAA,EAAE7jB,QAC5D6E,MAAMC,QAAQ9E,IACbA,EAAMib,SACH+S,EAAMrkB,MAA2C3J,OAExD2iB,iBAgFN,OA3EAnjB,EAAMwiB,WAAU,KACd,IAAIic,EAAwB,GAExBtb,GACFqb,SAAAA,EAAazwB,KAAK2wB,IACXA,EAAKv0B,MAAuC+Y,WAC/Cub,EAAwBA,EAAsBx3B,OAC1Cy3B,EAAKv0B,MAAuC/J,SAC5C,UAKRq+B,EAAwBA,EAAsBz3B,MAC5C,EACAy3B,EAAsB34B,OAAS,IAGjC04B,SAAAA,EAAazwB,KAAK2wB,IACXA,EAAKv0B,MAAuC+Y,WAC/Cub,EAAyBC,EAAKv0B,MAC3B/J,aAKTk+B,EAAsBG,EAAsB,GAC3C,CAACD,EAAah+B,IAGjBR,EAAMwiB,WAAU,KACd,GAAI5e,EAAI6e,QAAS,CACf,MAAMsJ,EAAgB,KAChBnoB,EAAI6e,SACNsV,KAIE/L,EAAgB1lB,WAEJ,QAAXob,EAAA9d,EAAI6e,eAAO,IAAAf,OAAA,EAAAA,EAAEuK,SAAS3lB,EAAEvB,YAIxBoe,GACAA,GACC7c,EAAEvB,QACDuB,EAAEvB,OAAe45B,YAChBr4B,EAAEvB,OAAe45B,UAAU1S,SAAS,wBAExCxB,GAAQ,IAQd,OAHAlZ,OAAO2a,iBAAiB,SAAUH,GAClCxa,OAAO2a,iBAAiB,QAASF,GAE1B,KACLza,OAAO4a,oBAAoB,SAAUJ,GACrCxa,OAAO4a,oBAAoB,QAASH,EAAa,KAGpD,CAACpoB,IAGJ5D,EAAMwiB,WAAU,KACVgI,GACFuN,IAEEvN,GAAQH,GACVA,MAED,CAACG,EAAMH,IAGR3H,OAACE,GAAe3d,OAAAC,OAAA,CACdjB,MAAOi6B,EAAa1a,OACZrjB,EACRoe,UAAWxb,EAAa,uBAAwBwb,IAC5C6f,EAEH,CAAAh+B,SAAA,CAAAuhB,GACCthB,EAAAA,IACE,QAAA,CAAAke,UACY,aAAV6a,EACI,WACU,cAAVA,EACA,gBACA7xB,EAASnH,SAGduhB,IAGLe,EAAAA,KAACoC,GAAS,CACRlhB,IAAKA,EACLwf,QAAS,KACO,aAAVgW,GAAkC,cAAVA,GAC1B3O,GAASyN,IAAeA,KAG5B3Z,UACE,4BACW,aAAV6a,EAAuB,WAAa,KAC1B,cAAVA,EAAwB,YAAc,IAE3BnZ,aAAA,CACZ9f,QACAO,UAAWP,EAAMO,UACjBkkB,SAAUlF,GAAMyC,GAAY3Q,EAC5BqP,OAAQnB,GAAMyC,GAAYlF,EAC1BmD,QAASV,GAAMyC,GAAYpc,EAC3BnE,SAAU8d,GAAMyC,GAAY3U,EAC5B2b,uBACA9I,YACAC,SACA6E,gBACAD,gBACA9C,kBACA6C,eACD7kB,SAAA,CAEA82B,IAAgBiH,IAAiBE,GAChCh+B,EAAAC,IAAA,MAAA,CAAKie,UAAU,cAAene,SAAA82B,IAEhC72B,MAAK,MAAA,CAAAke,UAAU,eAAcne,SAAE+9B,GAAgBE,OAGjDh+B,EAAAC,IAAA,MAAA,CACEie,UAAW,uBAAyBiM,EAAO,gBAAkB,IAC7DvmB,MAAKgB,OAAAC,OAAA,CAAA,EAAO2lB,GAAazqB,SAExBo+B,IAGHn+B,EAAAA,IAAC+kB,aACWgE,EACV7K,UAAW,2BAA6BiM,EAAO,QAAU,SAE3C,iEC5S6B9I,IAAA,IAAAyU,MACjDA,EAAKhJ,WACLA,EAAU6P,WACVA,EAAUC,OACVA,EAAMC,UACNA,EAASC,sBACTA,EAAqBC,aACrBA,GAAY1b,EACT2b,EAAKh3B,EAAAqb,EARyC,iGAUjD,MAAMvhB,EAAQuE,IACR6d,EAAWviB,EAAMqS,OAAyB,MAehD,OACEqQ,EAAKC,KAAA,MAAA,CAAApE,UAAW,+BAA8Bne,SAAA,CAC5CsiB,OAACE,GAAe,CAAAY,OAASrjB,EAAOijB,QAAS,WAAM,eAAA1B,EAAAa,EAASE,8BAASga,OAAO,EAAAr8B,SAAA,CACtEC,EAAAA,YAAMke,UAAU,QAASne,SAAA+1B,IACzB91B,EAAAA,IAAA,OAAA,CAAMke,UAAU,sBAAc4O,IAC7BiQ,GAAgBA,GACfA,GACA/8B,EAACC,IAAAimB,IACChD,MAAM,UACNtf,MAAM,UACNie,SAAUmb,EAAMnb,SAChB/d,KAAK,kBAEJ64B,IAGL38B,EAAAA,IAAA,QAAA4E,OAAAC,OAAA,CACEtB,IAAK2e,EACLV,SAAWvb,GA/BG,CAACm3B,IACrB,GAAIA,EAAU,CACZ,MAAM74B,EAA0B,GAChC,IAAK,MAAM84B,KAAQD,EACjB74B,EAAO8E,KAAK,CACVgT,GAAIvZ,IACJu6B,SAGJT,EAAOr4B,KAsBc44B,CAAcl3B,EAAEvB,OAAOg5B,YAASx2B,GACjDpD,KAAK,QACDk5B,EACJ,CAAAla,WAAUka,EAAMla,UAAWka,EAAMla,eAIpC+Z,aAAS,EAATA,EAAWnvB,KAAKyqB,GACfn4B,EAAAA,IAAC2sB,GACC,CAAA7sB,MAAOA,EAEP8sB,OAAQuL,EAAGvL,OACXC,SAAUsL,EAAGkF,KAAKpqB,KAClB6Z,WAAYqL,EAAGrL,WACfC,SAAU,IAAM+P,GAAyBA,EAAsB3E,IAJ1DA,EAAG9b,QAOR,yB8CvEiDgF,IAAA,IAAAhV,KACzDA,EAAO,QAAOzI,MACdA,EAAQ,kBAAiBugB,QACzBA,GAAU,EAAKtB,SACfA,GAAW,EAAKhB,SAChBA,GAAW,EAAK4B,SAChBA,GAAW,EAAK1jB,SAChBA,EAAQ2jB,SACRA,GAEDrC,EADIvX,EAAK9D,EAAAqb,EATiD,mFAWzD,MAAMvhB,EAAQuE,IAEd,OACEge,EAAAA,KAACE,GACQ3d,OAAAC,OAAA,CAAA0gB,MAAAlZ,SACCvM,EAAKm0B,UACFxQ,EAAQT,UACRH,EACX3E,UAAWxb,EACT,8BACa,kBAAVkB,EAA4B,gBAAkB,KACpC,oBAAVA,EAA8B,kBAAoB,KAClDie,EAAW,YAAc,KACzBsC,EAAU,WAAa,IAC1Bra,EAAMoU,YAEJpU,EAEH,CAAA/J,SAAA,CAAA2jB,GAAY1jB,EAAAC,IAAA,MAAA,CAAKie,UAAU,WAAYne,SAAA2jB,IACvC3jB,IAAa0jB,GAAYzjB,MAAA,MAAA,CAAAD,SAAMA,OAChB,e5CjCiBshB,QAAAkd,UACrCA,EAASt8B,GACTA,EAAED,GACFA,EAAED,GACFA,EAAEksB,WACFA,EAAa,EAACD,cACdA,EAAgB,EAACjuB,SACjBA,KACG+J,EARkC9D,EAAAqb,EAAA,CAAA,YAAA,KAAA,KAAA,KAAA,aAAA,gBAAA,aAUrC,MAAMvhB,EAAQuE,KACRkpB,SAAEA,EAAQC,SAAEA,EAAQC,UAAEA,GAAcN,KAiB1C,GAAIoR,EAAW,CACb,MAAMJ,EAAcpQ,GAClBhuB,EACAiuB,EACAC,GAGF,OACEjuB,EAACC,IAAAytB,GACK9oB,OAAAC,OAAA,GAAAiF,EACI,CAAAqZ,OAAArjB,EACK6tB,YAAAM,EACGL,eAAAI,EAChB9P,UAAWxb,EAAa,4BAA6BoH,EAAMoU,WAE1Dne,SAAAo+B,KAKP,OACEn+B,EAACC,IAAA4tB,GACKjpB,OAAAC,OAAA,GAAAiF,EACI,CAAAqZ,OAAArjB,EACKguB,YAvCK,MACpB,IAAIvpB,EAAS,GAWb,OAVIgpB,GAAYtrB,IACdsC,EAAStC,GAEPurB,IACFjpB,EAASvC,GAAMC,GAGbwrB,IACFlpB,EAASxC,GAAMC,GAAMC,GAEhBsC,CAAM,EA2BEi6B,GAAe5Q,eACZI,EAChB9P,UAAWxb,EAAa,uBAAwBoH,EAAMoU,WAErDne,SAAAA,IACmB,yB+B9DiCshB,QAAAthB,SACzDA,EAAQ8iB,SACRA,GAAQxB,EACLvX,EAAK9D,EAAAqb,EAHiD,yBAKzD,MAAMvhB,EAAQuE,IAEd,OACErE,EAACC,IAAAsiB,GACK3d,OAAAC,OAAA,CAAA,EAAAiF,GACJoU,UAAWxb,EAAa,6BAA8BoH,EAAMoU,WAAUiF,OAC9DrjB,EAAKkjB,UACFH,EAEV9iB,SAAAA,IACe,sB7BL+BshB,QAAA4Q,SACnDA,EAAQC,SACRA,EAAQpuB,KACRA,EAAO,UAASquB,QAChBA,EAAOC,YACPA,EAAWnI,QACXA,EAAOwU,WACPA,GAAUpd,EACPvX,EAAK9D,EAAAqb,EAR2C,+EAUnD,MAAMvhB,EAAQuE,IACRguB,EAAclF,KACdmF,GDnBQ5Q,ECmBgC5hB,EDnB8C,CAC5FY,QAAS,CACPmoB,KsDhBM,qrDtDiBN4F,MAAO/M,EAAKjhB,QAAQC,QAAQ,KAC5Buf,OAAQyB,EAAKjhB,QAAQC,QAAQ,KAC7BguB,KAAMhN,EAAKjhB,QAAQC,QAAQ,KAC3BujB,GAAIvC,EAAKjhB,QAAQC,QAAQ,KAE3B0lB,YAAa,CACXyC,KuDvBM,isDvDwBN4F,MAAO/M,EAAKjhB,QAAQQ,MAAM,KAC1Bgf,OAAQyB,EAAKjhB,QAAQQ,MAAM,KAC3BytB,KAAMhN,EAAKjhB,QAAQQ,MAAM,KACzBgjB,GAAIvC,EAAKjhB,QAAQQ,MAAM,KAEzBC,QAAS,CACP2nB,KwD9BM,yjDxD+BN4F,MAAO/M,EAAKjhB,QAAQS,QAAQ,KAC5B+e,OAAQyB,EAAKjhB,QAAQS,QAAQ,KAC7BwtB,KAAMhN,EAAKjhB,QAAQS,QAAQ,KAC3B+iB,GAAIvC,EAAKjhB,QAAQS,QAAQ,KAE3BE,QAAS,CACPynB,KyDrCM,6yCzDsCN4F,MAAO/M,EAAKjhB,QAAQW,QAAQ,KAC5B6e,OAAQyB,EAAKjhB,QAAQW,QAAQ,KAC7BstB,KAAMhN,EAAKjhB,QAAQW,QAAQ,KAC3B6iB,GAAIvC,EAAKjhB,QAAQW,QAAQ,KAE3BD,KAAM,CACJ0nB,K0D5CM,ymD1D6CN4F,MAAO/M,EAAKjhB,QAAQU,KAAK,KACzB8e,OAAQyB,EAAKjhB,QAAQC,QAAQ,KAC7BguB,KAAMhN,EAAKjhB,QAAQU,KAAK,KACxB8iB,GAAIvC,EAAKjhB,QAAQU,KAAK,OCf6B2C,GDnBxC,IAAC4d,ECoBd,MAAMgd,EAA2B,UAAfD,EACZhM,GAAaP,IAAaC,EAEhC,OACE9P,EAAAA,KAACE,GACS3d,OAAAC,OAAA,CAAAse,OAAArjB,UACCwyB,EAAY9D,WACTkQ,GACR50B,EACJ,CAAAoU,UAAWxb,EACT,4BACG2vB,EAAY9E,SAAW,WAAa,KACpCkF,EAAY,YAAc,IAC7B3oB,EAAMoU,qBAGRle,EAAKC,IAAA,MAAA,CAAAie,UAAU,SACfmE,EAAAA,KAAA,MAAA,CAAKnE,UAAU,UACbne,SAAA,CAAAC,EAAAC,IAAA,MAAA,CAAKie,UAAU,WAAYne,SAAAkyB,IAC1BC,GAAYlyB,EAAAA,IAAA,MAAA,CAAKke,UAAU,WAAYne,SAAAmyB,IACvCC,GAAWnyB,EAAAA,IAAA,MAAA,CAAKke,UAAU,UAAWne,SAAAoyB,OAEvCC,GAAepyB,EAAAA,IAAK,MAAA,CAAAke,UAAU,QAAQ6E,QAAS,IAAMkH,aAAA,EAAAA,SACtC,eCrCiB5I,IAAA,IAAAthB,SACrCA,EAAQ6D,MACRA,EAAQ,UAASyI,KACjBA,EAAO,SAAQsyB,OACfA,EAAM9c,SACNA,GAAQR,EACLvX,EAAK9D,EAAAqb,EAN6B,iDAQrC,MAAMvhB,EAAQuE,IACRu6B,EAA6B,aAAVh7B,EAAuB,OAAS9D,EAAMS,UACzDs+B,GyDrBNnd,EzDqB8B5hB,EyDlB1B,CACJiB,QAAS,CACP0gB,QAASC,EAAKjhB,QAAQM,QAAQ,KAC9B4gB,QAASD,EAAKjhB,QAAQM,QAAQ,KAC9B6gB,OAAQF,EAAKjhB,QAAQM,QAAQ,KAC7BiuB,QAAStN,EAAKjhB,QAAQM,QAAQ,KAC9B8gB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCA,QAAS,CACP+gB,QAASC,EAAKjhB,QAAQC,QAAQ,KAC9BihB,QAASD,EAAKjhB,QAAQC,QAAQ,KAC9BkhB,OAAQF,EAAKjhB,QAAQC,QAAQ,KAC7BsuB,QAAStN,EAAKjhB,QAAQM,QAAQ,KAC9B8gB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjC,WAAY,CACV+gB,QAAS,OACTE,QAAS,2BACTC,OAAQ,2BACRoN,QAAS,2BACTnN,SAAU,8BzDFyBje,GyDtBxB,IACb8d,EzDuBA,OACE1hB,EAACC,IAAAsiB,GACS3d,OAAAC,OAAA,CAAAse,OAAArjB,EACG8uB,UAAAvP,GAAMhT,GAAMc,EAAC0hB,YACXxP,GAAMhT,GAAMsiB,GACNmQ,kBAAAF,EACX9P,OAAA+P,EACC9P,QAAA4P,EACEhY,UAAA9E,GACP/X,EACJ,CAAAi1B,KAAOld,EAAwB,GAAb/X,EAAMi1B,KACxB7gB,UAAWxb,EAAa,mBAAoBoH,EAAMoU,WAEjDne,SAAAA,IACe,eChCiBshB,QAAAthB,SACrCA,EAAQ6D,MACRA,EAAQ,UAASE,KACjBA,EAAO,eAAc8rB,MACrBA,EAAQ,EAACoP,QACTA,EAAU,MACPl1B,EANkC9D,EAAAqb,EAAA,CAAA,WAAA,QAAA,OAAA,QAAA,YAQrC,MAAMvhB,EAAQuE,IACRw6B,GyDlBNnd,EzDkB8B5hB,EyDjBgC,CAC9DY,QAAS,CACP4rB,KAAM5K,EAAKnhB,WAEbQ,QAAS,CACPurB,KAAM5K,EAAKjhB,QAAQM,QAAQ,MAE7B,WAAY,CACVurB,KAAM,UzDS6B1oB,GyDnBxB,IACb8d,EzDoBA,MAAMqS,EAAkB,iBAATjwB,EAA0BsrB,GAAoBH,GAE7D,OACEjvB,EAACC,IAAA8zB,EACSnvB,OAAAC,OAAA,CAAAse,OAAArjB,EACCyuB,QAAAsQ,EACOtP,eAAAG,GAAiB5rB,EAAM8rB,IACnC9lB,EAAK,CACToU,UAAWxb,EAAa,mBAAoBoH,EAAMoU,WAClDpa,KAAe,iBAATA,GAAsC,IAAV8rB,EAAc,IAAM,IAAGH,SAC/CuP,EAAO1P,QACRM,EACJJ,IAAS,iBAAT1rB,EAEJ/D,SAAAA,IACM,kBCNgCshB,IAAA,IAAAzd,MAC3CA,EAAQ,UAASyI,KACjBA,EAAO,SAAQ6R,UACfA,EAAS+gB,aACTA,GAED5d,EADIvX,EAAK9D,EAAAqb,EALmC,6CAO3C,MAAMvhB,EAAQuE,IAER66B,EyDrCF,CACJn+B,SAJA2gB,EzDwCuC5hB,GyDpCzBW,QAAQM,QAAQH,KAC9BF,QAASghB,EAAKnhB,UACd,WAAYmhB,EAAKlhB,aAAeylB,IAPnB,IACbvE,EzD0CA,OACE1hB,EAACC,IAAAsiB,oBACKzY,EAAK,CAAAqZ,OACDrjB,EACM8f,aAAA,CACZsD,MAAOgc,EAAct7B,GACrByI,KAAMgT,GAAMhT,IACbyiB,OACOlrB,EACRsa,UAAWxb,EAAa,sBAAuBwb,KAC/C,4DE5C8CmD,QAAAyU,MAClDA,EAAK/1B,SACLA,GAAQshB,EACLvX,EAAK9D,EAAAqb,EAH0C,sBAKlD,MAAMvhB,EAAQuE,IAEd,OACEge,EAAAC,KAACC,GAAe3d,OAAAC,OAAA,CAAAse,OACNrjB,GACJgK,EACJ,CAAAoU,UAAWxb,EAAa,4BAA6BoH,EAAMoU,WAC3D4R,SAAU,EAAC/vB,SAAA,CAEXC,aAAKke,UAAU,aAAYne,SAAE+1B,IAC5B/1B,KACe,gBCPmBshB,QAAAwH,KACvCA,EAAIiN,MACJA,EAAK/J,KACLA,EAAIoT,MACJA,EAAK9yB,KACLA,EAAO,IAAG8d,KACVA,EAAIF,QACJA,EAAOmV,mBACPA,EAAkBC,iBAClBA,KACGv1B,EAVoC9D,EAAAqb,EAAA,CAAA,OAAA,QAAA,OAAA,QAAA,OAAA,OAAA,UAAA,qBAAA,qBAYvC,MAAMvhB,EAAQuE,IACRguB,EAAclF,KACd5pB,EAAM5D,EAAMqS,OAAO,MAEzB,OAAKmY,EAGH9H,EAAAA,2BACEriB,EAAAA,IAACgwB,IAAS9R,UAAW,6BAA8B6E,QAAS,IAAMkH,aAAA,EAAAA,MAElEjqB,EAAAA,IAACuiB,GACS,CAAAY,OAAArjB,SACU,UAAVq/B,EAAoB,aAAe,eACpC9yB,EACP6R,UAAWxb,EAAa,qBAAuBoH,EAAMoU,oBAErDmE,EAAAA,KACM,MAAAzd,OAAAC,OAAA,CAAA,EAAAiF,GACJvG,IAAKA,EACL2a,UAAW,sBAAwBmU,EAAY9E,SAAW,qBAAuB,cAEjFvtB,EAAKC,IAAA,MAAA,CAAAie,UAAU,mBAAmB6E,QAAS,IAAMkH,aAAO,EAAPA,OAE/C6L,GAASjN,IACTxG,EAAAA,KAAK,MAAA,CAAAnE,UAAU,oBAAmBne,SAAA,CAC/B8oB,GAAQ7oB,EAAAC,IAAA,MAAA,CAAKie,UAAU,iCAAyB2K,IAChDiN,GAAS91B,EAAAA,IAAK,MAAA,CAAAke,UAAU,kCAA0B4X,OAItD/J,GAAQ/rB,EAAAC,IAAA,MAAA,CAAKie,UAAU,uDAA+C6N,OAEnEqT,KAAwBC,IAC1Bhd,EAAAA,KAAA,MAAA,CACEnE,UACE,6BAA+BkhB,GAAwBC,EAAmB,UAAY,IAGvFt/B,SAAA,CAAAq/B,GAAsBp/B,EAAKC,IAAA,MAAA,CAAAie,UAAU,+BAA8Bne,SAAEq/B,IACrEC,GAAoBr/B,EAAAA,IAAK,MAAA,CAAAke,UAAU,6BAA4Bne,SAAEs/B,gBAnC5D,IAwCb,+BwB1DgEhe,WAAAthB,SACrEA,EAAQ+1B,MACRA,EAAKjT,SACLA,EAAQ/e,KACRA,EAAO,OAAM8rB,MACbA,EAAQ,EAAC/N,SACTA,EAAQkU,SACRA,EAAQC,gBACRA,KACGlsB,EATkE9D,EAAAqb,EAAA,CAAA,WAAA,QAAA,WAAA,OAAA,QAAA,WAAA,WAAA,oBAWrE,MAAMvhB,EAAQuE,KACP8lB,EAAMC,GAAWzqB,EAAM0qB,SAAS2L,IAChCG,EAAeC,GAAoBz2B,EAAM0qB,SAAS,GACnD6L,EAAav2B,EAAMqS,OAAuB,MAE1CqkB,OAAkC,IAAbN,EAA2BA,EAAW5L,EAM3DjM,EAAYxb,EAChB,mBACGmf,EAAW,YAAc,KAChB,WAAT/d,EAAoB,UAAY,IACnCgG,EAAMoU,WASR,OANAve,EAAMwiB,WAAU,YACU,UAApB+T,EAAW9T,eAAS,IAAAf,OAAA,EAAAA,EAAA4J,eACtBmL,EAAiBF,EAAW9T,QAAQ6I,aAAa,MAElD,CAAqB,QAApBjH,EAAAkS,EAAW9T,eAAS,IAAA4B,OAAA,EAAAA,EAAAiH,eAEX,YAATnnB,EACK9D,EAAAC,IAACkzB,GAAsB,IAI9B9Q,EAAAA,KACEuE,EAAAA,SAAA,CAAA7mB,SAAA,CAAAsiB,EAAAC,KAACC,GACK3d,OAAAC,OAAA,CAAA,EAAAiF,GACJoU,UAAWA,EAASiF,OACZrjB,EACGkjB,UAAAH,SACH+M,EAAKsD,MACNpvB,EACPgsB,SAAU,EACV/M,QA/BwB,KAC5BqH,GAASiM,EAAY,EAgChBt2B,SAAA,CAAA+1B,EACS,WAAThyB,GACC9D,EACEC,IAAA,MAAA,CAAA+sB,IAAKyJ,GACL7yB,MAAO,CACL8yB,WAAY,WACZC,UAAWN,EAAc,kBAAoB,cAK3C,WAATvyB,GACC9D,EAAAC,IAAA,MAAA,CACEie,UAAU,mBACVta,MAAO,CACLvD,UAAWP,EAAMO,UACjBmgB,OAAQ6V,EAAcF,EAAgB,EACtCnK,SAAU,SACV0K,WAAY,YAGd32B,SAAAC,EAAAA,IAAA,MAAA,CAAKuD,IAAK2yB,EAAUn2B,SAAGA,QAG1B,uBtBtEgDshB,QAAAzd,MACtDA,EAAQ,UAASilB,KACjBA,GAAO,EAAIoJ,SACXA,EAAQqN,KACRA,EAAIC,YACJA,GAAc,EAAI5f,OAClBA,EAAMuS,SACNA,EAAQjI,QACRA,GAAO5I,EACJvX,EATmD9D,EAAAqb,EAAA,CAAA,QAAA,OAAA,WAAA,OAAA,cAAA,SAAA,WAAA,YAWtD,MAAMvhB,EAAQuE,IACRwf,EAAkBjgB,GACjB47B,EAAMC,GAAW9/B,EAAM0qB,UAAS,GAOvC,OAAKmV,EAGJx/B,MAACuiB,GAAe3d,OAAAC,OAAA,CAAAse,OACPrjB,EACCyuB,SDlCI7M,ECkCG5hB,EDlCqG,CACtHY,QAAS,CACPujB,GAAIvC,EAAKjhB,QAAQC,QAAQ,IACzB4rB,KAAM5K,EAAKjhB,QAAQC,QAAQ,KAC3Buf,OAAQyB,EAAKnhB,UACbsoB,KsDnBM,8qBtDqBR0J,SAAU,CACRtO,GAAIvC,EAAKjhB,QAAQQ,MAAM,IACvBqrB,KAAM5K,EAAKjhB,QAAQQ,MAAM,KACzBgf,OAAQyB,EAAKjhB,QAAQQ,MAAM,KAC3B4nB,KuDzBM,0sBvD2BR3nB,QAAS,CACP+iB,GAAIvC,EAAKjhB,QAAQS,QAAQ,IACzBorB,KAAM5K,EAAKjhB,QAAQS,QAAQ,KAC3B+e,OAAQyB,EAAKjhB,QAAQS,QAAQ,KAC7B2nB,KwD/BM,0pBxDiCRznB,QAAS,CACP6iB,GAAIvC,EAAKjhB,QAAQW,QAAQ,IACzBkrB,KAAM5K,EAAKjhB,QAAQW,QAAQ,KAC3B6e,OAAQyB,EAAKjhB,QAAQW,QAAQ,KAC7BynB,KyDrCM,k1BzDuCR1nB,KAAM,CACJ8iB,GAAI,UACJqI,KAAM5K,EAAKjhB,QAAQU,KAAK,KACxB8e,OAAQyB,EAAKjhB,QAAQU,KAAK,KAC1B0nB,K0D3CM,guBzDgDgBhF,IACnB/Z,EAAK,CACToU,UAAWxb,EAAa,2BAA4BoH,EAAMoU,oBAC1DmE,OAAK,MAAA,CAAAnE,UAAU,mBAAkBne,SAAA,CAC/B8oB,GAAQ7oB,EAAAA,IAAA,MAAA,CAAKke,UAAU,SACxBmE,OAAA,MAAA,CAAKnE,UAAU,UACbne,SAAA,CAAAkyB,GAAYjyB,EAAAC,IAAA,OAAA,CAAMie,UAAU,iBAAS+T,IACrCC,GAAYlyB,cAAMke,UAAU,UAAWne,SAAAmyB,OAEzC7P,cAAKnE,UAAU,UAASne,SAAA,CACtBu/B,GAAQA,EACR3f,GAAUA,EACV4f,GACAv/B,EAAAA,WAAKke,UAAU,QAAQ6E,QAvBA,KAC3B0c,GAAQ,GACRxV,SAAAA,GAAW,aAGM,KD7BJ,IAACvI,CCmDI,4CE/C+BL,IAAA,IAAAzW,MACjDA,EAAK80B,YACLA,EAAWC,aACXA,EAAe,EAACC,aAChBA,EAAYvzB,KACZA,EAAO,SAAOgV,EACXvX,EAAK9D,EAAAqb,EANyC,8DAQjD,MAAMvhB,EAAQuE,IAeRw7B,EACJj1B,GAAS,IACP5K,MAAC6pB,GACC,CAAAG,OAhBa,aACjB,MAAM8V,EAAQr8B,SAASs8B,uBAAuB,uBAE9C,IAAK,IAAIz6B,EAAI,EAAGA,EAAIw6B,EAAMr6B,OAAQH,IACxB,QAAR+b,EAAAye,EAAMx6B,UAAE,IAAA+b,GAAAA,EAAE2e,SACR,GACgE,QAA/Dhc,EAAAvgB,SAASs8B,uBAAuB,qBAAqB,UAAU,IAAA/b,OAAA,EAAAA,EAC5D2T,YAAa,IAUjB7N,UAAW9kB,MAAM4F,GACd8V,KAAK,IACLhT,KAAI,CAACuyB,EAAKp3B,IACT7I,EAAAA,IAAC6vB,GAEC,CAAA9M,QAAS,IAAM6c,aAAA,EAAAA,EAAe/2B,EAAQ,GACtC8a,UACE+b,IAAgB72B,EAAQ,EAAI7I,MAAK,MAAA,CAAAgtB,IAAK5J,UAAgBlc,EAExDgX,UACEwhB,IAAgB72B,EAAQ,EAAI,yBAAsB3B,EAGnDnH,SAAA8I,EAAQ,GATJA,KAaX9I,SAAAC,EAAAC,IAACgwB,GAAI,CAAA5jB,KAAMA,EAAItM,SAAA,UAGjBC,EAAAA,IAACiwB,GAAG,CAAC5jB,KAAMA,EAAetM,SAAA,QAGxBmgC,EAAoC,EAAfP,GAAoB/0B,EAAQ,EAAI+0B,EAErDQ,EACmB,IAAvBD,EACIR,GAAoC,EAArBQ,EAAyB,EACxCR,EAAmC,EAArBQ,EAAyB,EAEvCE,GACHD,GAAkBT,EAAc90B,EAA6B,EAArBs1B,EAErCG,GAAmBF,IAAmBC,EACtCE,GAAiBH,EACjBI,GAAeH,EAErB,IAAII,EAAqB,EAAyB,EAArBN,EAE7B,MAAMO,EAAqBz7B,MAAMw7B,GAC9B9f,KAAK,GACLhT,KAAI,CAACuyB,EAAKp3B,IAAUA,EAAQ,IAEzB63B,EAAsB17B,MAAMw7B,GAC/B9f,KAAK,GACLhT,KAAI,CAACuyB,EAAKp3B,IAAU62B,EAAcQ,EAAqBr3B,IAEpD83B,EAAmB37B,MAAMw7B,GAC5B9f,KAAK,GACLhT,KAAI,CAACuyB,EAAKp3B,IAAU+B,EAAQ/B,IAC5B+3B,UAEGC,EAAYj2B,GAAS,EAE3B,OACEyX,EAACC,KAAAC,GACS3d,OAAAC,OAAA,CAAAse,OAAArjB,GACJgK,EACJ,CAAAoU,UAAWxb,EAAa,yBAA0BoH,EAAMoU,WAAUne,SAAA,CAElEC,EAAAA,IAACiwB,GACC,CAAA/R,UAAU,UACV7R,KAAMA,EACN0W,QAAS,IACP2c,EAAc,EAAIE,aAAY,EAAZA,EAAeF,EAAc,QAAKx4B,EAGrDnH,SAAA,MAGF8gC,GACC77B,MAAM4F,GACH8V,KAAK,GACLhT,KAAI,CAACuyB,EAAKp3B,IAAUA,EAAQ,IAC5B6E,KAAKyqB,GACJn4B,EAAAC,IAACgwB,GAAG,CAEF5jB,KAAMA,EACNwW,SAAUsV,IAAOuH,EACjB3c,QAAS,IAAM6c,aAAA,EAAAA,EAAezH,GAE7Bp4B,SAAAo4B,GALIA,MASX0I,GACAxe,EAAAC,KAAAsE,WAAA,CAAA7mB,SAAA,EACIogC,GACAngC,EAACC,IAAAgwB,GACC,CAAA5jB,KAAMA,EACNwW,SAA0B,IAAhB6c,EACV3c,QAAS,IAAM6c,eAAAA,EAAe,kBAMjCU,GAAiBT,EAEjBM,GACCM,EAAmB/yB,KAAKyqB,GACtBn4B,MAACiwB,GAAG,CAEF5jB,KAAMA,EACNwW,SAAUsV,IAAOuH,EACjB3c,QAAS,IAAM6c,eAAAA,EAAezH,GAAGp4B,SAEhCo4B,GALIA,KASVkI,GACCK,EAAoBhzB,KAAKyqB,GACvBn4B,EAAAA,IAACiwB,GAEC,CAAA5jB,KAAMA,EACNwW,SAAUsV,IAAOuH,EACjB3c,QAAS,IAAM6c,aAAA,EAAAA,EAAezH,GAAGp4B,SAEhCo4B,GALIA,KASVoI,GAAeV,EAEfO,GACCO,EAAiBjzB,KAAKyqB,GACpBn4B,EAACC,IAAAgwB,GAEC,CAAA5jB,KAAMA,EACNwW,SAAUsV,IAAOuH,EACjB3c,QAAS,IAAM6c,aAAA,EAAAA,EAAezH,GAAGp4B,SAEhCo4B,GALIA,MASTiI,GACApgC,EAAAC,IAACgwB,GAAG,CACF5jB,KAAMA,EACNwW,SAAU6c,IAAgB90B,EAC1BmY,QAAS,IAAM6c,aAAY,EAAZA,EAAeh1B,GAE7B7K,SAAA6K,OAMT5K,EAAAC,IAACgwB,GAAG,CACF/R,UAAU,UACV7R,KAAMA,EACN0W,QAAS,IACP2c,EAAc90B,EAAQg1B,aAAA,EAAAA,EAAeF,EAAc,QAAKx4B,EAASnH,SAGlE,SAEa,sBkC3L+BshB,IAAA,IAAAC,MACnDA,EAAQ,GAAEwL,WACVA,EAAa,GAAEzgB,KACfA,EAAO,SAAQzI,MACfA,EAAQ,UAASk9B,WACjBA,EAAa,EAAC7/B,MACdA,GAAQ,EAAKG,QACbA,GAAU,GAEXigB,EADIvX,EAAK9D,EAAAqb,EAR2C,sEAUnD,MAAMvhB,EAAQuE,IAEd,OACEge,OAACE,GAAe3d,OAAAC,OAAA,CAAA0gB,MACPlZ,EAAI8W,OACHrjB,EAAK+0B,YACAiM,EAAUlM,OACf3zB,EAAK0zB,SACHvzB,EACF0tB,OAAAlrB,EACRsa,UAAWxb,EACT,2BAAuC,YAAVkB,EAAsB,YAAc,IACjEkG,EAAMoU,YAEJpU,EAAK,CAAA/J,SAAA,CAERuhB,GAASthB,EAAQC,IAAA,QAAA,CAAAF,SAAAuhB,IAClBthB,EAAAA,IAAA,MAAA,CAAKke,UAAU,oBACd4O,GAAc9sB,EAAAA,IAAK,MAAA,CAAAke,UAAU,aAAcne,SAAA+sB,OAC5B,4B/B3B2CzL,IAAA,IAAAthB,SAC/DA,EAAQghC,UACRA,EAASC,MACTA,EAAKC,gBACLA,EAAe5Q,IACfA,EAAG6Q,YACHA,GAED7f,EADIvX,EAAK9D,EAAAqb,EAPuD,wEAS/D,MAAMvhB,EAAQuE,IAEd,OACErE,MAACuiB,GAAe3d,OAAAC,OAAA,CAAA,EACViF,EACJ,CAAAoU,UAAWxb,EAAa,gCAAiCoH,EAAMoU,WAAUiF,OACjErjB,EAAK8wB,WACDmQ,GAAa,aAAYlQ,KAC/BR,EAELtwB,SAAAihC,EAAMtzB,KAAI,CAACyqB,EAAItvB,KACd,MAAM+jB,EACJ/jB,EAAQo4B,EACJ,YACAp4B,IAAUo4B,EACV,SACA,WAEN,OACE5e,EAEEC,KAAA,MAAA,CAAApE,UAAW,QAAU0O,EACrB7J,QAAS,IAAMme,aAAA,EAAAA,EAAcr4B,GAE7B9I,SAAA,CAAAC,MAACowB,GAAI,CAACC,IAAKA,EAAKzD,OAAQA,EAAM7sB,SAC1BswB,OAAkBnpB,EAAZ2B,EAAQ,IAGlBwZ,EAAAA,KAAA,MAAA,CAAKnE,UAAU,cACbne,SAAA,CAAAC,EAAAA,IAAA,MAAA,CAAKke,UAAU,QAASne,SAAAo4B,EAAGrC,QAC3B91B,EAAAA,IAAA,MAAA,CAAKke,UAAU,cAAene,SAAAo4B,EAAG5W,mBAV9B1Y,EAYD,MAGM,wB8BQmCwY,IAAA,IAAAhV,KACvDA,EAAO,OAAMzI,MACbA,EAAQ,UAASugB,QACjBA,GAAU,EAAKgd,WACfA,EAAUC,WACVA,EAAUC,gBACVA,EAAe9f,YACfA,EAAW+f,YACXA,EAAWC,SACXA,EAAQC,aACRA,GAEDngB,EADIvX,EAAK9D,EAAAqb,EAX+C,8HAavD,MAAMvhB,EAAQuE,IAER8vB,EAAe9U,GAAMhT,GAAM8nB,aAEjC,OACE9R,EAAAC,KAACC,GAAe3d,OAAAC,OAAA,CAAA0gB,MACPlZ,EACQmoB,cAAAL,EACPhR,OAAArjB,EACRoe,UAAWxb,EACT,6BACa,YAAVkB,EAAsB,WAAa,KACnCugB,EAAU,WAAa,IAC1Bra,EAAMoU,YAEJpU,EACS,CAAA2qB,YAAA0M,EACAzM,YAAA0M,EAEbrhC,SAAA,CAAAsiB,EAAAC,KAAA,MAAA,CAAKpE,UAAU,qBACbne,SAAA,CAAAC,EAAAA,IAAA,MAAA,CAAKke,UAAU,kBAAmBne,SAAAshC,IAClCrhC,MAAA,MAAA,CACEke,UAAU,mBACVqC,MAAOlB,GAAMhT,GAAMkU,MACnBC,OAAQnB,GAAMhT,GAAMkU,eAEpBvgB,EACEC,IAAA,SAAA,CAAAie,UAAU,oBACVujB,GAAIpiB,GAAMhT,GAAMkU,MAAQ,EACxBmhB,GAAIriB,GAAMhT,GAAMkU,MAAQ,EACxB3O,EAAGyN,GAAMhT,GAAMkU,MAAQ,EAAI4T,EAAe,EAC1C1jB,YAAa4O,GAAMhT,GAAM6nB,mBAI/B7R,EAAAA,KAAK,MAAA,CAAAnE,UAAU,gBACbne,SAAA,CAAAC,EAAAA,IAAA,MAAA,CAAKke,UAAU,cAAene,SAAAuhC,IAC9BthC,aAAKke,UAAU,WAAUne,SAAEwhC,IAC3BvhC,EAAAA,IAAK,MAAA,CAAAke,UAAU,cAAane,SAAEwhB,IAC9BvhB,MAAK,MAAA,CAAAke,UAAU,wBAAgBsjB,UAEjB,gB7B1GmBngB,QAAAC,MACvCA,EAAKC,YACLA,EAAWtgB,MACXA,EAAKugB,SACLA,EAAQrhB,MACRA,EAAKwhC,WACLA,EAAU/9B,MACVA,EAAQ,WAASyd,EACdvX,EAAK9D,EAAAqb,EAR+B,yEAUvC,MAAMvhB,EAAQuE,IACR+b,EoDpB6D,CACnE1f,QAAS,CACP+gB,SAFiBC,EpDoBQ5hB,GoDlBXW,QAAQC,QAAQ,KAC9BihB,QAASD,EAAKjhB,QAAQC,QAAQ,KAC9BkhB,OAAQF,EAAKjhB,QAAQC,QAAQ,KAC7BmhB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCK,QAAS,CACP0gB,QAASC,EAAKjhB,QAAQM,QAAQ,KAC9B4gB,QAASD,EAAKjhB,QAAQM,QAAQ,KAC9B6gB,OAAQF,EAAKjhB,QAAQM,QAAQ,KAC7B8gB,SAAUH,EAAKjhB,QAAQC,QAAQ,OAXf,IAACghB,EpDsBnB,MAAMmC,EAAyCjgB,QAAAA,EAAS,UAExD,IAAIoc,EAAYlgB,EAAMS,UAClBwhB,EAAkB3B,EAAOyD,GAAiBpC,QAC1CO,EAAyB5B,EAAOyD,GAAiBlC,QACjDM,EAAwB7B,EAAOyD,GAAiBjC,OAChDqP,EAAWnxB,EAAMW,QAAQC,QAAQ,KACjCqwB,EAAkBjxB,EAAMW,QAAQC,QAAQ,KACxCswB,EAAiBlxB,EAAMW,QAAQC,QAAQ,KACvCkhC,EAAmB9hC,EAAMW,QAAQC,QAAQ,KAE7C,MAAM2b,EAAKvS,EAAMuS,GAEjB,OACEgG,EAACC,KAAAC,GACe,CAAA3C,aAAA,CACZ9f,QACAkgB,YACA+B,kBACAC,yBACAC,wBACAgP,WACAF,kBACAC,iBACA4Q,oBAEF1jB,UAAWxb,EAAa,6BAA8BoH,EAAMoU,WAAUne,SAAA,CAEtEsiB,EAAAA,YAAKnE,UAAU,kBACbne,SAAA,CAAAsiB,OAAA,QAAA,CAAOnE,UAAU,cACfne,SAAA,CAAAC,EAAAC,IAAA,QAAA2E,OAAAC,OAAA,CACEwX,GAAIA,EACJvY,KAAK,SACDgG,EACJ,CAAA0Y,QAASmf,IAAexhC,EACxBqhB,SAAWvb,GAAMub,GAAYA,EAASvb,EAAG9F,MAE3CH,EAAAA,IAAM,OAAA,CAAAke,UAAU,sBAElBle,EAAOC,IAAA,QAAA,CAAAwiB,QAASpG,EAAI6B,UAAU,4BAC3BoD,OAILe,EAAKC,KAAA,MAAA,CAAApE,UAAU,yBAAwBne,SAAA,CACpCwhB,GAAevhB,EAAAC,IAAA,MAAA,CAAKie,UAAU,6BAA8Bne,SAAAwhB,IAC5DtgB,GAASjB,EAAAA,IAAA,MAAA,CAAKke,UAAU,8BAA6Bne,SAAEkB,SAE1C,qBChE6BogB,IAAA,IAAAG,SACjDA,EAAQvO,KACRA,EAAI9S,MACJA,EAAK0hC,OACLA,EAAM9hC,SACNA,GAEDshB,EADIvX,EAAK9D,EAAAqb,EANyC,iDAQjD,MAAMvhB,EAAQuE,IAERy9B,EAAY7uB,GAAcnQ,IAE1Bq7B,EAAcx+B,EAAMuuB,SAASxgB,IAAI3N,GAAU,CAACouB,EAAOtlB,IACvDlJ,EAAM2uB,aAAaH,EAAO,CACxB3M,WACAvO,KAAM6uB,EACNzlB,GAAIylB,EAAY,IAAMj5B,EACtB84B,WAAYxhC,MAIhB,OACEH,MAACuiB,GACC3d,OAAAC,OAAA,CAAAqZ,UAAW,0BAA0B2jB,QAAAA,EAAU,eACnC/Q,WAAAhxB,EAAMO,WACdyJ,EAEH,CAAA/J,SAAAo+B,IACe,sBmC3B0B9c,QAAAC,MAC9CA,EAAQ,GAAEwL,WACVA,EAAa,GAAEzgB,KACfA,EAAO,SAAQy0B,WACfA,EAAa,CAAC,EAAG,GAAEiB,SACnBA,GAAQ1gB,EACLvX,EAN2C9D,EAAAqb,EAAA,CAAA,QAAA,aAAA,OAAA,aAAA,aAQ9C,MAAMvhB,EAAQuE,IACR29B,EAAmBvM,KAEnBwM,EAAgBtiC,EAAMqS,OAAuB,MAC7CkwB,EAAqBviC,EAAMqS,OAAuB,MAClDmwB,EAAsBxiC,EAAMqS,OAAuB,OAClDowB,EAAWC,GAAgB1iC,EAAM0qB,UAAS,IAC1CiY,EAAWC,GAAgB5iC,EAAM0qB,UAAS,IAC1CmY,EAAWC,GAAgB9iC,EAAM0qB,SAAS,IAC1CqY,EAAWC,GAAgBhjC,EAAM0qB,SAAS,IAC1CuY,EAAeC,GAAoBljC,EAAM0qB,SAAS,CAAC,EAAG,IAEvDyY,EAA0B,WAATz2B,EAAoB,GAAK,GAgGhD,OA9FA1M,EAAMwiB,WAAU,KACd,MAAM4gB,EAAgD,KAAhCP,EAAYI,EAAc,KAAcA,EAAc,GAAKA,EAAc,IACzFI,EAAmB,CAAC9/B,KAAK+/B,MAAMF,GAAcjC,EAAW,IAE9DiB,SAAAA,EAAWiB,EAAiB,GAC3B,CAACR,EAAWI,IAEfjjC,EAAMwiB,WAAU,KACd,MAAM+gB,EAAgD,KAAhCR,EAAYE,EAAc,KAAcA,EAAc,GAAKA,EAAc,IACzFI,EAAmB,CAAClC,EAAW,GAAI59B,KAAK+/B,MAAMC,IAEpDnB,SAAAA,EAAWiB,EAAiB,GAC3B,CAACN,EAAWE,IAGfjjC,EAAMwiB,WAAU,KACd,GAAI8f,EAAc7f,SAAW8f,EAAmB9f,SAAW+f,EAAoB/f,QAAS,CACtF,MAAM+gB,EAAalB,EAAc7f,QAAQgJ,wBACnCgY,EAAgBlB,EAAmB9f,QAAQgJ,wBAC3CiY,EAAiBlB,EAAoB/f,QAAQgJ,wBAEnDyX,EAAiB,CAACM,EAAWxY,KAAMwY,EAAW5X,QAC9CkX,EAAaW,EAAc52B,EAAIs2B,EAAiB,GAChDH,EAAaU,EAAe72B,EAAIs2B,EAAiB,MAElD,CAACb,EAAeC,EAAoBC,EAAqBH,IAG5DriC,EAAMwiB,WAAU,KACd,GAAIigB,EAAW,CACb,MAAMkB,EAAoBr9B,UACxB,MAAMo9B,EAA4C,QAA3BhiB,EAAA8gB,EAAoB/f,eAAO,IAAAf,OAAA,EAAAA,EAAE+J,wBAC9CmY,EAAat9B,EAAEu9B,QAEjBD,EAAaX,EAAc,IAAMW,EAAaF,EAAe1Y,KAAOmY,EAAiB,GACvFL,EAAac,GAGXA,GAAcX,EAAc,IAC9BH,EAAaG,EAAc,IAEzBW,GAAcF,EAAe1Y,KAAOmY,EAAiB,GACvDL,EAAaY,EAAe1Y,KAAOmY,EAAiB,IAIlDW,EAAiB,KACrBhgC,SAASE,qBAAqB,QAAQ,GAAG26B,UAAUoF,OAAO,iBAC1DrB,GAAa,EAAM,EAMrB,OAHAnxB,OAAO2a,iBAAiB,YAAayX,GACrCpyB,OAAO2a,iBAAiB,UAAW4X,GAE5B,KACLvyB,OAAO4a,oBAAoB,YAAawX,GACxCpyB,OAAO4a,oBAAoB,UAAW2X,EAAe,KAGxD,CAACrB,EAAWJ,IAGfriC,EAAMwiB,WAAU,KACd,GAAImgB,EAAW,CACb,MAAMgB,EAAoBr9B,UACxB,MAAMm9B,EAA0C,QAA1B/hB,EAAA6gB,EAAmB9f,eAAO,IAAAf,OAAA,EAAAA,EAAE+J,wBAC5CmY,EAAat9B,EAAEu9B,QAEjBD,EAAaH,EAAczY,KAAOmY,EAAiB,GAAKS,EAAaX,EAAc,IACrFD,EAAaY,GAEXA,GAAcH,EAAczY,KAAOmY,EAAiB,GACtDH,EAAaS,EAAczY,KAAOmY,EAAiB,GAEjDS,GAAcX,EAAc,IAC9BD,EAAaC,EAAc,KAIzBa,EAAiB,KACrBhgC,SAASE,qBAAqB,QAAQ,GAAG26B,UAAUoF,OAAO,iBAC1DnB,GAAa,EAAM,EAMrB,OAHArxB,OAAO2a,iBAAiB,YAAayX,GACrCpyB,OAAO2a,iBAAiB,UAAW4X,GAE5B,KACLvyB,OAAO4a,oBAAoB,YAAawX,GACxCpyB,OAAO4a,oBAAoB,UAAW2X,EAAe,KAGxD,CAACnB,EAAWN,IAGb3f,EAAAA,KAACE,GAAe3d,OAAAC,OAAA,CAAA0gB,MACPlZ,EACC8W,OAAArjB,EACK+0B,YAAAiM,kBACIgC,EACjB5kB,UAAWxb,EAAa,0BAA2BoH,EAAMoU,YACrDpU,EAEH,CAAA/J,SAAA,CAAAuhB,GAASthB,EAAAA,IAAA,QAAA,CAAAD,SAAQuhB,IAClBe,EAAKC,KAAA,MAAA,CAAApE,UAAU,6BAA4Bne,SAAA,CACzCC,EAAAA,IAAK,MAAA,CAAAke,UAAU,uBAAwBne,SAAA+gC,EAAW,KAClD9gC,EAAAA,WAAKke,UAAU,oBAAmBne,SAChCsiB,EAAAA,YAAKnE,UAAU,mBAAmB3a,IAAK0+B,EACrCliC,SAAA,CAAAC,EAAAC,IAAA,MAAA,CACEsD,IAAK2+B,EACLhkB,UAAU,wBACVylB,YAAa,KACXlgC,SAASE,qBAAqB,QAAQ,GAAG26B,UAAUnsB,IAAI,iBACvDkwB,GAAa,EAAK,IAGtBriC,MACE,MAAA,CAAAuD,IAAK4+B,EACLjkB,UAAU,4BACVylB,YAAa,KACXlgC,SAASE,qBAAqB,QAAQ,GAAG26B,UAAUnsB,IAAI,iBACvDowB,GAAa,EAAK,SAK1BviC,EAAAA,IAAA,MAAA,CAAKke,UAAU,uBAAsBne,SAAE+gC,EAAW,QAEnDhU,GAAc9sB,EAAAC,IAAA,MAAA,CAAKie,UAAU,aAAYne,SAAE+sB,OAC5B,iBVpJqBzL,IAAA,IAAAhV,KACzCA,EAAO,SAAQu3B,MACfA,GAAQ,EAAKzjC,MACbA,EAAQ,EAACqhB,SACTA,GAAQH,EACLvX,EAAK9D,EAAAqb,EALiC,qCAOzC,MAAMvhB,EAAQuE,KACPw/B,EAAUC,GAAenkC,EAAM0qB,UAAS,IACxC0Z,EAAYC,GAAiBrkC,EAAM0qB,SAAS,GAE7C4Z,EAAeL,E2B9Bb,6qECAA,qjE5B+BFM,EAAWN,E6B/BT,61ECAA,6uE9BgCFO,EAAqB,UAAT93B,EAAmB,GAAc,WAATA,EAAoB,GAAK,GAE7D+3B,EAAiB,CAACn+B,EAAqBo+B,KAC3C,MAAMC,EAAoBr+B,EAAEs+B,YAAYC,QAAUL,EAAY,EAG9DH,EADsBM,EAAoBD,EAAY,GAAMA,EAChC,EAOxBI,EAAcZ,EAAWE,EAAa5jC,EAE5C,OACEkiB,OAACE,GAAe,CAAAgD,MACPlZ,EACC8W,OAAArjB,EACRoe,UAAWxb,EAAa,qBAAsBoH,EAAMoU,WACpDwmB,aAAc,IAAMZ,GAAY,GAChCa,aAAc,IAAMb,GAAY,GAChC/gB,QAbmB,KACrBvB,SAAAA,EAAWuiB,EAAW,EAYGhkC,SAAA,CAEvBC,aACEgtB,IACkB,KAAhByX,EACIP,EACAO,EAAc,GACdR,EACAW,GAENC,YAAc5+B,GAAMm+B,EAAen+B,EAAG,KAExCjG,EAAAA,WACEgtB,IACkB,MAAhByX,EACIP,EACAO,EAAc,IACdR,EACAW,GAENC,YAAc5+B,GAAMm+B,EAAen+B,EAAG,KAExCjG,EAAAA,WACEgtB,IACkB,MAAhByX,EACIP,EACAO,EAAc,IACdR,EACAW,GAENC,YAAc5+B,GAAMm+B,EAAen+B,EAAG,KAExCjG,EAAAA,WACEgtB,IACkB,MAAhByX,EACIP,EACAO,EAAc,IACdR,EACAW,GAENC,YAAc5+B,GAAMm+B,EAAen+B,EAAG,KAExCjG,EAAAA,WACEgtB,IACkB,MAAhByX,EACIP,EACAO,EAAc,IACdR,EACAW,GAENC,YAAc5+B,GAAMm+B,EAAen+B,EAAG,OAExB,oBThF0Bob,QAAAC,MAC9CA,EAAKuH,KACLA,EAAIic,iBACJA,GAAmB,EAAIC,UACvBA,GAAY,EAAIjY,WAChBA,EAAUkY,uBACVA,GAAsB3jB,EACnBvX,EAAK9D,EAAAqb,EAPsC,uFAS9C,MAAMvhB,EAAQuE,IAEd,OACEge,EAAAA,KAACE,GAAe,CACdrE,UAAWxb,EAAa,wBAAyBoH,EAAMoU,WACpCmV,kBAAAyR,EACP1R,WAAA2R,KAAezjB,EAAKqF,UACrB7c,EAAM+X,SACTsB,OAAArjB,YAEPilC,GACC/kC,EACEC,IAAA,QAAA,CAAA2D,MAAO,CAAE4lB,aAAc,GAAIC,UAAW,SACtChH,QAAS3Y,EAAMuS,GAEdtc,SAAAuhB,IAGLthB,EAAAA,IAACuoB,GAAS3jB,OAAAC,OAAA,CAAA,EAAKiF,EAAO,CAAA+e,KAAMA,KAC3Bic,GACC9kC,EACEC,IAAA,MAAA,CAAAie,UAAU,4BACV8O,IwCzDA,62CxC0DAjK,QAAS,IAAMiiB,eAAAA,MAGlBlY,GACC9sB,EAAAC,IAAA,MAAA,CAAKie,UAAU,mCAAkCne,SAAE+sB,MAErC,mBO/ByBzL,QAAAvd,KAC7CA,EAAO,mBAAiBud,EACrBvX,EAAK9D,EAAAqb,EAFqC,UAI7C,MAAa,oBAATvd,EAEAue,EAAAC,KAACyR,GAAMnvB,OAAAC,OAAA,CAAA,EAAKiF,EACV,CAAA/J,SAAA,CAAAC,EAAAC,IAACyzB,GAAc,CAAC9vB,MAAO,CAAE4lB,aAAc,IAAMnd,KAAK,UAClDrM,EAAAA,IAAC2zB,OACD3zB,EAAAC,IAAC0zB,GAAY,CAAA,GACb3zB,EAAAA,IAAC2zB,GAAe,CAAA,OAKT,0BAAT7vB,EAEAue,EAACC,KAAAyR,GAAWnvB,OAAAC,OAAA,CAAA,EAAAiF,aACV9J,EAACC,IAAA2zB,GAAe,CAAAhwB,MAAO,CAAE4lB,aAAc,IAAMnd,KAAK,UAClDrM,EAAAC,IAAC0zB,GAAY,CAAA,GACb3zB,MAAC2zB,GAAe,CAAA,GAChB3zB,EAAAA,IAAC2zB,GAAe,CAAA,GAChB3zB,EAACC,IAAA6zB,GAAkB,CAAAznB,KAAK,QAAQzI,MAAO,CAAE2c,MAAO,GAAI0kB,UAAW,UAKxD,iCAATnhC,EAEAue,EAACC,KAAAyR,GAAWnvB,OAAAC,OAAA,CAAA,EAAAiF,aACV9J,EAAAA,IAAC4zB,GAAe,CAAAhwB,MAAO,CAAE4lB,aAAc,IAAMnd,KAAK,UAClDgW,EAAAA,KAAA,MAAA,CAAKnE,UAAU,gBACbne,SAAA,CAAAC,EAAAA,IAAC0zB,GAAc,CAACrnB,KAAK,SACrBrM,MAAC2zB,GAAY,CAACtnB,KAAK,aAErBrM,EAAAA,IAAC2zB,GAAe,CAAA,GAChB3zB,EAACC,IAAA0zB,OACD3zB,EAAAA,IAAC2zB,GAAY,CAAA,GACb3zB,EAAAA,IAAC8zB,GAAkB,CAAAznB,KAAK,QAAQzI,MAAO,CAAE2c,MAAO,GAAI0kB,UAAW,UAKxD,uBAATnhC,EAEA9D,MAAC+zB,GAAWnvB,OAAAC,OAAA,CAAA,EAAAiF,EAAO,CAAAlG,MAAO,CAAE2gB,SAAU,KACpCxkB,SAAAsiB,EAAAC,KAAA,MAAA,CAAKpE,UAAU,qBAAoBne,SAAA,CACjCC,EAACC,IAAAyzB,GAAe,CAAArnB,KAAK,SACrBgW,EAAAA,KAAK,MAAA,CAAAnE,UAAU,eACbne,SAAA,CAAAC,EAAAA,IAAC2zB,GAAY,CAACtnB,KAAK,UACnBrM,EAAAA,IAAC8zB,GAAiB,CAACznB,KAAK,QAAQzI,MAAO,CAAE2c,MAAO,eASxDvgB,MAAC+zB,GAAWnvB,OAAAC,OAAA,CAAA,EAAAiF,EAAO,CAAAlG,MAAO,CAAE2gB,SAAU,KACpCxkB,SAAAsiB,EAAAC,KAAA,MAAA,CAAKpE,UAAU,cAAane,SAAA,CAC1BC,MAAC4zB,GAAe,CAAAvnB,KAAK,SACrBgW,EAAKC,KAAA,MAAA,CAAApE,UAAU,eACbne,SAAA,CAAAC,EAAAA,IAAC2zB,GAAY,CAACtnB,KAAK,UACnBrM,EAAAA,IAAC2zB,GAAY,CAACtnB,KAAK,UACnBrM,MAAC2zB,GAAY,CAACtnB,KAAK,kBAGhB,0HWrFoCgV,QAAAC,MAC/CA,EAAQ,GAAEwL,WACVA,EAAa,GAAEzgB,KACfA,EAAO,SAAQy0B,WACfA,EAAa,EAACiB,SACdA,KACGj4B,EAN4C9D,EAAAqb,EAAA,CAAA,QAAA,aAAA,OAAA,aAAA,aAQ/C,MAAMvhB,EAAQuE,IACR29B,EAAmBvM,KAEnBwM,EAAgBtiC,EAAMqS,OAAuB,MAC7CkwB,EAAqBviC,EAAMqS,OAAuB,OACjDkzB,EAAUC,GAAexlC,EAAM0qB,UAAS,IACxC+a,EAAUC,GAAe1lC,EAAM0qB,SAAS,IACxCuY,EAAeC,GAAoBljC,EAAM0qB,SAAS,CAAC,EAAG,IAEvDyY,EAA0B,WAATz2B,EAAoB,GAAK,GAoDhD,OAlDA1M,EAAMwiB,WAAU,KACd,MAAM6gB,EAAoD,KAA/BoC,EAAWxC,EAAc,KAAcA,EAAc,GAAKA,EAAc,IAE7Fr+B,EAASrB,KAAK+/B,MAAMD,GAC1BjB,SAAAA,EAAWx9B,EAAO,GACjB,CAAC6gC,EAAUxC,IAEdjjC,EAAMwiB,WAAU,KACd,GAAI8f,EAAc7f,SAAW8f,EAAmB9f,QAAS,CACvD,MAAM+gB,EAAalB,EAAc7f,QAAQgJ,wBACnCgY,EAAgBlB,EAAmB9f,QAAQgJ,wBAEjDyX,EAAiB,CAACM,EAAWxY,KAAMwY,EAAW5X,QAC9C8Z,EAAYjC,EAAc52B,EAAIs2B,EAAiB,MAEhD,CAACb,EAAeC,EAAoBF,IAEvCriC,EAAMwiB,WAAU,KACd,GAAI+iB,EAAU,CACZ,MAAM5B,EAAoBr9B,IACxB,MAAMs9B,EAAat9B,EAAEu9B,QAErB3xB,QAAQyzB,IAAI,eAAgB/B,GACxBA,EAAaX,EAAc,IAAMW,EAAaX,EAAc,IAC9DyC,EAAY9B,GAGVA,GAAcX,EAAc,IAC9ByC,EAAYzC,EAAc,IAExBW,GAAcX,EAAc,IAC9ByC,EAAYzC,EAAc,KAIxBa,EAAiB,KACrBhgC,SAASE,qBAAqB,QAAQ,GAAG26B,UAAUoF,OAAO,iBAC1DyB,GAAY,EAAM,EAMpB,OAHAj0B,OAAO2a,iBAAiB,YAAayX,GACrCpyB,OAAO2a,iBAAiB,UAAW4X,GAE5B,KACLvyB,OAAO4a,oBAAoB,YAAawX,GACxCpyB,OAAO4a,oBAAoB,UAAW2X,EAAe,KAGxD,CAACyB,EAAUlD,EAAkB9wB,OAAOua,aAGrCpJ,OAACE,GACQ3d,OAAAC,OAAA,CAAA0gB,MAAAlZ,EACC8W,OAAArjB,EACK+0B,YAAAiM,EACIjL,gBAAAiN,EACjB5kB,UAAWxb,EAAa,qBAAsBoH,EAAMoU,YAChDpU,EAEH,CAAA/J,SAAA,CAAAuhB,GAASthB,EAAAA,IAAA,QAAA,CAAAD,SAAQuhB,IAClBe,EAAAA,KAAK,MAAA,CAAAnE,UAAU,oBACbne,SAAA,CAAAC,EAAAC,IAAA,MAAA,CAAKie,UAAU,mBAAmB3a,IAAK0+B,EAAaliC,SAClDC,EACEC,IAAA,MAAA,CAAAsD,IAAK2+B,EACLhkB,UAAU,wBACVylB,YAAa,KACXlgC,SAASE,qBAAqB,QAAQ,GAAG26B,UAAUnsB,IAAI,iBACvDgzB,GAAY,EAAK,MAIvBnlC,EAAAA,IAAA,MAAA,CAAKke,UAAU,uBAAwBne,SAAA+gC,OAExChU,GAAc9sB,EAAAA,IAAK,MAAA,CAAAke,UAAU,sBAAc4O,OAC5B,oBhCvFqBzL,eAAAthB,SACzCA,EAAQ6sB,OACRA,EAAMvgB,KACNA,EAAIzI,MACJA,GAAKyd,EACFvX,EALsC9D,EAAAqb,EAAA,CAAA,WAAA,SAAA,OAAA,UAOzC,MAAMvhB,EAAQuE,IAERwf,EAAkBjgB,QAAAA,EAAS,UAC3Bke,EAAazV,QAAAA,EAAQ,SAErBk5B,EAAkC3Y,GAAkB,SACpD7I,EuDdsD,CAC5DrjB,QAAS,CACP8lB,OAAQ,CACNvC,IAJJvC,EvDeyB5hB,GuDXZW,QAAQC,QAAQ,IACzB8kC,OAAQ9jB,EAAKjhB,QAAQC,QAAQ,KAC7BguB,KAAMhN,EAAKjhB,QAAQC,QAAQ,MAE7B+kC,SAAU,CACRxhB,GAAIvC,EAAKjhB,QAAQC,QAAQ,KACzB8kC,OAAQ,YACR9W,KAAM,QAERgX,MAAO,CACLzhB,GAAI,cACJuhB,OAAQ9jB,EAAKjhB,QAAQC,QAAQ,KAC7BguB,KAAMhN,EAAKjhB,QAAQC,QAAQ,OAI/BilC,KAAM,CACJnf,OAAQ,CACNvC,GAAI,UACJuhB,OAAQ9jB,EAAKjhB,QAAQU,KAAK,KAC1ButB,KAAMhN,EAAKjhB,QAAQU,KAAK,MAE1BskC,SAAU,CACRxhB,GAAIvC,EAAKjhB,QAAQU,KAAK,KACtBqkC,OAAQ,YACR9W,KAAM,QAERgX,MAAO,CACLzhB,GAAI,cACJuhB,OAAQ9jB,EAAKjhB,QAAQU,KAAK,KAC1ButB,KAAMhN,EAAKjhB,QAAQC,QAAQ,OAG/BklC,MAAO,CACLpf,OAAQ,CACNvC,GAAIvC,EAAKjhB,QAAQW,QAAQ,IACzBokC,OAAQ9jB,EAAKjhB,QAAQW,QAAQ,KAC7BstB,KAAMhN,EAAKjhB,QAAQW,QAAQ,MAE7BqkC,SAAU,CACRxhB,GAAIvC,EAAKjhB,QAAQW,QAAQ,KACzBokC,OAAQ,YACR9W,KAAM,QAERgX,MAAO,CACLzhB,GAAI,cACJuhB,OAAQ9jB,EAAKjhB,QAAQW,QAAQ,KAC7BstB,KAAMhN,EAAKjhB,QAAQC,QAAQ,OAG/BmlC,IAAK,CACHrf,OAAQ,CACNvC,GAAIvC,EAAKjhB,QAAQQ,MAAM,IACvBukC,OAAQ9jB,EAAKjhB,QAAQQ,MAAM,KAC3BytB,KAAMhN,EAAKjhB,QAAQQ,MAAM,MAE3BwkC,SAAU,CACRxhB,GAAIvC,EAAKjhB,QAAQQ,MAAM,KACvBukC,OAAQ,YACR9W,KAAM,QAERgX,MAAO,CACLzhB,GAAI,cACJuhB,OAAQ9jB,EAAKjhB,QAAQQ,MAAM,KAC3BytB,KAAMhN,EAAKjhB,QAAQC,QAAQ,OAG/BolC,OAAQ,CACNtf,OAAQ,CACNvC,GAAIvC,EAAKjhB,QAAQS,QAAQ,IACzBskC,OAAQ9jB,EAAKjhB,QAAQS,QAAQ,KAC7BwtB,KAAMhN,EAAKjhB,QAAQS,QAAQ,MAE7BukC,SAAU,CACRxhB,GAAIvC,EAAKjhB,QAAQS,QAAQ,KACzBskC,OAAQ,YACR9W,KAAM,QAERgX,MAAO,CACLzhB,GAAI,cACJuhB,OAAQ9jB,EAAKjhB,QAAQS,QAAQ,KAC7BwtB,KAAMhN,EAAKjhB,QAAQC,QAAQ,QAtFlB,IACbghB,EvDiBA,IAAIK,EAA6D,QAA3CiC,EAAAD,EAAUF,GAAiB0hB,UAAgB,IAAAvhB,OAAA,EAAAA,EAAAC,GAC7DiN,EAAiE,QAA3CjF,EAAAlI,EAAUF,GAAiB0hB,UAAgB,IAAAtZ,OAAA,EAAAA,EAAAuZ,OACjExlB,EAAuD,QAA3C+lB,EAAAhiB,EAAUF,GAAiB0hB,UAAgB,IAAAQ,OAAA,EAAAA,EAAArX,KAE3D,OACErM,EAAAC,KAACC,GAAe,CACdrE,UAAWxb,EAAa,wBAAyBoH,EAAMoU,WACzC0B,aAAA,CACZvf,UAAWP,EAAMO,UACjBmgB,OAAQnB,GAAMyC,GAAYlF,EAC1B4H,SAAUnF,GAAMyC,GAAYwB,GAC5B/hB,SAAU8d,GAAMyC,GAAY3U,EAC5B6S,YACA+B,kBACAmP,uBAGFnxB,SAAA,CAAAC,EAAAC,IAAA,IAAA,CAAGie,UAAU,eACZne,IACe,iBDlCqBshB,QAAAC,MACzCA,EAAKwL,WACLA,EAAU5J,MACVA,EAAK8iB,aACLA,EAAYxjB,QACZA,EAAOyjB,YACPA,EAAWpd,KACXA,EAAIrH,SACJA,GAAQH,EACLvX,EAAK9D,EAAAqb,EATiC,yFAWzC,MAAMvhB,EAAQuE,IACR+b,EyD3BkE,CACxE1f,QAAS,CACP+gB,SAFkBC,EzD2BQ5hB,GyDzBZW,QAAQC,QAAQ,KAC9BihB,QAASD,EAAKjhB,QAAQC,QAAQ,KAC9BkhB,OAAQF,EAAKjhB,QAAQC,QAAQ,KAC7BmhB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCK,QAAS,CACP0gB,QAASC,EAAKjhB,QAAQM,QAAQ,KAC9B4gB,QAASD,EAAKjhB,QAAQM,QAAQ,KAC9B6gB,OAAQF,EAAKjhB,QAAQM,QAAQ,KAC7B8gB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCM,UAAW,CACTygB,QAASC,EAAKjhB,QAAQO,UAAU,KAChC2gB,QAASD,EAAKjhB,QAAQO,UAAU,KAChC4gB,OAAQF,EAAKjhB,QAAQO,UAAU,KAC/B6gB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCO,MAAO,CACLwgB,QAASC,EAAKjhB,QAAQQ,MAAM,KAC5B0gB,QAASD,EAAKjhB,QAAQQ,MAAM,KAC5B2gB,OAAQF,EAAKjhB,QAAQQ,MAAM,KAC3B4gB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCQ,QAAS,CACPugB,QAASC,EAAKjhB,QAAQS,QAAQ,KAC9BygB,QAASD,EAAKjhB,QAAQS,QAAQ,KAC9B0gB,OAAQF,EAAKjhB,QAAQS,QAAQ,KAC7B2gB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCU,QAAS,CACPqgB,QAASC,EAAKjhB,QAAQW,QAAQ,KAC9BugB,QAASD,EAAKjhB,QAAQW,QAAQ,KAC9BwgB,OAAQF,EAAKjhB,QAAQW,QAAQ,KAC7BygB,SAAUH,EAAKjhB,QAAQC,QAAQ,MAEjCS,KAAM,CACJsgB,QAASC,EAAKjhB,QAAQU,KAAK,KAC3BwgB,QAASD,EAAKjhB,QAAQU,KAAK,KAC3BygB,OAAQF,EAAKjhB,QAAQU,KAAK,KAC1B0gB,SAAUH,EAAKjhB,QAAQC,QAAQ,OAzCd,IAACghB,EzD6BpB,MAAMmC,EAA6BX,QAAAA,EAAS,UAE5C,IAAIlD,EAAYlgB,EAAMS,UAClBwhB,EAAkB3B,EAAOyD,GAAiBpC,QAC1CO,EAAyB5B,EAAOyD,GAAiBlC,QACjDM,EAAwB7B,EAAOyD,GAAiBjC,OAChDqP,EAAWnxB,EAAMW,QAAQC,QAAQ,KACjCqwB,EAAkBjxB,EAAMW,QAAQC,QAAQ,KACxCswB,EAAiBlxB,EAAMW,QAAQC,QAAQ,KACvCkhC,EAAmB9hC,EAAMW,QAAQC,QAAQ,KAE7C,MAAM2b,EAAKvS,EAAMuS,IAAMvZ,IAEvB,OACEuf,EAACC,KAAAC,GACe,CAAA3C,aAAA,CACZ9f,QACAkgB,YACA+B,kBACAC,yBACAC,wBACAgP,WACAF,kBACAC,iBACA4Q,oBAEF1jB,UAAWxb,EACT,gCAAkCujC,EAAc,YAAc,IAC9Dn8B,EAAMoU,WAGRne,SAAA,CAAAsiB,EAAAA,KAAA,MAAA,CAAKnE,UAAU,mBAAkBne,SAAA,CAC/BsiB,EAAAA,cAAOnE,UAAU,eAAcne,SAAA,CAC7BC,EACEC,IAAA,QAAA2E,OAAAC,OAAA,CAAAwX,GAAIA,EACJvY,KAAK,YACDgG,EACJ,CAAA0Y,QAASA,EACThB,SAAWvb,GAAMub,GAAYA,EAASvb,EAAGA,EAAEvB,OAAO8d,YAEpDxiB,MAAA,OAAA,CAAMke,UAAU,qBAAoBne,SACjC8oB,GAAQ7oB,MAAM,OAAA,CAAAke,UAAU,OAAQne,SAAA8oB,SAGrC7oB,EAAOC,IAAA,QAAA,CAAAwiB,QAASpG,EAAI6B,UAAU,6BAC3BoD,OAGLe,EAAKC,KAAA,MAAA,CAAApE,UAAU,0BACZne,SAAA,CAAA+sB,GACC9sB,MAAK,MAAA,CAAAke,UAAU,8BAA+Bne,SAAA+sB,IAE/CkZ,GAAgBhmC,EAAAA,IAAA,MAAA,CAAKke,UAAU,+BAA8Bne,SAAEimC,SAElD,iCG7EmB3kB,IAAA,IAAAthB,SACvCA,EAAQsM,KACRA,EAAO,QAAOyT,MACdA,EAAKoQ,SACLA,GAAW,GAEZ7O,EADIvX,EAAK9D,EAAAqb,EAL+B,wCAOvC,MAAMvhB,EAAQuE,IAGR85B,EAAczM,GAAkB3xB,EAAUsM,EAAM6jB,GAEtD,OACElwB,EAACC,IAAAsiB,GACK3d,OAAAC,OAAA,GAAAiF,EACJ,CAAAoU,UAAWxb,EAAa,sBAAuBoH,EAAMoU,WAC7CiF,OAAArjB,EACA2xB,OAAA3R,EACGqQ,UAAAD,EAEVnwB,SAAAo+B,IACe,gBD5BR,EACZ+H,YACAC,UACAC,kBACA9M,aACApb,YACAmoB,SACAhb,SACAib,aACAC,UACAC,sBACAC,gBACAC,uBAAsB,EACtBC,8BAgBA,MAAM7mC,EAAQuE,KACPuiC,EAAgBC,GAAqBlnC,EAAM0qB,UAAS,IACpDkD,EAAUuZ,GAAennC,EAAM0qB,UAAS,GAyBzC0c,EAAuBhiC,IAC3BwhC,SAAAA,EACElb,EAAO3d,KAAKyqB,GACNA,IAAOpzB,EACTH,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAYszB,GAAE,CAAEtV,WAAYsV,aAAA,EAAAA,EAAYtV,YAEnCsV,IAEV,EAwBH,OArBAx4B,EAAMwiB,WAAU,KACd,GAAImX,EAAY,CACd,IAAI0N,GAAc,EAClB3b,EAAOlV,SAASgiB,KACRA,aAAA,EAAAA,EAAYtV,YAChBmkB,GAAc,MAIlBH,EAAkBG,MAEnB,CAAC3b,IAEJ1rB,EAAMwiB,WAAU,KACd,MAAMuJ,EAAgB,IACpBob,EAAY51B,OAAOua,aAAe+a,GAAuB,MAG3D,OAFA9a,IACAxa,OAAO2a,iBAAiB,SAAUH,GAC3B,IAAMxa,OAAO4a,oBAAoB,SAAUJ,EAAc,GAC/D,IAEC6B,EAEAvtB,MAACwxB,GAAqB,CAAArO,OACZrjB,EACEyxB,SAAA4U,EACE/U,WAAA8U,mBACME,EAAe/U,cAClBiV,EACfpoB,UAAWxb,EAAa,oBAAqBwb,GAE5Cne,SAAAsrB,EAAO3d,KAAI,CAAC3I,EAAM8D,KACjB,MAAM2Z,EAAWzd,aAAA,EAAAA,EAAc8d,SACzBokB,EAAmBzkB,EAAU,WAAa,GAEhD,OACEH,EAAAC,KAAA,MAAA,CAEEpE,UAAW,aAAe+oB,EAC1BlkB,QAAU9c,IACR,KAAMA,EAAEvB,kBAAkBwiC,aAAc,OAIvB,QAFAjhC,EAAEvB,OAAOyiC,WAGxBb,SAAAA,EAAavhC,KAEhBhF,SAAA,CAEAu5B,GACCt5B,EAAAC,IAAA,MAAA,CAAKie,UAAU,kBAAiBne,SAC9BC,EAAAA,IAACohB,GACC,CAAA/U,KAAM85B,EAAU,QAAU,SAC1BhmC,MAAOqiB,EACPhB,SAAU,IAAMulB,EAAoBhiC,GACpCge,QAAU9c,GAAMA,EAAE+xB,sBAKvBpzB,OAAO4Z,KAAK6nB,GACV/8B,QAAQxE,KAAUuhC,EAAOvhC,KACzB4I,KAAI,CAAC5I,EAAKsiC,IACT/kB,OAAA,MAAA,CAAkBnE,UAAW,qBAAoBne,SAAA,CAC/CC,MAAK,MAAA,CAAAke,UAAU,aAAcne,SAAAsmC,EAAOvhC,KACpC9E,MAAA,MAAA,CACEke,UACE,eACCkoB,GACIgB,EAAS,GAAK,GAAM,EACnB,OACA,MACF,aAGJriC,EAAaD,OAZTsiC,OA1BTv+B,EA0CD,MAQdwZ,EAACC,KAAAC,GACS,CAAAY,OAAArjB,uBACc4mC,EAAmBnV,SAC/B4U,EAAO/U,WACL8U,EACMmB,iBAAAjB,EACL/U,cAAEiV,EACfpoB,UAAWxb,EACT,qBAAuB+jC,EAAgB,iBAAmB,IAC1DvoB,GAEFopB,YAAa,EACbC,YAAa,EAEbxnC,SAAA,CAAAC,EAAAC,IAAA,QAAA,CAAAF,SACEsiB,EACGC,KAAA,KAAA,CAAAviB,SAAA,CAAAu5B,GACCt5B,EAAAC,IAAA,KAAA,CAAIie,UAAU,aACZne,SAAAC,EAAAC,IAACmhB,GAAQ,CACPjhB,MAAOymC,EACPplB,SA7IyB,CACrCnJ,EACAigB,KAIA,GAFAuO,EAAkBvO,GAEdiO,EAAS,CACX,IAAIiB,EAAwB,GAG1BA,EADElP,EACiBjN,EAAO3d,KAAKyqB,GAC7BvzB,OAAAC,OAAAD,OAAAC,OAAA,GAAYszB,GAAE,CAAEtV,UAAU,MAGTwI,EAAO3d,KAAKyqB,GAC7BvzB,OAAAC,OAAAD,OAAAC,OAAA,GAAYszB,GAAE,CAAEtV,UAAU,MAI9B0jB,EAAQiB,SA8HH5iC,OAAO4Z,KAAK6nB,GACV/8B,QAAQxE,KAAUuhC,EAAOvhC,KACzB4I,KAAI,CAAC5I,EAAK+D,IACT7I,EAAAA,IAEE,KAAA,CAAA4D,MAAO,CACL2K,KACEo4B,GACA99B,IAAUjE,OAAO4Z,KAAK6nB,GAAQ5gC,OAAS,EACnCkhC,OACAz/B,GACPnH,SAECsmC,EAAevhC,IATZ+D,UAedwiB,GAAUA,EAAO5lB,OAAS,GACzBzF,wBACGqrB,EAAO3d,KAAI,CAAC3I,EAAM8D,KACjB,MAAM2Z,EAAWzd,aAAA,EAAAA,EAAc8d,SACzB4kB,EAAcjlB,EAAU,WAAa,GAE3C,OACEH,EAEEC,KAAA,KAAA,CAAAS,QAAU9c,IACR,KAAMA,EAAEvB,kBAAkBwiC,aAAc,OAExC,MAAMC,EAAWlhC,EAAEvB,OAAOyiC,SAET,OAAbA,GAAkC,OAAbA,GACvBb,SAAAA,EAAavhC,IAGjBmZ,UACEupB,GACCrB,GACIv9B,EAAQ,GAAK,GAAM,EAClB,OACA,MACF,IAAG9I,SAAA,CAGRu5B,GACCt5B,EAAIC,IAAA,KAAA,CAAAie,UAAU,sBACZle,EAACC,IAAAmhB,IACCjhB,MAAOqiB,EACPhB,SAAU,IAAMulB,EAAoBhiC,GACpCge,QAAU9c,GAAMA,EAAE+xB,sBAIvBpzB,OAAO8iC,QAAQ3iC,GACbuE,QAAQxE,KAAUuhC,EAAOvhC,EAAI,MAC7B4I,KACC,EAAE5I,EAAK3E,GAAQwnC,IACZtB,EAAevhC,IACd9E,EAAAA,IAAA,KAAA,CAEE4D,MAAO,CACL2K,KACEo4B,GACAgB,IAAc/iC,OAAO4Z,KAAK6nB,GAAQ5gC,OAAS,EACvCkhC,OACAz/B,GAGPnH,SAAAI,GATI2E,OAlCV+D,EA+CF,QAKG,kGUjPuBwY,IAAA,IAAAyU,MAC3CA,EAAK8R,QACLA,EAAOC,YACPA,EAAW9nC,SACXA,EAAQ+nC,cACRA,EAAgB,MAAKC,cACrBA,EAAgB,SAAQC,OACxBA,EAAMvC,SACNA,EAAQ1jB,gBACRA,EAAe8G,KACfA,GAAO,GAERxH,EADIvX,EAAK9D,EAAAqb,EAXmC,2HAa3C,MAAMvhB,EAAQuE,KACP8lB,EAAMC,GAAWzqB,EAAM0qB,UAAS,IAChC4d,EAAgBC,GAAqBvoC,EAAM0qB,UAAS,GACrD9mB,EAAM5D,EAAMqS,OAAuB,MACnCm2B,EAAaxoC,EAAMqS,OAAuB,OACzCrJ,EAAUy/B,GAAezoC,EAAM0qB,SAAS,CAC7CK,IAAK,EACLC,KAAM,EACNrgB,MAAO,CACLogB,IAAK,EACLC,KAAM,EACNzH,MAAO,MAILmlB,EAAcle,GAAQ8d,EAC5B,IAAIK,EAAa7C,EAAW3lC,EAAMW,QAAQC,QAAQ,KAAO,OACrDqhB,IACFumB,EAAavmB,GAGf,MAAMwmB,EAAc,CAClBC,SAAU,GAAGF,wCACbG,MAAO,2BAA2BH,gBAClCI,OAAQ,eAAeJ,4BACvBK,QAAS,uCAAuCL,KAG5C5Q,EAAe,KACnB,GAAIn0B,EAAI6e,SAAW+lB,EAAW/lB,QAAS,CACrC,IAAIwmB,EAAS,EACTC,EAAU,EACVC,EAAW,CACbpe,IAAK,EACLC,KAAM,EACNzH,MAAO,IAET,MAAM6lB,EAAgBxlC,EAAI6e,QAAQoJ,YAC5Bwd,EAAiBzlC,EAAI6e,QAAQ6I,aAC7Bge,EAAc1lC,EAAI6e,QAAQuV,UAC1BuR,EAAe3lC,EAAI6e,QAAQwV,WAC3BuR,EAAehB,EAAW/lB,QAAQoJ,YAClC4d,EAAgBjB,EAAW/lB,QAAQ6I,aAEnB,QAAlB6c,GAA6C,UAAlBC,IAC7Ba,EAASK,EAAcG,EA1Eb,EA2EVP,EAAUK,EACVJ,EAAW,CACTpe,IAAKue,EA7EG,EA8ERte,KAAMue,EA9EE,EA+ERhmB,MAAOqlB,EAAYC,WAGD,QAAlBV,GAA6C,WAAlBC,IAC7Ba,EAASK,EAAcG,EAnFb,EAoFVP,EAAUK,EAAeC,EAAe,EACxCL,EAAW,CACTpe,IAAKue,EAtFG,EAuFRte,KAAMue,EACNhmB,MAAOqlB,EAAYC,WAGD,QAAlBV,GAA6C,QAAlBC,IAC7Ba,EAASK,EAAcG,EA5Fb,EA6FVP,EAAUK,EAAeG,GAAgBF,EACzCL,EAAW,CACTpe,IAAKue,EA/FG,EAgGRte,KAAMue,EACNhmB,MAAOqlB,EAAYC,WAID,WAAlBV,GAAgD,UAAlBC,IAChCa,EAASK,EAAcD,EAtGb,EAuGVH,EAAUK,EACVJ,EAAW,CACTpe,IAAKue,EAAcD,EAzGX,EA0GRre,KAAMue,EA1GE,EA2GRhmB,MAAOqlB,EAAYE,QAGD,WAAlBX,GAAgD,WAAlBC,IAChCa,EAASK,EAAcD,EA/Gb,EAgHVH,EAAUK,EAAeC,EAAe,EACxCL,EAAW,CACTpe,IAAKue,EAAcD,EAlHX,EAmHRre,KAAMue,EACNhmB,MAAOqlB,EAAYE,QAGD,WAAlBX,GAAgD,QAAlBC,IAChCa,EAASK,EAAcD,EAxHb,EAyHVH,EAAUK,EAAeG,GAAgBF,EACzCL,EAAW,CACTpe,IAAKue,EAAcD,EA3HX,EA4HRre,KAAMue,EA5HE,EA6HRhmB,MAAOqlB,EAAYE,QAID,SAAlBX,GAA8C,UAAlBC,IAC9Ba,EAASK,EACTJ,EAAUK,EAAeC,EAnIf,EAoIVL,EAAW,CACTpe,IAAKue,EArIG,EAsIRte,KAAMue,EAtIE,EAuIRhmB,MAAOqlB,EAAYI,UAGD,SAAlBb,GAA8C,WAAlBC,IAC9Ba,EAASK,EAAcI,EAAkBD,EAAgB,EACzDP,EAAUK,EAAeC,EA5If,EA6IVL,EAAW,CACTpe,IAAKue,EA9IG,EA+IRte,KAAMue,EA/IE,EAgJRhmB,MAAOqlB,EAAYI,UAGD,SAAlBb,GAA8C,QAAlBC,IAC9Ba,EAASK,EAAcG,EAAgBC,GACvCR,EAAUK,EAAeC,EArJf,EAsJVL,EAAW,CACTpe,IAAKue,EAvJG,EAwJRte,KAAMue,EAxJE,EAyJRhmB,MAAOqlB,EAAYI,UAID,UAAlBb,GAA+C,UAAlBC,IAC/Ba,EAASK,EACTJ,EAAUK,EAAeH,EA/Jf,EAgKVD,EAAW,CACTpe,IAAKue,EAjKG,EAkKRte,KAAMue,EAAeH,EAlKb,EAmKR7lB,MAAOqlB,EAAYG,SAGD,UAAlBZ,GAA+C,WAAlBC,IAC/Ba,EAASK,EAAcG,EAAgB,EAAIC,GAC3CR,EAAUK,EAAeH,EAxKf,EAyKVD,EAAW,CACTpe,IAAKue,EA1KG,EA2KRte,KAAMue,EAAeH,EA3Kb,EA4KR7lB,MAAOqlB,EAAYG,SAGD,UAAlBZ,GAA+C,QAAlBC,IAC/Ba,EAASK,EAAcG,EAAgBC,GACvCR,EAAUK,EAAeH,EAjLf,EAkLVD,EAAW,CACTpe,IAAKue,EAnLG,EAoLRte,KAAMue,EAAeH,EApLb,EAqLR7lB,MAAOqlB,EAAYG,SAIvBN,EAAY,CACV1d,IAAKke,EACLje,KAAMke,EACNv+B,MAAOw+B,MA8Cb,OAzCAnpC,EAAMwiB,WAAU,KACd,GAAI5e,EAAI6e,QAAS,CACfsV,IAEA,MAAMhM,EAAgB,KACpBgM,GAAc,EAGV/L,EAAgB1lB,WAEJ,QAAXob,EAAA9d,EAAI6e,eAAO,IAAAf,OAAA,EAAAA,EAAEuK,SAAS3lB,EAAEvB,WAC3B0lB,GAAQ,GACR8d,GAAkB,KAIhBoB,EAAoBrjC,IACxByxB,IACAtN,GAAQ,EAAK,EAGTmf,EAAoB,KACxBnf,GAAQ,EAAM,EAShB,OANAlZ,OAAO2a,iBAAiB,QAASF,GACjCza,OAAO2a,iBAAiB,SAAUH,GAClCnoB,EAAI6e,QAAQyJ,iBAAiB,YAAayd,GAC1C/lC,EAAI6e,QAAQyJ,iBAAiB,aAAc0d,GAC3ChmC,EAAI6e,QAAQyJ,iBAAiB,QAASyd,GAE/B,eACLp4B,OAAO4a,oBAAoB,SAAUJ,GACrCxa,OAAO4a,oBAAoB,QAASH,GACtB,QAAdtK,EAAA9d,aAAG,EAAHA,EAAK6e,eAAS,IAAAf,GAAAA,EAAAyK,oBAAoB,YAAawd,GACjC,QAAdtlB,EAAAzgB,aAAG,EAAHA,EAAK6e,eAAS,IAAA4B,GAAAA,EAAA8H,oBAAoB,aAAcyd,GAClC,QAAdtd,EAAA1oB,aAAG,EAAHA,EAAK6e,eAAS,IAAA6J,GAAAA,EAAAH,oBAAoB,QAASwd,EAAiB,KAG/D,CAAC/lC,EAAK4kC,EAAYL,EAAeC,IAGlC1lB,EAAAC,KAACC,GAAe3d,OAAAC,OAAA,CACdqZ,UAAWxb,EAAa,sBAAuBoH,EAAMoU,WAC7CiF,OAAArjB,EACGmzB,UAAAwS,GACP37B,EACJ,CAAAvG,IAAKA,EACLwf,QAAS,KACPmlB,GAAkB,EAAK,EACxBnV,UACUpqB,EAEV5I,SAAA,CAAAA,EAEDsiB,OAACoC,GACC,CAAAlhB,IAAK4kC,SACGroC,EAAKizB,UACFpqB,EAAQsqB,UACRwS,EAAQzS,iBACDjR,EAClB7D,UACE,wBAA0BmqB,EAAc,gBAAkB,IAAGtoC,SAAA,CAG9D8nC,GAAeA,GACdA,GACAxlB,EAAAA,KAAAuE,EAAAyH,SAAA,CAAAtuB,SAAA,CACG8oB,GACC7oB,EAAAA,IAAK,MAAA,CAAAke,UAAU,oCACble,EAAAA,IAAK,MAAA,CAAAgtB,I8C7QX,qyB9CgRE3K,EAAKC,KAAA,MAAA,CAAApE,UAAU,qCACble,EAAAA,IAAK,MAAA,CAAAke,UAAU,qBAAsBne,SAAA+1B,IACrC91B,EAAAC,IAAA,MAAA,CAAKie,UAAU,2BAA0Bne,SAAE6nC,cAKjDI,GAAUhoC,MAAA,OAAA,CAAMke,UAAWmqB,EAAc,OAAS,QACpC,gBN9EiBhnB,IAAA,IAAA1Y,SACrCA,EAAW,cAAa6gC,SACxBA,EAAW,MAAMC,IACjBA,GAEDpoB,EADIvX,EAAK9D,EAAAqb,EAJ6B,+BAMrC,MAAMkd,EAAY96B,SAASI,cAAc,OACzC06B,EAAUrgB,UAAY,6BACTza,SAASE,qBAAqB,QAAQ,GAC9CM,YAAYs6B,GAEjB,MAAM30B,EAAO8/B,EAAUA,WAACnL,GAElBoL,EAAiB,WACR,QAAbtoB,EAAAvX,EAAMmgB,eAAO,IAAA5I,GAAAA,EAAAxb,KAAAiE,GACbF,EAAKggC,UACLrL,EAAUmF,QAAQ,EAQdmG,EAAgB,KAChBtL,EAAUllB,WAAW,IAAMklB,EAAUllB,WAAW,aAAcywB,UAChEvL,EAAUllB,WAAW,GAAG6E,UACtBqgB,EAAUllB,WAAW,GAAG6E,UAAY,gBAI1C6rB,WAAWF,GAAgBL,GAC3BO,WAAWJ,GAAiBH,EAAW,KAEvC5/B,EAAKgL,OACH5U,EAAAA,IAACuiB,GAAgB,CAAArE,UAAU,cAAa6U,UAAYpqB,EAClD5I,SAAAC,EAAAC,IAAC+xB,GACKptB,OAAAC,OAAA,CAAA,EAAAiF,GACJmgB,QAnBe,KACnB4f,IACAE,WAAWJ,EAAgB,IAAI,EAkB3BvX,YAAatoB,EAAMsoB,YACnBxuB,MAAO,CAAEvD,UAAWopC,EAAM,MAAQ,YAGvC,qCqDjPAO,GAAc,IACbhqC,EAAAC,IAACJ,EAAa,CAACC,MAAO,CAAEO,UAAW,OAAON,SACxCC,EAAAA,IAACgqC,EAAY,CAAA","x_google_ignoreList":[3,5,6,7,8,9,10,11,12,13,14,15,16,35,36]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/components/ThemeProvider/index.tsx","../../src/lib/defaultTheme.ts","../../src/lib/helpers.ts","../../node_modules/style-inject/dist/style-inject.es.js","../../src/lib/useTheme.ts","../../node_modules/tslib/tslib.es6.js","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../node_modules/stylis/src/Enum.js","../../node_modules/stylis/src/Utility.js","../../node_modules/stylis/src/Tokenizer.js","../../node_modules/stylis/src/Parser.js","../../node_modules/stylis/src/Prefixer.js","../../node_modules/stylis/src/Serializer.js","../../node_modules/stylis/src/Middleware.js","../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../node_modules/styled-components/dist/styled-components.esm.js","../../src/assets/images/chevron.png","../../src/components/Accordion/index.tsx","../../src/assets/images/x.png","../../src/assets/images/check.png","../../src/assets/images/Feedback-Icon.png","../../src/components/Checkbox/checkboxColors.ts","../../src/components/Checkbox/Icon.tsx","../../src/components/Checkbox/index.tsx","../../src/components/Dropdown/DropdownItem.tsx","../../src/components/Tag/index.tsx","../../src/components/Tag/colors.ts","../../src/components/Autocomplete/index.tsx","../../src/components/Avatar/index.tsx","../../src/components/Breadcrumb/index.tsx","../../src/lib/constants.ts","../../src/components/Button/index.tsx","../../src/components/Button/buttonColors.ts","../../src/components/Card/index.tsx","../../node_modules/react-date-object/calendars/gregorian.js","../../node_modules/react-date-object/calendars/arabic.js","../../src/components/DatePicker/customLocales.js","../../src/components/TextInput/index.tsx","../../src/components/Menu/index.tsx","../../src/components/DatePicker/right.png","../../src/components/DatePicker/left.png","../../src/components/DatePicker/index.tsx","../../src/components/FileUpload/Icon.tsx","../../src/components/FileUpload/FileCard.tsx","../../src/assets/images/successFillCirecle.svg","../../src/assets/images/errorFillCircle.svg","../../src/components/FileUpload/DropZone.tsx","../../src/assets/images/chevronGray.png","../../src/components/Dropdown/index.tsx","../../src/components/FileUpload/FileUpload.tsx","../../src/lib/hooks/useScreenSizes.tsx","../../src/components/Grid/index.tsx","../../src/components/InlineAlert/colors.ts","../../src/components/InlineAlert/index.tsx","../../src/components/Link/index.tsx","../../src/components/List/index.tsx","../../src/components/Loading/index.tsx","../../src/components/Menu/MenuItem/index.tsx","../../src/components/Menu/MenuItemGroup/index.tsx","../../src/components/Modal/index.tsx","../../src/components/Notification/colors.ts","../../src/components/Notification/index.tsx","../../src/components/Tab/index.tsx","../../src/components/Pagination/index.tsx","../../src/components/ProgressIndicator/Base.tsx","../../src/assets/images/checkWhite.png","../../src/components/ProgressIndicator/index.tsx","../../src/components/Radio/index.tsx","../../src/components/RadioGroup/index.tsx","../../src/components/Switch/index.tsx","../../src/components/StatusTag/index.tsx","../../src/components/Table/index.tsx","../../src/components/TabList/index.tsx","../../src/components/Textarea/index.tsx","../../src/components/NotificationToast/colors.ts","../../src/components/NotificationToast/index.tsx","../../src/components/NotificationToast/icons/circle_neutral.png","../../src/components/NotificationToast/icons/circle_critical.png","../../src/components/NotificationToast/icons/circle_warning.png","../../src/components/NotificationToast/icons/circle_success.png","../../src/components/NotificationToast/icons/circle_info.png","../../src/components/Tooltip/index.tsx","../../src/components/HeaderMenuItem/index.tsx","../../src/components/NavigationDrawerItem/index.tsx","../../src/components/SearchBox/index.tsx","../../src/components/ContentSwitcher/index.tsx","../../src/components/Divider/index.tsx","../../src/components/Skeleton/Circle/index.tsx","../../src/components/Skeleton/Line/index.tsx","../../src/components/Skeleton/Square/index.tsx","../../src/components/Skeleton/Rectangle/index.tsx","../../src/components/Skeleton/index.tsx","../../src/components/Rating/icons/gray.png","../../src/components/Rating/index.tsx","../../src/components/Chip/index.tsx","../../src/components/FloatingButton/index.tsx","../../src/components/RadialStepper/index.tsx","../../src/components/ProgressBar/index.tsx","../../src/components/NumberInput/index.tsx","../../src/components/NumberInput/plus.png","../../src/components/NumberInput/minus.png","../../src/lib/hooks/useScreenDimensions.tsx","../../src/components/Slider/Normal.tsx","../../src/components/Slider/Range.tsx","../../src/components/Carousel/Dot.tsx","../../src/components/Carousel/Arrow.tsx","../../src/components/Carousel/arrow-left-white.png","../../src/components/Carousel/arrow-left-black.png","../../src/components/Carousel/index.tsx","../../src/components/Quote/index.tsx","../../src/components/SecondNavHeader/index.tsx","../../src/components/CodeSnippet/index.tsx","../../src/assets/images/arrow-to-right.png","../../src/assets/images/arrow-to-left.png","../../src/components/CodeSnippet/copyIcon.png","../../src/assets/images/circle_neutral.png","../../src/assets/images/circle_error.png","../../src/assets/images/circle_warning.png","../../src/assets/images/circle_success.png","../../src/assets/images/circle_info.png","../../src/components/Link/colors.ts","../../src/components/List/colors.ts","../../src/components/Loading/colors.ts","../../src/components/Notification/icons/neutral.png","../../src/components/Notification/icons/error.png","../../src/components/Notification/icons/warning.png","../../src/components/Notification/icons/success.png","../../src/components/Notification/icons/info.png","../../src/components/Radio/radioColors.ts","../../src/components/Rating/icons/brand_selected.png","../../src/components/Rating/icons/selected.png","../../src/components/Rating/icons/brand_half.png","../../src/components/Rating/icons/half.png","../../src/assets/images/searchByVoice.png","../../src/components/StatusTag/colors.ts","../../src/components/Switch/switchColors.ts","../../src/assets/images/qIcon.png","../../src/lib/RTL.tsx"],"sourcesContent":["import React from \"react\";\n\ntype Props = {\n theme: ThemeProps;\n children: React.ReactNode;\n};\n\nexport const ThemeContext = React.createContext<ThemeProps | null>(null);\n\nconst ThemeProvider: React.FC<Props> = ({ theme, children }) => {\n return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>;\n};\n\nexport default ThemeProvider;\n","const defaultTheme: Theme = {\n direction: \"ltr\",\n fontFamily: \"IBM Plex Sans\",\n textColor: \"#161616\",\n textOnColor: \"#FFFFFF\",\n palette: {\n neutral: {\n 25: \"#FCFCFD\",\n 50: \"#F9FAFB\",\n 100: \"#F3F4F6\",\n 200: \"#E5E7EB\",\n 300: \"#D2D6DB\",\n 400: \"#9DA4AE\",\n 500: \"#6C737F\",\n 600: \"#4D5761\",\n 700: \"#384250\",\n 800: \"#1F2A37\",\n 900: \"#111927\",\n 950: \"#0D121C\",\n light: \"#D2D6DB\",\n main: \"#6C737F\",\n dark: \"#384250\",\n contrastText: \"#FFF\",\n },\n primary: {\n 25: \"#F7FDF9\",\n 50: \"#F3FCF6\",\n 100: \"#DFF6E7\",\n 200: \"#B8EACB\",\n 300: \"#88D8AD\",\n 400: \"#54C08A\",\n 500: \"#25935F\",\n 600: \"#1B8354\",\n 700: \"#166A45\",\n 800: \"#14573A\",\n 900: \"#104631\",\n 950: \"#092A1E\",\n light: \"#54C08A\",\n main: \"#1B8354\",\n dark: \"#14573A\",\n contrastText: \"#FFF\",\n },\n secondary: {\n 25: \"#FFFEF7\",\n 50: \"#FFFEF2\",\n 100: \"#FFFCE6\",\n 200: \"#FCF3BD\",\n 300: \"#FAE996\",\n 400: \"#F7D54D\",\n 500: \"#F5BD02\",\n 600: \"#DBA102\",\n 700: \"#B87B02\",\n 800: \"#945C01\",\n 900: \"#6E3C00\",\n 950: \"#472400\",\n light: \"#F7D54D\",\n main: \"#DBA102\",\n dark: \"#945C01\",\n contrastText: \"#0D121C\",\n },\n error: {\n 25: \"#FFFBFA\",\n 50: \"#FEF3F2\",\n 100: \"#FEE4E2\",\n 200: \"#FECDCA\",\n 300: \"#FDA29B\",\n 400: \"#F97066\",\n 500: \"#F04438\",\n 600: \"#D92D20\",\n 700: \"#B42318\",\n 800: \"#912018\",\n 900: \"#7A271A\",\n 950: \"#55160C\",\n light: \"#FDA29B\",\n main: \"#F04438\",\n dark: \"#B42318\",\n contrastText: \"#FFF\",\n },\n warning: {\n 25: \"#FFFCF5\",\n 50: \"#FFFAEB\",\n 100: \"#FEF0C7\",\n 200: \"#FEDF89\",\n 300: \"#FEC84B\",\n 400: \"#FDB022\",\n 500: \"#F79009\",\n 600: \"#DC6803\",\n 700: \"#B54708\",\n 800: \"#93370D\",\n 900: \"#7A2E0E\",\n 950: \"#4E1D09\",\n light: \"#FEC84B\",\n main: \"#F79009\",\n dark: \"#B54708\",\n contrastText: \"#0D121C\",\n },\n info: {\n 25: \"#F5FAFF\",\n 50: \"#ECFDF3\",\n 100: \"#D1E9FF\",\n 200: \"#B2DDFF\",\n 300: \"#84CAFF\",\n 400: \"#53B1FD\",\n 500: \"#2E90FA\",\n 600: \"#1570EF\",\n 700: \"#175CD3\",\n 800: \"#1849A9\",\n 900: \"#194185\",\n 950: \"#102A56\",\n light: \"#84CAFF\",\n main: \"#2E90FA\",\n dark: \"#175CD3\",\n contrastText: \"#FFF\",\n },\n success: {\n 25: \"#F6FEF9\",\n 50: \"#ECFDF3\",\n 100: \"#DCFAE6\",\n 200: \"#ABEFC6\",\n 300: \"#75E0A7\",\n 400: \"#47CD89\",\n 500: \"#17B26A\",\n 600: \"#079455\",\n 700: \"#067647\",\n 800: \"#085D3A\",\n 900: \"#074D31\",\n 950: \"#053321\",\n light: \"#75E0A7\",\n main: \"#17B26A\",\n dark: \"#067647\",\n contrastText: \"#FFF\",\n },\n },\n typography: {\n h1: {\n fontSize: \"72px\",\n lineHeight: \"90px\",\n },\n h2: {\n fontSize: \"60px\",\n lineHeight: \"72px\",\n },\n h3: {\n fontSize: \"48px\",\n lineHeight: \"60px\",\n },\n h4: {\n fontSize: \"36px\",\n lineHeight: \"44px\",\n },\n h5: {\n fontSize: \"30px\",\n lineHeight: \"38px\",\n },\n h6: {\n fontSize: \"24px\",\n lineHeight: \"32px\",\n },\n xl: {\n fontSize: \"20px\",\n lineHeight: \"30px\",\n },\n lg: {\n fontSize: \"18px\",\n lineHeight: \"28px\",\n },\n md: {\n fontSize: \"16px\",\n lineHeight: \"24px\",\n },\n sm: {\n fontSize: \"14px\",\n lineHeight: \"20px\",\n },\n xs: {\n fontSize: \"12px\",\n lineHeight: \"18px\",\n },\n },\n elevation: {\n shadows: {\n xs: \"box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, .05);\",\n sm: \"box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, .06), 0px 1px 3px 0px rgba(16, 24, 40, .1);\",\n md: \"box-shadow: 0px 2px 4px -2px rgba(16, 24, 40, .06), 0px 4px 8px -2px rgba(16, 24, 40, .1);\",\n lg: \"box-shadow: 0px 4px 6px -2px rgba(16, 24, 40, .03), 0px 12px 16px -4px rgba(16, 24, 40, .08);\",\n xl: \"box-shadow: 0px 8px 8px -4px rgba(16, 24, 40, .03), 0px 20px 24px -4px rgba(16, 24, 40, .08);\",\n \"2xl\": \"box-shadow: 0 24px 48px -12px #1018282e;\",\n \"3xl\": \"box-shadow: 0 32px 64px -12px #10182824;\",\n },\n backdropBlur: {\n sm: \"filter: blur(8px);-webkit-filter: blur(8px);\",\n md: \"filter: blur(16px);-webkit-filter: blur(16px);\",\n lg: \"filter: blur(24px);-webkit-filter: blur(24px);\",\n xl: \"filter: blur(40px);-webkit-filter: blur(40px);\",\n },\n },\n raduises: {\n none: \"0\",\n xs: \"2px\",\n sm: \"4px\",\n md: \"8px\",\n lg: \"16px\",\n xl: \"24px\",\n full: \"9999px\",\n },\n breakPoints: {\n lg: 1280,\n md: 768,\n sm: 375,\n },\n};\n\nexport default defaultTheme;\n","export const mergeThemes = (defaultTheme: Theme, theme: ThemeProps): Theme => {\n let finalResult: any = {};\n\n function isObject(item: any) {\n return item && typeof item === \"object\" && !Array.isArray(item);\n }\n\n function overrideDeep(target: any, source: any): any {\n let result = { ...target };\n\n for (const key in source) {\n if (isObject(source[key]) && key in target) {\n result[key] = overrideDeep(target[key], source[key]);\n } else {\n result[key] = source[key];\n }\n }\n\n return result;\n }\n\n if (theme) {\n finalResult = overrideDeep(defaultTheme, theme);\n }\n\n return finalResult;\n};\n\nexport const mergeStrings = (s1?: string, s2?: string, d = \" \") => {\n return s1 + d + (s2 ?? \"\");\n};\n\nexport const generateUniqueId = () => {\n const timestamp = Date.now().toString(36);\n const randomNum = Math.random().toString(36).substring(2, 8);\n return timestamp + randomNum;\n};\n\nexport const deepEqual = (obj1: any, obj2: any): boolean => {\n // Check if both are the same object reference or primitive equal values\n if (obj1 === obj2) return true;\n\n // Check if both are null or undefined\n if (obj1 == null || obj2 == null) return false;\n\n // Check if both are not objects (primitive values)\n if (typeof obj1 !== \"object\" || typeof obj2 !== \"object\") return false;\n\n // Check if both have different constructors (e.g., Array vs Object)\n if (obj1.constructor !== obj2.constructor) return false;\n\n // If both are arrays, compare their lengths and elements\n if (Array.isArray(obj1)) {\n if (obj1.length !== obj2.length) return false;\n for (let i = 0; i < obj1.length; i++) {\n if (!deepEqual(obj1[i], obj2[i])) return false;\n }\n return true;\n }\n\n // If both are plain objects, compare their keys and values\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) return false;\n\n for (const key of keys1) {\n if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) return false;\n }\n\n return true;\n};\n\nexport function getFrom1ToX(value = 0, to = 0) {\n const results = [];\n let i = 1;\n\n while (results.length < value) {\n if (i <= to) {\n results.push(i);\n } else {\n if (i % to === 0) {\n results.push(to);\n } else {\n results.push(i % to);\n }\n }\n\n i++;\n }\n\n return results;\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from \"react\";\nimport { ThemeContext } from \"../components/ThemeProvider\";\nimport defaultTheme from \"./defaultTheme\";\nimport { mergeThemes } from \"./helpers\";\nimport \"../assets/css/globalStyles.css\";\n\nconst useTheme = (): Theme => {\n const theme = React.useContext(ThemeContext);\n\n let result = defaultTheme;\n\n // Merge theme props provided from user, with dga default theme.\n if (theme) {\n result = mergeThemes(defaultTheme, theme);\n }\n\n return result;\n};\n\nexport default useTheme;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\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 { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\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// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + 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// 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\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\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/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + 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/g, '') + 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// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + 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', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, 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, children)\n\t\t\t\t\treturn\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(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::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\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\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\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\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","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 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 { unitlessKeys as default };\n","import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import r,{useRef as o,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.15\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"HTMLElement\"in window,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var r=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(r,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];E.test(t)?(a=!1,N.delete(s)):i.apply(void 0,e([t],n,!1))},o(),a&&!N.has(s)&&(console.warn(s),N.add(s))}catch(e){E.test(e.message)&&N.delete(s)}finally{console.error=i}}},_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set([\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"use\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"]),O=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,q=G?Symbol.for(\"react.forward_ref\"):60112,W={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[q]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:W;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function re(e,t,n){if(\"string\"!=typeof t){if(ne){var r=te(t);r&&r!==ne&&re(e,r,n)}var o=K(t);Q&&(o=o.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<o.length;++a){var c=o[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l)}catch(e){}}}}return e}function oe(e){return\"function\"==typeof e}function se(e){return\"object\"==typeof e&&\"styledComponentId\"in e}function ie(e,t){return e&&t?\"\".concat(e,\" \").concat(t):e||t||\"\"}function ae(e,t){if(0===e.length)return\"\";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function ce(e){return null!==e&&\"object\"==typeof e&&e.constructor.name===Object.name&&!(\"props\"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=le(e[r],t[r]);else if(ce(t))for(var r in t)e[r]=le(e[r],t[r]);return e}function ue(e,t){Object.defineProperty(e,\"toString\",{value:t})}var pe=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\"}:{};function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],r=[],o=1,s=e.length;o<s;o+=1)r.push(e[o]);return r.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function he(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#\".concat(t,\" for more information.\").concat(n.length>0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=\"\".concat(this.tag.getRule(s)).concat(g);return t},e}(),me=1<<30,ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;if(\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>me))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},Pe=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:\"\").split(g),o=[],s=0,i=r.length;s<i;s++){var a=r[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,o)),o.length=0}else o.push(a)}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,r=t.length;n<r;n++){var o=t[n];o&&o.getAttribute(f)!==m&&(Pe(e,o),o.parentNode&&o.parentNode.removeChild(o))}};function Ce(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){var t=Array.from(e.querySelectorAll(\"style[\".concat(f,\"]\")));return t[t.length-1]}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(f,m),r.setAttribute(y,v);var i=Ce();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw he(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\"\"},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),De=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,r){void 0===e&&(e=C),void 0===n&&(n={});var o=this;this.options=t(t({},Te),e),this.gs=n,this.names=new Map(r),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=function(n){var o=function(e){return ve.get(e)}(n);if(void 0===o)return\"continue\";var s=e.names.get(o),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return\"continue\";var a=\"\".concat(f,\".g\").concat(n,'[id=\"').concat(o,'\"]'),c=\"\";void 0!==s&&s.forEach(function(e){e.length>0&&(c+=\"\".concat(e,\",\"))}),r+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s<n;s++)o(s);return r}(o)})}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this)},e.prototype.reconstructWithOptions=function(n,r){return void 0===r&&(r=!0),new e(t(t({},this.options),n),this.gs,r&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),je=/&/g,xe=/^\\s*\\/\\/.*$/gm;function Ve(e,t){return e.map(function(e){return\"rule\"===e.type&&(e.value=\"\".concat(t,\" \").concat(e.value),e.value=e.value.replaceAll(\",\",\",\".concat(t,\" \")),e.props=e.props.map(function(e){return\"\".concat(t,\" \").concat(e)})),Array.isArray(e.children)&&\"@keyframes\"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,r,o=void 0===e?C:e,s=o.options,i=void 0===s?C:s,a=o.plugins,c=void 0===a?_:a,l=function(e,r,o){return o.startsWith(n)&&o.endsWith(n)&&o.replaceAll(n,\"\").length>0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(r,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,o,s,a){void 0===o&&(o=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=o,r=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||o?\"\".concat(s,\" \").concat(o,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=r.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=r.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],o=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||o(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return r.createElement($e.Provider,{value:d},r.createElement(Le.Provider,{value:u},e.children))}var qe=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),We=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n<e.length;n++){var r=e[n];if(1===n&&\"-\"===r&&\"-\"===e[0])return e;We(r)?t+=\"-\"+r.toLowerCase():t+=r}return t.startsWith(\"ms-\")?\"-\"+t:t}var Ue=function(e){return null==e||!1===e||\"\"===e},Je=function(t){var n,r,o=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||oe(i)?o.push(\"\".concat(He(s),\":\"),i,\";\"):ce(i)?o.push.apply(o,e(e([\"\".concat(s,\" {\")],Je(i),!1),[\"}\"],!1)):o.push(\"\".concat(He(s),\": \").concat((n=s,null==(r=i)||\"boolean\"==typeof r||\"\"===r?\"\":\"number\"!=typeof r||0===r||n in h||n.startsWith(\"--\")?String(r).trim():\"\".concat(r,\"px\")),\";\")))}return o};function Xe(e,t,n,r){if(Ue(e))return[];if(se(e))return[\".\".concat(e.styledComponentId)];if(oe(e)){if(!oe(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var o=e(t);return\"production\"===process.env.NODE_ENV||\"object\"!=typeof o||Array.isArray(o)||o instanceof qe||ce(o)||null===o||console.error(\"\".concat(B(e),\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")),Xe(o,t,n,r)}var s;return e instanceof qe?n?(e.inject(n,r),[e.getName(r)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,r)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(oe(n)&&!se(n))return!1}return!0}var Ke=z(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=M(Ke,t),this.baseStyle=n,ke.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):\"\";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=ie(r,this.staticRulesId);else{var o=ae(Xe(this.rules,e,t,n)),s=x(M(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(o,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}r=ie(r,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l<this.rules.length;l++){var u=this.rules[l];if(\"string\"==typeof u)c+=u,\"production\"!==process.env.NODE_ENV&&(a=M(a,u));else if(u){var p=ae(Xe(u,e,t,n));a=M(a,p+l),c+=p}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),r=ie(r,d)}}return r},e}(),et=r.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function rt(e){var n=r.useContext(et),o=i(function(){return function(e,n){if(!e)throw he(14);if(oe(e)){var r=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===r||Array.isArray(r)||\"object\"!=typeof r))throw he(7);return r}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?r.createElement(et.Provider,{value:o},e.children):null}var ot={},st=new Set;function it(e,o,s){var i=se(e),a=e,c=!L(e),p=o.attrs,d=void 0===p?_:p,h=o.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);ot[n]=(ot[n]||0)+1;var r=\"\".concat(n,\"-\").concat($(v+n+ot[n]));return t?\"\".concat(t,\"-\").concat(r):r}(o.displayName,o.parentComponentId):h,m=o.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=o.displayName&&o.componentId?\"\".concat(R(o.displayName),\"-\").concat(o.componentId):o.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=o.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(o.shouldForwardProp){var E=o.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,o){return function(e,o,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=r.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(o,f,c)||C,g=function(e,n,r){for(var o,s=t(t({},n),{className:void 0,theme:r}),i=0;i<e.length;i+=1){var a=oe(o=e[i])?o(s):o;for(var c in a)s[c]=\"className\"===c?ie(s[c],a[c]):\"style\"===c?t(t({},s[c]),a[c]):a[c]}return n.className&&(s.className=ie(s.className,n.className)),s}(i,o,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||\"$\"===b[0]||\"as\"===b||\"theme\"===b&&g.theme===v||(\"forwardedAs\"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||\"development\"!==process.env.NODE_ENV||n(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop \"'.concat(b,'\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),r=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(r),r}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,o)}O.displayName=y;var D=r.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)le(e,o[r],!0);return e}({},a.defaultProps,e):e}}),\"production\"!==process.env.NODE_ENV&&(P(y,g),D.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&re(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(oe(t)||ce(t))return ct(Xe(at(_,e([t],n,!0))));var o=t;return 0===n.length&&1===o.length&&\"string\"==typeof o[0]?Xe(o):ct(Xe(at(o,n)))}function ut(n,r,o){if(void 0===o&&(o=C),!r)throw he(1,r);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(r,o,lt.apply(void 0,e([t],s,!1)))};return s.attrs=function(e){return ut(n,r,t(t({},o),{attrs:Array.prototype.concat(o.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,r,t(t({},o),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e)});var ht=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Ze(e),ke.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,r){var o=r(ae(Xe(this.rules,t,n,r)),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function ft(n){for(var o=[],s=1;s<arguments.length;s++)o[s-1]=arguments[s];var i=lt.apply(void 0,e([n],o,!1)),a=\"sc-global-\".concat($(JSON.stringify(i))),c=new ht(i,a);\"production\"!==process.env.NODE_ENV&&P(a);var l=function(e){var n=Ge(),o=r.useContext(et),s=r.useRef(n.styleSheet.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&r.Children.count(e.children)&&console.warn(\"The global style component \".concat(a,\" was given child JSX. createGlobalStyle does not render children.\")),\"production\"!==process.env.NODE_ENV&&i.some(function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")})&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),n.styleSheet.server&&function(e,n,r,o,s){if(c.isStatic)c.renderStyles(e,b,r,s);else{var i=t(t({},n),{theme:I(n,o,l.defaultProps)});c.renderStyles(e,i,r,s)}}(s,e,n.styleSheet,o,n.stylis),null};return r.memo(l)}function mt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");var o=ae(lt.apply(void 0,e([t],n,!1))),s=$(o);return new qe(s,o)}function yt(e){var n=r.forwardRef(function(n,o){var s=I(n,r.useContext(et),e.defaultProps);return\"production\"!==process.env.NODE_ENV&&void 0===s&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'.concat(B(e),'\"')),r.createElement(e,t({},n,{theme:s,ref:o}))});return n.displayName=\"WithTheme(\".concat(B(e),\")\"),re(n,e)}var vt=/^\\s*<\\/[a-z]/i,gt=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Ce(),r=ae([n&&'nonce=\"'.concat(n,'\"'),\"\".concat(f,'=\"true\"'),\"\".concat(y,'=\"').concat(v,'\"')].filter(Boolean),\" \");return\"<style \".concat(r,\">\").concat(t,\"</style>\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var o=e.instance.toString();if(!o)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:o},n),i=Ce();return i&&(s.nonce=i),[r.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return r.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){if(S)throw he(3);if(this.sealed)throw he(2);this.seal();var t=require(\"stream\").Transform,n=e,r=this.instance,o=this._emitSheetCSS,s=new t({transform:function(e,t,n){var s=e.toString(),i=o();if(r.clearTag(),vt.test(s)){var a=s.indexOf(\">\")+1,c=s.slice(0,a),l=s.slice(a);this.push(c+i+l)}else this.push(i+s);n()}});return n.on(\"error\",function(e){s.emit(\"error\",e)}),n.pipe(s)},e}(),St={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var wt=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[wt]||(window[wt]=0),1===window[wt]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[wt]+=1);export{gt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,rt as ThemeProvider,St as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.esm.js.map\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAClSURBVHgB7Y89DsIwDIUdomRIMnTIz8oR2Fi5CVfoDYCNjYzcpitnyYJYsoKN2gURSmFsPimSZT8/vwBUZkiD/KNbvDaEEHvnXAcjSCk71MVRQ855ZIwtUXwqmXnvdxSStPAN1toNLt1DCO07M5rhwRVMAU3bfnE79KguHRrgpUHO+aK1xt+zaIy5KaXWWJ9xdEgpHeFXKCkmu9L7lGwSTQ9UKk8eYgIfE1UYUugAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport arrowDownImage from \"../../assets/images/chevron.png\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n small: { h: 40, p: 8, f: 16 },\n medium: { h: 48, p: 12, f: 16 },\n large: { h: 56, p: 16, f: 16 },\n};\n\ninterface DGA_AccordionProps\n extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n \"onChange\" | \"title\"\n > {\n title: React.ReactNode;\n children: React.ReactNode;\n size?: Size;\n expanded?: boolean;\n onChange?: (event: React.SyntheticEvent, isExpanded: boolean) => void;\n defaultExpanded?: boolean;\n iconAlignment?: \"leading\" | \"trailing\";\n flush?: boolean;\n}\n\nconst Accordion: React.FC<DGA_AccordionProps> = ({\n size = \"medium\",\n title,\n expanded,\n onChange,\n defaultExpanded,\n iconAlignment = \"trailing\",\n flush = false,\n children,\n ...props\n}) => {\n const theme = useTheme();\n const contentRef = React.useRef<HTMLDivElement>(null);\n const [open, setOpen] = React.useState(defaultExpanded);\n const [contentHeight, setContentHeight] = React.useState(0);\n\n let borderTop: string | undefined = `solid 1px ${theme.palette.neutral[300]}`;\n let border = `solid 2px transparent`;\n let cursor = \"pointer\";\n let fontColor = \"#161616\";\n\n const showContent = typeof expanded !== \"undefined\" ? expanded : open;\n\n if (props.disabled) {\n cursor = \"default\";\n borderTop = `solid 1px ${theme.palette.neutral[300]}`;\n border = `none`;\n fontColor = theme.palette.neutral[400];\n }\n\n const onTitleClickedHandler = (e: React.SyntheticEvent) => {\n onChange && onChange(e, !showContent);\n setOpen(!showContent);\n };\n\n React.useEffect(() => {\n if (contentRef.current?.clientHeight) {\n setContentHeight(contentRef.current.clientHeight);\n }\n }, [contentRef.current?.clientHeight]);\n\n return (\n <div\n className={mergeStrings(\"dgaui dgaui_accordion\", props.className)}\n tabIndex={1}\n >\n <StyledComponentTitle\n $customStyle={{\n direction: theme.direction,\n minHeight: sizes[size].h,\n padding: sizes[size].p,\n fontSize: sizes[size].f,\n fontColor,\n colors: theme.palette.neutral,\n border,\n borderTop,\n cursor,\n }}\n flush={flush}\n {...props}\n onClick={onTitleClickedHandler}\n className=\"dgaui dgaui_accordion_title\"\n >\n {iconAlignment === \"leading\" && (\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyItems: \"center\",\n gap: 16,\n }}\n >\n <span>\n <img\n alt=\"arrowdown\"\n src={arrowDownImage}\n style={{\n transition: \"all 0.2s\",\n transform: showContent ? \"rotateZ(180deg)\" : \"none\",\n }}\n />\n </span>\n <span>{title}</span>\n </div>\n )}\n {iconAlignment === \"trailing\" && (\n <>\n <span>{title}</span>\n <img\n alt=\"arrowdown\"\n src={arrowDownImage}\n style={{\n transition: \"all 0.2s\",\n transform: showContent ? \"rotateZ(180deg)\" : \"none\",\n }}\n />\n </>\n )}\n </StyledComponentTitle>\n <div\n className=\"dgaui_accordionContent\"\n style={{\n direction: theme.direction,\n height: showContent ? contentHeight : 0,\n overflow: \"hidden\",\n transition: \"all 0.2s\",\n color: fontColor,\n }}\n >\n <div ref={contentRef} style={{ padding: 16 }}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nconst StyledComponentTitle = styled.button<{\n $customStyle: {\n direction: string;\n border: string;\n borderTop?: string;\n minHeight: number;\n padding: number;\n fontSize: number;\n fontColor: string;\n colors: Color;\n cursor: string;\n };\n flush?: boolean;\n}>`\n direction: ${(props) => props.$customStyle.direction};\n outline: none;\n min-height: ${(props) => props.$customStyle.minHeight}px;\n padding: ${(props) =>\n props.flush ? \"0\" : `${props.$customStyle.padding}px`};\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n background-color: #fff;\n border: ${(props) => props.$customStyle.border};\n ${(props) =>\n props.$customStyle.borderTop\n ? \"border-top:\" + props.$customStyle.borderTop\n : \"\"};\n cursor: ${(props) => props.$customStyle.cursor};\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n transition: height 0.2s;\n\n &:hover {\n background-color: ${(props) => props.$customStyle.colors[100]};\n }\n &:active {\n background-color: ${(props) => props.$customStyle.colors[200]};\n }\n &:focus {\n border: solid 2px #161616;\n }\n &:disabled:hover {\n background-color: #fff;\n }\n &:disabled:active {\n background-color: #fff;\n }\n`;\n\nexport default Accordion;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACySURBVHgBfVGxEQIhEIQnegiMgPRLsQRLsAPtQMwMLUE78UPL+MyBmBRcZiTw4Z6ZG3budmFZuDHmkHPehRCebGNprU+c82VIKU0ADwgvFLnMwLmXg2vDoXJPVHq/mVsPGlGPLCqIMb6UUhzQYWeofcGoq/fesQ2/9abWBtbQ0WQC/1uqnqsN1Fztwe7MOlaaB5LpkdH1RPjBI0Vei6y1ZzGO4ySEeCO6GyUokUspF8DPF27nTJwLb4bWAAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAYAAABG1c6oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABtSURBVHgB7ZLBCcAwCEVNV0jUNTpCN2g3yipu0hE6UmuggVB6UwiBPPAg6Dv4BZh0BxHXtl/AABHlEMLFzDtYKTKtW0vASj9ZSmlzk8UYj3c4m2XNkvxJTTf7Sl0CqFJ92tMzTXGTVUpQMBmfB72yKHZx70rDAAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAF/SURBVHgBjVOxTgJBEJ3ZOwwl5RmbTdDEEv9ASqMWfAH4BfAJ/oHwBcIXoBFDiX+gpYkU2xgpKS+6d+PMckfW49Sbanf2zbyZebMIJTbVuhGGcUsRaLmnCOZyuXoqw2IxcE/FfUIcAFCjgDVIMP5M66OOMeudBHMd6SSABR81O8fMOglDMPJmLfsIenzsSqKgBu2z15XZJhDmWhA/87VBSJ3fyn08OmhRmjIJrb+S+olUouRBynbMSrX9YAmYH0c6v5+/vb8IgWB5RgPxuQSE0JOyBeAzUprcJBZufV9GMEHCvlSuHg6jU8koPUNFY8KxDNkplUuVD6yKhXaDVcit/IlEvIf/ksmSsEROKr4b//Fi+TEsC7KhkxVSAqOsrfPgcM2tdIvAWTNazJr7d0V/hnXbqURLlmbECXvZQLcWJHDF0l77PrcLjKVs6DuLJLtQlDM3IWD5pv4iVV5lKVuYoWyVc8t+4QA3Peqf/Oha5ZkNSz9TWbn+d5Zh+4G5fQMA8cBCDpoKdwAAAABJRU5ErkJggg==\";\n export default img;","type RadioColor = {\n default: string;\n hovered: string;\n active: string;\n disabled: string;\n};\n\ntype colors = \"primary\" | \"neutral\";\n\nconst radioColors = (them: Theme): { [k in colors]: RadioColor } => ({\n neutral: {\n default: them.palette.neutral[600],\n hovered: them.palette.neutral[800],\n active: them.palette.neutral[900],\n disabled: them.palette.neutral[200],\n },\n primary: {\n default: them.palette.primary[600],\n hovered: them.palette.primary[800],\n active: them.palette.primary[900],\n disabled: them.palette.neutral[200],\n },\n});\n\nexport default radioColors;\n","import React from \"react\";\n\ntype Props = {\n indeterminate?: boolean;\n};\n\nconst Icon: React.FC<Props> = ({ indeterminate = false }) => {\n if (indeterminate) {\n return (\n <svg\n width=\"12\"\n height=\"2\"\n viewBox=\"0 0 12 2\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect width=\"12\" height=\"2\" rx=\"1\" className=\"checkmark\" fill=\"white\" />\n </svg>\n );\n }\n\n return (\n <svg\n width=\"12\"\n height=\"10\"\n viewBox=\"0 0 12 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5945 0.535432C12.1352 1.07616 12.1352 1.95286 11.5945 2.4936L5.2483 8.83982C4.98864 9.09949 4.63645 9.24537 4.26923 9.24537C3.90201 9.24537 3.54983 9.09949 3.29016 8.83982L0.405544 5.95517C-0.135181 5.41444 -0.135181 4.53774 0.405545 3.99701C0.946271 3.45628 1.82296 3.45628 2.36369 3.99701L4.26923 5.90257L9.63631 0.535432C10.177 -0.00530017 11.0537 -0.00530013 11.5945 0.535432Z\"\n className=\"checkmark\"\n fill=\"white\"\n />\n </svg>\n );\n};\n\nexport default Icon;\n","import React, { useEffect, useRef } from \"react\";\nimport styled from \"styled-components\";\nimport feedbackIcon from \"../../assets/images/Feedback-Icon.png\";\nimport checkboxColors from \"./checkboxColors\";\nimport useTheme from \"../../lib/useTheme\";\nimport Icon from \"./Icon\";\nimport { generateUniqueId, mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n xSmall: { w: 14, h: 14, svgW: 9, svgH: 9, svgLeft: 2.5, svgTop: 3 },\n small: { w: 18, h: 18, svgW: 12, svgH: 12, svgLeft: 3, svgTop: 4 },\n medium: { w: 22, h: 22, svgW: 14, svgH: 14, svgLeft: 4, svgTop: 5 },\n};\n\nexport interface DGA_CheckboxProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"size\" | \"style\"\n > {\n label?: React.ReactNode;\n description?: React.ReactNode;\n error?: React.ReactNode;\n onChange?: (e: React.SyntheticEvent, value: boolean) => void;\n value?: any;\n size?: \"xSmall\" | \"small\" | \"medium\";\n indeterminate?: boolean;\n style?: \"primary\" | \"neutral\";\n}\n\nconst Checkbox: React.FC<DGA_CheckboxProps> = ({\n label,\n description,\n error,\n onChange,\n value,\n size,\n style = \"primary\",\n indeterminate = false,\n ...props\n}) => {\n const theme = useTheme();\n const colors = checkboxColors(theme);\n\n const sizeResult: \"xSmall\" | \"small\" | \"medium\" = size ?? \"medium\";\n\n let fontColor = theme.textColor;\n let backgroundColor = colors[style].default;\n let backgroundColorHovered = colors[style].hovered;\n let backgroundColorActive = colors[style].active;\n\n const id = generateUniqueId();\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n return (\n <StyledComponent\n $customStyle={{\n theme,\n fontColor,\n backgroundColor,\n backgroundColorHovered,\n backgroundColorActive,\n width: sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n svgW: sizes[sizeResult].svgW,\n svgH: sizes[sizeResult].svgW,\n svgLeft: sizes[sizeResult].svgLeft,\n svgTop: sizes[sizeResult].svgTop,\n }}\n className={mergeStrings(\"dgaui dgaui_checkboxContainer\", props.className)}\n >\n <div className=\"dgaui_checkboxHead\">\n <label className=\"dgaui_checkbox\">\n <input\n ref={inputRef}\n id={id}\n type=\"checkbox\"\n {...props}\n checked={value}\n onChange={(e) => {\n onChange && onChange(e, e.target.checked);\n }}\n />\n <Icon indeterminate={indeterminate} />\n </label>\n {label && (\n <label htmlFor={props.id || id} className=\"dgaui_checkboxLabel\">\n {label}\n </label>\n )}\n </div>\n {(description || error) && (\n <div className=\"dgaui_checkboxDescription\">\n {description && (\n <div className=\"dgaui_checkboxDescriptionText\">{description}</div>\n )}\n {error && (\n <div className=\"dgaui_checkboxDescriptionError\">{error}</div>\n )}\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n theme: Theme;\n fontColor: string;\n backgroundColor: string;\n backgroundColorHovered: string;\n backgroundColorActive: string;\n width: number;\n height: number;\n svgW: number;\n svgH: number;\n svgLeft: number;\n svgTop: number;\n };\n}>`\n direction: ${(props) => props.$customStyle.theme.direction};\n color: ${(props) => props.$customStyle.fontColor};\n\n .dgaui_checkbox svg {\n position: absolute;\n width: ${(props) => props.$customStyle.svgW}px;\n height: ${(props) => props.$customStyle.svgH}px;\n left: ${(props) => props.$customStyle.svgLeft}px;\n top: ${(props) => props.$customStyle.svgTop}px;\n\n .checkmark {\n fill: transparent;\n }\n }\n\n .dgaui_checkboxLabel {\n cursor: pointer;\n text-align: start;\n margin-inline-start: 16px;\n font-weight: 500;\n }\n\n .dgaui_checkboxDescription {\n padding-inline-start: 40px;\n .dgaui_checkboxDescriptionText {\n margin-top: 8px;\n }\n .dgaui_checkboxDescriptionError {\n font-weight: 500;\n color: ${(props) => props.$customStyle.theme.palette.error[700]};\n position: relative;\n margin-top: 8px;\n\n &::before {\n content: \"\";\n background: url(\"${feedbackIcon}\");\n width: 18px;\n height: 18px;\n background-repeat: no-repeat;\n background-size: contain;\n display: block;\n position: absolute;\n inset-inline-start: -40px;\n }\n }\n }\n\n .dgaui_checkboxHead {\n display: flex;\n align-items: flex-start;\n /* justify-content: center; */\n\n &:hover {\n .dgaui_checkbox {\n &::after {\n content: \"\";\n border-radius: 50%;\n background: #f3f4f6;\n width: ${(props) => props.$customStyle.width + 18}px;\n height: ${(props) => props.$customStyle.height + 18}px;\n transform: translate(-50%, -50%) scale(1);\n }\n }\n &:has(input:checked) {\n .dgaui_checkbox {\n background-color: ${(props) =>\n props.$customStyle.backgroundColorHovered};\n }\n }\n }\n\n &:active {\n .dgaui_checkbox {\n background-color: #d2d6db;\n }\n\n &:has(input:checked) {\n .dgaui_checkbox {\n background-color: ${(props) =>\n props.$customStyle.backgroundColorActive};\n }\n }\n\n &:has(input:disabled) {\n .dgaui_checkbox {\n background-color: transparent;\n }\n }\n }\n\n &:focus-within {\n .dgaui_checkbox {\n &::before {\n content: \"\";\n display: block;\n width: ${(props) => props.$customStyle.width + 6}px;\n height: ${(props) => props.$customStyle.height + 6}px;\n border: 2px solid #000;\n position: absolute;\n left: -5px;\n top: -5px;\n border-radius: 2px;\n }\n }\n }\n\n &:has(input:checked) {\n .dgaui_checkbox {\n background-color: ${(props) => props.$customStyle.backgroundColor};\n svg .checkmark {\n fill: #fff;\n }\n }\n }\n &:has(input:indeterminate) {\n .dgaui_checkbox {\n background-color: ${(props) => props.$customStyle.backgroundColor};\n svg .checkmark {\n fill: #fff;\n }\n }\n }\n\n &:has(input:disabled) {\n .dgaui_checkbox {\n &:hover {\n background-color: transparent;\n }\n\n &::after {\n display: none;\n }\n }\n\n .dgaui_checkboxLabel {\n cursor: not-allowed;\n opacity: 0.5;\n }\n }\n &:has(input:disabled:checked) {\n .dgaui_checkbox {\n background-color: #9da4ae;\n }\n }\n &:has(input:disabled:indeterminate) {\n .dgaui_checkbox {\n background-color: #9da4ae;\n\n svg .checkmark {\n fill: #fff;\n }\n }\n }\n }\n\n .dgaui_checkbox {\n background-color: transparent;\n cursor: pointer;\n position: relative;\n display: inline-block;\n min-width: ${(props) => props.$customStyle.width}px;\n height: ${(props) => props.$customStyle.height}px;\n outline: none;\n border: 1px solid #6c737f;\n border-radius: 2px;\n transition: all 0.1s;\n\n &::after {\n content: \"\";\n border-radius: 50%;\n background: #f3f4f6;\n width: 0;\n height: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0);\n transition: all 0.2s;\n z-index: -1;\n }\n\n input {\n flex: 0;\n opacity: 0;\n width: 0;\n height: 0;\n }\n }\n`;\n\nexport default Checkbox;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport checkIcon from \"../../assets/images/check.png\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Checkbox from \"../Checkbox\";\n\nexport interface DGA_DropdownItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onClick\"> {\n selected?: boolean;\n multiple?: boolean;\n value?: any;\n onClick?: (e: React.SyntheticEvent, value: any) => void;\n children: React.ReactNode;\n}\n\nconst DropdownItem: React.FC<DGA_DropdownItemProps> = ({\n selected,\n multiple,\n value,\n onClick,\n children,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_dropdownItem\" + (selected ? \" selected\" : \"\"), props.className)}\n $theme={theme}\n $selected={selected}\n $multiple={multiple}\n onClick={(e) => {\n onClick && onClick(e, value);\n }}\n >\n {multiple && <Checkbox color=\"neutral\" size=\"small\" value={selected} />}\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $selected?: boolean;\n $multiple?: boolean;\n}>`\n direction: ${(props) => props.$theme.direction};\n color: ${(p) => p.$theme.textColor};\n padding: 8px;\n height: 36px;\n display: flex;\n align-items: center;\n background-color: #fff;\n transition: background-color 0.1s;\n position: relative;\n\n &::after {\n position: absolute;\n content: url(${checkIcon});\n display: ${(p) => (!p.$multiple && p.$selected ? \"block\" : \"none\")};\n inset-inline-end: 16px;\n }\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n }\n\n .dgaui_checkbox {\n margin-bottom: 0;\n margin-inline-end: 8px;\n }\n`;\n\nexport default DropdownItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport colors from \"./colors\";\n\nexport const sizes = {\n xsmall: { w: 56, h: 20, py: 8, f: 10 },\n small: { w: 64, h: 24, py: 8, f: 12 },\n medium: { w: 86, h: 32, py: 12, f: 16 },\n};\ninterface DGA_TagProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"style\"> {\n children?: React.ReactNode;\n style?: \"neutral\" | \"success\" | \"error\" | \"warning\" | \"info\" | \"onColor\";\n size?: \"xsmall\" | \"small\" | \"medium\";\n outLine?: boolean;\n rounded?: boolean;\n iconOnly?: boolean;\n leadIcon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n}\n\nconst Tag: React.FC<DGA_TagProps> = ({\n children,\n style,\n size,\n outLine,\n iconOnly,\n leadIcon,\n trailIcon,\n rounded,\n ...props\n}) => {\n const theme = useTheme();\n\n const colorNameResult = style ?? \"neutral\";\n const sizeResult = size ?? \"medium\";\n const outLineResult: boolean = outLine ?? true;\n const tagColors = colors(theme) ?? \"neutral\";\n\n let backgroundColor = tagColors[colorNameResult].bg;\n let borderColor = tagColors[colorNameResult].border;\n let borderColorOutlined = tagColors[colorNameResult].borderOutlined;\n let fontColor = tagColors[colorNameResult].fontColor;\n let border = `border: 1px solid ${borderColor}`;\n let borderRadius = rounded ? 9999 : 4;\n\n if (outLineResult) {\n backgroundColor = \"transparent\";\n border = `border: 1px solid ${borderColorOutlined}`;\n }\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_tag\", props.className)}\n $customStyle={{\n direction: theme.direction,\n minWidth: iconOnly ? 0 : sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n paddingY: sizes[sizeResult].py,\n fontSize: sizes[sizeResult].f,\n fontColor,\n backgroundColor: backgroundColor,\n border,\n borderRadius,\n }}\n >\n {iconOnly && <div className=\"iconOnly\">{leadIcon || children}</div>}\n {!iconOnly && (\n <>\n <div className=\"leadIcon\">{leadIcon}</div>\n {children}\n <div className=\"trailIcon\">{trailIcon}</div>\n </>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n direction: string;\n minWidth: number;\n height: number;\n paddingY: number;\n fontSize: number;\n fontColor: string;\n backgroundColor: string;\n border: string;\n borderRadius: number;\n };\n}>`\n direction: ${(props) => props.$customStyle.direction};\n min-width: ${(props) => props.$customStyle.minWidth}px;\n color: ${(props) => props.$customStyle.fontColor};\n height: ${(props) => props.$customStyle.height}px;\n padding: 0 ${(props) => props.$customStyle.paddingY}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n background-color: ${(props) => props.$customStyle.backgroundColor};\n ${(props) => props.$customStyle.border};\n outline: none;\n border-radius: ${(props) => props.$customStyle.borderRadius}px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-weight: 500;\n .leadIcon {\n margin-inline-end: 4px;\n display: inline-flex;\n }\n .trailIcon {\n margin-inline-start: 4px;\n display: inline-flex;\n }\n`;\n\nexport default Tag;\n","type ButtonColor = {\n bg: string;\n border: string;\n borderOutlined: string;\n fontColor: string;\n};\n\nconst result = (\n them: Theme\n): {\n [k in\n | \"neutral\"\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"info\"\n | \"onColor\"]: ButtonColor;\n} => ({\n neutral: {\n bg: them.palette.neutral[50],\n border: them.palette.neutral[200],\n borderOutlined: them.palette.neutral[600],\n fontColor: them.palette.neutral[800],\n },\n success: {\n bg: them.palette.info[50],\n border: them.palette.success[200],\n borderOutlined: them.palette.success[700],\n fontColor: them.palette.success[800],\n },\n error: {\n bg: them.palette.error[50],\n border: them.palette.error[200],\n borderOutlined: them.palette.error[700],\n fontColor: them.palette.error[800],\n },\n warning: {\n bg: them.palette.warning[50],\n border: them.palette.warning[200],\n borderOutlined: them.palette.warning[700],\n fontColor: them.palette.warning[800],\n },\n info: {\n bg: \"#EFF8FF\",\n border: them.palette.info[200],\n borderOutlined: them.palette.info[700],\n fontColor: them.palette.info[800],\n },\n onColor: {\n bg: \"rgba(255, 255, 255, 0.2)\",\n border: \"transparent\",\n borderOutlined: \"rgba(255, 255, 255, 0.6)\",\n fontColor: them.textOnColor,\n },\n});\n\nexport default result;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport arrowDownIcon from \"../../assets/images/chevron.png\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport DropdownItem from \"../Dropdown/DropdownItem\";\nimport Tag from \"../Tag\";\n\nexport const sizes = {\n medium: { w: 320, h: 32, p: 16, f: 14 },\n large: { w: 320, h: 40, p: 16, f: 16 },\n};\n\ntype Variant = \"default\" | \"darker\" | \"lighter\";\n\nconst Autocomplete = <T,>({\n label,\n className,\n size,\n variant,\n error,\n onChange,\n value,\n placeholder,\n options,\n getOptionLabel,\n disabled,\n multiple,\n maxTagsToShow,\n maxTagsLabel,\n}: {\n label: React.ReactNode;\n className?: string;\n placeholder?: string;\n size?: \"large\" | \"medium\";\n variant?: Variant;\n error?: boolean;\n disabled?: boolean;\n multiple?: boolean;\n maxTagsToShow?: number;\n maxTagsLabel?: string;\n value?: T | T[];\n options: T[];\n getOptionLabel?: (option: T) => string;\n onChange?: (e: React.SyntheticEvent, value: T | T[]) => void;\n}) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n const [inputValue, setInputValue] = React.useState(\"\");\n const [inputValueSearch, setInputValueSearch] = React.useState(\"\");\n const [selectedOptions, setSelectedOptions] = React.useState<T[]>();\n const [itemsPosition, setItemsPosition] = React.useState({\n top: 0,\n left: 0,\n width: 0,\n });\n const ref = React.useRef<HTMLDivElement>(null);\n\n const sizeResult: \"large\" | \"medium\" = size ?? \"large\";\n\n // Default\n let fontColor = theme.textColor;\n let placeholderFontColor = theme.palette.neutral[500];\n let border = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[400]\n }`;\n let borderHovered = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let borderFocused = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n\n if (variant === \"lighter\") {\n backgroundColor = theme.palette.neutral[25];\n border = \"1px solid transparent\";\n borderHovered = `1px solid ${theme.palette.neutral[400]}`;\n borderFocused = `1px solid ${theme.palette.neutral[400]}`;\n }\n if (variant === \"darker\") {\n backgroundColor = theme.palette.neutral[100];\n }\n\n if (disabled) {\n fontColor = theme.palette.neutral[400];\n border = `1px solid ${theme.palette.neutral[200]}`;\n borderHovered = `1px solid ${theme.palette.neutral[200]}`;\n }\n\n const getLocalOptionLabel = (op: T) => {\n if (getOptionLabel) return getOptionLabel(op);\n return (op as any)?.label;\n };\n\n const onItemSelectedHandler = (e: React.SyntheticEvent, newValue: T) => {\n if (multiple) {\n e.stopPropagation();\n }\n // used for selected\n if (multiple && selectedOptions) {\n let newValues: T[] = [];\n // Value already exist, so remove it\n if (selectedOptions.includes(newValue)) {\n const newSelectedOptions = selectedOptions.filter(\n (el) => el !== newValue\n );\n setSelectedOptions(newSelectedOptions);\n newValues = newSelectedOptions;\n }\n // New value selected\n if (!selectedOptions.includes(newValue)) {\n const newSelectedOptions = [...selectedOptions, newValue];\n setSelectedOptions(newSelectedOptions);\n newValues = newSelectedOptions;\n }\n onChange && onChange(e, newValues);\n } else {\n onChange && onChange(e, newValue);\n setSelectedOptions([newValue]);\n const optionLabel = getLocalOptionLabel(newValue);\n setInputValue(optionLabel);\n }\n };\n\n const deleteTaghandler = (e: React.SyntheticEvent, option: T) => {\n e.stopPropagation();\n\n if (multiple && selectedOptions) {\n let newValues: T[] = [];\n const newSelectedOptions = selectedOptions.filter((el) => el !== option);\n setSelectedOptions(newSelectedOptions);\n newValues = options.filter((op) => newSelectedOptions.includes(op));\n onChange && onChange(e, newValues);\n }\n };\n\n const deleteAllTagshandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n\n if (multiple && selectedOptions) {\n setSelectedOptions([]);\n onChange && onChange(e, []);\n }\n };\n\n // Search\n const memoizedOptions = React.useMemo(() => {\n let result: T[] = [];\n\n if (inputValueSearch && options.length > 0) {\n options.forEach((op) => {\n if (\n (getOptionLabel &&\n getOptionLabel(op)\n .toLowerCase()\n .trim()\n .includes(inputValueSearch.toLowerCase().trim())) ||\n (!getOptionLabel &&\n (op as any)?.label\n ?.toLowerCase()\n .trim()\n .includes(inputValueSearch.toLowerCase().trim()))\n ) {\n result.push(op);\n }\n });\n } else {\n result = options;\n }\n\n return result;\n }, [options, inputValueSearch]);\n\n const calcPosition = () => {\n if (ref.current) {\n setItemsPosition({\n top: ref.current.offsetTop + ref.current.clientHeight,\n left: ref.current.offsetLeft,\n width: ref.current.clientWidth,\n });\n }\n };\n\n // Popover position\n React.useEffect(() => {\n if (ref.current) {\n const resizeHandler = () => {\n if (ref.current) {\n calcPosition();\n }\n };\n\n const clickHandler = (e: MouseEvent) => {\n // Clicked outside\n if (!ref.current?.contains(e.target as any)) {\n setOpen(false);\n }\n };\n\n window.addEventListener(\"resize\", resizeHandler);\n window.addEventListener(\"click\", clickHandler);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler);\n };\n }\n }, [ref]);\n\n // Set text input value from props\n React.useEffect(() => {\n if (!value) {\n setInputValue(\"\");\n setInputValueSearch(\"\");\n setSelectedOptions([]);\n setOpen(false);\n return;\n }\n\n if (!Array.isArray(value)) setInputValue(getLocalOptionLabel(value));\n\n if (multiple && Array.isArray(value)) {\n setSelectedOptions(value);\n } else {\n setSelectedOptions([value as any]);\n }\n }, [value, options]);\n\n React.useEffect(() => {\n if (open) {\n calcPosition();\n }\n }, [open, selectedOptions]);\n\n return (\n <StyledComponent\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_autocomplete\", className)}\n >\n <label className={disabled ? \"disabled\" : undefined}>{label}</label>\n <StyledDiv\n ref={ref}\n onClick={() => setOpen((prevState) => !prevState)}\n className={\n \"dgaui_dropdownContainer \" +\n (multiple ? \"multiple \" : \"\") +\n (disabled ? \"disabled\" : \"\")\n }\n $customStyle={{\n theme,\n direction: theme.direction,\n minWidth: sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n padding: sizes[sizeResult].p,\n fontSize: sizes[sizeResult].f,\n placeholderFontColor,\n fontColor,\n border,\n borderHovered,\n borderFocused,\n backgroundColor,\n shadowFocus,\n }}\n >\n {multiple &&\n (!maxTagsToShow ||\n (maxTagsToShow &&\n selectedOptions &&\n selectedOptions?.length <= maxTagsToShow)) &&\n selectedOptions?.map((op, ind) => (\n <Tag key={ind} rounded size={\"medium\"} color=\"neutral\">\n {getLocalOptionLabel(op)}\n <button\n className=\"deleteIcon\"\n onClick={(e) => deleteTaghandler(e, op)}\n />\n </Tag>\n ))}\n\n {multiple &&\n maxTagsToShow &&\n maxTagsToShow > 0 &&\n selectedOptions &&\n selectedOptions?.length > maxTagsToShow && (\n <Tag rounded size={\"medium\"} color=\"neutral\">\n {maxTagsLabel || `${selectedOptions.length} selected`}\n <button className=\"deleteIcon\" onClick={deleteAllTagshandler} />\n </Tag>\n )}\n\n <input\n className=\"dgaui\"\n disabled={disabled}\n placeholder={placeholder}\n value={inputValue}\n onChange={(e) => {\n if (!open) {\n setOpen(true);\n }\n setInputValue(e.target.value);\n setInputValueSearch(e.target.value);\n }}\n />\n </StyledDiv>\n\n {memoizedOptions?.length > 0 && (\n <div\n className={\"items\" + (open ? \" slide-bottom\" : \"\")}\n style={itemsPosition}\n >\n {memoizedOptions.map((el, index) => {\n if (!el) return null;\n\n let optionLabel = el as string;\n if (typeof el === \"object\") {\n optionLabel = (el as any)?.label;\n }\n\n return (\n <DropdownItem\n key={index}\n value={el}\n onClick={(e, v) => onItemSelectedHandler(e, v)}\n selected={selectedOptions?.includes(el)}\n >\n {getOptionLabel ? getOptionLabel(el) : optionLabel}\n </DropdownItem>\n );\n })}\n </div>\n )}\n\n <StyledComponentSpan\n $bgColor={animationColor}\n className={\"dgaui_autocompleteSeparator\" + (open ? \" open\" : \"\")}\n />\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n flex-direction: column;\n color: ${(p) => p.$theme.textColor};\n width: 100%;\n\n label {\n margin-bottom: 8px;\n &.disabled {\n color: #9da4ae;\n }\n }\n\n .items {\n position: absolute;\n top: 35px;\n left: 0;\n z-index: 1400;\n background-color: #fff;\n width: 100%;\n opacity: 0;\n max-height: 300px;\n overflow-y: scroll;\n pointer-events: none;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-radius: 4px;\n padding: 8px;\n box-sizing: border-box;\n ${(p) => p.$theme.elevation.shadows.xl}\n cursor: pointer;\n\n &.slide-bottom {\n animation: slide-bottom 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n pointer-events: all;\n }\n @keyframes slide-bottom {\n 0% {\n transform: translateZ(0) translateY(0);\n opacity: 0;\n }\n 100% {\n transform: translateZ(160px) translateY(8px);\n opacity: 1;\n }\n }\n }\n\n &:has(.dgaui_autocompleteSeparator.open) {\n .dgaui_dropdownContainer:before {\n top: 20%;\n transform: rotateZ(180deg);\n }\n }\n &:has(.dgaui_dropdownContainer:active) {\n .dgaui_autocompleteSeparator {\n transform: scaleX(0.5) translateY(-2.5px);\n }\n }\n &:has(.dgaui_dropdownContainer.multiple:active) {\n .dgaui_autocompleteSeparator.open {\n transform: scaleX(1) translateY(-2.5px);\n }\n }\n &:has(.dgaui_dropdownContainer.disabled) {\n .dgaui_autocompleteSeparator {\n opacity: 0;\n }\n }\n`;\n\nconst StyledDiv = styled.div<{\n $customStyle: {\n theme: Theme;\n direction: string;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: string;\n border: string;\n shadowFocus: string;\n placeholderFontColor: string;\n borderHovered: string;\n borderFocused: string;\n backgroundColor: string;\n };\n}>`\n outline: none;\n direction: ${(props) => props.$customStyle.direction};\n border-radius: 4px;\n height: ${(props) => props.$customStyle.height}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n border: ${(props) => props.$customStyle.border};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n padding-inline-end: ${(props) => props.$customStyle.padding}px;\n cursor: pointer;\n\n position: relative;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n &:-ms-expand {\n display: none; /* Hide the default arrow in Internet Explorer 10 and Internet Explorer 11 */\n }\n\n input {\n background-color: ${(props) => props.$customStyle.backgroundColor};\n border: none;\n outline: none;\n padding-inline-start: ${(props) => props.$customStyle.padding}px;\n height: calc(100% - 2px);\n border-radius: 4px;\n width: 90%;\n }\n\n &.multiple {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n align-content: flex-start;\n min-height: ${(props) => props.$customStyle.height}px;\n height: auto;\n input {\n flex: 1;\n min-height: ${(props) => props.$customStyle.height}px;\n }\n .dgaui_tag {\n margin: 4px;\n\n .deleteIcon {\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n background-size: 40%;\n background-position: center;\n width: 20px;\n height: 20px;\n margin-inline-start: 4px;\n cursor: pointer;\n background-color: transparent;\n border: none;\n outline: none;\n\n &:hover {\n transform: scale(1.2);\n }\n }\n }\n }\n\n &:before {\n content: url(${arrowDownIcon});\n display: block;\n top: 30%;\n inset-inline-end: 8px;\n position: absolute;\n transition: all 0.1s;\n background-color: ${(props) => props.$customStyle.backgroundColor};\n z-index: 2;\n width: 20px;\n height: 20px;\n }\n &:after {\n content: \"\";\n display: block;\n top: 0;\n inset-inline-end: 0;\n z-index: 1;\n position: absolute;\n background-color: ${(props) => props.$customStyle.backgroundColor};\n border-radius: 4px;\n width: 30px;\n height: 100%;\n }\n\n &:focus-within {\n ${(props) => props.$customStyle.shadowFocus};\n border: ${(props) => props.$customStyle.borderFocused};\n }\n\n &:hover {\n border: ${(props) => props.$customStyle.borderHovered};\n }\n &.disabled {\n pointer-events: none;\n filter: grayscale(1);\n }\n`;\n\nconst StyledComponentSpan = styled.span<{ $bgColor: string }>`\n height: 2px;\n background: ${(props) => props.$bgColor};\n display: block;\n transform: scaleX(0) translateY(-2.5px);\n transform-origin: 50%;\n transition: all 0.2s;\n border-bottom-left-radius: 50px;\n border-bottom-right-radius: 50px;\n z-index: 1;\n\n &.open {\n transform: scaleX(0.995) translateY(-2.5px);\n }\n`;\n\nexport default Autocomplete;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ntype DGA_AvatarSize =\n | \"xxSmall\"\n | \"xSmall\"\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xLarge\"\n | \"xxLarge\";\n\nexport type DGA_AvatarProps = {\n size?: DGA_AvatarSize;\n text?: React.ReactNode;\n icon?: React.ReactNode;\n imageSrc?: string;\n className?: string;\n square?: boolean;\n index?: number;\n border?: boolean;\n borderColor?: string;\n};\n\nexport const sizes: {\n [k in DGA_AvatarSize]: { wh: number; b: number; f: number; fw: number };\n} = {\n xxSmall: { wh: 24, b: 2, f: 10, fw: 700 },\n xSmall: { wh: 32, b: 2, f: 12, fw: 600 },\n small: { wh: 40, b: 2, f: 14, fw: 600 },\n medium: { wh: 48, b: 2, f: 16, fw: 500 },\n large: { wh: 64, b: 2, f: 20, fw: 500 },\n xLarge: { wh: 80, b: 2, f: 30, fw: 400 },\n xxLarge: { wh: 120, b: 4, f: 36, fw: 400 },\n};\n\nconst Avatar: React.FC<DGA_AvatarProps> = ({\n size = \"medium\",\n text,\n icon,\n imageSrc,\n className,\n square,\n index,\n border = false,\n borderColor = \"#16161633\",\n}) => {\n const theme = useTheme();\n\n let children: any = text;\n let isIcon = false;\n\n if (icon) {\n isIcon = true;\n children = icon;\n }\n\n if (imageSrc) {\n children = <img alt=\"avatar\" src={imageSrc} />;\n }\n\n return (\n <StyledComponent\n $theme={theme}\n $size={sizes[size]}\n $square={square}\n $isIcon={isIcon}\n className={mergeStrings(\"dgaui dgaui_avatar\", className)}\n $index={index}\n $border={border}\n $borderColor={borderColor}\n >\n {children}\n </StyledComponent>\n );\n};\n\nexport default Avatar;\n\nconst positioner = ({ index = 0, op = \"-\" }) => `\n transform: translateX(${op}${index * 8}px);\n`;\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: { wh: number; b: number; f: number; fw: number };\n $square?: boolean;\n $isIcon: boolean;\n $index?: number;\n $border?: boolean;\n $borderColor?: string;\n}>`\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${(p) => p.$size.wh}px;\n height: ${(p) => p.$size.wh}px;\n border: ${(p) =>\n p.$border\n ? `${p.$size.b}px solid ${p.$borderColor}`\n : `${p.$size.b}px solid #fff`};\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n font-size: ${(p) => p.$size.f}px;\n font-weight: ${(p) => p.$size.fw};\n border-radius: ${(p) => (p.$square ? \"8px\" : \"100%\")};\n overflow: hidden;\n box-sizing: border-box;\n\n img {\n width: ${(p) => (p.$isIcon ? p.$size.f * 2 + \"px\" : \"100%\")};\n height: ${(p) => (p.$isIcon ? p.$size.f * 2 + \"px\" : \"100%\")};\n object-fit: contain;\n border-radius: ${(p) => (p.$square ? \"8px\" : \"100%\")};\n }\n\n &.stacked {\n ${(p) =>\n positioner({\n index: p.$index,\n op: p.$theme.direction === \"ltr\" ? \"-\" : \"+\",\n })}\n }\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useTheme from \"../../lib/useTheme\";\nimport arrowToRight from \"../../assets/images/arrow-to-right.png\";\nimport arrowToLeft from \"../../assets/images/arrow-to-left.png\";\nimport DropdownItem from \"../../components/Dropdown/DropdownItem\";\n\ntype DGA_BreadcrumbProps = {\n items: {\n label: React.ReactNode;\n onClick?: Function;\n }[];\n className?: string;\n};\n\nconst Breadcrumb: React.FC<DGA_BreadcrumbProps> = ({ items, className }) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n const ref = React.useRef<HTMLSpanElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const [itemsPosition, setItemsPosition] = React.useState({\n top: 0,\n left: 0,\n width: 0,\n });\n\n const openListHandler = () => {\n setOpen(true);\n };\n\n let children: any = items.map((el, ind) => (\n <span\n className=\"dgaui_breadcrumbItem\"\n key={ind}\n onClick={() => el.onClick && el.onClick()}\n >\n {el.label}\n </span>\n ));\n\n if (items.length > 5) {\n const lastTwoItems = [items[items.length - 2], items[items.length - 1]];\n\n children = (\n <>\n <span\n className=\"dgaui_breadcrumbItem\"\n onClick={() => items[0].onClick && items[0].onClick()}\n >\n {items[0].label}\n </span>\n <span\n ref={ref}\n onClick={openListHandler}\n className=\"dgaui_breadcrumbItem dots\"\n >\n ...\n </span>\n {lastTwoItems.map((el, ind) => (\n <span\n className=\"dgaui_breadcrumbItem\"\n key={ind}\n onClick={() => el.onClick && el.onClick()}\n >\n {el.label}\n </span>\n ))}\n </>\n );\n }\n\n React.useEffect(() => {\n if (ref.current && containerRef.current) {\n setItemsPosition({\n top: containerRef.current.offsetTop + containerRef.current.clientHeight,\n left: containerRef.current.offsetLeft,\n width: containerRef.current.clientWidth,\n });\n\n const resizeHandler = () => {\n if (ref.current && containerRef.current)\n setItemsPosition({\n top:\n containerRef.current.offsetTop +\n containerRef.current.clientHeight,\n left: containerRef.current.offsetLeft,\n width: containerRef.current.clientWidth,\n });\n };\n\n const clickHandler = (e: MouseEvent) => {\n // Clicked outside\n if (!containerRef.current?.contains(e.target as any)) {\n setOpen(false);\n }\n };\n\n window.addEventListener(\"resize\", resizeHandler);\n window.addEventListener(\"click\", clickHandler);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler);\n };\n }\n }, [ref]);\n\n return (\n <>\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_breadcrumb\", className)}\n $theme={theme}\n $icon={theme.direction === \"ltr\" ? arrowToRight : arrowToLeft}\n ref={containerRef}\n >\n {children}\n </StyledComponent>\n\n {items.length > 5 && (\n <StyledList\n $theme={theme}\n className={\"dgaui_breadcrumbList\" + (open ? \" slide-bottom\" : \"\")}\n style={{ ...itemsPosition }}\n >\n {items.map((el, ind) => (\n <DropdownItem key={ind} onClick={() => el.onClick && el.onClick()}>\n {el.label}\n </DropdownItem>\n ))}\n </StyledList>\n )}\n </>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $icon: string;\n}>`\n direction: ${(props) => props.$theme.direction};\n display: flex;\n\n .dgaui_breadcrumbItem {\n color: ${(props) => props.$theme.palette.neutral[700]};\n min-width: 30px;\n height: 20px;\n position: relative;\n padding-inline-end: 4px;\n padding-inline-start: 20px;\n display: flex;\n justify-content: flex-end;\n cursor: pointer;\n\n &.dots {\n min-width: 12px;\n }\n\n &::before {\n content: url(${(p) => p.$icon});\n position: absolute;\n width: 20px;\n height: 20px;\n inset-inline-start: 0;\n bottom: -2px;\n }\n }\n\n :first-child::before {\n content: \"\";\n padding-inline-start: 0px;\n min-width: 0;\n width: 0;\n height: 0;\n }\n\n :last-child {\n color: ${(props) => props.$theme.palette.neutral[400]};\n cursor: auto;\n pointer-events: none;\n }\n`;\n\nconst StyledList = styled.div<{ $theme: Theme }>`\n position: absolute;\n top: 35px;\n left: 0;\n z-index: 1;\n background-color: #fff;\n width: 100%;\n opacity: 0;\n max-height: 300px;\n overflow-y: scroll;\n pointer-events: none;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-radius: 4px;\n padding: 8px;\n box-sizing: border-box;\n ${(p) => p.$theme.elevation.shadows.xl}\n cursor: pointer;\n\n &.slide-bottom {\n animation: slide-bottom 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n pointer-events: all;\n }\n @keyframes slide-bottom {\n 0% {\n transform: translateZ(0) translateY(0);\n opacity: 0;\n }\n 100% {\n transform: translateZ(160px) translateY(8px);\n opacity: 1;\n }\n }\n`;\n\nexport default Breadcrumb;\n","export const variants: Variant[] = [\n \"contained\",\n \"outlined\",\n \"text\",\n \"transparent\",\n \"solid\",\n];\n\nexport const COLORS = {\n white: \"#FFF\",\n white20: \"#FFF3\",\n white30: \"#FFFFFF4D\",\n white40: \"#FFF6\",\n white60: \"#FFF9\",\n white70: \"#FFFFFFB2\",\n white80: \"#FFFC\",\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport getButtonColors from \"./buttonColors\";\n\nexport const sizes = {\n small: { w: 74, h: 24, p: 8, f: 12 },\n medium: { w: 94, h: 32, p: 12, f: 14 },\n large: { w: 110, h: 40, p: 16, f: 16 },\n};\n\ninterface DGA_ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"style\"> {\n children?: React.ReactNode;\n size?: Size;\n style?: \"primary\" | \"neutral\" | \"secondary-solid\" | \"secondary-outline\" | \"subtle\" | \"transparent\";\n buttonStyle?: React.CSSProperties;\n destructive?: boolean;\n iconOnly?: boolean;\n onColor?: boolean;\n leadIcon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, DGA_ButtonProps>(\n (\n {\n children,\n size = \"large\",\n style = \"primary\",\n buttonStyle,\n destructive,\n iconOnly,\n onColor,\n leadIcon,\n trailIcon,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n\n const buttonColors = getButtonColors(theme, onColor, destructive);\n const backgroundColor = buttonColors[style].backgroundColor;\n const fontColor = buttonColors[style].fontColor;\n const borderColor = buttonColors[style].borderColor;\n const innerBorderColor = buttonColors[style].innerBorderColor;\n\n return (\n <StyledComponent\n {...props}\n ref={ref}\n className={mergeStrings(\"dgaui dgaui_button\", props.className)}\n $disabled={props.disabled}\n $customStyle={{\n theme,\n minWidth: iconOnly ? 0 : sizes[size].w,\n height: sizes[size].h,\n padding: sizes[size].p,\n fontSize: sizes[size].f,\n fontColor,\n backgroundColor,\n borderColor,\n innerBorderColor,\n }}\n style={buttonStyle}\n >\n {iconOnly && <div className=\"iconOnly\">{leadIcon || children}</div>}\n {!iconOnly && (\n <>\n <div className=\"leadIcon\">{leadIcon}</div>\n {children}\n <div className=\"trailIcon\">{trailIcon}</div>\n </>\n )}\n </StyledComponent>\n );\n }\n);\n\nconst StyledComponent = styled.button<{\n $disabled?: boolean;\n $customStyle: {\n theme: Theme;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: SelectorsObject;\n backgroundColor: SelectorsObject;\n borderColor?: SelectorsObject;\n innerBorderColor?: SelectorsObject;\n };\n}>`\n outline: none;\n border-radius: 4px;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n direction: ${(props) => props.$customStyle.theme.direction};\n min-width: ${(props) => props.$customStyle.minWidth}px;\n height: ${(props) => props.$customStyle.height}px;\n padding: ${(props) => props.$customStyle.padding}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n font-weight: 500;\n color: ${(props) => props.$customStyle.fontColor.default};\n background-color: ${(props) => props.$customStyle.backgroundColor.default};\n border: 2px solid transparent;\n ${(props) =>\n props.$customStyle.borderColor && `border: 1px solid ${props.$customStyle.borderColor.default};`};\n transition: background-color 0.1s;\n\n &:hover {\n background-color: ${(props) => props.$customStyle.backgroundColor.hovered};\n color: ${(props) => props.$customStyle.fontColor.hovered};\n ${(props) =>\n props.$customStyle.borderColor && `border: 1px solid ${props.$customStyle.borderColor.hovered};`};\n }\n\n &:focus {\n position: relative;\n border-radius: 4px;\n ${(props) =>\n props.$customStyle.borderColor?.focus && `border: 2px solid ${props.$customStyle.borderColor.focus};`};\n\n &:after {\n content: \"\";\n display: block;\n background-color: transparent;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n border-radius: 2px;\n box-sizing: border-box;\n ${(props) =>\n props.$customStyle.innerBorderColor?.focus &&\n `border: 1px solid ${props.$customStyle.innerBorderColor.focus};`};\n }\n }\n\n &:active {\n border: 2px solid transparent;\n border-radius: 4px;\n background-color: ${(props) => props.$customStyle.backgroundColor.active};\n color: ${(props) => props.$customStyle.fontColor.active};\n ${(props) =>\n props.$customStyle.borderColor?.active &&\n `border: 1px solid ${props.$customStyle.borderColor.active};`};\n &:after {\n display: none;\n }\n }\n\n &:disabled {\n cursor: default;\n pointer-events: none;\n background-color: ${(props) => props.$customStyle.backgroundColor.disabled};\n color: ${(props) => props.$customStyle.fontColor.disabled};\n }\n box-sizing: border-box;\n\n .leadIcon {\n margin-inline-end: 4px;\n display: inline-flex;\n }\n .trailIcon {\n margin-inline-start: 4px;\n display: inline-flex;\n }\n\n .iconOnly {\n display: inline-flex;\n }\n`;\n\nexport default Button;\n","import { COLORS } from \"../../lib/constants\";\n\ntype Button2Color = {\n backgroundColor: SelectorsObject;\n fontColor: SelectorsObject;\n borderColor?: SelectorsObject;\n innerBorderColor?: SelectorsObject;\n};\n\nconst result = (\n theme: Theme,\n onColor: boolean = false,\n destructive: boolean = false\n): {\n [k in\n | \"primary\"\n | \"neutral\"\n | \"secondary-solid\"\n | \"secondary-outline\"\n | \"subtle\"\n | \"transparent\"]: Button2Color;\n} => {\n /*\n *****************\n onColor = false\n destructive = false\n *****************\n */\n if (!onColor && !destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.primary[600],\n hovered: theme.palette.primary[700],\n active: theme.palette.primary[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.neutral[100],\n hovered: theme.palette.neutral[200],\n active: theme.palette.neutral[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.neutral[100],\n active: theme.palette.neutral[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.neutral[300],\n hovered: theme.palette.neutral[200],\n active: theme.palette.neutral[300],\n disabled: theme.palette.neutral[400],\n focus: theme.textColor,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.neutral[100],\n active: theme.palette.neutral[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.palette.primary[700],\n active: theme.palette.primary[900],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = false\n destructive = true\n *****************\n */\n\n // neutral style and disabled status are not set by dga //\n\n if (!onColor && destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.error[50],\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n focus: theme.textColor,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = true\n destructive = false\n *****************\n */\n if (onColor && !destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: COLORS.white,\n hovered: COLORS.white80, // 80% opacity\n active: COLORS.white60, // 60% opacity\n disabled: COLORS.white20, // 20% opacity\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n primary: {\n backgroundColor: {\n default: COLORS.white,\n hovered: COLORS.white80, // 80% opacity\n active: COLORS.white60, // 60% opacity\n disabled: COLORS.white20, // 20% opacity\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: COLORS.white20, // 20% opacity\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n default: COLORS.white40,\n hovered: COLORS.white40,\n active: COLORS.white40,\n disabled: theme.palette.neutral[400],\n focus: COLORS.white,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.palette.primary[400],\n active: theme.palette.primary[300],\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = true\n destructive = true\n *****************\n */\n if (onColor && destructive) {\n }\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.error[50],\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n focus: COLORS.white,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[300],\n active: theme.palette.error[400],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n };\n};\n\nexport default result;\n","import React, { HTMLAttributes } from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Button from \"../Button\";\nimport useTheme from \"../../lib/useTheme\";\nimport arrowDownImage from \"../../assets/images/chevron.png\";\nimport Checkbox from \"../Checkbox\";\n\ninterface DGA_CardProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"title\"> {\n title?: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n type?: \"default\" | \"expandable\" | \"selectable\";\n state?: \"default\" | \"disabled\" | \"focused\" | \"hover\";\n effect?: \"withShadow\" | \"noShadow\" | \"stroke\";\n expandableContent?: React.ReactNode;\n actionsButtons?: React.ReactElement<typeof Button>[];\n expanded?: boolean;\n selected?: boolean;\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n}\n\nconst Card: React.FC<DGA_CardProps> = ({\n title,\n description,\n icon,\n type = \"default\",\n state = \"default\",\n effect = \"withShadow\",\n expandableContent,\n actionsButtons,\n selected,\n expanded,\n onChange,\n ...props\n}) => {\n const theme = useTheme();\n const [internalExpanded, setInternalExpanded] = React.useState(false);\n const [contentHeight, setContentHeight] = React.useState(0);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n // Use expanded prop if provided, otherwise use internal state\n const isExpanded = expanded !== undefined ? expanded : internalExpanded;\n\n const selectable = type === \"selectable\";\n const expandable = type === \"expandable\";\n const pointerEvents =\n type === \"expandable\" || type === \"selectable\" ? \"all\" : \"none\";\n\n React.useEffect(() => {\n if (expandable && contentRef.current?.clientHeight) {\n setContentHeight(contentRef.current.clientHeight);\n }\n }, [expandable, contentRef.current?.clientHeight]);\n\n const handleExpandToggle = () => {\n if (expanded === undefined) {\n // Only use internal state if expanded prop is not controlled\n setInternalExpanded((prevState: boolean) => !prevState);\n }\n };\n\n return (\n <StyledComponent\n className={mergeStrings(\n \"dgaui dgaui_card\" +\n (state === \"disabled\" ? \" disabled\" : \"\") +\n (selectable ? \" selectable\" : \"\"),\n props.className\n )}\n $theme={theme}\n $pointerEvents={pointerEvents}\n $effect={effect}\n $contentHeight={contentHeight}\n $expanded={isExpanded}\n $state={state}\n {...props}\n tabIndex={0}\n onClick={(e) => {\n props.onClick && props.onClick(e);\n onChange?.(e, !selected);\n }}\n >\n {(icon || selectable) && (\n <div className=\"cardHeader\">\n <div className=\"iconContainer\">{icon}</div>\n {selectable && (\n <div\n className=\"checkboxContainer\"\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n value={selected}\n onChange={onChange}\n size=\"medium\"\n disabled={state === \"disabled\"}\n />\n </div>\n )}\n </div>\n )}\n {title && <div className=\"titleContainer\">{title}</div>}\n {description && <div className=\"descriptionContainer\">{description}</div>}\n {!!actionsButtons && actionsButtons.length > 0 && type === \"default\" && (\n <div\n className=\"actionsButtonsContainer\"\n onClick={(e) => e.stopPropagation()}\n >\n {actionsButtons}\n </div>\n )}\n {expandable && (\n <>\n <div className=\"caretButtonContainer\">\n <img\n src={arrowDownImage}\n onClick={handleExpandToggle}\n style={{\n transition: \"all 0.2s\",\n transform: isExpanded ? \"rotateZ(-180deg)\" : \"none\",\n }}\n />\n </div>\n <div\n className=\"expandableContentContainer\"\n style={{ height: isExpanded ? contentHeight : 0 }}\n >\n <div\n className=\"expandableContent\"\n ref={contentRef}\n style={{ visibility: isExpanded ? \"visible\" : \"hidden\" }}\n >\n {expandableContent}\n </div>\n </div>\n </>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $pointerEvents: string;\n $effect?: \"withShadow\" | \"noShadow\" | \"stroke\";\n $contentHeight: number;\n $expanded?: boolean;\n $state?: \"default\" | \"disabled\" | \"focused\" | \"hover\";\n}>`\n direction: ${(p) => p.$theme.direction};\n /* pointer-events: ${(p) => p.$pointerEvents}; */\n border: none;\n outline: none;\n width: 350px;\n padding: 16px;\n border-radius: 16px;\n background-color: #fff;\n text-align: start;\n overflow: hidden;\n color: ${(p) =>\n p.$state === \"disabled\"\n ? p.$theme.palette.neutral[400]\n : p.$theme.palette.neutral[800]};\n border: 2px solid transparent;\n\n /* Apply background color based on state prop */\n background-color: ${(p) => {\n if (p.$state === \"hover\") return p.$theme.palette.neutral[50];\n return \"#fff\";\n }};\n\n /* Apply border color based on state prop */\n ${(p) =>\n p.$state === \"focused\" ? `border: 2px solid ${p.$theme.textColor};` : \"\"}\n\n ${(p) => (p.$effect === \"withShadow\" ? p.$theme.elevation.shadows.md : \"\")};\n ${(p) =>\n p.$effect === \"stroke\"\n ? \"border: 1px solid \" + p.$theme.palette.neutral[300]\n : \"\"};\n\n /* CSS hover and focus states - work when state prop is default */\n ${(p) =>\n p.$pointerEvents === \"all\" && p.$state !== \"disabled\"\n ? css`\n &:hover {\n background-color: ${p.$theme.palette.neutral[50]};\n }\n &:focus {\n border: 2px solid ${p.$theme.textColor};\n }\n `\n : \"\"}\n\n &.selectable {\n cursor: pointer;\n }\n &.disabled {\n pointer-events: none;\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n\n .iconContainer {\n opacity: 0.5;\n filter: grayscale(1);\n }\n\n .checkboxContainer {\n opacity: 0.5;\n filter: grayscale(1);\n }\n }\n\n .cardHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-height: 48px;\n margin-bottom: 24px;\n\n .iconContainer {\n max-height: 48px;\n }\n }\n\n .titleContainer {\n font-size: 18px;\n font-weight: 700;\n margin-bottom: 8px;\n }\n .descriptionContainer {\n font-size: 16px;\n }\n .actionsButtonsContainer {\n margin-top: 24px;\n button {\n margin-inline-end: 16px;\n &:last-child {\n margin-inline-end: 0;\n }\n }\n }\n\n .caretButtonContainer {\n height: 40px;\n margin-top: 24px;\n display: flex;\n align-items: center;\n img {\n cursor: pointer;\n }\n }\n .expandableContentContainer {\n transition: all 0.2s;\n font-size: 16px;\n\n .expandableContent {\n }\n }\n`;\n\nexport default Card;\n","\"use strict\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=e({name:\"gregorian\",startYear:1,yearLength:365,epoch:1721424,century:20,weekStartDayIndex:1,getMonthLengths:e=>[31,e?29:28,31,30,31,30,31,31,30,31,30,31],isLeap:e=>e%4==0&&e%100!=0||e%400==0,getLeaps(e){if(0===e)return;let t=e>0?1:-1,r=[];for(;e>0?t<=e:e<=t;)this.isLeap(t)&&r.push(t),e>0?t++:t--;return r},getDayOfYear({year:e,month:t,day:r}){let a=this.getMonthLengths(this.isLeap(e));for(let e=0;e<t.index;e++)r+=a[e];return r},getAllDays(e){const{year:t}=e;return this.yearLength*(t-1)+this.leapsLength(t)+this.getDayOfYear(e)},leapsLength:e=>((e-1)/4|0)+(-(e-1)/100|0)+((e-1)/400|0),guessYear:(e,t)=>~~(e/365.24)+(t>0?1:-1)});module.exports=t;\n","\"use strict\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=e({name:\"arabic\",startYear:1,yearLength:354,epoch:1948438,century:14,weekStartDayIndex:0,getMonthLengths:e=>[30,29,30,29,30,29,30,29,30,29,30,e?30:29],isLeap:e=>[2,5,7,10,13,15,18,21,24,26,29].includes(e%30),getLeaps(e){if(0===e)return;let t=e>0?1:-1,r=[];for(;e>0?t<=e:e<=t;)this.isLeap(t)&&r.push(t),e>0?t++:t--;return r},getDayOfYear({year:e,month:t,day:r}){let a=this.getMonthLengths(this.isLeap(e));for(let e=0;e<t.index;e++)r+=a[e];return r},getAllDays(e){const{year:t}=e;return this.yearLength*(t-1)+this.leapsLength(t)+this.getDayOfYear(e)},leapsLength:e=>11/30*(e-1)+.5|0,guessYear:(e,t)=>~~((e-.5)/354.366)+(t>0?1:-1)});module.exports=t;\n","export const gregorian_ar = {\n name: \"gregorian_ar\",\n months: [\n [\"يناير\", \"ينا\"],\n [\"فبراير\", \"فبر\"],\n [\"مارس\", \"ما\"],\n [\"إبريل\", \"إبر\"],\n [\"مايو\", \"ما\"],\n [\"يونيو\", \"يو\"],\n [\"يوليو\", \"يوليو\"],\n [\"أغسطس\", \"أغس\"],\n [\"سبتمبر\", \"سب\"],\n [\"أكتوبر\", \"اک\"],\n [\"نوفمبر\", \"نو\"],\n [\"ديسمبر\", \"دس\"],\n ],\n weekDays: [\n [\"السّبت\", \"سب\"],\n [\"الأحد\", \"اح\"],\n [\"الإثنينِ\", \"ثن\"],\n [\"الثلاثاء\", \"ثل\"],\n [\"الأربعاء\", \"ار\"],\n [\"الخميس\", \"خم\"],\n [\"الجمعة\", \"جم\"],\n ],\n digits: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n meridiems: [\n [\"قبل الظهر\", \"ق.ظ\"],\n [\"بعد الظهر\", \"ب.ظ\"],\n ],\n};\n\nexport const arabic_ar = {\n name: \"arabic_ar\",\n months: [\n [\"محرم\", \"محرم\"],\n [\"صفر\", \"صفر\"],\n [\"ربیع الاول\", \"ربیع الاول\"],\n [\"ربیع الثانی\", \"ربیع الثانی\"],\n [\"جمادی الاول\", \"جمادی الاول\"],\n [\"جمادی الثانی\", \"جمادی الثانی\"],\n [\"رجب\", \"رجب\"],\n [\"شعبان\", \"شعبان\"],\n [\"رمضان\", \"رمضان\"],\n [\"شوال\", \"شوال\"],\n [\"ذو القعدة\", \"ذو القعدة\"],\n [\"ذو الحجة\", \"ذو الحجة\"],\n ],\n weekDays: [\n [\"السّبت\", \"سب\"],\n [\"الأحد\", \"اح\"],\n [\"الإثنينِ\", \"ثن\"],\n [\"الثلاثاء\", \"ثل\"],\n [\"الأربعاء\", \"ار\"],\n [\"الخميس\", \"خم\"],\n [\"الجمعة\", \"جم\"],\n ],\n digits: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n meridiems: [\n [\"قبل الظهر\", \"ق.ظ\"],\n [\"بعد الظهر\", \"ب.ظ\"],\n ],\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n medium: { w: 320, h: 32, p: 8, f: 14, prefixW: 72 },\n large: { w: 320, h: 40, p: 8, f: 16, prefixW: 61 },\n};\n\nexport type Style = \"default\" | \"filledDarker\" | \"filledLighter\";\n\nexport interface DGA_TextInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"prefix\" | \"style\"\n > {\n label?: React.ReactNode;\n size?: \"large\" | \"medium\";\n style?: Style;\n error?: boolean;\n prefix?: React.ReactNode;\n onPrefixClicked?: Function;\n prefixStyle?: \"solid\" | \"subtle\";\n suffix?: React.ReactNode;\n suffixStyle?: \"solid\" | \"subtle\";\n onSuffixClicked?: Function;\n icon?: React.ReactNode;\n}\n\nconst TextInput = React.forwardRef<HTMLInputElement, DGA_TextInputProps>(\n (\n {\n label,\n size = \"large\",\n style,\n error,\n prefix,\n prefixStyle = \"solid\",\n onPrefixClicked,\n suffix,\n suffixStyle = \"solid\",\n onSuffixClicked,\n icon,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n\n const sizeResult: \"large\" | \"medium\" = size ?? \"large\";\n\n // Default\n let fontColor = theme.textColor;\n let placeholderFontColor = theme.palette.neutral[500];\n let border = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[400]\n }`;\n let borderHovered = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let borderFocused = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n let prefixBg =\n prefixStyle === \"solid\" ? theme.palette.neutral[100] : \"transparent\";\n let prefixBgHover = theme.palette.neutral[100];\n let prefixBgActive = theme.palette.neutral[200];\n let suffixBg =\n suffixStyle === \"solid\" ? theme.palette.neutral[100] : \"transparent\";\n let suffixBgHover = theme.palette.neutral[100];\n let suffixBgActive = theme.palette.neutral[200];\n\n if (style === \"filledLighter\") {\n backgroundColor = theme.palette.neutral[25];\n if (!error) {\n border = \"1px solid transparent\";\n borderHovered = `1px solid ${theme.palette.neutral[400]}`;\n borderFocused = `1px solid ${theme.palette.neutral[400]}`;\n }\n }\n if (style === \"filledDarker\") {\n backgroundColor = theme.palette.neutral[100];\n }\n\n if (props.disabled) {\n fontColor = theme.palette.neutral[400];\n border = `1px solid ${theme.palette.neutral[200]}`;\n borderHovered = `1px solid ${theme.palette.neutral[200]}`;\n }\n\n return (\n <RootStyledComponent\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_textInput\", props.className)}\n $customStyle={{\n prefixBg,\n prefixBgHover,\n prefixBgActive,\n suffixBg,\n suffixBgHover,\n suffixBgActive,\n size,\n iconPadding: icon ? \"20px\" : \"0px\",\n }}\n >\n <label\n style={{ marginBottom: 8, textAlign: \"start\" }}\n htmlFor={props.id}\n >\n {label}\n </label>\n {prefix && (\n <div className=\"prefix\" onClick={() => onPrefixClicked?.()}>\n {prefix}\n </div>\n )}\n {suffix && (\n <div className=\"suffix\" onClick={() => onSuffixClicked?.()}>\n {suffix}\n </div>\n )}\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\n {icon && <div className=\"icon\">{icon}</div>}\n <StyledComponent\n $customStyle={{\n direction: theme.direction,\n minWidth: sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n padding: sizes[sizeResult].p,\n fontSize: sizes[sizeResult].f,\n placeholderFontColor,\n fontColor,\n border,\n borderHovered,\n borderFocused,\n backgroundColor,\n shadowFocus,\n }}\n {...props}\n ref={ref}\n className=\"dgaui dgaui_textInput_input\"\n />\n </div>\n <StyledComponentSpan\n $bgColor={animationColor}\n className=\"dgauiInputSeparator\"\n />\n </RootStyledComponent>\n );\n }\n);\n\nconst RootStyledComponent = styled.div<{\n $theme: Theme;\n $customStyle: {\n prefixBg: string;\n prefixBgHover: string;\n prefixBgActive: string;\n suffixBg: string;\n suffixBgHover: string;\n suffixBgActive: string;\n size?: \"large\" | \"medium\";\n iconPadding: string;\n };\n}>`\n position: relative;\n direction: ${(p) => p.$theme.direction};\n display: flex;\n flex-direction: column;\n color: ${(p) => p.$theme.textColor};\n width: 100%;\n overflow: hidden;\n\n .prefix,\n .suffix {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")};\n height: ${(p) => (p.$customStyle.size === \"large\" ? \"38px\" : \"30px\")};\n bottom: 3px;\n inset-inline-start: 1px;\n border-start-start-radius: 4px;\n border-end-start-radius: 4px;\n font-size: 16px;\n color: ${(p) => p.$theme.palette.neutral[500]};\n transition: background-color 0.2s;\n overflow: hidden;\n }\n\n .prefix {\n background-color: ${(p) => p.$customStyle.prefixBg};\n\n &:hover {\n background-color: ${(p) => p.$customStyle.prefixBgHover};\n }\n &:active {\n background-color: ${(p) => p.$customStyle.prefixBgActive};\n }\n }\n\n .suffix {\n background-color: ${(p) => p.$customStyle.suffixBg};\n\n &:hover {\n background-color: ${(p) => p.$customStyle.suffixBgHover};\n }\n &:active {\n background-color: ${(p) => p.$customStyle.suffixBgActive};\n }\n }\n\n .suffix {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: 4px;\n border-end-end-radius: 4px;\n inset-inline-start: unset;\n inset-inline-end: 1px;\n }\n\n .icon {\n width: calc(${(p) => p.$customStyle.iconPadding} + 10px);\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n input {\n padding-inline-start: calc(${(p) => p.$customStyle.iconPadding} + 8px);\n }\n\n &:has(.prefix) {\n input {\n padding-inline-start: calc(\n ${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")} +\n ${(p) => p.$customStyle.iconPadding} + 8px\n );\n }\n .icon {\n inset-inline-start: ${(p) =>\n p.$customStyle.size === \"large\" ? \"74px\" : \"61px\"};\n }\n }\n\n &:has(.suffix) {\n input {\n padding-inline-end: calc(\n ${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")} + 8px\n );\n }\n }\n &:has(.dgaui_textInput_input:disabled),\n &:has(.dgaui_textInput_input:read-only) {\n .dgauiInputSeparator {\n pointer-events: none;\n }\n }\n &:has(.dgaui_textInput_input:focus) {\n .dgauiInputSeparator {\n transform: scaleX(0.995) translateY(-2.5px);\n }\n }\n &:has(.dgaui_textInput_input:active) {\n .dgauiInputSeparator {\n transform: scaleX(0.5) translateY(-2.5px);\n }\n }\n`;\n\nconst StyledComponent = styled.input<{\n $customStyle: {\n direction: string;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: string;\n border: string;\n shadowFocus: string;\n placeholderFontColor: string;\n borderHovered: string;\n borderFocused: string;\n backgroundColor: string;\n };\n}>`\n outline: none;\n direction: ${(props) => props.$customStyle.direction};\n border-radius: 4px;\n width: 100%;\n height: ${(props) => props.$customStyle.height}px;\n padding: 0 ${(props) => props.$customStyle.padding}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n border: ${(props) => props.$customStyle.border};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n overflow: hidden;\n box-sizing: border-box;\n\n &::placeholder {\n color: ${(props) => props.$customStyle.placeholderFontColor};\n font-weight: 300;\n }\n &:focus {\n ${(props) => props.$customStyle.shadowFocus};\n border: ${(props) => props.$customStyle.borderFocused};\n }\n\n &:hover {\n border: ${(props) => props.$customStyle.borderHovered};\n }\n &:disabled {\n pointer-events: none;\n }\n`;\n\nconst StyledComponentSpan = styled.span<{ $bgColor: string }>`\n height: 2px;\n background: ${(props) => props.$bgColor};\n display: block;\n transform: scaleX(0) translateY(-2.5px);\n transform-origin: 50%;\n transition: all 0.2s;\n border-bottom-left-radius: 50px;\n border-bottom-right-radius: 50px;\n`;\n\nexport default TextInput;\n","import React, { SyntheticEvent } from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ninterface DGA_MenuProps extends React.HTMLAttributes<HTMLDivElement> {\n disabled?: boolean;\n menuItems: React.ReactNode;\n children: React.ReactNode;\n keepOpenOnItemsClicked?: boolean;\n onOpen?: (e: SyntheticEvent) => void;\n onClose?: (e: SyntheticEvent) => void;\n reverseOpeningDirection?: boolean;\n}\n\nconst Menu: React.FC<DGA_MenuProps> = ({\n children,\n menuItems,\n disabled,\n keepOpenOnItemsClicked,\n onOpen,\n onClose,\n reverseOpeningDirection,\n ...props\n}) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n const [defaultBodyOverflow, setDefaultBodyOverflow] = React.useState(\"\");\n const [itemsPosition, setItemsPosition] = React.useState({\n top: 0,\n left: 0,\n });\n const componentRef = React.useRef<HTMLDivElement>(null);\n const ref = React.useRef<HTMLDivElement>(null);\n const menuItemsRef = React.useRef<HTMLDivElement>(null);\n\n const positioner = () => {\n const vh = Math.max(document.documentElement.clientHeight, window.innerHeight);\n\n if (ref.current && menuItemsRef.current) {\n const rect = ref.current.getBoundingClientRect();\n\n // bottom-to-bottom\n let values = {\n top: rect.bottom,\n left: theme.direction === \"ltr\" ? rect.left : rect.right - menuItemsRef.current.clientWidth,\n };\n\n // if width starting from children corner greater than window width + direction checking\n if (theme.direction === \"ltr\") {\n if (values.left + menuItemsRef.current.clientWidth > window.innerWidth) {\n values.left = window.innerWidth - menuItemsRef.current.clientWidth;\n }\n } else {\n if (values.left && rect.right - menuItemsRef.current.clientWidth < 0) {\n values.left = 0;\n }\n }\n\n if (reverseOpeningDirection) {\n values = {\n top: values.top,\n left: theme.direction === \"ltr\" ? rect.right - menuItemsRef.current.clientWidth : rect.left,\n };\n\n if (values.left < 0) {\n values.left = 0;\n }\n if (rect.left + menuItemsRef.current.clientWidth > innerWidth) {\n values.left = innerWidth - menuItemsRef.current.clientWidth;\n }\n }\n\n // bottom-to-top\n if (rect.bottom + menuItemsRef.current.clientHeight > vh) {\n values.top = rect.top - menuItemsRef.current.clientHeight;\n }\n\n if (values.top < 0) {\n values.top = 0;\n }\n if (values.top > vh) {\n values.top = menuItemsRef.current.clientHeight;\n }\n\n setItemsPosition(values);\n }\n };\n\n const openMenu = (e: SyntheticEvent) => {\n if (open) {\n setOpen(false);\n onClose?.(e);\n } else {\n positioner();\n setOpen(true);\n onOpen?.(e);\n }\n };\n\n // Popover position\n React.useEffect(() => {\n if (ref.current) {\n const resizeHandler = () => {\n positioner();\n };\n\n const clickHandler = (e: SyntheticEvent) => {\n // Clicked outside\n if (!componentRef.current?.contains(e.target as any)) {\n onClose?.(e);\n setOpen(false);\n }\n };\n\n window.addEventListener(\"resize\", resizeHandler);\n window.addEventListener(\"click\", clickHandler as any);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler as any);\n };\n }\n }, [ref, reverseOpeningDirection]);\n\n React.useEffect(() => {\n const body = document.getElementsByTagName(\"body\");\n if (body && body[0]) {\n if (open) {\n body[0].style.overflow = \"hidden\";\n } else {\n body[0].style.overflow = defaultBodyOverflow;\n }\n }\n }, [open]);\n\n React.useEffect(() => {\n setDefaultBodyOverflow(document.getElementsByTagName(\"body\")?.[0]?.style?.overflow);\n }, []);\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_menu\", props.className)}\n ref={componentRef}\n >\n <div ref={ref} onClick={(e: SyntheticEvent) => openMenu(e)} className=\"menuChildren\">\n {children}\n </div>\n <div\n ref={menuItemsRef}\n className={\"menueItemsContainer dgaui_hiddenScrollbar \" + (open ? \" slide-bottom\" : \"\")}\n style={itemsPosition}\n onClick={(e) => {\n if (!keepOpenOnItemsClicked) {\n setOpen(false);\n onClose?.(e);\n }\n }}\n >\n {menuItems}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: inline-block;\n\n .menueItemsContainer {\n width: max-content;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1400;\n background-color: #fff;\n opacity: 0;\n min-width: 20px;\n max-height: 400px;\n overflow-y: scroll;\n pointer-events: none;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-radius: 8px;\n ${(p) => p.$theme.elevation.shadows[\"2xl\"]}\n cursor: pointer;\n\n &.slide-bottom {\n animation: slide-bottom 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n pointer-events: all;\n }\n @keyframes slide-bottom {\n 0% {\n transform: translateZ(0) translateY(0);\n opacity: 0;\n }\n 100% {\n transform: translateZ(160px) translateY(8px);\n opacity: 1;\n }\n }\n }\n`;\n\nexport default Menu;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD/SURBVHgB7dUxroJAEAbgAV5I6LaBUHqExxG8wWtf9Z4n8Ah6I49gbaU30JJAIQUVCeA/xsLCgl2zRpP/SzYLxSSTmZ1dESIiIiJ6IE3TZZZlK3lSKJ6M4xhgWyPJvTFmJu8IVfzHOiPJo2uSgXiW5/lsGIYtPg2qOq/r+mAT7z1BdZ9k13VF0zSnqbFfYkEPPrYfsdT3vQTBtRYmjmMdnMXUWKshuR18J4htxMFLWqwDgsppiyUMw3lZlqepsVYtdoFj8Y32blBBg1+r5JS3e1AhuT9s18pFUVTYTrBX+opgjXpR6xSLo0g8SZKkQGt3VVX9tm3rNCBEREREn+8C+TlJKy8I1/cAAAAASUVORK5CYII=\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEJSURBVHgB7dU9boNAEAXgtySigYKGn9JHSI7AEXIC5wi5QXKEtOlyhZwgbTp8g7gEUWQLQBEF+I1l916stWxpPmnFFFsMszO7gFJKKaXULbvDmbIse43j+LHv+x94EGChJElWTK5i+DbPc4JrckjuN03TP65neHQPR0zogZ9vLstVtm27gUfGZbNULgxDSQ5BEJR1XW/hmVOCrN6nMWbNcMO+s1iAP/bVNM37yfvhgMkdw4sNhVMFi6JYTdO0P+JxHEtr7RaeOVVQeo5H+ySx9KL0JDxzvgdlamVAJGaSFftyjWskx83kKt6Hc57nL/Bk8VPXdZ0dhuEjiiLOjvn39dQppZRSSt22HXZvSded5pbnAAAAAElFTkSuQmCC\";\n export default img;","import React from \"react\";\nimport { Calendar } from \"react-multi-date-picker\";\nimport { DateObject } from \"react-multi-date-picker\";\nimport gregorian from \"react-date-object/calendars/gregorian\";\nimport arabic from \"react-date-object/calendars/arabic\";\nimport { arabic_ar, gregorian_ar } from \"./customLocales\";\nimport TextInput, { DGA_TextInputProps } from \"../TextInput\";\nimport Menu from \"../Menu\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport rightIcon from \"./right.png\";\nimport leftIcon from \"./left.png\";\n\ntype Props = {\n hijri?: boolean;\n range?: boolean;\n minYear?: number;\n maxYear?: number;\n onChange?: (dateObject: DateObject) => void;\n onRangeChange?: (datesObject: DateObject[]) => void;\n value?: DateObject | DateObject[];\n withTextInput?: boolean;\n textInputProps?: DGA_TextInputProps;\n closeOnSelect?: boolean;\n rangeSeparator?: string;\n minDate?: DateObject;\n maxDate?: DateObject;\n};\n\nconst DatePicker: React.FC<Props> = ({\n hijri = false,\n range = false,\n minYear,\n maxYear,\n minDate,\n maxDate,\n onChange,\n onRangeChange,\n value,\n withTextInput = true,\n textInputProps,\n closeOnSelect = true,\n rangeSeparator = \" - \",\n}) => {\n const theme = useTheme();\n const [date, setDate] = React.useState<DateObject | DateObject[]>();\n const [dateText, setDateText] = React.useState(\"\");\n const [yearsList, setYearsList] = React.useState<number[]>([]);\n const [yearDisplayValue, setYearDisplayValue] = React.useState(0);\n const calendarRef = React.useRef();\n\n const isRangeAndOnlyOneSelected =\n range && Array.isArray(date) && date.length === 1;\n\n const onChangeHandler = (date: DateObject) => {\n setDate(date);\n\n if (range && onRangeChange && Array.isArray(date)) {\n onRangeChange(date);\n } else {\n date && onChange && onChange(date);\n }\n\n if (closeOnSelect) {\n if (range && Array.isArray(date) && date.length > 1) {\n document.body.click();\n } else if (!range) {\n document.body.click();\n }\n }\n };\n\n const onYearChangedDropdown = (v: number) => {\n setDate(undefined);\n (calendarRef?.current as any)?.set(\"year\", v);\n setYearDisplayValue(v);\n };\n\n React.useEffect(() => {\n let minYearDefault = 0;\n let maxYearDefault = 0;\n if (hijri) {\n minYearDefault = minDate ? minDate.year : minYear || 1300;\n maxYearDefault = maxDate ? maxDate.year : maxYear || 1500;\n } else {\n minYearDefault = minDate ? minDate.year : minYear || 1900;\n maxYearDefault = (maxDate ? maxDate.year : maxYear || 2100) + 1;\n }\n\n let newYearsList: number[] = [];\n\n // If invalid range\n if (minYearDefault >= maxYearDefault) {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + 1900);\n setYearsList(newYearsList);\n return;\n }\n\n if (minYearDefault && maxYearDefault) {\n newYearsList = Array(maxYearDefault - minYearDefault)\n .fill(0)\n .map((_, index) => index + minYearDefault);\n } else if (minYearDefault && !maxYearDefault) {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + minYearDefault);\n } else if (!minYearDefault && maxYearDefault) {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + (hijri ? 1300 : 1900));\n } else {\n if (hijri) {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + 1300);\n } else {\n newYearsList = Array(200)\n .fill(0)\n .map((_, index) => index + 1900);\n }\n }\n setYearsList(newYearsList);\n }, [minYear, maxYear, minDate, maxDate, hijri]);\n\n React.useEffect(() => {\n const thisYear = new Date().getFullYear();\n const thisMonth = new Date().getMonth() + 1;\n\n if (hijri) {\n setYearDisplayValue(gregoreanYearToHijriYear(thisYear, thisMonth));\n } else {\n setYearDisplayValue(thisYear);\n }\n }, [hijri]);\n\n React.useEffect(() => {\n if (!range) {\n setDate(undefined);\n }\n }, [range]);\n\n React.useEffect(() => {\n setDate(value);\n }, [value]);\n\n React.useEffect(() => {\n let newDateText = \"\";\n if (range && Array.isArray(date) && date.length === 2) {\n newDateText = `${formatDate(date[0])}${rangeSeparator}${formatDate(\n date[1]\n )}`;\n } else if (date && !Array.isArray(date)) {\n newDateText = formatDate(date);\n }\n setDateText(newDateText);\n }, [date, range]);\n\n const calendar = (\n <Calendar\n ref={calendarRef}\n value={value || date}\n range={range}\n calendar={hijri ? arabic : gregorian}\n onMonthChange={(e) => setYearDisplayValue(e.year)}\n // When overriding the default locale using spread operator \"...\" then override only digits, we faced an issue when value is set.\n // And when overriding the locale using object it works fine, so we used the object to override the locale.\n locale={\n hijri ? arabic_ar : theme.direction === \"rtl\" ? gregorian_ar : undefined\n }\n weekStartDayIndex={hijri ? 1 : 0} // As arabic calendar starts in Saturday and I want to unify the start day to be in Sunday\n weekDays={\n hijri\n ? [\"سبت\", \"أحد\", \"إثنين\", \"ثلاثاء\", \"أربعاء\", \"خميس\", \"جمعة\"]\n : theme.direction === \"rtl\"\n ? [\"أحد\", \"إثنين\", \"ثلاثاء\", \"أربعاء\", \"خميس\", \"جمعة\", \"سبت\"]\n : undefined\n }\n onChange={onChangeHandler}\n format=\"YYYY/MM/DD\"\n showOtherDays\n monthYearSeparator=\" \"\n minDate={minDate}\n maxDate={maxDate}\n >\n <div className=\"yearsSelect\">\n <select\n value={yearDisplayValue}\n onChange={(e) => onYearChangedDropdown(+e.target.value)}\n >\n {yearsList.map((el) => {\n return (\n <option key={el} value={el}>\n {el}\n </option>\n );\n })}\n </select>\n </div>\n </Calendar>\n );\n\n return (\n <StyledComponent\n className={\n \"dgaui\" + (isRangeAndOnlyOneSelected ? \" rangeOnlyOneSelected\" : \"\")\n }\n $theme={theme}\n >\n {!withTextInput && calendar}\n {withTextInput && (\n <Menu menuItems={calendar} keepOpenOnItemsClicked>\n <TextInput\n value={textInputProps?.value || dateText}\n readOnly\n {...textInputProps}\n />\n </Menu>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n .rmdp-top-class {\n width: 424px;\n display: block !important;\n\n .rmdp-calendar {\n padding: 16px;\n }\n\n .rmdp-day-picker {\n padding: 0;\n display: block !important;\n }\n }\n\n .rmdp-header {\n margin: 0;\n div:first-child {\n button {\n width: 40px;\n height: 40px;\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[100]} !important;\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]} !important;\n }\n\n i {\n display: none;\n }\n }\n\n .rmdp-right {\n background-image: url(${rightIcon});\n background-repeat: no-repeat;\n }\n .rmdp-left {\n position: absolute;\n inset-inline-end: 48px;\n inset-inline-start: auto;\n background-image: url(${leftIcon});\n background-repeat: no-repeat;\n }\n .rmdp-header-values {\n flex: 1;\n font-size: 16px !important;\n font-weight: 500;\n display: flex;\n justify-content: flex-start;\n margin: 0;\n\n span:last-child {\n visibility: hidden;\n }\n }\n }\n }\n\n .rmdp-week-day {\n width: 56px;\n height: 48px;\n font-size: 16px !important;\n color: ${(p) => p.$theme.palette.neutral[500]};\n }\n\n .rmdp-day {\n margin: 0;\n box-sizing: border-box;\n border: 2px solid transparent;\n width: 56px;\n height: 56px;\n\n span {\n font-size: 16px !important;\n }\n\n &.rmdp-deactive {\n color: ${(p) => p.$theme.palette.neutral[400]} !important;\n }\n\n &:hover span {\n background-color: ${(p) => p.$theme.palette.neutral[200]} !important;\n color: ${(p) => p.$theme.textColor};\n }\n &:active span {\n background-color: ${(p) => p.$theme.palette.neutral[300]} !important;\n }\n\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor} !important;\n border-radius: 6px !important;\n }\n\n &.rmdp-selected {\n span {\n background-color: ${(p) => p.$theme.palette.primary[600]} !important;\n color: #fff !important;\n }\n &:hover {\n span {\n background-color: ${(p) => p.$theme.palette.primary[700]} !important;\n color: #fff !important;\n }\n }\n &:active {\n span {\n background-color: ${(p) => p.$theme.palette.primary[900]} !important;\n color: #fff !important;\n }\n }\n }\n }\n .rmdp-week {\n .rmdp-day {\n &.rmdp-disabled {\n pointer-events: none;\n }\n }\n }\n .rmdp-today {\n &:hover {\n background-color: transparent !important;\n span {\n background-color: transparent !important;\n color: ${(p) => p.$theme.palette.primary[600]} !important;\n }\n }\n\n span {\n box-shadow: none;\n background-color: transparent !important;\n border: 2px solid ${(p) => p.$theme.palette.primary[600]} !important;\n color: ${(p) => p.$theme.palette.primary[600]} !important;\n font-weight: 700 !important;\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[100]} !important;\n color: ${(p) => p.$theme.palette.primary[600]} !important;\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[200]} !important;\n color: ${(p) => p.$theme.palette.primary[600]} !important;\n }\n }\n }\n\n .rmdp-range {\n box-shadow: none;\n position: relative;\n\n background-color: transparent;\n color: ${(p) => p.$theme.textColor} !important;\n\n &:hover,\n &:hover span {\n background-color: transparent !important;\n }\n\n &::before {\n background-color: ${(p) => p.$theme.palette.primary[100]} !important;\n content: \"\";\n display: block;\n position: absolute;\n width: 108%;\n height: 92%;\n z-index: -1;\n top: 2px;\n inset-inline-end: -6px;\n }\n\n &.start {\n span {\n background-color: transparent;\n background-color: ${(p) => p.$theme.palette.primary[600]} !important;\n color: #fff;\n }\n border-bottom-left-radius: unset !important;\n border-top-left-radius: unset !important;\n border-radius: 50% !important;\n\n &::before {\n background-color: ${(p) => p.$theme.palette.primary[100]} !important;\n border-start-start-radius: 50%;\n border-end-start-radius: 50%;\n content: \"\";\n display: block;\n position: absolute;\n width: 107%;\n height: 92%;\n z-index: -1;\n top: 2px;\n inset-inline-end: -6px;\n }\n }\n &.end {\n span {\n background-color: ${(p) => p.$theme.palette.primary[600]} !important;\n color: #fff;\n }\n\n border-bottom-left-radius: unset !important;\n border-top-left-radius: unset !important;\n border-radius: 50% !important;\n\n &::before {\n background-color: ${(p) => p.$theme.palette.primary[100]} !important;\n border-start-end-radius: 50%;\n border-end-end-radius: 50%;\n content: \"\";\n display: block;\n position: absolute;\n width: 107%;\n height: 92%;\n z-index: -1;\n top: 2px;\n inset-inline-start: -6px;\n }\n &.start {\n &::before {\n display: none;\n }\n }\n }\n }\n\n &.rangeOnlyOneSelected {\n .rmdp-range {\n &::before {\n display: none;\n }\n }\n }\n\n .rmdp-shadow {\n ${(p) => p.$theme.elevation.shadows[\"2xl\"]}\n }\n\n .yearsSelect {\n position: absolute;\n top: 28px;\n left: 120px;\n z-index: 0;\n display: flex;\n justify-content: flex-start;\n\n select {\n outline: none;\n border: none;\n margin-top: 6px;\n font-size: 16px;\n font-weight: 500;\n }\n }\n\n .rmdp-rtl {\n .rmdp-header {\n div:first-child {\n .rmdp-right {\n background-image: url(${leftIcon});\n background-repeat: no-repeat;\n }\n .rmdp-left {\n background-image: url(${rightIcon});\n background-repeat: no-repeat;\n }\n }\n }\n }\n\n .rmdp-wrapper {\n position: relative;\n }\n\n &:has(.rmdp-rtl) {\n .yearsSelect {\n left: auto;\n right: 110px;\n }\n }\n\n .menueItemsContainer {\n max-height: unset;\n }\n\n @media screen and (max-width: 600px) {\n width: 100%;\n .rmdp-wrapper {\n width: 100%;\n }\n .rmdp-top-class .rmdp-calendar {\n padding: 0;\n }\n .rmdp-top-class {\n width: 100%;\n }\n .rmdp-day {\n width: 40px;\n height: 40px;\n }\n .rmdp-day {\n span {\n font-size: 14px !important;\n }\n }\n .yearsSelect {\n top: 10px;\n }\n }\n`;\n\nexport default DatePicker;\n\nfunction gregoreanYearToHijriYear(\n gregorianYear: number,\n gregorianMonth: number\n) {\n // Subtract 622 from the Gregorian year, then divide by 0.970224\n let hijriYear = (gregorianYear - 622) / 0.970224;\n\n // If the month is after roughly October (when the Hijri year might have turned), add 1 year to the result\n if (gregorianMonth >= 9) {\n hijriYear += 1;\n }\n\n return Math.floor(hijriYear); // Round down to get the whole Hijri year\n}\n\nconst padStartZero = (text: number | string) =>\n text?.toString().padStart(2, \"0\");\n\nconst formatDate = (date: DateObject) => {\n return `${padStartZero(date.day)}/${padStartZero(date.month.number)}/${\n date.year\n }`;\n};\n","import React from \"react\";\n\nconst Icon = () => {\n return (\n <svg\n className=\"elementsIcon\"\n width=\"20\"\n height=\"22\"\n viewBox=\"0 0 20 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.9998 0.250854C14.1608 0.250854 15.903 0.250854 17.23 1.18585C17.611 1.45385 17.95 1.77385 18.24 2.13685C19.251 3.40785 19.251 5.03485 19.251 8.27385V10.8189C19.251 13.8738 19.251 15.4069 18.729 16.7229C17.895 18.8279 16.139 20.4849 13.911 21.2669C12.7097 21.6876 11.3248 21.7418 8.85332 21.7488C8.841 21.7499 8.82868 21.7509 8.81633 21.7518C8.80186 21.753 8.78781 21.7518 8.77406 21.749C8.43151 21.7499 8.0683 21.7499 7.68208 21.7499C5.80016 21.7499 4.85498 21.7499 4.01699 21.4559C2.65599 20.9779 1.582 19.9639 1.071 18.6749C0.75 17.8659 0.75 16.9689 0.75 15.1829V10.6703C0.75 10.2563 1.086 9.92028 1.5 9.92028C1.914 9.92028 2.25 10.2563 2.25 10.6703V15.1828C2.25 16.7787 2.25 17.5799 2.46499 18.1229C2.81599 19.0079 3.56301 19.7079 4.51301 20.0419C5.11001 20.2519 5.96899 20.2519 7.68096 20.2519C8.0634 20.2519 8.42207 20.2519 8.75907 20.2511C10.0619 20.1207 11.083 19.0176 11.083 17.681C11.083 17.5211 11.075 17.3488 11.0666 17.1666L11.0647 17.1261C11.0398 16.5815 11.0115 15.9649 11.165 15.389C11.388 14.557 12.043 13.902 12.875 13.679C13.4506 13.5256 14.0659 13.5537 14.6112 13.5787L14.6511 13.5805C14.8339 13.589 15.0067 13.597 15.167 13.597C16.5666 13.597 17.7102 12.4773 17.749 11.0869C17.749 10.9993 17.749 10.9104 17.749 10.82V8.27485C17.749 5.38385 17.749 3.93285 17.064 3.07185C16.864 2.82085 16.629 2.59885 16.364 2.41385C15.465 1.78085 13.9868 1.75286 10.9978 1.75286C10.5838 1.75286 10.2478 1.41686 10.2478 1.00286C10.2478 0.588855 10.5838 0.252855 10.9978 0.252855L10.9998 0.250854ZM17.6944 14.2184C16.9986 14.7683 16.1204 15.097 15.167 15.097C14.9762 15.097 14.7811 15.0883 14.5905 15.0799C14.5763 15.0792 14.5621 15.0786 14.548 15.078L14.5321 15.0772C14.0781 15.0565 13.6109 15.0351 13.263 15.129C12.948 15.213 12.699 15.462 12.615 15.777C12.5212 16.1291 12.5429 16.6017 12.5638 17.0587L12.564 17.062C12.574 17.266 12.583 17.476 12.583 17.681C12.583 18.617 12.2663 19.4805 11.7344 20.17C12.4126 20.1131 12.9462 20.0165 13.413 19.8529C15.23 19.2149 16.659 17.8729 17.333 16.1719C17.5375 15.6556 17.6415 15.0456 17.6944 14.2184Z\"\n fill=\"#161616\"\n />\n <path\n d=\"M3.58933 3.36016C3.39711 3.60489 3.19487 3.86201 3.03781 4.0236C2.74911 4.32062 2.27428 4.32737 1.97726 4.03867C1.68023 3.74996 1.67349 3.27514 1.96219 2.97811C2.05089 2.88685 2.19651 2.70504 2.40971 2.43362L2.45675 2.37369C2.64683 2.13155 2.8698 1.84749 3.09954 1.57636C3.34574 1.28581 3.62131 0.984013 3.89679 0.749391C4.03484 0.631816 4.19043 0.515847 4.35782 0.426268C4.51926 0.339874 4.74172 0.250854 5 0.250854C5.25829 0.250854 5.48074 0.339874 5.64218 0.426268C5.80957 0.515847 5.96517 0.631816 6.10321 0.749391C6.37869 0.984012 6.65426 1.28581 6.90047 1.57636C7.1302 1.84748 7.35317 2.13154 7.54324 2.37368L7.59029 2.43362C7.80349 2.70504 7.94911 2.88685 8.03781 2.97811C8.32651 3.27514 8.31977 3.74996 8.02274 4.03867C7.72572 4.32737 7.25089 4.32062 6.96219 4.0236C6.80513 3.86201 6.6029 3.60489 6.41067 3.36016L6.36595 3.30321C6.17304 3.05748 5.96675 2.79471 5.75606 2.54607L5.75 2.53893V9.00085C5.75 9.41507 5.41421 9.75085 5 9.75085C4.58579 9.75085 4.25 9.41507 4.25 9.00085V2.53893L4.24394 2.54607C4.03326 2.7947 3.82698 3.05746 3.63408 3.30318L3.58933 3.36016Z\"\n fill=\"#161616\"\n />\n </svg>\n );\n};\n\nexport default Icon;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nexport type FileCardStatus = \"loading\" | \"success\" | \"error\";\nimport xIcon from \"../../assets/images/x.png\";\nimport successIcon from \"../../assets/images/successFillCirecle.svg\";\nimport errorIcon from \"../../assets/images/errorFillCircle.svg\";\n\ntype Props = {\n status?: FileCardStatus;\n filename: React.ReactNode;\n helperText?: React.ReactNode;\n onDelete: Function;\n theme: Theme;\n};\n\nconst FileCard: React.FC<Props> = ({\n status,\n filename,\n helperText,\n onDelete,\n theme,\n}) => {\n return (\n <StyledComponent\n className={\"dgaui dgaui_fileCard \" + (status === \"error\" ? \"error\" : \"\")}\n $theme={theme}\n >\n <div className=\"dgaui_fileCardContent\">\n <div className={\"dgaui_fileCardFileName\"}>\n {status === \"loading\" && (\n <span className=\"dgaui_loader dgaui_fileCardIcon\" />\n )}\n {status === \"success\" && (\n <img className=\"dgaui_fileCardIcon\" src={successIcon} />\n )}\n {status === \"error\" && (\n <img className=\"dgaui_fileCardIcon\" src={errorIcon} />\n )}\n {filename}\n </div>\n\n <img\n src={xIcon}\n className=\"dgaui_fileCardCloseIcon\"\n onClick={() => onDelete()}\n />\n </div>\n {status === \"error\" && helperText && (\n <div className=\"dgaui_fileCardContentError\">{helperText}</div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(props) => props.$theme.direction};\n margin-top: 8px;\n margin-bottom: 8px;\n border-radius: 4px;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n height: 36px;\n width: 100%;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n box-sizing: border-box;\n font-weight: 500;\n\n .dgaui_fileCardContent {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px;\n\n .dgaui_loader {\n border: 2px solid ${(p) => p.$theme.textColor};\n border-bottom-color: transparent;\n border-radius: 50%;\n display: inline-block;\n box-sizing: border-box;\n animation: rotation 1s linear infinite;\n }\n\n @keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .dgaui_fileCardFileName {\n display: flex;\n align-items: center;\n }\n\n .dgaui_fileCardCloseIcon {\n cursor: pointer;\n }\n\n .dgaui_fileCardIcon {\n margin-inline-end: 8px;\n width: 20px;\n height: 20px;\n }\n }\n\n &.error {\n border: 1px solid ${(p) => p.$theme.palette.error[700]};\n height: auto;\n min-height: 36px;\n\n .dgaui_fileCardContentError {\n color: #ce281c;\n border-top: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n font-weight: 400;\n padding: 8px;\n }\n }\n`;\n\nexport default FileCard;\n","var img = \"data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0002 19.1667C15.0628 19.1667 19.1668 15.0626 19.1668 10C19.1668 4.93743 15.0628 0.833374 10.0002 0.833374C4.93755 0.833374 0.833496 4.93743 0.833496 10C0.833496 15.0626 4.93755 19.1667 10.0002 19.1667Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0002 19.1667C15.0628 19.1667 19.1668 15.0626 19.1668 10C19.1668 4.93743 15.0628 0.833374 10.0002 0.833374C4.93755 0.833374 0.833496 4.93743 0.833496 10C0.833496 15.0626 4.93755 19.1667 10.0002 19.1667ZM5.87534 9.26781C5.54991 9.59324 5.54991 10.1209 5.87534 10.4463L8.23237 12.8033C8.5578 13.1288 9.08544 13.1288 9.41088 12.8033L14.1249 8.0893C14.4504 7.76386 14.4504 7.23622 14.1249 6.91078C13.7995 6.58535 13.2718 6.58535 12.9464 6.91078L8.82162 11.0356L7.05385 9.26781C6.72842 8.94237 6.20078 8.94237 5.87534 9.26781Z' fill='%23067647'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0002 19.1666C15.0628 19.1666 19.1668 15.0626 19.1668 9.99998C19.1668 4.93737 15.0628 0.833313 10.0002 0.833313C4.93755 0.833313 0.833496 4.93737 0.833496 9.99998C0.833496 15.0626 4.93755 19.1666 10.0002 19.1666Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0002 19.1666C15.0628 19.1666 19.1668 15.0626 19.1668 9.99998C19.1668 4.93737 15.0628 0.833313 10.0002 0.833313C4.93755 0.833313 0.833496 4.93737 0.833496 9.99998C0.833496 15.0626 4.93755 19.1666 10.0002 19.1666ZM10.0002 5.83331C9.53992 5.83331 9.16683 6.20641 9.16683 6.66665V9.99998C9.16683 10.4602 9.53992 10.8333 10.0002 10.8333C10.4604 10.8333 10.8335 10.4602 10.8335 9.99998V6.66665C10.8335 6.20641 10.4604 5.83331 10.0002 5.83331ZM10.0002 12.5C9.53992 12.5 9.16683 12.8731 9.16683 13.3333C9.16683 13.7935 9.53992 14.1666 10.0002 14.1666C10.4604 14.1666 10.8335 13.7935 10.8335 13.3333C10.8335 12.8731 10.4604 12.5 10.0002 12.5Z' fill='%23B42318'/%3e%3c/svg%3e\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport Icon from \"./Icon\";\nimport Button from \"../Button\";\nimport FileCard from \"./FileCard\";\nimport { generateUniqueId } from \"../../lib/helpers\";\nimport { FilesListItem } from \"./FileUpload\";\n\nexport interface DGA_FileUploadProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onDrop\" | \"title\"\n > {\n title?: React.ReactNode;\n helperText?: React.ReactNode;\n uploadText?: React.ReactNode;\n onDrop: (fileList: FilesListItem[]) => void;\n filesList?: FilesListItem[];\n onFileListItemDeleted?: (file: FilesListItem) => void;\n submitButton?: React.ReactElement<typeof Button>;\n}\n\nconst DropZone: React.FC<DGA_FileUploadProps> = ({\n title,\n helperText,\n uploadText,\n onDrop,\n filesList,\n onFileListItemDeleted,\n submitButton,\n ...porps\n}) => {\n const theme = useTheme();\n const [isDraggingOver, setIsDraggingOver] = React.useState(false);\n const ref = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onDrophandler = (fileList?: FileList) => {\n if (fileList) {\n const result: FilesListItem[] = [];\n for (const file of fileList) {\n result.push({\n id: generateUniqueId(),\n file,\n });\n }\n onDrop(result);\n }\n };\n\n React.useEffect(() => {\n if (ref.current) {\n const dragOverhandler = (e: DragEvent) => {\n e.preventDefault();\n setIsDraggingOver(true);\n };\n const dragLeavhandler = () => {\n setIsDraggingOver(false);\n };\n const dropHandler = (e: DragEvent) => {\n e.preventDefault();\n setIsDraggingOver(false);\n onDrophandler(e.dataTransfer?.files);\n };\n\n ref.current.addEventListener(\"dragover\", dragOverhandler);\n ref.current.addEventListener(\"dragleave\", dragLeavhandler);\n ref.current.addEventListener(\"drop\", dropHandler);\n\n return () => {\n ref.current?.removeEventListener(\"dragover\", dragOverhandler);\n ref.current?.removeEventListener(\"dragend\", dragLeavhandler);\n ref.current?.removeEventListener(\"drop\", dropHandler);\n };\n }\n }, [ref]);\n\n return (\n <div className={\"dgaui dgaui_fileUploadDropZone\"}>\n <StyledComponent\n $theme={theme}\n ref={ref}\n className={isDraggingOver ? \"hovered\" : \"\"}\n onClick={() => inputRef.current?.click()}\n >\n <Icon />\n <span className=\"title\">\n {title ?? \"Drag and drop files here to upload\"}\n </span>\n <span className=\"helperText\">{helperText}</span>\n {submitButton && submitButton}\n {!submitButton && (\n <Button color=\"neutral\" style=\"neutral\" disabled={porps.disabled}>\n {uploadText ?? \"Browse Files\"}\n </Button>\n )}\n <input\n ref={inputRef}\n onChange={(e) => onDrophandler(e.target.files || undefined)}\n type=\"file\"\n {...porps}\n multiple={porps.multiple ? porps.multiple : true}\n />\n </StyledComponent>\n\n {filesList?.map((el) => (\n <FileCard\n theme={theme}\n key={el.id}\n status={el.status}\n filename={el.file?.name}\n helperText={el.helperText}\n onDelete={() => onFileListItemDeleted && onFileListItemDeleted(el)}\n />\n ))}\n </div>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(props) => props.$theme.direction};\n height: 220px;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n padding: 24px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n /* https://kovart.github.io/dashed-border-generator */\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' rx='4' ry='4' stroke='rgb(210,214,219)' stroke-width='2' stroke-dasharray='10%2c 8' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\");\n border-radius: 4px;\n cursor: pointer;\n box-sizing: border-box;\n\n input {\n flex: 0;\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .elementsImage {\n width: 24px;\n }\n .title {\n font-size: 16px;\n font-weight: 500;\n }\n .helperText {\n font-size: 12px;\n text-align: center;\n line-height: 20px;\n }\n .uploadText {\n color: ${(p) => p.$theme.palette.neutral[800]};\n }\n\n &:hover,\n &.hovered {\n background-color: ${(props) => props.$theme.palette.success[25]};\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' rx='4' ry='4' stroke='rgb(6,118,71)' stroke-width='2' stroke-dasharray='10%2c 8' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\");\n color: ${(p) => p.$theme.palette.success[700]};\n\n .elementsIcon path {\n fill: ${(p) => p.$theme.palette.success[700]};\n }\n }\n\n &:has(input:disabled) {\n pointer-events: none;\n color: ${(p) => p.$theme.palette.neutral[400]};\n .elementsIcon path {\n fill: ${(p) => p.$theme.palette.neutral[400]};\n }\n }\n`;\n\nexport default DropZone;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADMSURBVHgB7ZJBDoIwEEU7VfccwSt4A69giCslLAyu5QTgCeheQxOpK1OJJ8AjeB+lY6sxJg2I0SW8pJt25s1PM4R0tBDOc+efOmpflH0Vp0IWpAEcYLHNJGsU9m6UIcKQizypk/F9HiES56pr7TeoathkhzGFnk6J4WLuMlumEOMSYLScTS6NCQ2BNz0rhaGel6Ti6L/uU3HyjUzpQVWy2oTvpDKmAJFJSoGiljF91oHnxnU9H4UP6U6unlJCFGiZ9QU/YVbk23XqaAN3EK5V48n9BCMAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport arrowDownIcon from \"../../assets/images/chevron.png\";\nimport arrowDownIconGray from \"../../assets/images/chevronGray.png\";\nimport DropdownItem, { DGA_DropdownItemProps } from \"./DropdownItem\";\n\nexport const sizes = {\n medium: { w: 320, h: 32, p: 16, f: 14 },\n large: { w: 320, h: 40, p: 16, f: 16 },\n};\n\ntype State =\n | \"default\"\n | \"hovered\"\n | \"pressed\"\n | \"focused\"\n | \"read-only\"\n | \"disabled\";\ntype Style = \"default\" | \"filled\" | \"filled-darker\" | \"filled-lighter\";\n\ninterface DGA_DropdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\" | \"style\"> {\n label?: React.ReactNode;\n className?: string;\n name?: string;\n placeholder?: string;\n size?: \"large\" | \"medium\";\n state?: State;\n error?: boolean;\n filled?: boolean;\n style?: Style;\n dropdownStyle?: React.CSSProperties;\n value?: any;\n valueDisplay?: any;\n onChange?: (e: React.SyntheticEvent, value: any) => void;\n onOpen?: Function;\n multiple?: boolean;\n children: (React.ReactElement<typeof DropdownItem> | null | false)[];\n}\n\nconst Dropdown: React.FC<DGA_DropdownProps> = (props) => {\n const theme = useTheme();\n\n const {\n state,\n error,\n filled,\n style: styleVariant,\n onChange,\n children,\n onOpen,\n className,\n dropdownStyle,\n label,\n placeholder,\n value,\n valueDisplay,\n multiple,\n name,\n size,\n ...otherProps\n } = props;\n const [selectedOptionText, setSelectedOptionText] = React.useState(\"\");\n const [open, setOpen] = React.useState(false);\n const [itemsPosition, setItemsPosition] = React.useState({\n top: 0,\n left: 0,\n width: 0,\n });\n const ref = React.useRef<HTMLDivElement>(null);\n\n const sizeResult: \"large\" | \"medium\" = size ?? \"large\";\n\n // Default styling\n let fontColor = theme.textColor;\n let placeholderFontColor = theme.palette.neutral[500];\n let border = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[400]\n }`;\n let borderHovered = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let borderFocused = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n\n // Apply style styling\n if (styleVariant === \"filled\") {\n backgroundColor = theme.palette.neutral[50];\n border = `1px solid ${theme.palette.neutral[300]}`;\n }\n if (styleVariant === \"filled-darker\") {\n backgroundColor = theme.palette.neutral[100];\n border = `1px solid ${theme.palette.neutral[400]}`;\n }\n if (styleVariant === \"filled-lighter\") {\n backgroundColor = theme.palette.neutral[25];\n border = `1px solid ${theme.palette.neutral[200]}`;\n }\n\n // Apply filled styling\n if (filled) {\n backgroundColor = theme.palette.neutral[50];\n border = `1px solid ${theme.palette.neutral[300]}`;\n }\n\n // Apply state styling\n if (state === \"disabled\") {\n fontColor = theme.palette.neutral[400];\n border = `1px solid ${theme.palette.neutral[200]}`;\n borderHovered = `1px solid ${theme.palette.neutral[200]}`;\n borderFocused = `1px solid ${theme.palette.neutral[200]}`;\n backgroundColor = theme.palette.neutral[50];\n }\n if (state === \"read-only\") {\n backgroundColor = theme.palette.neutral[25];\n border = `1px solid ${theme.palette.neutral[300]}`;\n borderHovered = `1px solid ${theme.palette.neutral[300]}`;\n borderFocused = `1px solid ${theme.palette.neutral[300]}`;\n }\n if (state === \"hovered\") {\n border = borderHovered;\n }\n if (state === \"focused\") {\n border = borderFocused;\n shadowFocus = theme.elevation.shadows.md;\n }\n if (state === \"pressed\") {\n backgroundColor = theme.palette.neutral[100];\n border = borderFocused;\n }\n\n // Error state overrides\n if (error) {\n border = `1px solid ${theme.palette.error[700]}`;\n borderHovered = `1px solid ${theme.palette.error[700]}`;\n borderFocused = `1px solid ${theme.palette.error[700]}`;\n animationColor = theme.palette.error[700];\n }\n\n const calcPosition = () => {\n if (ref.current) {\n setItemsPosition({\n top: ref.current.offsetTop + ref.current.clientHeight,\n left: ref.current.offsetLeft,\n width: ref.current.clientWidth,\n });\n }\n };\n\n const onChangeHandler = (e: React.SyntheticEvent, newValue: any) => {\n if (!multiple) {\n onChange?.(e, newValue);\n }\n\n if (multiple) {\n let newValues = [];\n if (value && Array.isArray(value) && value.includes(newValue)) {\n newValues = value.filter((v: any) => v !== newValue);\n } else {\n newValues = [...(value || []), newValue];\n }\n onChange?.(e, newValues);\n }\n };\n\n const newChildren = React.Children.map(children, (child) => {\n if (child) {\n return React.cloneElement(child, {\n ...child.props,\n onClick: onChangeHandler,\n selected:\n (child.props as unknown as DGA_DropdownItemProps)?.selected ||\n value === (child.props as unknown as DGA_DropdownItemProps)?.value ||\n (Array.isArray(value) &&\n value.includes(\n (child.props as unknown as DGA_DropdownItemProps).value\n )),\n multiple,\n } as DGA_DropdownItemProps as any);\n }\n });\n\n React.useEffect(() => {\n let newSelectedOptionText = \"\";\n\n if (multiple) {\n newChildren?.map((comp) => {\n if ((comp.props as any as DGA_DropdownItemProps).selected) {\n newSelectedOptionText = newSelectedOptionText.concat(\n ((comp.props as any as DGA_DropdownItemProps).children as string) +\n \", \"\n );\n }\n });\n // Remove the last comma and space\n newSelectedOptionText = newSelectedOptionText.slice(\n 0,\n newSelectedOptionText.length - 2\n );\n } else {\n newChildren?.map((comp) => {\n if ((comp.props as any as DGA_DropdownItemProps).selected) {\n newSelectedOptionText = (comp.props as any as DGA_DropdownItemProps)\n .children as string;\n }\n });\n }\n\n setSelectedOptionText(newSelectedOptionText);\n }, [newChildren, value]);\n\n // popover\n React.useEffect(() => {\n if (ref.current) {\n const resizeHandler = () => {\n if (ref.current) {\n calcPosition();\n }\n };\n\n const clickHandler = (e: MouseEvent) => {\n // Clicked outside\n if (!ref.current?.contains(e.target as any)) {\n // Close dropdown if clicked outside Only if not multiple\n // If multiple, close only if clicked outside the dropdown items\n if (\n !multiple ||\n (multiple &&\n e.target &&\n (e.target as any).classList &&\n !(e.target as any).classList.contains(\"dgaui_dropdownItem\"))\n ) {\n setOpen(false);\n }\n }\n };\n\n window.addEventListener(\"resize\", resizeHandler);\n window.addEventListener(\"click\", clickHandler);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler);\n };\n }\n }, [ref]);\n\n // popover positioner\n React.useEffect(() => {\n if (open) {\n calcPosition();\n }\n if (open && onOpen) {\n onOpen();\n }\n }, [open, onOpen]);\n\n return (\n <StyledComponent\n style={dropdownStyle}\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_dropdown\", className)}\n {...otherProps}\n >\n {label && (\n <label\n className={\n state === \"disabled\"\n ? \"disabled\"\n : state === \"read-only\"\n ? \"readonly\"\n : undefined\n }\n >\n {label}\n </label>\n )}\n <StyledDiv\n ref={ref}\n onClick={() => {\n if (state !== \"disabled\" && state !== \"read-only\") {\n setOpen((prevState) => !prevState);\n }\n }}\n className={\n \"dgaui_dropdownContainer \" +\n (state === \"disabled\" ? \"disabled\" : \"\") +\n (state === \"read-only\" ? \" readonly\" : \"\")\n }\n $customStyle={{\n theme,\n direction: theme.direction,\n minWidth: sizes[sizeResult].w,\n height: sizes[sizeResult].h,\n padding: sizes[sizeResult].p,\n fontSize: sizes[sizeResult].f,\n placeholderFontColor,\n fontColor,\n border,\n borderHovered,\n borderFocused,\n backgroundColor,\n shadowFocus,\n }}\n >\n {placeholder && !valueDisplay && !selectedOptionText && (\n <div className=\"placeholder\">{placeholder}</div>\n )}\n <div className=\"valueDisplay\">{valueDisplay || selectedOptionText}</div>\n </StyledDiv>\n\n <div\n className={\"dgaui_dropdownItems\" + (open ? \" slide-bottom\" : \"\")}\n style={{ ...itemsPosition }}\n >\n {newChildren}\n </div>\n\n <StyledComponentSpan\n $bgColor={animationColor}\n className={\"dgaui_dropdownSeparator\" + (open ? \" open\" : \"\")}\n />\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n flex-direction: column;\n color: ${(p) => p.$theme.textColor};\n width: 100%;\n cursor: pointer;\n\n label {\n text-align: start;\n margin-bottom: 8px;\n &.disabled {\n color: #9da4ae;\n }\n &.readonly {\n color: ${(p) => p.$theme.palette.neutral[600]};\n }\n }\n\n .dgaui_dropdownItems {\n position: absolute;\n top: 35px;\n left: 0;\n z-index: 1400;\n background-color: #fff;\n width: 100%;\n opacity: 0;\n max-height: 300px;\n overflow-y: scroll;\n pointer-events: none;\n border: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-radius: 4px;\n padding: 8px;\n box-sizing: border-box;\n ${(p) => p.$theme.elevation.shadows.xl}\n cursor: pointer;\n\n &.slide-bottom {\n animation: slide-bottom 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n pointer-events: all;\n }\n @keyframes slide-bottom {\n 0% {\n transform: translateZ(0) translateY(0);\n opacity: 0;\n }\n 100% {\n transform: translateZ(160px) translateY(8px);\n opacity: 1;\n }\n }\n }\n\n &:has(.dgaui_dropdownSeparator.open) {\n .dgaui_dropdownContainer:before {\n top: 20%;\n transform: rotateZ(180deg);\n }\n }\n &:has(.dgaui_dropdownContainer:active) {\n .dgaui_dropdownSeparator {\n transform: scaleX(0.5) translateY(-2.5px);\n }\n }\n &:has(.dgaui_dropdownContainer:disabled) {\n .dgaui_dropdownSeparator {\n opacity: 0;\n }\n }\n\n .dgaui_checkboxContainer {\n pointer-events: none;\n }\n`;\n\nconst StyledDiv = styled.div<{\n $customStyle: {\n theme: Theme;\n direction: string;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: string;\n border: string;\n shadowFocus: string;\n placeholderFontColor: string;\n borderHovered: string;\n borderFocused: string;\n backgroundColor: string;\n };\n}>`\n box-sizing: border-box;\n outline: none;\n direction: ${(props) => props.$customStyle.direction};\n border-radius: 4px;\n width: 100%;\n height: ${(props) => props.$customStyle.height}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n border: ${(props) => props.$customStyle.border};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n padding: 0 ${(props) => props.$customStyle.padding}px;\n position: relative;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n &:-ms-expand {\n display: none; /* Hide the default arrow in Internet Explorer 10 and Internet Explorer 11 */\n }\n\n input {\n opacity: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .valueDisplay {\n height: 100%;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n width: 80%;\n text-overflow: ellipsis;\n\n /* vertical middle align */\n line-height: ${(props) => props.$customStyle.height}px;\n }\n\n .placeholder {\n height: 100%;\n width: 100%;\n display: flex;\n align-items: center;\n color: ${(p) => p.$customStyle.theme.palette.neutral[400]};\n font-size: 16px;\n }\n\n &:before {\n content: url(${arrowDownIcon});\n display: block;\n top: 30%;\n inset-inline-end: 8px;\n position: absolute;\n transition: all 0.1s;\n width: 20px;\n height: 20px;\n }\n\n &:focus-within {\n ${(props) => props.$customStyle.shadowFocus};\n border: ${(props) => props.$customStyle.borderFocused};\n }\n\n &:hover {\n border: ${(props) => props.$customStyle.borderHovered};\n }\n &.disabled {\n pointer-events: none;\n &:before {\n content: url(${arrowDownIconGray});\n }\n }\n &.readonly {\n pointer-events: none;\n &:before {\n content: url(${arrowDownIconGray});\n }\n }\n`;\n\nconst StyledComponentSpan = styled.span<{ $bgColor: string }>`\n height: 2px;\n background: ${(props) => props.$bgColor};\n display: block;\n transform: scaleX(0) translateY(-2.5px);\n transform-origin: 50%;\n transition: all 0.2s;\n border-bottom-left-radius: 50px;\n border-bottom-right-radius: 50px;\n z-index: 1;\n\n &.open {\n transform: scaleX(0.995) translateY(-2.5px);\n }\n`;\n\nexport default Dropdown;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport Button from \"../Button\";\nimport FileCard, { FileCardStatus } from \"./FileCard\";\nimport { generateUniqueId } from \"../../lib/helpers\";\n\nexport type FilesListItem = {\n file: File;\n id: string;\n status?: FileCardStatus;\n helperText?: React.ReactNode;\n};\n\nexport interface DGA_FileUploadProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onDrop\" | \"title\"\n > {\n title?: React.ReactNode;\n helperText?: React.ReactNode;\n uploadText?: React.ReactNode;\n onDrop: (fileList: FilesListItem[]) => void;\n filesList?: FilesListItem[];\n onFileListItemDeleted?: (file: FilesListItem) => void;\n submitButton?: React.ReactElement<typeof Button>;\n}\n\nconst FileUpload: React.FC<DGA_FileUploadProps> = ({\n title,\n helperText,\n uploadText,\n onDrop,\n filesList,\n onFileListItemDeleted,\n submitButton,\n ...porps\n}) => {\n const theme = useTheme();\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onDrophandler = (fileList?: FileList) => {\n if (fileList) {\n const result: FilesListItem[] = [];\n for (const file of fileList) {\n result.push({\n id: generateUniqueId(),\n file,\n });\n }\n onDrop(result);\n }\n };\n\n return (\n <div className={\"dgaui dgaui_fileUploadSingle\"}>\n <StyledComponent $theme={theme} onClick={() => inputRef.current?.click()}>\n <span className=\"title\">{title}</span>\n <span className=\"helperText\">{helperText}</span>\n {submitButton && submitButton}\n {!submitButton && (\n <Button\n color=\"neutral\"\n style=\"neutral\"\n disabled={porps.disabled}\n type=\"button\"\n >\n {uploadText}\n </Button>\n )}\n <input\n ref={inputRef}\n onChange={(e) => onDrophandler(e.target.files || undefined)}\n type=\"file\"\n {...porps}\n multiple={porps.multiple ? porps.multiple : false}\n />\n </StyledComponent>\n\n {filesList?.map((el) => (\n <FileCard\n theme={theme}\n key={el.id}\n status={el.status}\n filename={el.file.name}\n helperText={el.helperText}\n onDelete={() => onFileListItemDeleted && onFileListItemDeleted(el)}\n />\n ))}\n </div>\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n direction: ${(props) => props.$theme.direction};\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n input {\n flex: 0;\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .title {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 16px;\n }\n .helperText {\n font-size: 12px;\n text-align: center;\n line-height: 20px;\n margin-bottom: 16px;\n color: #64748b;\n }\n\n &:has(input:disabled) {\n pointer-events: none;\n color: ${(p) => p.$theme.palette.neutral[400]};\n }\n`;\n\nexport default FileUpload;\n","import React from \"react\";\n\nconst useScreenSizes = (mobileThreshold = 768, tabletThreshold = 1024) => {\n const [result, setResult] = React.useState({\n isMobile: false,\n isTablet: false,\n isDesktop: true,\n });\n\n React.useEffect(() => {\n const resizeHandler = () =>\n setResult({\n isMobile: window.innerWidth <= mobileThreshold,\n isTablet:\n window.innerWidth > mobileThreshold &&\n window.innerWidth <= tabletThreshold,\n isDesktop: window.innerWidth > tabletThreshold,\n });\n resizeHandler();\n\n window.addEventListener(\"resize\", resizeHandler);\n return () => window.removeEventListener(\"resize\", resizeHandler);\n }, []);\n\n return result;\n};\n\nexport default useScreenSizes;\n","import React, { HTMLAttributes } from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\nimport useTheme from \"../../lib/useTheme\";\n\ninterface DGA_GridProps extends HTMLAttributes<HTMLDivElement> {\n container?: boolean;\n sm?: number;\n md?: number;\n lg?: number;\n rowSpacing?: number;\n columnSpacing?: number;\n children: React.ReactNode;\n}\n\nconst Grid: React.FC<DGA_GridProps> = ({\n container,\n sm,\n md,\n lg,\n rowSpacing = 0,\n columnSpacing = 0,\n children,\n ...props\n}) => {\n const theme = useTheme();\n const { isMobile, isTablet, isDesktop } = useScreenSizes();\n\n const getColumnSpan = () => {\n let result = 12; // Default to full width\n if (isMobile && sm) {\n result = sm;\n }\n if (isTablet) {\n result = md || sm!;\n }\n\n if (isDesktop) {\n result = lg || md || sm!;\n }\n return result;\n };\n\n if (container) {\n const newChildren = addSpacingPropsToChidren(\n children,\n columnSpacing,\n rowSpacing\n );\n\n return (\n <StyledComponentContainer\n {...props}\n $theme={theme}\n $rowSpacing={rowSpacing}\n $columnSpacing={columnSpacing}\n className={mergeStrings(\"dgaui dgaui_gridContainer\", props.className)}\n >\n {newChildren}\n </StyledComponentContainer>\n );\n }\n\n return (\n <StyledComponentItem\n {...props}\n $theme={theme}\n $columnSpan={getColumnSpan()}\n $columnSpacing={columnSpacing}\n className={mergeStrings(\"dgaui dgaui_gridItem\", props.className)}\n >\n {children}\n </StyledComponentItem>\n );\n};\n\nconst StyledComponentContainer = styled.div<{\n $theme: Theme;\n $columnSpacing: number;\n $rowSpacing: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n gap: ${(p) => p.$rowSpacing}px ${(p) => p.$columnSpacing}px;\n`;\n\nconst StyledComponentItem = styled.div<{\n $theme: Theme;\n $columnSpan: number;\n $columnSpacing: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n grid-column: span ${(p) => p.$columnSpan};\n`;\n\nexport default Grid;\n\n// a function that take children and return new children with columnSpacing and rowSpacing props, and if a child is a fragment, it should recursivly call itself on the children of the fragment\nconst addSpacingPropsToChidren = (\n children: React.ReactNode,\n columnSpacing: number,\n rowSpacing: number\n): React.ReactNode => {\n const newChildren = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n return addSpacingPropsToChidren(\n child.props.children,\n columnSpacing,\n rowSpacing\n );\n } else {\n return React.cloneElement(child, { columnSpacing, rowSpacing } as any);\n }\n }\n\n return child;\n });\n\n return newChildren;\n};\n","import neutralIcon from \"../../assets/images/circle_neutral.png\";\nimport successIcon from \"../../assets/images/circle_success.png\";\nimport infoIcon from \"../../assets/images/circle_info.png\";\nimport warningIcon from \"../../assets/images/circle_warning.png\";\nimport errorIcon from \"../../assets/images/circle_error.png\";\n\nexport type InlineAlertColor = {\n icon: string;\n vLine: string;\n font: string;\n bg: string;\n border: string;\n};\n\nconst result = (them: Theme): { [k in ThemeColorName & \"destructive\"]: InlineAlertColor } => ({\n neutral: {\n icon: neutralIcon,\n vLine: them.palette.neutral[200],\n border: them.palette.neutral[200],\n font: them.palette.neutral[800],\n bg: them.palette.neutral[25],\n },\n destructive: {\n icon: errorIcon,\n vLine: them.palette.error[600],\n border: them.palette.error[200],\n font: them.palette.error[700],\n bg: them.palette.error[25],\n },\n warning: {\n icon: warningIcon,\n vLine: them.palette.warning[600],\n border: them.palette.warning[200],\n font: them.palette.warning[700],\n bg: them.palette.warning[25],\n },\n success: {\n icon: successIcon,\n vLine: them.palette.success[600],\n border: them.palette.success[200],\n font: them.palette.success[700],\n bg: them.palette.success[25],\n },\n info: {\n icon: infoIcon,\n vLine: them.palette.info[600],\n border: them.palette.neutral[200],\n font: them.palette.info[700],\n bg: them.palette.info[25],\n },\n});\n\nexport default result;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\n// assets\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport colors, { InlineAlertColor } from \"./colors\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\n\nexport type InlineAlertType = ThemeColorName & \"destructive\";\nexport interface DGA_InlineAlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n leadText: React.ReactNode;\n helpText?: React.ReactNode;\n type?: InlineAlertType;\n closeButton?: boolean;\n actions?: React.ReactNode;\n onClose?: Function;\n background?: \"white\" | \"color\";\n}\n\nconst InlineAlert: React.FC<DGA_InlineAlertProps> = ({\n leadText,\n helpText,\n type = \"neutral\",\n actions,\n closeButton,\n onClose,\n background,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const colorsResult: InlineAlertColor = colors(theme)[type as InlineAlertType];\n const isColored = background === \"color\";\n const isMinimal = !helpText && !actions;\n\n return (\n <StyledComponent\n $theme={theme}\n $colors={colorsResult}\n $isColored={isColored}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_inlineAlert \" +\n (screenSizes.isMobile ? \" mobile \" : \"\") +\n (isMinimal ? \" minimal \" : \"\"),\n props.className\n )}\n >\n <div className=\"icon\" />\n <div className=\"content\">\n <div className=\"leadText\">{leadText}</div>\n {helpText && <div className=\"helpText\">{helpText}</div>}\n {actions && <div className=\"actions\">{actions}</div>}\n </div>\n {closeButton && <div className=\"close\" onClick={() => onClose?.()} />}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $colors: InlineAlertColor;\n $isColored: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n display: flex;\n position: relative;\n padding: 16px 24px;\n background-color: ${({ $colors, $isColored }) => ($isColored ? $colors.bg : \"#fff\")};\n border-radius: 8px;\n border: 1px solid\n ${({ $colors, $isColored, $theme }) => ($isColored ? $colors.border : $theme.palette.neutral[300])};\n\n box-sizing: border-box;\n overflow: hidden;\n\n &::before {\n content: \"\";\n display: block;\n width: 8px;\n height: 100%;\n position: absolute;\n inset-inline-start: 0;\n top: 0;\n background-color: ${(p) => p.$colors.vLine};\n }\n\n .icon {\n min-width: 40px;\n height: 40px;\n background-image: url(${(p) => p.$colors.icon});\n background-repeat: no-repeat;\n background-size: contain;\n margin-inline-end: 12px;\n }\n .content {\n width: 100%;\n\n .leadText {\n font-size: 16px;\n font-weight: 600;\n min-height: 40px;\n display: flex;\n align-items: center;\n color: ${({ $colors, $isColored, $theme }) =>\n $isColored ? $colors.font : $theme.palette.neutral[800]};\n }\n .helpText {\n font-size: 14px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n margin-top: 8px;\n }\n .actions {\n margin-top: 16px;\n\n button {\n margin-inline-end: 8px;\n }\n }\n }\n .close {\n margin-inline-start: 12px;\n cursor: pointer;\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n min-width: 20px;\n height: 20px;\n margin-top: 10px;\n &:hover {\n transform: scale(1.1);\n }\n }\n\n &.mobile {\n flex-direction: column;\n\n &::before {\n width: 100%;\n height: 8px;\n position: absolute;\n top: 0;\n }\n .icon {\n margin-bottom: 16px;\n }\n .content {\n .title {\n margin-inline-end: 16px;\n }\n .actionButtons {\n display: flex;\n flex-direction: column;\n\n button {\n margin-inline-end: 0;\n margin-bottom: 8px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n .close {\n margin-inline-start: 0;\n position: absolute;\n inset-inline-end: 16px;\n top: 16px;\n }\n }\n\n &.minimal {\n padding: 16px 24px;\n\n &.mobile {\n padding-top: 14px;\n flex-direction: row;\n align-items: center;\n\n .icon {\n margin-bottom: 0;\n }\n .close {\n position: initial;\n margin-top: 0;\n margin-inline-start: 16px;\n }\n }\n }\n`;\n\nexport default InlineAlert;\n","import React from \"react\";\nimport colors, { LinkColor } from \"./colors\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ninterface DGA_LinkProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"style\"> {\n size?: \"medium\" | \"small\";\n style?: \"primary\" | \"neutral\" | \"on-color\";\n inline?: boolean;\n disabled?: boolean;\n children: React.ReactNode;\n}\n\nexport const sizes = {\n medium: { f: 16, lh: 24 },\n small: { f: 14, lh: 20 },\n};\n\nconst Link: React.FC<DGA_LinkProps> = ({\n children,\n style = \"primary\",\n size = \"medium\",\n inline,\n disabled,\n ...props\n}) => {\n const theme = useTheme();\n const focusBorderColor = style === \"on-color\" ? \"#FFF\" : theme.textColor;\n const selectedColors = colors(theme)[style];\n\n return (\n <StyledComponent\n $theme={theme}\n $fontSize={sizes[size].f}\n $lineHeight={sizes[size].lh}\n $focusBorderColor={focusBorderColor}\n $style={selectedColors}\n $inline={inline}\n $disabled={disabled}\n {...props}\n href={!disabled ? props.href : \"\"}\n className={mergeStrings(\"dgaui dgaui_link\", props.className)}\n >\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.a<{\n $theme: Theme;\n $fontSize: number;\n $lineHeight: number;\n $focusBorderColor: string;\n $inline?: boolean;\n $disabled?: boolean;\n $style: LinkColor;\n}>`\n font-size: ${(p) => p.$fontSize}px;\n line-height: ${(p) => p.$lineHeight}px;\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.default)};\n text-decoration: ${(p) => (p.$inline ? \"underline\" : \"none\")};\n text-underline-offset: 2px;\n transition: color 0.2s;\n cursor: ${(p) => (p.$disabled ? \"default\" : \"pointer\")};\n ${(p) => (p.$disabled ? \"pointer-events: none;\" : \"\")}\n outline: none;\n box-sizing: border-box;\n\n &:visited {\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.visited)};\n }\n &:focus {\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.default)};\n border: 2px solid\n ${(p) => (p.$disabled ? \"transparent\" : p.$theme.textColor)};\n }\n &:active {\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.active)};\n }\n &:hover {\n color: ${(p) => (p.$disabled ? p.$style.disabled : p.$style.hovered)};\n }\n`;\n\nexport default Link;\n","import React from \"react\";\nimport colors, { ListColor } from \"./colors\";\nimport styled, { css } from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ninterface DGA_LinkProps extends Omit<React.OlHTMLAttributes<HTMLOListElement>, \"style\" | \"type\"> {\n style?: \"primary\" | \"neutral\" | \"on-color\";\n type?: \"ordered-list\" | \"unordered-list\" | \"with-icon\";\n level?: 1 | 2 | \"1\" | \"2\";\n iconUrl?: string;\n children: React.ReactNode;\n}\n\nconst List: React.FC<DGA_LinkProps> = ({\n children,\n style = \"primary\",\n type = \"ordered-list\",\n level = 1,\n iconUrl = \"\",\n ...props\n}) => {\n const theme = useTheme();\n const selectedColors = colors(theme)[style];\n\n const Result = type === \"ordered-list\" ? StyledOlComponent : StyledUlComponent;\n\n return (\n <Result\n $theme={theme}\n $colors={selectedColors}\n $listStyleType={getListStyleType(type, level)}\n {...props}\n className={mergeStrings(\"dgaui dgaui_list\", props.className)}\n type={type === \"ordered-list\" && +level === 1 ? \"1\" : \"a\"}\n $iconUrl={iconUrl}\n $level={+level}\n $ol={type === \"ordered-list\"}\n >\n {children}\n </Result>\n );\n};\n\nconst StyledUlComponent = styled.ul<{\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n}>`\n ${(p) => getCss(p)};\n`;\n\nconst StyledOlComponent = styled.ol<{\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n $ol: boolean;\n}>`\n ${(p) => getCss(p)};\n`;\n\nexport default List;\n\nconst getCss = (p: {\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n $ol?: boolean;\n}) => {\n return css`\n direction: ${p.$theme.direction};\n color: ${p.$colors.text};\n font-size: 16px;\n padding-inline-start: ${p.$level === 1 ? 0 : \"\"};\n\n ${p.$listStyleType ? \"list-style-type: \" + p.$listStyleType : \"\"};\n\n ${p.$listStyleType === \"decimal\" && p.$level === 1 && p.$ol\n ? css`\n list-style-type: none; /* Remove default numbering */\n counter-reset: item; /* Initialize the counter */\n\n li {\n display: flex;\n align-items: center;\n position: relative;\n\n &::before {\n content: counter(item) \"- \";\n counter-increment: item;\n\n height: 16px;\n width: 16px;\n position: absolute;\n top: 0;\n inset-inline-start: -24px;\n }\n &::marker {\n content: \"\";\n }\n }\n `\n : \"\"};\n\n ${p.$listStyleType === \"with-icon\" && p.$iconUrl\n ? css`\n li {\n display: flex;\n align-items: center;\n position: relative;\n\n &::before {\n content: url(${p.$iconUrl});\n height: 16px;\n width: 16px;\n position: absolute;\n top: 2px;\n inset-inline-start: -24px;\n }\n &::marker {\n content: \"\";\n }\n }\n `\n : \"\"};\n `;\n};\n\nconst getListStyleType = (\n type: \"ordered-list\" | \"unordered-list\" | \"with-icon\",\n anyLevel: string | number\n) => {\n const level = +anyLevel;\n\n switch (type) {\n case \"ordered-list\": {\n if (level === 1) {\n return \"decimal\";\n }\n if (level === 2) {\n return \"\";\n }\n return \"\";\n }\n case \"unordered-list\": {\n if (level === 1) {\n return `\"- \"`;\n }\n if (level === 2) {\n return \"disc\";\n }\n return \"\";\n }\n default: {\n return \"with-icon\";\n }\n }\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport getLoadingColors from \"./colors\";\nimport { COLORS } from \"../../lib/constants\";\n\ntype DGA_LoadingSize =\n | \"xxSmall\"\n | \"xSmall\"\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xLarge\"\n | \"xxLarge\";\n\nexport const sizes: { [k in DGA_LoadingSize]: { wh: number; b: number } } = {\n xxSmall: { wh: 20, b: 2 },\n xSmall: { wh: 24, b: 2 },\n small: { wh: 28, b: 2 },\n medium: { wh: 32, b: 3 },\n large: { wh: 36, b: 3 },\n xLarge: { wh: 40, b: 3 },\n xxLarge: { wh: 44, b: 4 },\n};\n\ninterface FGA_LoadingProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n style?: \"primary\" | \"neutral\" | \"on-color\";\n size?: DGA_LoadingSize;\n className?: string;\n loadingStyle?: React.CSSProperties;\n}\n\nconst Loading: React.FC<FGA_LoadingProps> = ({\n style = \"primary\",\n size = \"medium\",\n className,\n loadingStyle,\n ...props\n}) => {\n const theme = useTheme();\n\n const loadingColors = getLoadingColors(theme);\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $customStyle={{\n color: loadingColors[style],\n size: sizes[size],\n }}\n $style={style}\n className={mergeStrings(\"dgaui dgaui_loading\", className)}\n />\n );\n};\n\nexport default Loading;\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $customStyle: {\n color: string;\n size: { wh: number; b: number };\n };\n $style: \"primary\" | \"neutral\" | \"on-color\";\n}>`\n width: ${(p) => p.$customStyle.size.wh}px;\n height: ${(p) => p.$customStyle.size.wh}px;\n border: ${(p) => p.$customStyle.size.b}px solid\n ${(p) =>\n p.$style === \"on-color\" ? COLORS.white30 : p.$theme.palette.neutral[100]};\n border-bottom-color: ${(p) => p.$customStyle.color};\n border-radius: 50%;\n display: inline-block;\n box-sizing: border-box;\n animation: rotation 1s linear infinite;\n\n @keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../../lib/useTheme\";\nimport { mergeStrings } from \"../../../lib/helpers\";\n\ninterface DGA_MenuItemProps extends React.HTMLAttributes<HTMLDivElement> {\n disabled?: boolean;\n icon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst MenuItem: React.FC<DGA_MenuItemProps> = ({\n icon,\n trailIcon,\n children,\n disabled,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_menuItem\" + (disabled ? \" disabled\" : \"\"),\n props.className\n )}\n tabIndex={0}\n >\n <div className=\"itemContent\">\n {icon && <div className=\"icon\">{icon}</div>}\n <div className=\"content\">{children}</div>\n </div>\n {trailIcon && <div className=\"trailIcon\">{trailIcon}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n min-width: 225px;\n height: 40px;\n padding: 8px;\n display: flex;\n align-items: center;\n transition: all 0.2s;\n border-radius: 4px;\n border: 2px solid transparent;\n\n .itemContent {\n flex: 1;\n display: flex;\n align-items: center;\n\n .icon {\n margin-inline-end: 8px;\n display: flex;\n }\n .content {\n flex: 1;\n color: ${(p) => p.$theme.textColor};\n font-size: 16px;\n }\n }\n\n .trailIcon {\n margin-inline-start: 8px;\n }\n\n &:hover {\n background: ${(p) => p.$theme.palette.neutral[100]};\n }\n &:active {\n background: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n }\n &.disabled {\n pointer-events: none;\n filter: grayscale(1);\n .itemContent {\n .content {\n color: ${(p) => p.$theme.palette.neutral[400]};\n }\n }\n }\n`;\n\nexport default MenuItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../../lib/useTheme\";\nimport { mergeStrings } from \"../../../lib/helpers\";\n\ninterface DGA_MenuItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n title: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst MenuItemGroup: React.FC<DGA_MenuItemProps> = ({\n title,\n children,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_menuItemGroup\", props.className)}\n tabIndex={0}\n >\n <div className=\"groupTitle\">{title}</div>\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n border-bottom: 1px solid #cbd5e1;\n padding-bottom: 8px;\n margin-bottom: 8px;\n\n &:last-child {\n border-bottom: none;\n }\n\n .groupTitle {\n font-size: 12px;\n font-weight: 700;\n color: ${(p) => p.$theme.palette.neutral[800]};\n margin-bottom: 12px;\n padding: 8px;\n padding-bottom: 0;\n }\n`;\n\nexport default MenuItemGroup;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\nimport Button from \"../Button\";\n\ninterface DGA_ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: React.ReactNode;\n title?: React.ReactNode;\n body?: React.ReactNode;\n align?: \"start\" | \"center\";\n size?: \"auto\" | 600;\n open: boolean;\n onClose?: Function;\n footerStartButtons?: React.ReactElement<typeof Button>[];\n footerEndButtons?: React.ReactElement<typeof Button>[];\n}\n\nconst Modal: React.FC<DGA_ModalProps> = ({\n icon,\n title,\n body,\n align,\n size = 600,\n open,\n onClose,\n footerStartButtons,\n footerEndButtons,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const ref = React.useRef(null);\n\n if (!open) return null;\n\n return (\n <>\n <Backdrop className={\"dgaui dgaui_modal_backdrop\"} onClick={() => onClose?.()} />\n\n <StyledComponent\n $theme={theme}\n $align={align === \"start\" ? \"flex-start\" : \"center\"}\n $size={size}\n className={mergeStrings(\"dgaui dgaui_modal \" + props.className)}\n >\n <div\n {...props}\n ref={ref}\n className={\"dgaui_modalContent\" + (screenSizes.isMobile ? \" dgaui_modalMobile\" : \"\")}\n >\n <div className=\"dgaui_modalClose\" onClick={() => onClose?.()} />\n\n {(title || icon) && (\n <div className=\"dgaui_modalHeader\">\n {icon && <div className=\"dgaui_modalHeaderIcon\">{icon}</div>}\n {title && <div className=\"dgaui_modalHeaderTitle\">{title}</div>}\n </div>\n )}\n\n {body && <div className=\"dgaui_modalHeaderBody dgaui_hiddenScrollbar\">{body}</div>}\n\n {(!!footerStartButtons || !!footerEndButtons) && (\n <div\n className={\n \"dgaui_modalHeaderFooter \" + (!footerStartButtons && !!footerEndButtons ? \"onlyEnd\" : \"\")\n }\n >\n {footerStartButtons && <div className=\"dgaui_modalHeaderFooterStart\">{footerStartButtons}</div>}\n {footerEndButtons && <div className=\"dgaui_modalHeaderFooterEnd\">{footerEndButtons}</div>}\n </div>\n )}\n </div>\n </StyledComponent>\n </>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $align?: string;\n $size?: \"auto\" | 600;\n}>`\n position: fixed;\n z-index: 2401;\n opacity: 0;\n animation: opacity 0.225s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: center;\n justify-self: center;\n inset: 0;\n\n &.dgaui_modal {\n opacity: 1;\n }\n\n @keyframes opacity {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n }\n\n .dgaui_modalContent {\n height: fit-content;\n direction: ${(p) => p.$theme.direction};\n width: ${(p) => (p.$size === \"auto\" ? p.$size : p.$size + \"px\")};\n padding: 24px;\n background-color: #fff;\n border-radius: 8px;\n ${(p) => p.$theme.elevation.shadows[\"3xl\"]};\n position: relative;\n\n .dgaui_modalClose {\n position: absolute;\n top: 20px;\n inset-inline-end: 20px;\n cursor: pointer;\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n width: 20px;\n height: 20px;\n\n &:hover {\n transform: scale(1.1);\n }\n }\n\n .dgaui_modalHeader {\n display: flex;\n flex-direction: column;\n align-items: ${(p) => p.$align};\n\n .dgaui_modalHeaderIcon {\n height: 40px;\n margin-bottom: 8px;\n }\n .dgaui_modalHeaderTitle {\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n color: ${({ $theme }) => $theme.palette.neutral[800]};\n }\n }\n\n .dgaui_modalHeaderBody {\n padding: 16px 0;\n padding-bottom: 0;\n font-size: 14px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n display: flex;\n flex-direction: column;\n align-items: ${(p) => p.$align};\n text-align: ${(p) => p.$align};\n max-height: calc(100vh - 300px);\n overflow: auto;\n }\n\n .dgaui_modalHeaderFooter {\n padding: 0;\n margin-top: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n &.onlyEnd {\n display: flex;\n justify-content: flex-end;\n }\n\n .dgaui_modalHeaderFooterEnd {\n display: flex;\n justify-content: flex-end;\n }\n\n button {\n margin-inline-end: 8px;\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n }\n\n &.dgaui_modalMobile {\n width: auto;\n margin: 0 16px;\n\n .dgaui_modalHeaderBody {\n max-height: calc(100vh - 400px);\n }\n\n .dgaui_modalHeaderFooter {\n flex-direction: column;\n .dgaui_modalHeaderFooterStart,\n .dgaui_modalHeaderFooterEnd {\n display: inline-flex;\n width: 100%;\n }\n button {\n width: 100%;\n margin-inline-end: 0;\n margin-bottom: 4px;\n }\n }\n }\n }\n`;\n\nconst Backdrop = styled.div`\n position: fixed;\n z-index: 2400;\n background-color: rgba(0, 0, 0, 0.5);\n inset: 0;\n`;\n\nexport default Modal;\n","// assets\nimport info from \"./icons/info.png\";\nimport error from \"./icons/error.png\";\nimport neutral from \"./icons/neutral.png\";\nimport success from \"./icons/success.png\";\nimport warning from \"./icons/warning.png\";\n\nexport type NotificationColor = {\n bg: string;\n text: string;\n border: string;\n icon: string;\n};\n\nconst result = (them: Theme): { [k in 'success' | 'info' | 'neutral' | 'warning' | 'critical']: NotificationColor } => ({\n neutral: {\n bg: them.palette.neutral[50],\n text: them.palette.neutral[700],\n border: them.textColor,\n icon: neutral,\n },\n critical: {\n bg: them.palette.error[50],\n text: them.palette.error[700],\n border: them.palette.error[600],\n icon: error,\n },\n warning: {\n bg: them.palette.warning[50],\n text: them.palette.warning[700],\n border: them.palette.warning[600],\n icon: warning,\n },\n success: {\n bg: them.palette.success[50],\n text: them.palette.success[700],\n border: them.palette.success[600],\n icon: success,\n },\n info: {\n bg: \"#EFF8FF\",\n text: them.palette.info[700],\n border: them.palette.info[600],\n icon: info,\n },\n});\n\nexport default result;\n","import React from 'react';\nimport styled from 'styled-components';\n\n//lib\nimport { mergeStrings } from '../../lib/helpers';\n\n// assets\nimport useTheme from '../../lib/useTheme';\nimport colors, { NotificationColor } from './colors';\nimport buttonCloseIcon from '../../assets/images/x.png';\n\ninterface DGA_NotificationProps {\n\tstyle: 'success' | 'info' | 'neutral' | 'warning' | 'critical';\n\tclassName?: string;\n\ticon?: boolean;\n\tleadText?: string;\n\tlink?: React.ReactNode;\n\tdismissible?: boolean;\n\tbutton?: React.ReactNode;\n\thelpText?: string;\n\tonClose?: Function;\n}\n\nconst Notification: React.FC<DGA_NotificationProps> = ({\n\tstyle = 'neutral',\n\ticon = true,\n\tleadText,\n\tlink,\n\tdismissible = true,\n\tbutton,\n\thelpText,\n\tonClose,\n\t...props\n}) => {\n\tconst theme = useTheme();\n\tconst colorNameResult = style;\n\tconst [show, setShow] = React.useState(true);\n\n\tconst closeClickedHandler = () => {\n\t\tsetShow(false);\n\t\tonClose?.();\n\t};\n\n\tif (!show) return null;\n\n\treturn (\n\t\t<StyledComponent\n\t\t\t$theme={theme}\n\t\t\t$colors={colors(theme)[colorNameResult]}\n\t\t\t{...props}\n\t\t\tclassName={mergeStrings('dgaui dgaui_notification', props.className)}>\n\t\t\t<div className='contentContainer'>\n\t\t\t\t{icon && <div className='icon' />}\n\t\t\t\t<div className='content'>\n\t\t\t\t\t{leadText && <span className='title'>{leadText}</span>}\n\t\t\t\t\t{helpText && <span className='message'>{helpText}</span>}\n\t\t\t\t</div>\n\t\t\t\t<div className='actions'>\n\t\t\t\t\t{link && link}\n\t\t\t\t\t{button && button}\n\t\t\t\t\t{dismissible && (\n\t\t\t\t\t\t<div className='close' onClick={closeClickedHandler} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</StyledComponent>\n\t);\n};\n\nconst StyledComponent = styled.div<{\n\t$theme: Theme;\n\t$colors: NotificationColor;\n}>`\n\tdirection: ${(p) => p.$theme.direction};\n\tpadding: 8px 24px;\n\twidth: 100%;\n\tmin-height: 56px;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tborder-radius: 2px;\n\tborder-bottom: 2px solid ${(p) => p.$colors.border};\n\tbackground-color: ${(p) => p.$colors.bg};\n\t.contentContainer {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tgap: 8px;\n\t\t.icon {\n\t\t\tbackground-image: url(${(p) => p.$colors.icon});\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-size: contain;\n\t\t\tmin-width: 24px;\n\t\t\theight: 24px;\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\t\t.content {\n\t\t\tcolor: ${(p) => p.$colors.text};\n\t\t\tfont-size: 16px;\n\t\t\t.title {\n\t\t\t\tmargin-inline-end: 8px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t.message {\n\t\t\t\tword-wrap: normal;\n\t\t\t}\n\t\t}\n\t}\n\t.actions {\n\t\tdisplay: flex;\n\t\tgap: 8px;\n\t\tflex-wrap: nowrap;\n\t\talign-items: center;\n\t}\n\t.close {\n\t\tmargin-inline-start: 12px;\n\t\tcursor: pointer;\n\t\tbackground-image: url(${buttonCloseIcon});\n\t\tbackground-repeat: no-repeat;\n\t\tmin-width: 20px;\n\t\theight: 20px;\n\t\t&:hover {\n\t\t\ttransform: scale(1.1);\n\t\t}\n\t}\n`;\n\nexport default Notification;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n small: { w: 73, h: 36, p: \"8px 12px\" },\n medium: { w: 81, h: 44, p: \"12px 16px\" },\n large: { w: 81, h: 52, p: \"16px\" },\n};\n\nexport interface DGA_TabProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n size?: Size;\n selected?: boolean;\n vertical?: boolean;\n}\n\nconst Tab: React.FC<DGA_TabProps> = ({\n children,\n size,\n selected,\n vertical,\n ...props\n}) => {\n const theme = useTheme();\n\n const sizeResult: Size = size ?? \"large\";\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_tab\", props.className)}\n $theme={theme}\n $customStyle={{\n w: sizes[sizeResult].w,\n h: sizes[sizeResult].h,\n p: sizes[sizeResult].p,\n }}\n $selected={selected}\n $vertical={vertical}\n >\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.button<{\n $theme: Theme;\n $customStyle: {\n w: number;\n h: number;\n p: string;\n };\n $selected?: boolean;\n $vertical?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n min-width: ${(p) => p.$customStyle.w}px;\n height: ${(p) => p.$customStyle.h}px;\n outline: none;\n background-color: transparent;\n border-radius: 4px;\n font-weight: ${(p) => (p.$selected ? 700 : 500)};\n color: ${(p) => p.$theme.palette.neutral[700]};\n padding: ${(p) => p.$customStyle.p};\n position: relative;\n cursor: pointer;\n border: 2px solid transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n\n img {\n margin-inline-end: 4px;\n }\n\n &::after {\n content: \"\";\n display: block;\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n height: ${(p) => (p.$vertical ? \"50%\" : \"3px\")};\n width: ${(p) => (p.$vertical ? \"3px\" : \"80%\")};\n border-radius: 10px;\n bottom: ${(p) => (p.$vertical ? \"auto\" : \"1px\")};\n inset-inline-start: ${(p) => (p.$vertical ? \"1px\" : \"auto\")};\n position: absolute;\n z-index: 2;\n background: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : p.$theme.textColor};\n }\n\n &:hover {\n &::after {\n opacity: 1;\n }\n }\n &:active {\n background-color: transparent;\n &::after {\n opacity: 1;\n }\n }\n\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n &::after {\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n }\n }\n &:disabled {\n color: ${(p) => p.$theme.palette.neutral[400]};\n cursor: default;\n pointer-events: none;\n &::after {\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n background: ${(p) => (p.$selected ? p.$theme.palette.neutral[400] : \"\")};\n }\n img {\n filter: opacity(0.5) grayscale(100%);\n }\n }\n`;\n\nexport default Tab;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport checkIcon from \"../../assets/images/check.png\";\n// TODO: Update the import from v2 after refactoring the components\nimport Menu from \"../../components/Menu\";\nimport Tab from \"../../components/Tab\";\nimport MenuItem from \"../../components/Menu/MenuItem\";\n\ninterface DGA_PaginationProps extends React.HTMLAttributes<HTMLDivElement> {\n count: number;\n currentPage: number;\n size?: Size;\n siblingCount?: number;\n onPageChange?: (pageNumber: number) => void;\n}\n\nconst Pagination: React.FC<DGA_PaginationProps> = ({\n count,\n currentPage,\n siblingCount = 1,\n onPageChange,\n size = \"small\",\n ...props\n}) => {\n const theme = useTheme();\n\n const onMenuOpen = () => {\n const menus = document.getElementsByClassName(\"menueItemsContainer\");\n\n for (let i = 0; i < menus.length; i++) {\n menus[i]?.scrollTo(\n 0,\n (document.getElementsByClassName(\"selectedMenueItem\")[0] as any)\n ?.offsetTop || 0\n );\n }\n };\n\n // Hide menu for count larger than 100 pages because it's causing issues when calling scrollTo for very large numbers like 100000 pages\n const menu =\n count <= 1000 ? (\n <Menu\n onOpen={onMenuOpen}\n menuItems={Array(count)\n .fill(\"\")\n .map((_el, index) => (\n <MenuItem\n key={index}\n onClick={() => onPageChange?.(index + 1)}\n trailIcon={\n currentPage === index + 1 ? <img src={checkIcon} /> : undefined\n }\n className={\n currentPage === index + 1 ? \"selectedMenueItem\" : undefined\n }\n >\n {index + 1}\n </MenuItem>\n ))}\n >\n <Tab size={size}>...</Tab>\n </Menu>\n ) : (\n <Tab size={size}>...</Tab>\n );\n\n const siblingCountResult = siblingCount * 2 >= count ? 1 : siblingCount;\n\n const showStartItems =\n siblingCountResult === 1\n ? currentPage <= siblingCountResult * 2 + 1\n : currentPage < siblingCountResult * 2 + 1;\n\n const showEndItems =\n !showStartItems && currentPage > count - siblingCountResult * 2;\n\n const showCenterItems = !showStartItems && !showEndItems;\n const showMenuStart = !showStartItems;\n const showMenuEnd = !showEndItems;\n\n let itemsToRenderCount = 1 + siblingCountResult * 2;\n\n const startItemsToRender = Array(itemsToRenderCount)\n .fill(0)\n .map((_el, index) => index + 1);\n\n const centerItemsToRender = Array(itemsToRenderCount)\n .fill(0)\n .map((_el, index) => currentPage - siblingCountResult + index);\n\n const endItemsToRender = Array(itemsToRenderCount)\n .fill(0)\n .map((_el, index) => count - index)\n .reverse();\n\n const show5Only = count <= 5;\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_pagination\", props.className)}\n >\n <Tab\n className=\"noAfter\"\n size={size}\n onClick={() =>\n currentPage > 1 ? onPageChange?.(currentPage - 1) : undefined\n }\n >\n {\"<\"}\n </Tab>\n\n {show5Only &&\n Array(count)\n .fill(0)\n .map((_el, index) => index + 1)\n .map((el) => (\n <Tab\n key={el}\n size={size}\n selected={el === currentPage}\n onClick={() => onPageChange?.(el)}\n >\n {el}\n </Tab>\n ))}\n\n {!show5Only && (\n <>\n {!showStartItems && (\n <Tab\n size={size}\n selected={currentPage === 1}\n onClick={() => onPageChange?.(1)}\n >\n 1\n </Tab>\n )}\n\n {showMenuStart && menu}\n\n {showStartItems &&\n startItemsToRender.map((el) => (\n <Tab\n key={el}\n size={size}\n selected={el === currentPage}\n onClick={() => onPageChange?.(el)}\n >\n {el}\n </Tab>\n ))}\n\n {showCenterItems &&\n centerItemsToRender.map((el) => (\n <Tab\n key={el}\n size={size}\n selected={el === currentPage}\n onClick={() => onPageChange?.(el)}\n >\n {el}\n </Tab>\n ))}\n\n {showMenuEnd && menu}\n\n {showEndItems &&\n endItemsToRender.map((el) => (\n <Tab\n key={el}\n size={size}\n selected={el === currentPage}\n onClick={() => onPageChange?.(el)}\n >\n {el}\n </Tab>\n ))}\n\n {!showEndItems && (\n <Tab\n size={size}\n selected={currentPage === count}\n onClick={() => onPageChange?.(count)}\n >\n {count}\n </Tab>\n )}\n </>\n )}\n\n <Tab\n className=\"noAfter\"\n size={size}\n onClick={() =>\n currentPage < count ? onPageChange?.(currentPage + 1) : undefined\n }\n >\n {\">\"}\n </Tab>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n align-items: center;\n\n .dgaui_menuItem {\n min-width: auto;\n }\n .dgaui_tab {\n min-width: auto;\n margin-inline-end: 8px;\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n .noAfter::after {\n display: none;\n }\n`;\n\nexport default Pagination;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport checkWhiteIcon from \"../../assets/images/checkWhite.png\";\nimport useTheme from \"../../lib/useTheme\";\n\ntype DGA_AIBaseProps = {\n status: \"completed\" | \"active\" | \"upComing\";\n dot?: boolean;\n children?: number;\n};\n\nconst Base: React.FC<DGA_AIBaseProps> = ({ status, dot, children }) => {\n const theme = useTheme();\n\n if (dot) {\n return (\n <StyledDot\n $theme={theme}\n $status={status}\n className=\"dgaui_stepperBase dot\"\n />\n );\n }\n\n return (\n <StyledComponent\n $theme={theme}\n $status={status}\n className=\"dgaui_stepperBase circle\"\n >\n <span className=\"content\">{children}</span>\n </StyledComponent>\n );\n};\n\nconst getCircleCss = (\n theme: Theme,\n status: \"completed\" | \"active\" | \"upComing\"\n) => {\n switch (status) {\n case \"completed\": {\n return css`\n border: 1px solid #fff;\n background-color: ${theme.palette.primary[600]};\n background-image: url(${checkWhiteIcon});\n background-repeat: no-repeat;\n background-position: center;\n\n &:hover {\n background-color: ${theme.palette.primary[700]};\n }\n &:focus {\n border: 1px solid #fff;\n\n &::after {\n content: \"\";\n display: block;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border: 2px solid ${theme.textColor};\n position: absolute;\n border-radius: 100%;\n }\n }\n .content {\n display: none;\n }\n `;\n }\n case \"active\": {\n return css`\n border: 2px solid ${theme.palette.primary[600]};\n background-color: #fff;\n\n &:hover {\n border-color: ${theme.palette.primary[700]};\n }\n &:focus {\n &::after {\n content: \"\";\n display: block;\n width: calc(100% + 6px);\n height: calc(100% + 6px);\n border: 2px solid ${theme.textColor};\n position: absolute;\n border-radius: 100%;\n }\n }\n `;\n }\n case \"upComing\": {\n return css`\n border: 2px solid ${theme.palette.neutral[300]};\n background-color: #fff;\n color: ${theme.palette.neutral[300]};\n\n &:hover {\n border-color: ${theme.palette.neutral[400]};\n color: ${theme.palette.neutral[400]};\n }\n `;\n }\n default: {\n return \"\";\n }\n }\n};\n\nconst getDotCss = (\n theme: Theme,\n status: \"completed\" | \"active\" | \"upComing\"\n) => {\n switch (status) {\n case \"completed\": {\n return css`\n background-color: ${theme.palette.primary[600]};\n\n &:hover {\n background-color: ${theme.palette.primary[700]};\n }\n `;\n }\n case \"active\": {\n return css`\n background-color: #fff;\n border: 4px solid ${theme.palette.primary[600]};\n\n &:hover {\n border-color: ${theme.palette.primary[700]};\n }\n\n width: 8px;\n height: 8px;\n `;\n }\n case \"upComing\": {\n return css`\n background-color: #fff;\n border: 2px solid ${theme.palette.neutral[300]};\n &:hover {\n border-color: ${theme.palette.neutral[400]};\n }\n width: 12px;\n height: 12px;\n `;\n }\n default: {\n return \"\";\n }\n }\n};\n\nconst StyledComponent = styled.button<{\n $theme: Theme;\n $status: \"completed\" | \"active\" | \"upComing\";\n}>`\n border: none;\n outline: none;\n width: 32px;\n height: 32px;\n border-radius: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #fff;\n position: relative;\n cursor: pointer;\n z-index: 1;\n\n ${(p) => getCircleCss(p.$theme, p.$status)}\n`;\n\nconst StyledDot = styled.div<{\n $theme: Theme;\n $status: \"completed\" | \"active\" | \"upComing\";\n}>`\n border: none;\n outline: none;\n width: 16px;\n height: 16px;\n border-radius: 100%;\n cursor: pointer;\n position: relative;\n z-index: 1;\n\n ${(p) => getDotCss(p.$theme, p.$status)}\n`;\n\nexport default Base;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABkSURBVHgB5ZBRDcAgDEQrZRImpRKQMAfgcBKQMAm3EiABQoCGT15yf30HLdFZAGCJl1jSItIt+RB5d+QAa+SrkY1W9oX8jIZt2C1/ryO72WvVsEpOBQZ95vKgZF0uSjjdwtEZ/ElLxHCBicxFAAAAAElFTkSuQmCC\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Base from \"./Base\";\n\nexport interface DGA_ProgressIndicatorProps\n extends React.HTMLAttributes<HTMLDivElement> {\n steps: {\n title: React.ReactNode;\n description?: React.ReactNode;\n }[];\n activeStepIndex: number;\n alignment?: \"vertical\" | \"horizontal\";\n dot?: boolean;\n onStepClick?: (stepIndex: number) => void;\n}\n\nconst ProgressIndicator: React.FC<DGA_ProgressIndicatorProps> = ({\n children,\n alignment,\n steps,\n activeStepIndex,\n dot,\n onStepClick,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_progressIndicator\", props.className)}\n $theme={theme}\n $alignment={alignment || \"horizontal\"}\n $dot={dot}\n >\n {steps.map((el, index) => {\n const status =\n index < activeStepIndex\n ? \"completed\"\n : index === activeStepIndex\n ? \"active\"\n : \"upComing\";\n\n return (\n <div\n key={index}\n className={\"step \" + status}\n onClick={() => onStepClick?.(index)}\n >\n <Base dot={dot} status={status}>\n {!dot ? index + 1 : undefined}\n </Base>\n\n <div className=\"stepContent\">\n <div className=\"title\">{el.title}</div>\n <div className=\"description\">{el.description}</div>\n </div>\n </div>\n );\n })}\n </StyledComponent>\n );\n};\n\nconst getLineCss = (\n theme: Theme,\n status: \"completed\" | \"active\" | \"upComing\"\n) => {\n switch (status) {\n case \"completed\": {\n return {\n bg: theme.palette.primary[600],\n bgHover: theme.palette.primary[700],\n };\n }\n case \"active\": {\n return {\n bg: theme.palette.neutral[300],\n bgHover: theme.palette.neutral[300],\n };\n }\n case \"upComing\": {\n return {\n bg: theme.palette.neutral[300],\n bgHover: theme.palette.neutral[400],\n };\n }\n }\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $alignment?: \"vertical\" | \"horizontal\";\n $dot?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n flex-direction: ${(p) => (p.$alignment === \"horizontal\" ? \"row\" : \"column\")};\n width: 100%;\n\n .step {\n min-width: 100px;\n min-height: 100px;\n width: 100%;\n position: relative;\n cursor: pointer;\n display: ${(p) => (p.$alignment === \"horizontal\" ? \"block\" : \"flex\")};\n\n .stepContent {\n margin-top: ${(p) => (p.$alignment === \"horizontal\" ? \"8px\" : \"0\")};\n margin-inline-start: ${(p) =>\n p.$alignment === \"horizontal\" ? \"0\" : \"8px\"};\n padding-inline-end: 16px;\n\n .title {\n font-size: 16px;\n }\n .description {\n margin-top: 4px;\n }\n }\n\n &::after {\n content: \"\";\n display: block;\n position: absolute;\n top: ${(p) => (p.$dot ? \"8px\" : \"16px\")};\n inset-inline-start: ${(p) => (p.$dot ? \"8px\" : \"16px\")};\n width: ${(p) => (p.$alignment === \"horizontal\" ? \"100%\" : \"2px\")};\n height: ${(p) => (p.$alignment === \"horizontal\" ? \"2px\" : \"100%\")};\n }\n\n &.completed {\n &:hover {\n &::after {\n background-color: ${(p) => getLineCss(p.$theme, \"completed\").bgHover};\n }\n }\n &::after {\n background-color: ${(p) => getLineCss(p.$theme, \"completed\").bg};\n }\n }\n\n &.active::after {\n background-color: ${(p) => getLineCss(p.$theme, \"active\").bg};\n }\n\n &.upComing {\n &:hover {\n &::after {\n background-color: ${(p) => getLineCss(p.$theme, \"upComing\").bgHover};\n }\n }\n &::after {\n background-color: ${(p) => getLineCss(p.$theme, \"upComing\").bg};\n }\n }\n\n &:last-child::after {\n display: none;\n }\n }\n`;\n\nexport default ProgressIndicator;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport radioColors from \"./radioColors\";\nimport feedbackIcon from \"../../assets/images/Feedback-Icon.png\";\n\nexport interface DGA_RadioProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"style\"> {\n label: React.ReactNode;\n description?: React.ReactNode;\n error?: React.ReactNode;\n style?: \"primary\" | \"neutral\";\n onChange?: (e: React.SyntheticEvent, value: any) => void;\n value?: any;\n groupValue?: any;\n}\n\nconst Radio: React.FC<DGA_RadioProps> = ({\n label,\n description,\n error,\n onChange,\n value,\n groupValue,\n style = \"primary\",\n ...props\n}) => {\n const theme = useTheme();\n const colors = radioColors(theme);\n\n const colorNameResult: \"primary\" | \"neutral\" = style ?? \"primary\";\n\n let fontColor = theme.textColor;\n let backgroundColor = colors[colorNameResult].default;\n let backgroundColorHovered = colors[colorNameResult].hovered;\n let backgroundColorActive = colors[colorNameResult].active;\n let sliderBg = theme.palette.neutral[950];\n let sliderBgHovered = theme.palette.neutral[600];\n let sliderBgActive = theme.palette.neutral[500];\n let sliderBgDisabled = theme.palette.neutral[300];\n\n const id = props.id;\n\n return (\n <StyledComponent\n $customStyle={{\n theme,\n fontColor,\n backgroundColor,\n backgroundColorHovered,\n backgroundColorActive,\n sliderBg,\n sliderBgHovered,\n sliderBgActive,\n sliderBgDisabled,\n }}\n className={mergeStrings(\"dgaui dgaui_radioContainer\", props.className)}\n >\n <div className=\"dgaui_radioHead\">\n <label className=\"dgaui_radio\">\n <input\n id={id}\n type=\"radio\"\n {...props}\n checked={groupValue === value}\n onChange={(e) => onChange && onChange(e, value)}\n />\n <span className=\"dgaui_radioDot\" />\n </label>\n <label htmlFor={id} className=\"dgaui_radioLabel\">\n {label}\n </label>\n </div>\n\n <div className=\"dgaui_radioDescription\">\n {description && <div className=\"dgaui_radioDescriptionText\">{description}</div>}\n {error && <div className=\"dgaui_radioDescriptionError\">{error}</div>}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n theme: Theme;\n fontColor: string;\n backgroundColor: string;\n backgroundColorHovered: string;\n backgroundColorActive: string;\n sliderBg: string;\n sliderBgHovered: string;\n sliderBgActive: string;\n sliderBgDisabled: string;\n };\n}>`\n direction: ${(props) => props.$customStyle.theme.direction};\n color: ${(props) => props.$customStyle.fontColor};\n\n .dgaui_radioLabel {\n cursor: pointer;\n text-align: start;\n margin-inline-start: 16px;\n font-weight: 500;\n }\n\n .dgaui_radioDescription {\n padding-inline-start: 40px;\n .dgaui_radioDescriptionText {\n margin-top: 8px;\n color: ${(props) => props.$customStyle.theme.palette.neutral[700]};\n }\n .dgaui_radioDescriptionError {\n font-weight: 500;\n color: ${(props) => props.$customStyle.theme.palette.error[700]};\n position: relative;\n margin-top: 8px;\n\n &::before {\n content: \"\";\n background: url(\"${feedbackIcon}\");\n width: 18px;\n height: 18px;\n background-repeat: no-repeat;\n background-size: contain;\n display: block;\n position: absolute;\n inset-inline-start: -40px;\n }\n }\n }\n\n .dgaui_radioHead {\n display: flex;\n align-items: center;\n\n &:hover {\n .dgaui_radio {\n box-shadow: 0 0 0px 12px #f3f4f6;\n background-color: #f3f4f6;\n border-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n &:has(input:checked) {\n .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n }\n }\n\n &:active {\n .dgaui_radio {\n background-color: #d2d6db;\n border-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n &:has(input:checked) {\n &:active {\n .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n }\n }\n }\n\n &:has(input:disabled) {\n color: #9da4ae;\n\n &:hover {\n .dgaui_radio {\n box-shadow: none;\n background-color: transparent;\n }\n }\n &:has(input:checked) {\n &:active {\n .dgaui_radioDot {\n background: #9da4ae;\n }\n }\n }\n }\n\n &:focus-within {\n .dgaui_radio {\n box-shadow: none;\n z-index: 1;\n\n &::after {\n content: \" \";\n position: absolute;\n top: -5px;\n left: -5px;\n right: -5px;\n bottom: -5px;\n border: 2px solid #0d121c;\n }\n }\n }\n }\n\n .dgaui_radio {\n cursor: pointer;\n position: relative;\n display: inline-block;\n width: 22px;\n height: 22px;\n outline: none;\n border: 1px solid #000;\n border-radius: 50px;\n transition: all 0.1s;\n\n .dgaui_radioDot {\n border-radius: 50px;\n position: absolute;\n top: 3.5px;\n left: 3.5px;\n z-index: 1;\n width: 15px;\n height: 15px;\n background-color: none;\n }\n\n input {\n flex: 0;\n opacity: 0;\n width: 0;\n height: 0;\n\n &:checked + .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColor};\n }\n &:checked:disabled + .dgaui_radioDot {\n background-color: #9da4ae;\n }\n }\n\n &:has(input:checked) {\n border-color: ${(props) => props.$customStyle.backgroundColor};\n &:hover {\n border-color: ${(props) => props.$customStyle.backgroundColorHovered};\n background-color: #f3f4f6;\n .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColorHovered};\n }\n }\n &:active {\n border-color: ${(props) => props.$customStyle.backgroundColorActive};\n background-color: #f3f4f6;\n .dgaui_radioDot {\n background-color: ${(props) => props.$customStyle.backgroundColorActive};\n }\n }\n &:disabled {\n background-color: red;\n &:hover,\n &:active {\n background-color: #9da4ae;\n }\n }\n }\n\n &:has(input:disabled) {\n border: 1px solid #9da4ae;\n background-color: transparent;\n .dgaui_radioDot {\n background-color: transparent;\n }\n\n &:hover,\n &:active {\n box-shadow: none;\n background-color: transparent;\n .dgaui_radioDot {\n background-color: transparent;\n }\n }\n &:has(input:checked) {\n .dgaui_radioDot {\n background-color: #9da4ae;\n &:active {\n background-color: #9da4ae;\n }\n }\n }\n }\n }\n`;\n\nexport default Radio;\n","import React from \"react\";\nimport Radio, { DGA_RadioProps } from \"../Radio\";\nimport { generateUniqueId } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\ninterface DGA_RadioGroupProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n onChange?: (event: React.SyntheticEvent, value: any) => void;\n children: React.ReactElement<typeof Radio> | React.ReactElement<typeof Radio>[];\n name?: string;\n value?: any;\n layout?: \"vertiaval\" | \"horizontal\";\n}\n\nconst RadioGroup: React.FC<DGA_RadioGroupProps> = ({\n onChange,\n name,\n value,\n layout,\n children,\n ...props\n}) => {\n const theme = useTheme();\n\n const groupName = name ? name : generateUniqueId();\n\n const newChildren = React.Children.map(children, (child, index) =>\n React.cloneElement(child, {\n onChange,\n name: groupName,\n id: groupName + \"_\" + index,\n groupValue: value,\n } as DGA_RadioProps as any)\n );\n\n return (\n <StyledComponent\n className={`dgaui dgaui_radioGroup_${layout ?? \"horizontal\"}`}\n $direction={theme.direction}\n {...props}\n >\n {newChildren}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{ $direction: string }>`\n direction: ${(p) => p.$direction};\n &.dgaui_radioGroup_vertiaval {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n .dgaui_radioContainer {\n margin-bottom: 32px;\n }\n }\n\n &.dgaui_radioGroup_horizontal {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n\n .dgaui_radioContainer {\n margin-inline-end: 32px;\n }\n }\n\n .dgaui_radio {\n position: absolute !important;\n }\n\n .dgaui_radioLabel {\n margin-inline-start: 40px;\n }\n`;\n\nexport default RadioGroup;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { generateUniqueId, mergeStrings } from \"../../lib/helpers\";\nimport switchColors from \"./switchColors\";\nimport feedbackIcon from \"../../assets/images/Feedback-Icon.png\";\n\ninterface DGA_SwitchProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"checked\" | \"onChange\"\n > {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n alertMessage?: React.ReactNode;\n color?: ColorName;\n checked?: boolean;\n trailSwitch?: boolean;\n icon?: React.ReactNode;\n onChange?: (event: React.SyntheticEvent, isChecked: boolean) => void;\n}\n\nconst Switch: React.FC<DGA_SwitchProps> = ({\n label,\n helperText,\n color,\n alertMessage,\n checked,\n trailSwitch,\n icon,\n onChange,\n ...props\n}) => {\n const theme = useTheme();\n const colors = switchColors(theme);\n\n const colorNameResult: ColorName = color ?? \"primary\";\n\n let fontColor = theme.textColor;\n let backgroundColor = colors[colorNameResult].default;\n let backgroundColorHovered = colors[colorNameResult].hovered;\n let backgroundColorActive = colors[colorNameResult].active;\n let sliderBg = theme.palette.neutral[950];\n let sliderBgHovered = theme.palette.neutral[600];\n let sliderBgActive = theme.palette.neutral[500];\n let sliderBgDisabled = theme.palette.neutral[300];\n\n const id = props.id || generateUniqueId();\n\n return (\n <StyledComponent\n $customStyle={{\n theme,\n fontColor,\n backgroundColor,\n backgroundColorHovered,\n backgroundColorActive,\n sliderBg,\n sliderBgHovered,\n sliderBgActive,\n sliderBgDisabled,\n }}\n className={mergeStrings(\n \"dgaui dgaui_switchContainer \" + (trailSwitch ? \"endSwitch\" : \"\"),\n props.className\n )}\n >\n <div className=\"dgaui_switchHead\">\n <label className=\"dgaui_switch\">\n <input\n id={id}\n type=\"checkbox\"\n {...props}\n checked={checked}\n onChange={(e) => onChange && onChange(e, e.target.checked)}\n />\n <span className=\"dgaui_switchSlider\">\n {icon && <span className=\"icon\">{icon}</span>}\n </span>\n </label>\n <label htmlFor={id} className=\"dgaui_switchLabel\">\n {label}\n </label>\n </div>\n <div className=\"dgaui_switchDescription\">\n {helperText && (\n <div className=\"dgaui_switchDescriptionText\">{helperText}</div>\n )}\n {alertMessage && <div className=\"dgaui_switchDescriptionError\">{alertMessage}</div>}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n theme: Theme;\n fontColor: string;\n backgroundColor: string;\n backgroundColorHovered: string;\n backgroundColorActive: string;\n sliderBg: string;\n sliderBgHovered: string;\n sliderBgActive: string;\n sliderBgDisabled: string;\n };\n}>`\n direction: ${(props) => props.$customStyle.theme.direction};\n color: ${(props) => props.$customStyle.fontColor};\n\n .dgaui_switchLabel {\n cursor: pointer;\n text-align: start;\n margin-inline-start: 8px;\n font-weight: 500;\n }\n\n .dgaui_switchDescription {\n padding-inline-start: 64px;\n .dgaui_switchDescriptionText {\n margin: 4px 0;\n }\n .dgaui_switchDescriptionError {\n font-weight: 500;\n color: ${(props) => props.$customStyle.theme.palette.error[700]};\n position: relative;\n margin: 4px 0;\n\n &::before {\n content: \"\";\n background: url(\"${feedbackIcon}\");\n width: 18px;\n height: 18px;\n background-repeat: no-repeat;\n background-size: contain;\n display: block;\n position: absolute;\n inset-inline-start: -40px;\n }\n }\n }\n\n &.endSwitch {\n .dgaui_switchLabel {\n margin-inline-start: 0px;\n margin-inline-end: 8px;\n }\n\n .dgaui_switchHead {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-direction: row-reverse;\n }\n .dgaui_switchDescription {\n padding-inline-start: 0px;\n\n .dgaui_switchDescriptionText {\n }\n .dgaui_switchDescriptionError {\n display: flex;\n align-items: center;\n\n &::before {\n position: initial;\n margin-inline-end: 8px;\n }\n }\n }\n }\n\n .dgaui_switch {\n cursor: pointer;\n\n &:hover {\n border-radius: 24px;\n border: 4px solid #f3f4f6;\n\n .dgaui_switchSlider {\n border: 1px solid #4d5761;\n\n &::before {\n background-color: ${(props) => props.$customStyle.sliderBgHovered};\n }\n }\n }\n\n &:active {\n .dgaui_switchSlider {\n &::before {\n background-color: ${(props) => props.$customStyle.sliderBgActive};\n }\n }\n }\n\n position: relative;\n display: inline-block;\n width: 48px;\n height: 24px;\n outline: none;\n border: 4px solid transparent;\n\n &:focus-within {\n border: 4px solid #fff;\n z-index: 1;\n\n &::after {\n content: \" \";\n position: absolute;\n top: -4px;\n left: -4px;\n right: -4px;\n bottom: -4px;\n border: 2px solid #0d121c;\n border-radius: 2px;\n }\n }\n\n .dgaui_switchSlider {\n border: 1px solid #0d121c;\n border-radius: 24px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #fff;\n transition: background-color 0.2s;\n display: flex;\n align-items: center;\n justify-content: left;\n\n &::before {\n background-color: ${(props) => props.$customStyle.sliderBg};\n content: \"\";\n height: 16px;\n width: 16px;\n transition: 0.2s;\n border-radius: 50%;\n margin-left: 4px;\n }\n }\n\n input {\n opacity: 0;\n width: 0;\n height: 0;\n\n &:checked + .dgaui_switchSlider {\n border: none;\n background-color: ${(props) => props.$customStyle.backgroundColor};\n\n &:before {\n background-color: #fff;\n transform: translateX(24px);\n }\n\n &:hover {\n background-color: ${(props) =>\n props.$customStyle.backgroundColorHovered};\n }\n &:active {\n background-color: ${(props) =>\n props.$customStyle.backgroundColorActive};\n }\n }\n\n &:disabled + .dgaui_switchSlider {\n background-color: #fff;\n &:before {\n background-color: #d2d6db;\n }\n }\n &:disabled:checked + .dgaui_switchSlider {\n background-color: #d2d6db;\n &:before {\n background-color: #fff;\n }\n }\n }\n .icon {\n display: none;\n }\n &:has(input:checked) {\n .icon {\n position: absolute;\n z-index: 2;\n inset-inline-end: 5px;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n }\n }\n\n &:has(input:disabled:hover) {\n border: 4px solid transparent;\n }\n }\n`;\n\nexport default Switch;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport colors, { TagStatusColorName, TagStatusVariant } from \"./colors\";\n\nexport const sizes = {\n xsmall: { w: 64, h: 20, py: 8, f: 10 },\n small: { h: 24, py: 8, f: 12 },\n medium: { h: 32, py: 16, f: 16 },\n};\n\ninterface DGA_TagProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"style\"> {\n children: React.ReactNode;\n status?: TagStatusVariant;\n size?: \"xsmall\" | \"small\" | \"medium\";\n style?: TagStatusColorName;\n}\n\nconst tagStatusColorNames = [\"neutral\", \"green\", \"blue\", \"yellow\", \"red\"];\n\nconst StatusTag: React.FC<DGA_TagProps> = ({\n children,\n status,\n size,\n style,\n ...props\n}) => {\n const theme = useTheme();\n\n const colorNameResult = style ?? \"neutral\";\n const sizeResult = size ?? \"medium\";\n\n const variantResult: TagStatusVariant = status ? status : \"subtle\";\n const tagColors = colors(theme);\n\n let backgroundColor = tagColors[colorNameResult][variantResult]?.bg;\n let iconBackgroundColor = tagColors[colorNameResult][variantResult]?.iconBg;\n let fontColor = tagColors[colorNameResult][variantResult]?.font;\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_statusTag\", props.className)}\n $customStyle={{\n direction: theme.direction,\n height: sizes[sizeResult].h,\n paddingY: sizes[sizeResult].py,\n fontSize: sizes[sizeResult].f,\n fontColor,\n backgroundColor,\n iconBackgroundColor,\n }}\n >\n <i className=\"dgaui_icon\" />\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $customStyle: {\n direction: string;\n height: number;\n paddingY: number;\n fontSize: number;\n fontColor: string;\n backgroundColor: string;\n iconBackgroundColor: string;\n };\n}>`\n direction: ${(props) => props.$customStyle.direction};\n height: ${(props) => props.$customStyle.height}px;\n padding: 0 ${(props) => props.$customStyle.paddingY}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n color: ${(props) => props.$customStyle.fontColor};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n outline: none;\n border-radius: 9999px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .dgaui_icon {\n width: 10px;\n height: 10px;\n border-radius: 100%;\n background-color: ${(props) => props.$customStyle.iconBackgroundColor};\n margin-inline-end: 8px;\n }\n`;\n\nexport default StatusTag;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useTheme from \"../../lib/useTheme\";\nimport Checkbox from \"../Checkbox\";\n\nconst Table = <T,>({\n contained,\n compact,\n alternatingRows,\n selectable,\n className,\n labels,\n values,\n onRowClick,\n onCheck,\n responsiveThreshold,\n columnDivider,\n headerColumnDivider = true,\n lastColumnWidthMultiply,\n}: {\n contained?: boolean;\n compact?: boolean;\n alternatingRows?: boolean;\n selectable?: boolean;\n className?: string;\n labels: Record<string, any>;\n values: T[];\n onRowClick?: (row: T) => void;\n onCheck?: (rows: T[]) => void;\n responsiveThreshold?: number;\n columnDivider?: boolean;\n headerColumnDivider?: boolean;\n lastColumnWidthMultiply?: number;\n}) => {\n const theme = useTheme();\n const [selectAllValue, setSelectAllValue] = React.useState(false);\n const [isMobile, setIsMobile] = React.useState(false);\n\n const onSelectAllValueChangedHandler = (\n _e: React.SyntheticEvent,\n newValue: boolean\n ) => {\n setSelectAllValue(newValue);\n\n if (onCheck) {\n let newCheckedValues: T[] = [];\n\n if (newValue) {\n newCheckedValues = values.map((el) => {\n return { ...el, selected: true };\n });\n } else {\n newCheckedValues = values.map((el) => {\n return { ...el, selected: false };\n });\n }\n\n onCheck(newCheckedValues);\n }\n };\n\n const onRowCheckedHandler = (item: T) => {\n onCheck?.(\n values.map((el) => {\n if (el === item) {\n return { ...el, selected: !(el as any)?.selected };\n }\n return el;\n })\n );\n };\n\n React.useEffect(() => {\n if (selectable) {\n let allSelected = true;\n values.forEach((el) => {\n if (!(el as any)?.selected) {\n allSelected = false;\n }\n });\n\n setSelectAllValue(allSelected);\n }\n }, [values]);\n\n React.useEffect(() => {\n const resizeHandler = () =>\n setIsMobile(window.innerWidth <= (responsiveThreshold || 768));\n resizeHandler();\n window.addEventListener(\"resize\", resizeHandler);\n return () => window.removeEventListener(\"resize\", resizeHandler);\n }, []);\n\n if (isMobile) {\n return (\n <MobileStyledComponent\n $theme={theme}\n $compact={compact}\n $contained={contained}\n $alternatingRows={alternatingRows}\n $onRowClick={!!onRowClick}\n className={mergeStrings(\"dgaui dgaui_table\", className)}\n >\n {values.map((item, index) => {\n const checked = (item as any)?.selected;\n const checkedClassName = checked ? \"checked \" : \"\";\n\n return (\n <div\n key={index}\n className={\"mobileRow \" + checkedClassName}\n onClick={(e: React.SyntheticEvent) => {\n if (!(e.target instanceof HTMLElement)) return;\n\n const nodeName = e.target.nodeName;\n // Don't fire onRowClick if target is checkbox\n if (nodeName === \"DIV\") {\n onRowClick?.(item);\n }\n }}\n >\n {selectable && (\n <div className=\"cell selectable\">\n <Checkbox\n size={compact ? \"small\" : \"medium\"}\n value={checked}\n onChange={() => onRowCheckedHandler(item)}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n )}\n\n {Object.keys(labels)\n .filter((key) => !!labels[key])\n .map((key, sIndex) => (\n <div key={sIndex} className={\"mobileRowContainer\"}>\n <div className=\"cell label\">{labels[key]}</div>\n <div\n className={\n \"cell value \" +\n (alternatingRows\n ? (sIndex + 1) % 2 === 0\n ? \"even\"\n : \"odd\"\n : \"\")\n }\n >\n {(item as any)[key]}\n </div>\n </div>\n ))}\n </div>\n );\n })}\n </MobileStyledComponent>\n );\n }\n\n return (\n <StyledComponent\n $theme={theme}\n $headerColumnDivider={headerColumnDivider}\n $compact={compact}\n $contained={contained}\n $alternatingRows={alternatingRows}\n $onRowClick={!!onRowClick}\n className={mergeStrings(\n \"dgaui dgaui_table\" + (columnDivider ? \" columnDivider\" : \"\"),\n className\n )}\n cellPadding={0}\n cellSpacing={0}\n >\n <thead>\n <tr>\n {selectable && (\n <th className=\"selectable\">\n <Checkbox\n value={selectAllValue}\n onChange={onSelectAllValueChangedHandler}\n />\n </th>\n )}\n {Object.keys(labels as any)\n .filter((key) => !!labels[key])\n .map((key, index) => (\n <th\n key={index}\n style={{\n flex:\n lastColumnWidthMultiply &&\n index === Object.keys(labels).length - 1\n ? lastColumnWidthMultiply\n : undefined,\n }}\n >\n {(labels as any)[key]}\n </th>\n ))}\n </tr>\n </thead>\n\n {values && values.length > 0 && (\n <tbody>\n {values.map((item, index) => {\n const checked = (item as any)?.selected;\n const trClassName = checked ? \"checked \" : \"\";\n\n return (\n <tr\n key={index}\n onClick={(e: React.SyntheticEvent) => {\n if (!(e.target instanceof HTMLElement)) return;\n\n const nodeName = e.target.nodeName;\n // Don't fire onRowClick if target is checkbox\n if (nodeName === \"TR\" || nodeName === \"TD\") {\n onRowClick?.(item);\n }\n }}\n className={\n trClassName +\n (alternatingRows\n ? (index + 1) % 2 === 0\n ? \"even\"\n : \"odd\"\n : \"\")\n }\n >\n {selectable && (\n <td className=\"selectable\">\n <Checkbox\n value={checked}\n onChange={() => onRowCheckedHandler(item)}\n onClick={(e) => e.stopPropagation()}\n />\n </td>\n )}\n {Object.entries(item as any)\n .filter((key) => !!labels[key[0]])\n .map(\n ([key, value], itemIndex) =>\n (labels as any)[key] && (\n <td\n key={key}\n style={{\n flex:\n lastColumnWidthMultiply &&\n itemIndex === Object.keys(labels).length - 1\n ? lastColumnWidthMultiply\n : undefined,\n }}\n >\n {value as any}\n </td>\n )\n )}\n </tr>\n );\n })}\n </tbody>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.table<{\n $theme: Theme;\n $headerColumnDivider?: boolean;\n $contained?: boolean;\n $compact?: boolean;\n $alternatingRows?: boolean;\n $onRowClick?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n overflow: hidden;\n transition: background-color 0.2s;\n\n ${(p) =>\n p.$contained\n ? `border: 1px solid ${p.$theme.palette.neutral[400]}; border-radius: 8px;`\n : \"\"}\n\n tr {\n display: flex;\n &.even {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n }\n &.checked {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n }\n\n &:hover {\n ${(p) =>\n p.$onRowClick\n ? `background-color: ${p.$theme.palette.neutral[25]};`\n : \"\"}\n\n &.even {\n ${(p) =>\n p.$onRowClick\n ? `background-color: ${p.$theme.palette.neutral[100]};`\n : \"\"}\n\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[25]};\n }\n }\n\n &.checked {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[25]};\n }\n }\n }\n\n border-end-start-radius: ${(p) => (p.$contained ? 8 : 0)}px;\n border-end-end-radius: ${(p) => (p.$contained ? 8 : 0)}px;\n\n &:last-child {\n td {\n border-bottom: ${(p) =>\n p.$contained ? \"none\" : `1px solid ${p.$theme.palette.neutral[300]}`};\n }\n }\n\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[25]};\n }\n }\n\n th,\n td {\n flex: 1;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n overflow: hidden;\n box-sizing: border-box;\n\n &.selectable {\n flex: none;\n }\n }\n\n th {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-inline-end: ${(p) => (p.$headerColumnDivider ? \"1\" : \"0\")}px solid\n ${(p) => p.$theme.palette.neutral[300]};\n border-bottom: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n border-top: 1px solid\n ${(p) => (p.$contained ? 0 : p.$theme.palette.neutral[300])};\n color: ${(p) => p.$theme.palette.neutral[700]};\n font-size: 12px;\n font-weight: 500;\n height: 48px;\n padding: 0 16px;\n\n &:first-child {\n border-start-start-radius: ${(p) => (p.$contained ? 8 : 0)}px;\n }\n\n &:last-child {\n border-start-end-radius: ${(p) => (p.$contained ? 8 : 0)}px;\n border-inline-end: none;\n }\n }\n\n td {\n flex: 1;\n padding: 0 16px;\n height: ${(p) => (p.$compact ? 48 : 64)}px;\n border-bottom: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n ${(p) => (p.$onRowClick ? \"cursor: pointer;\" : \"\")}\n\n &.selectable {\n border-inline-end: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n }\n }\n\n &.columnDivider {\n td {\n border-inline-end: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n &:last-child {\n border-inline-end: none;\n }\n }\n }\n`;\n\nconst MobileStyledComponent = styled.div<{\n $theme: Theme;\n $contained?: boolean;\n $compact?: boolean;\n $alternatingRows?: boolean;\n $onRowClick?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n transition: background-color 0.2s;\n\n .mobileRow {\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n width: 100%;\n ${(p) =>\n p.$contained\n ? `border-left: 1px solid ${p.$theme.palette.neutral[300]};border-right: 1px solid ${p.$theme.palette.neutral[300]};`\n : \"\"}\n\n .cell {\n height: ${(p) => (p.$compact ? 30 : 36)}px;\n padding: 0 8px;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n font-size: ${(p) => (p.$compact ? 10 : 12)}px;\n }\n\n .mobileRowContainer {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n overflow: hidden;\n box-sizing: border-box;\n border-top: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n\n &:last-child {\n border-bottom: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n }\n\n .label {\n flex: 1;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-inline-end: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n color: ${(p) => p.$theme.palette.neutral[700]};\n font-weight: 600;\n }\n .value {\n flex: 2;\n\n &.even {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n }\n }\n }\n\n &.checked {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n .mobileRowContainer .even {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n }\n .selectable {\n background-color: ${(p) => p.$theme.palette.primary[50]};\n }\n }\n\n .selectable {\n border-top: 1px solid ${(p) => p.$theme.palette.neutral[300]};\n }\n }\n`;\n\nexport default Table;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Tab, { DGA_TabProps } from \"../Tab\";\n\ninterface DGA_TagProps extends React.HTMLAttributes<HTMLDivElement> {\n children: (React.ReactNode | React.ReactElement<typeof Tab>)[];\n size?: Size;\n flush?: boolean;\n vertical?: boolean;\n}\n\nconst TabList: React.FC<DGA_TagProps> = ({\n children,\n size = \"large\",\n flush,\n vertical = false,\n ...props\n}) => {\n const theme = useTheme();\n\n // If\n const newChildren = addPropsToChidren(children, size, vertical);\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_tabList\", props.className)}\n $theme={theme}\n $flush={flush}\n $vertical={vertical}\n >\n {newChildren}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $flush?: boolean;\n $vertical?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n position: relative;\n ${(p) => (p.$vertical ? \"flex-direction: column;\" : \"\")};\n\n &::after {\n content: \"\";\n display: ${(p) => (p.$vertical ? \"none\" : \"block\")};\n position: absolute;\n height: 3px;\n width: 100%;\n border-radius: 10px;\n bottom: 0;\n left: 0;\n background: ${(p) => p.$theme.palette.neutral[300]};\n z-index: 1;\n }\n\n .dgaui_tab {\n border: none;\n &:focus {\n border: none;\n }\n &::after {\n ${(p) => (!p.$vertical ? \"bottom: 0;\" : \"\")};\n ${(p) => (p.$flush && !p.$vertical ? \"width: 100%;\" : \"\")}\n ${(p) => (p.$flush && p.$vertical ? \"height: 100%;\" : \"\")}\n }\n }\n`;\n\nexport default TabList;\n\n// a function that take children and return new children with size and vertical props, and if a child is a fragment, it should recursivly call itself on the children of the fragment\nconst addPropsToChidren = (\n children: React.ReactNode,\n size: Size,\n vertical: boolean\n): React.ReactNode => {\n const newChildren = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === React.Fragment) {\n return addPropsToChidren(child.props.children, size, vertical);\n } else {\n return React.cloneElement(child, { size, vertical } as any);\n }\n }\n\n return child;\n });\n\n return newChildren;\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ntype Style = \"default\" | \"filledDarker\" | \"filledLighter\";\n\ninterface DGA_TextareaProps\n extends Omit<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"size\" | \"style\"\n > {\n label: React.ReactNode;\n style?: Style;\n error?: boolean;\n scrollBar?: boolean;\n resize?: boolean;\n ref?: React.Ref<HTMLTextAreaElement>;\n}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, DGA_TextareaProps>(\n (\n { label, style, error, scrollBar = false, resize = true, ...props },\n ref\n ) => {\n const theme = useTheme();\n\n // Default\n let fontColor = theme.textColor;\n let placeholderFontColor = theme.palette.neutral[500];\n let border = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[400]\n }`;\n let borderHovered = `1px solid ${\n error ? theme.palette.error[700] : theme.palette.neutral[700]\n }`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n\n if (style === \"filledDarker\") {\n backgroundColor = theme.palette.neutral[100];\n }\n\n if (props.disabled) {\n fontColor = theme.palette.neutral[400];\n border = `1px solid ${theme.palette.neutral[200]}`;\n borderHovered = `1px solid ${theme.palette.neutral[200]}`;\n }\n\n return (\n <div\n style={{\n direction: theme.direction,\n display: \"flex\",\n flexDirection: \"column\",\n color: theme.textColor,\n width: \"100%\",\n overflow: \"hidden\",\n }}\n className={mergeStrings(\"dgaui dgaui_textarea\", props.className)}\n >\n <label\n style={{ marginBottom: 8, textAlign: \"start\" }}\n htmlFor={props.id}\n >\n {label}\n </label>\n <StyledComponent\n $customStyle={{\n direction: theme.direction,\n placeholderFontColor,\n fontColor,\n border,\n borderHovered,\n backgroundColor,\n shadowFocus,\n scrollBar,\n resize,\n }}\n {...props}\n ref={ref}\n />\n <StyledComponentSpan\n $bgColor={animationColor}\n className=\"dgauiInputSeparator\"\n />\n </div>\n );\n }\n);\n\nconst StyledComponent = styled.textarea<{\n $customStyle: {\n direction: string;\n fontColor: string;\n border: string;\n shadowFocus: string;\n placeholderFontColor: string;\n borderHovered: string;\n backgroundColor: string;\n scrollBar?: boolean;\n resize?: boolean;\n };\n}>`\n outline: none;\n direction: ${(props) => props.$customStyle.direction};\n border-radius: 4px;\n width: 100%;\n min-height: 96px;\n padding: 12px 16px;\n font-size: 16px;\n color: ${(props) => props.$customStyle.fontColor};\n border: ${(props) => props.$customStyle.border};\n background-color: ${(props) => props.$customStyle.backgroundColor};\n box-sizing: border-box;\n\n resize: ${(p) => (p.$customStyle.resize ? \"both\" : \"none\")};\n overflow-y: ${(p) => (p.$customStyle.scrollBar ? \"scroll\" : \"auto\")};\n\n &::placeholder {\n color: ${(props) => props.$customStyle.placeholderFontColor};\n font-weight: 300;\n }\n &:focus {\n ${(props) => props.$customStyle.shadowFocus};\n }\n\n &:hover {\n border: ${(props) => props.$customStyle.borderHovered};\n }\n\n &:focus + .dgauiInputSeparator {\n transform: scaleX(0.995) translateY(-2.5px);\n opacity: 1;\n }\n &:active + .dgauiInputSeparator {\n transform: scaleX(0.5) translateY(-2.5px);\n opacity: 1;\n }\n &:read-only + .dgauiInputSeparator,\n &:disabled + .dgauiInputSeparator {\n transform: scaleX(0) translateY(-2.5px);\n opacity: 0;\n }\n`;\n\nconst StyledComponentSpan = styled.span<{ $bgColor: string }>`\n height: 2px;\n background: ${(props) => props.$bgColor};\n display: block;\n transform: scaleX(0) translateY(-2.5px);\n transform-origin: 50%;\n opacity: 1;\n transition: all 0.2s;\n border-bottom-left-radius: 50px;\n border-bottom-right-radius: 50px;\n`;\n\nexport default Textarea;\n","// assets\nimport iconInfo from './icons/circle_info.png'\nimport iconSuccess from './icons/circle_success.png'\nimport iconWarning from './icons/circle_warning.png'\nimport iconNeutral from './icons/circle_neutral.png'\nimport iconCritical from './icons/circle_critical.png'\n\nexport const getColors = (theme: Theme): { [k in 'critical' | 'warning' | 'success' | 'info' | 'neutral']: any } => ({\n neutral: {\n icon: iconNeutral,\n vLine: theme.palette.neutral[200],\n border: theme.palette.neutral[200],\n font: theme.palette.neutral[800],\n bg: theme.palette.neutral[25],\n },\n critical: {\n icon: iconCritical,\n vLine: theme.palette.error[600],\n border: theme.palette.error[200],\n font: theme.palette.error[700],\n bg: theme.palette.error[25],\n },\n warning: {\n icon: iconWarning,\n vLine: theme.palette.warning[600],\n border: theme.palette.warning[200],\n font: theme.palette.warning[700],\n bg: theme.palette.warning[25],\n },\n success: {\n icon: iconSuccess,\n vLine: theme.palette.success[600],\n border: theme.palette.success[200],\n font: theme.palette.success[700],\n bg: theme.palette.success[25],\n },\n info: {\n icon: iconInfo,\n vLine: theme.palette.info[600],\n border: theme.palette.info[200],\n font: theme.palette.info[700],\n bg: theme.palette.info[25],\n },\n});","import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport styled, { css, keyframes } from \"styled-components\";\n\n// lib\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\n\n// assets\nimport { getColors } from \"./colors\";\nimport useTheme from \"../../lib/useTheme\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\n\nexport type Position =\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\";\n\ninterface NotificationToastProps {\n leadText: React.ReactNode;\n helpText?: string;\n type?: \"success\" | \"critical\" | \"warning\" | \"info\";\n closeButton?: boolean;\n actions?: React.ReactNode;\n onClose?: Function;\n style?: React.CSSProperties;\n}\n\nconst NotificationToast: React.FC<NotificationToastProps> = ({\n leadText,\n helpText,\n type,\n actions,\n closeButton,\n onClose,\n style,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const colorsResult =\n getColors(theme)[type as keyof ReturnType<typeof getColors>];\n const isMinimal = !helpText && !actions;\n\n return (\n <StyledAlertComponent\n $theme={theme}\n $colors={colorsResult}\n style={style}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_inlineAlert \" +\n (screenSizes.isMobile ? \" mobile \" : \"\") +\n (isMinimal ? \" minimal \" : \"\")\n )}\n >\n <div className=\"icon\" />\n <div className=\"content\">\n <div className=\"leadText\">{leadText}</div>\n {helpText && <div className=\"helpText\">{helpText}</div>}\n {actions && <div className=\"actions\">{actions}</div>}\n </div>\n {closeButton && <div className=\"close\" onClick={() => onClose?.()} />}\n </StyledAlertComponent>\n );\n};\n\nconst StyledAlertComponent = styled.div<{\n $theme: Theme;\n $colors: any;\n}>`\n\tdirection: ${(p) => p.$theme.direction};\n\twidth: 100%;\n\tdisplay: flex;\n\tposition: relative;\n\tpadding: 16px 24px;\n\tbackground-color: #ffffff;\n\tborder-radius: 8px;\n\tborder: 1px solid;\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\n\t&::before {\n\t\tcontent: '';\n\t\tdisplay: block;\n\t\twidth: 8px;\n\t\theight: 100%;\n\t\tposition: absolute;\n\t\tinset-inline-start: 0;\n\t\ttop: 0;\n\t\tbackground-color: ${(p) => p.$colors.vLine};\n\t}\n\n\t.icon {\n\t\tmin-width: 40px;\n\t\theight: 40px;\n\t\tbackground-image: url(${(p) => p.$colors.icon});\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: contain;\n\t\tmargin-inline-end: 12px;\n\t}\n\t.content {\n\t\twidth: 100%;\n\t\t.leadText {\n\t\t\tfont-size: 16px;\n\t\t\tfont-weight: 600;\n\t\t\tmin-height: 40px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n}\n\t\t.helpText {\n\t\t\tfont-size: 14px;\n\t\t\tcolor: ${(p) => p.$theme.palette.neutral[700]};\n\t\t\tmargin-top: 8px;\n\t\t}\n\t\t}\n\t\t.actions {\n\t\t\tmargin-top: 16px;\n\t\t\tbutton {\n\t\t\t\tmargin-inline-end: 8px;\n\t\t\t}\n}\n\t.close {\n\t\tmargin-inline-start: 12px;\n\t\tcursor: pointer;\n\t\tbackground-image: url(${buttonCloseIcon});\n\t\tbackground-repeat: no-repeat;\n\t\tmin-width: 20px;\n\t\theight: 20px;\n\t\tmargin-top: 10px;\n\t\t&:hover {\n\t\t\ttransform: scale(1.1);\n\t\t}\n\t}\n\n\t&.mobile {\n\t\tflex-direction: column;\n\n\t\t&::before {\n\t\t\twidth: 100%;\n\t\t\theight: 8px;\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t}\n\t\t.icon {\n\t\t\tmargin-bottom: 16px;\n\t\t}\n\t\t.content {\n\t\t\t.title {\n\t\t\t\tmargin-inline-end: 16px;\n\t\t\t}\n\t\t\t.actionButtons {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\n\t\t\t\tbutton {\n\t\t\t\t\tmargin-inline-end: 0;\n\t\t\t\t\tmargin-bottom: 8px;\n\n\t\t\t\t\t&:last-child {\n\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t.close {\n\t\t\tmargin-inline-start: 0;\n\t\t\tposition: absolute;\n\t\t\tinset-inline-end: 16px;\n\t\t\ttop: 16px;\n\t\t}\n\t}\n\n\t&.minimal {\n\t\tpadding: 16px 24px;\n\n\t\t&.mobile {\n\t\t\tpadding-top: 14px;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\n\t\t\t.icon {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t\t.close {\n\t\t\t\tposition: initial;\n\t\t\t\tmargin-top: 0;\n\t\t\t\tmargin-inline-start: 16px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\ninterface Props extends NotificationToastProps {\n position?: Position;\n duration?: number;\n rtl?: boolean;\n}\n\nconst toast: (props: Props) => void = ({\n position = \"bottom-left\",\n duration = 993000,\n rtl,\n ...props\n}) => {\n const container = document.createElement(\"div\");\n container.className = \"dgaui dgaui_toastContainer\";\n const body = document.getElementsByTagName(\"body\")[0];\n body.appendChild(container);\n\n const root = createRoot(container);\n\n const onCloseHandler = () => {\n props.onClose?.();\n root.unmount();\n container.remove();\n };\n\n const closeHandler = () => {\n addCloseClass();\n setTimeout(onCloseHandler, 200);\n };\n\n const addCloseClass = () => {\n if (container.childNodes[0] && container.childNodes[0] instanceof Element) {\n container.childNodes[0].className =\n container.childNodes[0].className + \" toastClose\";\n }\n };\n\n setTimeout(addCloseClass, +duration);\n setTimeout(onCloseHandler, +duration + 200);\n\n root.render(\n <StyledComponent className=\"dgaui_toast\" $position={position}>\n <NotificationToast\n {...props}\n onClose={closeHandler}\n closeButton={props.closeButton}\n style={{ direction: rtl ? \"rtl\" : \"ltr\" }}\n />\n </StyledComponent>\n );\n};\n\nconst getAnimation = (position: Position) => {\n switch (position) {\n case \"top-left\": {\n return {\n keyframes: keyframes`\n from {\n left: -484px;\n }\n to {\n left: 16px;\n }\n `,\n css: css`\n top: 16px;\n left: 16px;\n `,\n backCss: css`\n left: -484px;\n `,\n mobileCss: css`\n padding-inline-end: 16px;\n `,\n };\n }\n case \"top-center\": {\n return {\n keyframes: keyframes`\n from {\n top: -100vh;\n }\n to {\n top: 16px;\n }\n `,\n css: css`\n top: 16px;\n left: calc(50% - 242px);\n `,\n backCss: css`\n top: -100vh;\n `,\n mobileCss: css`\n padding: 0 8px;\n `,\n };\n }\n case \"top-right\": {\n return {\n keyframes: keyframes`\n from {\n right: -484px;\n }\n to {\n right: 16px;\n }\n `,\n css: css`\n top: 16px;\n right: 16px;\n `,\n backCss: css`\n right: -484px;\n `,\n mobileCss: css`\n padding-inline-start: 16px;\n `,\n };\n }\n case \"bottom-left\": {\n return {\n keyframes: keyframes`\n from {\n left: -484px;\n }\n to {\n left: 16px;\n }\n `,\n css: css`\n bottom: 16px;\n left: 16px;\n `,\n backCss: css`\n left: -484px;\n `,\n mobileCss: css`\n padding-inline-end: 16px;\n `,\n };\n }\n case \"bottom-center\": {\n return {\n keyframes: keyframes`\n from {\n bottom: -100vh;\n }\n to {\n bottom: 16px;\n }\n `,\n css: css`\n bottom: 16px;\n left: calc(50% - 242px);\n `,\n backCss: css`\n bottom: -100vh;\n `,\n mobileCss: css`\n padding: 0 8px;\n `,\n };\n }\n case \"bottom-right\": {\n return {\n keyframes: keyframes`\n from {\n right: -484px;\n }\n to {\n right: 16px;\n }\n `,\n css: css`\n bottom: 16px;\n right: 16px;\n `,\n backCss: css`\n right: -484px;\n `,\n mobileCss: css`\n padding-inline-start: 16px;\n `,\n };\n }\n }\n};\n\nconst StyledComponent = styled.div<{ $position: Position }>`\n z-index: 2500;\n width: 484px;\n background-color: #fff;\n position: fixed;\n transition: all 0.2s;\n ${(p) => getAnimation(p.$position)?.css};\n animation: ${(p) => getAnimation(p.$position)?.keyframes} 0.2s\n cubic-bezier(0.075, 0.82, 0.165, 1);\n\n &.toastClose {\n ${(p) => getAnimation(p.$position)?.backCss};\n animation-direction: reverse;\n }\n\n .dgaui_inlineAlert {\n box-shadow: 0 32px 64px -12px #10182824;\n }\n\n &:has(.dgaui_inlineAlert.mobile) {\n ${(p) => getAnimation(p.$position)?.mobileCss};\n }\n\n @media screen and (max-width: 640px) {\n width: calc(100% - 32px);\n }\n`;\n\nexport default toast;\n","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKKADAAQAAAABAAAAKAAAAAB65masAAAE2ElEQVRYCc1ZTWxbRRCeffYzaQqp05LYlYJkV0JCodRBHBrEoQ5I7RkJOHBqpXB2Um5wiHPJjWCfATVcQIIDEidSCSWcmhxAaYBwqNQYEUTSNsSN0kT4b/lmnffs5L2194X8MJLz9s3M7n47Mzs7+yLogCTLD9NUpQESdIWEGMAwUSKJH5Mool0gSQW83CWLZoXdM4t2YBJBeki5EaVKJUNSjDTAmI4gCtCcJTs0LkQ3t43ICOAusDFYBMAOg8SUKdC2AGVpPQNrZYNbrN1C2KK1cRHpnWql2RIg4uzjw7OaFkZORHpGdVJfgMql5co36JTWdTxk/gLZ4SHEJjbXXrL2vu6+lSszaKV9ZUfDHKC6QTyjewAqtxLSx/FTWpYQUvtoj4tl6cF15LBb+3SO97VWHRUd8ZwzqQtQ7mwkKFSFa2XCEZ7Qs4h4TDrx2HBxqDr2PwDHNokiHoGlTsqCdetVlh1mkOffP9+h1bnbtDY/TeWtx6prZ+w56kr2U98bb9PZl14NMlxD1w53sxXrAEuPbsF61xvS9q3tByu0mLtJDJBBxC9fpVMAZp/uos37v9L6L3O0NjdN8cFr9MJwljpjfe0HbdaQSOJPxbIOQFjPPPYYwNwH71DXhRcplZkEMP/Jd7CIu1jEztof9MqHnyr9Zgxt2kUk8G6hqhJJM22UXTFbbh7g+l5/i55/96bLb9W498UkFb79jF7LTwezpKAhi2rBEvJvn2TpVG+fMTgGzgt5BtZezJstyF0syjkLtVrKZbRpcLxxXLFb/cixlJ8sNTKp4nUdY5hTLW2hGEiYdlj5/msV9PqY+1NtEL/x2Oq8mdaw443JCqU4DyZMO2wuL9HZiwdMG5gkfvkaAH5nOh30ZJQBRk17bGM3dl3oN1X36HVgt1eebHr4LRjRcAuhr6jcYoLewau4ougpghwZlBgg12BGVrSfPoOctqKdoxNxFj59RivfvL+kkrlWwSsowsV8AzOjGGJoFUeajhbz79NPE8M6MU6XO+oI1Cp4BQWLhFzw8v05MbiQU822xop8WlzKfOTbmRM8pyg+n42pVvvdwt32B9MO55AmOFXoEi6nEj7+/IjP7RjO5UDFg7AWLAqRsQV5Yk64fBbf+9JT/PrhUjzW5fO4fzir1fEV8IWfBSi1N/Aw2iiszwB/nHhPHXmXcKroKhWn4mH9wYmvtNblMb0kC7iSJusA/3mYRX4Y8yrpOVypLOFc5rhi1527OKgAcBpia63O33ZLsVYVj34GMSUiz96oA+RPGuUKWzEw8abhI5BPGU7kTJyOeMfHsakCxVzz7HYFZf/5ggLIfFl6lMPfTLPOybXr1uP5GwDrVlwGzzgWj2YB+CpmV3GJP1/g8fksVrR7ixp33k/wOe6AYwwuQH5BiQ03izy3T4Zkfv/HJNfFzYCQdmbwnm7mHX1bLgDcy/vn2WNBV2iH30R7wX0/+gY+bD4Z8pvGF6C6j0Z6sJrjcDe7tQebIlk0BugoIlGOIPXcwK/g8A7xWcSFbRRuxRx68rVgs7oK2mp1iKT8vJn/39oyT/ZWUnTwpmxNvptE10Xu/JUgK5RF9rwC9yd0ehp+ERe0PEW2cjp3+vULBLB5AHXhr9+pUwCcgIx/UfyYilgAAKHWlCjnUDEd9N8Q/wKvLq424p4TIgAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKKADAAQAAAABAAAAKAAAAAB65masAAAFJklEQVRYCc1YTWhcVRQ+976JKGbamSZTqBA7cadTSFqp0LpwgoUWdCNNshKMSFcFmxDQ5cxsKyURrAsDNgtXMdBNhQSVTBdaiCgjmLgzo4EKTdKZZlIjZN69nu8mb/pmMj/3hST1wMy7P+fne+eec+59V9AeaUWXklKpXi3kG0LrXiIR0UQRqBNERf7Lcz+vNf1KkrIxEc7uxRTrsqeC1hFFG9dI0bAHxlZakADgrCOdTFQ8l7eXs+DcAZbSDMyC3YJFTNoCbenBNQ2P6XRQj7VCaTyqVaYzdGSyGW9TgGu6NLZ/XqsPQ0sxHhPtI/VnTTzvnsKSunrjNmlK7p7d/xEhKCdFuS8qosVa7bJ2AH2lH88dFjjY40zvdXXoNtq1tAugWVZTNmpZD7jPq7WiN8ZqrVTF4Gp5fYiEuFXLdJh9TWok5hwd92xWABb0Zlwpd06TjnuTT+lZdGS524vHyhK7yk39D8DBJ5EytaU85xgPwnuuKi95g0GeP/6xQLOL8zSz+BM92nxsRF88dpwSJ07SwJk+Ov9SIoi6Ci97MQovGoCr7gbHnR6qzFo0lgsPaGT6JgHg+e4EXXzlNeo6FqMjzz5PC/fzdI/HZ36fp0s8nnl7iLqixy20PmHRRJmYE04bgGvuxlKQ5f2NAfRPpOjUiTiNDVxtaNx7ieXCCn357keUeCH+BEHrVrHTCUcFTiVC0Vxr/m0OGO2fSNPgmSSNXhi0Ervx3RRN/PANffvhJw1fpp4i3sX6JJ9MkvUmG42l7kxSVyRmDQ568CKn2HsIiUAkRa8UmnpshRBvM5wQWFYbWv93O2nAO9Z/1cQrdFiTVknJ+2DcVmDq5zkT9DYBf+P7Kbr8RbqiGjLI6FnOdlsSQvZIzpa4rcDi33k6Z1E2AA5xN3phoEr1xZfPmhWoGmza0REU6khTHt/kX5yNCc5cP6Gk+GnqlzkDbpyXFCXGT11cH71a6R9v0jYAm8zvnlrf/Kdq8DKXm5Hpz8wY4nP465s0+uYgDb7aV8WHDmpkUAqxAM5gVl48ygaWiw+qbExfyZia+GjzukkCgGtUfhbuLwUqM8AmBWkAtKJLibNmW/Mzo3wAJLLzyutvNQQHmXtLC1xuTvrFm7aFEHmptcg15fJNYjsDEBRrPwHk/MefNwUHGezX2J9tSSn1p9RC3LUVQJnAr17BbRVfkEHSBDo8CJHjnURbexAvgoKLvRilxJbAi/0Yh4ZApCgrILDqlgr8sEoU8APgB19d54CPGcCNCrd3WAA/4hShYEv4LO1w2rsNwBW3hGNNylYYfDCeunPLxBWW7hwfuXBawfa2/HCFZvmohXjFUazZiaexTTHZ6bS/bwAWdCHiqhC8GJgAAlsgdhkUchDKETIeSRUo5oz09t/OsT9vAGJodas0zpc813w8T7G57T0AqADc8eISj1nH4kG8AWJPyi18xOehv/LRZM7/rsochNEgOjXf13jgqgCi0/EMf48q+jSIwn3lZdu1l0mVJfYbWlWlQ736gG3e1nIdsv20HwfalSX2Tzii/I7gCx3/2IG2BWWl2OqrZ6MuQMRjhwyfPpTlxrLKcN2bLQCuC9B7k8628DBfPXGxFHlvbL+eHFtF7YoRY6OJ0roxWMvPJSi+5Tpp/oB5r3ZuT332mhMqp7FSreStAHpKPKAO3+wH+dCHPDymGFgoVB63AebZDATQE8JzZauU5ABJcjL1sJI4X3jG9U6RBxi+SinyUS4ntLqrlMzF2sJZv7xt+z/+xgcVO9htPQAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useTheme from \"../../lib/useTheme\";\nimport qIcon from \"../../assets/images/qIcon.png\";\n\nconst caretSize = 6;\n\ninterface DGA_TooltipProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"|\"content\"> {\n children: React.ReactNode;\n title?: React.ReactNode;\n content?: React.ReactNode;\n jsxContents?: React.ReactNode;\n beakPlacement?: \"top\" | \"bottom\" | \"left\" | \"right\";\n beakAlignment?: \"start\" | \"end\" | \"center\";\n noBeak?: boolean;\n inverted?: boolean;\n backgroundColor?: string;\n icon?: boolean;\n}\n\nconst Tooltip: React.FC<DGA_TooltipProps> = ({\n title,\n content,\n jsxContents,\n children,\n beakPlacement = \"top\",\n beakAlignment = \"center\",\n noBeak,\n inverted,\n backgroundColor,\n icon = false,\n ...props\n}) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n const [contentClicked, setContentClicked] = React.useState(false);\n const ref = React.useRef<HTMLDivElement>(null);\n const tooltipRef = React.useRef<HTMLDivElement>(null);\n const [position, setPosition] = React.useState({\n top: 0,\n left: 0,\n caret: {\n top: 0,\n left: 0,\n color: \"\",\n },\n });\n\n const showTooltip = open || contentClicked;\n let caretColor = inverted ? theme.palette.neutral[800] : \"#fff\";\n if (backgroundColor) {\n caretColor = backgroundColor;\n }\n\n const caretColors = {\n toBottom: `${caretColor} transparent transparent transparent`,\n toTop: `transparent transparent ${caretColor} transparent`,\n toLeft: `transparent ${caretColor} transparent transparent`,\n toRight: `transparent transparent transparent ${caretColor}`,\n };\n\n const calcPosition = () => {\n if (ref.current && tooltipRef.current) {\n let newTop = 0;\n let newLeft = 0;\n let newCaret = {\n top: 0,\n left: 0,\n color: \"\",\n };\n const childrenWidth = ref.current.clientWidth;\n const childrenHeight = ref.current.clientHeight;\n const childrenTop = ref.current.offsetTop;\n const childrenLeft = ref.current.offsetLeft;\n const tooltipWidth = tooltipRef.current.clientWidth;\n const tooltipHeight = tooltipRef.current.clientHeight;\n\n if (beakPlacement === \"top\" && beakAlignment === \"start\") {\n newTop = childrenTop - tooltipHeight - caretSize;\n newLeft = childrenLeft;\n newCaret = {\n top: childrenTop - caretSize,\n left: childrenLeft + caretSize,\n color: caretColors.toBottom,\n };\n }\n if (beakPlacement === \"top\" && beakAlignment === \"center\") {\n newTop = childrenTop - tooltipHeight - caretSize;\n newLeft = childrenLeft - tooltipWidth / 2;\n newCaret = {\n top: childrenTop - caretSize,\n left: childrenLeft,\n color: caretColors.toBottom,\n };\n }\n if (beakPlacement === \"top\" && beakAlignment === \"end\") {\n newTop = childrenTop - tooltipHeight - caretSize;\n newLeft = childrenLeft + caretSize * 3 - tooltipWidth;\n newCaret = {\n top: childrenTop - caretSize,\n left: childrenLeft,\n color: caretColors.toBottom,\n };\n }\n\n if (beakPlacement === \"bottom\" && beakAlignment === \"start\") {\n newTop = childrenTop + childrenHeight + caretSize;\n newLeft = childrenLeft;\n newCaret = {\n top: childrenTop + childrenHeight - caretSize,\n left: childrenLeft + caretSize,\n color: caretColors.toTop,\n };\n }\n if (beakPlacement === \"bottom\" && beakAlignment === \"center\") {\n newTop = childrenTop + childrenHeight + caretSize;\n newLeft = childrenLeft - tooltipWidth / 2;\n newCaret = {\n top: childrenTop + childrenHeight - caretSize,\n left: childrenLeft,\n color: caretColors.toTop,\n };\n }\n if (beakPlacement === \"bottom\" && beakAlignment === \"end\") {\n newTop = childrenTop + childrenHeight + caretSize;\n newLeft = childrenLeft + caretSize * 4 - tooltipWidth;\n newCaret = {\n top: childrenTop + childrenHeight - caretSize,\n left: childrenLeft + caretSize,\n color: caretColors.toTop,\n };\n }\n\n if (beakPlacement === \"left\" && beakAlignment === \"start\") {\n newTop = childrenTop;\n newLeft = childrenLeft - tooltipWidth - caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft - caretSize,\n color: caretColors.toRight,\n };\n }\n if (beakPlacement === \"left\" && beakAlignment === \"center\") {\n newTop = childrenTop + caretSize * 1.5 - tooltipHeight / 2;\n newLeft = childrenLeft - tooltipWidth - caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft - caretSize,\n color: caretColors.toRight,\n };\n }\n if (beakPlacement === \"left\" && beakAlignment === \"end\") {\n newTop = childrenTop - tooltipHeight + caretSize * 4;\n newLeft = childrenLeft - tooltipWidth - caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft - caretSize,\n color: caretColors.toRight,\n };\n }\n\n if (beakPlacement === \"right\" && beakAlignment === \"start\") {\n newTop = childrenTop;\n newLeft = childrenLeft + childrenWidth + caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft + childrenWidth - caretSize,\n color: caretColors.toLeft,\n };\n }\n if (beakPlacement === \"right\" && beakAlignment === \"center\") {\n newTop = childrenTop - tooltipHeight / 2 + caretSize * 2;\n newLeft = childrenLeft + childrenWidth + caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft + childrenWidth - caretSize,\n color: caretColors.toLeft,\n };\n }\n if (beakPlacement === \"right\" && beakAlignment === \"end\") {\n newTop = childrenTop - tooltipHeight + caretSize * 4;\n newLeft = childrenLeft + childrenWidth + caretSize;\n newCaret = {\n top: childrenTop + caretSize,\n left: childrenLeft + childrenWidth - caretSize,\n color: caretColors.toLeft,\n };\n }\n\n setPosition({\n top: newTop,\n left: newLeft,\n caret: newCaret,\n });\n }\n };\n\n React.useEffect(() => {\n if (ref.current) {\n calcPosition();\n\n const resizeHandler = () => {\n calcPosition();\n };\n\n const clickHandler = (e: MouseEvent) => {\n // Clicked outside\n if (!ref.current?.contains(e.target as any)) {\n setOpen(false);\n setContentClicked(false);\n }\n };\n\n const mouseoverHandler = (e: MouseEvent) => {\n calcPosition();\n setOpen(true);\n };\n\n const mouseleaveHandler = () => {\n setOpen(false);\n };\n\n window.addEventListener(\"click\", clickHandler);\n window.addEventListener(\"resize\", resizeHandler);\n ref.current.addEventListener(\"mouseover\", mouseoverHandler);\n ref.current.addEventListener(\"mouseleave\", mouseleaveHandler);\n ref.current.addEventListener(\"click\", mouseoverHandler);\n\n return () => {\n window.removeEventListener(\"resize\", resizeHandler);\n window.removeEventListener(\"click\", clickHandler);\n ref?.current?.removeEventListener(\"mouseover\", mouseoverHandler);\n ref?.current?.removeEventListener(\"mouseleave\", mouseleaveHandler);\n ref?.current?.removeEventListener(\"click\", mouseoverHandler);\n };\n }\n }, [ref, tooltipRef, beakPlacement, beakAlignment]);\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_tooltip\", props.className)}\n $theme={theme}\n $inverted={inverted}\n {...props}\n ref={ref}\n onClick={() => {\n setContentClicked(true);\n }}\n $position={position}\n >\n {children}\n\n <StyledDiv\n ref={tooltipRef}\n $theme={theme}\n $position={position}\n $inverted={inverted}\n $backgroundColor={backgroundColor}\n className={\n \"dgaui_tooltipContent\" + (showTooltip ? \" show-tooltip\" : \"\")\n }\n >\n {jsxContents && jsxContents}\n {!jsxContents && (\n <>\n {icon && (\n <div className=\"dgaui_tooltipContentIcon\">\n <img src={qIcon} />\n </div>\n )}\n <div className=\"dgaui_tooltipContentText\">\n <div className=\"dgaui_tooltipTitle\">{title}</div>\n <div className=\"dgaui_tooltipDescription\">{content}</div>\n </div>\n </>\n )}\n </StyledDiv>\n {!noBeak && <span className={showTooltip ? \"show\" : \"\"} />}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $position: {\n top: number;\n left: number;\n caret: { top: number; left: number; color: string };\n };\n $inverted?: boolean;\n}>`\n direction: ${(props) => props.$theme.direction};\n display: inline-block;\n\n span {\n position: absolute;\n display: none;\n z-index: 1;\n border-style: solid;\n top: ${(p) => p.$position.caret.top}px;\n left: ${(p) => p.$position.caret.left}px;\n ${(p) => p.$theme.elevation.shadows.lg}\n border-width: ${caretSize}px;\n border-color: ${(p) => p.$position.caret.color};\n\n &.show {\n display: initial;\n }\n }\n`;\n\nconst StyledDiv = styled.div<{\n $theme: Theme;\n $position: { top: number; left: number };\n $inverted?: boolean;\n $backgroundColor?: string;\n}>`\n position: absolute;\n top: ${(p) => p.$position.top}px;\n left: ${(p) => p.$position.left}px;\n z-index: 1;\n background-color: ${(p) =>\n p.$backgroundColor\n ? p.$backgroundColor\n : p.$inverted\n ? p.$theme.palette.neutral[800]\n : \"#fff\"};\n width: 240px;\n opacity: 0;\n display: flex;\n visibility: hidden;\n max-height: 400px;\n\n border-radius: 4px;\n ${(p) => p.$theme.elevation.shadows.lg}\n\n .dgaui_tooltipContentIcon {\n padding: 8px;\n padding-inline-end: 0;\n\n img {\n width: 18px;\n height: 18px;\n }\n }\n .dgaui_tooltipContentText {\n padding: 8px;\n font-size: 12px;\n\n .dgaui_tooltipTitle {\n font-weight: 600;\n color: ${(p) =>\n p.$inverted\n ? p.$theme.palette.neutral[50]\n : p.$theme.palette.neutral[800]};\n }\n .dgaui_tooltipDescription {\n margin-top: 8px;\n color: ${(p) =>\n p.$inverted\n ? p.$theme.palette.neutral[100]\n : p.$theme.palette.neutral[700]};\n line-height: 16px;\n }\n }\n\n &.show-tooltip {\n visibility: visible;\n\n animation: show-tooltip 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;\n }\n @keyframes show-tooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n`;\n\nexport default Tooltip;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport interface DGA_HeaderMenuItemProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n selected?: boolean;\n}\n\nconst HeaderMenuItem: React.FC<DGA_HeaderMenuItemProps> = ({\n children,\n selected,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_headerMenuItem\", props.className)}\n $theme={theme}\n $selected={selected}\n >\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.button<{\n $theme: Theme;\n $selected?: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: 72px;\n outline: none;\n background-color: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : \"transparent\"};\n border-radius: 4px;\n font-weight: ${(p) => (p.$selected ? 600 : 500)};\n color: ${(p) => (p.$selected ? \"#fff\" : p.$theme.textColor)};\n padding: 8px 16px;\n box-sizing: border-box;\n position: relative;\n cursor: pointer;\n border: 2px solid transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n\n &::after {\n content: \"\";\n display: block;\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n position: absolute;\n z-index: 2;\n height: 6px;\n width: 90%;\n bottom: -2px;\n border-radius: 100px;\n background: ${(p) =>\n p.$selected ? p.$theme.palette.primary[400] : p.$theme.textColor};\n }\n\n &:hover {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[700]\n : p.$theme.palette.neutral[100]};\n &::after {\n opacity: 1;\n background: ${(p) =>\n p.$selected ?p.$theme.palette.primary[400] : p.$theme.palette.neutral[400]};\n }\n }\n &:active {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[900]\n : p.$theme.palette.neutral[200]};\n &::after {\n opacity: 1;\n background: ${(p) =>\n p.$selected ? p.$theme.palette.primary[400] : p.$theme.palette.neutral[800]};\n }\n }\n\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n &::after {\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n }\n }\n`;\n\nexport default HeaderMenuItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport arrowDownImage from \"../../assets/images/chevron.png\";\n\nexport interface DGA_NavigationDrawerItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n children?: React.ReactNode;\n title: React.ReactNode;\n selected?: boolean;\n disabled?: boolean;\n expanded?: boolean;\n defaultExpanded?: boolean;\n type?: \"divider\" | \"parent\" | \"link\";\n level?: 1 | 2;\n}\n\nconst NavigationDrawerItem: React.FC<DGA_NavigationDrawerItemProps> = ({\n children,\n title,\n selected,\n type = \"link\",\n level = 1,\n disabled,\n expanded,\n defaultExpanded,\n ...props\n}) => {\n const theme = useTheme();\n const [open, setOpen] = React.useState(defaultExpanded);\n const [contentHeight, setContentHeight] = React.useState(0);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n const showContent = typeof expanded !== \"undefined\" ? expanded : open;\n\n const onTitleClickedHandler = () => {\n setOpen(!showContent);\n };\n\n const className = mergeStrings(\n \"dgaui dgaui_ndi\" +\n (disabled ? \" disabled\" : \"\") +\n (type === \"parent\" ? \" parent\" : \"\"),\n props.className\n );\n\n React.useEffect(() => {\n if (contentRef.current?.clientHeight) {\n setContentHeight(contentRef.current.clientHeight+10);//10 for content padding\n }\n }, [contentRef.current?.clientHeight]);\n\n if (type === \"divider\") {\n return <StyledComponentDivider />;\n }\n\n return (\n <>\n <StyledComponent\n {...props}\n className={className}\n $theme={theme}\n $selected={selected}\n $level={level}\n $type={type}\n tabIndex={0}\n onClick={onTitleClickedHandler}\n >\n {title}\n {type === \"parent\" && (\n <img\n src={arrowDownImage}\n style={{\n transition: \"all 0.2s\",\n transform: showContent ? \"rotateZ(180deg)\" : \"none\",\n }}\n />\n )}\n </StyledComponent>\n {type === \"parent\" && (\n <div\n className=\"dgaui_ndiContent\"\n style={{\n direction: theme.direction,\n height: showContent ? contentHeight : 0,\n overflow: \"hidden\",\n transition: \"all 0.2s\",\n }}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n )}\n </>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $selected?: boolean;\n $vertical?: boolean;\n $level: 1 | 2;\n $type: \"divider\" | \"parent\" | \"link\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: 36px;\n outline: none;\n background-color: ${(p) =>\n p.$selected ? p.$theme.palette.neutral[200] : \"transparent\"};\n font-weight: ${(p) => (p.$level === 1 ? 600 : 400)};\n color: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : p.$theme.textColor};\n padding: 8px 16px;\n position: relative;\n cursor: pointer;\n border: 2px solid transparent;\n border-radius: 4px;\n display: flex;\n justify-content: ${(p) =>\n p.$type === \"parent\" ? \"space-between\" : \"flex-start\"};\n align-items: center;\n\n &::after {\n content: \"\";\n display: block;\n opacity: ${(p) => (p.$selected ? 1 : 0)};\n height: 75%;\n width: 6px;\n border-radius: 10px;\n bottom: auto;\n inset-inline-start: -2px;\n position: absolute;\n z-index: 2;\n background: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : p.$theme.textColor};\n }\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n\n &::after {\n opacity: 1;\n background: ${(p) => p.$theme.palette.neutral[400]};\n }\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n\n &::after {\n background: ${(p) => p.$theme.palette.neutral[800]};\n opacity: 1;\n }\n }\n\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n &::after {\n opacity: 0;\n }\n }\n &.disabled {\n pointer-events: none;\n color: ${(p) => p.$theme.palette.neutral[400]};\n cursor: default;\n pointer-events: none;\n &::after {\n opacity: 0;\n background: ${(p) => (p.$selected ? p.$theme.palette.neutral[400] : \"\")};\n }\n img {\n filter: opacity(0.5) grayscale(100%);\n }\n }\n`;\n\nconst StyledComponentDivider = styled.div`\n margin: 8px 16px;\n height: 1px;\n background-color: #d2d6db;\n width: 100%;\n`;\n\nexport default NavigationDrawerItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport TextInput from \"../TextInput\";\nimport searchByVoiceIcon from \"../../assets/images/searchByVoice.png\";\n\nconst sizes = {\n medium: { w: 320, h: 32, p: 8, f: 14, prefixW: 72 },\n large: { w: 320, h: 40, p: 8, f: 16, prefixW: 61 },\n};\n\ntype Style = \"default\" | \"filledDarker\" | \"filledLighter\";\n\nexport interface DGA_SeachBoxProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"style\"> {\n label?: React.ReactNode;\n size?: \"large\" | \"medium\";\n style?: Style;\n icon?: React.ReactNode;\n showTrailingIcon?: boolean;\n showLabel?: boolean;\n helperText?: React.ReactNode;\n onSearchByVoiceClicked?: Function;\n}\n\nconst SearchBox: React.FC<DGA_SeachBoxProps> = ({\n label,\n icon,\n showTrailingIcon = true,\n showLabel = true,\n helperText,\n onSearchByVoiceClicked,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_searchBox\", props.className)}\n $showTrailingIcon={showTrailingIcon}\n $showLabel={showLabel && !!label}\n $disabled={props.disabled}\n $theme={theme}\n >\n {showLabel && (\n <label\n style={{ marginBottom: 13, textAlign: \"start\" }}\n htmlFor={props.id}\n >\n {label}\n </label>\n )}\n <TextInput {...props} icon={icon} />\n {showTrailingIcon && (\n <img\n className=\"dgaui_searchBox_trailIcon\"\n src={searchByVoiceIcon}\n onClick={() => onSearchByVoiceClicked?.()}\n />\n )}\n {helperText && (\n <div className=\"dgaui dgaui_searchBox_helperText\">{helperText}</div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $showTrailingIcon: boolean;\n $showLabel: boolean;\n $disabled?: boolean;\n $theme: Theme;\n}>`\n direction: ${(props) => props.$theme.direction};\n\n .dgaui_searchBox_trailIcon {\n width: 16px;\n height: auto;\n position: absolute;\n inset-inline-end: 16px;\n top: ${({ $showLabel }) => ($showLabel ? \"50px\" : \"30px\")};\n cursor: pointer;\n }\n\n ${(p) =>\n p.$showTrailingIcon\n ? `\n .dgaui_textInput_input{\n padding-inline-end: 24px;\n }\n `\n : \"\"}\n\n .dgaui_searchBox_helperText {\n margin-top: 8px;\n color: ${p => p.$disabled ? p.$theme.palette.neutral[400] : \"unset\"};\n }\n`;\n\nexport default SearchBox;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\nexport const sizes = {\n small: { h: 32 },\n medium: { h: 40 },\n large: { h: 48 },\n};\n\ninterface DGA_ContentSwitcherProps\n extends React.ButtonHTMLAttributes<HTMLDivElement> {\n size?: Size;\n onColor?: boolean;\n data: { text: React.ReactNode; active?: boolean; onClick?: Function }[];\n onItemClicked?: (item: any, index: number) => void;\n}\n\nconst ContentSwitcher: React.FC<DGA_ContentSwitcherProps> = ({\n size = \"medium\",\n onColor = false,\n data,\n onItemClicked,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n $onColor={onColor}\n $size={size}\n className={mergeStrings(\n \"dgaui dgaui_contentSwitcher\" + (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n >\n {data.map((item, index) => (\n <div\n key={index}\n tabIndex={0}\n className={\n \"dgaui dgaui_contentSwitcherItem\" + (item.active ? \" active\" : \"\")\n }\n onClick={() => onItemClicked && onItemClicked(item, index)}\n >\n {item.text}\n </div>\n ))}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $onColor: boolean;\n $size: Size;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n align-items: center;\n height: ${(p) => sizes[p.$size].h}px;\n border-radius: 8px;\n overflow: hidden;\n\n .dgaui_contentSwitcherItem {\n background-color: ${(p) =>\n p.$onColor ? COLORS.white20 : p.$theme.palette.neutral[100]};\n outline: none;\n color: ${(p) => (p.$onColor ? COLORS.white : p.$theme.textColor)};\n height: 100%;\n padding: 8px 16px;\n border-inline-end: 1px solid #d2d6db;\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n border: 2px solid transparent;\n\n &.active {\n background-color: ${(p) => p.$theme.palette.neutral[950]};\n color: #fff;\n }\n\n &:focus {\n background-color: ${(p) => p.$theme.palette.neutral[950]};\n color: #fff;\n border: 2px solid #161616;\n box-sizing: border-box;\n\n &:after {\n content: \"\";\n display: block;\n background-color: transparent;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n\n border: 1px solid #fff;\n box-sizing: border-box;\n }\n }\n\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[950]};\n color: #fff;\n }\n\n &:first-child {\n border-start-start-radius: 8px;\n border-end-start-radius: 8px;\n &:focus:after {\n border-start-start-radius: 8px;\n border-end-start-radius: 8px;\n }\n }\n\n &:last-child {\n border-start-end-radius: 8px;\n border-end-end-radius: 8px;\n &:focus:after {\n border-start-end-radius: 8px;\n border-end-end-radius: 8px;\n }\n }\n }\n\n &.onColor {\n .dgaui_contentSwitcherItem {\n &.active {\n background-color: ${(p) => p.$theme.palette.primary[600]};\n }\n }\n }\n`;\n\nexport default ContentSwitcher;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport { COLORS } from \"../../lib/constants\";\nimport useTheme from \"../../lib/useTheme\";\n\ntype DividerColor = \"neutral\" | \"alphaWhite\" | \"white\" | \"primary\";\n\ninterface DGA_DividerProps extends React.HTMLAttributes<HTMLHRElement> {\n color?: DividerColor;\n lineType?: \"horizontal\" | \"vertical\";\n}\n\nconst Divider: React.FC<DGA_DividerProps> = ({\n color,\n lineType = \"horizontal\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $color={color}\n $lineType={lineType}\n className={mergeStrings(\"dgaui dgaui_divider\", props.className)}\n />\n );\n};\n\nconst StyledComponent = styled.hr<{\n $theme: Theme;\n $color?: DividerColor;\n $lineType: \"horizontal\" | \"vertical\";\n}>`\n outline: none;\n border: none;\n ${(p) => p.$lineType === \"vertical\" && \"height: 100%; width: 1px;\"}\n ${(p) => p.$lineType === \"horizontal\" && \"height: 1px; width: 100%;\"}\n \n ${(p) =>\n p.$color === \"neutral\" &&\n `background-color: ${p.$theme.palette.neutral[300]};`}\n ${(p) =>\n p.$color === \"primary\" &&\n `background-color: ${p.$theme.palette.primary[600]};`}\n ${(p) => p.$color === \"alphaWhite\" && `background-color: ${COLORS.white30};`}\n ${(p) => p.$color === \"white\" && `background-color: ${COLORS.white};`}\n`;\n\nexport default Divider;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../../lib/helpers\";\nimport useTheme from \"../../../lib/useTheme\";\nimport \"../index.css\";\n\ntype Size = \"24px\" | \"48px\" | \"64px\" | \"80px\" | \"120px\" | \"170px\" | \"240px\";\n\ninterface DGA_SkeletonCircleProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: Size;\n}\n\nconst SkeletonCircle: React.FC<DGA_SkeletonCircleProps> = ({\n size = \"120px\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $size={size}\n className={mergeStrings(\n \"dgaui dgaui_skeletonCircle skeletonAnimation\",\n props.className\n )}\n />\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: Size;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => p.$size};\n width: ${(p) => p.$size};\n border-radius: 100%;\n`;\n\nexport default SkeletonCircle;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../../lib/helpers\";\nimport useTheme from \"../../../lib/useTheme\";\nimport \"../index.css\";\n\ninterface DGA_SkeletonLineProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: \"large\" | \"small\";\n}\n\nconst SkeletonLine: React.FC<DGA_SkeletonLineProps> = ({\n size = \"large\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $size={size}\n className={mergeStrings(\n \"dgaui dgaui_skeletonLine skeletonAnimation\",\n props.className\n )}\n />\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: \"large\" | \"small\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => (p.$size === \"large\" ? \"22px\" : \"14px\")};\n width: 100%;\n border-radius: 8px;\n`;\n\nexport default SkeletonLine;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../../lib/helpers\";\nimport useTheme from \"../../../lib/useTheme\";\nimport \"../index.css\";\n\ntype Size = \"24px\" | \"48px\" | \"64px\" | \"80px\" | \"120px\" | \"170px\" | \"240px\";\n\ninterface DGA_SkeletonSquareProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: Size;\n}\n\nconst SkeletonSquare: React.FC<DGA_SkeletonSquareProps> = ({\n size = \"120px\",\n ...props\n}) => {\n const theme = useTheme();\n\n let borderRadius = 2;\n if (size === \"64px\" || size === \"80px\") {\n borderRadius = 4;\n }\n if (size === \"170px\" || size === \"120px\") {\n borderRadius = 8;\n }\n if (size === \"240px\") {\n borderRadius = 16;\n }\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $size={size}\n $borderRadius={borderRadius}\n className={mergeStrings(\n \"dgaui dgaui_skeletonSquare skeletonAnimation\",\n props.className\n )}\n />\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: Size;\n $borderRadius: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => p.$size};\n width: ${(p) => p.$size};\n border-radius: ${(p) => p.$borderRadius}px;\n`;\n\nexport default SkeletonSquare;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../../lib/helpers\";\nimport useTheme from \"../../../lib/useTheme\";\nimport \"../index.css\";\n\ninterface DGA_SkeletonRectangleProps\n extends React.HTMLAttributes<HTMLDivElement> {\n size?: \"large\" | \"medium\" | \"small\";\n}\n\nconst SkeletonRectangle: React.FC<DGA_SkeletonRectangleProps> = ({\n size = \"large\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n {...props}\n $theme={theme}\n $size={size}\n className={mergeStrings(\n \"dgaui dgaui_skeletonRectangle skeletonAnimation\",\n props.className\n )}\n />\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: \"large\" | \"medium\" | \"small\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => (p.$size === \"large\" ? \"40px\" : p.$size === \"medium\" ? \"32px\" : \"24px\")};\n width: 100%;\n border-radius: 4px;\n`;\n\nexport default SkeletonRectangle;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useTheme from \"../../lib/useTheme\";\nimport SkeletonCircle from \"./Circle\";\nimport SkeletonLine from \"./Line\";\nimport SkeletonSquare from \"./Square\";\nimport SkeletonRectangle from \"./Rectangle\";\n\ninterface DGA_SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n type?:\n | \"imageButtonAndText\"\n | \"iconAndList\"\n | \"imageContentAndButton\"\n | \"chartAndContent\"\n | \"imageProfileContentAndButton\";\n}\n\nconst Result: React.FC<any> = ({ children, ...props }) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_skeleton\", props.className)}\n >\n {children}\n </StyledComponent>\n );\n};\n\nconst Skeleton: React.FC<DGA_SkeletonProps> = ({\n type = \"chartAndContent\",\n ...props\n}) => {\n if (type === \"chartAndContent\") {\n return (\n <Result {...props}>\n <SkeletonCircle style={{ marginBottom: 24 }} size=\"240px\" />\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonLine />\n </Result>\n );\n }\n\n if (type === \"imageContentAndButton\") {\n return (\n <Result {...props}>\n <SkeletonSquare style={{ marginBottom: 24 }} size=\"240px\" />\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonRectangle size=\"small\" style={{ width: 59, marginTop: 24 }} />\n </Result>\n );\n }\n\n if (type === \"imageProfileContentAndButton\") {\n return (\n <Result {...props}>\n <SkeletonSquare style={{ marginBottom: 24 }} size=\"240px\" />\n <div className=\"circleAndLine\">\n <SkeletonCircle size=\"24px\" />\n <SkeletonLine size=\"small\" />\n </div>\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonLine />\n <SkeletonRectangle size=\"small\" style={{ width: 59, marginTop: 24 }} />\n </Result>\n );\n }\n\n if (type === \"imageButtonAndText\") {\n return (\n <Result {...props} style={{ minWidth: 200 }}>\n <div className=\"imageButtonAndText\">\n <SkeletonCircle size=\"48px\" />\n <div className=\"rightSection\">\n <SkeletonLine size=\"small\" />\n <SkeletonRectangle size=\"small\" style={{ width: 59 }} />\n </div>\n </div>\n </Result>\n );\n }\n\n // else iconAndList\n return (\n <Result {...props} style={{ minWidth: 200 }}>\n <div className=\"iconAndList\">\n <SkeletonSquare size=\"48px\" />\n <div className=\"rightSection\">\n <SkeletonLine size=\"small\" />\n <SkeletonLine size=\"small\" />\n <SkeletonLine size=\"small\" />\n </div>\n </div>\n </Result>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n\n div {\n margin-bottom: 12px;\n }\n\n .circleAndLine {\n display: flex;\n align-items: center;\n .dgaui_skeletonLine {\n width: 67px;\n margin-inline-start: 8px;\n }\n }\n\n .imageButtonAndText {\n div {\n margin: 0;\n }\n display: flex;\n min-width: 200px;\n align-items: center;\n\n .rightSection {\n flex: 1;\n margin-inline-start: 8px;\n .dgaui_skeletonLine {\n margin-bottom: 8px;\n }\n }\n }\n\n .iconAndList {\n display: flex;\n .dgaui_skeletonSquare {\n }\n\n .rightSection {\n flex: 1;\n margin-inline-start: 24px;\n }\n }\n`;\n\nexport default Skeleton;\n","var img = \"data:image/png;base64,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\";\n export default img;","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\nimport grayIcon from \"./icons/gray.png\";\nimport default_selectedIcon from \"./icons/selected.png\";\nimport default_halfIcon from \"./icons/half.png\";\nimport brand_selectedIcon from \"./icons/brand_selected.png\";\nimport brand_halfIcon from \"./icons/brand_half.png\";\n\ninterface DGA_RatingProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n size?: Size;\n brand?: boolean;\n value?: number;\n onChange?: (value: number) => void;\n}\n\nconst Rating: React.FC<DGA_RatingProps> = ({\n size = \"medium\",\n brand = false,\n value = 0,\n onChange,\n ...props\n}) => {\n const theme = useTheme();\n const [hovering, setHovering] = React.useState(false);\n const [hoverScore, setHoverScore] = React.useState(0);\n\n const selectedIcon = brand ? brand_selectedIcon : default_selectedIcon;\n const halfIcon = brand ? brand_halfIcon : default_halfIcon;\n const imageSize = size === \"large\" ? 48 : size === \"medium\" ? 32 : 24;\n\n const onHoverHandler = (e: React.MouseEvent, starOrder: number) => {\n const isLeftStarSection = e.nativeEvent.offsetX < imageSize / 2;\n\n const newHoverScore = isLeftStarSection ? starOrder - 0.5 : starOrder;\n setHoverScore(newHoverScore);\n };\n\n const onClickHandler = () => {\n onChange?.(hoverScore);\n };\n\n const scoreResult = hovering ? hoverScore : value;\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_rating\", props.className)}\n onMouseEnter={() => setHovering(true)}\n onMouseLeave={() => setHovering(false)}\n onClick={onClickHandler}\n >\n <img\n src={\n scoreResult === 0.5\n ? halfIcon\n : scoreResult > 0.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 1)}\n />\n <img\n src={\n scoreResult === 1.5\n ? halfIcon\n : scoreResult > 1.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 2)}\n />\n <img\n src={\n scoreResult === 2.5\n ? halfIcon\n : scoreResult > 2.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 3)}\n />\n <img\n src={\n scoreResult === 3.5\n ? halfIcon\n : scoreResult > 3.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 4)}\n />\n <img\n src={\n scoreResult === 4.5\n ? halfIcon\n : scoreResult > 4.5\n ? selectedIcon\n : grayIcon\n }\n onMouseMove={(e) => onHoverHandler(e, 5)}\n />\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $size: Size;\n $theme: Theme;\n}>`\n display: flex;\n cursor: pointer;\n\n img {\n border-radius: 100%;\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n }\n\n width: ${(p) =>\n p.$size === \"large\" ? 48 : p.$size === \"medium\" ? 32 : 24}px;\n height: ${(p) =>\n p.$size === \"large\" ? 48 : p.$size === \"medium\" ? 32 : 24}px;\n margin-inline-end: 4px;\n &:last-child {\n margin-inline-end: 0;\n }\n }\n`;\n\nexport default Rating;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_ChipProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n size?: Size;\n style?: \"primary\" | \"neutral\";\n rounded?: boolean;\n selected?: boolean;\n disabled?: boolean;\n onColor?: boolean;\n children?: React.ReactNode;\n leadIcon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n}\n\nconst Chip: React.FC<DGA_ChipProps> = ({\n size = \"large\",\n style = \"primary\",\n rounded = true,\n onColor = false,\n selected = false,\n disabled = false,\n children,\n leadIcon,\n trailIcon,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $rounded={rounded}\n $selected={selected}\n className={mergeStrings(\n \"dgaui dgaui_chip\" +\n (style === \"neutral\" ? \" neutral\" : \"\") +\n (disabled ? \" disabled\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n tabIndex={0}\n {...props}\n >\n {leadIcon && <div className=\"leadIcon\">{leadIcon}</div>}\n <div>{children}</div>\n {trailIcon && <div className=\"trailIcon\">{trailIcon}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $size: Size;\n $theme: Theme;\n $rounded: boolean;\n $selected: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) =>\n p.$size === \"large\" ? 32 : p.$size === \"medium\" ? 24 : 20}px;\n padding: ${(p) => (p.$size === \"large\" ? 4 : 3)}px 12px;\n background-color: ${(p) =>\n p.$selected ? p.$theme.palette.primary[600] : p.$theme.palette.primary[50]};\n color: ${(p) => (p.$selected ? \"#fff\" : p.$theme.palette.primary[800])};\n cursor: pointer;\n display: flex;\n align-items: center;\n font-weight: ${(p) => (p.$size === \"small\" ? 600 : 500)};\n font-size: ${(p) => (p.$size === \"large\" ? 14 : 12)}px;\n border-radius: ${(p) => (p.$rounded ? 9999 : 4)}px;\n position: relative;\n outline: none;\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[200]};\n }\n\n &:focus {\n &:after {\n display: block;\n content: \"\";\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border: 3px solid #000;\n border-radius: ${(p) => (p.$rounded ? 9999 : 4)}px;\n position: absolute;\n top: -4px;\n left: -4px;\n z-index: 1;\n }\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[400]};\n color: ${(p) => p.$theme.palette.primary[900]};\n &:after {\n display: none;\n }\n }\n\n .leadIcon {\n margin-inline-end: 4px;\n }\n .trailIcon {\n margin-inline-start: 4px;\n }\n\n &.neutral {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[700]\n : p.$theme.palette.neutral[100]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[300]};\n }\n }\n\n &.disabled {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n color: ${(p) => p.$theme.palette.neutral[400]};\n pointer-events: none;\n }\n\n &.onColor {\n background-color: ${(p) => (p.$selected ? COLORS.white70 : COLORS.white)};\n color: ${(p) => p.$theme.textColor};\n\n &:hover {\n background-color: ${COLORS.white80};\n }\n &:active {\n background-color: ${COLORS.white60};\n }\n\n &.disabled {\n background-color: ${COLORS.white20};\n color: ${COLORS.white40};\n }\n }\n`;\n\nexport default Chip;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_FloatingButtonProps\n extends Omit<React.HTMLAttributes<HTMLButtonElement>, \"style\"> {\n style?: \"Primary-Neutral\" | \"Primary-Brand\" | \"Secondary-Solid\";\n iconOnly?: boolean;\n size?: \"small\" | \"large\";\n selected?: boolean;\n onColor?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n leadIcon?: React.ReactNode;\n}\n\nconst FloatingButton: React.FC<DGA_FloatingButtonProps> = ({\n size = \"large\",\n style = \"Primary-Neutral\",\n onColor = false,\n selected = false,\n disabled = false,\n iconOnly = false,\n children,\n leadIcon,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $iconOnly={iconOnly}\n $selected={selected}\n className={mergeStrings(\n \"dgaui dgaui_floatingButton\" +\n (style === \"Primary-Brand\" ? \" primaryBrand\" : \"\") +\n (style === \"Secondary-Solid\" ? \" secondarySolid\" : \"\") +\n (disabled ? \" disabled\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n {...props}\n >\n {leadIcon && <div className=\"leadIcon\">{leadIcon}</div>}\n {children && !iconOnly && <div>{children}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.button<{\n $size: \"small\" | \"large\";\n $theme: Theme;\n $selected: boolean;\n $iconOnly: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => (p.$size === \"large\" ? 64 : 56)}px;\n width: ${(p) =>\n p.$iconOnly ? (p.$size === \"large\" ? \"64px\" : \"56px\") : \"initial\"};\n padding: ${(p) => (p.$size === \"large\" ? 20 : 16)}px;\n cursor: pointer;\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: ${(p) => (p.$size === \"large\" ? 14 : 12)}px;\n border-radius: 9999px;\n position: relative;\n outline: none;\n border: none;\n justify-content: ${(p) => (p.$iconOnly ? \"center\" : \"flex-start\")};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[700]\n : p.$theme.palette.neutral[950]};\n color: ${COLORS.white};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[800]};\n }\n\n &:focus {\n &:after {\n display: block;\n content: \"\";\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n border: 3px solid #000;\n border-radius: 9999px;\n position: absolute;\n top: -5px;\n left: -5px;\n z-index: 1;\n }\n }\n\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[600]};\n\n &:after {\n display: none;\n }\n }\n\n .leadIcon {\n margin-inline-end: ${(p) => (p.$iconOnly ? \"initial\" : \"12px\")};\n }\n\n &.primaryBrand {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[500]\n : p.$theme.palette.primary[600]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[700]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[900]};\n }\n }\n\n &.secondarySolid {\n color: ${(p) => p.$theme.textColor};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[200]\n : p.$theme.palette.neutral[100]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n }\n\n &.disabled {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n color: ${(p) => p.$theme.palette.neutral[400]};\n pointer-events: none;\n }\n\n &.onColor {\n background-color: ${(p) => (p.$selected ? COLORS.white70 : COLORS.white)};\n color: ${(p) => p.$theme.textColor};\n\n &:hover {\n background-color: ${COLORS.white80};\n }\n &:active {\n background-color: ${COLORS.white60};\n }\n\n &:focus {\n &:after {\n border-color: #fff;\n }\n }\n\n &.primaryBrand {\n color: ${COLORS.white};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[700]\n : p.$theme.palette.primary[600]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[700]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[900]};\n }\n }\n\n &.secondarySolid {\n color: ${COLORS.white};\n background-color: ${(p) =>\n p.$selected ? COLORS.white30 : COLORS.white20};\n\n &:hover {\n background-color: ${COLORS.white20};\n }\n &:focus {\n background-color: transparent;\n }\n &:active {\n background-color: ${COLORS.white40};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white20};\n color: ${COLORS.white40};\n }\n }\n`;\n\nexport default FloatingButton;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ntype RadialStepperSize = \"40px\" | \"48px\" | \"64px\" | \"80px\" | \"120px\";\n\nconst sizes = {\n \"40px\": {\n borderWidth: 2,\n width: 40,\n circleRadius: 2,\n magicNumber: 118,\n stepNameFontSize: 12,\n descriptionFontSize: 10,\n innerCircleFontSize: 9,\n },\n \"48px\": {\n borderWidth: 4,\n width: 48,\n circleRadius: 4,\n magicNumber: 136,\n stepNameFontSize: 14,\n descriptionFontSize: 12,\n innerCircleFontSize: 10.5,\n },\n \"64px\": {\n borderWidth: 5,\n width: 64,\n circleRadius: 5,\n magicNumber: 185,\n stepNameFontSize: 14,\n descriptionFontSize: 12,\n innerCircleFontSize: 14,\n },\n \"80px\": {\n borderWidth: 8,\n width: 80,\n circleRadius: 8,\n magicNumber: 225,\n stepNameFontSize: 16,\n descriptionFontSize: 14,\n innerCircleFontSize: 16,\n },\n \"120px\": {\n borderWidth: 10,\n width: 120,\n circleRadius: 10,\n magicNumber: 340,\n stepNameFontSize: 20,\n descriptionFontSize: 14,\n innerCircleFontSize: 24,\n },\n};\n\ninterface DGA_RadialStepperProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n size?: RadialStepperSize;\n style?: \"primary\" | \"neutral\";\n onColor?: boolean;\n stepsCount: number;\n activeStep: number;\n innerCircleText?: React.ReactNode;\n description?: React.ReactNode;\n preStepName?: React.ReactNode;\n stepName?: React.ReactNode;\n nextStepName?: React.ReactNode;\n}\n\nconst RadialStepper: React.FC<DGA_RadialStepperProps> = ({\n size = \"64px\",\n style = \"primary\",\n onColor = false,\n stepsCount,\n activeStep,\n innerCircleText,\n description,\n preStepName,\n stepName,\n nextStepName,\n ...props\n}) => {\n const theme = useTheme();\n\n const circleRadius = sizes[size].circleRadius;\n\n return (\n <StyledComponent\n $size={size}\n $circleRadius={circleRadius}\n $theme={theme}\n className={mergeStrings(\n \"dgaui dgaui_radialStepper\" +\n (style === \"neutral\" ? \" neutral\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n {...props}\n $stepsCount={stepsCount}\n $activeStep={activeStep}\n >\n <div className=\"dgaui dgaui_circle\">\n <div className=\"innerCircleText\">{innerCircleText}</div>\n <svg\n className=\"dgaui_circle-svg\"\n width={sizes[size].width}\n height={sizes[size].width}\n >\n <circle\n className=\"dgaui_circle-path\"\n cx={sizes[size].width / 2}\n cy={sizes[size].width / 2}\n r={sizes[size].width / 2 - circleRadius / 2}\n strokeWidth={sizes[size].borderWidth}\n />\n </svg>\n </div>\n <div className=\"dgaui_content\">\n <div className=\"preStepName\">{preStepName}</div>\n <div className=\"stepName\">{stepName}</div>\n <div className=\"description\">{description}</div>\n <div className=\"nextStepName\">{nextStepName}</div>\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $size: RadialStepperSize;\n $circleRadius: number;\n $theme: Theme;\n $stepsCount: number;\n $activeStep: number;\n $innerCircleTextWidth?: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n align-items: center;\n\n .dgaui_circle {\n position: relative;\n width: ${(p) => p.$size};\n height: ${(p) => p.$size};\n border: ${(p) => sizes[p.$size].borderWidth}px solid\n ${(p) => p.$theme.palette.neutral[200]};\n border-radius: 50%;\n\n .dgaui_circle-svg {\n border-radius: 50%;\n position: absolute;\n top: -${(p) => p.$circleRadius}px;\n left: -${(p) => p.$circleRadius}px;\n transform: rotate(-90deg); /* Start animation from the top */\n }\n\n .dgaui_circle-path {\n fill: none;\n stroke: ${(p) => p.$theme.palette.primary[600]};\n stroke-width: ${(p) => sizes[p.$size].borderWidth}px;\n stroke-linecap: round;\n stroke-dasharray: ${(p) => sizes[p.$size].magicNumber};\n stroke-dashoffset: -${(p) => sizes[p.$size].magicNumber - (sizes[p.$size].magicNumber / p.$stepsCount) * p.$activeStep};\n transition: stroke-dashoffset 0.5s;\n }\n\n .innerCircleText {\n text-align: ${(p) => p.$theme.direction === 'ltr' ? 'left' : 'right'};\n font-weight: 500;\n position: absolute;\n z-index: 1;\n top: 35%;\n justify-self: center;\n font-size: ${(p) => sizes[p.$size].innerCircleFontSize}px;\n }\n }\n\n .dgaui_content {\n margin-inline-start: 8px;\n padding: 8px;\n\n .preStepName {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n .stepName {\n color: ${(p) => p.$theme.palette.neutral[950]};\n font-size: ${(p) => sizes[p.$size].stepNameFontSize};\n font-weight: 500;\n }\n .description {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n .nextStepName {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n }\n\n &.neutral {\n .dgaui_circle {\n .dgaui_circle-path {\n stroke: ${(p) => p.$theme.textColor};\n }\n }\n }\n\n &.onColor {\n color: ${COLORS.white};\n .dgaui_circle {\n border-color: ${COLORS.white30};\n .dgaui_circle-path {\n stroke: ${COLORS.white};\n }\n }\n\n .dgaui_content {\n .preStepName {\n color: ${COLORS.white70};\n }\n .stepName {\n color: ${COLORS.white};\n }\n .description {\n color: ${COLORS.white80};\n }\n .nextStepName {\n color: ${COLORS.white70};\n }\n }\n }\n`;\n\nexport default RadialStepper;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport interface DGA_ProgressBarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: Size;\n percentage?: number;\n error?: boolean;\n success?: boolean;\n style?: \"primary\" | \"neutral\";\n}\n\nconst ProgressBar: React.FC<DGA_ProgressBarProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n style = \"primary\",\n percentage = 0,\n error = false,\n success = false,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $error={error}\n $success={success}\n $style={style}\n className={mergeStrings(\n \"dgaui dgaui_progressBar\" + (style === \"neutral\" ? \" neutral \" : \"\"),\n props.className\n )}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"dgaui indicator\" />\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: Size;\n $percentage: number;\n $error?: boolean;\n $success?: boolean;\n $style?: \"primary\" | \"neutral\";\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .indicator {\n margin: 8px 0;\n height: ${(p) =>\n p.$size === \"large\" ? 16 : p.$size === \"medium\" ? 8 : 4}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: ${(p) => (p.$size === \"large\" ? 8 : 4)}px;\n position: relative;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n inset-inline-start: 0;\n z-index: 1;\n transition: width 0.2s;\n border-radius: ${(p) => (p.$size === \"large\" ? 8 : 4)}px;\n height: ${(p) =>\n p.$size === \"large\" ? 16 : p.$size === \"medium\" ? 8 : 4}px;\n background-color: ${(p) =>\n p.$success\n ? p.$theme.palette.success[600]\n : p.$error\n ? p.$theme.palette.error[600]\n : p.$style === \"primary\"\n ? p.$theme.palette.primary[600]\n : p.$theme.palette.neutral[700]};\n width: ${(p) => (p.$percentage <= 100 ? p.$percentage : 100)}%;\n }\n\n &::after {\n position: absolute;\n z-index: 2;\n color: #fff;\n font-size: 12px;\n transition: left 0.2s;\n top: -1px;\n inset-inline-start: calc(\n ${(p) => ((p.$percentage <= 100 ? p.$percentage : 100) + \"%\")} -\n ${(p) => (p.$percentage < 100 ? 30 : 40)}px\n );\n display: ${(p) =>\n p.$percentage >= 10 && p.$size === \"large\" ? \"block\" : \"none\"};\n content: \"${(p) => Math.min(p.$percentage, 100)}%\";\n }\n }\n .helperText {\n color: ${(p) =>\n p.$success\n ? p.$theme.palette.success[700]\n : p.$error\n ? p.$theme.palette.error[700]\n : \"initial\"};\n }\n`;\n\nexport default ProgressBar;\n","import React from \"react\";\nimport TextInput, { DGA_TextInputProps, Style } from \"../TextInput\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport plusIcon from \"./plus.png\";\nimport minusIcon from \"./minus.png\";\n\ntype PrefixSuffixStyle = \"plus\" | \"minus\";\n\nexport interface DGA_NumberInputProps extends Omit<DGA_TextInputProps, \"icon\"> {\n prefixType?: PrefixSuffixStyle;\n suffixType?: PrefixSuffixStyle;\n}\n\nconst plusIconJsx = <img src={plusIcon} style={{ width: 17.5 }} />;\nconst minusIconJsx = <img src={minusIcon} style={{ width: 17.5 }} />;\n\nconst NumberInput = React.forwardRef<HTMLInputElement, DGA_NumberInputProps>(\n ({ prefixType = \"plus\", suffixType = \"minus\", ...props }, ref) => {\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_numberInput\", props.className)}\n ref={ref}\n prefix={prefixType === \"plus\" ? plusIconJsx : minusIconJsx}\n suffix={suffixType === \"plus\" ? plusIconJsx : minusIconJsx}\n prefixStyle={\n props.prefixStyle\n ? props.prefixStyle\n : props.style === \"filledLighter\"\n ? \"subtle\"\n : undefined\n }\n suffixStyle={\n props.suffixStyle\n ? props.suffixStyle\n : props.style === \"filledLighter\"\n ? \"subtle\"\n : undefined\n }\n {...props}\n onWheel={(e) => {\n (e.target as any).blur();\n }}\n type=\"number\"\n pattern=\"[0-9]*\"\n inputMode=\"numeric\"\n onKeyDown={(e) => {\n (e.key === \"e\" || e.key === \"E\") && e.preventDefault();\n props.onKeyDown?.(e);\n }}\n />\n );\n }\n);\n\nconst StyledComponent = styled(TextInput)`\n input[type=\"number\"] {\n appearance: textfield;\n -moz-appearance: textfield;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n }\n\n .prefix,\n .suffix {\n cursor: pointer;\n }\n\n img {\n user-select: none;\n }\n\n &:has(input:disabled) {\n .prefix,\n .suffix {\n pointer-events: none;\n }\n img {\n filter: brightness(8);\n }\n }\n`;\n\nexport default NumberInput;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC4SURBVHgB7dhBCsIwEIXhiS6zTtZ6Ao+gN7FH8SbiTfQInqDus882zkiFrHxoApbyPmiZTcsPpXToWjoIIQze+13O+S7/ZjExxmKHzkdptJJGzrlNNW+lUXNQbwxCGIQwCGEQwiCEQYizk60Q9Vf7G6WUvV57mOarzjf5gV47ppQuboo5ywxo1MBH9uE+r0cmrXR1Pb1XWJulEV97hEEIgxAGIQxCGIQsL0jXhkc1jzIHtk/1+HtmniG3OoMZpqw2AAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAECAYAAADmrJ2uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA9SURBVHgBzdHBDQAgCAPA1rgCf0dzM+NkDsAQCAk7wD36blrCicgmuVDIzJ6q3pllDop5hxgGA80wotNlHyEREYxNANeWAAAAAElFTkSuQmCC\";\n export default img;","import React from \"react\";\n\nconst useScreenDimensions = () => {\n const [screenDimentions, setScreenDimentions] = React.useState({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n React.useEffect(() => {\n const windowResizeHandler = () => {};\n window.addEventListener(\"resize\", () => {\n setScreenDimentions({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n });\n\n return () => {\n window.removeEventListener(\"resize\", windowResizeHandler);\n };\n }, []);\n\n return screenDimentions;\n};\n\nexport default useScreenDimensions;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenDimensions from \"../../lib/hooks/useScreenDimensions\";\n\ntype SliderSize = \"small\" | \"medium\";\n\nexport interface DGA_SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: SliderSize;\n percentage?: number;\n onChnage?: Function;\n}\n\nconst NormalSlider: React.FC<DGA_SliderProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n percentage = 0,\n onChnage,\n ...props\n}) => {\n const theme = useTheme();\n const screenDimensions = useScreenDimensions();\n\n const sliderBaseRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef = React.useRef<HTMLDivElement>(null);\n const [isMoving, setIsMoving] = React.useState(false);\n const [currentX, setCurrentX] = React.useState(0);\n const [canMoveFromTo, setCanMoveFromTo] = React.useState([0, 0]);\n\n const indicatorWidth = size === \"medium\" ? 16 : 12;\n\n React.useEffect(() => {\n const percentageResult = ((currentX - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n\n const result = Math.round(percentageResult);\n onChnage?.(result);\n }, [currentX, canMoveFromTo]);\n\n React.useEffect(() => {\n if (sliderBaseRef.current && sliderIndicatorRef.current) {\n const sliderRect = sliderBaseRef.current.getBoundingClientRect();\n const indicatorRect = sliderIndicatorRef.current.getBoundingClientRect();\n\n setCanMoveFromTo([sliderRect.left, sliderRect.right]);\n setCurrentX(indicatorRect.x + indicatorWidth / 2);\n }\n }, [sliderBaseRef, sliderIndicatorRef, screenDimensions]);\n\n React.useEffect(() => {\n if (isMoving) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const newClientX = e.clientX;\n\n console.log(\"newClientX a\", newClientX);\n if (newClientX > canMoveFromTo[0] && newClientX < canMoveFromTo[1]) {\n setCurrentX(newClientX);\n }\n\n if (newClientX <= canMoveFromTo[0]) {\n setCurrentX(canMoveFromTo[0]);\n }\n if (newClientX >= canMoveFromTo[1]) {\n setCurrentX(canMoveFromTo[1]);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving, screenDimensions, window.innerWidth]);\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $indicatorWidth={indicatorWidth}\n className={mergeStrings(\"dgaui dgaui_slider\", props.className)}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"sliderBaseContent\">\n <div className=\"dgaui sliderBase\" ref={sliderBaseRef}>\n <div\n ref={sliderIndicatorRef}\n className=\"dgaui sliderIndicator\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving(true);\n }}\n />\n </div>\n <div className=\"dgaui_percentageText\">{percentage}</div>\n </div>\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: SliderSize;\n $percentage: number;\n $indicatorWidth: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .sliderBaseContent {\n display: flex;\n align-items: center;\n }\n\n .dgaui_percentageText {\n min-width: 40px;\n text-align: center;\n }\n\n .sliderBase {\n flex: 1;\n margin: 8px 0;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: 4px;\n position: relative;\n margin-inline-end: 12px;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n left: 0;\n z-index: 1;\n border-radius: 4px;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n width: ${(p) => (p.$percentage <= 100 ? p.$percentage : 100)}%;\n }\n\n .sliderIndicator {\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\n width: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n height: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n border-radius: 100%;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n position: absolute;\n cursor: pointer;\n z-index: 1;\n top: calc(50% - ${(p) => p.$indicatorWidth / 2}px);\n ${(p) => `\n left: calc(\n ${p.$percentage <= 100 ? p.$percentage : 100}% - ${p.$indicatorWidth / 2}px\n );\n `}\n\n &:active {\n cursor: grabbing;\n }\n }\n }\n`;\n\nexport default NormalSlider;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenDimensions from \"../../lib/hooks/useScreenDimensions\";\n\ntype SliderSize = \"small\" | \"medium\";\n\nexport interface DGA_SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: SliderSize;\n percentage: [number, number];\n onChnage?: Function;\n}\n\nconst RangeSlider: React.FC<DGA_SliderProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n percentage = [0, 0],\n onChnage,\n ...props\n}) => {\n const theme = useTheme();\n const screenDimensions = useScreenDimensions();\n\n const sliderBaseRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef2 = React.useRef<HTMLDivElement>(null);\n const [isMoving1, setIsMoving1] = React.useState(false);\n const [isMoving2, setIsMoving2] = React.useState(false);\n const [currentX1, setCurrentX1] = React.useState(0);\n const [currentX2, setCurrentX2] = React.useState(0);\n const [canMoveFromTo, setCanMoveFromTo] = React.useState([0, 0]);\n\n const indicatorWidth = size === \"medium\" ? 16 : 12;\n\n React.useEffect(() => {\n const percentage0 = ((currentX1 - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n const percentageResult = [Math.round(percentage0), percentage[1]];\n\n onChnage?.(percentageResult);\n }, [currentX1, canMoveFromTo]);\n\n React.useEffect(() => {\n const percentage1 = ((currentX2 - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n const percentageResult = [percentage[0], Math.round(percentage1)];\n\n onChnage?.(percentageResult);\n }, [currentX2, canMoveFromTo]);\n\n // Set restrictions\n React.useEffect(() => {\n if (sliderBaseRef.current && sliderIndicatorRef.current && sliderIndicatorRef2.current) {\n const sliderRect = sliderBaseRef.current.getBoundingClientRect();\n const indicatorRect = sliderIndicatorRef.current.getBoundingClientRect();\n const indicatorRect2 = sliderIndicatorRef2.current.getBoundingClientRect();\n\n setCanMoveFromTo([sliderRect.left, sliderRect.right]);\n setCurrentX1(indicatorRect.x + indicatorWidth / 2);\n setCurrentX2(indicatorRect2.x + indicatorWidth / 2);\n }\n }, [sliderBaseRef, sliderIndicatorRef, sliderIndicatorRef2, screenDimensions]);\n\n // Track indicator start movements\n React.useEffect(() => {\n if (isMoving1) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const indicatorRect2 = sliderIndicatorRef2.current?.getBoundingClientRect()!;\n const newClientX = e.clientX;\n\n if (newClientX > canMoveFromTo[0] && newClientX < indicatorRect2.left + indicatorWidth / 2) {\n setCurrentX1(newClientX);\n }\n\n if (newClientX <= canMoveFromTo[0]) {\n setCurrentX1(canMoveFromTo[0]);\n }\n if (newClientX >= indicatorRect2.left + indicatorWidth / 2) {\n setCurrentX1(indicatorRect2.left + indicatorWidth / 2);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving1(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving1, screenDimensions]);\n\n // Track indicator end movements\n React.useEffect(() => {\n if (isMoving2) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const indicatorRect = sliderIndicatorRef.current?.getBoundingClientRect()!;\n const newClientX = e.clientX;\n\n if (newClientX > indicatorRect.left + indicatorWidth / 2 && newClientX < canMoveFromTo[1]) {\n setCurrentX2(newClientX);\n }\n if (newClientX <= indicatorRect.left + indicatorWidth / 2) {\n setCurrentX2(indicatorRect.left + indicatorWidth / 2);\n }\n if (newClientX >= canMoveFromTo[1]) {\n setCurrentX2(canMoveFromTo[1]);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving2(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving2, screenDimensions]);\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $indicatorWidth={indicatorWidth}\n className={mergeStrings(\"dgaui dgaui_rangeSlider\", props.className)}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"dgaui_rangeSliderContainer\">\n <div className=\"dgaui_percentageText\">{percentage[0]}</div>\n <div className=\"sliderBaseContent\">\n <div className=\"dgaui sliderBase\" ref={sliderBaseRef}>\n <div\n ref={sliderIndicatorRef}\n className=\"dgaui sliderIndicator\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving1(true);\n }}\n />\n <div\n ref={sliderIndicatorRef2}\n className=\"dgaui sliderIndicator end\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving2(true);\n }}\n />\n </div>\n </div>\n <div className=\"dgaui_percentageText\">{percentage[1]}</div>\n </div>\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: SliderSize;\n $percentage: [number, number];\n $indicatorWidth: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .dgaui_rangeSliderContainer {\n direction: ltr;\n display: flex;\n align-items: center;\n }\n\n .sliderBaseContent {\n flex: 1;\n display: flex;\n align-items: center;\n }\n\n .dgaui_percentageText {\n min-width: 40px;\n text-align: center;\n }\n\n .sliderBase {\n flex: 1;\n margin: 8px 0;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: 4px;\n position: relative;\n margin-inline-end: 12px;\n margin-inline-start: 12px;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n z-index: 1;\n border-radius: 4px;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n width: ${(p) => p.$percentage[1] - +p.$percentage[0]}%;\n left: ${(p) => p.$percentage[0]}%;\n }\n\n .sliderIndicator {\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\n width: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n height: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n border-radius: 100%;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n position: absolute;\n cursor: pointer;\n z-index: ${(p) => (p.$percentage[0] === 100 ? 3 : 1)};\n top: calc(50% - ${(p) => p.$indicatorWidth / 2}px);\n left: calc(${(p) => p.$percentage[0]}% - ${(p) => p.$indicatorWidth / 2}px);\n\n &:active {\n cursor: grabbing;\n }\n\n &.end {\n left: calc(${(p) => p.$percentage[1]}% - ${(p) => p.$indicatorWidth / 2}px);\n z-index: 2;\n }\n }\n }\n`;\n\nexport default RangeSlider;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\ntype Props = {\n size?: \"large\" | \"medium\" | \"small\";\n selected?: boolean;\n onClick: Function;\n};\n\nconst Dot: React.FC<Props> = ({ size = \"large\", selected, onClick }) => {\n const theme = useTheme();\n return (\n <StyledComponent\n $theme={theme}\n className={\"dgaui_carouselDot \" + size + (selected ? \" selected\" : \"\")}\n onClick={() => onClick()}\n />\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n border-radius: 100%;\n margin-inline-end: 8px;\n cursor: pointer;\n\n &.large {\n width: 16px;\n height: 16px;\n }\n &.medium {\n width: 12px;\n height: 12px;\n }\n &.small {\n width: 8px;\n height: 8px;\n }\n &.selected {\n background-color: ${(p) => p.$theme.palette.primary[600]};\n }\n`;\n\nexport default Dot;\n","import React from \"react\";\nimport leftArrowWhiteIcon from \"./arrow-left-white.png\";\nimport leftArrowBlackIcon from \"./arrow-left-black.png\";\nimport Button from \"../Button\";\n\ntype Props = {\n position: \"left\" | \"right\";\n style: \"primary\" | \"subtle\";\n size?: Size;\n onClick: Function;\n};\n\nconst Arrow: React.FC<Props> = ({ position, style, size, onClick }) => {\n return (\n <Button\n iconOnly\n leadIcon={<img src={style === \"primary\" ? leftArrowWhiteIcon : leftArrowBlackIcon} />}\n style={style}\n size={size}\n className={position}\n onClick={() => onClick()}\n />\n );\n};\n\nexport default Arrow;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEDSURBVHgB7djRDYJADAbgH+O7jsAIjIAbuIFuoBvoBjqCG+gGugFu4AiOUNt4RD2OJwjhj/2Shte/oeUuAM4555z7MyKy1lqBjYbOta7y0bmJKQaiYQt9nLVysNHwG2nag4EGPUTBn1olxk5DzqN5N5XtAcYuLGsVhT9ZUxi7EP7BOu+p8FswSIS3ZV2CRSJ8ARaJT2UJFmF0+Ga+ZoG/wl8wsAn6NQMbeZ+4vCNkNPSRdolNeAsV7WfU0B9kRpivErWWJnZg0tKEndbjv07XwmKfoyasqRxMNPA+0UQJJvJ73aDdi0Kae9H5v1Dfd6FWWZbd9bHQuoGdsP5adM4551zkBQszBWdT8Sb1AAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAITSURBVHgB7Zg9TgJREMeHzwQIcS2AlhtIaQkdJZxAPIF4Az2B3gAprZATAKWVcAK35KvABIghBPxP8tbgBqudWULyfsmGt68g/3k7M29miCwWi8VisZyOGJ2AXC7XyGQyV+v1ekQBiVOIOI5TTCQSrUgkUuZ3GEKz2axNAQjNAIgtQXgHyyIJEqUQgPg7iP+gv+Ifg54+EyFlIP4J4pve+36/X+Cpz+fzPgmgZgD83YG/dzx/Nwyj0Wh9PB67JISKC3GwJpPJnk98e7PZVCTFM+JfwBNPPn+fTqcPpICoAcfE4yvcTyaTZ1JCzAC/eA5WiL/Fyb+RImL3gF88fioQPyRlRAzgVEkHbmPSpLp4JrALGdf5/P1DZZ/3EziNxuPxmreG+G6Y4hnRe2C3211QyAQ2YLvdvnhrvrgKhUKTQiRwP/AN0un0JcRfm61qKpUaoNZ3KQRE7gFT93DpUDJbXLBVUG2qZyKRGFiAWCxWx9I1Ww6M6eXz+RopIxbEXKSh0qzQgRF4OtoxIdoTL5fLRTab7cJ9+OQds11F/0ur1WpACog39f8YUUagO7jw3jnoSRDVhgaCW1gexoHLPQFCxiUh1MYqfNJwm1e4Dx9S2Ww7CPYa0uxIKs2qz4VgRB+Cv5CVqmaLM1RDKi7Um3qPY2MVxEkj6GQilLEKw5cap1mI7tO5w6NFPDdksVgsFovlzPkB3uXHj+IHmZAAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Dot from \"./Dot\";\nimport Arrow from \"./Arrow\";\n\ninterface DGA_CarouselProps {\n style?: \"arrows\" | \"dots\" | \"dotsOnly\";\n dotsSize?: \"large\" | \"medium\" | \"small\";\n content: React.ReactNode[];\n selectedContentIndex?: number;\n className?: string;\n onChange?: (dotIndex: number) => void;\n arrowsSize: Size;\n arrowsStyle: \"primary\" | \"subtle\";\n}\n\nconst Carousel: React.FC<DGA_CarouselProps> = ({\n style = \"dots\",\n selectedContentIndex,\n content,\n dotsSize = \"medium\",\n className,\n onChange,\n arrowsSize = \"medium\",\n arrowsStyle = \"subtle\",\n}) => {\n const theme = useTheme();\n\n const onChangeHandler = (i: number) => {\n onChange?.(i);\n };\n\n React.useEffect(() => {\n if (style !== \"dotsOnly\") {\n const slides = document.querySelectorAll(\".dgaui_carouselSlide\");\n const targetSlide = slides[selectedContentIndex!] as HTMLDivElement;\n const carouselContainer = document.querySelector(\".dgaui_carouselSlides\");\n\n if (targetSlide && carouselContainer) {\n const scrollPosition = targetSlide.offsetLeft;\n\n carouselContainer.scrollTo({\n left: scrollPosition,\n behavior: \"smooth\",\n });\n }\n }\n }, [selectedContentIndex, style]);\n\n // Initially\n React.useEffect(() => {\n if (style !== \"dotsOnly\") {\n const slides = document.querySelectorAll(\".dgaui_carouselSlide\");\n const targetSlide = slides[selectedContentIndex!] as HTMLDivElement;\n const carouselContainer = document.querySelector(\".dgaui_carouselSlides\");\n\n if (targetSlide && carouselContainer) {\n const scrollPosition = targetSlide.offsetLeft;\n\n carouselContainer.scrollTo({\n left: scrollPosition,\n behavior: \"instant\",\n });\n }\n }\n }, []);\n\n return (\n <StyledComponent\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_carousel\", className)}\n $arrowsSize={arrowsSize}\n $style={style}\n >\n {style !== \"dotsOnly\" && (\n <div className={\"dgaui_carouselSlidesContainer \" + (style === \"arrows\" ? \" arrows\" : \"\")}>\n <div className=\"leftArrow\">\n <Arrow\n position=\"left\"\n style={arrowsStyle}\n size={arrowsSize}\n onClick={() => selectedContentIndex! > 0 && onChange?.(selectedContentIndex! - 1)}\n />\n </div>\n <div className=\"dgaui_carouselSlides\">\n {content.map((el, i) => (\n <div key={i} className=\"dgaui_carouselSlide\">\n {el}\n </div>\n ))}\n </div>\n <div className=\"rightArrow\">\n <Arrow\n position=\"right\"\n style={arrowsStyle}\n size={arrowsSize}\n onClick={() =>\n selectedContentIndex! < content.length - 1 && onChange?.(selectedContentIndex! + 1)\n }\n />\n </div>\n </div>\n )}\n\n {(style === \"dots\" || style === \"dotsOnly\") && (\n <div className=\"dots\">\n {content.map((_, i) => (\n <Dot selected={i === selectedContentIndex} size={dotsSize} onClick={() => onChange?.(i)} />\n ))}\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $arrowsSize: Size;\n $style: \"arrows\" | \"dots\" | \"dotsOnly\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: 100%;\n width: 100%;\n\n .dgaui_carouselSlidesContainer {\n .leftArrow,\n .rightArrow {\n display: none;\n }\n &.arrows {\n display: flex;\n .dgaui_carouselSlides {\n flex: 1;\n }\n .leftArrow,\n .rightArrow {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .leftArrow {\n margin-right: 44px;\n margin-right: 44px;\n }\n .rightArrow {\n margin-left: 44px;\n }\n }\n }\n\n .dgaui_carouselSlides {\n overflow-x: hidden;\n overscroll-behavior-x: contain; /* Prevents unwanted page scrolling */\n scroll-snap-type: x mandatory; /* Snaps to each slide */\n height: 100%;\n display: block;\n margin-bottom: ${(p) => (p.$style === \"arrows\" ? 0 : 24)}px;\n display: flex;\n\n .dgaui_carouselSlide {\n flex: 0 0 100%;\n width: 100%; /* Fallback for older browsers */\n /* Aligns the snap point to the start of each slide */\n scroll-snap-align: start;\n }\n }\n\n .dots {\n padding: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .dgaui_button {\n border-radius: 9999px;\n border-width: 3px;\n &:focus:after {\n border-radius: 9999px;\n border-width: 2px;\n }\n\n width: ${(p) => (p.$arrowsSize === \"large\" ? 48 : p.$arrowsSize === \"medium\" ? 40 : 32)}px;\n height: ${(p) => (p.$arrowsSize === \"large\" ? 48 : p.$arrowsSize === \"medium\" ? 40 : 32)}px;\n\n .iconOnly {\n img {\n width: ${(p) => (p.$arrowsSize === \"large\" ? 24 : 16)}px;\n height: ${(p) => (p.$arrowsSize === \"large\" ? 24 : 16)}px;\n }\n }\n\n &.right {\n .iconOnly {\n img {\n transform: rotateZ(180deg);\n }\n }\n }\n }\n`;\n\nexport default Carousel;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\ninterface DGA_ChipProps extends React.HTMLAttributes<HTMLParagraphElement> {\n size?: \"small\" | \"large\";\n whiteBackground?: boolean;\n title?: string;\n description?: string;\n authorDetails?: {\n name?: string;\n title?: string;\n avatar?: any;\n };\n}\n\nconst Quote: React.FC<DGA_ChipProps> = ({\n size,\n whiteBackground = true,\n title,\n description,\n authorDetails,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n className={mergeStrings(\n \"dgaui dgaui_quote\" +\n (whiteBackground ? \" whiteBackground\" : \"\") +\n (!authorDetails ? \" noAuthorDetails\" : \"\") +\n ` ${theme.direction} ${size ?? \"\"}`,\n props.className\n )}\n {...props}\n >\n <div className=\"dgaui_quoteTextContainer\">\n <span className=\"dgaui_quoteTitleQuote start\">”</span>\n <span className=\"dgaui_quoteTitleText\">{title}</span>\n <span className=\"dgaui_quoteTitleQuote end\">“</span>\n {description && <div className=\"dgaui_quoteDescription\">{description}</div>}\n </div>\n\n {authorDetails && (\n <div className=\"dgaui_quoteAuthorDetailsContainer\">\n {authorDetails.avatar && (\n <div className=\"dgaui_quoteAuthorDetailsAvatar\">{authorDetails.avatar}</div>\n )}\n <div className=\"dgaui_quoteAuthorDetailsText\">\n <div className=\"dgaui_quoteAuthorDetailsName\">{authorDetails.name}</div>\n <div className=\"dgaui_quoteAuthorDetailsTitle\">{authorDetails.title}</div>\n </div>\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.p<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n border-radius: 16px;\n padding: 20px;\n\n &.small {\n width: 640px;\n }\n &.large {\n width: 846px;\n }\n\n &.whiteBackground {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n }\n\n .dgaui_quoteTextContainer {\n position: relative;\n color: ${(p) => p.$theme.textColor};\n\n margin-inline-start: 64px;\n\n .dgaui_quoteDescription {\n line-height: 30px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n font-weight: 400;\n font-size: 20px;\n margin-top: 16px;\n }\n .dgaui_quoteTitleText {\n font-size: 24px;\n line-height: 32px;\n font-weight: 500;\n }\n .dgaui_quoteTitleQuote {\n color: ${(p) => p.$theme.palette.primary[800]};\n display: block;\n transform: rotateY(180deg);\n position: absolute;\n\n &.start {\n line-height: 0;\n font-size: 128px;\n top: 45px;\n inset-inline-start: -75px;\n }\n &.end {\n line-height: 0;\n font-size: 128px;\n bottom: -56px;\n inset-inline-end: 0;\n }\n }\n }\n\n .dgaui_quoteAuthorDetailsContainer {\n margin-top: 48px;\n display: flex;\n align-items: center;\n\n .dgaui_quoteAuthorDetailsAvatar {\n margin-inline-end: 8px;\n }\n .dgaui_quoteAuthorDetailsText {\n .dgaui_quoteAuthorDetailsName {\n font-size: 20px;\n }\n .dgaui_quoteAuthorDetailsTitle {\n color: ${(p) => p.$theme.textColor};\n margin-top: 8px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n }\n }\n }\n\n &.noAuthorDetails {\n .dgaui_quoteTextContainer {\n .dgaui_quoteDescription {\n margin-inline-end: 64px;\n }\n }\n\n .dgaui_quoteTitleQuote {\n &.end {\n bottom: 20%;\n }\n }\n }\n\n &.rtl {\n .dgaui_quoteTextContainer {\n .dgaui_quoteTitleQuote {\n transform: rotateY(0deg);\n }\n }\n }\n`;\n\nexport default Quote;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport Button from \"../Button\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_SecondNavHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n style?: \"gray\" | \"primary\";\n items: {\n text: React.ReactNode;\n icon: React.ReactNode;\n }[];\n actions: React.ReactElement<typeof Button>[];\n}\n\nconst SecondNavHeader: React.FC<DGA_SecondNavHeaderProps> = ({\n items,\n actions,\n style = \"gray\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n $style={style}\n className={mergeStrings(\"dgaui dgaui_secondNavHeader \" + (style ?? \" \"), props.className)}\n {...props}\n >\n <div className=\"dgaui_secondNavHeaderItems\">\n {items.map((item, i) => (\n <div key={i} className=\"dgaui_secondNavHeaderItem\">\n <div className=\"icon\">{item.icon}</div>\n <div className=\"text\">{item.text}</div>\n </div>\n ))}\n </div>\n\n <div className=\"dgaui_secondNavHeaderActions\">\n {actions.map((action, i) => (\n <div key={i} className=\"action\">\n {action}\n </div>\n ))}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $style: \"gray\" | \"primary\";\n}>`\n direction: ${(p) => p.$theme.direction};\n padding: 0 32px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid ${(p) => (p.$style === \"gray\" ? p.$theme.palette.neutral[300] : COLORS.white30)};\n\n background-color: ${(p) => p.$theme.palette.primary[600]};\n &.gray {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n }\n\n .dgaui_secondNavHeaderItems {\n display: flex;\n align-items: center;\n\n .dgaui_secondNavHeaderItem {\n color: ${(p) => (p.$style === \"gray\" ? p.$theme.palette.neutral[700] : COLORS.white)};\n\n margin-inline-end: 16px;\n display: flex;\n align-items: center;\n\n .icon {\n margin-inline-end: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .text {\n font-size: 16px;\n white-space: nowrap;\n }\n }\n }\n\n .dgaui_secondNavHeaderActions {\n display: flex;\n align-items: center;\n\n .action {\n margin-inline-start: 4px;\n .dgaui_button {\n padding: 4px;\n }\n }\n }\n`;\n\nexport default SecondNavHeader;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport copyIcon from \"./copyIcon.png\";\nimport Button from \"../Button\";\nimport TabList from \"../TabList\";\nimport Tab from \"../Tab\";\n\nexport interface DGA_CodeSnippetProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n type: \"singleLine\" | \"multiLine\";\n multiLineItems?: {\n title: React.ReactNode;\n code: string;\n active?: boolean;\n }[];\n onTabClicked?: (index: number, element: any) => void;\n}\n\nconst CodeSnippet: React.FC<DGA_CodeSnippetProps> = ({\n children,\n type = \"singleLine\",\n multiLineItems,\n onTabClicked,\n ...props\n}) => {\n const theme = useTheme();\n const [showCopiedText, setShowCopiedText] = React.useState(false);\n\n const copyHandler = () => {\n setShowCopiedText(true);\n setTimeout(() => {\n setShowCopiedText(false);\n }, 800);\n\n if (navigator.clipboard) {\n const text = document.getElementById(\"dgaui_codeSnippetText\")?.innerText;\n navigator.clipboard.writeText(text!);\n }\n };\n\n const activeCode = React.useMemo(() => {\n let result = [\"\"];\n if (multiLineItems) {\n const newActiveCode = multiLineItems.find((el) => el.active)?.code || \"\";\n result = newActiveCode.split(\"\\n\");\n }\n\n return result;\n }, [multiLineItems]);\n\n const copyButton = (\n <Button\n iconOnly\n leadIcon={showCopiedText ? \"copied!\" : <img src={copyIcon} width={20} />}\n size=\"medium\"\n style=\"subtle\"\n buttonStyle={{ padding: 4 }}\n onClick={copyHandler}\n />\n );\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_codeSnippet \" + type, props.className)}\n $theme={theme}\n >\n {type === \"singleLine\" && (\n <div className=\"singleLine\">\n <div className=\"content\" id=\"dgaui_codeSnippetText\">\n {children}\n </div>\n <div className=\"copyIcon\">{copyButton}</div>\n </div>\n )}\n\n {type === \"multiLine\" && multiLineItems && (\n <div className=\"multiLine\">\n <TabList>\n {multiLineItems.map((el, i) => (\n <Tab selected={el.active} onClick={() => onTabClicked?.(i, el)}>\n {el.title}\n </Tab>\n ))}\n </TabList>\n <div className=\"content\">\n <pre className=\"linesNumbers\">\n <code>\n {Array(activeCode.length)\n .fill(\"\")\n .map((el, i) => i + 1 + \"\\n\")}\n </code>\n </pre>\n <pre>\n <code className=\"code\" id=\"dgaui_codeSnippetText\">\n {activeCode.map((el) => el + \"\\n\")}\n </code>\n </pre>\n </div>\n <div className=\"floatCopyIcon\">{copyButton}</div>\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ltr;\n border-radius: 16px;\n overflow: hidden;\n border: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n\n .singleLine {\n padding: 24px;\n border-radius: 16px;\n background-color: #fff;\n border: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n display: flex;\n justify-content: space-between;\n align-items: center;\n .content {\n font-size: 16px;\n color: ${(p) => p.$theme.palette.primary[600]};\n }\n }\n\n .multiLine {\n position: relative;\n .floatCopyIcon {\n position: absolute;\n z-index: 1;\n inset-inline-end: 24px;\n top: 74px;\n }\n\n .content {\n display: flex;\n font-size: 16px;\n\n .linesNumbers {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n padding: 24px;\n border-right: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n font-weight: 500;\n box-sizing: border-box;\n color: #667085;\n }\n\n .code {\n }\n\n pre {\n margin: 0;\n padding: 24px;\n overflow: scroll;\n }\n }\n }\n`;\n\nexport default CodeSnippet;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACbSURBVHgBzZHBDYMwDEUdh0HaTTpCK45tpebAHG03KPdKaZG4ITECI8AocAcHOCAhFIgRF97R9n9RbIBd8o2Ss47TJ2cWbUXZyILIPDgSMdfQOj2QZzJE8VPXy3u1gCtZFHAkTsFIkmNdHZVS5biHsBGnYPgCgQmnr/ewltiF/8Hdf9lmnGdcCs8KuOEez1YkSScSEAY3/wO7pwU2FFQ/1m+2IwAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACPSURBVHgB5ZI9CoUwEIQ34R3gXU1S+gMi1uoJjDdIL2KhluLZ7DWrayUSNbY6sKQY5stmCMA3VHdDUrV9avK4RTjXiEoj/E0+swjLdYrYF/IRwCZ8CrANk4wdTLMe6fxxjnAjIyAOhKLbaQva5gpwWWLZ9JIzlq8jQ9cpHgP2EADMIk+oo3/7D6jE7TnwWi3nAk7pNHjsVAAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMvSURBVHgB7VhLbhpBEC0+RkgsQsRH7Dw5AeMTeLgBNwBOADlBuEHsE9g+QZwThJwAcwJPdgiQgiUW/MkrqB61MYb5QVj4SeOubjzF66quT0P0gWCIvPdBGri4uChDvMZjRCIRg1xitVrZInYgPw4Ggxb5xE6CuVyujqEJUmkKBzaer71e75E84g3BfD5/h6Gq5rDAUL7gidzDwJPGBk19Ebqq/X7/gTwgskXuG4amTO3lclkL4h7tmHxX3gDJK5B0vdmIpsxIJBLPitx0Or0aAhQCcGRMEGwLwRYIlty+G1UCdmopmS0XFjkGWwzEblkGUYst6/bdqCar8zIM4tb3gE23lByPx0237+kEi/wHO/USDK4BDzl6vaQsneDa7NFo9IWOgG63ayvZF0Etyv7SGSFKJ4TkVB5dB0mcQoREZxpBYOz7P3jrMpvNWvP53EaysOmYBDl/IgAaECseSmMZZ72MvMvFgedPePd+Mpk8bKe3QC5GAq6AXBvK6wHrtgm334Bwmzesf+DbgqyId63mXCEwcDPwonUze8HRLBFdoU39Zm9wL1AKTBCKmkpGEi4FTO5NeONGPGHx+VT6fLsYiq5l/BlG5ZnNZk0V5dBZVuu+CEq0GjJtUQiQ4LBZRgAZat2vBQ1NfqaQAMt1eIQli2rNIaiZ9/MhRchzTsQuFoujlEYFnaAt4yWdEfRa/EdE00u/dmzoFnQuNEiYDToTOAQlVdgyrXObTmeAV1HMrb6IfCNrg+QdJ83t8nNKvKokbEWQqoEclxs+l1V+tKK+jnashXZfOYQ3eRAXnHskyi8Qd95fpSkw6ETYWYulPa/CtQ2+4IBUUeVHaTZ5btH/Iqgg5adFW+UMxE1ujViOxWKf6IjwVeqSyaRzBhFYByuPW2hFwtHvi+B4PNaDJMx0pC5uwQjqnQfJfToopAFebxbjb7UeI59IpVLsWos7YsjcwHZg2TH5gPwu9ANigefIIrXRaLRpXsgnuF5LoBhqjdt+zpG6i/ZBUpa5peMWqc4ptb4JMgqFgoEg+UUh5cVtcoxABBUymQxfIy3anMe02xueVCWb5KdiL78bfsAt/gGRnkOtTYslCgAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASKSURBVHgBzVm/cxpHFH57HAiKYNKjjDyjymRGDmmMm0hNUBVNZiK1iRNSy8h/AKiKUgRwHXnitJCZtKDGpIlSxXgmpIpjMnJvTEO4427zvhUQQAfawxrkb2YHbn+w3719v/YhaEF0bXtTSLkhpNgkkrdJiBh3xwbDbUHUkpJaLrnPyDDqkWCwTgtA+JkspYz1+/19V9L9MTK6W7V4s7rjBA4jEdHSXqUzCcTsfj8nz4m9MQSJx7pELyVoWda+JJEn3xK7dOuWMCgfMs0f586aN2jZdvGqpDaHQCkUCmbnjF+EOlK7/7Mk2qQlgEk0gkFzSwjR9hi7CMuynzK527REwIBYklvT/cZ0hzrWJZMDcFosmOJ0/4QEu13rCyMgfqBrhHSdbDgcLg2fRwS73e6aYQSesMNdo+tFOxQ0bw718f8jNgL5t4AcAAPNDR+UBJX0AuYLWgCnp79SrVajWrVKnU5H9a2urtKtWwna3dulVOouLQKW4ruQ4jnBnvXYEOJzPz/w8uyMDg6yTPCU7qRSlE6nmdh7FI1Gqdn8Q/WfMHH05/KHirQfuNI9jKys5NVDr2e96Fm21G2/P23I9fV1+cnOjvzr+d8z5z3nsR2ek0x+qNb42YPbK0UOWYmfhdg0mUzKb46+1V6DuXiheS/j1bpdzpi6vV7eEEZOV/SZr76k16xrlcpPE/3NZpOKhe+UHuJIE4nExPje7mfqszy1bh7gcgzGhu6CoUEUCpP+FPoIAtHoDYrHV9X3ocEMgTXQSzR9iE2DXfia7vRKuTIwhkmFh0RBrlAsqgZykOg44rwmxcZUq1VJF8IIbMAPrukuaP7ZVBY7DRxn7eREfccxw5Lj8fiFeR/zy9WqNdKHjIGgdp6Ho0wk3vccAymMFwoFyh488HQrcEOdzmvygZhBPjFvg+NHx0oFMpmM53g0+g75hckNMU9LipDSGUtpFmAgN3jOLEAvfTrstsnZaXtwI7sU6e1tFR0yma89x2dJbojf2IIRAn2gZZAhGrqz0+lt5SZmSfHR8ffsH8ueY9BPuKjdvT3ShXTdfwzHcX7RXQA3gfbgwPsKAQLVqrcbQdyGFac8vMBMgoIahHDiN9QhbB0dHWmvwVzE40VCnWKKwOw3WUA83tFMFvBC/pOFvkr/YMVIbR76icdwzIjF+XyO7qbuKNcCB45+RBHoKIxpmIpVaye+0y1cogaf59dMy+6/ogUAEpVyWUWZlwPjgTuCxcOo/OjcOFzHvInKw+hO8q9ll/hhn94CoDQSCpn3zr8PMJAizv2KSxx+IVquE9ga1m1GoQ75v3TlIV0zUK8ZLypNxOJwOFTiC/RDuiZg7+li0qzSx5Nl1WXGiDS49PHBdL9nNsOFnE/5QzsEvilYGHUUj7zGPAlCH1f4bZZx3NgjzEUjr8oWMDcf5IX3XUfeYxNv0dUDRpnFHvMmaZWAUXlAacTv5X4WILWVoJmfJbVx+Cqij4gSfbRAHafNxXc+TrOkQ2whguNQmYbh8rWQr61CXbzQRn9DsOPnuopoSCHr0hHPIpHF/ob4D9qk6fUuw5aHAAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASRSURBVHgBzVlPiFtFGP9m3stB2fzTg9DdQ/agtR7cFYsWFMyC50q9eKjSFjyIIN09iOKhmy0oSg9NEcRDwV20h16s9qqSiBdbWtjtoX/oYVNoS1tok7yU9rB5b/r9Jnlpkr6XnUlDtj/I7nvzZjK/9/v+zDcTQUNCVat5ct0ZRSpPSs2SEBluzrQf17hHhUhUVKDWZBCURTZbpiEgbDozqQyTOsik5rvImM5U4cnKtOEvMdmK+TBTYo6zqATN0wggBC2bEt2UoGo0oFiBbBXbfGZWVBbExMTK4G4DoDzv6KhUiyUgqCgmUguxz6MaYVLlOqf4Mk9jgVoVzWCOTV7rfyIjuyfcEo2NHCBm24I8gScIwqw6bYwfeXWf5+5Dj4mbnrdfCvqFthCcNxecdLoY3ncIst/lVMIpkaIcbS1qoulPh/7YMXHgyMIzQA7IUMJZDG+0glo911mnIXD33Bm6XfpbfzYaDd32/LZJSm5/laZ2f0gv7nybhgGrmIWKmqDv1ZeFEPtsvuDBzet04dDXdO/cWXph51v00tz79Ny2KUokk+RduaTbQRrtO778hklP2Xw9fHGJfbGgCQb3vXUb84LA/59+QilWaebwD0xsMrLfw5s3aO3QV/r/m0d/4v47yAI1mUxlBaoSNm/JdBSUO8PkYL6XP/vCaMzVn3+kyokVeufkH1ZK+uTPyUDKPFng0pHvtGL95KDq+YXPWdmP9XU30Bc+CZewAZOblUKKGdMBYUDArN2AqjB5IpnSCkHhjYbX0wdj4Jf4DlMIofKcZkTOdMD107+3g6HX50AGwfH64e/1B/f9KmIMggkvaAwpZ5igypn2965cjkwb6e2v0bsn/9TX8De3rWQ/8HJWBBVlkKiN6zxEI3wpCjAvTA2Cr7DPRUU20lCznSsNkZFkiUETIFKhUm5vdEqFG9jCJb3BMVMRE0DFOEA1KBkH+GVczoxBzWU713jBMyIIdW6V/opVaHrv/oHjEcE2yVrwzlDy31XTASCIVAFfi8L6iWUd6VHAmDulf2hy9x4yhVLqmuQ171/TAYhgpIq4hBsWDVHAGLygTfGglFgVG41q3iHzpQ4++N9HH7A591ktdVB21/HfrHwQS12rWGh4VbJIN+GyhsmQmOPW17DiQf7cdfxXu2JBsf+l0tOtcqteL/CSt0gWgJIXj3zbKalgehBAGgIxtIel2KCKJw7Y3PN29EBYsGKbWaUhgMi8cfoU1VnVMAUhHYG0rc/1EGyV/ZXOnsRv1IuCxEF6BhCqp6/DxraKKPtHe8RhC/Y94etNfAW3naUO9b8K/CXaYnAsFLoPlXrWYiedLfJB0THaImBuNm3PYVLk2QynnTEffQBqVSbTb/S3RlYzHEF7MIDGhzIOj6IeRBNkf8TbjMPcmIN3b5EnW8DAetBJpucD5R9AZNHImamaEnwOw3MM6rZpweqmsssIe64sVmhE0MHgB9POxONDojjYHqLncIbDg97jbJqzGdtSjI7JZlCMM+dTE+wGqiDet+Zb21beeOFkovVThCZDqNQFl0ukyk0K1hLJ4X6GeARlTwkNXxVzeAAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQsSURBVHgBzZnLa1NbFMa/vfPA3Iem3rZ6wQvJBS94fbTiQAXBFEFnPgYKOlLUqW0d6qDxH9BmXrFOdOBAdKQDMeJAh1HRgYI9ouIjaqNUg3mc7Vo7OWkaT5J9TkLqD1LOYx/Od7611n5VwCeqmE1AySEoO0GnwxAiSlejlbsiR8cWFCzAfgAp0yI0kIYPhJfGSs1GUSqNQomxeTHGWPS6NMqBMyLSZ5k+ZCSwKmyCHBlDVxDTpkLbClSFj6P0N+nDsXZYkCIpgv0XWzVqKZDy7Fz3XGvKpAgPjDe76SpQh7RYukqHCfSGDELBESH6co03pGvzYuk2eieOGa4a8hM/CdRh5Qd6T0IV9LsXsCDEKv/+MALiAhYTuzwulqycdE5rAlV+NgZJoRWIYXHJUT7GnXycD7EsJn8BcQwX6IRzoh3U7gVKM+iAT4/u4SP9mL/Wb8Vy+nVEKNjHLlYcZPc64OHkSdw/dQBv79/UIvn4ydQZdEShoPvfYOVMbIdPnl0+p0VtS93A0n/X6mv5969w98Quffz/sQn4QkgawZCUelbiM/dYyLNLZ7H60MmaOCYyuAqbTk/BujZVC7sPoiqfTUjYerrkCw7lqh379a8RzkO+zg77RpSHJWRgCD54desKinOfsfrg/DBa+vplQZs1x5P48vwxrOvn4Q9BDioVg0d0aMmZ+O6jiKz4p3b9KYWbC8Yh9PtS3YbToFG8EVIOcRXH4BF2jz5M5149biJie44h+McyzFA++iDKAj3N8+oLwwR2cQ1VMoc5/+4lPBKVHh/QYeQqdSuMZqzcsgt/UpU/9VEwLDBn2pjde03h3TB21vU+uxqjnHO9R8XEz3p0kUYSZS6Q3Vu+bovuQtzgiuWPcMMZ/ma8VbRF3YzImLZmARyuZrwkh1r1eys278Q7Gg6Nse0XQZTtOyRyr0l7dqe+W2lkuEnoHZZRHjZz2BWBDIXY3EEezt62cCBIFcu/ZrDDnCLG2DItRUSv+I3y0El0PyMD5x4/G6d+0QxlsbbKfPB7lierRtMO7gM5z9ip3yjcrRxjuPP+Vq3c/+gDY8YCxbQI9x+pCKwsM2cNn9Qv/UCzFO4y2g1h/AGct/1Uwe0+ZgHlUlxE/rbm1ySFLC9URvFLUHFPHzmXqi7ytL/bWxweoV2xcnmE3eOz2lCnV1G26nCe3gWkTDri9Gn9PbFkkMOcwqKhUo2bSe57M4Vsr7c++K0ZER7c2HjVfTYTCu4Db+j0jjRCX0fcbrgK5HykLTH+mh6Em8IaHqCdrbjrYNFyPkgPjqGsjlCJW+g+XJTjFNaW+49tJ6wiMjhNGzojJPIiuoZKITQXrxZl6/fDAyr/hjaYAkk63E55EIM3cjT3TCE8N9ksnOhUYD28qIbkNTX9K6Ky8OdftE4Mi8jQDgHt7NsPqpMSz/wAP+ylCNjUveUAAAAASUVORK5CYII=\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANiSURBVHgBzZg9aFNRFMf/976kKP16wSaQQUhcK7QuCl1MwcFRUTcHFRzEoS2Ia9O1S1NXQVtwEZTi5pa4CkI6dG7AodAPEpIUhbx3r+e85pU0pkney8vHb0nyPvL+73/uPffcI+CTo1oxJWVoTgukhNbzGsKkw2b9dAkCBfosaFvtAioXDUdy8IHwcnFRF02F0JJWWG4Q0xX0AgV6WM6QtbWIiBS6va8rgWfCjFWtxDICQWx1K7SjwBNdYcfS8OhYJxxHJdIzYmK73XWivbjyRnCuXSJAisw1MbFy6flWBzmktg7t0GumMAgE8oawFinkpeZTstX1lg5nByaO0Zh3DGnBfwI5rJw2MGjIkBNd3Wg+fCHEh1b5mRTiI4aIglqJGdMZ9/e5QBp3CUuFswI6geFSMqSVdMfjeYhrtpEeAXEM5dzwqvvDcZDds1VoHyMEuRhhFx0H2T2MGJYlnfzrOHhkV/dHJLyNlGaMyYjkqqTf4sp/T+ED86hWSVGIZQp95HfxEPfevcH3vZ/witZqntKenEOfYHGP3q9iIXkT92dvwyu0TpODAgn0gUZxmSev4QdJ5vEsTiBgXHHTV8d9i2M0tMkCA63zGsV9fbmGHjElAqRZ3NSVcfQKCyx5venzryzurL9yBLlwKnnxad1JrB+evg1EHGuTlAM9C1y4MUvjA3hMbrFIFsfOlf+c4gs5dz0SQyDQzlAcW5Ud+vIAHnHDyY7NxhPYOygEKw6cB/U3qZT6AR+wEB5n7GQ/xDlonRe8nNDuKgufsJM8KQIacxeg3eSiUywc25UiAk43vUI5sBA1ppJOmtFKbWLEEJC5s0/Ut5kqVMQIUaOyP06dB8dBrlwp3iPkotiK19sijZsms172D3Us8tizpL3oCjxf6thFZaueF89eEVKm4w1NpQtrcWxsOjPMUPOzm5tJLXszx6oy2NYHQY3QfFRO3mo+3rKaoUbOQ27oYFBo5KrUPGp1qm37jVaZDK0yS+gjHNZoePLSFl/bepBvVFo/55mFwNE0KcVKO3FMx4I1Fpra4mlPQrcREOxaRdrJ2NhEptO1nproB9QiMbiHI3BXQCTgCU2LgdishqxMskWjEkEIbISrIGqWpZxtq7Mz5M2/MF0x9MclrUWeXianFHYplDn44B+38nKPa3CIJgAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARRSURBVHgBzVk/bBNXGP+9S0niVLFiGbWVkqqOWol2ggx06VAjMqMydWpTOltKMnRgaZwOMHRoLMEMdGNK1ZmIdGgHFswEDBXHn6gVwrKVQGyCcsf3e3cXbOfueM+ybH7Si8/37sv73ffvfe+zQo+oN/0iFI7LKMLHCbk1FQ6iIfdd+XQ9D3ccYDOXUZvoAcrm4brvT2EPi0JoqY2MKVxZbRMeVoWsaypkRFATe4kVuVxCP6Bw1ZToWwnWW/6ifJRhr7G3wYWDcm5UXUt7KJWgkPsN/dJaMtZy42o5aTKWYGjSdbksYhBQqGIUp3JKNbqnnFiBPdzEoMgRzAKBQg7hEEFt1iBtDBrF0KU60GHiZ03/hxGFKxgiPGA5P67Wou8HBCXxFuQbTVvAcNHAGGYjfzwwsRekkgKGjyjnamgNhtp7gB5w6/4L3Li9jQ0Z2819fW86P4ovPh7H2a9y+PLY++gJY8hRi5pgrelfdRQWbOS3nu3h/JUtTZAkTs9NYkaITU6M4O7jptzf1aTn57I4/+1HmD46avPv4flYzWdUOdBgy6f2CqbCJPD9rw9ESxlcPDeduHj0Evy8XPoEn4tWLdCQBJ5TYVVy01SKi5EczVc684GRzKU/n+LajRr++PlTO036OOV4lgn5wvX/9SLd5KjV0uVHmvy9x62OOT5Ln6Q2beApnHAcR2o6Q9Df6Fc0azsirU5mHCF/BN/J9fbufsczlKE8hynE/4qOqLFgKrD+T107fbeZdpoespkRXPxxRojMYEfIdWuRMgwmRrwFwePMgwVTgXuPWjgZkzbo/Osrn+lr+tvkhGgyf+TQc6fl5Taq5gQFUyRoXOc9qb3SvhSHrKQXmpoES2c+jA2GGSG9vevBlqAVun2rHYxUusDCfD52njnSFu+Be5+hFrMSBFuixSQwQLIpJO6KX8aZPgUNK4Lah8TJkzS0MH80Vf7W/eeJLpIA19HVrCFoPqYJ+locaOL1v+uxc5TZuL2jE7wpfOCh4+3jL1MBpgmOpIRL7W5Ud2LnKMMXtCkefB/Vnra6b375V5vZZqujZn//adZ6q4uKBdrFON3Q2UuXHurFTIoFboMkx+LCAq4UC7NRuVWWcmvFRpqLX7j+n/Yrmu7ksQlNgGloqxb4W1SKpb1EIuRwnxtT5wIN1uWYmUEdPYAkuAVyl3lSC4KH2x4j3tbnOuBL2S+dh4MzSW3XX5PCYRHvAkLtBZchQi2ycO13i8MWLoMj6tscbHVyAGDCXsWQMcJ+TVtTqWMvlqhZk35eBcNDJdvVTIrvzbT8wbY+AiZV8bu57tvx1UwTZ+Wv8RbYB2yyeRQ3EUuQ/ijmnhuQuSuyVmxni0itB/MTakkiiuHuov8goWUhl9p/NGsBS+eBrRHbw30KKtI5KCdprR12TfQ3RL+GfR+nIdaoYFw6qgbEeiLYDlZBPFM7Sh9bC+F48zNEMKr8CULaGHd6/RniNTDfu03o+dx1AAAAAElFTkSuQmCC\";\n export default img;","export type LinkColor = {\n default: string;\n hovered: string;\n active: string;\n visited: string;\n disabled: string;\n};\n\nconst result = (\n them: Theme\n): {\n [k in \"primary\" | \"neutral\" | \"on-color\"]: LinkColor;\n} => ({\n primary: {\n default: them.palette.primary[600],\n hovered: them.palette.primary[400],\n active: them.palette.primary[600],\n visited: them.palette.primary[800],\n disabled: them.palette.neutral[400],\n },\n neutral: {\n default: them.palette.neutral[700],\n hovered: them.palette.neutral[500],\n active: them.palette.neutral[400],\n visited: them.palette.primary[800],\n disabled: them.palette.neutral[400],\n },\n \"on-color\": {\n default: \"#FFF\",\n hovered: \"rgba(255, 255, 255, 0.8)\",\n active: \"rgba(255, 255, 255, 0.6)\",\n visited: \"rgba(255, 255, 255, 0.9)\",\n disabled: \"rgba(255, 255, 255, 0.3)\",\n },\n});\n\nexport default result;\n","export type ListColor = {\n text: string;\n};\n\nconst result = (\n them: Theme\n): { [k in \"primary\" | \"neutral\" | \"on-color\"]: ListColor } => ({\n neutral: {\n text: them.textColor,\n },\n primary: {\n text: them.palette.primary[600],\n },\n \"on-color\": {\n text: \"#FFF\",\n },\n});\n\nexport default result;\n","import { COLORS } from \"../../lib/constants\";\n\nconst colors = (\n them: Theme\n): {\n [k in \"primary\" | \"neutral\" | \"on-color\"]: string;\n} => ({\n primary: them.palette.primary.main,\n neutral: them.textColor,\n \"on-color\": them.textOnColor || COLORS.white,\n});\n\nexport default colors;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGCSURBVHgBvVU7UsMwEH0SKUiXioHOnADKlA4nyNBShI6S3CDODUJJFwpaxicAp0uZG6AOhspdQmGbXUX22CH4MxZ5M7Zkr/Y9rVZaAf8MUWZ03WFvfYSRTOAmwCX9coxJkaeido4Ii2Xgq0YCTLyRuCfSMQ3ooRre8tWf1hLou0MHEm+52daFQozBbjTCEvmfIrJgbkcO7UscvMS/BPpXwwnakWcilL9x+qGXyCzNe5Xny/Ojbq9v7krH0eYIuzHOg8APtxFIuLAI3nlriVvud4zkqPxEbFE184JIoic9k0bSgW0IXHCTJtmp48M5SPNQAw6/OmiAs9MTNEUagYJ9qEyA8ruCbYicQAwsYBsRVdpU4DvGPEkQVvl8fH7ppyb0pLPdT6XCo2YCO5hS+fa4k9WiTYwZHTiFtiCOlLwgsKK6QcZBKxH2ZY4c9l84gsp209NtyEsvnIJQzZzw5hACD8e0xFw9d+2lJU5HQ1c0jRqZiBxjUgmfHYGgG+FpH/HB8ANrR4JKA6DRAwAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGYSURBVHgBvVW9UsJAEN5NQLBLmUJnDsZeK1vB1qHgCfAN5A2AN9A3wCegYGz5aW30AfzJjONMynSKhKy3CYEDHS6YyDeT3N/efne3t98B/DNw02BPWNaeUWhIq0pAeIIIgvuJwJF1R1a70xmM647rbEUQOS5eEVJTmligWyVB++LF7SQi6Alb5AwYxqtNCgJw/BlU13eDWTjfRGKoBmmcM+RqRc6EIR/xD4K7st1K43yFxCg2lXZ0NHkTXnWTz0f3YTmonGosyZvOJqW643nhDkwTKpAA+weH4acHWnmjcMk1Y/5rQNbAaNEhgUwcARmDAI8XBFkEdx0cbC5z20z6eH+DbRESzLVF6IwHZ7rbswQnHZdRkJEeIWOgSiB3ME4yifMgzoUE6C4IpsGky8mhnYKgEfglWMZBNe+X7baMQwsyACF0ak9ue4WABUpqyEPaK8vBrT27pbi9EDvWDT+AKt8o+CNiuVb7dvvgqOgfyZhQkpiQR4g3vv95zaewPqp59G3BSstiyHqlPvph7hCMvoLJ7W+Od4Zv9VKZiJJSgxIAAAAASUVORK5CYII=\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFzSURBVHgB5ZS7TsMwFECvA6ipukSsLOUHEIiFBSkMgQjEwAcgOjGXLwgzEhJ8AQMbC0OVQGFoNkbEF3RiYCIbBCk2sZWkzsOPCDEgzuI8fH2de3wD8K/wHXMQbJtHbWKQ7sQ71+xjAlN6jRFs7d9/hjpxBmiSLj7Jr+cIeLpxWgloadKhn98TADvY6Qx1YpUlykoz4RNkaaKvuLt8EEaRLF75BQmG0/ribG9Wp/OhLJX0C3ixlMWVTVjoWfD2NCrmqITPgwReLGXj7IGNgdstnmXCQ9EawhJVxYpQCW9MQEuTvtE+imkS79a2LO0EYrEixMJrCejuEYJWvwMKATQcuaZdfV6TXBXL83J+DDKahJeOKRNrwBX8AATkZHccX8zuM8QdO6OpD+qUO7xwoCOW9sG6dwNyysIRt/upIhKWnEM2vj5eq6YWHc4ky8Ty6CyckwtHvtNbBSN5ht8AJ2usRL5rDjBu01hqDETe98bxJfx5vgHxJocZugq6oAAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH9SURBVHgBvVU9S/NQFD4n79vb+gHWSXQxRWcVnNzqoPYXuEndXAQF8WOzjtalIg6Cg/4CwcmPQR3EwUUFF1EaF8HJCgoxxV7PSdIa07QmtvrATXI5l+e55+Te5wD8MrBqdDoeDYXCSUSI06yPhmpHNClBA5RbeVROYHlPCyZAxEKIKUlfCBiFbyFTRvpgyZ/AfEIVUh45dusXmoE46M4G60ReUURxRmskZ1gbpBKXCYi54cUayT9FQmK6OLFKZJUmC/VDzjDeYpA5zpkZhArvcfgBNkdn4GZhG6KRJncoGhbhcf6wS6QkISCYfKx/CFoams3hBt2TeEmALpLqRdLZ2laVPKe/wtDGHNw/PZYvQugtCYDHz2VyTv98av1LCdzkVw93UAGqU6AMz/qLubOeji44nEibIgHIHYkAH9GRLFTIgsn5zaQsEoBcM9L7MTsDeeG1gjMo1jggOZhmSPjHj/8D3e2US8Jr4TOR7l6fQUukGSZ31nyRm0BMFU5vL62LxrYsRNafc/qDghjTyZOsEtGNQwmrUC9IXNJtwyudIiNvZOilQe3QjJW9VHHyeUzZN9hqaxPRbI4SyhpOhIyv8MOGw+R61YbjgJhNpKjnLsI3kCDp/ymrjXk9k6MquONVmz5n815g05JJ26/U4m5pXNBZP27Kv217Ef8ZPgAOAtiZl+lFiAAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGnSURBVHgBvZU/TsMwFMbfc9J2zYAqFqSysKHSoXt6C4ZK7Q0oXKDtCSg3CFIHRm5QOjMUCbGwEImlgiVDB9o4edhuEjUU5Y8S+ElxbCXv+2y/5Bngj8Gkh0Z/YdS43hNdExDPgKixjUJb9G2f0NIq7nxptexcBlK4yvUL0R2IFwxIgQBGH9PTcSaDw/6iQW5lBhjMNiuENlbczs/VYCniCSYs9ryIuETESg25xXsG9e7LsJD4jkmVs0E0lI3aGq6/pcU+Xp+oe/vyNe1VZ63zY8dqOWoF3kYzIQsUXOkYNZf1ZUeXDWPYyxLVvkqd+Q5oimayzQFiA8qGsaa6qQFlS67MQZiHVAJNHXJwdFCFvIRbZEPZBJrKgIieoGxEMYwMkPw5lAyKShsZrCu+RUBOWtD750ZdmfBcNemo2NW7zyMxGEIJIPjj5bQ5kv2oFm10Pgn3rRBCIxSPGci6gZ7XKWQiYpXGDvsHzrkofJo2y/13B+LLu4QDJ2YkckIZciI/DgZ487XiE+e+tfehJB76cjXANJNkMZQrih/68t95WK/47W/C/8Y3LR2435JQAzIAAAAASUVORK5CYII=\";\n export default img;","type RadioColor = {\n default: string;\n hovered: string;\n active: string;\n disabled: string;\n};\n\ntype colors = \"primary\" | \"neutral\";\n\nconst radioColors = (them: Theme): { [k in colors]: RadioColor } => ({\n neutral: {\n default: them.palette.neutral[600],\n hovered: them.palette.neutral[800],\n active: them.palette.neutral[900],\n disabled: them.palette.neutral[200],\n },\n primary: {\n default: them.palette.primary[600],\n hovered: them.palette.primary[800],\n active: them.palette.primary[900],\n disabled: them.palette.neutral[200],\n },\n});\n\nexport default radioColors;\n","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAaGSURBVHgB7Z3PchNHEMZ7ZmWHo6iKHa8FhfQEkZ4A+QkwCZwjVyVn4EwMa1I5B07JDXNNTEo8QXzmYvMEVoKFKExVdHGKWNrpTK+kgjhktf96mTHzq6JcthZ51d/0fDs9vWsAh8PhcDgcHwQBlrIUXG9+4sHlp9/8BALlE98/3wMLkWAhq/eu3V30cA8B7yOq+wrGB4PB0V2wEOsEqN37oiMEBKd/rgCCFy9e3gTLsC8DhPe/Ix31awcHf1bBIqwSgEa/DnM95pDquXPhFbAIuzIgZvTPUAKtmoasESDB6J+A0Hw+OGqDJdiTAUJ+lfRQD8CaKyIrBFgJrrX1l3bS41Efa0sWWCGA52EHUmJLFhgvwEqwXtfzT+LpZwZlweGrV00wHOMF8DwvgIyIUN4AwzFagKyj/y24bvrCzGgB8oz+KdXK4onR6wJjBZiMfnkZciKlvGFyFhgrgCdlO9HCaz5GZ4G5U1CCskNSKAvAUIwUIHHZITnVweB1DjPnw8wMKHD0z9CbNx0wEOMEYBj9EaaWJ8zLgBRFt7SYWJ4wSoC0Rbe0mJgFRgmQpeiW+ncYlgXGCECdDvnKDsmgLDCpg6ICH5BqsF49B5Wm50Wjsg0lEXVQ0FQkZDccqWdC4HA0Wug1GueHUDKlCEBlBQGeDrS8hEo1UIpLerQ3BcPVTlIoEwBVW0YRELDojaE/eD3U57Svvx2GoRYGRQ/1v0pl3PN9vwcMFCYAjeYFWKh7Mmx6KJrvCzLSx5Zi2o6HYB5YnQgTrZ7X6Sd0rkqHqT84olPeF5E4+Ax01mBI38vheFzZz5o9qQR4N8gSZV1IvAQ62Pos6/TyJKgyOmtzg5wDAc3oE3qiHX3CqYMuVibZA4g9IaEXjvH3iif3fP/TR/Pecq4AtDBCIa+8Hc1vg/xOpB06eyKBEJpaIJ01CNrs676/tBX3v2KvgqLrciEf6hivf8j52lbI7OetO2IF0NN1Gxz5UKod93KsAILSypEPFLExjBdAii44ciEr8rfY1+NePNzc2dVfdsGRDcT92sqnT+IOmVuKWAjHV+n6Fxzp0ME/+ft4bd5hcwXoBd1h/85OS7/j3GtaxwS94HxEwW80GnMXZ4mLcf3Nxx1tyg/AEYtCfHDBX+4kCT6Rqhp6uPn4pl4TbIHjvShQWxdXl1N1YKQuR2tjDpwI/yUKvv9ZACnJtB/gRPg3iHgrS/CJzBsyJIIu527AR4423I0Lq8v3ISO5dsT6d37d1plAl1qlb2QYwFDXeta04W5DDnJvSUaLNSnWEEQPPh6G6OHaRX9pF3JSyJ5w//Yv+yocfSQiYE/CuHVhebmQxWlhm/Ivg27v7ItAwQ/XityeLLQr4myLUHzwicLbUkiExXDUOlP1I6rrvDlucWzMs/QFUf1oQY3X9BWS9eVsIUQ3aV0n0/sDM7XvvtzmbLh6+vWPwAUV1aiuA4ywd8ZREc/O6Qh73MEnympNtK6UjahKqfyWIkCo7MsAFF4p51yKAJ5UdbAMDMtpwylnCqLuOcvQVyelnHM5AkjxOViGrIjc9ygn+j1QDm2wDYz6XdlhF6D2/XXrpp8p1TKetsKfAWFoqwCgTuAMCGChAc8ow4j5BbDQgGeUYcRlmHAbbKUEI2YVwGIDnlEdDAZ1YIRVAKnsWwGfZhR6bWCEVQCl7L/Bg9uIeT3AYgOe4Xm8n4HbhG33ALol0c4MmBow5y1OeosQt/Uc0aXNE+CD1YjZBGA04CH1pfY3d87r3baN2srS1Zq/3KAWQS4hOI2YTQAOA6bAH4fjRtSXegpqEaS2EVTF30jCacR8z4oo1oB3w3C8QS0vcQdN20Y6esoIQuUFQhbTDMBpxJwP6yhi1OzSqJ/eLJiYmRDPB0c6K/ChHsN1yAGnEbO0pUQGrHAPMkKddQJE0N/8uZDp5HDwqiOiBzWJOmREwrhhTWNWDgOODPavcNQqKvgE+QMZtYpuKslm1FxGzDIFhUo0RWpp8cFxGAbDoMt2r8FFfynQ/rCdxR+4jJhFAD1n1lPMbXR/wa3+7Z1S2kC4jDorLAJUJHbVvHbEycOPbqU12KKYCfFH/3XXk+qHef5Az/8BBth6Q2v3ru3R83Pe89JQ/3yr/+1O5vuqOIg1anrkwOpyCxhgW4hRd/Spu+uHs4WUacEnyKhP3iy0Thm19iOxneSRA0ZTj/4WgF1Q/efg4MA9rsfhcDgcDofD4XA4HA6Hw1EY/wAgxXE4yUlj2wAAAABJRU5ErkJggg==\";\n export default img;","var img = \"data:image/png;base64,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\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAkCAYAAACe0YppAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAOTSURBVHgB5Ve9UttAED7LhuFnYFwAQ4fyBuYJEF26mDJVRJeOuEqJ6dLhNwA6OpwylZ0uHeYJEB3mZ0bMAMPw53yf2GMOYZ1PTjIp2Bnp7la7t7+3tyqonDAzMxMUCoUqniUsy8T1er0IQ4Rx5+zsrO2yT0E5wuzsbAXDJgQGA0ij29vb5TiOI/WngiF0DQIbeg3LYgwdChGUn1YI61q3220MLXhubq6KYc9AbcCiBiyKTbr5+Xn/8fExxHTdUDA8PT3dyS24XC77IyMj+9C+LFYuY6OOjUdC0iIPxhhKLvZzu2fbBELrsgFdtzpIKIE0UHJF64491vvRZVpMa0dHRw9luX1ycrKqcgAsb0ncafW7dGgyLS4WixU9R+x2VE6A1RsypdXV9PeSchDscjYltmt6rUMkc99ZMEATR8oNtiCgkvFtQeUQnAsg9LuSSmaAn0X/1wQj+eoY6iYONeAwS7j1OP1LeHuCkxhLPd5UT4ViQw0B2IMVKkyh/Qy6qra4KkShGh5C2cN8sugqOqsj9VrDZxzKZzld8tLw8PBQ8zzvg4nDEQtlemSgfb4SwSiJMZgSLK+34+NjdhMRGBNcqVRiYWgrC5yfnzcxNPVaOpVQFNjnyPqvv2tXdwzNA453d3dNuQrJuK5ygmEt5wcczTKcCL6/v+8YQhJ30bVSjYgLaIFyBCYreD7JcpseTIR5nr4sYi8tBBAwpkJY1wphvicXgRVIA54tzskLvuSU0M2GMs2iZhgfH4/FPWMgHru+vv5xeXkZT05OdtlVEo/xM9ZsEI5ubm5eJBuVnZ6e/gqaXTxj4qmP6Lt+cT41NdXQlwhyqlZIaasvb35c1tch3PwFymyatLCG3yJZ+ngqqavwudlL9W1JU/FCMDMaybXfr1+SZq6lLDeOoVBNt0nSySR8dD0SbJExf9X6wOoQgrdkyWO1YvZaTDJYHwK/oC94yYOfGJtm08B4g2ZPK2vrOpW4po6nZzy5jhPjTZ7UHnWTptiP8erqqo1ku4C27wUVIKnCiYmJGG67SCeWKZAJBo/sGrxJvBHXbyatta+2xDX5i9BHTTYP+tGBpm9b7PoLE0r18pUbUGDDFk/nnzaCJFaATZcksXz5FKknLxzAQ23XP8ahgEroxMlTTjX8tw4kz/8xm/XnWi1FJin6qSpGaFvPq6tgiW1L5QAos2j7yXPqq3lt4mLomLV4gNAI93lko/kNLXmsYTAB8fwAAAAASUVORK5CYII=\";\n export default img;","type TagStatusVariantColors = {\n bg: string;\n iconBg: string;\n font: string;\n};\n\nexport type TagStatusVariantDetails = {\n subtle: TagStatusVariantColors;\n inverted: TagStatusVariantColors;\n ghost: TagStatusVariantColors;\n};\nexport type TagStatusVariant = keyof TagStatusVariantDetails;\nexport type TagStatusColorName =\n | \"neutral\"\n | \"green\"\n | \"blue\"\n | \"yellow\"\n | \"red\";\n\nconst result = (\n them: Theme\n): { [k in TagStatusColorName]: TagStatusVariantDetails } => ({\n neutral: {\n subtle: {\n bg: them.palette.neutral[50],\n iconBg: them.palette.neutral[600],\n font: them.palette.neutral[800],\n },\n inverted: {\n bg: them.palette.neutral[600],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.neutral[600],\n font: them.palette.neutral[800],\n },\n },\n\n blue: {\n subtle: {\n bg: \"#EFF8FF\",\n iconBg: them.palette.info[800],\n font: them.palette.info[800],\n },\n inverted: {\n bg: them.palette.info[600],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.info[800],\n font: them.palette.neutral[800],\n },\n },\n green: {\n subtle: {\n bg: them.palette.success[50],\n iconBg: them.palette.success[800],\n font: them.palette.success[800],\n },\n inverted: {\n bg: them.palette.success[700],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.success[800],\n font: them.palette.neutral[800],\n },\n },\n red: {\n subtle: {\n bg: them.palette.error[50],\n iconBg: them.palette.error[800],\n font: them.palette.error[800],\n },\n inverted: {\n bg: them.palette.error[600],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.error[800],\n font: them.palette.neutral[800],\n },\n },\n yellow: {\n subtle: {\n bg: them.palette.warning[50],\n iconBg: them.palette.warning[800],\n font: them.palette.warning[800],\n },\n inverted: {\n bg: them.palette.warning[700],\n iconBg: \"#ffffff99\",\n font: \"#fff\",\n },\n ghost: {\n bg: \"transparent\",\n iconBg: them.palette.warning[800],\n font: them.palette.neutral[800],\n },\n },\n});\n\nexport default result;\n","type SwitchColor = {\n default: string;\n hovered: string;\n active: string;\n disabled: string;\n};\n\nconst switchColors = (them: Theme): { [k in ColorName]: SwitchColor } => ({\n neutral: {\n default: them.palette.neutral[600],\n hovered: them.palette.neutral[800],\n active: them.palette.neutral[900],\n disabled: them.palette.neutral[200],\n },\n primary: {\n default: them.palette.primary[600],\n hovered: them.palette.primary[800],\n active: them.palette.primary[900],\n disabled: them.palette.neutral[200],\n },\n secondary: {\n default: them.palette.secondary[600],\n hovered: them.palette.secondary[800],\n active: them.palette.secondary[900],\n disabled: them.palette.neutral[200],\n },\n error: {\n default: them.palette.error[600],\n hovered: them.palette.error[800],\n active: them.palette.error[900],\n disabled: them.palette.neutral[200],\n },\n warning: {\n default: them.palette.warning[600],\n hovered: them.palette.warning[800],\n active: them.palette.warning[900],\n disabled: them.palette.neutral[200],\n },\n success: {\n default: them.palette.success[600],\n hovered: them.palette.success[800],\n active: them.palette.success[900],\n disabled: them.palette.neutral[200],\n },\n info: {\n default: them.palette.info[600],\n hovered: them.palette.info[800],\n active: them.palette.info[900],\n disabled: them.palette.neutral[200],\n },\n});\n\nexport default switchColors;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHaSURBVHgBjVQ9SMNAFP4SOxR0cHAQFJv6Ax3rIAqK1CIqiFh0UFC04uAgojiog2JxchJdBEGFujmZxcFBzVgQtIKCqGA2fwYpmEqp0PjuMDWkSdoPrne59/L1fXffiwAXtIUiEk1swAskFUVOOeUK1o1QKFKZETFPy6hBYoJKb8QS53LclaglFAmWiTixIUABYQ5dCUVWC4iYDF3EDW1UogToQCpHZFeKnGTPZUagtj7ASKrNyU0NfnSHO+Crq4GmfUNLp81SvKKAvkZfIK6qDxkPryYciVrl9PeGsbo0l39+ffvA7OIaXt8/zGkSnecCzTHxb2PdWvr0xAienl/QMziOobEZVFSUY3V5DjaYZD+eIN0SbA734OgY17d3+NLSfNzQmkm1gcTOVyR/BO2ip2cXXA7DyPAAOttbObEDJA+K4GhvC02Nflwn77Cze+iYx4hUN6J9kqiRNJdquOu5j+jWXlDchPbQoSYuZb9xa3GnvM2NFX6DLkQxNnFDVvkCSdI4Si4rcHU2+4P7h0d8fqbsq1HkKbbMtwjrM3LqpSCU2CI6UoKOZqPfDGlgPcMC7F+Ks0DN6Q5NawYZLEqRdRqSJcRejHtz2LZ+m2yJDPBv079hVXMFVvwCXOukAPYYzukAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport ThemeProvider from \"../components/ThemeProvider\";\n\nexport const withRtl: (Component: React.FC<any>) => React.FC<React.ReactNode> =\n (Component) => () => (\n <ThemeProvider theme={{ direction: \"rtl\" }}>\n <Component />\n </ThemeProvider>\n );\n\nexport default withRtl;\n"],"names":["ThemeContext","React","createContext","ThemeProvider","theme","children","_jsx","jsx","Provider","value","defaultTheme","direction","fontFamily","textColor","textOnColor","palette","neutral","light","main","dark","contrastText","primary","secondary","error","warning","info","success","typography","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","xl","lg","md","sm","xs","elevation","shadows","backdropBlur","raduises","none","full","breakPoints","mergeStrings","s1","s2","d","generateUniqueId","Date","now","toString","Math","random","substring","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","useTheme","useContext","result","finalResult","overrideDeep","target","source","Object","assign","key","item","Array","isArray","mergeThemes","__assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__spreadArray","to","from","pack","ar","l","slice","concat","memoize","fn","cache","create","arg","undefined","SuppressedError","reactPropsRegex","isPropValid","prop","test","charCodeAt","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","abs","String","fromCharCode","trim","match","pattern","exec","replace","replacement","indexof","search","position","charat","index","substr","begin","end","strlen","sizeof","append","array","push","filter","line","column","character","characters","node","root","parent","props","siblings","return","copy","lift","prev","next","peek","caret","token","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","dealloc","parse","alloc","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","k","x","y","z","prefix","hash","some","element","_","a","b","c","f","serialize","callback","output","stringify","join","prefixer","map","combine","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","process","env","REACT_APP_SC_ATTR","SC_ATTR","m","v","g","S","window","w","Boolean","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","NODE_ENV","E","N","Set","P","r","console","delete","o","useRef","has","warn","add","message","freeze","C","A","O","D","R","T","V","M","$","B","displayName","name","L","charAt","toLowerCase","G","Symbol","for","Y","q","W","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","H","caller","callee","arity","U","$$typeof","compare","J","render","X","Z","defineProperty","K","getOwnPropertyNames","Q","ee","getOwnPropertyDescriptor","te","getPrototypeOf","ne","re","oe","se","ie","ae","ce","constructor","le","ue","pe","de","forEach","he","Error","fe","groupSizes","Uint32Array","tag","indexOfGroup","insertRules","set","insertRule","clearGroup","deleteRule","getGroup","getRule","me","ye","Map","ve","ge","Se","get","we","be","Ee","RegExp","Ne","split","registerName","Pe","textContent","parseInt","u","getTag","_e","querySelectorAll","getAttribute","parentNode","removeChild","Ie","nextSibling","setAttribute","__webpack_nonce__","Ae","sheet","styleSheets","ownerNode","cssRules","Oe","nodes","childNodes","De","splice","Re","Te","isServer","useCSSOMInjection","ke","options","gs","names","server","registerId","rehydrate","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clear","clearRules","clearTag","je","xe","Ve","replaceAll","Me","ze","plugins","startsWith","endsWith","d.RULESET","includes","d.prefixer","d.stringify","d.compile","namespace","d.serialize","collection","d.middleware","reduce","Fe","$e","shouldForwardProp","stylis","Ge","Consumer","qe","inject","id","getName","We","He","Ue","Je","isCss","h","Xe","styledComponentId","isReactComponent","Ke","Qe","staticRulesId","isStatic","Ze","componentId","baseHash","baseStyle","generateAndInjectStyles","et","ot","st","it","attrs","parentComponentId","componentStyle","foldedComponentIds","I","className","as","forwardedAs","warnTooManyClasses","forwardRef","_foldedDefaultProps","keys","at","ct","lt","ut","withConfig","pt","dt","mt","navigator","product","wt","img","sizes","small","medium","large","StyledComponentTitle","styled","button","$customStyle","minHeight","flush","padding","fontColor","border","borderTop","cursor","colors","Icon","indeterminate","width","height","viewBox","fill","xmlns","rx","fillRule","clipRule","xSmall","svgW","svgH","svgLeft","svgTop","Checkbox","_a","label","description","onChange","default","them","hovered","active","disabled","sizeResult","backgroundColor","backgroundColorHovered","backgroundColorActive","inputRef","useEffect","current","_jsxs","jsxs","StyledComponent","checked","htmlFor","div","feedbackIcon","DropdownItem","selected","multiple","onClick","$selected","$multiple","color","$theme","checkIcon","xsmall","py","Tag","outLine","iconOnly","leadIcon","trailIcon","rounded","colorNameResult","outLineResult","tagColors","_b","bg","borderOutlined","onColor","borderColor","borderColorOutlined","borderRadius","minWidth","paddingY","StyledDiv","buttonCloseIcon","arrowDownIcon","shadowFocus","borderFocused","borderHovered","StyledComponentSpan","span","$bgColor","xxSmall","wh","fw","xLarge","xxLarge","$size","$border","$borderColor","$square","$isIcon","op","positioner","$index","$icon","StyledList","COLORS","Button","buttonStyle","destructive","buttonColors","focus","innerBorderColor","subtle","transparent","getButtonColors","$disabled","_Fragment","$pointerEvents","$state","$effect","__esModule","startYear","yearLength","epoch","century","weekStartDayIndex","getMonthLengths","isLeap","getLeaps","getDayOfYear","year","month","day","getAllDays","leapsLength","guessYear","gregorian_ar","months","weekDays","digits","meridiems","arabic_ar","prefixW","TextInput","prefixStyle","onPrefixClicked","suffix","suffixStyle","onSuffixClicked","icon","placeholderFontColor","animationColor","prefixBg","prefixBgHover","prefixBgActive","suffixBg","suffixBgHover","suffixBgActive","RootStyledComponent","iconPadding","marginBottom","textAlign","display","alignItems","input","Menu","menuItems","keepOpenOnItemsClicked","onOpen","onClose","reverseOpeningDirection","open","setOpen","useState","defaultBodyOverflow","setDefaultBodyOverflow","itemsPosition","setItemsPosition","top","left","componentRef","menuItemsRef","vh","max","documentElement","clientHeight","innerHeight","rect","getBoundingClientRect","values","bottom","right","clientWidth","innerWidth","resizeHandler","clickHandler","contains","addEventListener","removeEventListener","body","overflow","_c","openMenu","rightIcon","leftIcon","padStartZero","text","padStart","formatDate","date","number","FileCard","status","filename","helperText","onDelete","src","xIcon","arrowDownIconGray","useScreenSizes","mobileThreshold","tabletThreshold","setResult","isMobile","isTablet","isDesktop","StyledComponentContainer","$rowSpacing","$columnSpacing","StyledComponentItem","$columnSpan","addSpacingPropsToChidren","columnSpacing","rowSpacing","Children","child","isValidElement","Fragment","cloneElement","$colors","$isColored","vLine","font","lh","$fontSize","$lineHeight","$style","$inline","visited","StyledUlComponent","ul","getCss","StyledOlComponent","ol","$level","$listStyleType","$ol","$iconUrl","getListStyleType","anyLevel","level","MenuItem","tabIndex","$align","Backdrop","Tab","vertical","$vertical","Base","dot","StyledDot","$status","getCircleCss","getDotCss","getLineCss","bgHover","$alignment","$dot","$direction","sliderBgHovered","sliderBgActive","sliderBg","iconBackgroundColor","table","$contained","$onRowClick","$headerColumnDivider","$compact","MobileStyledComponent","TabList","newChildren","addPropsToChidren","$flush","Textarea","scrollBar","resize","flexDirection","textarea","NotificationToast","leadText","helpText","actions","closeButton","screenSizes","colorsResult","critical","getColors","isMinimal","StyledAlertComponent","getAnimation","keyframes","backCss","mobileCss","$position","$backgroundColor","$inverted","$type","StyledComponentDivider","$showLabel","$showTrailingIcon","$onColor","hr","$lineType","$color","SkeletonCircle","SkeletonLine","SkeletonSquare","$borderRadius","SkeletonRectangle","Result","$rounded","$iconOnly","borderWidth","circleRadius","magicNumber","stepNameFontSize","descriptionFontSize","innerCircleFontSize","$circleRadius","$stepsCount","$activeStep","$success","$error","$percentage","min","plusIconJsx","minusIconJsx","NumberInput","prefixType","suffixType","onWheel","blur","inputMode","onKeyDown","preventDefault","useScreenDimensions","screenDimentions","setScreenDimentions","windowResizeHandler","$indicatorWidth","Dot","Arrow","$arrowsSize","title","expanded","defaultExpanded","iconAlignment","contentRef","contentHeight","setContentHeight","showContent","justifyItems","gap","alt","arrowDownImage","transition","transform","variant","placeholder","getOptionLabel","maxTagsToShow","maxTagsLabel","inputValue","setInputValue","inputValueSearch","setInputValueSearch","selectedOptions","setSelectedOptions","getLocalOptionLabel","memoizedOptions","useMemo","calcPosition","offsetTop","offsetLeft","prevState","ind","option","stopPropagation","newValues","newSelectedOptions","el","deleteTaghandler","optionLabel","newValue","onItemSelectedHandler","imageSrc","square","isIcon","items","containerRef","openListHandler","lastTwoItems","state","effect","expandableContent","actionsButtons","internalExpanded","setInternalExpanded","isExpanded","selectable","expandable","pointerEvents","$expanded","visibility","selectedContentIndex","content","dotsSize","arrowsSize","arrowsStyle","targetSlide","carouselContainer","querySelector","scrollPosition","scrollTo","behavior","multiLineItems","onTabClicked","showCopiedText","setShowCopiedText","activeCode","find","code","copyButton","setTimeout","clipboard","getElementById","innerText","writeText","data","onItemClicked","hijri","range","minYear","maxYear","minDate","maxDate","onRangeChange","withTextInput","textInputProps","closeOnSelect","rangeSeparator","setDate","dateText","setDateText","yearsList","setYearsList","yearDisplayValue","setYearDisplayValue","calendarRef","isRangeAndOnlyOneSelected","minYearDefault","maxYearDefault","newYearsList","thisYear","getFullYear","thisMonth","getMonth","gregorianYear","gregorianMonth","hijriYear","floor","gregoreanYearToHijriYear","newDateText","calendar","Calendar","arabic","gregorian","onMonthChange","locale","click","format","showOtherDays","monthYearSeparator","onYearChangedDropdown","readOnly","lineType","uploadText","onDrop","filesList","onFileListItemDeleted","submitButton","porps","isDraggingOver","setIsDraggingOver","onDrophandler","fileList","file","dragOverhandler","dragLeavhandler","dropHandler","dataTransfer","files","filled","styleVariant","dropdownStyle","valueDisplay","otherProps","selectedOptionText","setSelectedOptionText","onChangeHandler","newSelectedOptionText","comp","classList","container","getColumnSpan","background","isColored","inline","focusBorderColor","selectedColors","$focusBorderColor","href","iconUrl","loadingStyle","loadingColors","align","footerStartButtons","footerEndButtons","link","dismissible","show","setShow","currentPage","siblingCount","onPageChange","menu","menus","getElementsByClassName","_el","siblingCountResult","showStartItems","showEndItems","showCenterItems","showMenuStart","showMenuEnd","itemsToRenderCount","startItemsToRender","centerItemsToRender","endItemsToRender","reverse","show5Only","percentage","alignment","steps","activeStepIndex","onStepClick","whiteBackground","authorDetails","avatar","stepsCount","activeStep","innerCircleText","preStepName","stepName","nextStepName","cx","cy","groupValue","sliderBgDisabled","layout","groupName","onChnage","screenDimensions","sliderBaseRef","sliderIndicatorRef","sliderIndicatorRef2","isMoving1","setIsMoving1","isMoving2","setIsMoving2","currentX1","setCurrentX1","currentX2","setCurrentX2","canMoveFromTo","setCanMoveFromTo","indicatorWidth","percentage0","percentageResult","round","percentage1","sliderRect","indicatorRect","indicatorRect2","mouseMoveHandler","newClientX","clientX","mouseUpHandler","remove","onMouseDown","brand","hovering","setHovering","hoverScore","setHoverScore","selectedIcon","halfIcon","imageSize","onHoverHandler","starOrder","isLeftStarSection","nativeEvent","offsetX","scoreResult","onMouseEnter","onMouseLeave","grayIcon","onMouseMove","showTrailingIcon","showLabel","onSearchByVoiceClicked","action","marginTop","isMoving","setIsMoving","currentX","setCurrentX","log","variantResult","iconBg","inverted","ghost","blue","green","red","yellow","_d","alertMessage","trailSwitch","contained","compact","alternatingRows","labels","onRowClick","onCheck","responsiveThreshold","columnDivider","headerColumnDivider","lastColumnWidthMultiply","selectAllValue","setSelectAllValue","setIsMobile","onRowCheckedHandler","allSelected","checkedClassName","HTMLElement","nodeName","sIndex","$alternatingRows","cellPadding","cellSpacing","newCheckedValues","trClassName","entries","itemIndex","jsxContents","beakPlacement","beakAlignment","noBeak","contentClicked","setContentClicked","tooltipRef","setPosition","showTooltip","caretColor","caretColors","toBottom","toTop","toLeft","toRight","newTop","newLeft","newCaret","childrenWidth","childrenHeight","childrenTop","childrenLeft","tooltipWidth","tooltipHeight","caretSize","mouseoverHandler","mouseleaveHandler","duration","rtl","createRoot","onCloseHandler","unmount","addCloseClass","Element","Component"],"mappings":"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","x_google_ignoreList":[3,5,6,7,8,9,10,11,12,13,14,15,16,35,36]}
|