dga-ui-react 1.5.2 → 1.6.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/Metric/cjs/index.js +102 -0
- package/Metric/cjs/index.js.map +1 -0
- package/Metric/esm/index.js +102 -0
- package/Metric/esm/index.js.map +1 -0
- package/Metric/index.d.ts +27 -0
- package/Metric/package.json +10 -0
- package/charts/package.json +2 -2
- package/dist/cjs/index.js +9 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +9 -2
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/.prettierrc.json +0 -19
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\nimport defaultTheme from \"../../lib/defaultTheme\";\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 (\n <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>\n );\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\n 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(\n \"dgaui dgaui_dropdownItem\" + (selected ? \" selected\" : \"\"),\n props.className\n )}\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[25]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\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 >\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\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]: 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 error: {\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 interface DGA_InlineAlertProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n leadText: React.ReactNode;\n helpText?: React.ReactNode;\n type?: ThemeColorName;\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,\n actions,\n closeButton,\n onClose,\n background,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const colorNameResult: ThemeColorName = type ?? \"neutral\";\n const colorsResult: InlineAlertColor = colors(theme)[colorNameResult];\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 }) =>\n $isColored ? $colors.bg : \"#fff\"};\n border-radius: 8px;\n border: 1px solid\n ${({ $colors, $isColored, $theme }) =>\n $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\n 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 =\n 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 >\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}>`\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}) => {\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 ${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 img {\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 \"1\";\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\n 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\n className={\"dgaui dgaui_modal_backdrop\"}\n onClick={() => onClose?.()}\n />\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={\n \"dgaui_modalContent\" +\n (screenSizes.isMobile ? \" dgaui_modalMobile\" : \"\")\n }\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 && (\n <div className=\"dgaui_modalHeaderBody dgaui_hiddenScrollbar\">\n {body}\n </div>\n )}\n\n {(!!footerStartButtons || !!footerEndButtons) && (\n <div\n className={\n \"dgaui_modalHeaderFooter \" +\n (!footerStartButtons && !!footerEndButtons ? \"onlyEnd\" : \"\")\n }\n >\n {footerStartButtons && (\n <div className=\"dgaui_modalHeaderFooterStart\">\n {footerStartButtons}\n </div>\n )}\n {footerEndButtons && (\n <div className=\"dgaui_modalHeaderFooterEnd\">\n {footerEndButtons}\n </div>\n )}\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 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","$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","$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","_Fragment","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":"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","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/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\nimport defaultTheme from \"../../lib/defaultTheme\";\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 (\n <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>\n );\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 >\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]: 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 error: {\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 interface DGA_InlineAlertProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n leadText: React.ReactNode;\n helpText?: React.ReactNode;\n type?: ThemeColorName;\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,\n actions,\n closeButton,\n onClose,\n background,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const colorNameResult: ThemeColorName = type ?? \"neutral\";\n const colorsResult: InlineAlertColor = colors(theme)[colorNameResult];\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 }) =>\n $isColored ? $colors.bg : \"#fff\"};\n border-radius: 8px;\n border: 1px solid\n ${({ $colors, $isColored, $theme }) =>\n $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\n 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 =\n 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 >\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}>`\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}) => {\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 ${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 img {\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 \"1\";\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\n 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\n className={\"dgaui dgaui_modal_backdrop\"}\n onClick={() => onClose?.()}\n />\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={\n \"dgaui_modalContent\" +\n (screenSizes.isMobile ? \" dgaui_modalMobile\" : \"\")\n }\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 && (\n <div className=\"dgaui_modalHeaderBody dgaui_hiddenScrollbar\">\n {body}\n </div>\n )}\n\n {(!!footerStartButtons || !!footerEndButtons) && (\n <div\n className={\n \"dgaui_modalHeaderFooter \" +\n (!footerStartButtons && !!footerEndButtons ? \"onlyEnd\" : \"\")\n }\n >\n {footerStartButtons && (\n <div className=\"dgaui_modalHeaderFooterStart\">\n {footerStartButtons}\n </div>\n )}\n {footerEndButtons && (\n <div className=\"dgaui_modalHeaderFooterEnd\">\n {footerEndButtons}\n </div>\n )}\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 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,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAUKADAAQAAAABAAAAUAAAAAAx4ExPAAAJd0lEQVR4Ae1dPWwURxR+d07AToRjCxIJGZxFkRJcYRdJQZqLgBbsKqn8U8cSuEgBRYAmRKIwjpzahiqpbFKDcBMKUthUQMXGxIoUgWxBgm0It3nf7L29vbtd787ezt75Lk/a293ZmTcz3743782b3b0cNZDWHaeHXlGB3pBFHXSMHN6T2tAqHPtpg3Jkcx53/4bu8/kKddJKby634c+Y5XEuy8oUYFs0yGCdoSINc91WKvUDSFLbzd69ucVUeMZkkgmA65tOgfI0xtID0Hpiti1pNkjoIt+g671duaWkTOKWMwZgST3PMmjnuDGmQQvrL1T+MgM5H5ah3vTUAWwS4KpxsTlhprczd636Qr3nqQK4vu0M8x2f5kZZ9TbMUPnUJTIVAHmMs3jcmeNOFwx1PG22i3yjp1i17XoZ5+tlsL7lnGXwlplPoV5eGZYfZqO2zDd+vN46E0ugGuu26SI3AEZiN9M1HhunknYgEYBKZfO0wGowmLTipioHP7JII0lUWhvA0nh3hwGwmgqE+hsDA/OFLohaALYweAK/NoixAWwD8BKBGAvANgJPG8R4bgwMRuuNeQJW0N5iN2dBeRpBV31pkQCynzfdMtbW1/HIQ3gYrpu2Y9YdVZhVd7w0w9iRSYtfnNppDh0KYGncwwyjUZGU5rgvOQ7gFmkozL0JV+GcCgq0N3i4hQ4LkDvPD7yhgQAq1SUV/Aws1IaJBRVpCuh4oAqz4XjMea2A/O2cZNNeVuWq9ZcaCVTRlf/BCxIUi7ZqAyc1Etgo6Xv+8g3dXn5OD59s0dqz1/TgyabXie6uDtr3TgcNHO6kTz95lwb6O6lv/x7vemYHMCh76IhfCisAbITbcu/RPzT7y1+EvQ6dHOqm0ZP76TMGNFNy11guSZ2VAGY49oUB182S1rf/bTra3yVtpBcsnZDQIJAhlbOT/dlJJEshL532SuM8AFn6CmyuEaYyTld++pOu33rm1QPQRo730AmWqiiJAogLd9dZ3V8oUIXJ5OkPCFsm5Ia9llBXGcBtZ459nnEkmiJI0eSPq54kATioITYc69Das1e08OuGUn8pB7X+bqJPm5eUj7vP52j+vb25CeQvA7jlrPO5MccZ4I1dtT3jMHC4i1XvcN2qByBHme/a01eq/1Dp698cMQuiz5goN6bkJBoDDz27MPeHB97I5z3cSatu8MAX1njh248I0gd6wFYcUm6UMDvBIypM4geeMVkhrOwtHrNAJ4f20ZWJQ6lKCNR/9ut+wo0BYZzEOGuUcu5MzQXQ4OIQVAwAgvoO7OEx6pCxfp3/8qDyFVEBjFSQ1U6xciV0+VLQUIljisw9VpOzZXW6wWqrYywAgA4IShLZpZE65MZ5jUn3wAJ2edHldHm73NB5jEkguBg6swdY2NGrj9V2w+fyuJzDf1EHrDpI9waEcw258pIKeZPRZuk4JELGp5Cm1CTfe/S3lyY3wUuIOPC7RUalsIOsPDsyRtQXY98tntuCTrDh0JE+lBk7dUCNmQB/8vT7SIpN6oaxYw6CFMKFMkHsDx4DgB+aYP5g1VVd8B457s18Yld1lP25299/TPd+GNAGH5VgViOEWYsJKvIjybDC7q1KuYbf+M4LRU3PJF+ae9QpxuShL7KTZh3My3oLPykzVexk3EoCnju7QEyX1NwY7omAoRJj/iAoAfVFeMwUGZNARFBASToOlVt7+lptsMZijHRBwDAAkpupWz5GfqXCMfLpZ3m+6QKIQKguDbMBGPMFGExKkG7bqvO7M5Hq1AafQ2rPf3WQo9BN2bwKdJq/hRXN1Tt5sVlUBbq7zHUTnG29ZsXLjXAV6OFqeW0jXsn0con/l2QYidUKDmsZuzWwgKBGjl8yj0aM0Ag5ZBuTQLGAkALpiJFOhDD114mVPEPEEujQ7yaYV84E3CmdiXrCeGLdRAjLoCaIp3IsgY56SS91/rCk4kQv3N0wNh8NajgccZm+IVKtOw8P4hmUxlO5+3l+c9IOuphGmqySQY2TOsNJ2gHnWwyIhLaS8Iksw8KX55X2pciMCTNAAkUKASAkIwnpuCGoQ0JYMB5Sf5J6I8vwu8r50mMKdmTmhBn8UojotEhGHHY3eHUNM5LRU26ANKoMeGOFTggL7gZJvejtujFFummqIkgAQABhTnrl5/iLPRi7MCOJO4Zh5U+WN3Uj4Lr9ZwOygjIugHhB2SABBFEljE9YdtSRxKimgdd5Bs+/8ieSH1U26fXiv67QqYX10ntviB8ZiQ2ikejkGK9xSGQEK3RYZIorXWEdxZg3OfuE+bozHsyAsOacJAoUVkdNuu/5mPKTCZvOPEenx2oyp5gAEC/MrXmhfrCGpGC9RBdI8IJhwoZjEKQc68NGweN6WH0DHu3I8OEiWEmxlOg4Oox1E4T+RdWRHkSYYeA5wmrfEuMshopMKOjhIlTMD1cafT7G3zlX9VY9lfZfA4gA1R8EQFAC82qRNsmPvJDiKOAlfwp7m197OCJ8PBVGAj/idonV+KJczGIPiYIaygpe3DobAJzbNIcm+JWHeWlnJYD4EM42GTUmUnH1HhKJlTwsRsHQqIcqS1Ft5IVxUA9esnOMebbpca66faXzCulDWgWASGiEFKLeXUI1by3VAuhK4TJ3yNolncqqmTXSh4prAqpqapejxN8QyKo3mdfDD5cH1VkjgZKJLfIdPi7IeZvvF9nyjgRhUCOBXia2Nny84Z2378EGx0xDNTIUwNLbiYFi21ZYRnygJxRAgKTeky3STFsBVtnZGb/PV3nJPQsdAyVzKdCA8XBQ0tpiz+EqfqFmKKqvO0ogCiur7BAGUBvnbUI2PsQTp6+REihM2MG22O2GJFqS1qJ7rW/HxAYQYLUBiFrgARMtAFscRG3wgEfkGIhMflLuDcfDOG3Fn76rj7G+keC7WeizNoAoBBDZxRnigbYVXJwZXtrV/ugYcABpq7BbrPzL4+I4c5nmFGPrKeXaUj3CLOuy8nXrYFs3gKgbxiWXp2nH/cxxHc3JrOgSqywCo3a9NaYCoDSiJI0X+dyStCbb26wtU2l+rDtVAAUsjuSc4+OzvFmS1uA9AgIz/Nn4a/4PRqTRJiMASsOaQCKNASd9NAqgVMJAFvgYxuYM700bm9b4FLyAV71Xb8fjjwj4PTO+Nlh9PeG5zeVuspouZv3vDplIYBgoKtKDV+fxwnf57zAgoRZv1ZJqcxoIhsDmv9C4r55t5Mfz0h7X3Gri/f4H+Cp1vmMx470AAAAASUVORK5CYII=\";\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","$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","$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","_Fragment","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":"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","x_google_ignoreList":[3,5,6,7,8,9,10,11,12,13,14,15,16,35,36]}
|