dga-ui-react 1.8.3 → 1.8.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/ThemeProvider/index.tsx","../../src/lib/RTL.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/assets/images/arrow-to-right.png","../../src/assets/images/arrow-to-left.png","../../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/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/index.tsx","../../src/components/Link/colors.ts","../../src/components/List/index.tsx","../../src/components/List/colors.ts","../../src/components/Loading/index.tsx","../../src/components/Loading/colors.ts","../../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/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/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/Radio/radioColors.ts","../../src/components/RadioGroup/index.tsx","../../src/components/Switch/index.tsx","../../src/components/Switch/switchColors.ts","../../src/components/StatusTag/index.tsx","../../src/components/StatusTag/colors.ts","../../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/assets/images/qIcon.png","../../src/components/HeaderMenuItem/index.tsx","../../src/components/NavigationDrawerItem/index.tsx","../../src/components/SearchBox/index.tsx","../../src/assets/images/searchByVoice.png","../../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/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/components/Chip/index.tsx","../../src/components/FloatingButton/index.tsx","../../src/components/RadialStepper/index.tsx","../../src/components/ProgressBar/index.tsx","../../src/components/NumberInput/index.tsx","../../src/components/NumberInput/plus.png","../../src/components/NumberInput/minus.png","../../src/lib/hooks/useScreenDimensions.tsx","../../src/components/Slider/Normal.tsx","../../src/components/Slider/Range.tsx","../../src/components/Carousel/Dot.tsx","../../src/components/Carousel/Arrow.tsx","../../src/components/Carousel/arrow-left-white.png","../../src/components/Carousel/arrow-left-black.png","../../src/components/Carousel/index.tsx","../../src/components/Quote/index.tsx","../../src/components/SecondNavHeader/index.tsx","../../src/components/CodeSnippet/index.tsx","../../src/components/CodeSnippet/copyIcon.png","../../src/components/SlideoutMenu/index.tsx","../../src/assets/images/close.png"],"sourcesContent":["import React from \"react\";\n\ntype Props = {\n theme: ThemeProps;\n children: React.ReactNode;\n};\n\nexport const ThemeContext = React.createContext<ThemeProps | null>(null);\n\nconst ThemeProvider: React.FC<Props> = ({ theme, children }) => {\n return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>;\n};\n\nexport default ThemeProvider;\n","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","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","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;","export const variants: Variant[] = [\n \"contained\",\n \"outlined\",\n \"text\",\n \"transparent\",\n \"solid\",\n];\n\nexport const COLORS = {\n white: \"#FFF\",\n white20: \"#FFF3\",\n white30: \"#FFFFFF4D\",\n white40: \"#FFF6\",\n white60: \"#FFF9\",\n white70: \"#FFFFFFB2\",\n white80: \"#FFFC\",\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport getButtonColors from \"./buttonColors\";\n\nexport const sizes = {\n small: { w: 74, h: 24, p: 8, f: 12 },\n medium: { w: 94, h: 32, p: 12, f: 14 },\n large: { w: 110, h: 40, p: 16, f: 16 },\n};\n\ninterface DGA_ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"style\"> {\n children?: React.ReactNode;\n size?: Size;\n style?: \"primary\" | \"neutral\" | \"secondary-solid\" | \"secondary-outline\" | \"subtle\" | \"transparent\";\n buttonStyle?: React.CSSProperties;\n destructive?: boolean;\n iconOnly?: boolean;\n onColor?: boolean;\n leadIcon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, DGA_ButtonProps>(\n (\n {\n children,\n size = \"large\",\n style = \"primary\",\n buttonStyle,\n destructive,\n iconOnly,\n onColor,\n leadIcon,\n trailIcon,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n\n const buttonColors = getButtonColors(theme, onColor, destructive);\n const backgroundColor = buttonColors[style].backgroundColor;\n const fontColor = buttonColors[style].fontColor;\n const borderColor = buttonColors[style].borderColor;\n const innerBorderColor = buttonColors[style].innerBorderColor;\n\n return (\n <StyledComponent\n {...props}\n ref={ref}\n className={mergeStrings(\"dgaui dgaui_button\", props.className)}\n $disabled={props.disabled}\n $customStyle={{\n theme,\n minWidth: iconOnly ? 0 : sizes[size].w,\n height: sizes[size].h,\n padding: sizes[size].p,\n fontSize: sizes[size].f,\n fontColor,\n backgroundColor,\n borderColor,\n innerBorderColor,\n }}\n style={buttonStyle}\n >\n {iconOnly && <div className=\"iconOnly\">{leadIcon || children}</div>}\n {!iconOnly && (\n <>\n <div className=\"leadIcon\">{leadIcon}</div>\n {children}\n <div className=\"trailIcon\">{trailIcon}</div>\n </>\n )}\n </StyledComponent>\n );\n }\n);\n\nconst StyledComponent = styled.button<{\n $disabled?: boolean;\n $customStyle: {\n theme: Theme;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: SelectorsObject;\n backgroundColor: SelectorsObject;\n borderColor?: SelectorsObject;\n innerBorderColor?: SelectorsObject;\n };\n}>`\n outline: none;\n border-radius: 4px;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n direction: ${(props) => props.$customStyle.theme.direction};\n min-width: ${(props) => props.$customStyle.minWidth}px;\n height: ${(props) => props.$customStyle.height}px;\n padding: ${(props) => props.$customStyle.padding}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n font-weight: 500;\n color: ${(props) => props.$customStyle.fontColor.default};\n background-color: ${(props) => props.$customStyle.backgroundColor.default};\n border: 2px solid transparent;\n ${(props) =>\n props.$customStyle.borderColor && `border: 1px solid ${props.$customStyle.borderColor.default};`};\n transition: background-color 0.1s;\n\n &:hover {\n background-color: ${(props) => props.$customStyle.backgroundColor.hovered};\n color: ${(props) => props.$customStyle.fontColor.hovered};\n ${(props) =>\n props.$customStyle.borderColor && `border: 1px solid ${props.$customStyle.borderColor.hovered};`};\n }\n\n &:focus {\n position: relative;\n border-radius: 4px;\n ${(props) =>\n props.$customStyle.borderColor?.focus && `border: 2px solid ${props.$customStyle.borderColor.focus};`};\n\n &:after {\n content: \"\";\n display: block;\n background-color: transparent;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n border-radius: 2px;\n box-sizing: border-box;\n ${(props) =>\n props.$customStyle.innerBorderColor?.focus &&\n `border: 1px solid ${props.$customStyle.innerBorderColor.focus};`};\n }\n }\n\n &:active {\n border: 2px solid transparent;\n border-radius: 4px;\n background-color: ${(props) => props.$customStyle.backgroundColor.active};\n color: ${(props) => props.$customStyle.fontColor.active};\n ${(props) =>\n props.$customStyle.borderColor?.active &&\n `border: 1px solid ${props.$customStyle.borderColor.active};`};\n &:after {\n display: none;\n }\n }\n\n &:disabled {\n cursor: default;\n pointer-events: none;\n background-color: ${(props) => props.$customStyle.backgroundColor.disabled};\n color: ${(props) => props.$customStyle.fontColor.disabled};\n }\n box-sizing: border-box;\n\n .leadIcon {\n margin-inline-end: 4px;\n display: inline-flex;\n }\n .trailIcon {\n margin-inline-start: 4px;\n display: inline-flex;\n }\n\n .iconOnly {\n display: inline-flex;\n }\n`;\n\nexport default Button;\n","import { COLORS } from \"../../lib/constants\";\n\ntype Button2Color = {\n backgroundColor: SelectorsObject;\n fontColor: SelectorsObject;\n borderColor?: SelectorsObject;\n innerBorderColor?: SelectorsObject;\n};\n\nconst result = (\n theme: Theme,\n onColor: boolean = false,\n destructive: boolean = false\n): {\n [k in\n | \"primary\"\n | \"neutral\"\n | \"secondary-solid\"\n | \"secondary-outline\"\n | \"subtle\"\n | \"transparent\"]: Button2Color;\n} => {\n /*\n *****************\n onColor = false\n destructive = false\n *****************\n */\n if (!onColor && !destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.primary[600],\n hovered: theme.palette.primary[700],\n active: theme.palette.primary[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.neutral[100],\n hovered: theme.palette.neutral[200],\n active: theme.palette.neutral[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.neutral[100],\n active: theme.palette.neutral[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.neutral[300],\n hovered: theme.palette.neutral[200],\n active: theme.palette.neutral[300],\n disabled: theme.palette.neutral[400],\n focus: theme.textColor,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.neutral[100],\n active: theme.palette.neutral[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.palette.primary[700],\n active: theme.palette.primary[900],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = false\n destructive = true\n *****************\n */\n\n // neutral style and disabled status are not set by dga //\n\n if (!onColor && destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.error[50],\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n focus: theme.textColor,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = true\n destructive = false\n *****************\n */\n if (onColor && !destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: COLORS.white,\n hovered: COLORS.white80, // 80% opacity\n active: COLORS.white60, // 60% opacity\n disabled: COLORS.white20, // 20% opacity\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n primary: {\n backgroundColor: {\n default: COLORS.white,\n hovered: COLORS.white80, // 80% opacity\n active: COLORS.white60, // 60% opacity\n disabled: COLORS.white20, // 20% opacity\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: COLORS.white20, // 20% opacity\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n default: COLORS.white40,\n hovered: COLORS.white40,\n active: COLORS.white40,\n disabled: theme.palette.neutral[400],\n focus: COLORS.white,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.palette.primary[400],\n active: theme.palette.primary[300],\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = true\n destructive = true\n *****************\n */\n if (onColor && destructive) {\n }\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.error[50],\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n focus: COLORS.white,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[300],\n active: theme.palette.error[400],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n };\n};\n\nexport default result;\n","import React, { HTMLAttributes } from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Button from \"../Button\";\nimport useTheme from \"../../lib/useTheme\";\nimport arrowDownImage from \"../../assets/images/chevron.png\";\nimport Checkbox from \"../Checkbox\";\n\ninterface DGA_CardProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"title\"> {\n title?: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n type?: \"default\" | \"expandable\" | \"selectable\";\n state?: \"default\" | \"disabled\" | \"focused\" | \"hover\";\n effect?: \"withShadow\" | \"noShadow\" | \"stroke\";\n expandableContent?: React.ReactNode;\n actionsButtons?: React.ReactElement<typeof Button>[];\n expanded?: boolean;\n selected?: boolean;\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n}\n\nconst Card: React.FC<DGA_CardProps> = ({\n title,\n description,\n icon,\n type = \"default\",\n state = \"default\",\n effect = \"withShadow\",\n expandableContent,\n actionsButtons,\n selected,\n expanded,\n onChange,\n ...props\n}) => {\n const theme = useTheme();\n const [internalExpanded, setInternalExpanded] = React.useState(false);\n const [contentHeight, setContentHeight] = React.useState(0);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n // Use expanded prop if provided, otherwise use internal state\n const isExpanded = expanded !== undefined ? expanded : internalExpanded;\n\n const selectable = type === \"selectable\";\n const expandable = type === \"expandable\";\n const pointerEvents =\n type === \"expandable\" || type === \"selectable\" ? \"all\" : \"none\";\n\n React.useEffect(() => {\n if (expandable && contentRef.current?.clientHeight) {\n setContentHeight(contentRef.current.clientHeight);\n }\n }, [expandable, contentRef.current?.clientHeight]);\n\n const handleExpandToggle = () => {\n if (expanded === undefined) {\n // Only use internal state if expanded prop is not controlled\n setInternalExpanded((prevState: boolean) => !prevState);\n }\n };\n\n return (\n <StyledComponent\n className={mergeStrings(\n \"dgaui dgaui_card\" +\n (state === \"disabled\" ? \" disabled\" : \"\") +\n (selectable ? \" selectable\" : \"\"),\n props.className\n )}\n $theme={theme}\n $pointerEvents={pointerEvents}\n $effect={effect}\n $contentHeight={contentHeight}\n $expanded={isExpanded}\n $state={state}\n {...props}\n tabIndex={0}\n onClick={(e) => {\n props.onClick && props.onClick(e);\n onChange?.(e, !selected);\n }}\n >\n {(icon || selectable) && (\n <div className=\"cardHeader\">\n <div className=\"iconContainer\">{icon}</div>\n {selectable && (\n <div\n className=\"checkboxContainer\"\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n value={selected}\n onChange={onChange}\n size=\"medium\"\n disabled={state === \"disabled\"}\n />\n </div>\n )}\n </div>\n )}\n {title && <div className=\"titleContainer\">{title}</div>}\n {description && <div className=\"descriptionContainer\">{description}</div>}\n {!!actionsButtons && actionsButtons.length > 0 && type === \"default\" && (\n <div\n className=\"actionsButtonsContainer\"\n onClick={(e) => e.stopPropagation()}\n >\n {actionsButtons}\n </div>\n )}\n {expandable && (\n <>\n <div className=\"caretButtonContainer\">\n <img\n src={arrowDownImage}\n onClick={handleExpandToggle}\n style={{\n transition: \"all 0.2s\",\n transform: isExpanded ? \"rotateZ(-180deg)\" : \"none\",\n }}\n />\n </div>\n <div\n className=\"expandableContentContainer\"\n style={{ height: isExpanded ? contentHeight : 0 }}\n >\n <div\n className=\"expandableContent\"\n ref={contentRef}\n style={{ visibility: isExpanded ? \"visible\" : \"hidden\" }}\n >\n {expandableContent}\n </div>\n </div>\n </>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $pointerEvents: string;\n $effect?: \"withShadow\" | \"noShadow\" | \"stroke\";\n $contentHeight: number;\n $expanded?: boolean;\n $state?: \"default\" | \"disabled\" | \"focused\" | \"hover\";\n}>`\n direction: ${(p) => p.$theme.direction};\n /* pointer-events: ${(p) => p.$pointerEvents}; */\n border: none;\n outline: none;\n width: 350px;\n padding: 16px;\n border-radius: 16px;\n background-color: #fff;\n text-align: start;\n overflow: hidden;\n color: ${(p) =>\n p.$state === \"disabled\"\n ? p.$theme.palette.neutral[400]\n : p.$theme.palette.neutral[800]};\n border: 2px solid transparent;\n\n /* Apply background color based on state prop */\n background-color: ${(p) => {\n if (p.$state === \"hover\") return p.$theme.palette.neutral[50];\n return \"#fff\";\n }};\n\n /* Apply border color based on state prop */\n ${(p) =>\n p.$state === \"focused\" ? `border: 2px solid ${p.$theme.textColor};` : \"\"}\n\n ${(p) => (p.$effect === \"withShadow\" ? p.$theme.elevation.shadows.md : \"\")};\n ${(p) =>\n p.$effect === \"stroke\"\n ? \"border: 1px solid \" + p.$theme.palette.neutral[300]\n : \"\"};\n\n /* CSS hover and focus states - work when state prop is default */\n ${(p) =>\n p.$pointerEvents === \"all\" && p.$state !== \"disabled\"\n ? css`\n &:hover {\n background-color: ${p.$theme.palette.neutral[50]};\n }\n &:focus {\n border: 2px solid ${p.$theme.textColor};\n }\n `\n : \"\"}\n\n &.selectable {\n cursor: pointer;\n }\n &.disabled {\n pointer-events: none;\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n\n .iconContainer {\n opacity: 0.5;\n filter: grayscale(1);\n }\n\n .checkboxContainer {\n opacity: 0.5;\n filter: grayscale(1);\n }\n }\n\n .cardHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-height: 48px;\n margin-bottom: 24px;\n\n .iconContainer {\n max-height: 48px;\n }\n }\n\n .titleContainer {\n font-size: 18px;\n font-weight: 700;\n margin-bottom: 8px;\n }\n .descriptionContainer {\n font-size: 16px;\n }\n .actionsButtonsContainer {\n margin-top: 24px;\n button {\n margin-inline-end: 16px;\n &:last-child {\n margin-inline-end: 0;\n }\n }\n }\n\n .caretButtonContainer {\n height: 40px;\n margin-top: 24px;\n display: flex;\n align-items: center;\n img {\n cursor: pointer;\n }\n }\n .expandableContentContainer {\n transition: all 0.2s;\n font-size: 16px;\n\n .expandableContent {\n }\n }\n`;\n\nexport default Card;\n","\"use strict\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=e({name:\"gregorian\",startYear:1,yearLength:365,epoch:1721424,century:20,weekStartDayIndex:1,getMonthLengths:e=>[31,e?29:28,31,30,31,30,31,31,30,31,30,31],isLeap:e=>e%4==0&&e%100!=0||e%400==0,getLeaps(e){if(0===e)return;let t=e>0?1:-1,r=[];for(;e>0?t<=e:e<=t;)this.isLeap(t)&&r.push(t),e>0?t++:t--;return r},getDayOfYear({year:e,month:t,day:r}){let a=this.getMonthLengths(this.isLeap(e));for(let e=0;e<t.index;e++)r+=a[e];return r},getAllDays(e){const{year:t}=e;return this.yearLength*(t-1)+this.leapsLength(t)+this.getDayOfYear(e)},leapsLength:e=>((e-1)/4|0)+(-(e-1)/100|0)+((e-1)/400|0),guessYear:(e,t)=>~~(e/365.24)+(t>0?1:-1)});module.exports=t;\n","\"use strict\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=e({name:\"arabic\",startYear:1,yearLength:354,epoch:1948438,century:14,weekStartDayIndex:0,getMonthLengths:e=>[30,29,30,29,30,29,30,29,30,29,30,e?30:29],isLeap:e=>[2,5,7,10,13,15,18,21,24,26,29].includes(e%30),getLeaps(e){if(0===e)return;let t=e>0?1:-1,r=[];for(;e>0?t<=e:e<=t;)this.isLeap(t)&&r.push(t),e>0?t++:t--;return r},getDayOfYear({year:e,month:t,day:r}){let a=this.getMonthLengths(this.isLeap(e));for(let e=0;e<t.index;e++)r+=a[e];return r},getAllDays(e){const{year:t}=e;return this.yearLength*(t-1)+this.leapsLength(t)+this.getDayOfYear(e)},leapsLength:e=>11/30*(e-1)+.5|0,guessYear:(e,t)=>~~((e-.5)/354.366)+(t>0?1:-1)});module.exports=t;\n","export const gregorian_ar = {\n name: \"gregorian_ar\",\n months: [\n [\"يناير\", \"ينا\"],\n [\"فبراير\", \"فبر\"],\n [\"مارس\", \"ما\"],\n [\"إبريل\", \"إبر\"],\n [\"مايو\", \"ما\"],\n [\"يونيو\", \"يو\"],\n [\"يوليو\", \"يوليو\"],\n [\"أغسطس\", \"أغس\"],\n [\"سبتمبر\", \"سب\"],\n [\"أكتوبر\", \"اک\"],\n [\"نوفمبر\", \"نو\"],\n [\"ديسمبر\", \"دس\"],\n ],\n weekDays: [\n [\"السّبت\", \"سب\"],\n [\"الأحد\", \"اح\"],\n [\"الإثنينِ\", \"ثن\"],\n [\"الثلاثاء\", \"ثل\"],\n [\"الأربعاء\", \"ار\"],\n [\"الخميس\", \"خم\"],\n [\"الجمعة\", \"جم\"],\n ],\n digits: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n meridiems: [\n [\"قبل الظهر\", \"ق.ظ\"],\n [\"بعد الظهر\", \"ب.ظ\"],\n ],\n};\n\nexport const arabic_ar = {\n name: \"arabic_ar\",\n months: [\n [\"محرم\", \"محرم\"],\n [\"صفر\", \"صفر\"],\n [\"ربیع الاول\", \"ربیع الاول\"],\n [\"ربیع الثانی\", \"ربیع الثانی\"],\n [\"جمادی الاول\", \"جمادی الاول\"],\n [\"جمادی الثانی\", \"جمادی الثانی\"],\n [\"رجب\", \"رجب\"],\n [\"شعبان\", \"شعبان\"],\n [\"رمضان\", \"رمضان\"],\n [\"شوال\", \"شوال\"],\n [\"ذو القعدة\", \"ذو القعدة\"],\n [\"ذو الحجة\", \"ذو الحجة\"],\n ],\n weekDays: [\n [\"السّبت\", \"سب\"],\n [\"الأحد\", \"اح\"],\n [\"الإثنينِ\", \"ثن\"],\n [\"الثلاثاء\", \"ثل\"],\n [\"الأربعاء\", \"ار\"],\n [\"الخميس\", \"خم\"],\n [\"الجمعة\", \"جم\"],\n ],\n digits: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n meridiems: [\n [\"قبل الظهر\", \"ق.ظ\"],\n [\"بعد الظهر\", \"ب.ظ\"],\n ],\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n medium: { w: 320, h: 32, p: 8, f: 14, prefixW: 72 },\n large: { w: 320, h: 40, p: 8, f: 16, prefixW: 61 },\n};\n\nexport type Style = \"default\" | \"filledDarker\" | \"filledLighter\";\n\nexport interface DGA_TextInputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"prefix\" | \"style\"> {\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 ${error ? theme.palette.error[700] : theme.palette.neutral[400]}`;\n let borderHovered = `1px solid ${error ? theme.palette.error[700] : theme.palette.neutral[700]}`;\n let borderFocused = `1px solid ${error ? theme.palette.error[700] : theme.palette.neutral[700]}`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n let prefixBg = prefixStyle === \"solid\" ? theme.palette.neutral[100] : \"transparent\";\n let prefixBgHover = theme.palette.neutral[100];\n let prefixBgActive = theme.palette.neutral[200];\n let suffixBg = 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 style={{ marginBottom: 8, textAlign: \"start\" }} htmlFor={props.id}>\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 $bgColor={animationColor} className=\"dgauiInputSeparator\" />\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\")} + ${(p) => p.$customStyle.iconPadding} +\n 8px\n );\n }\n .icon {\n inset-inline-start: ${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")};\n }\n }\n\n &:has(.suffix) {\n input {\n padding-inline-end: calc(${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")} + 8px);\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 = 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(date[1])}`;\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={hijri ? arabic_ar : theme.direction === \"rtl\" ? gregorian_ar : undefined}\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 value={yearDisplayValue} onChange={(e) => onYearChangedDropdown(+e.target.value)}>\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={\"dgaui\" + (isRangeAndOnlyOneSelected ? \" rangeOnlyOneSelected\" : \"\")}\n $theme={theme}\n >\n {!withTextInput && calendar}\n {withTextInput && (\n <Menu menuItems={calendar} keepOpenOnItemsClicked>\n <TextInput value={textInputProps?.value || dateText} readOnly {...textInputProps} />\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 .dgaui_menu {\n display: block;\n }\n`;\n\nexport default DatePicker;\n\nfunction gregoreanYearToHijriYear(gregorianYear: number, gregorianMonth: number) {\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) => text?.toString().padStart(2, \"0\");\n\nconst formatDate = (date: DateObject) => {\n return `${padStartZero(date.day)}/${padStartZero(date.month.number)}/${date.year}`;\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\";\nimport { InlineAlertType } from \".\";\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 InlineAlertType]: InlineAlertColor } => ({\n neutral: {\n icon: neutralIcon,\n vLine: them.palette.neutral[200],\n border: them.palette.neutral[200],\n font: them.palette.neutral[800],\n bg: them.palette.neutral[25],\n },\n destructive: {\n icon: errorIcon,\n vLine: them.palette.error[600],\n border: them.palette.error[200],\n font: them.palette.error[700],\n bg: them.palette.error[25],\n },\n warning: {\n icon: warningIcon,\n vLine: them.palette.warning[600],\n border: them.palette.warning[200],\n font: them.palette.warning[700],\n bg: them.palette.warning[25],\n },\n success: {\n icon: successIcon,\n vLine: them.palette.success[600],\n border: them.palette.success[200],\n font: them.palette.success[700],\n bg: them.palette.success[25],\n },\n info: {\n icon: infoIcon,\n vLine: them.palette.info[600],\n border: them.palette.neutral[200],\n font: them.palette.info[700],\n bg: them.palette.info[25],\n },\n});\n\nexport default result;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\n// assets\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport colors, { InlineAlertColor } from \"./colors\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\n\nexport type InlineAlertType = \"neutral\" | \"warning\" | \"info\" | \"success\" | \"destructive\";\nexport interface DGA_InlineAlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n leadText: React.ReactNode;\n helpText?: React.ReactNode;\n type?: InlineAlertType;\n closeButton?: boolean;\n actions?: React.ReactNode;\n onClose?: Function;\n background?: \"white\" | \"color\";\n}\n\nconst InlineAlert: React.FC<DGA_InlineAlertProps> = ({\n leadText,\n helpText,\n type = \"neutral\",\n actions,\n closeButton,\n onClose,\n background,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const colorsResult: InlineAlertColor = colors(theme)[type];\n const isColored = background === \"color\";\n const isMinimal = !helpText && !actions;\n\n return (\n <StyledComponent\n $theme={theme}\n $colors={colorsResult}\n $isColored={isColored}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_inlineAlert \" +\n (screenSizes.isMobile ? \" mobile \" : \"\") +\n (isMinimal ? \" minimal \" : \"\"),\n props.className\n )}\n >\n <div className=\"icon\" />\n <div className=\"content\">\n <div className=\"leadText\">{leadText}</div>\n {helpText && <div className=\"helpText\">{helpText}</div>}\n {actions && <div className=\"actions\">{actions}</div>}\n </div>\n {closeButton && <div className=\"close\" onClick={() => onClose?.()} />}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $colors: InlineAlertColor;\n $isColored: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n display: flex;\n position: relative;\n padding: 16px 24px;\n background-color: ${({ $colors, $isColored }) => ($isColored ? $colors.bg : \"#fff\")};\n border-radius: 8px;\n border: 1px solid\n ${({ $colors, $isColored, $theme }) => ($isColored ? $colors.border : $theme.palette.neutral[300])};\n\n box-sizing: border-box;\n overflow: hidden;\n\n &::before {\n content: \"\";\n display: block;\n width: 8px;\n height: 100%;\n position: absolute;\n inset-inline-start: 0;\n top: 0;\n background-color: ${(p) => p.$colors.vLine};\n }\n\n .icon {\n min-width: 40px;\n height: 40px;\n background-image: url(${(p) => p.$colors.icon});\n background-repeat: no-repeat;\n background-size: contain;\n margin-inline-end: 12px;\n }\n .content {\n width: 100%;\n\n .leadText {\n font-size: 16px;\n font-weight: 600;\n min-height: 40px;\n display: flex;\n align-items: center;\n color: ${({ $colors, $isColored, $theme }) =>\n $isColored ? $colors.font : $theme.palette.neutral[800]};\n }\n .helpText {\n font-size: 14px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n margin-top: 8px;\n }\n .actions {\n margin-top: 16px;\n\n button {\n margin-inline-end: 8px;\n }\n }\n }\n .close {\n margin-inline-start: 12px;\n cursor: pointer;\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n min-width: 20px;\n height: 20px;\n margin-top: 10px;\n &:hover {\n transform: scale(1.1);\n }\n }\n\n &.mobile {\n flex-direction: column;\n\n &::before {\n width: 100%;\n height: 8px;\n position: absolute;\n top: 0;\n }\n .icon {\n margin-bottom: 16px;\n }\n .content {\n .title {\n margin-inline-end: 16px;\n }\n .actionButtons {\n display: flex;\n flex-direction: column;\n\n button {\n margin-inline-end: 0;\n margin-bottom: 8px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n .close {\n margin-inline-start: 0;\n position: absolute;\n inset-inline-end: 16px;\n top: 16px;\n }\n }\n\n &.minimal {\n padding: 16px 24px;\n\n &.mobile {\n padding-top: 14px;\n flex-direction: row;\n align-items: center;\n\n .icon {\n margin-bottom: 0;\n }\n .close {\n position: initial;\n margin-top: 0;\n margin-inline-start: 16px;\n }\n }\n }\n`;\n\nexport default InlineAlert;\n","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;","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","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","import React from \"react\";\nimport colors, { ListColor } from \"./colors\";\nimport styled, { css } from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ninterface DGA_LinkProps extends Omit<React.OlHTMLAttributes<HTMLOListElement>, \"style\" | \"type\"> {\n style?: \"primary\" | \"neutral\" | \"on-color\";\n type?: \"ordered-list\" | \"unordered-list\" | \"with-icon\";\n level?: 1 | 2 | \"1\" | \"2\";\n iconUrl?: string;\n children: React.ReactNode;\n}\n\nconst List: React.FC<DGA_LinkProps> = ({\n children,\n style = \"primary\",\n type = \"ordered-list\",\n level = 1,\n iconUrl = \"\",\n ...props\n}) => {\n const theme = useTheme();\n const selectedColors = colors(theme)[style];\n\n const Result = type === \"ordered-list\" ? StyledOlComponent : StyledUlComponent;\n\n return (\n <Result\n $theme={theme}\n $colors={selectedColors}\n $listStyleType={getListStyleType(type, level)}\n {...props}\n className={mergeStrings(\"dgaui dgaui_list\", props.className)}\n type={type === \"ordered-list\" && +level === 1 ? \"1\" : \"a\"}\n $iconUrl={iconUrl}\n $level={+level}\n $ol={type === \"ordered-list\"}\n >\n {children}\n </Result>\n );\n};\n\nconst StyledUlComponent = styled.ul<{\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n}>`\n ${(p) => getCss(p)};\n`;\n\nconst StyledOlComponent = styled.ol<{\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n $ol: boolean;\n}>`\n ${(p) => getCss(p)};\n`;\n\nexport default List;\n\nconst getCss = (p: {\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n $ol?: boolean;\n}) => {\n return css`\n direction: ${p.$theme.direction};\n color: ${p.$colors.text};\n font-size: 16px;\n padding-inline-start: ${p.$level === 1 ? 0 : \"\"};\n\n ${p.$listStyleType ? \"list-style-type: \" + p.$listStyleType : \"\"};\n\n ${p.$listStyleType === \"decimal\" && p.$level === 1 && p.$ol\n ? css`\n list-style-type: none; /* Remove default numbering */\n counter-reset: item; /* Initialize the counter */\n\n li {\n display: flex;\n align-items: center;\n position: relative;\n\n &::before {\n content: counter(item) \"- \";\n counter-increment: item;\n\n height: 16px;\n width: 16px;\n position: absolute;\n top: 0;\n inset-inline-start: -24px;\n }\n &::marker {\n content: \"\";\n }\n }\n `\n : \"\"};\n\n ${p.$listStyleType === \"with-icon\" && p.$iconUrl\n ? css`\n li {\n display: flex;\n align-items: center;\n position: relative;\n\n &::before {\n content: url(${p.$iconUrl});\n height: 16px;\n width: 16px;\n position: absolute;\n top: 2px;\n inset-inline-start: -24px;\n }\n &::marker {\n content: \"\";\n }\n }\n `\n : \"\"};\n `;\n};\n\nconst getListStyleType = (\n type: \"ordered-list\" | \"unordered-list\" | \"with-icon\",\n anyLevel: string | number\n) => {\n const level = +anyLevel;\n\n switch (type) {\n case \"ordered-list\": {\n if (level === 1) {\n return \"decimal\";\n }\n if (level === 2) {\n return \"\";\n }\n return \"\";\n }\n case \"unordered-list\": {\n if (level === 1) {\n return `\"- \"`;\n }\n if (level === 2) {\n return \"disc\";\n }\n return \"\";\n }\n default: {\n return \"with-icon\";\n }\n }\n};\n","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 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 { 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","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../../lib/useTheme\";\nimport { mergeStrings } from \"../../../lib/helpers\";\n\ninterface DGA_MenuItemProps extends React.HTMLAttributes<HTMLDivElement> {\n disabled?: boolean;\n icon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst MenuItem: React.FC<DGA_MenuItemProps> = ({\n icon,\n trailIcon,\n children,\n disabled,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_menuItem\" + (disabled ? \" disabled\" : \"\"),\n props.className\n )}\n tabIndex={0}\n >\n <div className=\"itemContent\">\n {icon && <div className=\"icon\">{icon}</div>}\n <div className=\"content\">{children}</div>\n </div>\n {trailIcon && <div className=\"trailIcon\">{trailIcon}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n min-width: 225px;\n height: 40px;\n padding: 8px;\n display: flex;\n align-items: center;\n transition: all 0.2s;\n border-radius: 4px;\n border: 2px solid transparent;\n\n .itemContent {\n flex: 1;\n display: flex;\n align-items: center;\n\n .icon {\n margin-inline-end: 8px;\n display: flex;\n }\n .content {\n flex: 1;\n color: ${(p) => p.$theme.textColor};\n font-size: 16px;\n }\n }\n\n .trailIcon {\n margin-inline-start: 8px;\n }\n\n &:hover {\n background: ${(p) => p.$theme.palette.neutral[100]};\n }\n &:active {\n background: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n }\n &.disabled {\n pointer-events: none;\n filter: grayscale(1);\n .itemContent {\n .content {\n color: ${(p) => p.$theme.palette.neutral[400]};\n }\n }\n }\n`;\n\nexport default MenuItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../../lib/useTheme\";\nimport { mergeStrings } from \"../../../lib/helpers\";\n\ninterface DGA_MenuItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n title: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst MenuItemGroup: React.FC<DGA_MenuItemProps> = ({\n title,\n children,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_menuItemGroup\", props.className)}\n tabIndex={0}\n >\n <div className=\"groupTitle\">{title}</div>\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n border-bottom: 1px solid #cbd5e1;\n padding-bottom: 8px;\n margin-bottom: 8px;\n\n &:last-child {\n border-bottom: none;\n }\n\n .groupTitle {\n font-size: 12px;\n font-weight: 700;\n color: ${(p) => p.$theme.palette.neutral[800]};\n margin-bottom: 12px;\n padding: 8px;\n padding-bottom: 0;\n }\n`;\n\nexport default MenuItemGroup;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\nimport Button from \"../Button\";\n\ninterface DGA_ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: React.ReactNode;\n title?: React.ReactNode;\n body?: React.ReactNode;\n align?: \"start\" | \"center\";\n size?: \"auto\" | 600;\n open: boolean;\n onClose?: Function;\n footerStartButtons?: React.ReactElement<typeof Button>[];\n footerEndButtons?: React.ReactElement<typeof Button>[];\n}\n\nconst Modal: React.FC<DGA_ModalProps> = ({\n icon,\n title,\n body,\n align,\n size = 600,\n open,\n onClose,\n footerStartButtons,\n footerEndButtons,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const ref = React.useRef(null);\n\n if (!open) return null;\n\n return (\n <>\n <Backdrop className={\"dgaui dgaui_modal_backdrop\"} onClick={() => onClose?.()} />\n\n <StyledComponent\n $theme={theme}\n $align={align === \"start\" ? \"flex-start\" : \"center\"}\n $size={size}\n className={mergeStrings(\"dgaui dgaui_modal \" + props.className)}\n >\n <div\n {...props}\n ref={ref}\n className={\"dgaui_modalContent\" + (screenSizes.isMobile ? \" dgaui_modalMobile\" : \"\")}\n >\n <div className=\"dgaui_modalClose\" onClick={() => onClose?.()} />\n\n {(title || icon) && (\n <div className=\"dgaui_modalHeader\">\n {icon && <div className=\"dgaui_modalHeaderIcon\">{icon}</div>}\n {title && <div className=\"dgaui_modalHeaderTitle\">{title}</div>}\n </div>\n )}\n\n {body && <div className=\"dgaui_modalHeaderBody dgaui_hiddenScrollbar\">{body}</div>}\n\n {(!!footerStartButtons || !!footerEndButtons) && (\n <div\n className={\n \"dgaui_modalHeaderFooter \" + (!footerStartButtons && !!footerEndButtons ? \"onlyEnd\" : \"\")\n }\n >\n {footerStartButtons && <div className=\"dgaui_modalHeaderFooterStart\">{footerStartButtons}</div>}\n {footerEndButtons && <div className=\"dgaui_modalHeaderFooterEnd\">{footerEndButtons}</div>}\n </div>\n )}\n </div>\n </StyledComponent>\n </>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $align?: string;\n $size?: \"auto\" | 600;\n}>`\n position: fixed;\n z-index: 2401;\n opacity: 0;\n animation: opacity 0.225s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: center;\n justify-self: center;\n inset: 0;\n\n &.dgaui_modal {\n opacity: 1;\n }\n\n @keyframes opacity {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n }\n\n .dgaui_modalContent {\n height: fit-content;\n direction: ${(p) => p.$theme.direction};\n width: ${(p) => (p.$size === \"auto\" ? p.$size : p.$size + \"px\")};\n padding: 24px;\n background-color: #fff;\n border-radius: 8px;\n ${(p) => p.$theme.elevation.shadows[\"3xl\"]};\n position: relative;\n\n .dgaui_modalClose {\n position: absolute;\n top: 20px;\n inset-inline-end: 20px;\n cursor: pointer;\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n width: 20px;\n height: 20px;\n\n &:hover {\n transform: scale(1.1);\n }\n }\n\n .dgaui_modalHeader {\n display: flex;\n flex-direction: column;\n align-items: ${(p) => p.$align};\n\n .dgaui_modalHeaderIcon {\n height: 40px;\n margin-bottom: 8px;\n }\n .dgaui_modalHeaderTitle {\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n color: ${({ $theme }) => $theme.palette.neutral[800]};\n }\n }\n\n .dgaui_modalHeaderBody {\n padding: 16px 0;\n padding-bottom: 0;\n font-size: 14px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n display: flex;\n flex-direction: column;\n align-items: ${(p) => p.$align};\n text-align: ${(p) => p.$align};\n max-height: calc(100vh - 300px);\n overflow: auto;\n }\n\n .dgaui_modalHeaderFooter {\n padding: 0;\n margin-top: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n &.onlyEnd {\n display: flex;\n justify-content: flex-end;\n }\n\n .dgaui_modalHeaderFooterEnd {\n display: flex;\n justify-content: flex-end;\n }\n\n button {\n margin-inline-end: 8px;\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n }\n\n &.dgaui_modalMobile {\n width: auto;\n margin: 0 16px;\n\n .dgaui_modalHeaderBody {\n max-height: calc(100vh - 400px);\n }\n\n .dgaui_modalHeaderFooter {\n flex-direction: column;\n .dgaui_modalHeaderFooterStart,\n .dgaui_modalHeaderFooterEnd {\n display: inline-flex;\n width: 100%;\n }\n button {\n width: 100%;\n margin-inline-end: 0;\n margin-bottom: 4px;\n }\n }\n }\n }\n`;\n\nconst Backdrop = styled.div`\n position: fixed;\n z-index: 2400;\n background-color: rgba(0, 0, 0, 0.5);\n inset: 0;\n`;\n\nexport default Modal;\n","// assets\nimport info from \"./icons/info.png\";\nimport error from \"./icons/error.png\";\nimport neutral from \"./icons/neutral.png\";\nimport success from \"./icons/success.png\";\nimport warning from \"./icons/warning.png\";\n\nexport type NotificationColor = {\n bg: string;\n text: string;\n border: string;\n icon: string;\n};\n\nconst result = (them: Theme): { [k in 'success' | 'info' | 'neutral' | 'warning' | 'critical']: NotificationColor } => ({\n neutral: {\n bg: them.palette.neutral[50],\n text: them.palette.neutral[700],\n border: them.textColor,\n icon: neutral,\n },\n critical: {\n bg: them.palette.error[50],\n text: them.palette.error[700],\n border: them.palette.error[600],\n icon: error,\n },\n warning: {\n bg: them.palette.warning[50],\n text: them.palette.warning[700],\n border: them.palette.warning[600],\n icon: warning,\n },\n success: {\n bg: them.palette.success[50],\n text: them.palette.success[700],\n border: them.palette.success[600],\n icon: success,\n },\n info: {\n bg: \"#EFF8FF\",\n text: them.palette.info[700],\n border: them.palette.info[600],\n icon: info,\n },\n});\n\nexport default result;\n","import React from 'react';\nimport styled from 'styled-components';\n\n//lib\nimport { mergeStrings } from '../../lib/helpers';\n\n// assets\nimport useTheme from '../../lib/useTheme';\nimport colors, { NotificationColor } from './colors';\nimport buttonCloseIcon from '../../assets/images/x.png';\n\ninterface DGA_NotificationProps {\n\tstyle: 'success' | 'info' | 'neutral' | 'warning' | 'critical';\n\tclassName?: string;\n\ticon?: boolean;\n\tleadText?: string;\n\tlink?: React.ReactNode;\n\tdismissible?: boolean;\n\tbutton?: React.ReactNode;\n\thelpText?: string;\n\tonClose?: Function;\n}\n\nconst Notification: React.FC<DGA_NotificationProps> = ({\n\tstyle = 'neutral',\n\ticon = true,\n\tleadText,\n\tlink,\n\tdismissible = true,\n\tbutton,\n\thelpText,\n\tonClose,\n\t...props\n}) => {\n\tconst theme = useTheme();\n\tconst colorNameResult = style;\n\tconst [show, setShow] = React.useState(true);\n\n\tconst closeClickedHandler = () => {\n\t\tsetShow(false);\n\t\tonClose?.();\n\t};\n\n\tif (!show) return null;\n\n\treturn (\n\t\t<StyledComponent\n\t\t\t$theme={theme}\n\t\t\t$colors={colors(theme)[colorNameResult]}\n\t\t\t{...props}\n\t\t\tclassName={mergeStrings('dgaui dgaui_notification', props.className)}>\n\t\t\t<div className='contentContainer'>\n\t\t\t\t{icon && <div className='icon' />}\n\t\t\t\t<div className='content'>\n\t\t\t\t\t{leadText && <span className='title'>{leadText}</span>}\n\t\t\t\t\t{helpText && <span className='message'>{helpText}</span>}\n\t\t\t\t</div>\n\t\t\t\t<div className='actions'>\n\t\t\t\t\t{link && link}\n\t\t\t\t\t{button && button}\n\t\t\t\t\t{dismissible && (\n\t\t\t\t\t\t<div className='close' onClick={closeClickedHandler} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</StyledComponent>\n\t);\n};\n\nconst StyledComponent = styled.div<{\n\t$theme: Theme;\n\t$colors: NotificationColor;\n}>`\n\tdirection: ${(p) => p.$theme.direction};\n\tpadding: 8px 24px;\n\twidth: 100%;\n\tmin-height: 56px;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tborder-radius: 2px;\n\tborder-bottom: 2px solid ${(p) => p.$colors.border};\n\tbackground-color: ${(p) => p.$colors.bg};\n\t.contentContainer {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tgap: 8px;\n\t\t.icon {\n\t\t\tbackground-image: url(${(p) => p.$colors.icon});\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-size: contain;\n\t\t\tmin-width: 24px;\n\t\t\theight: 24px;\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\t\t.content {\n\t\t\tcolor: ${(p) => p.$colors.text};\n\t\t\tfont-size: 16px;\n\t\t\t.title {\n\t\t\t\tmargin-inline-end: 8px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t.message {\n\t\t\t\tword-wrap: normal;\n\t\t\t}\n\t\t}\n\t}\n\t.actions {\n\t\tdisplay: flex;\n\t\tgap: 8px;\n\t\tflex-wrap: nowrap;\n\t\talign-items: center;\n\t}\n\t.close {\n\t\tmargin-inline-start: 12px;\n\t\tcursor: pointer;\n\t\tbackground-image: url(${buttonCloseIcon});\n\t\tbackground-repeat: no-repeat;\n\t\tmin-width: 20px;\n\t\theight: 20px;\n\t\t&:hover {\n\t\t\ttransform: scale(1.1);\n\t\t}\n\t}\n`;\n\nexport default Notification;\n","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;","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","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\";\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","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","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","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","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","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 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","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;","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","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;","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 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 (selected ? \" selected\" : \"\"),\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) => (p.$size === \"large\" ? 32 : p.$size === \"medium\" ? 24 : 20)}px;\n padding: ${(p) => (p.$size === \"large\" ? 4 : 3)}px 12px;\n background-color: ${(p) => (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\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[200]};\n color: ${(p) => p.$theme.palette.primary[800]};\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) => (p.$selected ? p.$theme.palette.neutral[700] : p.$theme.palette.neutral[100])};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n color: ${(p) => p.$theme.textColor};\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 &.selected {\n }\n`;\n\nexport default Chip;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_FloatingButtonProps\n extends Omit<React.HTMLAttributes<HTMLButtonElement>, \"style\"> {\n style?: \"Primary-Neutral\" | \"Primary-Brand\" | \"Secondary-Solid\";\n iconOnly?: boolean;\n size?: \"small\" | \"large\";\n selected?: boolean;\n onColor?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n leadIcon?: React.ReactNode;\n}\n\nconst FloatingButton: React.FC<DGA_FloatingButtonProps> = ({\n size = \"large\",\n style = \"Primary-Neutral\",\n onColor = false,\n selected = false,\n disabled = false,\n iconOnly = false,\n children,\n leadIcon,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $iconOnly={iconOnly}\n $selected={selected}\n className={mergeStrings(\n \"dgaui dgaui_floatingButton\" +\n (style === \"Primary-Brand\" ? \" primaryBrand\" : \"\") +\n (style === \"Secondary-Solid\" ? \" secondarySolid\" : \"\") +\n (disabled ? \" disabled\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n {...props}\n >\n {leadIcon && <div className=\"leadIcon\">{leadIcon}</div>}\n {children && !iconOnly && <div>{children}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.button<{\n $size: \"small\" | \"large\";\n $theme: Theme;\n $selected: boolean;\n $iconOnly: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => (p.$size === \"large\" ? 64 : 56)}px;\n width: ${(p) =>\n p.$iconOnly ? (p.$size === \"large\" ? \"64px\" : \"56px\") : \"initial\"};\n padding: ${(p) => (p.$size === \"large\" ? 20 : 16)}px;\n cursor: pointer;\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: ${(p) => (p.$size === \"large\" ? 14 : 12)}px;\n border-radius: 9999px;\n position: relative;\n outline: none;\n border: none;\n justify-content: ${(p) => (p.$iconOnly ? \"center\" : \"flex-start\")};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[700]\n : p.$theme.palette.neutral[950]};\n color: ${COLORS.white};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[800]};\n }\n\n &:focus {\n &:after {\n display: block;\n content: \"\";\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n border: 3px solid #000;\n border-radius: 9999px;\n position: absolute;\n top: -5px;\n left: -5px;\n z-index: 1;\n }\n }\n\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[600]};\n\n &:after {\n display: none;\n }\n }\n\n .leadIcon {\n margin-inline-end: ${(p) => (p.$iconOnly ? \"initial\" : \"12px\")};\n }\n\n &.primaryBrand {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[500]\n : p.$theme.palette.primary[600]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[700]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[900]};\n }\n }\n\n &.secondarySolid {\n color: ${(p) => p.$theme.textColor};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[200]\n : p.$theme.palette.neutral[100]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n }\n\n &.disabled {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n color: ${(p) => p.$theme.palette.neutral[400]};\n pointer-events: none;\n }\n\n &.onColor {\n background-color: ${(p) => (p.$selected ? COLORS.white70 : COLORS.white)};\n color: ${(p) => p.$theme.textColor};\n\n &:hover {\n background-color: ${COLORS.white80};\n }\n &:active {\n background-color: ${COLORS.white60};\n }\n\n &:focus {\n &:after {\n border-color: #fff;\n }\n }\n\n &.primaryBrand {\n color: ${COLORS.white};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[700]\n : p.$theme.palette.primary[600]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[700]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[900]};\n }\n }\n\n &.secondarySolid {\n color: ${COLORS.white};\n background-color: ${(p) =>\n p.$selected ? COLORS.white30 : COLORS.white20};\n\n &:hover {\n background-color: ${COLORS.white20};\n }\n &:focus {\n background-color: transparent;\n }\n &:active {\n background-color: ${COLORS.white40};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white20};\n color: ${COLORS.white40};\n }\n }\n`;\n\nexport default FloatingButton;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ntype RadialStepperSize = \"40px\" | \"48px\" | \"64px\" | \"80px\" | \"120px\";\n\nconst sizes = {\n \"40px\": {\n borderWidth: 2,\n width: 40,\n circleRadius: 2,\n magicNumber: 118,\n stepNameFontSize: 12,\n descriptionFontSize: 10,\n innerCircleFontSize: 9,\n },\n \"48px\": {\n borderWidth: 4,\n width: 48,\n circleRadius: 4,\n magicNumber: 136,\n stepNameFontSize: 14,\n descriptionFontSize: 12,\n innerCircleFontSize: 10.5,\n },\n \"64px\": {\n borderWidth: 5,\n width: 64,\n circleRadius: 5,\n magicNumber: 185,\n stepNameFontSize: 14,\n descriptionFontSize: 12,\n innerCircleFontSize: 14,\n },\n \"80px\": {\n borderWidth: 8,\n width: 80,\n circleRadius: 8,\n magicNumber: 225,\n stepNameFontSize: 16,\n descriptionFontSize: 14,\n innerCircleFontSize: 16,\n },\n \"120px\": {\n borderWidth: 10,\n width: 120,\n circleRadius: 10,\n magicNumber: 340,\n stepNameFontSize: 20,\n descriptionFontSize: 14,\n innerCircleFontSize: 24,\n },\n};\n\ninterface DGA_RadialStepperProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n size?: RadialStepperSize;\n style?: \"primary\" | \"neutral\";\n onColor?: boolean;\n stepsCount: number;\n activeStep: number;\n innerCircleText?: React.ReactNode;\n description?: React.ReactNode;\n preStepName?: React.ReactNode;\n stepName?: React.ReactNode;\n nextStepName?: React.ReactNode;\n}\n\nconst RadialStepper: React.FC<DGA_RadialStepperProps> = ({\n size = \"64px\",\n style = \"primary\",\n onColor = false,\n stepsCount,\n activeStep,\n innerCircleText,\n description,\n preStepName,\n stepName,\n nextStepName,\n ...props\n}) => {\n const theme = useTheme();\n\n const circleRadius = sizes[size].circleRadius;\n\n return (\n <StyledComponent\n $size={size}\n $circleRadius={circleRadius}\n $theme={theme}\n className={mergeStrings(\n \"dgaui dgaui_radialStepper\" +\n (style === \"neutral\" ? \" neutral\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n {...props}\n $stepsCount={stepsCount}\n $activeStep={activeStep}\n >\n <div className=\"dgaui dgaui_circle\">\n <div className=\"innerCircleText\">{innerCircleText}</div>\n <svg\n className=\"dgaui_circle-svg\"\n width={sizes[size].width}\n height={sizes[size].width}\n >\n <circle\n className=\"dgaui_circle-path\"\n cx={sizes[size].width / 2}\n cy={sizes[size].width / 2}\n r={sizes[size].width / 2 - circleRadius / 2}\n strokeWidth={sizes[size].borderWidth}\n />\n </svg>\n </div>\n <div className=\"dgaui_content\">\n <div className=\"preStepName\">{preStepName}</div>\n <div className=\"stepName\">{stepName}</div>\n <div className=\"description\">{description}</div>\n <div className=\"nextStepName\">{nextStepName}</div>\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $size: RadialStepperSize;\n $circleRadius: number;\n $theme: Theme;\n $stepsCount: number;\n $activeStep: number;\n $innerCircleTextWidth?: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n align-items: center;\n\n .dgaui_circle {\n position: relative;\n width: ${(p) => p.$size};\n height: ${(p) => p.$size};\n border: ${(p) => sizes[p.$size].borderWidth}px solid\n ${(p) => p.$theme.palette.neutral[200]};\n border-radius: 50%;\n\n .dgaui_circle-svg {\n border-radius: 50%;\n position: absolute;\n top: -${(p) => p.$circleRadius}px;\n left: -${(p) => p.$circleRadius}px;\n transform: rotate(-90deg); /* Start animation from the top */\n }\n\n .dgaui_circle-path {\n fill: none;\n stroke: ${(p) => p.$theme.palette.primary[600]};\n stroke-width: ${(p) => sizes[p.$size].borderWidth}px;\n stroke-linecap: round;\n stroke-dasharray: ${(p) => sizes[p.$size].magicNumber};\n stroke-dashoffset: -${(p) => sizes[p.$size].magicNumber - (sizes[p.$size].magicNumber / p.$stepsCount) * p.$activeStep};\n transition: stroke-dashoffset 0.5s;\n }\n\n .innerCircleText {\n text-align: ${(p) => p.$theme.direction === 'ltr' ? 'left' : 'right'};\n font-weight: 500;\n position: absolute;\n z-index: 1;\n top: 35%;\n justify-self: center;\n font-size: ${(p) => sizes[p.$size].innerCircleFontSize}px;\n }\n }\n\n .dgaui_content {\n margin-inline-start: 8px;\n padding: 8px;\n\n .preStepName {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n .stepName {\n color: ${(p) => p.$theme.palette.neutral[950]};\n font-size: ${(p) => sizes[p.$size].stepNameFontSize};\n font-weight: 500;\n }\n .description {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n .nextStepName {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n }\n\n &.neutral {\n .dgaui_circle {\n .dgaui_circle-path {\n stroke: ${(p) => p.$theme.textColor};\n }\n }\n }\n\n &.onColor {\n color: ${COLORS.white};\n .dgaui_circle {\n border-color: ${COLORS.white30};\n .dgaui_circle-path {\n stroke: ${COLORS.white};\n }\n }\n\n .dgaui_content {\n .preStepName {\n color: ${COLORS.white70};\n }\n .stepName {\n color: ${COLORS.white};\n }\n .description {\n color: ${COLORS.white80};\n }\n .nextStepName {\n color: ${COLORS.white70};\n }\n }\n }\n`;\n\nexport default RadialStepper;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport interface DGA_ProgressBarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: Size;\n percentage?: number;\n error?: boolean;\n success?: boolean;\n style?: \"primary\" | \"neutral\";\n}\n\nconst ProgressBar: React.FC<DGA_ProgressBarProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n style = \"primary\",\n percentage = 0,\n error = false,\n success = false,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $error={error}\n $success={success}\n $style={style}\n className={mergeStrings(\n \"dgaui dgaui_progressBar\" + (style === \"neutral\" ? \" neutral \" : \"\"),\n props.className\n )}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"dgaui indicator\" />\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: Size;\n $percentage: number;\n $error?: boolean;\n $success?: boolean;\n $style?: \"primary\" | \"neutral\";\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .indicator {\n margin: 8px 0;\n height: ${(p) =>\n p.$size === \"large\" ? 16 : p.$size === \"medium\" ? 8 : 4}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: ${(p) => (p.$size === \"large\" ? 8 : 4)}px;\n position: relative;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n inset-inline-start: 0;\n z-index: 1;\n transition: width 0.2s;\n border-radius: ${(p) => (p.$size === \"large\" ? 8 : 4)}px;\n height: ${(p) =>\n p.$size === \"large\" ? 16 : p.$size === \"medium\" ? 8 : 4}px;\n background-color: ${(p) =>\n p.$success\n ? p.$theme.palette.success[600]\n : p.$error\n ? p.$theme.palette.error[600]\n : p.$style === \"primary\"\n ? p.$theme.palette.primary[600]\n : p.$theme.palette.neutral[700]};\n width: ${(p) => (p.$percentage <= 100 ? p.$percentage : 100)}%;\n }\n\n &::after {\n position: absolute;\n z-index: 2;\n color: #fff;\n font-size: 12px;\n transition: left 0.2s;\n top: -1px;\n inset-inline-start: calc(\n ${(p) => ((p.$percentage <= 100 ? p.$percentage : 100) + \"%\")} -\n ${(p) => (p.$percentage < 100 ? 30 : 40)}px\n );\n display: ${(p) =>\n p.$percentage >= 10 && p.$size === \"large\" ? \"block\" : \"none\"};\n content: \"${(p) => Math.min(p.$percentage, 100)}%\";\n }\n }\n .helperText {\n color: ${(p) =>\n p.$success\n ? p.$theme.palette.success[700]\n : p.$error\n ? p.$theme.palette.error[700]\n : \"initial\"};\n }\n`;\n\nexport default ProgressBar;\n","import React from \"react\";\nimport TextInput, { DGA_TextInputProps, Style } from \"../TextInput\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport plusIcon from \"./plus.png\";\nimport minusIcon from \"./minus.png\";\n\ntype PrefixSuffixStyle = \"plus\" | \"minus\";\n\nexport interface DGA_NumberInputProps extends Omit<DGA_TextInputProps, \"icon\"> {\n prefixType?: PrefixSuffixStyle;\n suffixType?: PrefixSuffixStyle;\n}\n\nconst plusIconJsx = <img src={plusIcon} style={{ width: 17.5 }} />;\nconst minusIconJsx = <img src={minusIcon} style={{ width: 17.5 }} />;\n\nconst NumberInput = React.forwardRef<HTMLInputElement, DGA_NumberInputProps>(\n ({ prefixType = \"plus\", suffixType = \"minus\", ...props }, ref) => {\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_numberInput\", props.className)}\n ref={ref}\n prefix={prefixType === \"plus\" ? plusIconJsx : minusIconJsx}\n suffix={suffixType === \"plus\" ? plusIconJsx : minusIconJsx}\n prefixStyle={\n props.prefixStyle\n ? props.prefixStyle\n : props.style === \"filledLighter\"\n ? \"subtle\"\n : undefined\n }\n suffixStyle={\n props.suffixStyle\n ? props.suffixStyle\n : props.style === \"filledLighter\"\n ? \"subtle\"\n : undefined\n }\n {...props}\n onWheel={(e) => {\n (e.target as any).blur();\n }}\n type=\"number\"\n pattern=\"[0-9]*\"\n inputMode=\"numeric\"\n onKeyDown={(e) => {\n (e.key === \"e\" || e.key === \"E\") && e.preventDefault();\n props.onKeyDown?.(e);\n }}\n />\n );\n }\n);\n\nconst StyledComponent = styled(TextInput)`\n input[type=\"number\"] {\n appearance: textfield;\n -moz-appearance: textfield;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n }\n\n .prefix,\n .suffix {\n cursor: pointer;\n }\n\n img {\n user-select: none;\n }\n\n &:has(input:disabled) {\n .prefix,\n .suffix {\n pointer-events: none;\n }\n img {\n filter: brightness(8);\n }\n }\n`;\n\nexport default NumberInput;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC4SURBVHgB7dhBCsIwEIXhiS6zTtZ6Ao+gN7FH8SbiTfQInqDus882zkiFrHxoApbyPmiZTcsPpXToWjoIIQze+13O+S7/ZjExxmKHzkdptJJGzrlNNW+lUXNQbwxCGIQwCGEQwiCEQYizk60Q9Vf7G6WUvV57mOarzjf5gV47ppQuboo5ywxo1MBH9uE+r0cmrXR1Pb1XWJulEV97hEEIgxAGIQxCGIQsL0jXhkc1jzIHtk/1+HtmniG3OoMZpqw2AAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAECAYAAADmrJ2uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA9SURBVHgBzdHBDQAgCAPA1rgCf0dzM+NkDsAQCAk7wD36blrCicgmuVDIzJ6q3pllDop5hxgGA80wotNlHyEREYxNANeWAAAAAElFTkSuQmCC\";\n export default img;","import React from \"react\";\n\nconst useScreenDimensions = () => {\n const [screenDimentions, setScreenDimentions] = React.useState({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n React.useEffect(() => {\n const windowResizeHandler = () => {};\n window.addEventListener(\"resize\", () => {\n setScreenDimentions({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n });\n\n return () => {\n window.removeEventListener(\"resize\", windowResizeHandler);\n };\n }, []);\n\n return screenDimentions;\n};\n\nexport default useScreenDimensions;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenDimensions from \"../../lib/hooks/useScreenDimensions\";\n\ntype SliderSize = \"small\" | \"medium\";\n\nexport interface DGA_SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: SliderSize;\n percentage?: number;\n onChnage?: Function;\n}\n\nconst NormalSlider: React.FC<DGA_SliderProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n percentage = 0,\n onChnage,\n ...props\n}) => {\n const theme = useTheme();\n const screenDimensions = useScreenDimensions();\n\n const sliderBaseRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef = React.useRef<HTMLDivElement>(null);\n const [isMoving, setIsMoving] = React.useState(false);\n const [currentX, setCurrentX] = React.useState(0);\n const [canMoveFromTo, setCanMoveFromTo] = React.useState([0, 0]);\n\n const indicatorWidth = size === \"medium\" ? 16 : 12;\n\n React.useEffect(() => {\n const percentageResult = ((currentX - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n\n const result = Math.round(percentageResult);\n onChnage?.(result);\n }, [currentX, canMoveFromTo]);\n\n React.useEffect(() => {\n if (sliderBaseRef.current && sliderIndicatorRef.current) {\n const sliderRect = sliderBaseRef.current.getBoundingClientRect();\n const indicatorRect = sliderIndicatorRef.current.getBoundingClientRect();\n\n setCanMoveFromTo([sliderRect.left, sliderRect.right]);\n setCurrentX(indicatorRect.x + indicatorWidth / 2);\n }\n }, [sliderBaseRef, sliderIndicatorRef, screenDimensions]);\n\n React.useEffect(() => {\n if (isMoving) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const newClientX = e.clientX;\n\n console.log(\"newClientX a\", newClientX);\n if (newClientX > canMoveFromTo[0] && newClientX < canMoveFromTo[1]) {\n setCurrentX(newClientX);\n }\n\n if (newClientX <= canMoveFromTo[0]) {\n setCurrentX(canMoveFromTo[0]);\n }\n if (newClientX >= canMoveFromTo[1]) {\n setCurrentX(canMoveFromTo[1]);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving, screenDimensions, window.innerWidth]);\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $indicatorWidth={indicatorWidth}\n className={mergeStrings(\"dgaui dgaui_slider\", props.className)}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"sliderBaseContent\">\n <div className=\"dgaui sliderBase\" ref={sliderBaseRef}>\n <div\n ref={sliderIndicatorRef}\n className=\"dgaui sliderIndicator\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving(true);\n }}\n />\n </div>\n <div className=\"dgaui_percentageText\">{percentage}</div>\n </div>\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: SliderSize;\n $percentage: number;\n $indicatorWidth: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .sliderBaseContent {\n display: flex;\n align-items: center;\n }\n\n .dgaui_percentageText {\n min-width: 40px;\n text-align: center;\n }\n\n .sliderBase {\n flex: 1;\n margin: 8px 0;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: 4px;\n position: relative;\n margin-inline-end: 12px;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n left: 0;\n z-index: 1;\n border-radius: 4px;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n width: ${(p) => (p.$percentage <= 100 ? p.$percentage : 100)}%;\n }\n\n .sliderIndicator {\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\n width: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n height: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n border-radius: 100%;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n position: absolute;\n cursor: pointer;\n z-index: 1;\n top: calc(50% - ${(p) => p.$indicatorWidth / 2}px);\n ${(p) => `\n left: calc(\n ${p.$percentage <= 100 ? p.$percentage : 100}% - ${p.$indicatorWidth / 2}px\n );\n `}\n\n &:active {\n cursor: grabbing;\n }\n }\n }\n`;\n\nexport default NormalSlider;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenDimensions from \"../../lib/hooks/useScreenDimensions\";\n\ntype SliderSize = \"small\" | \"medium\";\n\nexport interface DGA_SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: SliderSize;\n percentage: [number, number];\n onChnage?: Function;\n}\n\nconst RangeSlider: React.FC<DGA_SliderProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n percentage = [0, 0],\n onChnage,\n ...props\n}) => {\n const theme = useTheme();\n const screenDimensions = useScreenDimensions();\n\n const sliderBaseRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef2 = React.useRef<HTMLDivElement>(null);\n const [isMoving1, setIsMoving1] = React.useState(false);\n const [isMoving2, setIsMoving2] = React.useState(false);\n const [currentX1, setCurrentX1] = React.useState(0);\n const [currentX2, setCurrentX2] = React.useState(0);\n const [canMoveFromTo, setCanMoveFromTo] = React.useState([0, 0]);\n\n const indicatorWidth = size === \"medium\" ? 16 : 12;\n\n React.useEffect(() => {\n const percentage0 = ((currentX1 - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n const percentageResult = [Math.round(percentage0), percentage[1]];\n\n onChnage?.(percentageResult);\n }, [currentX1, canMoveFromTo]);\n\n React.useEffect(() => {\n const percentage1 = ((currentX2 - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n const percentageResult = [percentage[0], Math.round(percentage1)];\n\n onChnage?.(percentageResult);\n }, [currentX2, canMoveFromTo]);\n\n // Set restrictions\n React.useEffect(() => {\n if (sliderBaseRef.current && sliderIndicatorRef.current && sliderIndicatorRef2.current) {\n const sliderRect = sliderBaseRef.current.getBoundingClientRect();\n const indicatorRect = sliderIndicatorRef.current.getBoundingClientRect();\n const indicatorRect2 = sliderIndicatorRef2.current.getBoundingClientRect();\n\n setCanMoveFromTo([sliderRect.left, sliderRect.right]);\n setCurrentX1(indicatorRect.x + indicatorWidth / 2);\n setCurrentX2(indicatorRect2.x + indicatorWidth / 2);\n }\n }, [sliderBaseRef, sliderIndicatorRef, sliderIndicatorRef2, screenDimensions]);\n\n // Track indicator start movements\n React.useEffect(() => {\n if (isMoving1) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const indicatorRect2 = sliderIndicatorRef2.current?.getBoundingClientRect()!;\n const newClientX = e.clientX;\n\n if (newClientX > canMoveFromTo[0] && newClientX < indicatorRect2.left + indicatorWidth / 2) {\n setCurrentX1(newClientX);\n }\n\n if (newClientX <= canMoveFromTo[0]) {\n setCurrentX1(canMoveFromTo[0]);\n }\n if (newClientX >= indicatorRect2.left + indicatorWidth / 2) {\n setCurrentX1(indicatorRect2.left + indicatorWidth / 2);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving1(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving1, screenDimensions]);\n\n // Track indicator end movements\n React.useEffect(() => {\n if (isMoving2) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const indicatorRect = sliderIndicatorRef.current?.getBoundingClientRect()!;\n const newClientX = e.clientX;\n\n if (newClientX > indicatorRect.left + indicatorWidth / 2 && newClientX < canMoveFromTo[1]) {\n setCurrentX2(newClientX);\n }\n if (newClientX <= indicatorRect.left + indicatorWidth / 2) {\n setCurrentX2(indicatorRect.left + indicatorWidth / 2);\n }\n if (newClientX >= canMoveFromTo[1]) {\n setCurrentX2(canMoveFromTo[1]);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving2(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving2, screenDimensions]);\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $indicatorWidth={indicatorWidth}\n className={mergeStrings(\"dgaui dgaui_rangeSlider\", props.className)}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"dgaui_rangeSliderContainer\">\n <div className=\"dgaui_percentageText\">{percentage[0]}</div>\n <div className=\"sliderBaseContent\">\n <div className=\"dgaui sliderBase\" ref={sliderBaseRef}>\n <div\n ref={sliderIndicatorRef}\n className=\"dgaui sliderIndicator\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving1(true);\n }}\n />\n <div\n ref={sliderIndicatorRef2}\n className=\"dgaui sliderIndicator end\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving2(true);\n }}\n />\n </div>\n </div>\n <div className=\"dgaui_percentageText\">{percentage[1]}</div>\n </div>\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: SliderSize;\n $percentage: [number, number];\n $indicatorWidth: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .dgaui_rangeSliderContainer {\n direction: ltr;\n display: flex;\n align-items: center;\n }\n\n .sliderBaseContent {\n flex: 1;\n display: flex;\n align-items: center;\n }\n\n .dgaui_percentageText {\n min-width: 40px;\n text-align: center;\n }\n\n .sliderBase {\n flex: 1;\n margin: 8px 0;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: 4px;\n position: relative;\n margin-inline-end: 12px;\n margin-inline-start: 12px;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n z-index: 1;\n border-radius: 4px;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n width: ${(p) => p.$percentage[1] - +p.$percentage[0]}%;\n left: ${(p) => p.$percentage[0]}%;\n }\n\n .sliderIndicator {\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\n width: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n height: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n border-radius: 100%;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n position: absolute;\n cursor: pointer;\n z-index: ${(p) => (p.$percentage[0] === 100 ? 3 : 1)};\n top: calc(50% - ${(p) => p.$indicatorWidth / 2}px);\n left: calc(${(p) => p.$percentage[0]}% - ${(p) => p.$indicatorWidth / 2}px);\n\n &:active {\n cursor: grabbing;\n }\n\n &.end {\n left: calc(${(p) => p.$percentage[1]}% - ${(p) => p.$indicatorWidth / 2}px);\n z-index: 2;\n }\n }\n }\n`;\n\nexport default RangeSlider;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\ntype Props = {\n size?: \"large\" | \"medium\" | \"small\";\n selected?: boolean;\n onClick: Function;\n};\n\nconst Dot: React.FC<Props> = ({ size = \"large\", selected, onClick }) => {\n const theme = useTheme();\n return (\n <StyledComponent\n $theme={theme}\n className={\"dgaui_carouselDot \" + size + (selected ? \" selected\" : \"\")}\n onClick={() => onClick()}\n />\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n border-radius: 100%;\n margin-inline-end: 8px;\n cursor: pointer;\n\n &.large {\n width: 16px;\n height: 16px;\n }\n &.medium {\n width: 12px;\n height: 12px;\n }\n &.small {\n width: 8px;\n height: 8px;\n }\n &.selected {\n background-color: ${(p) => p.$theme.palette.primary[600]};\n }\n`;\n\nexport default Dot;\n","import React from \"react\";\nimport leftArrowWhiteIcon from \"./arrow-left-white.png\";\nimport leftArrowBlackIcon from \"./arrow-left-black.png\";\nimport Button from \"../Button\";\n\ntype Props = {\n position: \"left\" | \"right\";\n style: \"primary\" | \"subtle\";\n size?: Size;\n onClick: Function;\n};\n\nconst Arrow: React.FC<Props> = ({ position, style, size, onClick }) => {\n return (\n <Button\n iconOnly\n leadIcon={<img src={style === \"primary\" ? leftArrowWhiteIcon : leftArrowBlackIcon} />}\n style={style}\n size={size}\n className={position}\n onClick={() => onClick()}\n />\n );\n};\n\nexport default Arrow;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEDSURBVHgB7djRDYJADAbgH+O7jsAIjIAbuIFuoBvoBjqCG+gGugFu4AiOUNt4RD2OJwjhj/2Shte/oeUuAM4555z7MyKy1lqBjYbOta7y0bmJKQaiYQt9nLVysNHwG2nag4EGPUTBn1olxk5DzqN5N5XtAcYuLGsVhT9ZUxi7EP7BOu+p8FswSIS3ZV2CRSJ8ARaJT2UJFmF0+Ga+ZoG/wl8wsAn6NQMbeZ+4vCNkNPSRdolNeAsV7WfU0B9kRpivErWWJnZg0tKEndbjv07XwmKfoyasqRxMNPA+0UQJJvJ73aDdi0Kae9H5v1Dfd6FWWZbd9bHQuoGdsP5adM4551zkBQszBWdT8Sb1AAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAITSURBVHgB7Zg9TgJREMeHzwQIcS2AlhtIaQkdJZxAPIF4Az2B3gAprZATAKWVcAK35KvABIghBPxP8tbgBqudWULyfsmGt68g/3k7M29miCwWi8VisZyOGJ2AXC7XyGQyV+v1ekQBiVOIOI5TTCQSrUgkUuZ3GEKz2axNAQjNAIgtQXgHyyIJEqUQgPg7iP+gv+Ifg54+EyFlIP4J4pve+36/X+Cpz+fzPgmgZgD83YG/dzx/Nwyj0Wh9PB67JISKC3GwJpPJnk98e7PZVCTFM+JfwBNPPn+fTqcPpICoAcfE4yvcTyaTZ1JCzAC/eA5WiL/Fyb+RImL3gF88fioQPyRlRAzgVEkHbmPSpLp4JrALGdf5/P1DZZ/3EziNxuPxmreG+G6Y4hnRe2C3211QyAQ2YLvdvnhrvrgKhUKTQiRwP/AN0un0JcRfm61qKpUaoNZ3KQRE7gFT93DpUDJbXLBVUG2qZyKRGFiAWCxWx9I1Ww6M6eXz+RopIxbEXKSh0qzQgRF4OtoxIdoTL5fLRTab7cJ9+OQds11F/0ur1WpACog39f8YUUagO7jw3jnoSRDVhgaCW1gexoHLPQFCxiUh1MYqfNJwm1e4Dx9S2Ww7CPYa0uxIKs2qz4VgRB+Cv5CVqmaLM1RDKi7Um3qPY2MVxEkj6GQilLEKw5cap1mI7tO5w6NFPDdksVgsFovlzPkB3uXHj+IHmZAAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Dot from \"./Dot\";\nimport Arrow from \"./Arrow\";\n\ninterface DGA_CarouselProps {\n style?: \"arrows\" | \"dots\" | \"dotsOnly\";\n dotsSize?: \"large\" | \"medium\" | \"small\";\n content: React.ReactNode[];\n selectedContentIndex?: number;\n className?: string;\n onChange?: (dotIndex: number) => void;\n arrowsSize: Size;\n arrowsStyle: \"primary\" | \"subtle\";\n}\n\nconst Carousel: React.FC<DGA_CarouselProps> = ({\n style = \"dots\",\n selectedContentIndex,\n content,\n dotsSize = \"medium\",\n className,\n onChange,\n arrowsSize = \"medium\",\n arrowsStyle = \"subtle\",\n}) => {\n const theme = useTheme();\n\n const onChangeHandler = (i: number) => {\n onChange?.(i);\n };\n\n React.useEffect(() => {\n if (style !== \"dotsOnly\") {\n const slides = document.querySelectorAll(\".dgaui_carouselSlide\");\n const targetSlide = slides[selectedContentIndex!] as HTMLDivElement;\n const carouselContainer = document.querySelector(\".dgaui_carouselSlides\");\n\n if (targetSlide && carouselContainer) {\n const scrollPosition = targetSlide.offsetLeft;\n\n carouselContainer.scrollTo({\n left: scrollPosition,\n behavior: \"smooth\",\n });\n }\n }\n }, [selectedContentIndex, style]);\n\n // Initially\n React.useEffect(() => {\n if (style !== \"dotsOnly\") {\n const slides = document.querySelectorAll(\".dgaui_carouselSlide\");\n const targetSlide = slides[selectedContentIndex!] as HTMLDivElement;\n const carouselContainer = document.querySelector(\".dgaui_carouselSlides\");\n\n if (targetSlide && carouselContainer) {\n const scrollPosition = targetSlide.offsetLeft;\n\n carouselContainer.scrollTo({\n left: scrollPosition,\n behavior: \"instant\",\n });\n }\n }\n }, []);\n\n return (\n <StyledComponent\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_carousel\", className)}\n $arrowsSize={arrowsSize}\n $style={style}\n >\n {style !== \"dotsOnly\" && (\n <div className={\"dgaui_carouselSlidesContainer \" + (style === \"arrows\" ? \" arrows\" : \"\")}>\n <div className=\"leftArrow\">\n <Arrow\n position=\"left\"\n style={arrowsStyle}\n size={arrowsSize}\n onClick={() => selectedContentIndex! > 0 && onChange?.(selectedContentIndex! - 1)}\n />\n </div>\n <div className=\"dgaui_carouselSlides\">\n {content.map((el, i) => (\n <div key={i} className=\"dgaui_carouselSlide\">\n {el}\n </div>\n ))}\n </div>\n <div className=\"rightArrow\">\n <Arrow\n position=\"right\"\n style={arrowsStyle}\n size={arrowsSize}\n onClick={() =>\n selectedContentIndex! < content.length - 1 && onChange?.(selectedContentIndex! + 1)\n }\n />\n </div>\n </div>\n )}\n\n {(style === \"dots\" || style === \"dotsOnly\") && (\n <div className=\"dots\">\n {content.map((_, i) => (\n <Dot selected={i === selectedContentIndex} size={dotsSize} onClick={() => onChange?.(i)} />\n ))}\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $arrowsSize: Size;\n $style: \"arrows\" | \"dots\" | \"dotsOnly\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: 100%;\n width: 100%;\n\n .dgaui_carouselSlidesContainer {\n .leftArrow,\n .rightArrow {\n display: none;\n }\n &.arrows {\n display: flex;\n .dgaui_carouselSlides {\n flex: 1;\n }\n .leftArrow,\n .rightArrow {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .leftArrow {\n margin-right: 44px;\n margin-right: 44px;\n }\n .rightArrow {\n margin-left: 44px;\n }\n }\n }\n\n .dgaui_carouselSlides {\n overflow-x: hidden;\n overscroll-behavior-x: contain; /* Prevents unwanted page scrolling */\n scroll-snap-type: x mandatory; /* Snaps to each slide */\n height: 100%;\n display: block;\n margin-bottom: ${(p) => (p.$style === \"arrows\" ? 0 : 24)}px;\n display: flex;\n\n .dgaui_carouselSlide {\n flex: 0 0 100%;\n width: 100%; /* Fallback for older browsers */\n /* Aligns the snap point to the start of each slide */\n scroll-snap-align: start;\n }\n }\n\n .dots {\n padding: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .dgaui_button {\n border-radius: 9999px;\n border-width: 3px;\n &:focus:after {\n border-radius: 9999px;\n border-width: 2px;\n }\n\n width: ${(p) => (p.$arrowsSize === \"large\" ? 48 : p.$arrowsSize === \"medium\" ? 40 : 32)}px;\n height: ${(p) => (p.$arrowsSize === \"large\" ? 48 : p.$arrowsSize === \"medium\" ? 40 : 32)}px;\n\n .iconOnly {\n img {\n width: ${(p) => (p.$arrowsSize === \"large\" ? 24 : 16)}px;\n height: ${(p) => (p.$arrowsSize === \"large\" ? 24 : 16)}px;\n }\n }\n\n &.right {\n .iconOnly {\n img {\n transform: rotateZ(180deg);\n }\n }\n }\n }\n`;\n\nexport default Carousel;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\ninterface DGA_ChipProps extends React.HTMLAttributes<HTMLParagraphElement> {\n size?: \"small\" | \"large\";\n whiteBackground?: boolean;\n title?: string;\n description?: string;\n authorDetails?: {\n name?: string;\n title?: string;\n avatar?: any;\n };\n}\n\nconst Quote: React.FC<DGA_ChipProps> = ({\n size,\n whiteBackground = true,\n title,\n description,\n authorDetails,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n className={mergeStrings(\n \"dgaui dgaui_quote\" +\n (whiteBackground ? \" whiteBackground\" : \"\") +\n (!authorDetails ? \" noAuthorDetails\" : \"\") +\n ` ${theme.direction} ${size ?? \"\"}`,\n props.className\n )}\n {...props}\n >\n <div className=\"dgaui_quoteTextContainer\">\n <span className=\"dgaui_quoteTitleQuote start\">”</span>\n <span className=\"dgaui_quoteTitleText\">{title}</span>\n <span className=\"dgaui_quoteTitleQuote end\">“</span>\n {description && <div className=\"dgaui_quoteDescription\">{description}</div>}\n </div>\n\n {authorDetails && (\n <div className=\"dgaui_quoteAuthorDetailsContainer\">\n {authorDetails.avatar && (\n <div className=\"dgaui_quoteAuthorDetailsAvatar\">{authorDetails.avatar}</div>\n )}\n <div className=\"dgaui_quoteAuthorDetailsText\">\n <div className=\"dgaui_quoteAuthorDetailsName\">{authorDetails.name}</div>\n <div className=\"dgaui_quoteAuthorDetailsTitle\">{authorDetails.title}</div>\n </div>\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.p<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n border-radius: 16px;\n padding: 20px;\n\n &.small {\n width: 640px;\n }\n &.large {\n width: 846px;\n }\n\n &.whiteBackground {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n }\n\n .dgaui_quoteTextContainer {\n position: relative;\n color: ${(p) => p.$theme.textColor};\n\n margin-inline-start: 64px;\n\n .dgaui_quoteDescription {\n line-height: 30px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n font-weight: 400;\n font-size: 20px;\n margin-top: 16px;\n }\n .dgaui_quoteTitleText {\n font-size: 24px;\n line-height: 32px;\n font-weight: 500;\n }\n .dgaui_quoteTitleQuote {\n color: ${(p) => p.$theme.palette.primary[800]};\n display: block;\n transform: rotateY(180deg);\n position: absolute;\n\n &.start {\n line-height: 0;\n font-size: 128px;\n top: 45px;\n inset-inline-start: -75px;\n }\n &.end {\n line-height: 0;\n font-size: 128px;\n bottom: -56px;\n inset-inline-end: 0;\n }\n }\n }\n\n .dgaui_quoteAuthorDetailsContainer {\n margin-top: 48px;\n display: flex;\n align-items: center;\n\n .dgaui_quoteAuthorDetailsAvatar {\n margin-inline-end: 8px;\n }\n .dgaui_quoteAuthorDetailsText {\n .dgaui_quoteAuthorDetailsName {\n font-size: 20px;\n }\n .dgaui_quoteAuthorDetailsTitle {\n color: ${(p) => p.$theme.textColor};\n margin-top: 8px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n }\n }\n }\n\n &.noAuthorDetails {\n .dgaui_quoteTextContainer {\n .dgaui_quoteDescription {\n margin-inline-end: 64px;\n }\n }\n\n .dgaui_quoteTitleQuote {\n &.end {\n bottom: 20%;\n }\n }\n }\n\n &.rtl {\n .dgaui_quoteTextContainer {\n .dgaui_quoteTitleQuote {\n transform: rotateY(0deg);\n }\n }\n }\n`;\n\nexport default Quote;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport Button from \"../Button\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_SecondNavHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n style?: \"gray\" | \"primary\";\n items: {\n text: React.ReactNode;\n icon: React.ReactNode;\n }[];\n actions: React.ReactElement<typeof Button>[];\n}\n\nconst SecondNavHeader: React.FC<DGA_SecondNavHeaderProps> = ({\n items,\n actions,\n style = \"gray\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n $style={style}\n className={mergeStrings(\"dgaui dgaui_secondNavHeader \" + (style ?? \" \"), props.className)}\n {...props}\n >\n <div className=\"dgaui_secondNavHeaderItems\">\n {items.map((item, i) => (\n <div key={i} className=\"dgaui_secondNavHeaderItem\">\n <div className=\"icon\">{item.icon}</div>\n <div className=\"text\">{item.text}</div>\n </div>\n ))}\n </div>\n\n <div className=\"dgaui_secondNavHeaderActions\">\n {actions.map((action, i) => (\n <div key={i} className=\"action\">\n {action}\n </div>\n ))}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $style: \"gray\" | \"primary\";\n}>`\n direction: ${(p) => p.$theme.direction};\n padding: 0 32px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid ${(p) => (p.$style === \"gray\" ? p.$theme.palette.neutral[300] : COLORS.white30)};\n\n background-color: ${(p) => p.$theme.palette.primary[600]};\n &.gray {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n }\n\n .dgaui_secondNavHeaderItems {\n display: flex;\n align-items: center;\n\n .dgaui_secondNavHeaderItem {\n color: ${(p) => (p.$style === \"gray\" ? p.$theme.palette.neutral[700] : COLORS.white)};\n\n margin-inline-end: 16px;\n display: flex;\n align-items: center;\n\n .icon {\n margin-inline-end: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .text {\n font-size: 16px;\n white-space: nowrap;\n }\n }\n }\n\n .dgaui_secondNavHeaderActions {\n display: flex;\n align-items: center;\n\n .action {\n margin-inline-start: 4px;\n .dgaui_button {\n padding: 4px;\n }\n }\n }\n`;\n\nexport default SecondNavHeader;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport copyIcon from \"./copyIcon.png\";\nimport Button from \"../Button\";\nimport TabList from \"../TabList\";\nimport Tab from \"../Tab\";\n\nexport interface DGA_CodeSnippetProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n type: \"singleLine\" | \"multiLine\";\n multiLineItems?: {\n title: React.ReactNode;\n code: string;\n active?: boolean;\n }[];\n onTabClicked?: (index: number, element: any) => void;\n}\n\nconst CodeSnippet: React.FC<DGA_CodeSnippetProps> = ({\n children,\n type = \"singleLine\",\n multiLineItems,\n onTabClicked,\n ...props\n}) => {\n const theme = useTheme();\n const [showCopiedText, setShowCopiedText] = React.useState(false);\n\n const copyHandler = () => {\n setShowCopiedText(true);\n setTimeout(() => {\n setShowCopiedText(false);\n }, 800);\n\n if (navigator.clipboard) {\n const text = document.getElementById(\"dgaui_codeSnippetText\")?.innerText;\n navigator.clipboard.writeText(text!);\n }\n };\n\n const activeCode = React.useMemo(() => {\n let result = [\"\"];\n if (multiLineItems) {\n const newActiveCode = multiLineItems.find((el) => el.active)?.code || \"\";\n result = newActiveCode.split(\"\\n\");\n }\n\n return result;\n }, [multiLineItems]);\n\n const copyButton = (\n <Button\n iconOnly\n leadIcon={showCopiedText ? \"copied!\" : <img src={copyIcon} width={20} />}\n size=\"medium\"\n style=\"subtle\"\n buttonStyle={{ padding: 4 }}\n onClick={copyHandler}\n />\n );\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_codeSnippet \" + type, props.className)}\n $theme={theme}\n >\n {type === \"singleLine\" && (\n <div className=\"singleLine\">\n <div className=\"content\" id=\"dgaui_codeSnippetText\">\n {children}\n </div>\n <div className=\"copyIcon\">{copyButton}</div>\n </div>\n )}\n\n {type === \"multiLine\" && multiLineItems && (\n <div className=\"multiLine\">\n <TabList>\n {multiLineItems.map((el, i) => (\n <Tab selected={el.active} onClick={() => onTabClicked?.(i, el)}>\n {el.title}\n </Tab>\n ))}\n </TabList>\n <div className=\"content\">\n <pre className=\"linesNumbers\">\n <code>\n {Array(activeCode.length)\n .fill(\"\")\n .map((el, i) => i + 1 + \"\\n\")}\n </code>\n </pre>\n <pre>\n <code className=\"code\" id=\"dgaui_codeSnippetText\">\n {activeCode.map((el) => el + \"\\n\")}\n </code>\n </pre>\n </div>\n <div className=\"floatCopyIcon\">{copyButton}</div>\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ltr;\n border-radius: 16px;\n overflow: hidden;\n border: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n\n .singleLine {\n padding: 24px;\n border-radius: 16px;\n background-color: #fff;\n border: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n display: flex;\n justify-content: space-between;\n align-items: center;\n .content {\n font-size: 16px;\n color: ${(p) => p.$theme.palette.primary[600]};\n }\n }\n\n .multiLine {\n position: relative;\n .floatCopyIcon {\n position: absolute;\n z-index: 1;\n inset-inline-end: 24px;\n top: 74px;\n }\n\n .content {\n display: flex;\n font-size: 16px;\n\n .linesNumbers {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n padding: 24px;\n border-right: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n font-weight: 500;\n box-sizing: border-box;\n color: #667085;\n }\n\n .code {\n }\n\n pre {\n margin: 0;\n padding: 24px;\n overflow: scroll;\n }\n }\n }\n`;\n\nexport default CodeSnippet;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMvSURBVHgB7VhLbhpBEC0+RkgsQsRH7Dw5AeMTeLgBNwBOADlBuEHsE9g+QZwThJwAcwJPdgiQgiUW/MkrqB61MYb5QVj4SeOubjzF66quT0P0gWCIvPdBGri4uChDvMZjRCIRg1xitVrZInYgPw4Ggxb5xE6CuVyujqEJUmkKBzaer71e75E84g3BfD5/h6Gq5rDAUL7gidzDwJPGBk19Ebqq/X7/gTwgskXuG4amTO3lclkL4h7tmHxX3gDJK5B0vdmIpsxIJBLPitx0Or0aAhQCcGRMEGwLwRYIlty+G1UCdmopmS0XFjkGWwzEblkGUYst6/bdqCar8zIM4tb3gE23lByPx0237+kEi/wHO/USDK4BDzl6vaQsneDa7NFo9IWOgG63ayvZF0Etyv7SGSFKJ4TkVB5dB0mcQoREZxpBYOz7P3jrMpvNWvP53EaysOmYBDl/IgAaECseSmMZZ72MvMvFgedPePd+Mpk8bKe3QC5GAq6AXBvK6wHrtgm334Bwmzesf+DbgqyId63mXCEwcDPwonUze8HRLBFdoU39Zm9wL1AKTBCKmkpGEi4FTO5NeONGPGHx+VT6fLsYiq5l/BlG5ZnNZk0V5dBZVuu+CEq0GjJtUQiQ4LBZRgAZat2vBQ1NfqaQAMt1eIQli2rNIaiZ9/MhRchzTsQuFoujlEYFnaAt4yWdEfRa/EdE00u/dmzoFnQuNEiYDToTOAQlVdgyrXObTmeAV1HMrb6IfCNrg+QdJ83t8nNKvKokbEWQqoEclxs+l1V+tKK+jnashXZfOYQ3eRAXnHskyi8Qd95fpSkw6ETYWYulPa/CtQ2+4IBUUeVHaTZ5btH/Iqgg5adFW+UMxE1ujViOxWKf6IjwVeqSyaRzBhFYByuPW2hFwtHvi+B4PNaDJMx0pC5uwQjqnQfJfToopAFebxbjb7UeI59IpVLsWos7YsjcwHZg2TH5gPwu9ANigefIIrXRaLRpXsgnuF5LoBhqjdt+zpG6i/ZBUpa5peMWqc4ptb4JMgqFgoEg+UUh5cVtcoxABBUymQxfIy3anMe02xueVCWb5KdiL78bfsAt/gGRnkOtTYslCgAAAABJRU5ErkJggg==\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport { COLORS } from \"../../lib/constants\";\nimport useTheme from \"../../lib/useTheme\";\nimport xImg from \"../../assets/images/close.png\";\n\ntype SlideoutMenuBgColor = \"white\" | \"gray\";\n\ninterface DGA_SlideoutMenuProps extends React.HTMLAttributes<HTMLDivElement> {\n open?: boolean;\n backdrop?: boolean;\n backgroundColor?: SlideoutMenuBgColor;\n onCloseClicked?: Function;\n onClose?: Function;\n navHeader?: {\n titleText?: React.ReactNode;\n descriptionText?: React.ReactNode;\n icon?: React.ReactNode;\n showFeaturedIcon?: boolean;\n showDescription?: boolean;\n showDivider?: boolean;\n };\n border?: boolean;\n children?: React.ReactNode;\n}\n\nconst SlideoutMenu: React.FC<DGA_SlideoutMenuProps> = ({\n open = false,\n backdrop = true,\n backgroundColor = \"gray\",\n navHeader,\n onCloseClicked,\n onClose,\n border = true,\n children,\n ...props\n}) => {\n const theme = useTheme();\n const ref = React.useRef<HTMLDivElement>(null);\n const [rect, setRect] = React.useState<DOMRect>();\n\n React.useEffect(() => {\n if (ref.current) {\n const rect = ref.current.getBoundingClientRect();\n setRect(rect);\n }\n }, [ref.current]);\n\n return (\n <StyledContainer $open={open} $backdrop={backdrop}>\n <div className=\"backdrop\" onClick={() => onClose?.()} />\n <StyledComponent\n {...props}\n ref={ref}\n $open={open}\n $theme={theme}\n $border={border}\n $showNavHeaderDivider={navHeader?.showDivider}\n $backgroundColor={backgroundColor}\n $rect={rect}\n className={mergeStrings(\"dgaui dgaui_slideoutMenu\", props.className)}\n >\n {navHeader && (\n <div className=\"dgaui dgaui_slideoutMenuHeader\">\n {navHeader.showFeaturedIcon && (\n <div className=\"iconContainer\">{navHeader.icon}</div>\n )}\n <div className=\"contentContainer\">\n <div className=\"title\">\n <span>{navHeader.titleText}</span>\n <img\n src={xImg}\n alt=\"close\"\n onClick={() => onCloseClicked?.()}\n />\n </div>\n {navHeader.showDescription && (\n <div className=\"descriptionText\">\n {navHeader.descriptionText}\n </div>\n )}\n </div>\n </div>\n )}\n <div className=\"dgaui dgaui_slideoutMenuContent\">{children}</div>\n </StyledComponent>\n </StyledContainer>\n );\n};\n\nconst StyledContainer = styled.div<{\n $open: boolean;\n $backdrop: boolean;\n}>`\n position: relative;\n\n .backdrop {\n position: fixed;\n width: 100vw;\n height: 100vh;\n z-index: 1399;\n top: 0;\n left: 0;\n background-color: rgba(0, 0, 0, 0.5);\n visibility: ${(p) => (p.$open ? \"visible\" : \"hidden\")};\n opacity: ${(p) => (p.$backdrop && p.$open ? 1 : 0)};\n transition: all 0.2s ease;\n }\n`;\n\nconst StyledComponent = styled.div<{\n $open: boolean;\n $theme: Theme;\n $border: boolean;\n $showNavHeaderDivider?: boolean;\n $backgroundColor?: SlideoutMenuBgColor;\n $rect: DOMRect | undefined;\n}>`\n direction: ${(p) => p.$theme.direction};\n overflow: scroll;\n ${(p) =>\n p.$border\n ? `border-inline-end: 1px solid ${p.$theme.palette.neutral[300]};`\n : \"\"}\n width: 350px;\n height: 100vh;\n background-color: ${(p) =>\n p.$backgroundColor === \"white\"\n ? COLORS.white\n : p.$theme.palette.neutral[100]};\n display: ${(p) => (!p.$rect ? \"none\" : \"block\")};\n position: fixed;\n z-index: 1400;\n top: 0;\n left: ${(p) => {\n const width = p.$rect?.width || 350;\n\n if (p.$open) {\n return p.$theme.direction === 'rtl' ? window.innerWidth - width : 0; // show it\n }\n\n return p.$theme.direction === 'rtl' ? window.innerWidth + width : -width; // hide it off screen\n }}px;\n\n transition: left 0.2s ease;\n\n .dgaui_slideoutMenuHeader {\n width: 100%;\n padding: 16px;\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n border-bottom: ${(p) =>\n p.$showNavHeaderDivider\n ? `1px solid ${p.$theme.palette.neutral[300]}`\n : \"none\"};\n\n display: flex;\n align-items: center;\n height: 78px;\n\n .iconContainer {\n margin-inline-end: 8px;\n }\n\n .contentContainer {\n flex: 1;\n\n .title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: ${(p) => p.$theme.textColor};\n font-weight: 600;\n margin-bottom: 4px;\n\n img {\n cursor: pointer;\n width: 8px;\n height: 8px;\n }\n }\n }\n\n .descriptionText {\n color: ${(p) => p.$theme.palette.neutral[500]};\n }\n }\n`;\n\nexport default SlideoutMenu;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADBSURBVHgBrdSxCsQgDABQ4+DsJI7+Sr/8PuUcHR3FQe5StIhojNAMVRL7WiUoxIsB+DDGfHHMOV8xRn/wvtBaO6XUB+eyy99JLDKdHnIPJqW8/oM/AQfIowGtaK11pZSnSG15BoUQPPSLOOAKwhqMX6VACppiKxDzFLTEZmBNLyESm4CCgjAkhaWUWLntn42HXdP3fNU2wIFqU4td2wAHame060PgQi0oEE6gHQinEAX29xkbWoF9nx1BGLi2u77EDwcz3kn4IV7cAAAAAElFTkSuQmCC\";\n export default img;"],"names":["ThemeContext","React","createContext","ThemeProvider","theme","children","_jsx","Provider","value","withRtl","Component","direction","defaultTheme","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","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","Accordion","_a","title","expanded","onChange","defaultExpanded","iconAlignment","flush","contentRef","useRef","open","setOpen","useState","contentHeight","setContentHeight","borderTop","border","cursor","fontColor","showContent","disabled","useEffect","current","clientHeight","_b","_jsxs","tabIndex","StyledComponentTitle","$customStyle","minHeight","padding","colors","onClick","display","alignItems","justifyItems","gap","alt","src","arrowDownImage","transition","transform","_Fragment","height","overflow","color","styled","button","Icon","indeterminate","width","viewBox","fill","xmlns","rx","fillRule","clipRule","xSmall","svgW","svgH","svgLeft","svgTop","Checkbox","label","description","default","them","hovered","active","sizeResult","backgroundColor","backgroundColorHovered","backgroundColorActive","inputRef","StyledComponent","checked","htmlFor","div","feedbackIcon","DropdownItem","selected","multiple","$selected","$multiple","$theme","checkIcon","xsmall","py","Tag","outLine","iconOnly","leadIcon","trailIcon","rounded","colorNameResult","outLineResult","tagColors","bg","borderOutlined","onColor","borderColor","borderColorOutlined","borderRadius","minWidth","paddingY","Autocomplete","variant","placeholder","getOptionLabel","maxTagsToShow","maxTagsLabel","inputValue","setInputValue","inputValueSearch","setInputValueSearch","selectedOptions","setSelectedOptions","itemsPosition","setItemsPosition","top","left","placeholderFontColor","borderHovered","borderFocused","animationColor","shadowFocus","getLocalOptionLabel","op","memoizedOptions","useMemo","calcPosition","offsetTop","offsetLeft","clientWidth","resizeHandler","clickHandler","contains","addEventListener","removeEventListener","StyledDiv","prevState","ind","option","stopPropagation","newValues","newSelectedOptions","el","deleteTaghandler","optionLabel","newValue","onItemSelectedHandler","StyledComponentSpan","$bgColor","buttonCloseIcon","arrowDownIcon","span","xxSmall","wh","fw","xLarge","xxLarge","Avatar","text","icon","imageSrc","square","isIcon","$size","$square","$isIcon","$index","$border","$borderColor","positioner","Breadcrumb","items","containerRef","openListHandler","lastTwoItems","$icon","StyledList","COLORS","Button","buttonStyle","destructive","buttonColors","focus","innerBorderColor","subtle","transparent","getButtonColors","$disabled","Card","state","effect","expandableContent","actionsButtons","internalExpanded","setInternalExpanded","isExpanded","selectable","expandable","pointerEvents","$pointerEvents","$effect","$expanded","$state","visibility","__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","prefixBg","prefixBgHover","prefixBgActive","suffixBg","suffixBgHover","suffixBgActive","RootStyledComponent","iconPadding","marginBottom","textAlign","input","Menu","menuItems","keepOpenOnItemsClicked","onOpen","onClose","reverseOpeningDirection","defaultBodyOverflow","setDefaultBodyOverflow","componentRef","menuItemsRef","vh","max","documentElement","innerHeight","rect","getBoundingClientRect","values","bottom","right","innerWidth","body","_c","openMenu","DatePicker","hijri","range","minYear","maxYear","minDate","maxDate","onRangeChange","withTextInput","textInputProps","closeOnSelect","rangeSeparator","date","setDate","dateText","setDateText","yearsList","setYearsList","yearDisplayValue","setYearDisplayValue","calendarRef","isRangeAndOnlyOneSelected","minYearDefault","maxYearDefault","newYearsList","thisYear","getFullYear","thisMonth","getMonth","gregorianYear","gregorianMonth","hijriYear","floor","gregoreanYearToHijriYear","newDateText","formatDate","calendar","Calendar","arabic","gregorian","onMonthChange","locale","click","format","showOtherDays","monthYearSeparator","onYearChangedDropdown","readOnly","rightIcon","leftIcon","padStartZero","padStart","number","FileCard","status","filename","helperText","onDelete","xIcon","DropZone","uploadText","onDrop","filesList","onFileListItemDeleted","submitButton","porps","isDraggingOver","setIsDraggingOver","onDrophandler","fileList","file","dragOverhandler","preventDefault","dragLeavhandler","dropHandler","dataTransfer","files","Dropdown","filled","styleVariant","dropdownStyle","valueDisplay","otherProps","selectedOptionText","setSelectedOptionText","onChangeHandler","newChildren","Children","child","cloneElement","newSelectedOptionText","comp","classList","arrowDownIconGray","FileUpload","useScreenSizes","mobileThreshold","tabletThreshold","setResult","isMobile","isTablet","isDesktop","Grid","container","rowSpacing","columnSpacing","addSpacingPropsToChidren","StyledComponentContainer","$rowSpacing","$columnSpacing","StyledComponentItem","$columnSpan","getColumnSpan","isValidElement","Fragment","InlineAlert","leadText","helpText","actions","closeButton","background","screenSizes","colorsResult","vLine","font","isColored","isMinimal","$isColored","$colors","lh","Link","inline","focusBorderColor","selectedColors","visited","$fontSize","$lineHeight","$focusBorderColor","$style","$inline","href","List","level","iconUrl","StyledOlComponent","StyledUlComponent","$listStyleType","getListStyleType","$iconUrl","$level","$ol","ul","getCss","ol","anyLevel","Loading","loadingStyle","loadingColors","MenuItem","MenuItemGroup","Modal","align","footerStartButtons","footerEndButtons","Backdrop","$align","Notification","link","dismissible","show","setShow","critical","Tab","vertical","$vertical","Pagination","currentPage","siblingCount","onPageChange","menu","menus","getElementsByClassName","scrollTo","_el","siblingCountResult","showStartItems","showEndItems","showCenterItems","showMenuStart","showMenuEnd","itemsToRenderCount","startItemsToRender","centerItemsToRender","endItemsToRender","reverse","show5Only","Base","dot","StyledDot","$status","getCircleCss","getDotCss","ProgressIndicator","alignment","steps","activeStepIndex","onStepClick","$alignment","$dot","getLineCss","bgHover","Radio","groupValue","sliderBg","sliderBgHovered","sliderBgActive","sliderBgDisabled","RadioGroup","layout","groupName","$direction","Switch","alertMessage","trailSwitch","StatusTag","variantResult","iconBg","inverted","ghost","blue","green","red","yellow","iconBackgroundColor","_d","Table","contained","compact","alternatingRows","labels","onRowClick","onCheck","responsiveThreshold","columnDivider","headerColumnDivider","lastColumnWidthMultiply","selectAllValue","setSelectAllValue","setIsMobile","onRowCheckedHandler","allSelected","MobileStyledComponent","$compact","$contained","$onRowClick","HTMLElement","nodeName","sIndex","$alternatingRows","cellPadding","cellSpacing","newCheckedValues","entries","itemIndex","table","$headerColumnDivider","TabList","addPropsToChidren","$flush","Textarea","scrollBar","resize","flexDirection","textarea","NotificationToast","getColors","StyledAlertComponent","toast","duration","rtl","createRoot","onCloseHandler","unmount","remove","addCloseClass","Element","setTimeout","$position","getAnimation","keyframes","backCss","mobileCss","Tooltip","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","$inverted","$backgroundColor","HeaderMenuItem","NavigationDrawerItem","StyledComponentDivider","$type","SearchBox","showTrailingIcon","showLabel","onSearchByVoiceClicked","$showTrailingIcon","$showLabel","ContentSwitcher","data","onItemClicked","$onColor","Divider","lineType","$color","$lineType","hr","SkeletonCircle","SkeletonLine","SkeletonSquare","$borderRadius","SkeletonRectangle","Result","Skeleton","marginTop","Rating","brand","hovering","setHovering","hoverScore","setHoverScore","selectedIcon","halfIcon","imageSize","onHoverHandler","starOrder","isLeftStarSection","nativeEvent","offsetX","scoreResult","onMouseEnter","onMouseLeave","grayIcon","onMouseMove","Chip","$rounded","FloatingButton","$iconOnly","borderWidth","circleRadius","magicNumber","stepNameFontSize","descriptionFontSize","innerCircleFontSize","RadialStepper","stepsCount","activeStep","innerCircleText","preStepName","stepName","nextStepName","$circleRadius","$stepsCount","$activeStep","cx","cy","ProgressBar","percentage","$percentage","$error","$success","min","plusIconJsx","minusIconJsx","NumberInput","prefixType","suffixType","onWheel","blur","inputMode","onKeyDown","useScreenDimensions","screenDimentions","setScreenDimentions","windowResizeHandler","NormalSlider","onChnage","screenDimensions","sliderBaseRef","sliderIndicatorRef","isMoving","setIsMoving","currentX","setCurrentX","canMoveFromTo","setCanMoveFromTo","indicatorWidth","percentageResult","round","sliderRect","indicatorRect","mouseMoveHandler","newClientX","clientX","log","mouseUpHandler","$indicatorWidth","onMouseDown","RangeSlider","sliderIndicatorRef2","isMoving1","setIsMoving1","isMoving2","setIsMoving2","currentX1","setCurrentX1","currentX2","setCurrentX2","percentage0","percentage1","indicatorRect2","Dot","Arrow","Carousel","selectedContentIndex","dotsSize","arrowsSize","arrowsStyle","targetSlide","carouselContainer","querySelector","scrollPosition","behavior","$arrowsSize","Quote","whiteBackground","authorDetails","avatar","SecondNavHeader","action","CodeSnippet","multiLineItems","onTabClicked","showCopiedText","setShowCopiedText","activeCode","find","code","copyButton","clipboard","getElementById","innerText","writeText","SlideoutMenu","backdrop","navHeader","onCloseClicked","setRect","StyledContainer","$open","showDivider","showFeaturedIcon","titleText","showDescription","descriptionText","$backdrop","$rect","$showNavHeaderDivider"],"mappings":"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","x_google_ignoreList":[4,6,7,8,9,10,11,12,13,14,15,16,17,38,39]}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/ThemeProvider/index.tsx","../../src/lib/RTL.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/assets/images/arrow-to-right.png","../../src/assets/images/arrow-to-left.png","../../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/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/index.tsx","../../src/components/Link/colors.ts","../../src/components/List/index.tsx","../../src/components/List/colors.ts","../../src/components/Loading/index.tsx","../../src/components/Loading/colors.ts","../../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/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/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/Radio/radioColors.ts","../../src/components/RadioGroup/index.tsx","../../src/components/Switch/index.tsx","../../src/components/Switch/switchColors.ts","../../src/components/StatusTag/index.tsx","../../src/components/StatusTag/colors.ts","../../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/assets/images/qIcon.png","../../src/components/HeaderMenuItem/index.tsx","../../src/components/NavigationDrawerItem/index.tsx","../../src/components/SearchBox/index.tsx","../../src/assets/images/searchByVoice.png","../../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/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/components/Chip/index.tsx","../../src/components/FloatingButton/index.tsx","../../src/components/RadialStepper/index.tsx","../../src/components/ProgressBar/index.tsx","../../src/components/NumberInput/index.tsx","../../src/components/NumberInput/plus.png","../../src/components/NumberInput/minus.png","../../src/lib/hooks/useScreenDimensions.tsx","../../src/components/Slider/Normal.tsx","../../src/components/Slider/Range.tsx","../../src/components/Carousel/Dot.tsx","../../src/components/Carousel/Arrow.tsx","../../src/components/Carousel/arrow-left-white.png","../../src/components/Carousel/arrow-left-black.png","../../src/components/Carousel/index.tsx","../../src/components/Quote/index.tsx","../../src/components/SecondNavHeader/index.tsx","../../src/components/CodeSnippet/index.tsx","../../src/components/CodeSnippet/copyIcon.png","../../src/components/SlideoutMenu/index.tsx","../../src/assets/images/close.png"],"sourcesContent":["import React from \"react\";\n\ntype Props = {\n theme: ThemeProps;\n children: React.ReactNode;\n};\n\nexport const ThemeContext = React.createContext<ThemeProps | null>(null);\n\nconst ThemeProvider: React.FC<Props> = ({ theme, children }) => {\n return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>;\n};\n\nexport default ThemeProvider;\n","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","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 minHeight: 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","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;","export const variants: Variant[] = [\n \"contained\",\n \"outlined\",\n \"text\",\n \"transparent\",\n \"solid\",\n];\n\nexport const COLORS = {\n white: \"#FFF\",\n white20: \"#FFF3\",\n white30: \"#FFFFFF4D\",\n white40: \"#FFF6\",\n white60: \"#FFF9\",\n white70: \"#FFFFFFB2\",\n white80: \"#FFFC\",\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport getButtonColors from \"./buttonColors\";\n\nexport const sizes = {\n small: { w: 74, h: 24, p: 8, f: 12 },\n medium: { w: 94, h: 32, p: 12, f: 14 },\n large: { w: 110, h: 40, p: 16, f: 16 },\n};\n\ninterface DGA_ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"style\"> {\n children?: React.ReactNode;\n size?: Size;\n style?: \"primary\" | \"neutral\" | \"secondary-solid\" | \"secondary-outline\" | \"subtle\" | \"transparent\";\n buttonStyle?: React.CSSProperties;\n destructive?: boolean;\n iconOnly?: boolean;\n onColor?: boolean;\n leadIcon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, DGA_ButtonProps>(\n (\n {\n children,\n size = \"large\",\n style = \"primary\",\n buttonStyle,\n destructive,\n iconOnly,\n onColor,\n leadIcon,\n trailIcon,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n\n const buttonColors = getButtonColors(theme, onColor, destructive);\n const backgroundColor = buttonColors[style].backgroundColor;\n const fontColor = buttonColors[style].fontColor;\n const borderColor = buttonColors[style].borderColor;\n const innerBorderColor = buttonColors[style].innerBorderColor;\n\n return (\n <StyledComponent\n {...props}\n ref={ref}\n className={mergeStrings(\"dgaui dgaui_button\", props.className)}\n $disabled={props.disabled}\n $customStyle={{\n theme,\n minWidth: iconOnly ? 0 : sizes[size].w,\n height: sizes[size].h,\n padding: sizes[size].p,\n fontSize: sizes[size].f,\n fontColor,\n backgroundColor,\n borderColor,\n innerBorderColor,\n }}\n style={buttonStyle}\n >\n {iconOnly && <div className=\"iconOnly\">{leadIcon || children}</div>}\n {!iconOnly && (\n <>\n <div className=\"leadIcon\">{leadIcon}</div>\n {children}\n <div className=\"trailIcon\">{trailIcon}</div>\n </>\n )}\n </StyledComponent>\n );\n }\n);\n\nconst StyledComponent = styled.button<{\n $disabled?: boolean;\n $customStyle: {\n theme: Theme;\n minWidth: number;\n height: number;\n padding: number;\n fontSize: number;\n fontColor: SelectorsObject;\n backgroundColor: SelectorsObject;\n borderColor?: SelectorsObject;\n innerBorderColor?: SelectorsObject;\n };\n}>`\n outline: none;\n border-radius: 4px;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n direction: ${(props) => props.$customStyle.theme.direction};\n min-width: ${(props) => props.$customStyle.minWidth}px;\n height: ${(props) => props.$customStyle.height}px;\n padding: ${(props) => props.$customStyle.padding}px;\n font-size: ${(props) => props.$customStyle.fontSize}px;\n font-weight: 500;\n color: ${(props) => props.$customStyle.fontColor.default};\n background-color: ${(props) => props.$customStyle.backgroundColor.default};\n border: 2px solid transparent;\n ${(props) =>\n props.$customStyle.borderColor && `border: 1px solid ${props.$customStyle.borderColor.default};`};\n transition: background-color 0.1s;\n\n &:hover {\n background-color: ${(props) => props.$customStyle.backgroundColor.hovered};\n color: ${(props) => props.$customStyle.fontColor.hovered};\n ${(props) =>\n props.$customStyle.borderColor && `border: 1px solid ${props.$customStyle.borderColor.hovered};`};\n }\n\n &:focus {\n position: relative;\n border-radius: 4px;\n ${(props) =>\n props.$customStyle.borderColor?.focus && `border: 2px solid ${props.$customStyle.borderColor.focus};`};\n\n &:after {\n content: \"\";\n display: block;\n background-color: transparent;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n border-radius: 2px;\n box-sizing: border-box;\n ${(props) =>\n props.$customStyle.innerBorderColor?.focus &&\n `border: 1px solid ${props.$customStyle.innerBorderColor.focus};`};\n }\n }\n\n &:active {\n border: 2px solid transparent;\n border-radius: 4px;\n background-color: ${(props) => props.$customStyle.backgroundColor.active};\n color: ${(props) => props.$customStyle.fontColor.active};\n ${(props) =>\n props.$customStyle.borderColor?.active &&\n `border: 1px solid ${props.$customStyle.borderColor.active};`};\n &:after {\n display: none;\n }\n }\n\n &:disabled {\n cursor: default;\n pointer-events: none;\n background-color: ${(props) => props.$customStyle.backgroundColor.disabled};\n color: ${(props) => props.$customStyle.fontColor.disabled};\n }\n box-sizing: border-box;\n\n .leadIcon {\n margin-inline-end: 4px;\n display: inline-flex;\n }\n .trailIcon {\n margin-inline-start: 4px;\n display: inline-flex;\n }\n\n .iconOnly {\n display: inline-flex;\n }\n`;\n\nexport default Button;\n","import { COLORS } from \"../../lib/constants\";\n\ntype Button2Color = {\n backgroundColor: SelectorsObject;\n fontColor: SelectorsObject;\n borderColor?: SelectorsObject;\n innerBorderColor?: SelectorsObject;\n};\n\nconst result = (\n theme: Theme,\n onColor: boolean = false,\n destructive: boolean = false\n): {\n [k in\n | \"primary\"\n | \"neutral\"\n | \"secondary-solid\"\n | \"secondary-outline\"\n | \"subtle\"\n | \"transparent\"]: Button2Color;\n} => {\n /*\n *****************\n onColor = false\n destructive = false\n *****************\n */\n if (!onColor && !destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.primary[600],\n hovered: theme.palette.primary[700],\n active: theme.palette.primary[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.neutral[100],\n hovered: theme.palette.neutral[200],\n active: theme.palette.neutral[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.neutral[100],\n active: theme.palette.neutral[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.neutral[300],\n hovered: theme.palette.neutral[200],\n active: theme.palette.neutral[300],\n disabled: theme.palette.neutral[400],\n focus: theme.textColor,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.neutral[100],\n active: theme.palette.neutral[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.palette.primary[700],\n active: theme.palette.primary[900],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = false\n destructive = true\n *****************\n */\n\n // neutral style and disabled status are not set by dga //\n\n if (!onColor && destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n innerBorderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.error[50],\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n focus: theme.textColor,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: theme.textColor,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = true\n destructive = false\n *****************\n */\n if (onColor && !destructive) {\n return {\n neutral: {\n backgroundColor: {\n default: COLORS.white,\n hovered: COLORS.white80, // 80% opacity\n active: COLORS.white60, // 60% opacity\n disabled: COLORS.white20, // 20% opacity\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n primary: {\n backgroundColor: {\n default: COLORS.white,\n hovered: COLORS.white80, // 80% opacity\n active: COLORS.white60, // 60% opacity\n disabled: COLORS.white20, // 20% opacity\n },\n fontColor: {\n default: theme.textColor,\n hovered: theme.textColor,\n active: theme.textColor,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: COLORS.white20, // 20% opacity\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n default: COLORS.white40,\n hovered: COLORS.white40,\n active: COLORS.white40,\n disabled: theme.palette.neutral[400],\n focus: COLORS.white,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: COLORS.white20, // 20% opacity\n active: COLORS.white40, // 40% opacity\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.palette.primary[400],\n active: theme.palette.primary[300],\n disabled: COLORS.white40, // 40% opacity\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n };\n }\n\n /*\n *****************\n onColor = true\n destructive = true\n *****************\n */\n if (onColor && destructive) {\n }\n return {\n neutral: {\n backgroundColor: {\n default: theme.palette.neutral[950],\n hovered: theme.palette.neutral[800],\n active: theme.palette.neutral[600],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n },\n primary: {\n backgroundColor: {\n default: theme.palette.error[600],\n hovered: theme.palette.error[700],\n active: theme.palette.error[900],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.textOnColor || COLORS.white,\n hovered: theme.textOnColor || COLORS.white,\n active: theme.textOnColor || COLORS.white,\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n innerBorderColor: {\n focus: theme.textColor,\n },\n },\n \"secondary-solid\": {\n backgroundColor: {\n default: theme.palette.error[50],\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[200],\n },\n fontColor: {\n default: theme.palette.error[700],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n \"secondary-outline\": {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[200],\n active: theme.palette.error[200],\n disabled: theme.palette.neutral[400],\n focus: COLORS.white,\n },\n },\n subtle: {\n backgroundColor: {\n default: \"transparent\",\n hovered: theme.palette.error[100],\n active: theme.palette.error[200],\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[700],\n active: theme.palette.error[700],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n transparent: {\n backgroundColor: {\n default: \"transparent\",\n hovered: \"transparent\",\n active: \"transparent\",\n disabled: \"transparent\",\n },\n fontColor: {\n default: theme.palette.error[200],\n hovered: theme.palette.error[300],\n active: theme.palette.error[400],\n disabled: theme.palette.neutral[400],\n },\n borderColor: {\n focus: COLORS.white,\n },\n },\n };\n};\n\nexport default result;\n","import React, { HTMLAttributes } from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Button from \"../Button\";\nimport useTheme from \"../../lib/useTheme\";\nimport arrowDownImage from \"../../assets/images/chevron.png\";\nimport Checkbox from \"../Checkbox\";\n\ninterface DGA_CardProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"title\"> {\n title?: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n type?: \"default\" | \"expandable\" | \"selectable\";\n state?: \"default\" | \"disabled\" | \"focused\" | \"hover\";\n effect?: \"withShadow\" | \"noShadow\" | \"stroke\";\n expandableContent?: React.ReactNode;\n actionsButtons?: React.ReactElement<typeof Button>[];\n expanded?: boolean;\n selected?: boolean;\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n}\n\nconst Card: React.FC<DGA_CardProps> = ({\n title,\n description,\n icon,\n type = \"default\",\n state = \"default\",\n effect = \"withShadow\",\n expandableContent,\n actionsButtons,\n selected,\n expanded,\n onChange,\n ...props\n}) => {\n const theme = useTheme();\n const [internalExpanded, setInternalExpanded] = React.useState(false);\n const [contentHeight, setContentHeight] = React.useState(0);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n // Use expanded prop if provided, otherwise use internal state\n const isExpanded = expanded !== undefined ? expanded : internalExpanded;\n\n const selectable = type === \"selectable\";\n const expandable = type === \"expandable\";\n const pointerEvents =\n type === \"expandable\" || type === \"selectable\" ? \"all\" : \"none\";\n\n React.useEffect(() => {\n if (expandable && contentRef.current?.clientHeight) {\n setContentHeight(contentRef.current.clientHeight);\n }\n }, [expandable, contentRef.current?.clientHeight]);\n\n const handleExpandToggle = () => {\n if (expanded === undefined) {\n // Only use internal state if expanded prop is not controlled\n setInternalExpanded((prevState: boolean) => !prevState);\n }\n };\n\n return (\n <StyledComponent\n className={mergeStrings(\n \"dgaui dgaui_card\" +\n (state === \"disabled\" ? \" disabled\" : \"\") +\n (selectable ? \" selectable\" : \"\"),\n props.className\n )}\n $theme={theme}\n $pointerEvents={pointerEvents}\n $effect={effect}\n $contentHeight={contentHeight}\n $expanded={isExpanded}\n $state={state}\n {...props}\n tabIndex={0}\n onClick={(e) => {\n props.onClick && props.onClick(e);\n onChange?.(e, !selected);\n }}\n >\n {(icon || selectable) && (\n <div className=\"cardHeader\">\n <div className=\"iconContainer\">{icon}</div>\n {selectable && (\n <div\n className=\"checkboxContainer\"\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n value={selected}\n onChange={onChange}\n size=\"medium\"\n disabled={state === \"disabled\"}\n />\n </div>\n )}\n </div>\n )}\n {title && <div className=\"titleContainer\">{title}</div>}\n {description && <div className=\"descriptionContainer\">{description}</div>}\n {!!actionsButtons && actionsButtons.length > 0 && type === \"default\" && (\n <div\n className=\"actionsButtonsContainer\"\n onClick={(e) => e.stopPropagation()}\n >\n {actionsButtons}\n </div>\n )}\n {expandable && (\n <>\n <div className=\"caretButtonContainer\">\n <img\n src={arrowDownImage}\n onClick={handleExpandToggle}\n style={{\n transition: \"all 0.2s\",\n transform: isExpanded ? \"rotateZ(-180deg)\" : \"none\",\n }}\n />\n </div>\n <div\n className=\"expandableContentContainer\"\n style={{ height: isExpanded ? contentHeight : 0 }}\n >\n <div\n className=\"expandableContent\"\n ref={contentRef}\n style={{ visibility: isExpanded ? \"visible\" : \"hidden\" }}\n >\n {expandableContent}\n </div>\n </div>\n </>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $pointerEvents: string;\n $effect?: \"withShadow\" | \"noShadow\" | \"stroke\";\n $contentHeight: number;\n $expanded?: boolean;\n $state?: \"default\" | \"disabled\" | \"focused\" | \"hover\";\n}>`\n direction: ${(p) => p.$theme.direction};\n /* pointer-events: ${(p) => p.$pointerEvents}; */\n border: none;\n outline: none;\n width: 350px;\n padding: 16px;\n border-radius: 16px;\n background-color: #fff;\n text-align: start;\n overflow: hidden;\n color: ${(p) =>\n p.$state === \"disabled\"\n ? p.$theme.palette.neutral[400]\n : p.$theme.palette.neutral[800]};\n border: 2px solid transparent;\n\n /* Apply background color based on state prop */\n background-color: ${(p) => {\n if (p.$state === \"hover\") return p.$theme.palette.neutral[50];\n return \"#fff\";\n }};\n\n /* Apply border color based on state prop */\n ${(p) =>\n p.$state === \"focused\" ? `border: 2px solid ${p.$theme.textColor};` : \"\"}\n\n ${(p) => (p.$effect === \"withShadow\" ? p.$theme.elevation.shadows.md : \"\")};\n ${(p) =>\n p.$effect === \"stroke\"\n ? \"border: 1px solid \" + p.$theme.palette.neutral[300]\n : \"\"};\n\n /* CSS hover and focus states - work when state prop is default */\n ${(p) =>\n p.$pointerEvents === \"all\" && p.$state !== \"disabled\"\n ? css`\n &:hover {\n background-color: ${p.$theme.palette.neutral[50]};\n }\n &:focus {\n border: 2px solid ${p.$theme.textColor};\n }\n `\n : \"\"}\n\n &.selectable {\n cursor: pointer;\n }\n &.disabled {\n pointer-events: none;\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n\n .iconContainer {\n opacity: 0.5;\n filter: grayscale(1);\n }\n\n .checkboxContainer {\n opacity: 0.5;\n filter: grayscale(1);\n }\n }\n\n .cardHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-height: 48px;\n margin-bottom: 24px;\n\n .iconContainer {\n max-height: 48px;\n }\n }\n\n .titleContainer {\n font-size: 18px;\n font-weight: 700;\n margin-bottom: 8px;\n }\n .descriptionContainer {\n font-size: 16px;\n }\n .actionsButtonsContainer {\n margin-top: 24px;\n button {\n margin-inline-end: 16px;\n &:last-child {\n margin-inline-end: 0;\n }\n }\n }\n\n .caretButtonContainer {\n height: 40px;\n margin-top: 24px;\n display: flex;\n align-items: center;\n img {\n cursor: pointer;\n }\n }\n .expandableContentContainer {\n transition: all 0.2s;\n font-size: 16px;\n\n .expandableContent {\n }\n }\n`;\n\nexport default Card;\n","\"use strict\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=e({name:\"gregorian\",startYear:1,yearLength:365,epoch:1721424,century:20,weekStartDayIndex:1,getMonthLengths:e=>[31,e?29:28,31,30,31,30,31,31,30,31,30,31],isLeap:e=>e%4==0&&e%100!=0||e%400==0,getLeaps(e){if(0===e)return;let t=e>0?1:-1,r=[];for(;e>0?t<=e:e<=t;)this.isLeap(t)&&r.push(t),e>0?t++:t--;return r},getDayOfYear({year:e,month:t,day:r}){let a=this.getMonthLengths(this.isLeap(e));for(let e=0;e<t.index;e++)r+=a[e];return r},getAllDays(e){const{year:t}=e;return this.yearLength*(t-1)+this.leapsLength(t)+this.getDayOfYear(e)},leapsLength:e=>((e-1)/4|0)+(-(e-1)/100|0)+((e-1)/400|0),guessYear:(e,t)=>~~(e/365.24)+(t>0?1:-1)});module.exports=t;\n","\"use strict\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=e({name:\"arabic\",startYear:1,yearLength:354,epoch:1948438,century:14,weekStartDayIndex:0,getMonthLengths:e=>[30,29,30,29,30,29,30,29,30,29,30,e?30:29],isLeap:e=>[2,5,7,10,13,15,18,21,24,26,29].includes(e%30),getLeaps(e){if(0===e)return;let t=e>0?1:-1,r=[];for(;e>0?t<=e:e<=t;)this.isLeap(t)&&r.push(t),e>0?t++:t--;return r},getDayOfYear({year:e,month:t,day:r}){let a=this.getMonthLengths(this.isLeap(e));for(let e=0;e<t.index;e++)r+=a[e];return r},getAllDays(e){const{year:t}=e;return this.yearLength*(t-1)+this.leapsLength(t)+this.getDayOfYear(e)},leapsLength:e=>11/30*(e-1)+.5|0,guessYear:(e,t)=>~~((e-.5)/354.366)+(t>0?1:-1)});module.exports=t;\n","export const gregorian_ar = {\n name: \"gregorian_ar\",\n months: [\n [\"يناير\", \"ينا\"],\n [\"فبراير\", \"فبر\"],\n [\"مارس\", \"ما\"],\n [\"إبريل\", \"إبر\"],\n [\"مايو\", \"ما\"],\n [\"يونيو\", \"يو\"],\n [\"يوليو\", \"يوليو\"],\n [\"أغسطس\", \"أغس\"],\n [\"سبتمبر\", \"سب\"],\n [\"أكتوبر\", \"اک\"],\n [\"نوفمبر\", \"نو\"],\n [\"ديسمبر\", \"دس\"],\n ],\n weekDays: [\n [\"السّبت\", \"سب\"],\n [\"الأحد\", \"اح\"],\n [\"الإثنينِ\", \"ثن\"],\n [\"الثلاثاء\", \"ثل\"],\n [\"الأربعاء\", \"ار\"],\n [\"الخميس\", \"خم\"],\n [\"الجمعة\", \"جم\"],\n ],\n digits: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n meridiems: [\n [\"قبل الظهر\", \"ق.ظ\"],\n [\"بعد الظهر\", \"ب.ظ\"],\n ],\n};\n\nexport const arabic_ar = {\n name: \"arabic_ar\",\n months: [\n [\"محرم\", \"محرم\"],\n [\"صفر\", \"صفر\"],\n [\"ربیع الاول\", \"ربیع الاول\"],\n [\"ربیع الثانی\", \"ربیع الثانی\"],\n [\"جمادی الاول\", \"جمادی الاول\"],\n [\"جمادی الثانی\", \"جمادی الثانی\"],\n [\"رجب\", \"رجب\"],\n [\"شعبان\", \"شعبان\"],\n [\"رمضان\", \"رمضان\"],\n [\"شوال\", \"شوال\"],\n [\"ذو القعدة\", \"ذو القعدة\"],\n [\"ذو الحجة\", \"ذو الحجة\"],\n ],\n weekDays: [\n [\"السّبت\", \"سب\"],\n [\"الأحد\", \"اح\"],\n [\"الإثنينِ\", \"ثن\"],\n [\"الثلاثاء\", \"ثل\"],\n [\"الأربعاء\", \"ار\"],\n [\"الخميس\", \"خم\"],\n [\"الجمعة\", \"جم\"],\n ],\n digits: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n meridiems: [\n [\"قبل الظهر\", \"ق.ظ\"],\n [\"بعد الظهر\", \"ب.ظ\"],\n ],\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport const sizes = {\n medium: { w: 320, h: 32, p: 8, f: 14, prefixW: 72 },\n large: { w: 320, h: 40, p: 8, f: 16, prefixW: 61 },\n};\n\nexport type Style = \"default\" | \"filledDarker\" | \"filledLighter\";\n\nexport interface DGA_TextInputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"prefix\" | \"style\"> {\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 ${error ? theme.palette.error[700] : theme.palette.neutral[400]}`;\n let borderHovered = `1px solid ${error ? theme.palette.error[700] : theme.palette.neutral[700]}`;\n let borderFocused = `1px solid ${error ? theme.palette.error[700] : theme.palette.neutral[700]}`;\n let backgroundColor = \"#FFF\";\n let animationColor = error ? theme.palette.error[700] : theme.textColor;\n let shadowFocus = theme.elevation.shadows.md;\n let prefixBg = prefixStyle === \"solid\" ? theme.palette.neutral[100] : \"transparent\";\n let prefixBgHover = theme.palette.neutral[100];\n let prefixBgActive = theme.palette.neutral[200];\n let suffixBg = 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 style={{ marginBottom: 8, textAlign: \"start\" }} htmlFor={props.id}>\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 $bgColor={animationColor} className=\"dgauiInputSeparator\" />\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\")} + ${(p) => p.$customStyle.iconPadding} +\n 8px\n );\n }\n .icon {\n inset-inline-start: ${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")};\n }\n }\n\n &:has(.suffix) {\n input {\n padding-inline-end: calc(${(p) => (p.$customStyle.size === \"large\" ? \"74px\" : \"61px\")} + 8px);\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 = 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(date[1])}`;\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={hijri ? arabic_ar : theme.direction === \"rtl\" ? gregorian_ar : undefined}\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 value={yearDisplayValue} onChange={(e) => onYearChangedDropdown(+e.target.value)}>\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={\"dgaui\" + (isRangeAndOnlyOneSelected ? \" rangeOnlyOneSelected\" : \"\")}\n $theme={theme}\n >\n {!withTextInput && calendar}\n {withTextInput && (\n <Menu menuItems={calendar} keepOpenOnItemsClicked>\n <TextInput value={textInputProps?.value || dateText} readOnly {...textInputProps} />\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 .dgaui_menu {\n display: block;\n }\n`;\n\nexport default DatePicker;\n\nfunction gregoreanYearToHijriYear(gregorianYear: number, gregorianMonth: number) {\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) => text?.toString().padStart(2, \"0\");\n\nconst formatDate = (date: DateObject) => {\n return `${padStartZero(date.day)}/${padStartZero(date.month.number)}/${date.year}`;\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\";\nimport { InlineAlertType } from \".\";\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 InlineAlertType]: InlineAlertColor } => ({\n neutral: {\n icon: neutralIcon,\n vLine: them.palette.neutral[200],\n border: them.palette.neutral[200],\n font: them.palette.neutral[800],\n bg: them.palette.neutral[25],\n },\n destructive: {\n icon: errorIcon,\n vLine: them.palette.error[600],\n border: them.palette.error[200],\n font: them.palette.error[700],\n bg: them.palette.error[25],\n },\n warning: {\n icon: warningIcon,\n vLine: them.palette.warning[600],\n border: them.palette.warning[200],\n font: them.palette.warning[700],\n bg: them.palette.warning[25],\n },\n success: {\n icon: successIcon,\n vLine: them.palette.success[600],\n border: them.palette.success[200],\n font: them.palette.success[700],\n bg: them.palette.success[25],\n },\n info: {\n icon: infoIcon,\n vLine: them.palette.info[600],\n border: them.palette.neutral[200],\n font: them.palette.info[700],\n bg: them.palette.info[25],\n },\n});\n\nexport default result;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\n// assets\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport colors, { InlineAlertColor } from \"./colors\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\n\nexport type InlineAlertType = \"neutral\" | \"warning\" | \"info\" | \"success\" | \"destructive\";\nexport interface DGA_InlineAlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n leadText: React.ReactNode;\n helpText?: React.ReactNode;\n type?: InlineAlertType;\n closeButton?: boolean;\n actions?: React.ReactNode;\n onClose?: Function;\n background?: \"white\" | \"color\";\n}\n\nconst InlineAlert: React.FC<DGA_InlineAlertProps> = ({\n leadText,\n helpText,\n type = \"neutral\",\n actions,\n closeButton,\n onClose,\n background,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const colorsResult: InlineAlertColor = colors(theme)[type];\n const isColored = background === \"color\";\n const isMinimal = !helpText && !actions;\n\n return (\n <StyledComponent\n $theme={theme}\n $colors={colorsResult}\n $isColored={isColored}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_inlineAlert \" +\n (screenSizes.isMobile ? \" mobile \" : \"\") +\n (isMinimal ? \" minimal \" : \"\"),\n props.className\n )}\n >\n <div className=\"icon\" />\n <div className=\"content\">\n <div className=\"leadText\">{leadText}</div>\n {helpText && <div className=\"helpText\">{helpText}</div>}\n {actions && <div className=\"actions\">{actions}</div>}\n </div>\n {closeButton && <div className=\"close\" onClick={() => onClose?.()} />}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $colors: InlineAlertColor;\n $isColored: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n display: flex;\n position: relative;\n padding: 16px 24px;\n background-color: ${({ $colors, $isColored }) => ($isColored ? $colors.bg : \"#fff\")};\n border-radius: 8px;\n border: 1px solid\n ${({ $colors, $isColored, $theme }) => ($isColored ? $colors.border : $theme.palette.neutral[300])};\n\n box-sizing: border-box;\n overflow: hidden;\n\n &::before {\n content: \"\";\n display: block;\n width: 8px;\n height: 100%;\n position: absolute;\n inset-inline-start: 0;\n top: 0;\n background-color: ${(p) => p.$colors.vLine};\n }\n\n .icon {\n min-width: 40px;\n height: 40px;\n background-image: url(${(p) => p.$colors.icon});\n background-repeat: no-repeat;\n background-size: contain;\n margin-inline-end: 12px;\n }\n .content {\n width: 100%;\n\n .leadText {\n font-size: 16px;\n font-weight: 600;\n min-height: 40px;\n display: flex;\n align-items: center;\n color: ${({ $colors, $isColored, $theme }) =>\n $isColored ? $colors.font : $theme.palette.neutral[800]};\n }\n .helpText {\n font-size: 14px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n margin-top: 8px;\n }\n .actions {\n margin-top: 16px;\n\n button {\n margin-inline-end: 8px;\n }\n }\n }\n .close {\n margin-inline-start: 12px;\n cursor: pointer;\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n min-width: 20px;\n height: 20px;\n margin-top: 10px;\n &:hover {\n transform: scale(1.1);\n }\n }\n\n &.mobile {\n flex-direction: column;\n\n &::before {\n width: 100%;\n height: 8px;\n position: absolute;\n top: 0;\n }\n .icon {\n margin-bottom: 16px;\n }\n .content {\n .title {\n margin-inline-end: 16px;\n }\n .actionButtons {\n display: flex;\n flex-direction: column;\n\n button {\n margin-inline-end: 0;\n margin-bottom: 8px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n .close {\n margin-inline-start: 0;\n position: absolute;\n inset-inline-end: 16px;\n top: 16px;\n }\n }\n\n &.minimal {\n padding: 16px 24px;\n\n &.mobile {\n padding-top: 14px;\n flex-direction: row;\n align-items: center;\n\n .icon {\n margin-bottom: 0;\n }\n .close {\n position: initial;\n margin-top: 0;\n margin-inline-start: 16px;\n }\n }\n }\n`;\n\nexport default InlineAlert;\n","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;","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","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","import React from \"react\";\nimport colors, { ListColor } from \"./colors\";\nimport styled, { css } from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\ninterface DGA_LinkProps extends Omit<React.OlHTMLAttributes<HTMLOListElement>, \"style\" | \"type\"> {\n style?: \"primary\" | \"neutral\" | \"on-color\";\n type?: \"ordered-list\" | \"unordered-list\" | \"with-icon\";\n level?: 1 | 2 | \"1\" | \"2\";\n iconUrl?: string;\n children: React.ReactNode;\n}\n\nconst List: React.FC<DGA_LinkProps> = ({\n children,\n style = \"primary\",\n type = \"ordered-list\",\n level = 1,\n iconUrl = \"\",\n ...props\n}) => {\n const theme = useTheme();\n const selectedColors = colors(theme)[style];\n\n const Result = type === \"ordered-list\" ? StyledOlComponent : StyledUlComponent;\n\n return (\n <Result\n $theme={theme}\n $colors={selectedColors}\n $listStyleType={getListStyleType(type, level)}\n {...props}\n className={mergeStrings(\"dgaui dgaui_list\", props.className)}\n type={type === \"ordered-list\" && +level === 1 ? \"1\" : \"a\"}\n $iconUrl={iconUrl}\n $level={+level}\n $ol={type === \"ordered-list\"}\n >\n {children}\n </Result>\n );\n};\n\nconst StyledUlComponent = styled.ul<{\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n}>`\n ${(p) => getCss(p)};\n`;\n\nconst StyledOlComponent = styled.ol<{\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n $ol: boolean;\n}>`\n ${(p) => getCss(p)};\n`;\n\nexport default List;\n\nconst getCss = (p: {\n $theme: Theme;\n $colors: ListColor;\n $listStyleType?: string;\n $iconUrl?: string;\n $level?: number;\n $ol?: boolean;\n}) => {\n return css`\n direction: ${p.$theme.direction};\n color: ${p.$colors.text};\n font-size: 16px;\n padding-inline-start: ${p.$level === 1 ? 0 : \"\"};\n\n ${p.$listStyleType ? \"list-style-type: \" + p.$listStyleType : \"\"};\n\n ${p.$listStyleType === \"decimal\" && p.$level === 1 && p.$ol\n ? css`\n list-style-type: none; /* Remove default numbering */\n counter-reset: item; /* Initialize the counter */\n\n li {\n display: flex;\n align-items: center;\n position: relative;\n\n &::before {\n content: counter(item) \"- \";\n counter-increment: item;\n\n height: 16px;\n width: 16px;\n position: absolute;\n top: 0;\n inset-inline-start: -24px;\n }\n &::marker {\n content: \"\";\n }\n }\n `\n : \"\"};\n\n ${p.$listStyleType === \"with-icon\" && p.$iconUrl\n ? css`\n li {\n display: flex;\n align-items: center;\n position: relative;\n\n &::before {\n content: url(${p.$iconUrl});\n height: 16px;\n width: 16px;\n position: absolute;\n top: 2px;\n inset-inline-start: -24px;\n }\n &::marker {\n content: \"\";\n }\n }\n `\n : \"\"};\n `;\n};\n\nconst getListStyleType = (\n type: \"ordered-list\" | \"unordered-list\" | \"with-icon\",\n anyLevel: string | number\n) => {\n const level = +anyLevel;\n\n switch (type) {\n case \"ordered-list\": {\n if (level === 1) {\n return \"decimal\";\n }\n if (level === 2) {\n return \"\";\n }\n return \"\";\n }\n case \"unordered-list\": {\n if (level === 1) {\n return `\"- \"`;\n }\n if (level === 2) {\n return \"disc\";\n }\n return \"\";\n }\n default: {\n return \"with-icon\";\n }\n }\n};\n","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 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 { 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","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../../lib/useTheme\";\nimport { mergeStrings } from \"../../../lib/helpers\";\n\ninterface DGA_MenuItemProps extends React.HTMLAttributes<HTMLDivElement> {\n disabled?: boolean;\n icon?: React.ReactNode;\n trailIcon?: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst MenuItem: React.FC<DGA_MenuItemProps> = ({\n icon,\n trailIcon,\n children,\n disabled,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\n \"dgaui dgaui_menuItem\" + (disabled ? \" disabled\" : \"\"),\n props.className\n )}\n tabIndex={0}\n >\n <div className=\"itemContent\">\n {icon && <div className=\"icon\">{icon}</div>}\n <div className=\"content\">{children}</div>\n </div>\n {trailIcon && <div className=\"trailIcon\">{trailIcon}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n min-width: 225px;\n height: 40px;\n padding: 8px;\n display: flex;\n align-items: center;\n transition: all 0.2s;\n border-radius: 4px;\n border: 2px solid transparent;\n\n .itemContent {\n flex: 1;\n display: flex;\n align-items: center;\n\n .icon {\n margin-inline-end: 8px;\n display: flex;\n }\n .content {\n flex: 1;\n color: ${(p) => p.$theme.textColor};\n font-size: 16px;\n }\n }\n\n .trailIcon {\n margin-inline-start: 8px;\n }\n\n &:hover {\n background: ${(p) => p.$theme.palette.neutral[100]};\n }\n &:active {\n background: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:focus {\n border: 2px solid ${(p) => p.$theme.textColor};\n }\n &.disabled {\n pointer-events: none;\n filter: grayscale(1);\n .itemContent {\n .content {\n color: ${(p) => p.$theme.palette.neutral[400]};\n }\n }\n }\n`;\n\nexport default MenuItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../../lib/useTheme\";\nimport { mergeStrings } from \"../../../lib/helpers\";\n\ninterface DGA_MenuItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n title: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst MenuItemGroup: React.FC<DGA_MenuItemProps> = ({\n title,\n children,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n {...props}\n className={mergeStrings(\"dgaui dgaui_menuItemGroup\", props.className)}\n tabIndex={0}\n >\n <div className=\"groupTitle\">{title}</div>\n {children}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n border-bottom: 1px solid #cbd5e1;\n padding-bottom: 8px;\n margin-bottom: 8px;\n\n &:last-child {\n border-bottom: none;\n }\n\n .groupTitle {\n font-size: 12px;\n font-weight: 700;\n color: ${(p) => p.$theme.palette.neutral[800]};\n margin-bottom: 12px;\n padding: 8px;\n padding-bottom: 0;\n }\n`;\n\nexport default MenuItemGroup;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport buttonCloseIcon from \"../../assets/images/x.png\";\nimport useScreenSizes from \"../../lib/hooks/useScreenSizes\";\nimport Button from \"../Button\";\n\ninterface DGA_ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: React.ReactNode;\n title?: React.ReactNode;\n body?: React.ReactNode;\n align?: \"start\" | \"center\";\n size?: \"auto\" | 600;\n open: boolean;\n onClose?: Function;\n footerStartButtons?: React.ReactElement<typeof Button>[];\n footerEndButtons?: React.ReactElement<typeof Button>[];\n}\n\nconst Modal: React.FC<DGA_ModalProps> = ({\n icon,\n title,\n body,\n align,\n size = 600,\n open,\n onClose,\n footerStartButtons,\n footerEndButtons,\n ...props\n}) => {\n const theme = useTheme();\n const screenSizes = useScreenSizes();\n const ref = React.useRef(null);\n\n if (!open) return null;\n\n return (\n <>\n <Backdrop className={\"dgaui dgaui_modal_backdrop\"} onClick={() => onClose?.()} />\n\n <StyledComponent\n $theme={theme}\n $align={align === \"start\" ? \"flex-start\" : \"center\"}\n $size={size}\n className={mergeStrings(\"dgaui dgaui_modal \" + props.className)}\n >\n <div\n {...props}\n ref={ref}\n className={\"dgaui_modalContent\" + (screenSizes.isMobile ? \" dgaui_modalMobile\" : \"\")}\n >\n <div className=\"dgaui_modalClose\" onClick={() => onClose?.()} />\n\n {(title || icon) && (\n <div className=\"dgaui_modalHeader\">\n {icon && <div className=\"dgaui_modalHeaderIcon\">{icon}</div>}\n {title && <div className=\"dgaui_modalHeaderTitle\">{title}</div>}\n </div>\n )}\n\n {body && <div className=\"dgaui_modalHeaderBody dgaui_hiddenScrollbar\">{body}</div>}\n\n {(!!footerStartButtons || !!footerEndButtons) && (\n <div\n className={\n \"dgaui_modalHeaderFooter \" + (!footerStartButtons && !!footerEndButtons ? \"onlyEnd\" : \"\")\n }\n >\n {footerStartButtons && <div className=\"dgaui_modalHeaderFooterStart\">{footerStartButtons}</div>}\n {footerEndButtons && <div className=\"dgaui_modalHeaderFooterEnd\">{footerEndButtons}</div>}\n </div>\n )}\n </div>\n </StyledComponent>\n </>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $align?: string;\n $size?: \"auto\" | 600;\n}>`\n position: fixed;\n z-index: 2401;\n opacity: 0;\n animation: opacity 0.225s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: center;\n justify-self: center;\n inset: 0;\n\n &.dgaui_modal {\n opacity: 1;\n }\n\n @keyframes opacity {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n }\n\n .dgaui_modalContent {\n height: fit-content;\n direction: ${(p) => p.$theme.direction};\n width: ${(p) => (p.$size === \"auto\" ? p.$size : p.$size + \"px\")};\n padding: 24px;\n background-color: #fff;\n border-radius: 8px;\n ${(p) => p.$theme.elevation.shadows[\"3xl\"]};\n position: relative;\n\n .dgaui_modalClose {\n position: absolute;\n top: 20px;\n inset-inline-end: 20px;\n cursor: pointer;\n background-image: url(${buttonCloseIcon});\n background-repeat: no-repeat;\n width: 20px;\n height: 20px;\n\n &:hover {\n transform: scale(1.1);\n }\n }\n\n .dgaui_modalHeader {\n display: flex;\n flex-direction: column;\n align-items: ${(p) => p.$align};\n\n .dgaui_modalHeaderIcon {\n height: 40px;\n margin-bottom: 8px;\n }\n .dgaui_modalHeaderTitle {\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n color: ${({ $theme }) => $theme.palette.neutral[800]};\n }\n }\n\n .dgaui_modalHeaderBody {\n padding: 16px 0;\n padding-bottom: 0;\n font-size: 14px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n display: flex;\n flex-direction: column;\n align-items: ${(p) => p.$align};\n text-align: ${(p) => p.$align};\n max-height: calc(100vh - 300px);\n overflow: auto;\n }\n\n .dgaui_modalHeaderFooter {\n padding: 0;\n margin-top: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n &.onlyEnd {\n display: flex;\n justify-content: flex-end;\n }\n\n .dgaui_modalHeaderFooterEnd {\n display: flex;\n justify-content: flex-end;\n }\n\n button {\n margin-inline-end: 8px;\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n }\n\n &.dgaui_modalMobile {\n width: auto;\n margin: 0 16px;\n\n .dgaui_modalHeaderBody {\n max-height: calc(100vh - 400px);\n }\n\n .dgaui_modalHeaderFooter {\n flex-direction: column;\n .dgaui_modalHeaderFooterStart,\n .dgaui_modalHeaderFooterEnd {\n display: inline-flex;\n width: 100%;\n }\n button {\n width: 100%;\n margin-inline-end: 0;\n margin-bottom: 4px;\n }\n }\n }\n }\n`;\n\nconst Backdrop = styled.div`\n position: fixed;\n z-index: 2400;\n background-color: rgba(0, 0, 0, 0.5);\n inset: 0;\n`;\n\nexport default Modal;\n","// assets\nimport info from \"./icons/info.png\";\nimport error from \"./icons/error.png\";\nimport neutral from \"./icons/neutral.png\";\nimport success from \"./icons/success.png\";\nimport warning from \"./icons/warning.png\";\n\nexport type NotificationColor = {\n bg: string;\n text: string;\n border: string;\n icon: string;\n};\n\nconst result = (them: Theme): { [k in 'success' | 'info' | 'neutral' | 'warning' | 'critical']: NotificationColor } => ({\n neutral: {\n bg: them.palette.neutral[50],\n text: them.palette.neutral[700],\n border: them.textColor,\n icon: neutral,\n },\n critical: {\n bg: them.palette.error[50],\n text: them.palette.error[700],\n border: them.palette.error[600],\n icon: error,\n },\n warning: {\n bg: them.palette.warning[50],\n text: them.palette.warning[700],\n border: them.palette.warning[600],\n icon: warning,\n },\n success: {\n bg: them.palette.success[50],\n text: them.palette.success[700],\n border: them.palette.success[600],\n icon: success,\n },\n info: {\n bg: \"#EFF8FF\",\n text: them.palette.info[700],\n border: them.palette.info[600],\n icon: info,\n },\n});\n\nexport default result;\n","import React from 'react';\nimport styled from 'styled-components';\n\n//lib\nimport { mergeStrings } from '../../lib/helpers';\n\n// assets\nimport useTheme from '../../lib/useTheme';\nimport colors, { NotificationColor } from './colors';\nimport buttonCloseIcon from '../../assets/images/x.png';\n\ninterface DGA_NotificationProps {\n\tstyle: 'success' | 'info' | 'neutral' | 'warning' | 'critical';\n\tclassName?: string;\n\ticon?: boolean;\n\tleadText?: string;\n\tlink?: React.ReactNode;\n\tdismissible?: boolean;\n\tbutton?: React.ReactNode;\n\thelpText?: string;\n\tonClose?: Function;\n}\n\nconst Notification: React.FC<DGA_NotificationProps> = ({\n\tstyle = 'neutral',\n\ticon = true,\n\tleadText,\n\tlink,\n\tdismissible = true,\n\tbutton,\n\thelpText,\n\tonClose,\n\t...props\n}) => {\n\tconst theme = useTheme();\n\tconst colorNameResult = style;\n\tconst [show, setShow] = React.useState(true);\n\n\tconst closeClickedHandler = () => {\n\t\tsetShow(false);\n\t\tonClose?.();\n\t};\n\n\tif (!show) return null;\n\n\treturn (\n\t\t<StyledComponent\n\t\t\t$theme={theme}\n\t\t\t$colors={colors(theme)[colorNameResult]}\n\t\t\t{...props}\n\t\t\tclassName={mergeStrings('dgaui dgaui_notification', props.className)}>\n\t\t\t<div className='contentContainer'>\n\t\t\t\t{icon && <div className='icon' />}\n\t\t\t\t<div className='content'>\n\t\t\t\t\t{leadText && <span className='title'>{leadText}</span>}\n\t\t\t\t\t{helpText && <span className='message'>{helpText}</span>}\n\t\t\t\t</div>\n\t\t\t\t<div className='actions'>\n\t\t\t\t\t{link && link}\n\t\t\t\t\t{button && button}\n\t\t\t\t\t{dismissible && (\n\t\t\t\t\t\t<div className='close' onClick={closeClickedHandler} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</StyledComponent>\n\t);\n};\n\nconst StyledComponent = styled.div<{\n\t$theme: Theme;\n\t$colors: NotificationColor;\n}>`\n\tdirection: ${(p) => p.$theme.direction};\n\tpadding: 8px 24px;\n\twidth: 100%;\n\tmin-height: 56px;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tborder-radius: 2px;\n\tborder-bottom: 2px solid ${(p) => p.$colors.border};\n\tbackground-color: ${(p) => p.$colors.bg};\n\t.contentContainer {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tgap: 8px;\n\t\t.icon {\n\t\t\tbackground-image: url(${(p) => p.$colors.icon});\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-size: contain;\n\t\t\tmin-width: 24px;\n\t\t\theight: 24px;\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\t\t.content {\n\t\t\tcolor: ${(p) => p.$colors.text};\n\t\t\tfont-size: 16px;\n\t\t\t.title {\n\t\t\t\tmargin-inline-end: 8px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t.message {\n\t\t\t\tword-wrap: normal;\n\t\t\t}\n\t\t}\n\t}\n\t.actions {\n\t\tdisplay: flex;\n\t\tgap: 8px;\n\t\tflex-wrap: nowrap;\n\t\talign-items: center;\n\t}\n\t.close {\n\t\tmargin-inline-start: 12px;\n\t\tcursor: pointer;\n\t\tbackground-image: url(${buttonCloseIcon});\n\t\tbackground-repeat: no-repeat;\n\t\tmin-width: 20px;\n\t\theight: 20px;\n\t\t&:hover {\n\t\t\ttransform: scale(1.1);\n\t\t}\n\t}\n`;\n\nexport default Notification;\n","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;","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","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\";\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","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","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","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","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,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAUKADAAQAAAABAAAAUAAAAAAx4ExPAAAJrklEQVR4Ae1dTYwURRSu6pkVV3eWWQjhz+hwQLmxS/BkQna9KJrAEhM9aCI/F0yIsBcSQhTQEA0eYI0JXkBM5AAXFxM5CtGjRsabYAxjgvyEwA6zqxvcmS7fVz019PZ093TX9M/sLC+B7q6fV6++eVXvvarqXs5SJCFEnk1NDZtCFFiGr+eCFRjuQZwXcLFRmTFRooyy4KzEauI3wzCKrK+vyDmnvHSIJ9msBGx6epBxtlWY5qgLSJriiKLgvGiY7ALv75/QZKJVLREABbSMi3dJw0ZJyryWpMErQUMnDMG/5rnc5eDV9ErGBmBd2/YKJvaRaHGD5t57GuqmyY5k+/vPuBdoPzVyADsCOCcuBKSoifHM4sUnnFntPkcKoKhURoXBjjMYg06kGDQyEgDFzExBVGe/IsyGOxE3F5kmeLZnjPf2llzyQiUZoUq7FBbT03sJvCuUNeyS3alJo5C5Wqlsb1dAbQ2sz3WH6kaiXTlSq08+5AnelxvTFUALQDlka9Vvyekd1G24s+qJIs8+sU1nSIcG0AJv9lLHGgrdX4YMDM/0jIQFMRSAXQueAl0DxMAAdj14miAGAnDBgKcBYiAAzempK91jMBRKra5kWKrmCB8YKPuVbOkH0kIARRbdYm39oHDm8UHWkz3kTHU++2oghWbbaWUDEcaCJWGKMb8Y2hNAOe9ZEUY6Kymd85OVKewb8nJvPIcwhTrHqQ8LHTz8jPl6nO/6k7oCiKFLpUddayzMxGGsNLl13XUIm9OV610Xabj1PkwanOzZ2pDTKjdpIFZXHoPngiytcZpZY58zp0kDO0n7zKkpKa+RyznlTuu5zKu1NXYtzNolkW5LyqvJM7/+zO6d/pI9/ON3Zgdw0dp1rP+1LfRvq13kpO/zdS08rBqeo4Fpah/AunlgHwOAftT/+la27P39LEWtLBu5/gElYwNAbD3S4ugllZHkFeDd2LOTtO6qbJYEZP2bt7DsqlXy+b9rV9m/V35h1Vt/y+dFa19gz3xxOjUQOeMjasv00RCmfVsyHqnQ3c+PNcDz0rDZWzfZ3fFj7J8ff5Blbx/9gK369EQq8mKPmxq+jMYbVlhYm95IS5Qmz33DKt9fkG0+velltvzgx66a1bNylQSsd8OLsiyARN00CAcExORkHm1LAGlzBU6iTEhSoFkakvdPn5RN9qxczZbt3d+yeWhdlsqC7p86ycAjBcqzbHYQ7UoAMwZLxbTdHf+sYWmXH/yIQctakdGXYyuoLIiW2didox+2qhJLvsnobA+RBFAIWrpJmCoXL8j5DM3CNVFDM4gYKDvw1juyKKw2hnPSRLt5UukMaywnv953j4YfCEN3ya73QvcfdWCtQTAuymcMzUi3AvnLwM5QY1mXj049gFclqwpasmt3oKHrbAdDeenO3TIZFnryfAoGJZMZNkxuJjp8peGwaZ9fZAGt8jMSeRrGauiXySL7lXX+AFE8m4YoGMxkiQJ4n8I0RSs/wZKjOwGMP195iZXe2Ow7PJUWwqDYebtzjTqVrzdoMnwuarZe/ACK8vmgeYueX+dVtDHEUQBxsRdBA+E/gsC7VSjoxUcnHUeSyQrzvE5lnTq3Djw6gqJjOLzahP+oDAoWIhIjLgGsH+qOuVW4LQ+vWZq0lCxoEJ8vqEjglX/zbVk8abcGfmAiGmh3W3IxLEnBL1RamJhbYw3hoL+zfjloX7tuS6vW03JrZCTSSrh28mE47Nrn57a00w7qwq1RcTLcmiSc69gBrFz8bo72tQtSq/r2ODkJ59ogU1xqJZRuvnRbaPiCELKF0T64OPgHNwXL+UEJ5e3OdcxaWI5VA+3ah9WWMIQ57dkz52nl+ZTr+qAfL7tzHasWclGiF3ri00AYDxC0T2mFX8ejynNqYVR8m/gIXjbosPhfTRkRJGCJyW55w7JE9GGFcq82/McwPLCDB0KIF1d0AuUzaEWwGEawoGWnf7L2pzAUw8x9in/53FlpRbHSUj5/ViUHvvZReKf8Qkwl8RC9MSpMXoqDuYpf/eJdv3ax86aod8NGdRv4ih9O8Zi54r9VGpipo6AhjGI2U6tdFtmMI6v9x1r9VEHPitbL9G6twadTAOjOn2h7xo15VGnVajGLYwp0IqFE47kQFd+o+OgCp9qv0fwHUkNZpUdy5XQEmLCTbgztc1rmMhLOFpOnhqztx2kyJjH7Yp5Sz9BmPCirOQo8GVOGYFzaDgkgWZIJv8I6eXYrGKsv5iEcwkdzqiJz+zaNeJTST8bb8ahtOdI0lum+rM+uuSaGnz0uVUtZzSWjT4EBw54xKGwEFFCasvq0gARQzoMi+mFsj0tv7NklFxUQ3sVFmCqgeWhL0WqKZKImsheNERv74SIss9+hcyx2gnWFdmbI1cjaNtNx4gpprQi+oSI46zAW0DrluKs8HBPBWZuoyX64qAEgGqE5Y5Iu+agbRCRwm04QqNNVUfN38sP0gXi4XSvu5CufEf/2LV6j8uYAWJt6cJjQPaQyo74CSBxTwzG26u2btA15szHR67alNBgrNk+SZvcObYwHuLqApmA77B+xmAMgdtrJqb5OZSPXwiAAYQ5Tvptf+Sj3U/zaacpzaB/yH50PpAcYE9LC8Ti1sEkoWwLmwBRPntokcb8VjI07c+ZoIDKlFvYY9HIhL+D5MdURcNE+5Fh+oA0laCE3+Zgt6fEtIWCa/IgbEE0aqAqRRb5E98PqeYFfJyie3uaGQZMGqkL0PsQOuo80OlG859dV4N0QzxHpDeDAQIle9XRV2/kFQHvSmoKP0bRW8uLiCSAq4D1ZevWhyfJ4Meu2dPTd7vO59c9zDlSFLd/QoPkw+WPASoZUrrTeRxHHUKu2fTUQlaVVrprbGJnxVsy6Jp/6ymepzwGopQYqHqSJBdFDmtjt/qEFHj42UVJ997sGBhBMuh7EkOABk1AAdjWIGuABj5ZzIArZCapN88MI6WPRnj6v77FBRH0KOmztfQ0NICqjISO3eKgbXBz0QRc8iYUdTZ17+ZI2p89+prQEpiOzVUfga79HMn3tfVc19BzoJjCMC8tmjov586WPywhVdYass/+RAKiYSm00xKGOdXVgKGilSe2oKbnbuUYKoBKk9uDBPp5h9PUPXlBp6V5puNJiqFE1T5DWRbpAEguACqz0NTI+4FQfYwVQNSI/BS/M7Zy+oU82POb9FhgHPv8/Ba/Ac15JK0dNJkYJzPUE5qAzX+tZiBJZ1AvyiAqdsoh6mPrJlIgGegmAlR68bmua9Mao+nMYjP5EBmOFJk0lkCQfzgGW9ecw6J7R8bwkAZMy2P77H1JgF4wqWUkFAAAAAElFTkSuQmCC\";\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","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 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","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;","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,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAXpSURBVHgB7Z1/TuNGFMffs72r/a9BWtI6BJGcoOEEm5yg5QSlJyh7gg03WE6w2RN0ewK4wbInSFb8sERa4T+KFJLYr/MSoiIEju34mZkwHwkREQuc+c6bN+/HGACLxWKxWCzPAoKhnJ9ftRzPfcevkZy/fH9jAAZipABB8M+HGOLu/Z85AF3f3zwEwzBOgPPgah8BPz32HlL0vlb76SMYhHECXATDvvrWeOLtcDzyms3mRgiG4IBB8OyHpwefqbx5E/0CBmGUAGrp+bDsmhjpAAzCGAFSzP45BK2zYNgGQzBGAAfwt7TXugBLLUUXjBDg7GzYJoB22uv5WlOswAgB0KF9yIgpVqD9NjQIrhsxTPuQA3Jpt16tnoLGaG8BUTzpQk4wcv4AzdHaAlaZ/XdoH5hpbQGrzP47Kt7rsdZxgbYWcDf7jyHN3j8Zra1AWwuIYNKG1Qef0doKtLWAJUm3rIRb/uYGaIiWFpA67ZCeShD8nTqSLhMtBUiTdMsKQfZgrgy0E0Bg9s/QNT2hnQBZkm5Z0TE9oZUAWZNuWdHRCrQSIE/SLSu6WYE2AnCnAzoovlNhKwiCoTYiPEsc0O9fq9rtqDKZOC3vtbcDFP8qufQ8hvrgJ8rkvkST+BsihZPJq8FzRMsiAgRB0Igit6JecvPUD9E0aroe7lCsdjeIDTUPK6AlGALRABHCKKJvruf2p+Ppd0Qn9LzpwPf9ARRMZgHuz17HwQohNdT3HbV3b9B8+9iA9WagBm2g4opBHNN3JByQ+mIrqtez1x5SCcB7c94eEmBL39mrCxgi0KmakD3ff/t56dXLLnisDdCSjjTtkokC8L7c8eAYLLmJATrb/ubJU+8nb0OduA2W1YiTxzBZAES73q8KJY/hMgG+gGUlHM9JXMKXOuHLYHhcdpC0NhCdbtWqu0mXLE1F3I68PRW/a91boyVq8Me3N51ll6UOxFQs0EOQz9WsAypI+zwZ3Rw0m82lqY1MkfDZ5fCjg6B9s9NzEhMdbdeqqZsAMmVDt2ubB2pfa9w5rLJQAethlsFnciXjVFGj6xjUAl4Gs8H3f+xCRnJnQ60I/0NE7+u1aq7DgSulo5NOLL4UlMP9ve5Xe5CTlesBXGNVlvCnevnSouZQ+cO9pDxPGgopyJxfXbUwYhGwAS+DkFzqFHH2oLCKGFfBYnCP118EGjgQdYqqjhVaklx/EYodfKbwmvD6ilD84DOFt6XwDY5Hr3bXKn/EeZ3Rza5EUV6kL4jbO8a3XgcRjE9no0rJc1ItTV4n1+8HYUxO4nFSTe3x90GQUhqzLi6HX9VfaoFR0GDLrzZBmFJaE3kmgWEQxUdQAuUIEKFxDpnQLeWeSxEAPWqAYVBUzj2XYwFk2vo/c46l3HMpAriIP4NhOB6+gxIoyQkb2FVB5TQZiwvAz/cEM6lwlheEkbcA17z1f0E8BvMFMNEBLyjDEYsLYKIDXlCGI5a3AJPbGktwxKICGOyAF1S4vgGCiAoQo9MAw5lEbhsEERUA0fwDHtKOWFQAkx3wAteV/QyiAhCYuwVdQKZawJ0DlmzWUiVC6sGs7EkDkEPUEXsgBDtgl+dP8XBH2tG2v9m9/8N5myT3qmIDCubOEfdAADELkHDA3Bo/Hv3bfDj4DPdnctsIxcVX3yQdsZgARTpgZUcnDkxnA5/UncBtI/Wt6j5fW6QQko5YrCh/EQyvYUUfwAOvvg7zNsDOG4fpUwHLkthTF0UEYAeMLn6F3HAXmtNN86yFVPdTgH9gqzKmMWuFCDicr/Pchfa2sCWE/QO3mMyPV+XbMUlFxCIC5HHAfLht4WClutD4d+d11FKOWEYASv9Im9k679IuH26TGvj7SDnqvMgsQeAu7wklOuUnidT9zc5z/JOFhRBRjHtpliXPdVbwaU8jtwt6uh0xJKLDvIfapEh01CkeOZAXsTiAu6MfmHi4CKR0G3yGHTW31T9w1GpJxF6aRw5ojXRRQwK+536//9IOHlosFovFYrFYLBaLxWKxWAT5DweGZdFhP7zYAAAAAElFTkSuQmCC\";\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","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;","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 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 (selected ? \" selected\" : \"\"),\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) => (p.$size === \"large\" ? 32 : p.$size === \"medium\" ? 24 : 20)}px;\n padding: ${(p) => (p.$size === \"large\" ? 4 : 3)}px 12px;\n background-color: ${(p) => (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\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[200]};\n color: ${(p) => p.$theme.palette.primary[800]};\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) => (p.$selected ? p.$theme.palette.neutral[700] : p.$theme.palette.neutral[100])};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n color: ${(p) => p.$theme.textColor};\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 &.selected {\n }\n`;\n\nexport default Chip;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_FloatingButtonProps\n extends Omit<React.HTMLAttributes<HTMLButtonElement>, \"style\"> {\n style?: \"Primary-Neutral\" | \"Primary-Brand\" | \"Secondary-Solid\";\n iconOnly?: boolean;\n size?: \"small\" | \"large\";\n selected?: boolean;\n onColor?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n leadIcon?: React.ReactNode;\n}\n\nconst FloatingButton: React.FC<DGA_FloatingButtonProps> = ({\n size = \"large\",\n style = \"Primary-Neutral\",\n onColor = false,\n selected = false,\n disabled = false,\n iconOnly = false,\n children,\n leadIcon,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $iconOnly={iconOnly}\n $selected={selected}\n className={mergeStrings(\n \"dgaui dgaui_floatingButton\" +\n (style === \"Primary-Brand\" ? \" primaryBrand\" : \"\") +\n (style === \"Secondary-Solid\" ? \" secondarySolid\" : \"\") +\n (disabled ? \" disabled\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n {...props}\n >\n {leadIcon && <div className=\"leadIcon\">{leadIcon}</div>}\n {children && !iconOnly && <div>{children}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.button<{\n $size: \"small\" | \"large\";\n $theme: Theme;\n $selected: boolean;\n $iconOnly: boolean;\n}>`\n direction: ${(p) => p.$theme.direction};\n height: ${(p) => (p.$size === \"large\" ? 64 : 56)}px;\n width: ${(p) =>\n p.$iconOnly ? (p.$size === \"large\" ? \"64px\" : \"56px\") : \"initial\"};\n padding: ${(p) => (p.$size === \"large\" ? 20 : 16)}px;\n cursor: pointer;\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: ${(p) => (p.$size === \"large\" ? 14 : 12)}px;\n border-radius: 9999px;\n position: relative;\n outline: none;\n border: none;\n justify-content: ${(p) => (p.$iconOnly ? \"center\" : \"flex-start\")};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[700]\n : p.$theme.palette.neutral[950]};\n color: ${COLORS.white};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[800]};\n }\n\n &:focus {\n &:after {\n display: block;\n content: \"\";\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n border: 3px solid #000;\n border-radius: 9999px;\n position: absolute;\n top: -5px;\n left: -5px;\n z-index: 1;\n }\n }\n\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[600]};\n\n &:after {\n display: none;\n }\n }\n\n .leadIcon {\n margin-inline-end: ${(p) => (p.$iconOnly ? \"initial\" : \"12px\")};\n }\n\n &.primaryBrand {\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[500]\n : p.$theme.palette.primary[600]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[700]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[900]};\n }\n }\n\n &.secondarySolid {\n color: ${(p) => p.$theme.textColor};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.neutral[200]\n : p.$theme.palette.neutral[100]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n }\n }\n\n &.disabled {\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n color: ${(p) => p.$theme.palette.neutral[400]};\n pointer-events: none;\n }\n\n &.onColor {\n background-color: ${(p) => (p.$selected ? COLORS.white70 : COLORS.white)};\n color: ${(p) => p.$theme.textColor};\n\n &:hover {\n background-color: ${COLORS.white80};\n }\n &:active {\n background-color: ${COLORS.white60};\n }\n\n &:focus {\n &:after {\n border-color: #fff;\n }\n }\n\n &.primaryBrand {\n color: ${COLORS.white};\n background-color: ${(p) =>\n p.$selected\n ? p.$theme.palette.primary[700]\n : p.$theme.palette.primary[600]};\n\n &:hover {\n background-color: ${(p) => p.$theme.palette.primary[700]};\n }\n &:active {\n background-color: ${(p) => p.$theme.palette.primary[900]};\n }\n }\n\n &.secondarySolid {\n color: ${COLORS.white};\n background-color: ${(p) =>\n p.$selected ? COLORS.white30 : COLORS.white20};\n\n &:hover {\n background-color: ${COLORS.white20};\n }\n &:focus {\n background-color: transparent;\n }\n &:active {\n background-color: ${COLORS.white40};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white20};\n color: ${COLORS.white40};\n }\n }\n`;\n\nexport default FloatingButton;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { COLORS } from \"../../lib/constants\";\n\ntype RadialStepperSize = \"40px\" | \"48px\" | \"64px\" | \"80px\" | \"120px\";\n\nconst sizes = {\n \"40px\": {\n borderWidth: 2,\n width: 40,\n circleRadius: 2,\n magicNumber: 118,\n stepNameFontSize: 12,\n descriptionFontSize: 10,\n innerCircleFontSize: 9,\n },\n \"48px\": {\n borderWidth: 4,\n width: 48,\n circleRadius: 4,\n magicNumber: 136,\n stepNameFontSize: 14,\n descriptionFontSize: 12,\n innerCircleFontSize: 10.5,\n },\n \"64px\": {\n borderWidth: 5,\n width: 64,\n circleRadius: 5,\n magicNumber: 185,\n stepNameFontSize: 14,\n descriptionFontSize: 12,\n innerCircleFontSize: 14,\n },\n \"80px\": {\n borderWidth: 8,\n width: 80,\n circleRadius: 8,\n magicNumber: 225,\n stepNameFontSize: 16,\n descriptionFontSize: 14,\n innerCircleFontSize: 16,\n },\n \"120px\": {\n borderWidth: 10,\n width: 120,\n circleRadius: 10,\n magicNumber: 340,\n stepNameFontSize: 20,\n descriptionFontSize: 14,\n innerCircleFontSize: 24,\n },\n};\n\ninterface DGA_RadialStepperProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n size?: RadialStepperSize;\n style?: \"primary\" | \"neutral\";\n onColor?: boolean;\n stepsCount: number;\n activeStep: number;\n innerCircleText?: React.ReactNode;\n description?: React.ReactNode;\n preStepName?: React.ReactNode;\n stepName?: React.ReactNode;\n nextStepName?: React.ReactNode;\n}\n\nconst RadialStepper: React.FC<DGA_RadialStepperProps> = ({\n size = \"64px\",\n style = \"primary\",\n onColor = false,\n stepsCount,\n activeStep,\n innerCircleText,\n description,\n preStepName,\n stepName,\n nextStepName,\n ...props\n}) => {\n const theme = useTheme();\n\n const circleRadius = sizes[size].circleRadius;\n\n return (\n <StyledComponent\n $size={size}\n $circleRadius={circleRadius}\n $theme={theme}\n className={mergeStrings(\n \"dgaui dgaui_radialStepper\" +\n (style === \"neutral\" ? \" neutral\" : \"\") +\n (onColor ? \" onColor\" : \"\"),\n props.className\n )}\n {...props}\n $stepsCount={stepsCount}\n $activeStep={activeStep}\n >\n <div className=\"dgaui dgaui_circle\">\n <div className=\"innerCircleText\">{innerCircleText}</div>\n <svg\n className=\"dgaui_circle-svg\"\n width={sizes[size].width}\n height={sizes[size].width}\n >\n <circle\n className=\"dgaui_circle-path\"\n cx={sizes[size].width / 2}\n cy={sizes[size].width / 2}\n r={sizes[size].width / 2 - circleRadius / 2}\n strokeWidth={sizes[size].borderWidth}\n />\n </svg>\n </div>\n <div className=\"dgaui_content\">\n <div className=\"preStepName\">{preStepName}</div>\n <div className=\"stepName\">{stepName}</div>\n <div className=\"description\">{description}</div>\n <div className=\"nextStepName\">{nextStepName}</div>\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $size: RadialStepperSize;\n $circleRadius: number;\n $theme: Theme;\n $stepsCount: number;\n $activeStep: number;\n $innerCircleTextWidth?: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n display: flex;\n align-items: center;\n\n .dgaui_circle {\n position: relative;\n width: ${(p) => p.$size};\n height: ${(p) => p.$size};\n border: ${(p) => sizes[p.$size].borderWidth}px solid\n ${(p) => p.$theme.palette.neutral[200]};\n border-radius: 50%;\n\n .dgaui_circle-svg {\n border-radius: 50%;\n position: absolute;\n top: -${(p) => p.$circleRadius}px;\n left: -${(p) => p.$circleRadius}px;\n transform: rotate(-90deg); /* Start animation from the top */\n }\n\n .dgaui_circle-path {\n fill: none;\n stroke: ${(p) => p.$theme.palette.primary[600]};\n stroke-width: ${(p) => sizes[p.$size].borderWidth}px;\n stroke-linecap: round;\n stroke-dasharray: ${(p) => sizes[p.$size].magicNumber};\n stroke-dashoffset: -${(p) => sizes[p.$size].magicNumber - (sizes[p.$size].magicNumber / p.$stepsCount) * p.$activeStep};\n transition: stroke-dashoffset 0.5s;\n }\n\n .innerCircleText {\n text-align: ${(p) => p.$theme.direction === 'ltr' ? 'left' : 'right'};\n font-weight: 500;\n position: absolute;\n z-index: 1;\n top: 35%;\n justify-self: center;\n font-size: ${(p) => sizes[p.$size].innerCircleFontSize}px;\n }\n }\n\n .dgaui_content {\n margin-inline-start: 8px;\n padding: 8px;\n\n .preStepName {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n .stepName {\n color: ${(p) => p.$theme.palette.neutral[950]};\n font-size: ${(p) => sizes[p.$size].stepNameFontSize};\n font-weight: 500;\n }\n .description {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n .nextStepName {\n color: ${(p) => p.$theme.palette.neutral[500]};\n font-size: ${(p) => sizes[p.$size].descriptionFontSize};\n }\n }\n\n &.neutral {\n .dgaui_circle {\n .dgaui_circle-path {\n stroke: ${(p) => p.$theme.textColor};\n }\n }\n }\n\n &.onColor {\n color: ${COLORS.white};\n .dgaui_circle {\n border-color: ${COLORS.white30};\n .dgaui_circle-path {\n stroke: ${COLORS.white};\n }\n }\n\n .dgaui_content {\n .preStepName {\n color: ${COLORS.white70};\n }\n .stepName {\n color: ${COLORS.white};\n }\n .description {\n color: ${COLORS.white80};\n }\n .nextStepName {\n color: ${COLORS.white70};\n }\n }\n }\n`;\n\nexport default RadialStepper;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\n\nexport interface DGA_ProgressBarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: Size;\n percentage?: number;\n error?: boolean;\n success?: boolean;\n style?: \"primary\" | \"neutral\";\n}\n\nconst ProgressBar: React.FC<DGA_ProgressBarProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n style = \"primary\",\n percentage = 0,\n error = false,\n success = false,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $error={error}\n $success={success}\n $style={style}\n className={mergeStrings(\n \"dgaui dgaui_progressBar\" + (style === \"neutral\" ? \" neutral \" : \"\"),\n props.className\n )}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"dgaui indicator\" />\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: Size;\n $percentage: number;\n $error?: boolean;\n $success?: boolean;\n $style?: \"primary\" | \"neutral\";\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .indicator {\n margin: 8px 0;\n height: ${(p) =>\n p.$size === \"large\" ? 16 : p.$size === \"medium\" ? 8 : 4}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: ${(p) => (p.$size === \"large\" ? 8 : 4)}px;\n position: relative;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n inset-inline-start: 0;\n z-index: 1;\n transition: width 0.2s;\n border-radius: ${(p) => (p.$size === \"large\" ? 8 : 4)}px;\n height: ${(p) =>\n p.$size === \"large\" ? 16 : p.$size === \"medium\" ? 8 : 4}px;\n background-color: ${(p) =>\n p.$success\n ? p.$theme.palette.success[600]\n : p.$error\n ? p.$theme.palette.error[600]\n : p.$style === \"primary\"\n ? p.$theme.palette.primary[600]\n : p.$theme.palette.neutral[700]};\n width: ${(p) => (p.$percentage <= 100 ? p.$percentage : 100)}%;\n }\n\n &::after {\n position: absolute;\n z-index: 2;\n color: #fff;\n font-size: 12px;\n transition: left 0.2s;\n top: -1px;\n inset-inline-start: calc(\n ${(p) => ((p.$percentage <= 100 ? p.$percentage : 100) + \"%\")} -\n ${(p) => (p.$percentage < 100 ? 30 : 40)}px\n );\n display: ${(p) =>\n p.$percentage >= 10 && p.$size === \"large\" ? \"block\" : \"none\"};\n content: \"${(p) => Math.min(p.$percentage, 100)}%\";\n }\n }\n .helperText {\n color: ${(p) =>\n p.$success\n ? p.$theme.palette.success[700]\n : p.$error\n ? p.$theme.palette.error[700]\n : \"initial\"};\n }\n`;\n\nexport default ProgressBar;\n","import React from \"react\";\nimport TextInput, { DGA_TextInputProps, Style } from \"../TextInput\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport plusIcon from \"./plus.png\";\nimport minusIcon from \"./minus.png\";\n\ntype PrefixSuffixStyle = \"plus\" | \"minus\";\n\nexport interface DGA_NumberInputProps extends Omit<DGA_TextInputProps, \"icon\"> {\n prefixType?: PrefixSuffixStyle;\n suffixType?: PrefixSuffixStyle;\n}\n\nconst plusIconJsx = <img src={plusIcon} style={{ width: 17.5 }} />;\nconst minusIconJsx = <img src={minusIcon} style={{ width: 17.5 }} />;\n\nconst NumberInput = React.forwardRef<HTMLInputElement, DGA_NumberInputProps>(\n ({ prefixType = \"plus\", suffixType = \"minus\", ...props }, ref) => {\n return (\n <StyledComponent\n className={mergeStrings(\"dgaui dgaui_numberInput\", props.className)}\n ref={ref}\n prefix={prefixType === \"plus\" ? plusIconJsx : minusIconJsx}\n suffix={suffixType === \"plus\" ? plusIconJsx : minusIconJsx}\n prefixStyle={\n props.prefixStyle\n ? props.prefixStyle\n : props.style === \"filledLighter\"\n ? \"subtle\"\n : undefined\n }\n suffixStyle={\n props.suffixStyle\n ? props.suffixStyle\n : props.style === \"filledLighter\"\n ? \"subtle\"\n : undefined\n }\n {...props}\n onWheel={(e) => {\n (e.target as any).blur();\n }}\n type=\"number\"\n pattern=\"[0-9]*\"\n inputMode=\"numeric\"\n onKeyDown={(e) => {\n (e.key === \"e\" || e.key === \"E\") && e.preventDefault();\n props.onKeyDown?.(e);\n }}\n />\n );\n }\n);\n\nconst StyledComponent = styled(TextInput)`\n input[type=\"number\"] {\n appearance: textfield;\n -moz-appearance: textfield;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n }\n\n .prefix,\n .suffix {\n cursor: pointer;\n }\n\n img {\n user-select: none;\n }\n\n &:has(input:disabled) {\n .prefix,\n .suffix {\n pointer-events: none;\n }\n img {\n filter: brightness(8);\n }\n }\n`;\n\nexport default NumberInput;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC4SURBVHgB7dhBCsIwEIXhiS6zTtZ6Ao+gN7FH8SbiTfQInqDus882zkiFrHxoApbyPmiZTcsPpXToWjoIIQze+13O+S7/ZjExxmKHzkdptJJGzrlNNW+lUXNQbwxCGIQwCGEQwiCEQYizk60Q9Vf7G6WUvV57mOarzjf5gV47ppQuboo5ywxo1MBH9uE+r0cmrXR1Pb1XWJulEV97hEEIgxAGIQxCGIQsL0jXhkc1jzIHtk/1+HtmniG3OoMZpqw2AAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAECAYAAADmrJ2uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA9SURBVHgBzdHBDQAgCAPA1rgCf0dzM+NkDsAQCAk7wD36blrCicgmuVDIzJ6q3pllDop5hxgGA80wotNlHyEREYxNANeWAAAAAElFTkSuQmCC\";\n export default img;","import React from \"react\";\n\nconst useScreenDimensions = () => {\n const [screenDimentions, setScreenDimentions] = React.useState({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n React.useEffect(() => {\n const windowResizeHandler = () => {};\n window.addEventListener(\"resize\", () => {\n setScreenDimentions({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n });\n\n return () => {\n window.removeEventListener(\"resize\", windowResizeHandler);\n };\n }, []);\n\n return screenDimentions;\n};\n\nexport default useScreenDimensions;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenDimensions from \"../../lib/hooks/useScreenDimensions\";\n\ntype SliderSize = \"small\" | \"medium\";\n\nexport interface DGA_SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: SliderSize;\n percentage?: number;\n onChnage?: Function;\n}\n\nconst NormalSlider: React.FC<DGA_SliderProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n percentage = 0,\n onChnage,\n ...props\n}) => {\n const theme = useTheme();\n const screenDimensions = useScreenDimensions();\n\n const sliderBaseRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef = React.useRef<HTMLDivElement>(null);\n const [isMoving, setIsMoving] = React.useState(false);\n const [currentX, setCurrentX] = React.useState(0);\n const [canMoveFromTo, setCanMoveFromTo] = React.useState([0, 0]);\n\n const indicatorWidth = size === \"medium\" ? 16 : 12;\n\n React.useEffect(() => {\n const percentageResult = ((currentX - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n\n const result = Math.round(percentageResult);\n onChnage?.(result);\n }, [currentX, canMoveFromTo]);\n\n React.useEffect(() => {\n if (sliderBaseRef.current && sliderIndicatorRef.current) {\n const sliderRect = sliderBaseRef.current.getBoundingClientRect();\n const indicatorRect = sliderIndicatorRef.current.getBoundingClientRect();\n\n setCanMoveFromTo([sliderRect.left, sliderRect.right]);\n setCurrentX(indicatorRect.x + indicatorWidth / 2);\n }\n }, [sliderBaseRef, sliderIndicatorRef, screenDimensions]);\n\n React.useEffect(() => {\n if (isMoving) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const newClientX = e.clientX;\n\n console.log(\"newClientX a\", newClientX);\n if (newClientX > canMoveFromTo[0] && newClientX < canMoveFromTo[1]) {\n setCurrentX(newClientX);\n }\n\n if (newClientX <= canMoveFromTo[0]) {\n setCurrentX(canMoveFromTo[0]);\n }\n if (newClientX >= canMoveFromTo[1]) {\n setCurrentX(canMoveFromTo[1]);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving, screenDimensions, window.innerWidth]);\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $indicatorWidth={indicatorWidth}\n className={mergeStrings(\"dgaui dgaui_slider\", props.className)}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"sliderBaseContent\">\n <div className=\"dgaui sliderBase\" ref={sliderBaseRef}>\n <div\n ref={sliderIndicatorRef}\n className=\"dgaui sliderIndicator\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving(true);\n }}\n />\n </div>\n <div className=\"dgaui_percentageText\">{percentage}</div>\n </div>\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: SliderSize;\n $percentage: number;\n $indicatorWidth: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .sliderBaseContent {\n display: flex;\n align-items: center;\n }\n\n .dgaui_percentageText {\n min-width: 40px;\n text-align: center;\n }\n\n .sliderBase {\n flex: 1;\n margin: 8px 0;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: 4px;\n position: relative;\n margin-inline-end: 12px;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n left: 0;\n z-index: 1;\n border-radius: 4px;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n width: ${(p) => (p.$percentage <= 100 ? p.$percentage : 100)}%;\n }\n\n .sliderIndicator {\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\n width: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n height: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n border-radius: 100%;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n position: absolute;\n cursor: pointer;\n z-index: 1;\n top: calc(50% - ${(p) => p.$indicatorWidth / 2}px);\n ${(p) => `\n left: calc(\n ${p.$percentage <= 100 ? p.$percentage : 100}% - ${p.$indicatorWidth / 2}px\n );\n `}\n\n &:active {\n cursor: grabbing;\n }\n }\n }\n`;\n\nexport default NormalSlider;\n","import React from \"react\";\nimport useTheme from \"../../lib/useTheme\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport useScreenDimensions from \"../../lib/hooks/useScreenDimensions\";\n\ntype SliderSize = \"small\" | \"medium\";\n\nexport interface DGA_SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n label?: React.ReactNode;\n helperText?: React.ReactNode;\n size?: SliderSize;\n percentage: [number, number];\n onChnage?: Function;\n}\n\nconst RangeSlider: React.FC<DGA_SliderProps> = ({\n label = \"\",\n helperText = \"\",\n size = \"medium\",\n percentage = [0, 0],\n onChnage,\n ...props\n}) => {\n const theme = useTheme();\n const screenDimensions = useScreenDimensions();\n\n const sliderBaseRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef = React.useRef<HTMLDivElement>(null);\n const sliderIndicatorRef2 = React.useRef<HTMLDivElement>(null);\n const [isMoving1, setIsMoving1] = React.useState(false);\n const [isMoving2, setIsMoving2] = React.useState(false);\n const [currentX1, setCurrentX1] = React.useState(0);\n const [currentX2, setCurrentX2] = React.useState(0);\n const [canMoveFromTo, setCanMoveFromTo] = React.useState([0, 0]);\n\n const indicatorWidth = size === \"medium\" ? 16 : 12;\n\n React.useEffect(() => {\n const percentage0 = ((currentX1 - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n const percentageResult = [Math.round(percentage0), percentage[1]];\n\n onChnage?.(percentageResult);\n }, [currentX1, canMoveFromTo]);\n\n React.useEffect(() => {\n const percentage1 = ((currentX2 - canMoveFromTo[0]) * 100) / (canMoveFromTo[1] - canMoveFromTo[0]);\n const percentageResult = [percentage[0], Math.round(percentage1)];\n\n onChnage?.(percentageResult);\n }, [currentX2, canMoveFromTo]);\n\n // Set restrictions\n React.useEffect(() => {\n if (sliderBaseRef.current && sliderIndicatorRef.current && sliderIndicatorRef2.current) {\n const sliderRect = sliderBaseRef.current.getBoundingClientRect();\n const indicatorRect = sliderIndicatorRef.current.getBoundingClientRect();\n const indicatorRect2 = sliderIndicatorRef2.current.getBoundingClientRect();\n\n setCanMoveFromTo([sliderRect.left, sliderRect.right]);\n setCurrentX1(indicatorRect.x + indicatorWidth / 2);\n setCurrentX2(indicatorRect2.x + indicatorWidth / 2);\n }\n }, [sliderBaseRef, sliderIndicatorRef, sliderIndicatorRef2, screenDimensions]);\n\n // Track indicator start movements\n React.useEffect(() => {\n if (isMoving1) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const indicatorRect2 = sliderIndicatorRef2.current?.getBoundingClientRect()!;\n const newClientX = e.clientX;\n\n if (newClientX > canMoveFromTo[0] && newClientX < indicatorRect2.left + indicatorWidth / 2) {\n setCurrentX1(newClientX);\n }\n\n if (newClientX <= canMoveFromTo[0]) {\n setCurrentX1(canMoveFromTo[0]);\n }\n if (newClientX >= indicatorRect2.left + indicatorWidth / 2) {\n setCurrentX1(indicatorRect2.left + indicatorWidth / 2);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving1(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving1, screenDimensions]);\n\n // Track indicator end movements\n React.useEffect(() => {\n if (isMoving2) {\n const mouseMoveHandler = (e: MouseEvent) => {\n const indicatorRect = sliderIndicatorRef.current?.getBoundingClientRect()!;\n const newClientX = e.clientX;\n\n if (newClientX > indicatorRect.left + indicatorWidth / 2 && newClientX < canMoveFromTo[1]) {\n setCurrentX2(newClientX);\n }\n if (newClientX <= indicatorRect.left + indicatorWidth / 2) {\n setCurrentX2(indicatorRect.left + indicatorWidth / 2);\n }\n if (newClientX >= canMoveFromTo[1]) {\n setCurrentX2(canMoveFromTo[1]);\n }\n };\n\n const mouseUpHandler = () => {\n document.getElementsByTagName(\"body\")[0].classList.remove(\"dgauiDragging\");\n setIsMoving2(false);\n };\n\n window.addEventListener(\"mousemove\", mouseMoveHandler);\n window.addEventListener(\"mouseup\", mouseUpHandler);\n\n return () => {\n window.removeEventListener(\"mousemove\", mouseMoveHandler);\n window.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n }\n }, [isMoving2, screenDimensions]);\n\n return (\n <StyledComponent\n $size={size}\n $theme={theme}\n $percentage={percentage}\n $indicatorWidth={indicatorWidth}\n className={mergeStrings(\"dgaui dgaui_rangeSlider\", props.className)}\n {...props}\n >\n {label && <label>{label}</label>}\n <div className=\"dgaui_rangeSliderContainer\">\n <div className=\"dgaui_percentageText\">{percentage[0]}</div>\n <div className=\"sliderBaseContent\">\n <div className=\"dgaui sliderBase\" ref={sliderBaseRef}>\n <div\n ref={sliderIndicatorRef}\n className=\"dgaui sliderIndicator\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving1(true);\n }}\n />\n <div\n ref={sliderIndicatorRef2}\n className=\"dgaui sliderIndicator end\"\n onMouseDown={() => {\n document.getElementsByTagName(\"body\")[0].classList.add(\"dgauiDragging\");\n setIsMoving2(true);\n }}\n />\n </div>\n </div>\n <div className=\"dgaui_percentageText\">{percentage[1]}</div>\n </div>\n {helperText && <div className=\"helperText\">{helperText}</div>}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $size: SliderSize;\n $percentage: [number, number];\n $indicatorWidth: number;\n}>`\n direction: ${(p) => p.$theme.direction};\n width: 100%;\n\n .dgaui_rangeSliderContainer {\n direction: ltr;\n display: flex;\n align-items: center;\n }\n\n .sliderBaseContent {\n flex: 1;\n display: flex;\n align-items: center;\n }\n\n .dgaui_percentageText {\n min-width: 40px;\n text-align: center;\n }\n\n .sliderBase {\n flex: 1;\n margin: 8px 0;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n border-radius: 4px;\n position: relative;\n margin-inline-end: 12px;\n margin-inline-start: 12px;\n\n &::before {\n position: absolute;\n display: block;\n content: \"\";\n top: 0;\n z-index: 1;\n border-radius: 4px;\n height: ${(p) => (p.$size === \"medium\" ? 8 : 4)}px;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n width: ${(p) => p.$percentage[1] - +p.$percentage[0]}%;\n left: ${(p) => p.$percentage[0]}%;\n }\n\n .sliderIndicator {\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\n width: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n height: ${(p) => (p.$size === \"medium\" ? 16 : 12)}px;\n border-radius: 100%;\n background-color: ${(p) => p.$theme.palette.primary[600]};\n position: absolute;\n cursor: pointer;\n z-index: ${(p) => (p.$percentage[0] === 100 ? 3 : 1)};\n top: calc(50% - ${(p) => p.$indicatorWidth / 2}px);\n left: calc(${(p) => p.$percentage[0]}% - ${(p) => p.$indicatorWidth / 2}px);\n\n &:active {\n cursor: grabbing;\n }\n\n &.end {\n left: calc(${(p) => p.$percentage[1]}% - ${(p) => p.$indicatorWidth / 2}px);\n z-index: 2;\n }\n }\n }\n`;\n\nexport default RangeSlider;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\ntype Props = {\n size?: \"large\" | \"medium\" | \"small\";\n selected?: boolean;\n onClick: Function;\n};\n\nconst Dot: React.FC<Props> = ({ size = \"large\", selected, onClick }) => {\n const theme = useTheme();\n return (\n <StyledComponent\n $theme={theme}\n className={\"dgaui_carouselDot \" + size + (selected ? \" selected\" : \"\")}\n onClick={() => onClick()}\n />\n );\n};\n\nconst StyledComponent = styled.div<{ $theme: Theme }>`\n background-color: ${(p) => p.$theme.palette.neutral[200]};\n border-radius: 100%;\n margin-inline-end: 8px;\n cursor: pointer;\n\n &.large {\n width: 16px;\n height: 16px;\n }\n &.medium {\n width: 12px;\n height: 12px;\n }\n &.small {\n width: 8px;\n height: 8px;\n }\n &.selected {\n background-color: ${(p) => p.$theme.palette.primary[600]};\n }\n`;\n\nexport default Dot;\n","import React from \"react\";\nimport leftArrowWhiteIcon from \"./arrow-left-white.png\";\nimport leftArrowBlackIcon from \"./arrow-left-black.png\";\nimport Button from \"../Button\";\n\ntype Props = {\n position: \"left\" | \"right\";\n style: \"primary\" | \"subtle\";\n size?: Size;\n onClick: Function;\n};\n\nconst Arrow: React.FC<Props> = ({ position, style, size, onClick }) => {\n return (\n <Button\n iconOnly\n leadIcon={<img src={style === \"primary\" ? leftArrowWhiteIcon : leftArrowBlackIcon} />}\n style={style}\n size={size}\n className={position}\n onClick={() => onClick()}\n />\n );\n};\n\nexport default Arrow;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEDSURBVHgB7djRDYJADAbgH+O7jsAIjIAbuIFuoBvoBjqCG+gGugFu4AiOUNt4RD2OJwjhj/2Shte/oeUuAM4555z7MyKy1lqBjYbOta7y0bmJKQaiYQt9nLVysNHwG2nag4EGPUTBn1olxk5DzqN5N5XtAcYuLGsVhT9ZUxi7EP7BOu+p8FswSIS3ZV2CRSJ8ARaJT2UJFmF0+Ga+ZoG/wl8wsAn6NQMbeZ+4vCNkNPSRdolNeAsV7WfU0B9kRpivErWWJnZg0tKEndbjv07XwmKfoyasqRxMNPA+0UQJJvJ73aDdi0Kae9H5v1Dfd6FWWZbd9bHQuoGdsP5adM4551zkBQszBWdT8Sb1AAAAAElFTkSuQmCC\";\n export default img;","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAITSURBVHgB7Zg9TgJREMeHzwQIcS2AlhtIaQkdJZxAPIF4Az2B3gAprZATAKWVcAK35KvABIghBPxP8tbgBqudWULyfsmGt68g/3k7M29miCwWi8VisZyOGJ2AXC7XyGQyV+v1ekQBiVOIOI5TTCQSrUgkUuZ3GEKz2axNAQjNAIgtQXgHyyIJEqUQgPg7iP+gv+Ifg54+EyFlIP4J4pve+36/X+Cpz+fzPgmgZgD83YG/dzx/Nwyj0Wh9PB67JISKC3GwJpPJnk98e7PZVCTFM+JfwBNPPn+fTqcPpICoAcfE4yvcTyaTZ1JCzAC/eA5WiL/Fyb+RImL3gF88fioQPyRlRAzgVEkHbmPSpLp4JrALGdf5/P1DZZ/3EziNxuPxmreG+G6Y4hnRe2C3211QyAQ2YLvdvnhrvrgKhUKTQiRwP/AN0un0JcRfm61qKpUaoNZ3KQRE7gFT93DpUDJbXLBVUG2qZyKRGFiAWCxWx9I1Ww6M6eXz+RopIxbEXKSh0qzQgRF4OtoxIdoTL5fLRTab7cJ9+OQds11F/0ur1WpACog39f8YUUagO7jw3jnoSRDVhgaCW1gexoHLPQFCxiUh1MYqfNJwm1e4Dx9S2Ww7CPYa0uxIKs2qz4VgRB+Cv5CVqmaLM1RDKi7Um3qPY2MVxEkj6GQilLEKw5cap1mI7tO5w6NFPDdksVgsFovlzPkB3uXHj+IHmZAAAAAASUVORK5CYII=\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport Dot from \"./Dot\";\nimport Arrow from \"./Arrow\";\n\ninterface DGA_CarouselProps {\n style?: \"arrows\" | \"dots\" | \"dotsOnly\";\n dotsSize?: \"large\" | \"medium\" | \"small\";\n content: React.ReactNode[];\n selectedContentIndex?: number;\n className?: string;\n onChange?: (dotIndex: number) => void;\n arrowsSize: Size;\n arrowsStyle: \"primary\" | \"subtle\";\n}\n\nconst Carousel: React.FC<DGA_CarouselProps> = ({\n style = \"dots\",\n selectedContentIndex,\n content,\n dotsSize = \"medium\",\n className,\n onChange,\n arrowsSize = \"medium\",\n arrowsStyle = \"subtle\",\n}) => {\n const theme = useTheme();\n\n const onChangeHandler = (i: number) => {\n onChange?.(i);\n };\n\n React.useEffect(() => {\n if (style !== \"dotsOnly\") {\n const slides = document.querySelectorAll(\".dgaui_carouselSlide\");\n const targetSlide = slides[selectedContentIndex!] as HTMLDivElement;\n const carouselContainer = document.querySelector(\".dgaui_carouselSlides\");\n\n if (targetSlide && carouselContainer) {\n const scrollPosition = targetSlide.offsetLeft;\n\n carouselContainer.scrollTo({\n left: scrollPosition,\n behavior: \"smooth\",\n });\n }\n }\n }, [selectedContentIndex, style]);\n\n // Initially\n React.useEffect(() => {\n if (style !== \"dotsOnly\") {\n const slides = document.querySelectorAll(\".dgaui_carouselSlide\");\n const targetSlide = slides[selectedContentIndex!] as HTMLDivElement;\n const carouselContainer = document.querySelector(\".dgaui_carouselSlides\");\n\n if (targetSlide && carouselContainer) {\n const scrollPosition = targetSlide.offsetLeft;\n\n carouselContainer.scrollTo({\n left: scrollPosition,\n behavior: \"instant\",\n });\n }\n }\n }, []);\n\n return (\n <StyledComponent\n $theme={theme}\n className={mergeStrings(\"dgaui dgaui_carousel\", className)}\n $arrowsSize={arrowsSize}\n $style={style}\n >\n {style !== \"dotsOnly\" && (\n <div className={\"dgaui_carouselSlidesContainer \" + (style === \"arrows\" ? \" arrows\" : \"\")}>\n <div className=\"leftArrow\">\n <Arrow\n position=\"left\"\n style={arrowsStyle}\n size={arrowsSize}\n onClick={() => selectedContentIndex! > 0 && onChange?.(selectedContentIndex! - 1)}\n />\n </div>\n <div className=\"dgaui_carouselSlides\">\n {content.map((el, i) => (\n <div key={i} className=\"dgaui_carouselSlide\">\n {el}\n </div>\n ))}\n </div>\n <div className=\"rightArrow\">\n <Arrow\n position=\"right\"\n style={arrowsStyle}\n size={arrowsSize}\n onClick={() =>\n selectedContentIndex! < content.length - 1 && onChange?.(selectedContentIndex! + 1)\n }\n />\n </div>\n </div>\n )}\n\n {(style === \"dots\" || style === \"dotsOnly\") && (\n <div className=\"dots\">\n {content.map((_, i) => (\n <Dot selected={i === selectedContentIndex} size={dotsSize} onClick={() => onChange?.(i)} />\n ))}\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $arrowsSize: Size;\n $style: \"arrows\" | \"dots\" | \"dotsOnly\";\n}>`\n direction: ${(p) => p.$theme.direction};\n height: 100%;\n width: 100%;\n\n .dgaui_carouselSlidesContainer {\n .leftArrow,\n .rightArrow {\n display: none;\n }\n &.arrows {\n display: flex;\n .dgaui_carouselSlides {\n flex: 1;\n }\n .leftArrow,\n .rightArrow {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .leftArrow {\n margin-right: 44px;\n margin-right: 44px;\n }\n .rightArrow {\n margin-left: 44px;\n }\n }\n }\n\n .dgaui_carouselSlides {\n overflow-x: hidden;\n overscroll-behavior-x: contain; /* Prevents unwanted page scrolling */\n scroll-snap-type: x mandatory; /* Snaps to each slide */\n height: 100%;\n display: block;\n margin-bottom: ${(p) => (p.$style === \"arrows\" ? 0 : 24)}px;\n display: flex;\n\n .dgaui_carouselSlide {\n flex: 0 0 100%;\n width: 100%; /* Fallback for older browsers */\n /* Aligns the snap point to the start of each slide */\n scroll-snap-align: start;\n }\n }\n\n .dots {\n padding: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .dgaui_button {\n border-radius: 9999px;\n border-width: 3px;\n &:focus:after {\n border-radius: 9999px;\n border-width: 2px;\n }\n\n width: ${(p) => (p.$arrowsSize === \"large\" ? 48 : p.$arrowsSize === \"medium\" ? 40 : 32)}px;\n height: ${(p) => (p.$arrowsSize === \"large\" ? 48 : p.$arrowsSize === \"medium\" ? 40 : 32)}px;\n\n .iconOnly {\n img {\n width: ${(p) => (p.$arrowsSize === \"large\" ? 24 : 16)}px;\n height: ${(p) => (p.$arrowsSize === \"large\" ? 24 : 16)}px;\n }\n }\n\n &.right {\n .iconOnly {\n img {\n transform: rotateZ(180deg);\n }\n }\n }\n }\n`;\n\nexport default Carousel;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\n\ninterface DGA_ChipProps extends React.HTMLAttributes<HTMLParagraphElement> {\n size?: \"small\" | \"large\";\n whiteBackground?: boolean;\n title?: string;\n description?: string;\n authorDetails?: {\n name?: string;\n title?: string;\n avatar?: any;\n };\n}\n\nconst Quote: React.FC<DGA_ChipProps> = ({\n size,\n whiteBackground = true,\n title,\n description,\n authorDetails,\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n className={mergeStrings(\n \"dgaui dgaui_quote\" +\n (whiteBackground ? \" whiteBackground\" : \"\") +\n (!authorDetails ? \" noAuthorDetails\" : \"\") +\n ` ${theme.direction} ${size ?? \"\"}`,\n props.className\n )}\n {...props}\n >\n <div className=\"dgaui_quoteTextContainer\">\n <span className=\"dgaui_quoteTitleQuote start\">”</span>\n <span className=\"dgaui_quoteTitleText\">{title}</span>\n <span className=\"dgaui_quoteTitleQuote end\">“</span>\n {description && <div className=\"dgaui_quoteDescription\">{description}</div>}\n </div>\n\n {authorDetails && (\n <div className=\"dgaui_quoteAuthorDetailsContainer\">\n {authorDetails.avatar && (\n <div className=\"dgaui_quoteAuthorDetailsAvatar\">{authorDetails.avatar}</div>\n )}\n <div className=\"dgaui_quoteAuthorDetailsText\">\n <div className=\"dgaui_quoteAuthorDetailsName\">{authorDetails.name}</div>\n <div className=\"dgaui_quoteAuthorDetailsTitle\">{authorDetails.title}</div>\n </div>\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.p<{\n $theme: Theme;\n}>`\n direction: ${(p) => p.$theme.direction};\n border-radius: 16px;\n padding: 20px;\n\n &.small {\n width: 640px;\n }\n &.large {\n width: 846px;\n }\n\n &.whiteBackground {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n }\n\n .dgaui_quoteTextContainer {\n position: relative;\n color: ${(p) => p.$theme.textColor};\n\n margin-inline-start: 64px;\n\n .dgaui_quoteDescription {\n line-height: 30px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n font-weight: 400;\n font-size: 20px;\n margin-top: 16px;\n }\n .dgaui_quoteTitleText {\n font-size: 24px;\n line-height: 32px;\n font-weight: 500;\n }\n .dgaui_quoteTitleQuote {\n color: ${(p) => p.$theme.palette.primary[800]};\n display: block;\n transform: rotateY(180deg);\n position: absolute;\n\n &.start {\n line-height: 0;\n font-size: 128px;\n top: 45px;\n inset-inline-start: -75px;\n }\n &.end {\n line-height: 0;\n font-size: 128px;\n bottom: -56px;\n inset-inline-end: 0;\n }\n }\n }\n\n .dgaui_quoteAuthorDetailsContainer {\n margin-top: 48px;\n display: flex;\n align-items: center;\n\n .dgaui_quoteAuthorDetailsAvatar {\n margin-inline-end: 8px;\n }\n .dgaui_quoteAuthorDetailsText {\n .dgaui_quoteAuthorDetailsName {\n font-size: 20px;\n }\n .dgaui_quoteAuthorDetailsTitle {\n color: ${(p) => p.$theme.textColor};\n margin-top: 8px;\n color: ${(p) => p.$theme.palette.neutral[700]};\n }\n }\n }\n\n &.noAuthorDetails {\n .dgaui_quoteTextContainer {\n .dgaui_quoteDescription {\n margin-inline-end: 64px;\n }\n }\n\n .dgaui_quoteTitleQuote {\n &.end {\n bottom: 20%;\n }\n }\n }\n\n &.rtl {\n .dgaui_quoteTextContainer {\n .dgaui_quoteTitleQuote {\n transform: rotateY(0deg);\n }\n }\n }\n`;\n\nexport default Quote;\n","import React from \"react\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport Button from \"../Button\";\nimport { COLORS } from \"../../lib/constants\";\n\ninterface DGA_SecondNavHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"style\"> {\n style?: \"gray\" | \"primary\";\n items: {\n text: React.ReactNode;\n icon: React.ReactNode;\n }[];\n actions: React.ReactElement<typeof Button>[];\n}\n\nconst SecondNavHeader: React.FC<DGA_SecondNavHeaderProps> = ({\n items,\n actions,\n style = \"gray\",\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <StyledComponent\n $theme={theme}\n $style={style}\n className={mergeStrings(\"dgaui dgaui_secondNavHeader \" + (style ?? \" \"), props.className)}\n {...props}\n >\n <div className=\"dgaui_secondNavHeaderItems\">\n {items.map((item, i) => (\n <div key={i} className=\"dgaui_secondNavHeaderItem\">\n <div className=\"icon\">{item.icon}</div>\n <div className=\"text\">{item.text}</div>\n </div>\n ))}\n </div>\n\n <div className=\"dgaui_secondNavHeaderActions\">\n {actions.map((action, i) => (\n <div key={i} className=\"action\">\n {action}\n </div>\n ))}\n </div>\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n $style: \"gray\" | \"primary\";\n}>`\n direction: ${(p) => p.$theme.direction};\n padding: 0 32px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid ${(p) => (p.$style === \"gray\" ? p.$theme.palette.neutral[300] : COLORS.white30)};\n\n background-color: ${(p) => p.$theme.palette.primary[600]};\n &.gray {\n background-color: ${(p) => p.$theme.palette.neutral[100]};\n }\n\n .dgaui_secondNavHeaderItems {\n display: flex;\n align-items: center;\n\n .dgaui_secondNavHeaderItem {\n color: ${(p) => (p.$style === \"gray\" ? p.$theme.palette.neutral[700] : COLORS.white)};\n\n margin-inline-end: 16px;\n display: flex;\n align-items: center;\n\n .icon {\n margin-inline-end: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .text {\n font-size: 16px;\n white-space: nowrap;\n }\n }\n }\n\n .dgaui_secondNavHeaderActions {\n display: flex;\n align-items: center;\n\n .action {\n margin-inline-start: 4px;\n .dgaui_button {\n padding: 4px;\n }\n }\n }\n`;\n\nexport default SecondNavHeader;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport useTheme from \"../../lib/useTheme\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport copyIcon from \"./copyIcon.png\";\nimport Button from \"../Button\";\nimport TabList from \"../TabList\";\nimport Tab from \"../Tab\";\n\nexport interface DGA_CodeSnippetProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n type: \"singleLine\" | \"multiLine\";\n multiLineItems?: {\n title: React.ReactNode;\n code: string;\n active?: boolean;\n }[];\n onTabClicked?: (index: number, element: any) => void;\n}\n\nconst CodeSnippet: React.FC<DGA_CodeSnippetProps> = ({\n children,\n type = \"singleLine\",\n multiLineItems,\n onTabClicked,\n ...props\n}) => {\n const theme = useTheme();\n const [showCopiedText, setShowCopiedText] = React.useState(false);\n\n const copyHandler = () => {\n setShowCopiedText(true);\n setTimeout(() => {\n setShowCopiedText(false);\n }, 800);\n\n if (navigator.clipboard) {\n const text = document.getElementById(\"dgaui_codeSnippetText\")?.innerText;\n navigator.clipboard.writeText(text!);\n }\n };\n\n const activeCode = React.useMemo(() => {\n let result = [\"\"];\n if (multiLineItems) {\n const newActiveCode = multiLineItems.find((el) => el.active)?.code || \"\";\n result = newActiveCode.split(\"\\n\");\n }\n\n return result;\n }, [multiLineItems]);\n\n const copyButton = (\n <Button\n iconOnly\n leadIcon={showCopiedText ? \"copied!\" : <img src={copyIcon} width={20} />}\n size=\"medium\"\n style=\"subtle\"\n buttonStyle={{ padding: 4 }}\n onClick={copyHandler}\n />\n );\n\n return (\n <StyledComponent\n {...props}\n className={mergeStrings(\"dgaui dgaui_codeSnippet \" + type, props.className)}\n $theme={theme}\n >\n {type === \"singleLine\" && (\n <div className=\"singleLine\">\n <div className=\"content\" id=\"dgaui_codeSnippetText\">\n {children}\n </div>\n <div className=\"copyIcon\">{copyButton}</div>\n </div>\n )}\n\n {type === \"multiLine\" && multiLineItems && (\n <div className=\"multiLine\">\n <TabList>\n {multiLineItems.map((el, i) => (\n <Tab selected={el.active} onClick={() => onTabClicked?.(i, el)}>\n {el.title}\n </Tab>\n ))}\n </TabList>\n <div className=\"content\">\n <pre className=\"linesNumbers\">\n <code>\n {Array(activeCode.length)\n .fill(\"\")\n .map((el, i) => i + 1 + \"\\n\")}\n </code>\n </pre>\n <pre>\n <code className=\"code\" id=\"dgaui_codeSnippetText\">\n {activeCode.map((el) => el + \"\\n\")}\n </code>\n </pre>\n </div>\n <div className=\"floatCopyIcon\">{copyButton}</div>\n </div>\n )}\n </StyledComponent>\n );\n};\n\nconst StyledComponent = styled.div<{\n $theme: Theme;\n}>`\n direction: ltr;\n border-radius: 16px;\n overflow: hidden;\n border: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n\n .singleLine {\n padding: 24px;\n border-radius: 16px;\n background-color: #fff;\n border: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n display: flex;\n justify-content: space-between;\n align-items: center;\n .content {\n font-size: 16px;\n color: ${(p) => p.$theme.palette.primary[600]};\n }\n }\n\n .multiLine {\n position: relative;\n .floatCopyIcon {\n position: absolute;\n z-index: 1;\n inset-inline-end: 24px;\n top: 74px;\n }\n\n .content {\n display: flex;\n font-size: 16px;\n\n .linesNumbers {\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n padding: 24px;\n border-right: 1px solid ${(p) => p.$theme.palette.neutral[200]};\n font-weight: 500;\n box-sizing: border-box;\n color: #667085;\n }\n\n .code {\n }\n\n pre {\n margin: 0;\n padding: 24px;\n overflow: scroll;\n }\n }\n }\n`;\n\nexport default CodeSnippet;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMvSURBVHgB7VhLbhpBEC0+RkgsQsRH7Dw5AeMTeLgBNwBOADlBuEHsE9g+QZwThJwAcwJPdgiQgiUW/MkrqB61MYb5QVj4SeOubjzF66quT0P0gWCIvPdBGri4uChDvMZjRCIRg1xitVrZInYgPw4Ggxb5xE6CuVyujqEJUmkKBzaer71e75E84g3BfD5/h6Gq5rDAUL7gidzDwJPGBk19Ebqq/X7/gTwgskXuG4amTO3lclkL4h7tmHxX3gDJK5B0vdmIpsxIJBLPitx0Or0aAhQCcGRMEGwLwRYIlty+G1UCdmopmS0XFjkGWwzEblkGUYst6/bdqCar8zIM4tb3gE23lByPx0237+kEi/wHO/USDK4BDzl6vaQsneDa7NFo9IWOgG63ayvZF0Etyv7SGSFKJ4TkVB5dB0mcQoREZxpBYOz7P3jrMpvNWvP53EaysOmYBDl/IgAaECseSmMZZ72MvMvFgedPePd+Mpk8bKe3QC5GAq6AXBvK6wHrtgm334Bwmzesf+DbgqyId63mXCEwcDPwonUze8HRLBFdoU39Zm9wL1AKTBCKmkpGEi4FTO5NeONGPGHx+VT6fLsYiq5l/BlG5ZnNZk0V5dBZVuu+CEq0GjJtUQiQ4LBZRgAZat2vBQ1NfqaQAMt1eIQli2rNIaiZ9/MhRchzTsQuFoujlEYFnaAt4yWdEfRa/EdE00u/dmzoFnQuNEiYDToTOAQlVdgyrXObTmeAV1HMrb6IfCNrg+QdJ83t8nNKvKokbEWQqoEclxs+l1V+tKK+jnashXZfOYQ3eRAXnHskyi8Qd95fpSkw6ETYWYulPa/CtQ2+4IBUUeVHaTZ5btH/Iqgg5adFW+UMxE1ujViOxWKf6IjwVeqSyaRzBhFYByuPW2hFwtHvi+B4PNaDJMx0pC5uwQjqnQfJfToopAFebxbjb7UeI59IpVLsWos7YsjcwHZg2TH5gPwu9ANigefIIrXRaLRpXsgnuF5LoBhqjdt+zpG6i/ZBUpa5peMWqc4ptb4JMgqFgoEg+UUh5cVtcoxABBUymQxfIy3anMe02xueVCWb5KdiL78bfsAt/gGRnkOtTYslCgAAAABJRU5ErkJggg==\";\n export default img;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { mergeStrings } from \"../../lib/helpers\";\nimport { COLORS } from \"../../lib/constants\";\nimport useTheme from \"../../lib/useTheme\";\nimport xImg from \"../../assets/images/close.png\";\n\ntype SlideoutMenuBgColor = \"white\" | \"gray\";\n\ninterface DGA_SlideoutMenuProps extends React.HTMLAttributes<HTMLDivElement> {\n open?: boolean;\n backdrop?: boolean;\n backgroundColor?: SlideoutMenuBgColor;\n onCloseClicked?: Function;\n onClose?: Function;\n navHeader?: {\n titleText?: React.ReactNode;\n descriptionText?: React.ReactNode;\n icon?: React.ReactNode;\n showFeaturedIcon?: boolean;\n showDescription?: boolean;\n showDivider?: boolean;\n };\n border?: boolean;\n children?: React.ReactNode;\n}\n\nconst SlideoutMenu: React.FC<DGA_SlideoutMenuProps> = ({\n open = false,\n backdrop = true,\n backgroundColor = \"gray\",\n navHeader,\n onCloseClicked,\n onClose,\n border = true,\n children,\n ...props\n}) => {\n const theme = useTheme();\n const ref = React.useRef<HTMLDivElement>(null);\n const [rect, setRect] = React.useState<DOMRect>();\n\n React.useEffect(() => {\n if (ref.current) {\n const rect = ref.current.getBoundingClientRect();\n setRect(rect);\n }\n }, [ref.current]);\n\n return (\n <StyledContainer $open={open} $backdrop={backdrop}>\n <div className=\"backdrop\" onClick={() => onClose?.()} />\n <StyledComponent\n {...props}\n ref={ref}\n $open={open}\n $theme={theme}\n $border={border}\n $showNavHeaderDivider={navHeader?.showDivider}\n $backgroundColor={backgroundColor}\n $rect={rect}\n className={mergeStrings(\"dgaui dgaui_slideoutMenu\", props.className)}\n >\n {navHeader && (\n <div className=\"dgaui dgaui_slideoutMenuHeader\">\n {navHeader.showFeaturedIcon && (\n <div className=\"iconContainer\">{navHeader.icon}</div>\n )}\n <div className=\"contentContainer\">\n <div className=\"title\">\n <span>{navHeader.titleText}</span>\n <img\n src={xImg}\n alt=\"close\"\n onClick={() => onCloseClicked?.()}\n />\n </div>\n {navHeader.showDescription && (\n <div className=\"descriptionText\">\n {navHeader.descriptionText}\n </div>\n )}\n </div>\n </div>\n )}\n <div className=\"dgaui dgaui_slideoutMenuContent\">{children}</div>\n </StyledComponent>\n </StyledContainer>\n );\n};\n\nconst StyledContainer = styled.div<{\n $open: boolean;\n $backdrop: boolean;\n}>`\n position: relative;\n\n .backdrop {\n position: fixed;\n width: 100vw;\n height: 100vh;\n z-index: 1399;\n top: 0;\n left: 0;\n background-color: rgba(0, 0, 0, 0.5);\n visibility: ${(p) => (p.$open ? \"visible\" : \"hidden\")};\n opacity: ${(p) => (p.$backdrop && p.$open ? 1 : 0)};\n transition: all 0.2s ease;\n }\n`;\n\nconst StyledComponent = styled.div<{\n $open: boolean;\n $theme: Theme;\n $border: boolean;\n $showNavHeaderDivider?: boolean;\n $backgroundColor?: SlideoutMenuBgColor;\n $rect: DOMRect | undefined;\n}>`\n direction: ${(p) => p.$theme.direction};\n overflow: scroll;\n ${(p) =>\n p.$border\n ? `border-inline-end: 1px solid ${p.$theme.palette.neutral[300]};`\n : \"\"}\n width: 350px;\n height: 100vh;\n background-color: ${(p) =>\n p.$backgroundColor === \"white\"\n ? COLORS.white\n : p.$theme.palette.neutral[100]};\n display: ${(p) => (!p.$rect ? \"none\" : \"block\")};\n position: fixed;\n z-index: 1400;\n top: 0;\n left: ${(p) => {\n const width = p.$rect?.width || 350;\n\n if (p.$open) {\n return p.$theme.direction === 'rtl' ? window.innerWidth - width : 0; // show it\n }\n\n return p.$theme.direction === 'rtl' ? window.innerWidth + width : -width; // hide it off screen\n }}px;\n\n transition: left 0.2s ease;\n\n .dgaui_slideoutMenuHeader {\n width: 100%;\n padding: 16px;\n background-color: ${(p) => p.$theme.palette.neutral[50]};\n border-bottom: ${(p) =>\n p.$showNavHeaderDivider\n ? `1px solid ${p.$theme.palette.neutral[300]}`\n : \"none\"};\n\n display: flex;\n align-items: center;\n height: 78px;\n\n .iconContainer {\n margin-inline-end: 8px;\n }\n\n .contentContainer {\n flex: 1;\n\n .title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: ${(p) => p.$theme.textColor};\n font-weight: 600;\n margin-bottom: 4px;\n\n img {\n cursor: pointer;\n width: 8px;\n height: 8px;\n }\n }\n }\n\n .descriptionText {\n color: ${(p) => p.$theme.palette.neutral[500]};\n }\n }\n`;\n\nexport default SlideoutMenu;\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADBSURBVHgBrdSxCsQgDABQ4+DsJI7+Sr/8PuUcHR3FQe5StIhojNAMVRL7WiUoxIsB+DDGfHHMOV8xRn/wvtBaO6XUB+eyy99JLDKdHnIPJqW8/oM/AQfIowGtaK11pZSnSG15BoUQPPSLOOAKwhqMX6VACppiKxDzFLTEZmBNLyESm4CCgjAkhaWUWLntn42HXdP3fNU2wIFqU4td2wAHame060PgQi0oEE6gHQinEAX29xkbWoF9nx1BGLi2u77EDwcz3kn4IV7cAAAAAElFTkSuQmCC\";\n export default img;"],"names":["ThemeContext","React","createContext","ThemeProvider","theme","children","_jsx","Provider","value","withRtl","Component","direction","defaultTheme","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","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","Accordion","_a","title","expanded","onChange","defaultExpanded","iconAlignment","flush","contentRef","useRef","open","setOpen","useState","contentHeight","setContentHeight","borderTop","border","cursor","fontColor","showContent","disabled","useEffect","current","clientHeight","_b","_jsxs","tabIndex","StyledComponentTitle","$customStyle","minHeight","padding","colors","onClick","display","alignItems","justifyItems","gap","alt","src","arrowDownImage","transition","transform","_Fragment","overflow","color","styled","button","Icon","indeterminate","width","height","viewBox","fill","xmlns","rx","fillRule","clipRule","xSmall","svgW","svgH","svgLeft","svgTop","Checkbox","label","description","default","them","hovered","active","sizeResult","backgroundColor","backgroundColorHovered","backgroundColorActive","inputRef","StyledComponent","checked","htmlFor","div","feedbackIcon","DropdownItem","selected","multiple","$selected","$multiple","$theme","checkIcon","xsmall","py","Tag","outLine","iconOnly","leadIcon","trailIcon","rounded","colorNameResult","outLineResult","tagColors","bg","borderOutlined","onColor","borderColor","borderColorOutlined","borderRadius","minWidth","paddingY","Autocomplete","variant","placeholder","getOptionLabel","maxTagsToShow","maxTagsLabel","inputValue","setInputValue","inputValueSearch","setInputValueSearch","selectedOptions","setSelectedOptions","itemsPosition","setItemsPosition","top","left","placeholderFontColor","borderHovered","borderFocused","animationColor","shadowFocus","getLocalOptionLabel","op","memoizedOptions","useMemo","calcPosition","offsetTop","offsetLeft","clientWidth","resizeHandler","clickHandler","contains","addEventListener","removeEventListener","StyledDiv","prevState","ind","option","stopPropagation","newValues","newSelectedOptions","el","deleteTaghandler","optionLabel","newValue","onItemSelectedHandler","StyledComponentSpan","$bgColor","buttonCloseIcon","arrowDownIcon","span","xxSmall","wh","fw","xLarge","xxLarge","Avatar","text","icon","imageSrc","square","isIcon","$size","$square","$isIcon","$index","$border","$borderColor","positioner","Breadcrumb","items","containerRef","openListHandler","lastTwoItems","$icon","StyledList","COLORS","Button","buttonStyle","destructive","buttonColors","focus","innerBorderColor","subtle","transparent","getButtonColors","$disabled","Card","state","effect","expandableContent","actionsButtons","internalExpanded","setInternalExpanded","isExpanded","selectable","expandable","pointerEvents","$pointerEvents","$effect","$expanded","$state","visibility","__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","prefixBg","prefixBgHover","prefixBgActive","suffixBg","suffixBgHover","suffixBgActive","RootStyledComponent","iconPadding","marginBottom","textAlign","input","Menu","menuItems","keepOpenOnItemsClicked","onOpen","onClose","reverseOpeningDirection","defaultBodyOverflow","setDefaultBodyOverflow","componentRef","menuItemsRef","vh","max","documentElement","innerHeight","rect","getBoundingClientRect","values","bottom","right","innerWidth","body","_c","openMenu","DatePicker","hijri","range","minYear","maxYear","minDate","maxDate","onRangeChange","withTextInput","textInputProps","closeOnSelect","rangeSeparator","date","setDate","dateText","setDateText","yearsList","setYearsList","yearDisplayValue","setYearDisplayValue","calendarRef","isRangeAndOnlyOneSelected","minYearDefault","maxYearDefault","newYearsList","thisYear","getFullYear","thisMonth","getMonth","gregorianYear","gregorianMonth","hijriYear","floor","gregoreanYearToHijriYear","newDateText","formatDate","calendar","Calendar","arabic","gregorian","onMonthChange","locale","click","format","showOtherDays","monthYearSeparator","onYearChangedDropdown","readOnly","rightIcon","leftIcon","padStartZero","padStart","number","FileCard","status","filename","helperText","onDelete","xIcon","DropZone","uploadText","onDrop","filesList","onFileListItemDeleted","submitButton","porps","isDraggingOver","setIsDraggingOver","onDrophandler","fileList","file","dragOverhandler","preventDefault","dragLeavhandler","dropHandler","dataTransfer","files","Dropdown","filled","styleVariant","dropdownStyle","valueDisplay","otherProps","selectedOptionText","setSelectedOptionText","onChangeHandler","newChildren","Children","child","cloneElement","newSelectedOptionText","comp","classList","arrowDownIconGray","FileUpload","useScreenSizes","mobileThreshold","tabletThreshold","setResult","isMobile","isTablet","isDesktop","Grid","container","rowSpacing","columnSpacing","addSpacingPropsToChidren","StyledComponentContainer","$rowSpacing","$columnSpacing","StyledComponentItem","$columnSpan","getColumnSpan","isValidElement","Fragment","InlineAlert","leadText","helpText","actions","closeButton","background","screenSizes","colorsResult","vLine","font","isColored","isMinimal","$isColored","$colors","lh","Link","inline","focusBorderColor","selectedColors","visited","$fontSize","$lineHeight","$focusBorderColor","$style","$inline","href","List","level","iconUrl","StyledOlComponent","StyledUlComponent","$listStyleType","getListStyleType","$iconUrl","$level","$ol","ul","getCss","ol","anyLevel","Loading","loadingStyle","loadingColors","MenuItem","MenuItemGroup","Modal","align","footerStartButtons","footerEndButtons","Backdrop","$align","Notification","link","dismissible","show","setShow","critical","Tab","vertical","$vertical","Pagination","currentPage","siblingCount","onPageChange","menu","menus","getElementsByClassName","scrollTo","_el","siblingCountResult","showStartItems","showEndItems","showCenterItems","showMenuStart","showMenuEnd","itemsToRenderCount","startItemsToRender","centerItemsToRender","endItemsToRender","reverse","show5Only","Base","dot","StyledDot","$status","getCircleCss","getDotCss","ProgressIndicator","alignment","steps","activeStepIndex","onStepClick","$alignment","$dot","getLineCss","bgHover","Radio","groupValue","sliderBg","sliderBgHovered","sliderBgActive","sliderBgDisabled","RadioGroup","layout","groupName","$direction","Switch","alertMessage","trailSwitch","StatusTag","variantResult","iconBg","inverted","ghost","blue","green","red","yellow","iconBackgroundColor","_d","Table","contained","compact","alternatingRows","labels","onRowClick","onCheck","responsiveThreshold","columnDivider","headerColumnDivider","lastColumnWidthMultiply","selectAllValue","setSelectAllValue","setIsMobile","onRowCheckedHandler","allSelected","MobileStyledComponent","$compact","$contained","$onRowClick","HTMLElement","nodeName","sIndex","$alternatingRows","cellPadding","cellSpacing","newCheckedValues","entries","itemIndex","table","$headerColumnDivider","TabList","addPropsToChidren","$flush","Textarea","scrollBar","resize","flexDirection","textarea","NotificationToast","getColors","StyledAlertComponent","toast","duration","rtl","createRoot","onCloseHandler","unmount","remove","addCloseClass","Element","setTimeout","$position","getAnimation","keyframes","backCss","mobileCss","Tooltip","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","$inverted","$backgroundColor","HeaderMenuItem","NavigationDrawerItem","StyledComponentDivider","$type","SearchBox","showTrailingIcon","showLabel","onSearchByVoiceClicked","$showTrailingIcon","$showLabel","ContentSwitcher","data","onItemClicked","$onColor","Divider","lineType","$color","$lineType","hr","SkeletonCircle","SkeletonLine","SkeletonSquare","$borderRadius","SkeletonRectangle","Result","Skeleton","marginTop","Rating","brand","hovering","setHovering","hoverScore","setHoverScore","selectedIcon","halfIcon","imageSize","onHoverHandler","starOrder","isLeftStarSection","nativeEvent","offsetX","scoreResult","onMouseEnter","onMouseLeave","grayIcon","onMouseMove","Chip","$rounded","FloatingButton","$iconOnly","borderWidth","circleRadius","magicNumber","stepNameFontSize","descriptionFontSize","innerCircleFontSize","RadialStepper","stepsCount","activeStep","innerCircleText","preStepName","stepName","nextStepName","$circleRadius","$stepsCount","$activeStep","cx","cy","ProgressBar","percentage","$percentage","$error","$success","min","plusIconJsx","minusIconJsx","NumberInput","prefixType","suffixType","onWheel","blur","inputMode","onKeyDown","useScreenDimensions","screenDimentions","setScreenDimentions","windowResizeHandler","NormalSlider","onChnage","screenDimensions","sliderBaseRef","sliderIndicatorRef","isMoving","setIsMoving","currentX","setCurrentX","canMoveFromTo","setCanMoveFromTo","indicatorWidth","percentageResult","round","sliderRect","indicatorRect","mouseMoveHandler","newClientX","clientX","log","mouseUpHandler","$indicatorWidth","onMouseDown","RangeSlider","sliderIndicatorRef2","isMoving1","setIsMoving1","isMoving2","setIsMoving2","currentX1","setCurrentX1","currentX2","setCurrentX2","percentage0","percentage1","indicatorRect2","Dot","Arrow","Carousel","selectedContentIndex","dotsSize","arrowsSize","arrowsStyle","targetSlide","carouselContainer","querySelector","scrollPosition","behavior","$arrowsSize","Quote","whiteBackground","authorDetails","avatar","SecondNavHeader","action","CodeSnippet","multiLineItems","onTabClicked","showCopiedText","setShowCopiedText","activeCode","find","code","copyButton","clipboard","getElementById","innerText","writeText","SlideoutMenu","backdrop","navHeader","onCloseClicked","setRect","StyledContainer","$open","showDivider","showFeaturedIcon","titleText","showDescription","descriptionText","$backdrop","$rect","$showNavHeaderDivider"],"mappings":"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","x_google_ignoreList":[4,6,7,8,9,10,11,12,13,14,15,16,17,38,39]}