stp-ui-kit 0.0.109 → 0.0.111

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":"stp-ui-kit.es.js","sources":["../node_modules/classnames/index.js","../node_modules/@solar-icons/react-perf/dist/esm/lib/IconBase.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/AltArrowDown.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/AltArrowUp.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/ArrowLeft.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/ArrowRight.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/messages/Outline/CheckRead.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/security/Outline/LockKeyholeUnlocked.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/security/Outline/LockKeyhole.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/CheckCircle.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/DangerCircle.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/DangerTriangle.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/Danger.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/InfoCircle.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Outline/Danger.mjs","../src/components/form/InlineError/InlineError.tsx","../src/components/form/Checkbox/Checkbox.tsx","../src/components/form/FormItem/FormItemContext.tsx","../src/components/form/FormItem/FormItem.tsx","../src/components/form/Input/BaseInputWrapper.tsx","../src/components/form/Input/Input.tsx","../src/components/form/Input/TextArea.tsx","../src/components/form/RadioButton/RadioButton.tsx","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-fast-compare/index.js","../node_modules/react-popper/lib/esm/usePopper.js","../src/components/form/Select/Select.tsx","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/locale/en.js","../node_modules/dayjs/locale/fr.js","../node_modules/dayjs/locale/kk.js","../node_modules/dayjs/locale/ru.js","../node_modules/dayjs/plugin/isSameOrAfter.js","../node_modules/dayjs/plugin/isSameOrBefore.js","../node_modules/dayjs/plugin/localeData.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/weekday.js","../src/lib/dayjs.ts","../src/components/display/Avatar/fallbackAvatar.svg?react","../src/components/display/Avatar/Avatar.tsx","../src/components/feedback/Message/CustomToaster.tsx","../public/icons/Plus.svg?react","../public/icons/X.svg?react","../src/components/feedback/Message/Message.tsx","../src/components/feedback/Modal/Modal.tsx","../src/components/feedback/Modal/ModalApi.tsx","../src/components/feedback/Spinner/Spinner.tsx","../src/components/feedback/Tooltip/Tooltip.tsx","../src/components/feedback/Window/Window.tsx","../src/components/feedback/Window/WindowApi.tsx","../src/components/feedback/AppLoader/AppLoader.tsx","../src/components/feedback/Info/Info.tsx","../src/components/display/Button/Button.tsx","../src/components/display/Dropdown/Dropdown.tsx","../src/components/display/Empty/Empty.tsx","../src/components/display/IconButton/IconButton.tsx","../src/components/display/Typography/Typography.tsx","../src/components/display/SvgStyleWrapper/SvgStyleWrapper.tsx","../src/components/display/Icon/Icon.tsx","../src/components/display/OptionList/OptionList.tsx","../src/components/display/Illustration/Illustration.tsx","../src/components/display/Chip/Chip.tsx","../src/components/display/InputChip/InputChip.tsx","../src/lib/useIsMobile.ts","../src/components/form/Calendar/CalendarDay/CalendarDay.tsx","../src/components/form/Calendar/CalendarDayHeader/CalendarDayHeader.tsx","../src/components/form/Calendar/dateUtils.ts","../src/components/form/Calendar/CalendarMonth/CalendarMonth.tsx","../src/components/form/Calendar/Calendar.tsx","../src/components/layout/Banner/utils/utils.ts","../src/components/layout/Banner/Banner.tsx","../src/components/layout/Drawer/Drawer.tsx","../src/components/layout/PageHeader/PageHeader.tsx","../src/components/layout/SectionHeader/SectionHeader.tsx","../src/components/layout/TopBar/TopBar.tsx","../src/components/layout/Page/Page.tsx","../src/components/layout/Section/Section.tsx","../src/components/layout/SectionWrapper/SectionWrapper.tsx","../src/components/layout/ButtonGroup/ButtonGroup.tsx","../src/components/navigation/NavigationItem/NavigationItem.tsx","../src/components/navigation/Collapse/Collapse.tsx","../src/components/navigation/CourseCollapse/CourseCollapse.tsx","../src/components/navigation/Link/Link.tsx","../src/components/data/ProgressLine/ProgressLine.tsx","../src/components/data/Table/Table.tsx","../src/components/data/Table/Cell.tsx","../src/components/data/ProgressBarAlternative/ProgressBarAlternative.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import t, { forwardRef as i } from \"react\";\nconst m = i((o, l) => {\n const {\n alt: e,\n color: s = \"currentColor\",\n size: r = \"1em\",\n mirrored: a = !1,\n children: n,\n ...c\n } = o;\n return /* @__PURE__ */ t.createElement(\n \"svg\",\n {\n ref: l,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: r,\n height: r,\n color: s,\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n transform: a ? \"scale(-1, 1)\" : void 0,\n ...c\n },\n !!e && /* @__PURE__ */ t.createElement(\"title\", null, e),\n n\n );\n});\nm.displayName = \"IconBase\";\nexport {\n m as default\n};\n","import e, { forwardRef as l } from \"react\";\nimport t from \"../../../lib/IconBase.mjs\";\nconst n = l((o, r) => /* @__PURE__ */ e.createElement(t, { ref: r, ...o }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.43057 8.51192C4.70014 8.19743 5.17361 8.161 5.48811 8.43057L12 14.0122L18.5119 8.43057C18.8264 8.16101 19.2999 8.19743 19.5695 8.51192C19.839 8.82642 19.8026 9.29989 19.4881 9.56946L12.4881 15.5695C12.2072 15.8102 11.7928 15.8102 11.5119 15.5695L4.51192 9.56946C4.19743 9.29989 4.161 8.82641 4.43057 8.51192Z\", fill: \"currentColor\" })));\nn.displayName = \"AltArrowDown\";\nexport {\n n as AltArrowDown\n};\n","import e, { forwardRef as l } from \"react\";\nimport t from \"../../../lib/IconBase.mjs\";\nconst a = l((r, o) => /* @__PURE__ */ e.createElement(t, { ref: o, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.5119 8.43056C11.7928 8.18981 12.2072 8.18981 12.4881 8.43056L19.4881 14.4306C19.8026 14.7001 19.839 15.1736 19.5695 15.4881C19.2999 15.8026 18.8264 15.839 18.5119 15.5694L12 9.98781L5.48811 15.5694C5.17361 15.839 4.70014 15.8026 4.43057 15.4881C4.161 15.1736 4.19743 14.7001 4.51192 14.4306L11.5119 8.43056Z\", fill: \"currentColor\" })));\na.displayName = \"AltArrowUp\";\nexport {\n a as AltArrowUp\n};\n","import e, { forwardRef as t } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst a = t((r, o) => /* @__PURE__ */ e.createElement(l, { ref: o, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.5303 5.46967C10.8232 5.76256 10.8232 6.23744 10.5303 6.53033L5.81066 11.25H20C20.4142 11.25 20.75 11.5858 20.75 12C20.75 12.4142 20.4142 12.75 20 12.75H5.81066L10.5303 17.4697C10.8232 17.7626 10.8232 18.2374 10.5303 18.5303C10.2374 18.8232 9.76256 18.8232 9.46967 18.5303L3.46967 12.5303C3.17678 12.2374 3.17678 11.7626 3.46967 11.4697L9.46967 5.46967C9.76256 5.17678 10.2374 5.17678 10.5303 5.46967Z\", fill: \"currentColor\" })));\na.displayName = \"ArrowLeft\";\nexport {\n a as ArrowLeft\n};\n","import e, { forwardRef as t } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst a = t((r, o) => /* @__PURE__ */ e.createElement(l, { ref: o, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M13.4697 5.46967C13.7626 5.17678 14.2374 5.17678 14.5303 5.46967L20.5303 11.4697C20.8232 11.7626 20.8232 12.2374 20.5303 12.5303L14.5303 18.5303C14.2374 18.8232 13.7626 18.8232 13.4697 18.5303C13.1768 18.2374 13.1768 17.7626 13.4697 17.4697L18.1893 12.75H4C3.58579 12.75 3.25 12.4142 3.25 12C3.25 11.5858 3.58579 11.25 4 11.25H18.1893L13.4697 6.53033C13.1768 6.23744 13.1768 5.76256 13.4697 5.46967Z\", fill: \"currentColor\" })));\na.displayName = \"ArrowRight\";\nexport {\n a as ArrowRight\n};\n","import e, { forwardRef as r } from \"react\";\nimport C from \"../../../lib/IconBase.mjs\";\nconst t = r((l, o) => /* @__PURE__ */ e.createElement(C, { ref: o, ...l }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M15.4933 6.93502C15.8053 7.20743 15.8374 7.68122 15.565 7.99325L7.70786 16.9933C7.56543 17.1564 7.35943 17.25 7.14287 17.25C6.9263 17.25 6.72031 17.1564 6.57788 16.9933L3.43502 13.3933C3.16261 13.0812 3.19473 12.6074 3.50677 12.335C3.8188 12.0626 4.29259 12.0947 4.565 12.4068L7.14287 15.3596L14.435 7.00677C14.7074 6.69473 15.1812 6.66261 15.4933 6.93502Z\", fill: \"currentColor\" }), /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M20.5175 7.01946C20.8174 7.30513 20.829 7.77986 20.5433 8.07981L11.9716 17.0798C11.8201 17.2389 11.6065 17.3235 11.3872 17.3114C11.1679 17.2993 10.9649 17.1917 10.8318 17.0169L10.4035 16.4544C10.1526 16.1249 10.2163 15.6543 10.5458 15.4034C10.8289 15.1878 11.2161 15.2044 11.4787 15.4223L19.4571 7.04531C19.7428 6.74537 20.2175 6.73379 20.5175 7.01946Z\", fill: \"currentColor\" })));\nt.displayName = \"CheckRead\";\nexport {\n t as CheckRead\n};\n","import C, { forwardRef as o } from \"react\";\nimport r from \"../../../lib/IconBase.mjs\";\nconst t = o((e, l) => /* @__PURE__ */ C.createElement(r, { ref: l, ...e }, /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M9.25 16C9.25 14.4812 10.4812 13.25 12 13.25C13.5188 13.25 14.75 14.4812 14.75 16C14.75 17.5188 13.5188 18.75 12 18.75C10.4812 18.75 9.25 17.5188 9.25 16ZM12 14.75C11.3096 14.75 10.75 15.3096 10.75 16C10.75 16.6904 11.3096 17.25 12 17.25C12.6904 17.25 13.25 16.6904 13.25 16C13.25 15.3096 12.6904 14.75 12 14.75Z\", fill: \"currentColor\" }), /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M6.75 8C6.75 5.10051 9.10051 2.75 12 2.75C14.4453 2.75 16.5018 4.42242 17.0846 6.68694C17.1879 7.08808 17.5968 7.32957 17.9979 7.22633C18.3991 7.12308 18.6405 6.7142 18.5373 6.31306C17.788 3.4019 15.1463 1.25 12 1.25C8.27208 1.25 5.25 4.27208 5.25 8V9.30277C5.02317 9.31872 4.80938 9.33948 4.60825 9.36652C3.70814 9.48754 2.95027 9.74643 2.34835 10.3483C1.74643 10.9503 1.48754 11.7081 1.36652 12.6082C1.24996 13.4752 1.24998 14.5775 1.25 15.9451V16.0549C1.24998 17.4225 1.24996 18.5248 1.36652 19.3918C1.48754 20.2919 1.74643 21.0497 2.34835 21.6516C2.95027 22.2536 3.70814 22.5125 4.60825 22.6335C5.47522 22.75 6.57754 22.75 7.94513 22.75H16.0549C17.4225 22.75 18.5248 22.75 19.3918 22.6335C20.2919 22.5125 21.0497 22.2536 21.6517 21.6516C22.2536 21.0497 22.5125 20.2919 22.6335 19.3918C22.75 18.5248 22.75 17.4225 22.75 16.0549V15.9451C22.75 14.5775 22.75 13.4752 22.6335 12.6082C22.5125 11.7081 22.2536 10.9503 21.6517 10.3483C21.0497 9.74643 20.2919 9.48754 19.3918 9.36652C18.5248 9.24996 17.4225 9.24998 16.0549 9.25H7.94513C7.52161 9.24999 7.12353 9.24999 6.75 9.25344V8ZM4.80812 10.8531C4.07435 10.9518 3.68577 11.1322 3.40901 11.409C3.13225 11.6858 2.9518 12.0743 2.85315 12.8081C2.75159 13.5635 2.75 14.5646 2.75 16C2.75 17.4354 2.75159 18.4365 2.85315 19.1919C2.9518 19.9257 3.13225 20.3142 3.40901 20.591C3.68577 20.8678 4.07435 21.0482 4.80812 21.1469C5.56347 21.2484 6.56459 21.25 8 21.25H16C17.4354 21.25 18.4365 21.2484 19.1919 21.1469C19.9257 21.0482 20.3142 20.8678 20.591 20.591C20.8678 20.3142 21.0482 19.9257 21.1469 19.1919C21.2484 18.4365 21.25 17.4354 21.25 16C21.25 14.5646 21.2484 13.5635 21.1469 12.8081C21.0482 12.0743 20.8678 11.6858 20.591 11.409C20.3142 11.1322 19.9257 10.9518 19.1919 10.8531C18.4365 10.7516 17.4354 10.75 16 10.75H8C6.56459 10.75 5.56347 10.7516 4.80812 10.8531Z\", fill: \"currentColor\" })));\nt.displayName = \"LockKeyholeUnlocked\";\nexport {\n t as LockKeyholeUnlocked\n};\n","import C, { forwardRef as o } from \"react\";\nimport r from \"../../../lib/IconBase.mjs\";\nconst t = o((e, l) => /* @__PURE__ */ C.createElement(r, { ref: l, ...e }, /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M9.25 16C9.25 14.4812 10.4812 13.25 12 13.25C13.5188 13.25 14.75 14.4812 14.75 16C14.75 17.5188 13.5188 18.75 12 18.75C10.4812 18.75 9.25 17.5188 9.25 16ZM12 14.75C11.3096 14.75 10.75 15.3096 10.75 16C10.75 16.6904 11.3096 17.25 12 17.25C12.6904 17.25 13.25 16.6904 13.25 16C13.25 15.3096 12.6904 14.75 12 14.75Z\", fill: \"currentColor\" }), /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.25 9.30277V8C5.25 4.27208 8.27208 1.25 12 1.25C15.7279 1.25 18.75 4.27208 18.75 8V9.30277C18.9768 9.31872 19.1906 9.33948 19.3918 9.36652C20.2919 9.48754 21.0497 9.74643 21.6517 10.3483C22.2536 10.9503 22.5125 11.7081 22.6335 12.6082C22.75 13.4752 22.75 14.5775 22.75 15.9451V16.0549C22.75 17.4225 22.75 18.5248 22.6335 19.3918C22.5125 20.2919 22.2536 21.0497 21.6517 21.6516C21.0497 22.2536 20.2919 22.5125 19.3918 22.6335C18.5248 22.75 17.4225 22.75 16.0549 22.75H7.94513C6.57754 22.75 5.47522 22.75 4.60825 22.6335C3.70814 22.5125 2.95027 22.2536 2.34835 21.6516C1.74643 21.0497 1.48754 20.2919 1.36652 19.3918C1.24996 18.5248 1.24998 17.4225 1.25 16.0549V15.9451C1.24998 14.5775 1.24996 13.4752 1.36652 12.6082C1.48754 11.7081 1.74643 10.9503 2.34835 10.3483C2.95027 9.74643 3.70814 9.48754 4.60825 9.36652C4.80938 9.33948 5.02317 9.31872 5.25 9.30277ZM6.75 8C6.75 5.10051 9.10051 2.75 12 2.75C14.8995 2.75 17.25 5.10051 17.25 8V9.25344C16.8765 9.24999 16.4784 9.24999 16.0549 9.25H7.94513C7.52161 9.24999 7.12353 9.24999 6.75 9.25344V8ZM4.80812 10.8531C4.07435 10.9518 3.68577 11.1322 3.40901 11.409C3.13225 11.6858 2.9518 12.0743 2.85315 12.8081C2.75159 13.5635 2.75 14.5646 2.75 16C2.75 17.4354 2.75159 18.4365 2.85315 19.1919C2.9518 19.9257 3.13225 20.3142 3.40901 20.591C3.68577 20.8678 4.07435 21.0482 4.80812 21.1469C5.56347 21.2484 6.56459 21.25 8 21.25H16C17.4354 21.25 18.4365 21.2484 19.1919 21.1469C19.9257 21.0482 20.3142 20.8678 20.591 20.591C20.8678 20.3142 21.0482 19.9257 21.1469 19.1919C21.2484 18.4365 21.25 17.4354 21.25 16C21.25 14.5646 21.2484 13.5635 21.1469 12.8081C21.0482 12.0743 20.8678 11.6858 20.591 11.409C20.3142 11.1322 19.9257 10.9518 19.1919 10.8531C18.4365 10.7516 17.4354 10.75 16 10.75H8C6.56459 10.75 5.56347 10.7516 4.80812 10.8531Z\", fill: \"currentColor\" })));\nt.displayName = \"LockKeyhole\";\nexport {\n t as LockKeyhole\n};\n","import e, { forwardRef as l } from \"react\";\nimport o from \"../../../lib/IconBase.mjs\";\nconst c = l((r, C) => /* @__PURE__ */ e.createElement(o, { ref: C, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM16.0303 8.96967C16.3232 9.26256 16.3232 9.73744 16.0303 10.0303L11.0303 15.0303C10.7374 15.3232 10.2626 15.3232 9.96967 15.0303L7.96967 13.0303C7.67678 12.7374 7.67678 12.2626 7.96967 11.9697C8.26256 11.6768 8.73744 11.6768 9.03033 11.9697L10.5 13.4393L12.7348 11.2045L14.9697 8.96967C15.2626 8.67678 15.7374 8.67678 16.0303 8.96967Z\", fill: \"currentColor\" })));\nc.displayName = \"CheckCircle\";\nexport {\n c as CheckCircle\n};\n","import e, { forwardRef as l } from \"react\";\nimport o from \"../../../lib/IconBase.mjs\";\nconst t = l((r, C) => /* @__PURE__ */ e.createElement(o, { ref: C, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12ZM12 6.25C12.4142 6.25 12.75 6.58579 12.75 7V13C12.75 13.4142 12.4142 13.75 12 13.75C11.5858 13.75 11.25 13.4142 11.25 13V7C11.25 6.58579 11.5858 6.25 12 6.25ZM12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17Z\", fill: \"currentColor\" })));\nt.displayName = \"DangerCircle\";\nexport {\n t as DangerCircle\n};\n","import e, { forwardRef as l } from \"react\";\nimport a from \"../../../lib/IconBase.mjs\";\nconst o = l((r, C) => /* @__PURE__ */ e.createElement(a, { ref: C, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.31171 10.7615C8.23007 5.58716 9.68925 3 12 3C14.3107 3 15.7699 5.58716 18.6883 10.7615L19.0519 11.4063C21.4771 15.7061 22.6897 17.856 21.5937 19.428C20.4978 21 17.7864 21 12.3637 21H11.6363C6.21356 21 3.50217 21 2.40626 19.428C1.31034 17.856 2.52291 15.7061 4.94805 11.4063L5.31171 10.7615ZM12 7.25C12.4142 7.25 12.75 7.58579 12.75 8V13C12.75 13.4142 12.4142 13.75 12 13.75C11.5858 13.75 11.25 13.4142 11.25 13V8C11.25 7.58579 11.5858 7.25 12 7.25ZM12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17Z\", fill: \"currentColor\" })));\no.displayName = \"DangerTriangle\";\nexport {\n o as DangerTriangle\n};\n","import e, { forwardRef as o } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst t = o((C, r) => /* @__PURE__ */ e.createElement(l, { ref: r, ...C }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M7.84308 3.80211C9.8718 2.6007 10.8862 2 12 2C13.1138 2 14.1282 2.6007 16.1569 3.80211L16.8431 4.20846C18.8718 5.40987 19.8862 6.01057 20.4431 7C21 7.98943 21 9.19084 21 11.5937V12.4063C21 14.8092 21 16.0106 20.4431 17C19.8862 17.9894 18.8718 18.5901 16.8431 19.7915L16.1569 20.1979C14.1282 21.3993 13.1138 22 12 22C10.8862 22 9.8718 21.3993 7.84308 20.1979L7.15692 19.7915C5.1282 18.5901 4.11384 17.9894 3.55692 17C3 16.0106 3 14.8092 3 12.4063V11.5937C3 9.19084 3 7.98943 3.55692 7C4.11384 6.01057 5.1282 5.40987 7.15692 4.20846L7.84308 3.80211ZM13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16ZM12 6.25C12.4142 6.25 12.75 6.58579 12.75 7V13C12.75 13.4142 12.4142 13.75 12 13.75C11.5858 13.75 11.25 13.4142 11.25 13V7C11.25 6.58579 11.5858 6.25 12 6.25Z\", fill: \"currentColor\" })));\nt.displayName = \"Danger\";\nexport {\n t as Danger\n};\n","import e, { forwardRef as r } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst t = r((C, o) => /* @__PURE__ */ e.createElement(l, { ref: o, ...C }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM12 17.75C12.4142 17.75 12.75 17.4142 12.75 17V11C12.75 10.5858 12.4142 10.25 12 10.25C11.5858 10.25 11.25 10.5858 11.25 11V17C11.25 17.4142 11.5858 17.75 12 17.75ZM12 7C12.5523 7 13 7.44772 13 8C13 8.55228 12.5523 9 12 9C11.4477 9 11 8.55228 11 8C11 7.44772 11.4477 7 12 7Z\", fill: \"currentColor\" })));\nt.displayName = \"InfoCircle\";\nexport {\n t as InfoCircle\n};\n","import C, { forwardRef as l } from \"react\";\nimport t from \"../../../lib/IconBase.mjs\";\nconst o = l((e, r) => /* @__PURE__ */ C.createElement(t, { ref: r, ...e }, /* @__PURE__ */ C.createElement(\"path\", { d: \"M12 6.25C12.4142 6.25 12.75 6.58579 12.75 7V13C12.75 13.4142 12.4142 13.75 12 13.75C11.5858 13.75 11.25 13.4142 11.25 13V7C11.25 6.58579 11.5858 6.25 12 6.25Z\", fill: \"currentColor\" }), /* @__PURE__ */ C.createElement(\"path\", { d: \"M13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16Z\", fill: \"currentColor\" }), /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 1.25C11.2954 1.25 10.6519 1.44359 9.94858 1.77037C9.26808 2.08656 8.48039 2.55304 7.49457 3.13685L6.74148 3.58283C5.75533 4.16682 4.96771 4.63324 4.36076 5.07944C3.73315 5.54083 3.25177 6.01311 2.90334 6.63212C2.55548 7.25014 2.39841 7.91095 2.32306 8.69506C2.24999 9.45539 2.24999 10.3865 2.25 11.556V12.444C2.24999 13.6135 2.24999 14.5446 2.32306 15.3049C2.39841 16.0891 2.55548 16.7499 2.90334 17.3679C3.25177 17.9869 3.73315 18.4592 4.36076 18.9206C4.96771 19.3668 5.75533 19.8332 6.74148 20.4172L7.4946 20.8632C8.48038 21.447 9.2681 21.9135 9.94858 22.2296C10.6519 22.5564 11.2954 22.75 12 22.75C12.7046 22.75 13.3481 22.5564 14.0514 22.2296C14.7319 21.9134 15.5196 21.447 16.5054 20.8632L17.2585 20.4172C18.2446 19.8332 19.0323 19.3668 19.6392 18.9206C20.2669 18.4592 20.7482 17.9869 21.0967 17.3679C21.4445 16.7499 21.6016 16.0891 21.6769 15.3049C21.75 14.5446 21.75 13.6135 21.75 12.4441V11.556C21.75 10.3866 21.75 9.45538 21.6769 8.69506C21.6016 7.91095 21.4445 7.25014 21.0967 6.63212C20.7482 6.01311 20.2669 5.54083 19.6392 5.07944C19.0323 4.63324 18.2447 4.16683 17.2585 3.58285L16.5054 3.13685C15.5196 2.55303 14.7319 2.08656 14.0514 1.77037C13.3481 1.44359 12.7046 1.25 12 1.25ZM8.22524 4.44744C9.25238 3.83917 9.97606 3.41161 10.5807 3.13069C11.1702 2.85676 11.5907 2.75 12 2.75C12.4093 2.75 12.8298 2.85676 13.4193 3.13069C14.0239 3.41161 14.7476 3.83917 15.7748 4.44744L16.4609 4.85379C17.4879 5.46197 18.2109 5.89115 18.7508 6.288C19.2767 6.67467 19.581 6.99746 19.7895 7.36788C19.9986 7.73929 20.1199 8.1739 20.1838 8.83855C20.2492 9.51884 20.25 10.378 20.25 11.5937V12.4063C20.25 13.622 20.2492 14.4812 20.1838 15.1614C20.1199 15.8261 19.9986 16.2607 19.7895 16.6321C19.581 17.0025 19.2767 17.3253 18.7508 17.712C18.2109 18.1089 17.4879 18.538 16.4609 19.1462L15.7748 19.5526C14.7476 20.1608 14.0239 20.5884 13.4193 20.8693C12.8298 21.1432 12.4093 21.25 12 21.25C11.5907 21.25 11.1702 21.1432 10.5807 20.8693C9.97606 20.5884 9.25238 20.1608 8.22524 19.5526L7.53909 19.1462C6.5121 18.538 5.78906 18.1089 5.24924 17.712C4.72326 17.3253 4.419 17.0025 4.2105 16.6321C4.00145 16.2607 3.88005 15.8261 3.81618 15.1614C3.7508 14.4812 3.75 13.622 3.75 12.4063V11.5937C3.75 10.378 3.7508 9.51884 3.81618 8.83855C3.88005 8.1739 4.00145 7.73929 4.2105 7.36788C4.419 6.99746 4.72326 6.67467 5.24924 6.288C5.78906 5.89115 6.5121 5.46197 7.53909 4.85379L8.22524 4.44744Z\", fill: \"currentColor\" })));\no.displayName = \"Danger\";\nexport {\n o as Danger\n};\n","import { DangerOutline } from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\nimport styles from \"./InlineError.module.scss\";\n\nexport const InlineError = ({ children }: PropsWithChildren) => {\n return (\n <div className={classNames(styles.message)}>\n <DangerOutline className={classNames(styles.critical, \"solarIcon\")} />\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React, { ReactNode, useEffect, useRef } from \"react\";\nimport { InlineError } from \"../InlineError/InlineError\";\nimport styles from \"./Checkbox.module.scss\";\n\ninterface CheckboxProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: ReactNode;\n error?: string;\n helperText?: string;\n indeterminate?: boolean;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}\n\nexport const Checkbox: React.FC<CheckboxProps> = ({\n label,\n error,\n helperText,\n disabled,\n className,\n indeterminate,\n onChange,\n ...rest\n}) => {\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.indeterminate = !!indeterminate;\n }\n }, [indeterminate]);\n\n const handleLabelClick = () => {\n if (ref.current && !disabled) {\n const event = {\n target: ref.current,\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(event);\n }\n };\n\n return (\n <div className={styles.formItem}>\n <input\n ref={ref}\n type='checkbox'\n className={classNames(className, styles.checkbox, {\n [styles.error]: !!error,\n })}\n disabled={disabled}\n onChange={onChange}\n {...rest}\n />\n <div className={styles.labelContainer}>\n <div\n className={classNames(styles.label, {\n [styles.disabled]: disabled,\n })}\n onClick={handleLabelClick}\n >\n {label}\n </div>\n {error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {error ? <InlineError>{error}</InlineError> : helperText}\n </div>\n )}\n {helperText && !error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {helperText}\n </div>\n )}\n </div>\n </div>\n );\n};\n","import { createContext, useContext } from \"react\";\n\nexport type FormItemState = \"default\" | \"error\" | \"disabled\" | \"readOnly\";\n\nexport interface FormItemContextValue {\n state: FormItemState;\n}\n\nexport const FormItemContext = createContext<FormItemContextValue>({\n state: \"default\",\n});\n\nexport const useFormItem = () => useContext(FormItemContext);\n","// FormItem.tsx\nimport { DangerCircleBold } from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport React, { PropsWithChildren, ReactNode } from \"react\";\nimport styles from \"./FormItem.module.scss\";\nimport { FormItemContext, useFormItem } from \"./FormItemContext\";\n\n// Тип состояния формы\ntype FormState = \"default\" | \"error\" | \"disabled\" | \"readOnly\";\n\n// Props для FormItem\ninterface FormItemProps {\n children: ReactNode;\n error?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n}\n\n// FormItem Component\nconst FormItem = ({ children, error, disabled, readOnly }: FormItemProps) => {\n let state: FormState = \"default\";\n\n if (error) state = \"error\";\n else if (disabled) state = \"disabled\";\n else if (readOnly) state = \"readOnly\";\n\n return (\n <FormItemContext.Provider value={{ state }}>\n <div className={styles.formItem}>{children}</div>\n </FormItemContext.Provider>\n );\n};\n\n// Label Component\nconst Label = ({ children }: PropsWithChildren) => {\n const { state } = useFormItem();\n\n return (\n <label\n className={classNames(\n styles.label,\n state === \"disabled\" && styles.disabled,\n state === \"readOnly\" && styles.readOnly,\n )}\n >\n {children}\n </label>\n );\n};\n\n// Props для Input\ninterface InputProps extends React.ComponentPropsWithoutRef<\"input\"> {\n as?: React.ElementType;\n className?: string;\n}\n\n// Input Component (Flexible)\nconst Input = React.forwardRef<HTMLElement, InputProps>(\n ({ as: Component = \"input\", className, ...props }, ref) => {\n const { state } = useFormItem();\n\n return (\n <Component\n ref={ref}\n className={classNames(styles.input, styles[state], className)}\n disabled={state === \"disabled\"}\n readOnly={state === \"readOnly\"}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"FormItem.Input\";\n\n// Message Component\nconst Message = ({ children }: PropsWithChildren) => {\n const { state } = useFormItem();\n if (!children) return null;\n\n return (\n <div\n className={classNames(\n styles.message,\n state === \"error\" ? styles.error : styles.default,\n )}\n >\n {state === \"error\" && (\n <DangerCircleBold\n className={classNames(styles.critical, \"solarIcon\")}\n />\n )}\n {children}\n </div>\n );\n};\n\n// Combine exports\nFormItem.Label = Label;\nFormItem.Input = Input;\nFormItem.Message = Message;\n\nexport { FormItem };\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { InlineError } from \"../InlineError/InlineError\";\nimport styles from \"./Input.module.scss\";\n\ninterface BaseInputWrapperProps {\n label?: string;\n labelPlacement?: \"block\" | \"inline\";\n error?: string;\n helperText?: string;\n disabled?: boolean;\n readOnly?: boolean;\n prefix?: React.ReactNode;\n postfix?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n}\n\nexport const BaseInputWrapper = ({\n label,\n labelPlacement = \"block\",\n error,\n helperText,\n disabled,\n readOnly,\n prefix,\n postfix,\n children,\n className,\n}: BaseInputWrapperProps) => (\n <div className={styles.formItem}>\n {label && labelPlacement === \"block\" && (\n <label\n className={classNames(styles.label, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n })}\n >\n {label}\n </label>\n )}\n <div\n className={classNames(styles.inputContainer, className, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n [styles.error]: !!error,\n })}\n >\n {label && labelPlacement === \"inline\" && (\n <span className={styles.inlineLabel}>{label}</span>\n )}\n {prefix}\n {children}\n {postfix}\n </div>\n {error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n <InlineError>{error}</InlineError>\n </div>\n )}\n {helperText && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {helperText}\n </div>\n )}\n </div>\n);\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { BaseInputWrapper } from \"./BaseInputWrapper\";\nimport styles from \"./Input.module.scss\";\n\ninterface InputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"prefix\" | \"postfix\"\n > {\n label?: string;\n labelPlacement?: \"block\" | \"inline\";\n error?: string;\n helperText?: string;\n prefix?: React.ReactNode;\n postfix?: React.ReactNode;\n maskRegex?: string;\n textPrefix?: string;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n label,\n labelPlacement = \"block\",\n error,\n helperText,\n prefix,\n postfix,\n disabled,\n readOnly,\n className,\n maskRegex,\n textPrefix,\n onChange,\n onFocus,\n ...rest\n },\n ref,\n ) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (maskRegex && !new RegExp(maskRegex).test(e.target.value)) {\n e.target.setCustomValidity(\"Неверный формат\");\n } else {\n e.target.setCustomValidity(\"\");\n }\n onChange?.(e);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (textPrefix && !e.target.value) {\n const newVal = textPrefix;\n e.target.value = newVal;\n e.target.setSelectionRange(newVal.length, newVal.length);\n e.target.dispatchEvent(new Event(\"input\", { bubbles: true }));\n }\n onFocus?.(e);\n };\n\n return (\n <BaseInputWrapper\n label={label}\n labelPlacement={labelPlacement}\n error={error}\n helperText={helperText}\n prefix={prefix}\n postfix={postfix}\n disabled={disabled}\n readOnly={readOnly}\n className={className}\n >\n <input\n ref={ref}\n className={classNames(styles.input)}\n disabled={disabled}\n readOnly={readOnly}\n onChange={handleChange}\n onFocus={handleFocus}\n {...rest}\n />\n </BaseInputWrapper>\n );\n },\n);\n\nInput.displayName = \"Input\";\nexport type { InputProps };\n","// TextArea.tsx\nimport classNames from \"classnames\";\nimport React, { useEffect, useState } from \"react\";\nimport { BaseInputWrapper } from \"./BaseInputWrapper\";\nimport styles from \"./Input.module.scss\";\n\ninterface TextAreaProps\n extends Omit<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"prefix\" | \"postfix\"\n > {\n label?: string;\n error?: string;\n helperText?: string;\n prefix?: React.ReactNode;\n postfix?: React.ReactNode;\n}\n\nexport const TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n label,\n error,\n helperText,\n prefix,\n postfix,\n disabled,\n readOnly,\n className,\n onChange,\n value,\n defaultValue,\n rows = 4,\n ...rest\n },\n ref,\n ) => {\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<string>(\n defaultValue?.toString() || \"\",\n );\n\n useEffect(() => {\n if (!isControlled && defaultValue !== undefined) {\n setInternalValue(defaultValue.toString());\n }\n }, [defaultValue]);\n\n const currentValue = isControlled ? value : internalValue;\n\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const val = e.target.value;\n\n if (!isControlled) setInternalValue(val);\n\n onChange?.(e);\n };\n\n return (\n <BaseInputWrapper\n label={label}\n error={error}\n helperText={helperText}\n prefix={prefix}\n postfix={postfix}\n disabled={disabled}\n readOnly={readOnly}\n >\n <textarea\n ref={ref}\n className={classNames(styles.input, className, styles.textarea)}\n disabled={disabled}\n readOnly={readOnly}\n value={currentValue}\n rows={rows}\n onChange={handleChange}\n {...rest}\n />\n </BaseInputWrapper>\n );\n },\n);\n\nTextArea.displayName = \"TextArea\";\nexport type { TextAreaProps };\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport { InlineError } from \"../InlineError/InlineError\";\nimport styles from \"./Input.module.scss\";\n\ninterface RadioButtonProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: ReactNode;\n error?: string;\n helperText?: string;\n name: string;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}\n\nexport const RadioButton = ({\n label,\n error,\n helperText,\n disabled,\n className,\n name,\n onChange,\n ...rest\n}: RadioButtonProps) => {\n const handleLabelClick = () => {\n if (onChange) {\n const event = {\n target: {\n name,\n value: rest.value || \"\",\n },\n } as React.ChangeEvent<HTMLInputElement>;\n\n onChange(event);\n }\n };\n return (\n <div className={styles.formItem}>\n <input\n type='radio'\n className={classNames(className, styles.inputContainer, styles.radio)}\n disabled={disabled}\n name={name}\n onChange={onChange}\n {...rest}\n />\n <div className={styles.labelContainer}>\n <div\n className={classNames(styles.label, {\n [styles.disabled]: disabled,\n })}\n onClick={handleLabelClick}\n >\n {label}\n </div>\n {error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {error ? <InlineError>{error}</InlineError> : helperText}\n </div>\n )}\n {helperText && !error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {helperText}\n </div>\n )}\n </div>\n </div>\n );\n};\n","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import classNames from \"classnames\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { usePopper } from \"react-popper\";\nimport { InlineError } from \"../InlineError/InlineError\";\nimport styles from \"./Select.module.scss\";\n\ninterface SelectOption {\n label: React.ReactNode;\n value: string | number;\n disabled?: boolean;\n}\n\ninterface SelectProps {\n label?: React.ReactNode;\n labelPlacement?: \"block\" | \"inline\";\n error?: string;\n helperText?: string;\n disabled?: boolean;\n readOnly?: boolean;\n className?: string;\n placeholder?: string;\n value?: string | number;\n options: SelectOption[];\n onChange?: (value: string | number) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n renderOption?: (option: SelectOption) => React.ReactNode;\n}\n\nexport const Select = React.forwardRef<HTMLDivElement, SelectProps>(\n (\n {\n label,\n labelPlacement = \"block\",\n error,\n helperText,\n disabled,\n readOnly,\n className,\n placeholder = \"Select an option\",\n value,\n options,\n onChange,\n onFocus,\n onBlur,\n renderOption,\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const [focusedIndex, setFocusedIndex] = useState(-1);\n const [triggerElement, setTriggerElement] = useState<HTMLDivElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const optionsRef = useRef<HTMLDivElement[]>([]);\n\n const selectedOption = useMemo(\n () => options.find((option) => option.value === value),\n [options, value]\n );\n\n const popperModifiers = useMemo(\n () => [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\"],\n },\n },\n {\n name: \"preventOverflow\",\n options: {\n padding: 8,\n },\n },\n {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\" as const,\n requires: [\"computeStyles\"],\n fn: ({ state }: any) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n },\n ],\n []\n );\n\n const { styles: popperStyles, attributes } = usePopper(triggerElement, popperElement, {\n placement: \"bottom-start\",\n modifiers: popperModifiers,\n });\n\n const handleToggle = useCallback(() => {\n if (disabled || readOnly) return;\n\n if (!isOpen) {\n setIsOpen(true);\n setFocusedIndex(selectedOption ? options.indexOf(selectedOption) : -1);\n onFocus?.();\n } else {\n setIsOpen(false);\n setFocusedIndex(-1);\n onBlur?.();\n }\n }, [disabled, readOnly, isOpen, selectedOption, options, onFocus, onBlur]);\n\n const handleOptionSelect = useCallback((option: SelectOption) => {\n if (option.disabled) return;\n\n onChange?.(option.value);\n setIsOpen(false);\n setFocusedIndex(-1);\n onBlur?.();\n }, [onChange, onBlur]);\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (disabled || readOnly) return;\n\n switch (e.key) {\n case \"Enter\":\n case \" \":\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n setFocusedIndex(\n selectedOption ? options.indexOf(selectedOption) : 0,\n );\n onFocus?.();\n } else if (focusedIndex >= 0) {\n const option = options[focusedIndex];\n if (!option.disabled) {\n handleOptionSelect(option);\n }\n }\n break;\n case \"Escape\":\n if (isOpen) {\n setIsOpen(false);\n setFocusedIndex(-1);\n onBlur?.();\n }\n break;\n case \"ArrowDown\":\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n setFocusedIndex(0);\n onFocus?.();\n } else {\n const nextIndex =\n focusedIndex < options.length - 1 ? focusedIndex + 1 : 0;\n setFocusedIndex(nextIndex);\n }\n break;\n case \"ArrowUp\":\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n setFocusedIndex(options.length - 1);\n onFocus?.();\n } else {\n const prevIndex =\n focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n setFocusedIndex(prevIndex);\n }\n break;\n }\n };\n\n // Close dropdown when clicking outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const target = event.target as Node;\n const isClickInsideTrigger = triggerElement?.contains(target);\n const isClickInsideDropdown = popperElement?.contains(target);\n\n if (!isClickInsideTrigger && !isClickInsideDropdown) {\n setIsOpen(false);\n setFocusedIndex(-1);\n onBlur?.();\n }\n };\n\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () =>\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }\n }, [isOpen, onBlur, triggerElement, popperElement]);\n\n // Scroll focused option into view\n useEffect(() => {\n if (focusedIndex >= 0 && optionsRef.current[focusedIndex]) {\n optionsRef.current[focusedIndex].scrollIntoView({\n block: \"nearest\",\n });\n }\n }, [focusedIndex]);\n\n return (\n <div className={styles.formItem}>\n {label && labelPlacement === \"block\" && (\n <label\n className={classNames(styles.label, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n })}\n >\n {label}\n </label>\n )}\n <div\n ref={setTriggerElement}\n className={classNames(styles.inputContainer, className, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n [styles.error]: !!error,\n [styles.open]: isOpen,\n })}\n onClick={handleToggle}\n >\n {label && labelPlacement === \"inline\" && (\n <span className={styles.inlineLabel}>{label}</span>\n )}\n <div\n ref={ref}\n className={classNames(styles.trigger)}\n tabIndex={disabled || readOnly ? -1 : 0}\n onKeyDown={handleKeyDown}\n role='combobox'\n aria-expanded={isOpen}\n aria-haspopup='listbox'\n aria-label={typeof label === \"string\" ? label : undefined}\n >\n <span\n className={classNames(styles.value, {\n [styles.placeholder]: !selectedOption,\n })}\n >\n {selectedOption\n ? (renderOption?.(selectedOption) ?? selectedOption.label)\n : placeholder}\n </span>\n <svg\n className={classNames(styles.chevron, {\n [styles.rotated]: isOpen,\n })}\n width='16'\n height='16'\n viewBox='0 0 16 16'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <path\n d='M4 6L8 10L12 6'\n stroke='currentColor'\n strokeWidth='1'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n </div>\n </div>\n {isOpen &&\n createPortal(\n <div\n ref={setPopperElement}\n className={styles.optionsPortal}\n style={{\n ...popperStyles.popper,\n zIndex: 9999,\n }}\n {...attributes.popper}\n role='listbox'\n >\n <div className={styles.container}>\n {options.map((option, index) => (\n <div\n key={option.value}\n ref={(el) => (optionsRef.current[index] = el!)}\n className={classNames(styles.option, {\n [styles.selected]: option.value === value,\n [styles.focused]: index === focusedIndex,\n [styles.disabled]: option.disabled,\n })}\n onClick={() => handleOptionSelect(option)}\n role='option'\n aria-selected={option.value === value}\n >\n {renderOption?.(option) ?? option.label}\n </div>\n ))}\n </div>\n </div>,\n document.body,\n )}\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {error ? <InlineError>{error}</InlineError> : helperText}\n </div>\n </div>\n );\n },\n);\n\nSelect.displayName = \"Dropdown\";\nexport type { SelectProps, SelectOption };\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_en=n()}(this,(function(){\"use strict\";return{name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var n=[\"th\",\"st\",\"nd\",\"rd\"],t=e%100;return\"[\"+e+(n[(t-20)%10]||n[t]||n[0])+\"]\"}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_fr=n(e.dayjs)}(this,(function(e){\"use strict\";function n(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=n(e),i={name:\"fr\",weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},ordinal:function(e){return\"\"+e+(1===e?\"er\":\"\")}};return t.default.locale(i,null,!0),i}));","!function(_,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],e):(_=\"undefined\"!=typeof globalThis?globalThis:_||self).dayjs_locale_kk=e(_.dayjs)}(this,(function(_){\"use strict\";function e(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var t=e(_),d={name:\"kk\",weekdays:\"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі\".split(\"_\"),weekdaysShort:\"жек_дүй_сей_сәр_бей_жұм_сен\".split(\"_\"),weekdaysMin:\"жк_дй_сй_ср_бй_жм_сн\".split(\"_\"),months:\"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан\".split(\"_\"),monthsShort:\"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел\".split(\"_\"),weekStart:1,relativeTime:{future:\"%s ішінде\",past:\"%s бұрын\",s:\"бірнеше секунд\",m:\"бір минут\",mm:\"%d минут\",h:\"бір сағат\",hh:\"%d сағат\",d:\"бір күн\",dd:\"%d күн\",M:\"бір ай\",MM:\"%d ай\",y:\"бір жыл\",yy:\"%d жыл\"},ordinal:function(_){return _},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"}};return t.default.locale(d,null,!0),d}));","!function(_,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(_=\"undefined\"!=typeof globalThis?globalThis:_||self).dayjs_locale_ru=t(_.dayjs)}(this,(function(_){\"use strict\";function t(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var e=t(_),n=\"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря\".split(\"_\"),s=\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\"),r=\"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.\".split(\"_\"),o=\"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.\".split(\"_\"),i=/D[oD]?(\\[[^[\\]]*\\]|\\s)+MMMM?/;function d(_,t,e){var n,s;return\"m\"===e?t?\"минута\":\"минуту\":_+\" \"+(n=+_,s={mm:t?\"минута_минуты_минут\":\"минуту_минуты_минут\",hh:\"час_часа_часов\",dd:\"день_дня_дней\",MM:\"месяц_месяца_месяцев\",yy:\"год_года_лет\"}[e].split(\"_\"),n%10==1&&n%100!=11?s[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?s[1]:s[2])}var u=function(_,t){return i.test(t)?n[_.month()]:s[_.month()]};u.s=s,u.f=n;var a=function(_,t){return i.test(t)?r[_.month()]:o[_.month()]};a.s=o,a.f=r;var m={name:\"ru\",weekdays:\"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота\".split(\"_\"),weekdaysShort:\"вск_пнд_втр_срд_чтв_птн_сбт\".split(\"_\"),weekdaysMin:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),months:u,monthsShort:a,weekStart:1,yearStart:4,formats:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., H:mm\",LLLL:\"dddd, D MMMM YYYY г., H:mm\"},relativeTime:{future:\"через %s\",past:\"%s назад\",s:\"несколько секунд\",m:d,mm:d,h:\"час\",hh:d,d:\"день\",dd:d,M:\"месяц\",MM:d,y:\"год\",yy:d},ordinal:function(_){return _},meridiem:function(_){return _<4?\"ночи\":_<12?\"утра\":_<17?\"дня\":\"вечера\"}};return e.default.locale(m,null,!0),m}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i<t?i+7:i)-t;return this.$utils().u(e)?n:this.subtract(n,\"day\").add(e,\"day\")}}}));","import dayjs from \"dayjs\";\nimport \"dayjs/locale/en\";\nimport \"dayjs/locale/fr\";\nimport \"dayjs/locale/kk\";\nimport \"dayjs/locale/ru\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport isSameOrBefore from \"dayjs/plugin/isSameOrBefore\";\nimport localeData from \"dayjs/plugin/localeData\";\nimport localizedFormat from \"dayjs/plugin/localizedFormat\";\nimport weekday from \"dayjs/plugin/weekday\";\n\ndayjs.extend(localizedFormat);\ndayjs.extend(localeData);\ndayjs.extend(weekday);\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\n\nexport default dayjs;\nexport type { Dayjs } from \"dayjs\";\n","import * as React from \"react\";\nconst SvgFallbackAvatar = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: \"1em\", height: \"1em\", viewBox: \"0 0 96 96\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_2167_12338)\" }, /* @__PURE__ */ React.createElement(\"mask\", { id: \"mask0_2167_12338\", style: {\n maskType: \"luminance\"\n}, maskUnits: \"userSpaceOnUse\", x: 0, y: 0, width: 96, height: 96 }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M96 48C96 21.4903 74.5097 0 48 0C21.4903 0 0 21.4903 0 48C0 74.5097 21.4903 96 48 96C74.5097 96 96 74.5097 96 48Z\", fill: \"white\" })), /* @__PURE__ */ React.createElement(\"g\", { mask: \"url(#mask0_2167_12338)\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M95.9995 0H-0.000534058V96H95.9995V0Z\", fill: \"#A78BFA\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M58.0874 121.564C84.9299 110.17 97.4534 79.1729 86.0594 52.3304C74.6654 25.4879 43.6687 12.9644 16.8261 24.3583C-10.0164 35.7523 -22.5399 66.7491 -11.1459 93.5916C0.248056 120.434 31.2448 132.958 58.0874 121.564Z\", fill: \"#E879F9\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M26.1158 61.0025C25.7926 63.6349 26.8769 66.3306 29.1302 68.4968C31.3835 70.6629 34.6212 72.1219 38.131 72.5529C41.6409 72.9838 45.1354 72.3514 47.8458 70.7948C50.5562 69.2381 52.2604 66.8847 52.5837 64.2523\", fill: \"black\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M29.0638 47.9304C29.2433 46.4686 28.5001 45.1744 27.4037 45.0398C26.3074 44.9052 25.2731 45.9811 25.0936 47.4429C24.9142 48.9047 25.6574 50.1988 26.7537 50.3334C27.8501 50.468 28.8843 49.3921 29.0638 47.9304Z\", fill: \"black\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M55.5317 51.1805C55.7112 49.7187 54.9679 48.4246 53.8716 48.29C52.7752 48.1553 51.741 49.2312 51.5615 50.693C51.382 52.1548 52.1253 53.4489 53.2216 53.5835C54.3179 53.7182 55.3522 52.6423 55.5317 51.1805Z\", fill: \"black\" }))), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_2167_12338\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 96, height: 96, fill: \"white\" }))));\nexport default SvgFallbackAvatar;\n","import React from \"react\";\nimport { default as AvatarFallback } from \"./fallbackAvatar.svg?react\";\n\nexport interface AvatarProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n size?: number;\n image?: string | null;\n}\n\nexport const Avatar = ({ image, size = 36, style, ...rest }: AvatarProps) => {\n if (!image) {\n return (\n <AvatarFallback\n style={{\n width: size,\n height: size,\n borderRadius: \"50%\",\n cursor: \"pointer\",\n ...style,\n }}\n />\n );\n }\n return (\n <img\n src={image}\n alt='user_avatar'\n width={size}\n height={size}\n style={{\n borderRadius: \"50%\",\n objectFit: \"cover\",\n cursor: \"pointer\",\n ...style,\n }}\n {...rest}\n />\n );\n};\n","import { Toaster, ToasterProps } from \"sonner\";\nimport styles from \"./Message.module.scss\";\n\nexport const CustomToaster = (props: ToasterProps) => {\n return (\n <Toaster\n position='bottom-right'\n closeButton={false}\n richColors\n visibleToasts={5}\n toastOptions={{\n className: styles.toasterContainer,\n }}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nconst SvgPlus = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 20 20\", fill: \"none\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9.99968 3.41663C10.4139 3.41663 10.7497 3.75241 10.7497 4.16663V9.24963H15.8337C16.2476 9.24981 16.5835 9.5857 16.5837 9.99963C16.5837 10.4137 16.2477 10.7495 15.8337 10.7496H10.7497V15.8336C10.7495 16.2477 10.4138 16.5836 9.99968 16.5836C9.58572 16.5834 9.24986 16.2476 9.24968 15.8336V10.7496H4.16667C3.75246 10.7496 3.41667 10.4138 3.41667 9.99963C3.41687 9.58559 3.75258 9.24963 4.16667 9.24963H9.24968V4.16663C9.24968 3.75252 9.58562 3.4168 9.99968 3.41663Z\", fill: \"currentColor\" }));\nexport default SvgPlus;\n","import * as React from \"react\";\nconst SvgX = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 12 12\", fill: \"none\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M10.2197 0.21967C10.5126 -0.0732232 10.9873 -0.0732232 11.2802 0.21967C11.5731 0.512568 11.5731 0.987342 11.2802 1.28022L6.81049 5.74994L11.2802 10.2197C11.5731 10.5126 11.5731 10.9873 11.2802 11.2802C10.9873 11.5731 10.5126 11.5731 10.2197 11.2802L5.74994 6.81049L1.28022 11.2802C0.987342 11.5731 0.512568 11.5731 0.21967 11.2802C-0.0732232 10.9873 -0.0732232 10.5126 0.21967 10.2197L4.6894 5.74994L0.21967 1.28022C-0.0732233 0.987324 -0.0732233 0.512563 0.21967 0.21967C0.512563 -0.0732233 0.987324 -0.0732233 1.28022 0.21967L5.74994 4.6894L10.2197 0.21967Z\", fill: \"currentColor\" }));\nexport default SvgX;\n","import {\n CheckCircleBold,\n DangerBold,\n DangerTriangleBold,\n InfoCircleBold,\n} from \"@solar-icons/react-perf\";\nimport { toast } from \"sonner\";\nimport { Icon, IconButton } from \"@/components/display\";\nimport { X } from \"@/components/icons\";\nimport styles from \"./Message.module.scss\";\n\ntype MessageType = \"default\" | \"warning\" | \"error\" | \"success\";\n\nconst DURATION = 5000; // 5 seconds in milliseconds\n\nexport const message = {\n default(text: string) {\n toast.custom(\n (t) => (\n <div className={styles.toastWrapper}>\n <div className={styles.timer} />\n <div className={`${styles.customToast} ${styles.default}`}>\n <Icon\n className={styles.defaultIcon}\n icon={<InfoCircleBold className='solarIcon' />}\n />\n\n <div className={styles.content}>{text}</div>\n <IconButton\n onClick={() => toast.dismiss(t)}\n size='small'\n >\n <X />\n </IconButton>\n </div>\n </div>\n ),\n { duration: DURATION },\n );\n },\n\n warning(text: string) {\n toast.custom(\n (t) => (\n <div className={styles.toastWrapper}>\n <div className={`${styles.timer} ${styles.warningTimer}`} />\n <div className={`${styles.customToast} ${styles.warning}`}>\n <Icon\n icon={<DangerTriangleBold className='solarIcon' />}\n className={styles.warningIcon}\n />\n <div className={styles.content}>{text}</div>\n <IconButton\n onClick={() => toast.dismiss(t)}\n size='small'\n >\n <X />\n </IconButton>\n </div>\n </div>\n ),\n { duration: DURATION },\n );\n },\n\n error(text: string) {\n toast.custom(\n (t) => (\n <div className={styles.toastWrapper}>\n <div className={`${styles.timer} ${styles.errorTimer}`} />\n <div className={`${styles.customToast} ${styles.error}`}>\n <Icon\n icon={<DangerBold className='solarIcon' />}\n className={styles.criticalIcon}\n />\n\n <div className={styles.content}>{text}</div>\n <IconButton\n onClick={() => toast.dismiss(t)}\n size='small'\n >\n <X />\n </IconButton>\n </div>\n </div>\n ),\n { duration: DURATION },\n );\n },\n\n success(text: string) {\n toast.custom(\n (t) => (\n <div className={styles.toastWrapper}>\n <div className={`${styles.timer} ${styles.successTimer}`} />\n <div className={`${styles.customToast} ${styles.success}`}>\n <Icon\n icon={<CheckCircleBold className='solarIcon' />}\n className={styles.successIcon}\n />\n\n <div className={styles.content}>{text}</div>\n <IconButton\n onClick={() => toast.dismiss(t)}\n size='small'\n >\n <X />\n </IconButton>\n </div>\n </div>\n ),\n { duration: DURATION },\n );\n },\n\n show(text: string, type: MessageType = \"default\") {\n if (type === \"error\") return this.error(text);\n if (type === \"warning\") return this.warning(text);\n if (type === \"success\") return this.success(text);\n return this.default(text);\n },\n};\n","import { DangerBold, DangerTriangleBold } from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport React, { HTMLAttributes, PropsWithChildren, ReactNode } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Button, ButtonProps, Typography } from \"@/components\";\nimport styles from \"./Modal.module.scss\";\n\nexport interface ModalProps {\n activator?: ReactNode;\n open: boolean;\n onClose?: () => void;\n title: ReactNode;\n primaryButtonProps?: ButtonProps;\n secondaryButtonProps?: ButtonProps[];\n tone?: \"default\" | \"critical\" | \"warning\";\n children: ReactNode;\n fullHeight?: boolean;\n size?: \"sm\" | \"lg\" | \"md\";\n}\n\nconst ModalBase = ({\n open,\n title,\n primaryButtonProps,\n secondaryButtonProps = [],\n tone = \"default\",\n fullHeight = false,\n children,\n size = \"md\",\n}: ModalProps) => {\n if (!open) return null;\n\n const toneClass = styles[`tone-${tone}`] || \"\";\n\n return createPortal(\n <Typography>\n <div className={styles.modalLayout}>\n <div\n className={`${styles.modalContainer} ${toneClass} ${styles[size]} ${fullHeight && styles.fullHeight}`}\n onClick={(e) => e.stopPropagation()}\n role='dialog'\n aria-modal='true'\n aria-labelledby='modal-title'\n >\n <div className={styles.header}>\n <div className={styles.title}>\n {tone === \"critical\" && (\n <DangerBold\n className={classNames(styles.critical, \"solarIcon\")}\n />\n )}\n {tone === \"warning\" && (\n <DangerTriangleBold\n className={classNames(styles.warning, \"solarIcon\")}\n />\n )}\n <Typography variant='heading-sm'>{title}</Typography>\n </div>\n </div>\n\n <div className={classNames(styles.content)}>{children}</div>\n\n <div className={styles.footer}>\n {secondaryButtonProps.map((props, i) => (\n <Button\n key={i}\n className={styles.secondaryButton}\n {...props}\n >\n {props.children}\n </Button>\n ))}\n {primaryButtonProps && (\n <Button\n type='button'\n state='primary'\n className={styles.primaryButton}\n {...primaryButtonProps}\n >\n {primaryButtonProps.children}\n </Button>\n )}\n </div>\n </div>\n </div>{\" \"}\n </Typography>,\n document.body,\n );\n};\n\nconst Section = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => (\n <section\n className={classNames(styles.section, className)}\n {...rest}\n >\n {children}\n </section>\n);\n\ninterface ModalComponent extends React.FC<ModalProps> {\n Section: typeof Section;\n}\n\nconst Modal = ModalBase as ModalComponent;\nModal.Section = Section;\n\nexport { Modal };\n","import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { Modal } from \"./Modal\";\n\nexport interface ModalShowOptions {\n title: string;\n content: React.ReactNode;\n onOk?: () => void;\n onCancel?: () => void;\n okText?: string;\n cancelText?: string;\n tone?: \"default\" | \"critical\" | \"warning\";\n style?: React.CSSProperties;\n centered?: boolean;\n}\n\nexport function showModal(options: ModalShowOptions) {\n const container = document.createElement(\"div\");\n document.body.appendChild(container);\n\n const root = createRoot(container);\n\n const unmount = () => {\n root.unmount();\n container.remove();\n };\n\n const handleOk = () => {\n options.onOk?.();\n unmount();\n };\n\n const handleCancel = () => {\n options.onCancel?.();\n unmount();\n };\n\n root.render(\n <Modal\n open={true}\n title={options.title}\n tone={options.tone}\n onClose={handleCancel}\n primaryButtonProps={{\n children: options.okText || \"OK\",\n onClick: handleOk,\n }}\n secondaryButtonProps={[\n {\n children: options.cancelText || \"Cancel\",\n onClick: handleCancel,\n },\n ]}\n >\n <Modal.Section>{options.content}</Modal.Section>\n </Modal>,\n );\n}\n\nexport const ModalAPI = {\n error: (opts: Omit<ModalShowOptions, \"tone\">) =>\n showModal({ ...opts, tone: \"critical\" }),\n\n warning: (opts: Omit<ModalShowOptions, \"tone\">) =>\n showModal({ ...opts, tone: \"warning\" }),\n\n info: (opts: Omit<ModalShowOptions, \"tone\">) =>\n showModal({ ...opts, tone: \"default\" }),\n};\n","import styles from \"./Spinner.module.scss\";\n\ninterface SpinnerProps {\n size?: number;\n}\n\nexport const Spinner = ({ size = 20 }: SpinnerProps) => {\n return (\n <svg\n className={styles.spin}\n width={size}\n height={size}\n viewBox='0 0 50 50'\n >\n <circle\n cx='25'\n cy='25'\n r='20'\n strokeWidth='6'\n fill='none'\n strokeLinecap='round'\n strokeDasharray='100'\n strokeDashoffset='60'\n />\n </svg>\n );\n};\n","import classNames from \"classnames\";\nimport { CSSProperties, ReactNode, useId, useRef, useState } from \"react\";\nimport styles from \"./Tooltip.module.scss\";\n\nexport interface TooltipProps {\n active?: boolean;\n content: ReactNode;\n hoverDelay?: number;\n preferredPosition?: \"above\" | \"below\" | \"mostSpace\" | \"cover\";\n zIndexOverride?: number;\n persistOnClick?: boolean;\n trigger?: \"hover\" | \"click\" | \"both\";\n children: ReactNode;\n className?: string;\n tooltipClassName?: string;\n}\n\nexport const Tooltip = ({\n active: controlledActive,\n content,\n hoverDelay = 300,\n preferredPosition = \"above\",\n zIndexOverride,\n trigger = \"hover\",\n children,\n className,\n tooltipClassName,\n}: TooltipProps) => {\n const [active, setActive] = useState(false);\n const [computedPosition, setComputedPosition] = useState(preferredPosition);\n const hoverTimeout = useRef<number | null>(null);\n const persist = useRef(false);\n const triggerRef = useRef<HTMLSpanElement | null>(null);\n\n const isActive = controlledActive !== undefined ? controlledActive : active;\n const canTriggerHover = trigger === \"hover\" || trigger === \"both\";\n const canTriggerClick = trigger === \"click\" || trigger === \"both\";\n\n const tooltipId = useId();\n\n const positionClass = styles[`tooltip-position-${computedPosition}`] || \"\";\n\n const wrapperClassName = classNames(styles.tooltipWrapper, className);\n const tooltipClass = classNames(\n styles.tooltip,\n positionClass,\n tooltipClassName,\n );\n\n const style: CSSProperties = {\n zIndex: zIndexOverride ?? 400,\n position: \"absolute\",\n };\n\n const handleMouseEnter = () => {\n if (!canTriggerHover || controlledActive !== undefined) return;\n\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current);\n\n hoverTimeout.current = window.setTimeout(() => {\n if (preferredPosition === \"mostSpace\" && triggerRef.current) {\n const rect = triggerRef.current.getBoundingClientRect();\n const spaceAbove = rect.top;\n const spaceBelow = window.innerHeight - rect.bottom;\n\n setComputedPosition(spaceBelow >= spaceAbove ? \"below\" : \"above\");\n } else {\n setComputedPosition(preferredPosition);\n }\n\n setActive(true);\n }, hoverDelay);\n };\n\n const handleMouseLeave = () => {\n if (!canTriggerHover || controlledActive !== undefined) return;\n\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current);\n\n hoverTimeout.current = window.setTimeout(() => {\n if (!persist.current) {\n setActive(false);\n }\n }, 50);\n };\n\n const handleClick = () => {\n if (!canTriggerClick || controlledActive !== undefined) return;\n\n persist.current = !persist.current;\n\n if (preferredPosition === \"mostSpace\" && triggerRef.current) {\n const rect = triggerRef.current.getBoundingClientRect();\n const spaceAbove = rect.top;\n const spaceBelow = window.innerHeight - rect.bottom;\n\n setComputedPosition(spaceBelow >= spaceAbove ? \"below\" : \"above\");\n } else {\n setComputedPosition(preferredPosition);\n }\n\n setActive(persist.current);\n };\n\n return (\n <span\n ref={triggerRef}\n className={wrapperClassName}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={handleClick}\n aria-describedby={isActive ? tooltipId : undefined}\n tabIndex={0}\n style={{ display: \"inline-block\", position: \"relative\" }}\n >\n {children}\n\n {isActive && (\n <div\n id={tooltipId}\n role='tooltip'\n className={tooltipClass}\n style={style}\n >\n {content}\n </div>\n )}\n </span>\n );\n};\n","import classNames from \"classnames\";\nimport React, { HTMLAttributes, PropsWithChildren, ReactNode } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Button, ButtonProps, IconButton, Typography, X } from \"@/components\";\nimport styles from \"./Window.module.scss\";\n\nexport interface WindowProps {\n activator?: ReactNode;\n open: boolean;\n onClose?: () => void;\n title: string;\n primaryButtonProps?: ButtonProps;\n secondaryButtonProps?: ButtonProps[];\n children: ReactNode;\n fullHeight?: boolean;\n size?: \"sm\" | \"lg\" | \"md\";\n}\n\nconst WindowBase = ({\n open,\n onClose,\n title,\n primaryButtonProps,\n secondaryButtonProps,\n fullHeight = false,\n children,\n size = \"md\",\n}: WindowProps) => {\n if (!open) return null;\n\n return createPortal(\n <Typography>\n <div className={styles.WindowLayout}>\n <div\n className={`${styles.WindowContainer} ${styles[size]} ${fullHeight && styles.fullHeight}`}\n onClick={(e) => e.stopPropagation()}\n role='dialog'\n aria-labelledby='Window-title'\n >\n <div className={styles.header}>\n <div className={styles.title}>\n <Typography variant='heading-sm'>{title}</Typography>\n </div>\n {onClose && (\n <IconButton\n size='small'\n state='default'\n onClick={onClose}\n aria-label='Close Window'\n >\n <X />\n </IconButton>\n )}\n </div>\n\n <div className={classNames(styles.content)}>{children}</div>\n\n <div className={styles.footer}>\n {secondaryButtonProps?.map((props, i) => (\n <Button\n key={i}\n className={styles.secondaryButton}\n {...props}\n >\n {props.children}\n </Button>\n ))}\n {primaryButtonProps && (\n <Button\n type='button'\n state='primary'\n className={styles.primaryButton}\n {...primaryButtonProps}\n >\n {primaryButtonProps.children}\n </Button>\n )}\n </div>\n </div>\n </div>{\" \"}\n </Typography>,\n document.body,\n );\n};\n\nconst Section = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => (\n <section\n className={classNames(styles.section, className)}\n {...rest}\n >\n {children}\n </section>\n);\n\ninterface WindowComponent extends React.FC<WindowProps> {\n Section: typeof Section;\n}\n\nconst Window = WindowBase as WindowComponent;\nWindow.Section = Section;\n\nexport { Window };\n","import { createRoot } from \"react-dom/client\";\nimport { Window, WindowProps } from \"./Window\";\n\nexport function showWindow(options: WindowProps) {\n const container = document.createElement(\"div\");\n document.body.appendChild(container);\n\n const root = createRoot(container);\n\n const unmount = () => {\n root.unmount();\n container.remove();\n };\n\n const primaryButtonProps = options.primaryButtonProps\n ? {\n ...options.primaryButtonProps,\n onClick: () => {\n options.primaryButtonProps?.onClick?.();\n unmount();\n },\n }\n : undefined;\n\n const secondaryButtonProps = options.secondaryButtonProps?.map((btn) => ({\n ...btn,\n onClick: () => {\n btn.onClick?.();\n unmount();\n },\n }));\n\n root.render(\n <Window\n {...options}\n open={true}\n onClose={() => {\n options.onClose?.();\n unmount();\n }}\n primaryButtonProps={primaryButtonProps}\n secondaryButtonProps={secondaryButtonProps}\n >\n <Window.Section>{options.children}</Window.Section>\n </Window>,\n );\n}\n\nexport const WindowAPI = {\n error: (opts: Omit<WindowProps, \"tone\" | \"open\">) =>\n showWindow({ ...opts, open: true }),\n\n warning: (opts: Omit<WindowProps, \"tone\" | \"open\">) =>\n showWindow({ ...opts, open: true }),\n\n info: (opts: Omit<WindowProps, \"tone\" | \"open\">) =>\n showWindow({ ...opts, open: true }),\n};\n","import styles from \"./AppLoader.module.scss\";\n\nexport const AppLoader = () => {\n return (\n <div className={styles.loader}>\n <div className={styles.face}>\n <div className={styles.eyes}>\n <div className={styles.eye}></div>\n <div className={styles.eye}></div>\n </div>\n <div className={styles.mouth}></div>\n </div>\n </div>\n );\n};\n","import {\n CheckCircleBold,\n DangerTriangleBold,\n InfoCircleBold,\n} from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport { HTMLAttributes, ReactNode } from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./info.module.scss\";\n\nexport interface InfoProps extends HTMLAttributes<HTMLDivElement> {\n text: ReactNode;\n tone?: \"warning\" | \"information\" | \"success\";\n}\n\nexport const InfoIcons: Record<\n \"warning\" | \"information\" | \"success\",\n ReactNode\n> = {\n information: (\n <DangerTriangleBold className={classNames(styles.icon, \"solarIcon\")} />\n ),\n warning: <InfoCircleBold className={classNames(styles.icon, \"solarIcon\")} />,\n success: <CheckCircleBold className={classNames(styles.icon, \"solarIcon\")} />,\n};\n\nexport const Info = ({\n text,\n tone = \"information\",\n className,\n ...rest\n}: InfoProps) => {\n return (\n <div\n className={classNames(styles.container, styles[tone], className)}\n {...rest}\n >\n {InfoIcons[tone]}\n <Typography className={styles.text}>{text}</Typography>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport { Spinner } from \"@/components/feedback\";\nimport styles from \"./Button.module.scss\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n state?: \"default\" | \"primary\" | \"tertiary\" | \"plain\";\n size?: \"small\" | \"medium\" | \"large\";\n selected?: boolean;\n children: ReactNode;\n className?: string;\n onClick?: () => void;\n loading?: boolean;\n tone?: \"default\" | \"critical\" | \"warning\";\n}\n\nexport const Button = ({\n state = \"default\",\n size = \"medium\",\n selected = false,\n disabled = false,\n children,\n onClick = () => {},\n className = \"\",\n loading,\n type = \"button\",\n tone,\n ...rest\n}: ButtonProps) => {\n const buttonClass = classNames(\n styles.btn,\n tone ? styles[tone] : styles[state],\n styles[size],\n\n {\n [styles[`${state}-selected`]]: selected,\n },\n\n className,\n );\n\n return (\n <button\n className={buttonClass}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n type={type}\n >\n {loading ? <Spinner /> : children}\n </button>\n );\n};\n","import classNames from \"classnames\";\nimport React, { ReactNode, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { usePopper } from \"react-popper\";\nimport styles from \"./Dropdown.module.scss\";\n\ninterface DropdownProps {\n children: ReactNode;\n trigger: ReactNode;\n className?: string;\n align?: \"left\" | \"right\";\n}\n\nexport const Dropdown: React.FC<DropdownProps> = ({\n children,\n trigger,\n className,\n align = \"left\",\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [triggerElement, setTriggerElement] = useState<HTMLDivElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n\n const popperModifiers = useMemo(\n () => [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [align === \"right\" ? \"top-end\" : \"top-start\"],\n },\n },\n {\n name: \"preventOverflow\",\n options: {\n padding: 8,\n },\n },\n ],\n [align]\n );\n\n const { styles: popperStyles, attributes } = usePopper(triggerElement, popperElement, {\n placement: align === \"right\" ? \"bottom-end\" : \"bottom-start\",\n modifiers: popperModifiers,\n });\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target as Node;\n const isClickInsideTrigger = triggerElement?.contains(target);\n const isClickInsideDropdown = popperElement?.contains(target);\n\n if (!isClickInsideTrigger && !isClickInsideDropdown) {\n setIsOpen(false);\n }\n },\n [triggerElement, popperElement]\n );\n\n useEffect(() => {\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }\n }, [isOpen, handleClickOutside]);\n\n const handleToggle = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n return (\n <>\n <div\n className={classNames(className)}\n ref={setTriggerElement}\n >\n <div\n className={styles.trigger}\n onClick={handleToggle}\n >\n {trigger}\n </div>\n </div>\n\n {isOpen &&\n createPortal(\n <div\n ref={setPopperElement}\n className={styles.containerPortal}\n style={{\n ...popperStyles.popper,\n zIndex: 9999,\n }}\n {...attributes.popper}\n >\n {children}\n </div>,\n document.body,\n )}\n </>\n );\n};\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport { Button, Typography } from \"@/components\";\nimport styles from \"./Empty.module.scss\";\n\nexport interface EmptyProps {\n children: ReactNode;\n className?: string;\n}\n\nconst EmptyBase = ({ children, className = \"\" }: EmptyProps) => (\n <div className={`${styles.emptyContainer} ${className}`}>{children}</div>\n);\n\nexport interface EmptyTextProps {\n children: ReactNode;\n className?: string;\n}\n\nconst EmptyTitle = ({ children, className = \"\" }: EmptyTextProps) => (\n <>\n <Typography\n className={classNames(className, styles.desktop)}\n variant={\"heading-lg\"}\n weight='bold'\n >\n {children}\n </Typography>\n </>\n);\n\nconst EmptyContext = ({ children, className = \"\" }: EmptyTextProps) => (\n <div className={classNames(className, styles.content)}>{children}</div>\n);\n\nconst EmptyContent = ({ children, className = \"\" }: EmptyTextProps) => (\n <div className={` ${className}`}>{children}</div>\n);\n\nconst EmptyButtonContent = ({ children, className = \"\" }: EmptyTextProps) => (\n <div className={`${styles.buttonContent} ${className}`}>{children}</div>\n);\n\nexport interface EmptyButtonProps {\n children: ReactNode;\n onClick?: () => void;\n className?: string;\n}\n\nconst EmptyPrimaryButton = ({\n children,\n onClick,\n className = \"\",\n}: EmptyButtonProps) => (\n <Button\n state={\"primary\"}\n size='medium'\n className={`${styles.buttons} ${className}`}\n onClick={onClick}\n >\n {children}\n </Button>\n);\n\nconst EmptySecondaryButton = ({\n children,\n onClick,\n className = \"\",\n}: EmptyButtonProps) => (\n <Button\n size='medium'\n className={`${styles.buttons} ${className}`}\n onClick={onClick}\n >\n {children}\n </Button>\n);\n\ninterface EmptyImageProps {\n src: string;\n className?: string;\n alt?: string;\n}\n\nconst EmptyImage = ({\n src,\n className = \"\",\n alt = \"Empty state image\",\n}: EmptyImageProps) => (\n <img\n className={classNames(styles.imageContent, className)}\n src={src}\n alt={alt}\n />\n);\n\ninterface EmptyType extends React.FC<EmptyProps> {\n Title: typeof EmptyTitle;\n Context: typeof EmptyContext;\n Content: typeof EmptyContent;\n ButtonContent: typeof EmptyButtonContent;\n PrimaryButton: typeof EmptyPrimaryButton;\n SecondaryButton: typeof EmptySecondaryButton;\n Image: typeof EmptyImage;\n}\n\nconst Empty = EmptyBase as EmptyType;\n\nEmpty.Title = EmptyTitle;\nEmpty.Context = EmptyContext;\nEmpty.Content = EmptyContent;\nEmpty.ButtonContent = EmptyButtonContent;\nEmpty.PrimaryButton = EmptyPrimaryButton;\nEmpty.SecondaryButton = EmptySecondaryButton;\nEmpty.Image = EmptyImage;\n\nexport { Empty };\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./IconButton.module.scss\";\n\nexport interface IconButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n state?: \"default\" | \"primary\" | \"tertiary\" | \"plain\";\n size?: \"small\" | \"medium\" | \"large\";\n selected?: boolean;\n children: React.ReactNode;\n className?: string;\n onClick?: () => void;\n}\n\nexport const IconButton = ({\n state = \"default\",\n size = \"medium\",\n selected = false,\n disabled = false,\n children,\n onClick = () => {},\n className = \"\",\n ...rest\n}: IconButtonProps) => {\n const buttonClass = classNames(\n styles.btn,\n styles[state],\n styles[size],\n {\n [styles[`${state}-selected`]]: selected,\n },\n className,\n );\n\n return (\n <button\n className={buttonClass}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n >\n {children}\n </button>\n );\n};\n\nexport default IconButton;\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport styles from \"./Typography.module.scss\";\n\nexport interface TypographyProps {\n variant?:\n | \"heading-xl\"\n | \"heading-lg\"\n | \"heading-md\"\n | \"heading-sm\"\n | \"heading-xs\"\n | \"body-lg\"\n | \"body-md\"\n | \"body-sm\"\n | \"display\";\n className?: string;\n children: ReactNode;\n weight?: \"regular\" | \"semibold\" | \"bold\" | \"medium\";\n underline?: boolean;\n}\n\nexport const Typography = ({\n variant = \"body-md\",\n className = \"\",\n children,\n weight,\n}: TypographyProps) => {\n const variantClass = styles[variant] || \"\";\n const weightClass = styles[weight || \"\"] || \"\";\n\n return (\n <span\n className={classNames(\n styles.typography,\n variantClass,\n weightClass,\n className,\n )}\n >\n {children}\n </span>\n );\n};\n","import React from \"react\";\nimport styles from \"./SvgStyleWrapper.module.scss\";\n\ninterface SvgStyleWrapperProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport const SvgStyleWrapper = ({\n children,\n className = \"\",\n}: SvgStyleWrapperProps) => {\n return <div className={`${styles.svgWrapper} ${className}`}>{children}</div>;\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./Icon.module.scss\";\n\nexport type IconDecorativeColors =\n | \"neutral\"\n | \"blue\"\n | \"violet\"\n | \"green\"\n | \"indigo\"\n | \"fuchsia\"\n | \"red\"\n | \"amber\"\n | \"lime\"\n | \"teal\";\n\nexport type IconType =\n | React.FC<React.SVGProps<SVGSVGElement>>\n | React.ReactElement<React.SVGProps<SVGSVGElement>>;\n\ninterface IconProps extends React.SVGAttributes<SVGElement> {\n icon: IconType;\n size?: number | string;\n strokeWidth?: number;\n className?: string;\n color?: IconDecorativeColors;\n}\n\nexport const Icon = ({\n icon,\n size,\n strokeWidth = 2,\n className,\n color,\n ...rest\n}: IconProps) => {\n const style = size ? { width: size, height: size } : undefined;\n\n const renderIcon = () => {\n if (React.isValidElement<React.SVGProps<SVGSVGElement>>(icon)) {\n return React.cloneElement(icon, {\n strokeWidth,\n className: \"stpIcon\",\n ...rest,\n });\n }\n if (typeof icon === \"function\") {\n return React.createElement(icon, {\n strokeWidth,\n className: \"stpIcon\",\n ...rest,\n });\n }\n return null;\n };\n\n if (color) {\n return (\n <div\n className={classNames(styles[color], styles.color, className)}\n style={style}\n >\n {renderIcon()}\n </div>\n );\n }\n\n return (\n <span\n className={classNames(styles.icon, className)}\n style={style}\n >\n {renderIcon()}\n </span>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./OptionList.module.scss\";\n\nexport type ShadowLevel = \"lower\" | \"higher\";\n\nexport interface OptionProps {\n label: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: () => void;\n disabled?: boolean;\n className?: string;\n}\n\nexport const Option = ({\n label,\n icon,\n onClick,\n disabled,\n className,\n}: OptionProps) => {\n return (\n <div\n role='menuitem'\n className={classNames(\n styles.option,\n {\n [styles.disabled]: disabled,\n },\n className,\n )}\n onClick={() => !disabled && onClick?.()}\n aria-disabled={disabled || undefined}\n >\n {icon}\n <span>{label}</span>\n </div>\n );\n};\n\nexport interface OptionListItem {\n label: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: () => void;\n disabled?: boolean;\n}\n\nexport interface OptionListProps {\n items: OptionListItem[];\n onSelect?: (item: OptionListItem, index: number) => void;\n className?: string;\n shadow?: ShadowLevel;\n}\n\nexport const OptionList = ({\n items,\n onSelect,\n className,\n shadow = \"lower\",\n}: OptionListProps) => {\n return (\n <div\n className={classNames(\n styles.options,\n {\n [styles.shadowLower]: shadow === \"lower\",\n [styles.shadowHigher]: shadow === \"higher\",\n },\n className,\n )}\n role='menu'\n >\n <div className={styles.container}>\n {items.map((item, index) => (\n <Option\n key={index}\n label={item.label}\n icon={item.icon}\n disabled={item.disabled}\n onClick={() => !item.disabled && onSelect?.(item, index)}\n />\n ))}\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport { Button, Typography } from \"@/components\";\nimport styles from \"./Illustrations.module.scss\";\n\nexport interface IllustrationProps {\n children: ReactNode;\n className?: string;\n}\n\nconst IllustrationBase = ({ children, className = \"\" }: IllustrationProps) => (\n <div className={`${styles.IllustrationContainer} ${className}`}>\n {children}\n </div>\n);\n\nexport interface IllustrationTextProps {\n children: ReactNode;\n className?: string;\n}\n\nconst IllustrationTitle = ({\n children,\n className = \"\",\n}: IllustrationTextProps) => (\n <>\n <Typography\n className={classNames(className)}\n variant={\"heading-lg\"}\n weight='bold'\n >\n {children}\n </Typography>\n </>\n);\n\nconst IllustrationContext = ({\n children,\n className = \"\",\n}: IllustrationTextProps) => (\n <div className={classNames(className)}>{children}</div>\n);\n\nconst IllustrationContent = ({\n children,\n className = \"\",\n}: IllustrationTextProps) => (\n <div className={`${styles.content} ${className}`}>{children}</div>\n);\n\nconst IllustrationButtonContent = ({\n children,\n className = \"\",\n}: IllustrationTextProps) => (\n <div className={`${styles.buttonContent} ${className}`}>{children}</div>\n);\n\nexport interface IllustrationButtonProps {\n children: ReactNode;\n onClick?: () => void;\n className?: string;\n}\n\nconst IllustrationPrimaryButton = ({\n children,\n onClick,\n className = \"\",\n}: IllustrationButtonProps) => (\n <Button\n state={\"primary\"}\n size='medium'\n className={`${styles.buttons} ${className}`}\n onClick={onClick}\n >\n {children}\n </Button>\n);\n\nconst IllustrationSecondaryButton = ({\n children,\n onClick,\n className = \"\",\n}: IllustrationButtonProps) => (\n <Button\n size='medium'\n className={`${styles.buttons} ${className}`}\n onClick={onClick}\n >\n {children}\n </Button>\n);\n\ninterface IllustrationImageProps {\n src: string;\n className?: string;\n alt?: string;\n size?: \"small\" | \"large\";\n}\n\nconst IllustrationImage = ({\n src,\n className = \"\",\n alt = \"Illustration state image\",\n size = \"large\",\n}: IllustrationImageProps) => {\n return (\n <img\n className={classNames(\n styles.imageContent,\n size === \"small\" ? styles.imageSmall : styles.imageLarge,\n className,\n )}\n src={src}\n alt={alt}\n />\n );\n};\ninterface IllustrationType extends React.FC<IllustrationProps> {\n Title: typeof IllustrationTitle;\n Context: typeof IllustrationContext;\n Content: typeof IllustrationContent;\n ButtonContent: typeof IllustrationButtonContent;\n PrimaryButton: typeof IllustrationPrimaryButton;\n SecondaryButton: typeof IllustrationSecondaryButton;\n Image: typeof IllustrationImage;\n}\n\nconst Illustration = IllustrationBase as IllustrationType;\n\nIllustration.Title = IllustrationTitle;\nIllustration.Context = IllustrationContext;\nIllustration.Content = IllustrationContent;\nIllustration.ButtonContent = IllustrationButtonContent;\nIllustration.PrimaryButton = IllustrationPrimaryButton;\nIllustration.SecondaryButton = IllustrationSecondaryButton;\nIllustration.Image = IllustrationImage;\n\nexport { Illustration };\n","import classNames from \"classnames\";\nimport React, { ReactNode } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport styles from \"./Chip.module.scss\";\n\nexport type ChipColor =\n | \"blue\"\n | \"violet\"\n | \"fuchsia\"\n | \"lime\"\n | \"teal\"\n | \"indigo\"\n | \"red\"\n | \"amber\"\n | \"green\"\n | \"neutral\";\n\nexport interface ChipProps {\n label: ReactNode;\n icon?: ReactNode;\n color?: ChipColor;\n className?: string;\n size?: \"small\" | \"medium\";\n}\n\nexport const Chip: React.FC<ChipProps> = ({\n label,\n icon,\n color = \"blue\",\n className,\n size = \"medium\",\n}) => {\n return (\n <div\n className={classNames(styles.chip, styles[`chip--${color}`], className)}\n >\n {icon}\n <Typography\n weight='medium'\n variant={size === \"medium\" ? \"body-md\" : \"body-sm\"}\n >\n {label}\n </Typography>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React, { ReactNode } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport styles from \"./InputChip.module.scss\";\n\nexport interface InputChipProps extends React.HTMLAttributes<HTMLDivElement> {\n label: ReactNode;\n icon?: ReactNode;\n}\n\nexport const InputChip: React.FC<InputChipProps> = ({\n label,\n icon,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(styles.inputChip, className)}\n {...rest}\n >\n <Typography\n weight='medium'\n variant='body-md'\n >\n {label}\n </Typography>\n {icon}\n </div>\n );\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState<boolean>(() => {\n if (typeof window !== \"undefined\") {\n return window.innerWidth < 481;\n }\n return false; // default for SSR\n });\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 481);\n };\n\n // run once on mount in case width changed before effect\n handleResize();\n\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return isMobile;\n};\n","import React, { forwardRef, memo, MouseEventHandler, useCallback } from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./CalendarDay.module.scss\";\n\nexport type CornerType = \"start\" | \"end\" | \"both\" | null;\n\nexport interface CalendarDayProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\"> {\n number: number;\n isActive?: boolean;\n isCorner?: boolean;\n isInRange?: boolean;\n cornerType?: CornerType;\n onClick?: (dayNumber: number) => void;\n disabled?: boolean;\n className?: string;\n}\n\nconst CalendarDayBase = forwardRef<HTMLButtonElement, CalendarDayProps>(\n (\n {\n number,\n isActive = false,\n isCorner = false,\n cornerType = null,\n onClick,\n disabled = false,\n isInRange = false,\n className = \"\",\n ...props\n },\n ref,\n ) => {\n const handleClick: MouseEventHandler<HTMLButtonElement> =\n useCallback(() => {\n if (!disabled && onClick) onClick(number);\n }, [disabled, onClick, number]);\n\n const dayClasses = [styles.calendarDay];\n\n if (isActive) dayClasses.push(styles.calendarDayActive);\n\n if (isCorner) {\n dayClasses.push(styles.calendarDayCorner);\n if (cornerType === \"start\")\n dayClasses.push(styles.calendarDayCornerStart);\n if (cornerType === \"end\") dayClasses.push(styles.calendarDayCornerEnd);\n }\n\n if (isInRange) dayClasses.push(styles.calendarDayInRange);\n if (className) dayClasses.push(className);\n\n return (\n <button\n ref={ref}\n type='button'\n className={dayClasses.join(\" \")}\n onClick={handleClick}\n disabled={disabled}\n aria-label={`Day ${number}`}\n {...props}\n >\n <Typography\n className={styles.calendarDayNumber}\n variant='body-md'\n >\n {number}\n </Typography>\n </button>\n );\n },\n);\n\nCalendarDayBase.displayName = \"CalendarDay\";\n\nconst areEqual = (\n prev: Readonly<CalendarDayProps>,\n next: Readonly<CalendarDayProps>,\n) =>\n prev.number === next.number &&\n prev.isActive === next.isActive &&\n prev.isCorner === next.isCorner &&\n prev.isInRange === next.isInRange &&\n prev.cornerType === next.cornerType &&\n prev.disabled === next.disabled &&\n prev.className === next.className &&\n prev.onClick === next.onClick;\n\nexport const CalendarDay = memo(CalendarDayBase, areEqual);\n","import dayjs from \"dayjs\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./CalendarDayHeaders.module.scss\";\n\ninterface CalendarDayHeaderProps {\n locale?: string;\n weekStartsOn?: 0 | 1;\n}\n\nconst CalendarDayHeader = ({\n locale,\n weekStartsOn = 1,\n}: CalendarDayHeaderProps) => {\n const start = dayjs()\n .locale(locale ?? dayjs.locale())\n .day(weekStartsOn);\n const days = Array.from({ length: 7 }).map((_, i) =>\n start.add(i, \"day\").locale(locale ?? dayjs.locale()),\n );\n\n return (\n <Typography>\n <div className={styles.headerRow}>\n {days.map((d, idx) => (\n <div\n key={idx}\n className={styles.headerCell}\n >\n {d.format(\"dd\")}\n </div>\n ))}\n </div>\n </Typography>\n );\n};\n\nexport default CalendarDayHeader;\n","import { Dayjs } from \"@/lib/dayjs\";\n\nexport const startOfDay = (d: Dayjs) => d.startOf(\"day\");\nexport const endOfDay = (d: Dayjs) => d.endOf(\"day\");\n\nexport const isSameDay = (a?: Dayjs | null, b?: Dayjs | null) =>\n !!a && !!b && a.isSame(b, \"day\");\n\nexport const isBefore = (a: Dayjs, b: Dayjs) => a.isBefore(b, \"day\");\nexport const isAfter = (a: Dayjs, b: Dayjs) => a.isAfter(b, \"day\");\n\nexport const clampDate = (d: Dayjs, min?: Dayjs, max?: Dayjs) => {\n if (min && d.isBefore(min, \"day\")) return min;\n if (max && d.isAfter(max, \"day\")) return max;\n return d;\n};\n\nexport const addMonths = (d: Dayjs, n: number) => d.add(n, \"month\");\nexport const addDays = (d: Dayjs, n: number) => d.add(n, \"day\");\n\n/** 6×7 grid for a month view */\nexport const daysInMonthGrid = (month: Dayjs, weekStartsOn: 0 | 1) => {\n const firstOfMonth = month.startOf(\"month\");\n const firstDow = firstOfMonth.day();\n const offset = (firstDow - weekStartsOn + 7) % 7;\n const gridStart = firstOfMonth.subtract(offset, \"day\");\n\n return Array.from({ length: 42 }).map((_, i) => {\n const date = gridStart.add(i, \"day\");\n return {\n date,\n inCurrentMonth: date.month() === month.month(),\n };\n });\n};\n\nexport const isDisabled = (d: Dayjs, min?: Dayjs, max?: Dayjs) =>\n (min && d.isBefore(min, \"day\")) || (max && d.isAfter(max, \"day\"));\n","import { ArrowLeftOutline, ArrowRightOutline } from \"@solar-icons/react-perf\";\nimport { memo, useCallback, useMemo } from \"react\";\nimport { IconButton, Typography } from \"@/components/display\";\nimport dayjs, { Dayjs } from \"@/lib/dayjs\";\nimport { useIsMobile } from \"@/lib/useIsMobile\";\nimport { CalendarDay, CornerType } from \"../CalendarDay/CalendarDay\";\nimport CalendarDayHeader from \"../CalendarDayHeader/CalendarDayHeader\";\nimport { daysInMonthGrid, isDisabled } from \"./../dateUtils\";\nimport styles from \"./CalendarMonth.module.scss\";\n\nexport interface CalendarMonthProps {\n monthDate: Dayjs;\n weekStartsOn: 0 | 1;\n locale?: string;\n minDate?: Dayjs;\n maxDate?: Dayjs;\n onSelectDay: (d: Dayjs) => void;\n isInRange?: (d: Dayjs) => boolean;\n isSelected?: (d: Dayjs) => boolean;\n cornerType?: (d: Dayjs) => CornerType;\n allowRange?: boolean;\n\n showPrev?: boolean;\n showNext?: boolean;\n onPrev?: () => void;\n onNext?: () => void;\n prevDisabled?: boolean;\n nextDisabled?: boolean;\n}\n\nconst CalendarMonthBase = ({\n monthDate,\n weekStartsOn,\n locale,\n minDate,\n maxDate,\n onSelectDay,\n isInRange = () => false,\n isSelected = () => false,\n cornerType = () => null,\n allowRange = false,\n showPrev = false,\n showNext = false,\n onPrev,\n onNext,\n prevDisabled = false,\n nextDisabled = false,\n}: CalendarMonthProps) => {\n const grid = useMemo(\n () => daysInMonthGrid(monthDate, weekStartsOn),\n [monthDate, weekStartsOn],\n );\n\n const monthLabel = useMemo(() => {\n const loc = locale ?? dayjs.locale();\n const formatted = monthDate.locale(loc).format(\"MMMM YYYY\");\n return formatted.charAt(0).toUpperCase() + formatted.slice(1);\n }, [monthDate, locale]);\n\n const onSelectMemo = useCallback(\n (d: Dayjs) => () => onSelectDay(d),\n [onSelectDay],\n );\n const isMobile = useIsMobile();\n\n return (\n <div className={styles.month}>\n <div className={styles.header}>\n {showPrev ? (\n <IconButton\n type='button'\n size={isMobile ? \"large\" : \"small\"}\n state={isMobile ? \"default\" : \"tertiary\"}\n aria-label='Previous month'\n onClick={onPrev}\n disabled={prevDisabled}\n >\n <ArrowLeftOutline className='solarIcon' />\n </IconButton>\n ) : (\n <span className={styles.navSpacer} />\n )}\n\n <Typography\n variant={isMobile ? \"heading-md\" : \"body-md\"}\n weight={isMobile ? \"semibold\" : \"medium\"}\n >\n {monthLabel}\n </Typography>\n\n {showNext ? (\n <IconButton\n size={isMobile ? \"large\" : \"small\"}\n state={isMobile ? \"default\" : \"tertiary\"}\n type='button'\n aria-label='Next month'\n onClick={onNext}\n disabled={nextDisabled}\n >\n <ArrowRightOutline className='solarIcon' />\n </IconButton>\n ) : (\n <span className={styles.navSpacer} />\n )}\n </div>\n\n <CalendarDayHeader\n locale={locale}\n weekStartsOn={weekStartsOn}\n />\n\n <div className={styles.grid}>\n {grid.map((cell) => {\n const inCurrentMonth = cell.inCurrentMonth;\n const outOfRange = isDisabled(cell.date, minDate, maxDate);\n const available = inCurrentMonth;\n\n if (!available) {\n return (\n <div\n key={cell.date.valueOf()}\n className={styles.emptyCell}\n aria-hidden='true'\n />\n );\n }\n\n const active = isSelected(cell.date);\n const corner = allowRange\n ? cornerType(cell.date)\n : active\n ? \"both\"\n : null;\n const inRange = allowRange && isInRange(cell.date) && !active;\n\n return (\n <CalendarDay\n key={cell.date.valueOf()}\n number={cell.date.date()}\n disabled={outOfRange}\n isActive={active}\n isCorner={!!corner}\n isInRange={inRange}\n cornerType={corner}\n onClick={onSelectMemo(cell.date)}\n aria-label={cell.date.format(\"YYYY-MM-DD\")}\n />\n );\n })}\n </div>\n </div>\n );\n};\n\nconst djEq = (a?: Dayjs, b?: Dayjs) =>\n (a ? a.valueOf() : undefined) === (b ? b.valueOf() : undefined);\n\nconst areEqual = (prev: CalendarMonthProps, next: CalendarMonthProps) =>\n djEq(prev.monthDate, next.monthDate) &&\n prev.weekStartsOn === next.weekStartsOn &&\n djEq(prev.minDate, next.minDate) &&\n djEq(prev.maxDate, next.maxDate) &&\n prev.allowRange === next.allowRange &&\n prev.isInRange === next.isInRange &&\n prev.isSelected === next.isSelected &&\n prev.cornerType === next.cornerType &&\n prev.onSelectDay === next.onSelectDay &&\n prev.showPrev === next.showPrev &&\n prev.showNext === next.showNext &&\n prev.onPrev === next.onPrev &&\n prev.onNext === next.onNext &&\n prev.prevDisabled === next.prevDisabled &&\n prev.nextDisabled === next.nextDisabled;\n\nexport const CalendarMonth = memo(CalendarMonthBase, areEqual);\n","import classNames from \"classnames\";\nimport { useMemo, useState } from \"react\";\nimport dayjs, { Dayjs } from \"@/lib/dayjs\";\nimport { CalendarMonth } from \"./CalendarMonth/CalendarMonth\";\nimport styles from \"./Calendars.module.scss\";\nimport {\n addMonths,\n clampDate,\n endOfDay,\n isAfter,\n isBefore,\n isSameDay,\n startOfDay,\n} from \"./dateUtils\";\n\n/** Public value types */\nexport type SingleValue = Dayjs | null;\nexport type RangeTuple = [Dayjs | null, Dayjs | null];\nexport type RangeValue = RangeTuple | null;\n\n/** Shared props */\nexport type BaseProps = {\n multiMonth?: boolean;\n onCard?: boolean;\n locale?: string;\n initialMonth?: Dayjs;\n minDate?: Dayjs;\n maxDate?: Dayjs;\n weekStartsOn?: 0 | 1;\n className?: string;\n};\n\n/** Single-date props (default mode) */\nexport type CalendarPropsSingle = BaseProps & {\n allowRange?: false;\n value?: SingleValue;\n defaultValue?: SingleValue;\n onChange?: (value: SingleValue) => void;\n};\n\n/** Range props (when allowRange is true) */\nexport type CalendarPropsRange = BaseProps & {\n allowRange: true;\n value?: RangeValue;\n defaultValue?: RangeValue;\n onChange?: (value: RangeValue) => void;\n};\n\n/** Discriminated union of prop shapes */\nexport type CalendarProps = CalendarPropsSingle | CalendarPropsRange;\n\n/** Narrowing helpers */\nexport const asDay = (d: Dayjs | Date | null | undefined) =>\n d ? dayjs(d) : null;\n\n/** Overloads for better DX */\nexport function Calendar(props: CalendarPropsSingle): JSX.Element;\nexport function Calendar(props: CalendarPropsRange): JSX.Element;\n\n/** Implementation */\nexport function Calendar({\n value,\n defaultValue = null,\n onChange,\n allowRange = false,\n multiMonth = false,\n onCard = false,\n initialMonth,\n minDate,\n maxDate,\n locale,\n weekStartsOn = 1,\n className = \"\",\n}: CalendarProps) {\n /** Uncontrolled if value is undefined; otherwise controlled */\n const uncontrolled = value === undefined;\n\n /** Internal state mirrors the correct shape based on allowRange */\n const [internal, setInternal] = useState<SingleValue | RangeValue>(\n defaultValue,\n );\n\n /** Current value respecting controlled/uncontrolled usage */\n const controlledValue = uncontrolled ? internal : value;\n\n /** Derive start/end depending on mode */\n const [start, end] = useMemo<[Dayjs | null, Dayjs | null]>(() => {\n if (!allowRange) return [asDay(controlledValue as SingleValue), null];\n const v = controlledValue as RangeValue;\n return v ? [asDay(v[0]), asDay(v[1])] : [null, null];\n }, [allowRange, controlledValue]);\n\n /** Determine initial visible month */\n const firstVisible = useMemo(() => {\n if (initialMonth) return initialMonth.startOf(\"month\");\n if (start) return start.startOf(\"month\");\n return dayjs().startOf(\"month\");\n }, [initialMonth, start]);\n\n /** Anchor for left/only month */\n const [monthAnchor, setMonthAnchor] = useState<Dayjs>(firstVisible);\n const monthsToShow = multiMonth ? 2 : 1;\n\n /** Day click handling with strict typing */\n const handleDayClick = (day: Dayjs) => {\n const dayClamped = clampDate(day, minDate, maxDate);\n\n if (!allowRange) {\n // SINGLE MODE\n const nextVal: SingleValue = dayClamped;\n if (uncontrolled) setInternal(nextVal);\n (onChange as CalendarPropsSingle[\"onChange\"] | undefined)?.(nextVal);\n return;\n }\n\n // RANGE MODE\n if (!start || (start && end)) {\n const next: RangeValue = [dayClamped, null];\n if (uncontrolled) setInternal(next);\n (onChange as CalendarPropsRange[\"onChange\"] | undefined)?.(next);\n } else if (start && !end) {\n const s = startOfDay(start);\n const e = endOfDay(dayClamped);\n const next: RangeValue = isBefore(e, s) ? [dayClamped, s] : [s, e];\n if (uncontrolled) setInternal(next);\n (onChange as CalendarPropsRange[\"onChange\"] | undefined)?.(next);\n }\n };\n\n /** Optional nav constraints */\n const canGoPrev = useMemo(() => {\n if (!minDate) return true;\n const prevMonthEnd = monthAnchor.startOf(\"month\").subtract(1, \"day\");\n return prevMonthEnd.isSame(minDate, \"day\") || prevMonthEnd.isAfter(minDate);\n }, [monthAnchor, minDate]);\n\n const canGoNext = useMemo(() => {\n if (!maxDate) return true;\n const nextMonthStart = monthAnchor.add(1, \"month\").startOf(\"month\");\n return (\n nextMonthStart.isSame(maxDate, \"day\") || nextMonthStart.isBefore(maxDate)\n );\n }, [monthAnchor, maxDate]);\n\n const goPrev = () => {\n if (!canGoPrev) return;\n setMonthAnchor((m) => m.add(-1, \"month\").startOf(\"month\"));\n };\n\n const goNext = () => {\n if (!canGoNext) return;\n setMonthAnchor((m) => m.add(1, \"month\").startOf(\"month\"));\n };\n\n return (\n <div\n className={classNames(\n styles.calendarRoot,\n onCard ? styles.onCard : \"\",\n multiMonth && styles.multiMonth,\n className,\n )}\n >\n <div\n className={styles.months}\n data-columns={monthsToShow}\n >\n {/* LEFT / ONLY month */}\n <CalendarMonth\n monthDate={monthAnchor}\n weekStartsOn={weekStartsOn}\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n onSelectDay={handleDayClick}\n isInRange={(d) =>\n !!start && !!end && !isBefore(d, start) && !isAfter(d, end)\n }\n isSelected={(d) =>\n isSameDay(d, start) || (!!end && isSameDay(d, end))\n }\n cornerType={(d) => {\n const isStart = !!start && isSameDay(d, start);\n const isEnd = !!end && isSameDay(d, end);\n if (isStart && isEnd) return \"both\";\n if (isStart) return \"start\";\n if (isEnd) return \"end\";\n return null;\n }}\n allowRange={allowRange}\n // nav\n showPrev\n showNext={!multiMonth}\n onPrev={goPrev}\n onNext={!multiMonth ? goNext : undefined}\n prevDisabled={!canGoPrev}\n nextDisabled={!canGoNext && !multiMonth}\n />\n\n {/* RIGHT month (only when multiMonth) */}\n {monthsToShow === 2 && (\n <CalendarMonth\n monthDate={addMonths(monthAnchor, 1)}\n locale={locale}\n weekStartsOn={weekStartsOn}\n minDate={minDate}\n maxDate={maxDate}\n onSelectDay={handleDayClick}\n isInRange={(d) =>\n !!start && !!end && !isBefore(d, start) && !isAfter(d, end)\n }\n isSelected={(d) =>\n isSameDay(d, start) || (!!end && isSameDay(d, end))\n }\n cornerType={(d) => {\n const isStart = !!start && isSameDay(d, start);\n const isEnd = !!end && isSameDay(d, end);\n if (isStart && isEnd) return \"both\";\n if (isStart) return \"start\";\n if (isEnd) return \"end\";\n return null;\n }}\n allowRange={allowRange}\n // nav\n showPrev={false}\n showNext\n onNext={goNext}\n nextDisabled={\n !!maxDate &&\n addMonths(monthAnchor, 2)\n .startOf(\"month\")\n .isAfter(maxDate.startOf(\"month\"))\n }\n />\n )}\n </div>\n </div>\n );\n}\n","import dayjs from \"dayjs\";\n\nexport const formatDeadline = (date: string | Date): string => {\n // Use dayjs to parse the input date\n const day = dayjs(date);\n\n // Get the day suffix (e.g., \"st\", \"nd\", \"rd\", \"th\")\n const dayOfMonth = day.date();\n const suffix =\n dayOfMonth === 1 || dayOfMonth === 21 || dayOfMonth === 31\n ? \"st\"\n : dayOfMonth === 2 || dayOfMonth === 22\n ? \"nd\"\n : dayOfMonth === 3 || dayOfMonth === 23\n ? \"rd\"\n : \"th\";\n\n // Format the date in the desired format \"May 18th, 13:00\"\n const formattedDate = day.format(\"MMMM D, HH:mm\");\n\n // Replace the day with the day + suffix (convert dayOfMonth to string)\n const formattedDeadline = formattedDate.replace(\n dayOfMonth.toString(),\n `${dayOfMonth}${suffix}`,\n );\n\n return `${formattedDeadline} (UTC +5)`;\n};\n","import React, { useEffect, useState } from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./Banner.module.scss\";\nimport { formatDeadline } from \"./utils/utils\";\n\ninterface BannerProps {\n color: string;\n title: string;\n bgPattern: string;\n bgPatternFinished?: string;\n buttonColor: string;\n deadline: string;\n onClick: () => void;\n}\n\nexport const Banner = ({\n color,\n title,\n bgPattern,\n deadline,\n bgPatternFinished,\n buttonColor,\n onClick,\n}: BannerProps) => {\n // const { t } = useTranslation(\"common\");\n const [isFinished, setIsFinished] = useState(false);\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n const deadlineDate = new Date(deadline);\n const calculateTimeUnits = (milliseconds: number) => ({\n days: Math.floor(milliseconds / (1000 * 60 * 60 * 24)),\n hours: Math.floor((milliseconds / (1000 * 60 * 60)) % 24),\n minutes: Math.floor((milliseconds / (1000 * 60)) % 60),\n seconds: Math.floor((milliseconds / 1000) % 60),\n });\n\n const updateCountdown = () => {\n const now = Date.now();\n const remaining = deadlineDate.getTime() - now;\n\n if (remaining <= 0) {\n setIsFinished(true);\n setTimeLeft({ days: 0, hours: 0, minutes: 0, seconds: 0 });\n } else {\n setTimeLeft(calculateTimeUnits(remaining));\n }\n };\n\n updateCountdown();\n const interval = setInterval(updateCountdown, 1000);\n return () => clearInterval(interval);\n }, [deadline]);\n\n const renderTimerCell = (value: number, label: string) => (\n <div className={styles.timerCell}>\n <Typography\n variant='heading-lg'\n className={styles.timerCount}\n >\n {value}\n </Typography>\n {label}\n </div>\n );\n\n return (\n <div\n className={styles.container}\n style={{ backgroundColor: color }}\n >\n <div className={styles.content}>\n <div className={styles.title}>\n <Typography variant='heading-md'>{title}</Typography>\n <Typography variant='body-md'>{formatDeadline(deadline)}</Typography>\n </div>\n <div className={styles.timer}>\n {renderTimerCell(timeLeft.days, \"Days\")}\n {renderTimerCell(timeLeft.hours, \"Hours\")}\n {renderTimerCell(timeLeft.minutes, \"Minutes\")}\n {renderTimerCell(timeLeft.seconds, \"Seconds\")}\n </div>\n </div>\n <div\n className={styles.pattern}\n style={\n {\n \"--pattern-color\": color,\n \"--pattern-url\": `url(${\n isFinished ? (bgPatternFinished ?? bgPattern) : bgPattern\n })`,\n } as React.CSSProperties\n }\n >\n {isFinished && (\n <button\n className={styles.button}\n style={{ backgroundColor: buttonColor }}\n onClick={onClick}\n >\n <Typography variant='heading-md'>{\"Start\"}</Typography>\n </button>\n )}\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { IconButton, Typography, X } from \"@/components\";\nimport styles from \"./Drawer.module.scss\";\n\nexport type DrawerPosition = \"left\" | \"right\" | \"bottom\";\nexport type DrawerSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface DrawerProps {\n open: boolean;\n onClose: () => void;\n title?: string;\n children: ReactNode;\n position?: DrawerPosition;\n size?: DrawerSize;\n}\n\nexport const Drawer = ({\n open,\n onClose,\n title,\n children,\n position = \"right\",\n size = \"md\",\n}: DrawerProps) => {\n if (!open) return null;\n\n return createPortal(\n <div\n className={styles.drawerLayout}\n onClick={onClose}\n >\n <aside\n className={classNames(\n styles.drawerContainer,\n styles[position],\n styles[size],\n )}\n onClick={(e) => e.stopPropagation()}\n role='dialog'\n aria-modal='true'\n aria-labelledby='drawer-title'\n >\n <div className={styles.header}>\n {title && <Typography variant='heading-sm'>{title}</Typography>}\n <IconButton\n size='small'\n state='default'\n onClick={onClose}\n aria-label='Close drawer'\n >\n <X />\n </IconButton>\n </div>\n <div className={styles.content}>{children}</div>\n </aside>\n </div>,\n document.body,\n );\n};\n","import { ArrowLeftOutline } from \"@solar-icons/react-perf\";\nimport { ReactNode } from \"react\";\nimport { IconButton, TopBar, TopBarProps, Typography } from \"@/components\";\nimport styles from \"./PageHeader.module.scss\";\n\nexport interface PageHeaderProps {\n title: string | ReactNode;\n sections?: TopBarProps[\"sections\"];\n activeTab?: TopBarProps[\"activeTab\"];\n onTabSelect?: TopBarProps[\"onTabSelect\"];\n isStretched?: TopBarProps[\"isStretched\"];\n extra?: ReactNode;\n message?: string;\n type?: \"primary\" | \"secondary\";\n onBack?: () => void;\n}\n\nexport const PageHeader = ({\n title,\n sections,\n activeTab,\n onTabSelect,\n isStretched,\n extra,\n message,\n type = \"primary\",\n onBack,\n}: PageHeaderProps) => {\n if (type == \"primary\") {\n return (\n <>\n <div className={styles.title}>\n <header className={styles.pageHeader}>\n <Typography\n variant='heading-xl'\n className={styles.text}\n >\n {title}\n </Typography>\n {extra}\n </header>\n {message && (\n <Typography className={styles.secondary}>{message}</Typography>\n )}\n </div>\n {sections && onTabSelect && (\n <TopBar\n sections={sections}\n activeTab={activeTab}\n onTabSelect={onTabSelect}\n isStretched={isStretched}\n />\n )}\n </>\n );\n }\n\n return (\n <>\n <div className={styles.secondaryContainer}>\n <IconButton\n size='medium'\n state='tertiary'\n onClick={onBack}\n className={styles.icon}\n >\n <ArrowLeftOutline className='solarIcon' />\n </IconButton>\n <div className={styles.centerContent}>\n <Typography\n variant='heading-sm'\n className={styles.text}\n >\n {title}\n </Typography>\n {message && (\n <Typography\n variant='body-sm'\n weight='semibold'\n className={styles.subtitle}\n >\n {message}\n </Typography>\n )}\n </div>\n <IconButton\n size='medium'\n state='tertiary'\n className={styles.emptyIcon}\n >\n <ArrowLeftOutline className='solarIcon' />\n </IconButton>\n </div>\n\n {sections && onTabSelect && (\n <TopBar\n sections={sections}\n activeTab={activeTab}\n onTabSelect={onTabSelect}\n isStretched={isStretched}\n />\n )}\n </>\n );\n};\n","import { ReactNode } from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./SectionHeader.module.scss\";\n\nexport interface SectionHeaderProps {\n title: string;\n extra?: ReactNode;\n}\nexport const SectionHeader = ({ title, extra }: SectionHeaderProps) => {\n return (\n <div className={styles.container}>\n <Typography variant='heading-md'>{title}</Typography>\n {extra}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { Typography } from \"@/components\";\nimport { useIsMobile } from \"@/lib/useIsMobile\";\nimport styles from \"./TopBar.module.scss\";\n\nexport interface TopbarSection {\n id: number | string;\n title: string;\n component: React.ReactNode;\n}\n\nexport interface TopBarProps {\n sections: TopbarSection[];\n activeTab?: number | string;\n onTabSelect: (id: number | string) => void;\n isStretched?: boolean;\n}\n\nexport const TopBar = ({\n sections,\n activeTab,\n onTabSelect,\n isStretched = true,\n}: TopBarProps) => {\n const isMobile = useIsMobile();\n return (\n <>\n <div className={styles.topBar}>\n {sections.map((section) => (\n <div\n key={section.id}\n className={classNames(\n styles.section,\n isStretched && styles.scretched,\n activeTab === section.id && styles.active,\n )}\n onClick={() => onTabSelect(section.id)}\n >\n <Typography\n variant={isMobile ? \"body-md\" : \"heading-md\"}\n weight={isMobile ? \"medium\" : \"semibold\"}\n className={styles.title}\n >\n {section.title}\n </Typography>\n </div>\n ))}\n </div>\n {sections.find((section) => section.id === activeTab)?.component ? (\n <div className={styles.content}>\n {sections.find((section) => section.id === activeTab)?.component}\n </div>\n ) : (\n <Typography variant='body-lg'>Not Found</Typography>\n )}\n </>\n );\n};\n","import classNames from \"classnames\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./Page.module.scss\";\n\nexport const Page = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => {\n return (\n <div\n className={classNames(styles.page, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./Section.module.scss\";\n\nexport const Section = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => {\n return (\n <div\n className={classNames(styles.section, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./SectionWrapper.module.scss\";\n\nexport const SectionWrapper = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => {\n return (\n <div\n className={classNames(styles.sectionWrapper, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./ButtonGroup.module.scss\";\n\ntype ButtonGroupProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;\n\nexport const ButtonGroup = ({ children, ...rest }: ButtonGroupProps) => {\n return (\n <div\n className={styles.container}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./NavigationItem.module.scss\";\n\nexport interface NavigationItemProps {\n icon?: React.ReactNode;\n label?: string;\n secondaryIcon?: React.ReactNode;\n collapsed?: boolean;\n active?: boolean;\n isParentNode?: boolean;\n onClick?: () => void;\n className?: string;\n}\n\nexport const NavigationItem = ({\n icon,\n label,\n secondaryIcon,\n collapsed = false,\n active = false,\n isParentNode = false,\n onClick,\n className,\n}: NavigationItemProps) => {\n return (\n <div\n className={classNames(\n styles.navigationItem,\n active && styles.active,\n className,\n )}\n onClick={onClick}\n >\n <div className={styles.container}>\n <div className={styles.IconContainer}>\n {icon}\n {isParentNode && (\n <img\n src='/assets/icons/ParentLine.svg'\n alt='Arrow Indicator'\n className={styles.ParentLine}\n />\n )}\n </div>\n {label && (\n <Typography\n variant='body-md'\n className={classNames(collapsed && styles.collapsed, styles.label)}\n >\n {label}\n </Typography>\n )}\n </div>\n {secondaryIcon && (\n <div\n className={classNames(\n styles.secondaryIcon,\n collapsed && styles.collapsed,\n )}\n >\n {secondaryIcon}\n </div>\n )}\n </div>\n );\n};\n","import {\n AltArrowDownOutline,\n AltArrowUpOutline,\n} from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport { useState } from \"react\";\nimport { NavigationItem } from \"../NavigationItem/NavigationItem\";\nimport styles from \"./Collapse.module.scss\";\n\nexport interface NavItem {\n id: string;\n name: string;\n icon?: React.ReactNode;\n children?: NavItem[];\n}\n\nexport interface CollapseProps {\n activeItemId: string;\n onChange: (item: NavItem) => void;\n item: NavItem;\n}\n\nexport const Collapse = ({ activeItemId, onChange, item }: CollapseProps) => {\n const sideArrowIndex = item.children?.findIndex(\n (child) => child.id === activeItemId,\n );\n\n const [isOpen, setIsOpen] = useState(sideArrowIndex !== -1);\n\n const handleToggle = () => {\n if (item.children) {\n setIsOpen(!isOpen);\n }\n onChange(item);\n };\n\n return (\n <div>\n <NavigationItem\n icon={item.icon}\n label={item.name}\n secondaryIcon={\n isOpen ? (\n <AltArrowUpOutline className='solarIcon' />\n ) : (\n <AltArrowDownOutline className='solarIcon' />\n )\n }\n onClick={handleToggle}\n isParentNode={isOpen && sideArrowIndex !== -1}\n active={sideArrowIndex !== -1 && !isOpen}\n className={classNames(isOpen && sideArrowIndex === -1 && styles.isOpen)}\n />\n <div className={styles.childContainer}>\n {isOpen &&\n item.children?.map((subRoute, index) => (\n <div\n key={subRoute.id}\n className={classNames(\n styles.ArrowContainer,\n activeItemId === subRoute.id ? styles.active : \"\",\n )}\n onClick={() => onChange(subRoute)}\n >\n <div className={styles.arrowBlock}>\n {sideArrowIndex === index && (\n <img\n src='/assets/icons/ArrowLine.svg'\n alt='Arrow Indicator'\n />\n )}\n {index < (sideArrowIndex ?? -1) && (\n <img\n src='/assets/icons/SideLine.svg'\n alt='Side Indicator'\n />\n )}\n </div>\n <NavigationItem\n icon={subRoute.icon}\n label={subRoute.name}\n active={subRoute.id === activeItemId}\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import {\n AltArrowDownOutline,\n AltArrowUpOutline,\n CheckReadOutline,\n LockKeyholeOutline,\n LockKeyholeUnlockedOutline,\n} from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport { useState } from \"react\";\nimport { NavigationItem } from \"../NavigationItem/NavigationItem\";\nimport styles from \"./CourseCollapse.module.scss\";\n\nexport interface CourseNavItem {\n id: string;\n name: string;\n icon?: React.ReactNode;\n completed?: boolean;\n children?: CourseNavItem[];\n disabled?: boolean;\n}\n\nexport interface CourseCollapseProps {\n activeItemId: string;\n onChange: (item: CourseNavItem) => void;\n item: CourseNavItem;\n}\n\nexport const CourseCollapse = ({\n activeItemId,\n onChange,\n item,\n}: CourseCollapseProps) => {\n const sideArrowIndex = item.children?.findIndex(\n (child) => child.id === activeItemId,\n );\n\n const [isOpen, setIsOpen] = useState(sideArrowIndex !== -1);\n\n const handleToggle = () => {\n if (item.children) {\n setIsOpen(!isOpen);\n }\n onChange(item);\n };\n\n return (\n <div>\n <NavigationItem\n icon={item.icon}\n label={item.name}\n secondaryIcon={\n isOpen ? (\n <AltArrowUpOutline className='solarIcon' />\n ) : (\n <AltArrowDownOutline className='solarIcon' />\n )\n }\n onClick={handleToggle}\n isParentNode={isOpen && sideArrowIndex !== -1}\n active={sideArrowIndex !== -1 && !isOpen}\n className={classNames(isOpen && sideArrowIndex === -1 && styles.isOpen)}\n />\n <div className={styles.childContainer}>\n {isOpen &&\n item.children?.map((subRoute, index) => (\n <div\n key={subRoute.id}\n className={classNames(\n styles.ArrowContainer,\n activeItemId === subRoute.id ? styles.active : \"\",\n )}\n onClick={() => onChange(subRoute)}\n >\n <div className={styles.arrowBlock}>\n {sideArrowIndex === index && (\n <img\n src='/assets/icons/ArrowLine.svg'\n alt='Arrow Indicator'\n />\n )}\n {index < (sideArrowIndex ?? -1) && (\n <img\n src='/assets/icons/SideLine.svg'\n alt='Side Indicator'\n />\n )}\n </div>\n <NavigationItem\n icon={subRoute.icon}\n label={subRoute.name}\n key={subRoute.id}\n active={subRoute.id === activeItemId}\n secondaryIcon={\n subRoute.disabled ? (\n <LockKeyholeOutline className='solarIcon' />\n ) : subRoute.completed ? (\n <CheckReadOutline\n className={classNames(styles.iconCheck, \"solarIcon\")}\n />\n ) : (\n <LockKeyholeUnlockedOutline className='solarIcon' />\n )\n }\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { AnchorHTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Link.module.scss\";\n\ninterface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n children: ReactNode;\n className?: string;\n}\n\nexport const Link = ({ children, className = \"\", ...rest }: LinkProps) => {\n return (\n <a\n className={classNames(styles.link, className)}\n {...rest}\n >\n {children}\n </a>\n );\n};\n","import { ReactNode } from \"react\";\nimport styles from \"./ProgressLine.module.scss\";\n\nexport interface ProgressLineProps {\n percent: number;\n extra?: ReactNode;\n}\nexport const ProgressLine = ({ percent, extra }: ProgressLineProps) => {\n return (\n <div className={styles.container}>\n <div className={styles.line}>\n <div\n className={styles.progress}\n style={{ width: `${percent}%` }}\n ></div>\n </div>\n {extra}\n </div>\n );\n};\n","/* eslint-disable react/prop-types */\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { ComponentProps } from \"react\";\nimport styles from \"./Table.module.scss\";\n\nexport function Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div\n data-slot='table-container'\n className={classNames(styles.tableContainer, className)}\n >\n <table\n data-slot='table'\n className={styles.table}\n {...props}\n />\n </div>\n );\n}\n\nexport function TableHeader({\n className,\n ...props\n}: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot='table-header'\n className={classNames(styles.tableHeader, className)}\n {...props}\n />\n );\n}\n\nexport function TableBody({\n className,\n ...props\n}: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot='table-body'\n className={classNames(styles.tableBody, className)}\n {...props}\n />\n );\n}\n\nexport function TableFooter({\n className,\n ...props\n}: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot='table-footer'\n className={classNames(styles.tableFooter, className)}\n {...props}\n />\n );\n}\n\nexport function TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot='table-row'\n className={classNames(styles.tableRow, className)}\n {...props}\n />\n );\n}\n\ntype VerticalAlign = \"top\" | \"middle\" | \"bottom\";\n\ninterface CustomTableHeadProps extends React.ComponentProps<\"th\"> {\n variant?: \"primary\" | \"secondary\";\n}\n\nexport const TableHead: React.FC<CustomTableHeadProps> = ({\n variant = \"primary\",\n className,\n ...props\n}) => {\n return (\n <th\n data-slot='table-head'\n className={classNames(\n styles.tableHead,\n {\n [styles.primary]: variant === \"primary\",\n [styles.secondary]: variant === \"secondary\",\n },\n className,\n )}\n {...props}\n />\n );\n};\n\ninterface CustomTableCellProps extends ComponentProps<\"td\"> {\n vAlign?: VerticalAlign;\n}\n\nexport const TableCell: React.FC<CustomTableCellProps> = ({\n className,\n ...props\n}) => {\n return (\n <td\n data-slot='table-cell'\n className={classNames(styles.tableCell, className)}\n {...props}\n />\n );\n};\n\nexport function TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot='table-caption'\n className={classNames(styles.tableCaption, className)}\n {...props}\n />\n );\n}\n","import classNames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\nimport styles from \"./Table.module.scss\";\n\nexport type CellType =\n | \"label\"\n | \"input\"\n | \"button\"\n | \"icon-button\"\n | \"checkbox\"\n | \"empty\"\n | \"icon-label\";\n\ntype Align =\n | \"top-left\"\n | \"top\"\n | \"top-right\"\n | \"middle-left\"\n | \"middle\"\n | \"middle-right\"\n | \"bottom-left\"\n | \"bottom\"\n | \"bottom-right\";\n\ninterface CellProps {\n cellType?: CellType;\n align?: Align;\n}\n\nexport const Cell = ({\n children,\n cellType = \"label\",\n align = \"middle-left\",\n ...props\n}: PropsWithChildren<CellProps>) => {\n const cellClass = classNames(\n styles.td,\n styles[cellType],\n styles[`align-${align}`],\n );\n\n return (\n <div\n {...props}\n className={cellClass}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React, { ReactNode } from \"react\";\nimport styles from \"./ProgressBarAlternative.module.scss\";\n\nexport type ProgressColor =\n | \"blue\"\n | \"violet\"\n | \"fuchsia\"\n | \"lime\"\n | \"teal\"\n | \"indigo\"\n | \"red\"\n | \"amber\"\n | \"green\";\n\nexport interface ProgressBarAlternativeProps {\n percent: number;\n extra?: ReactNode;\n color?: ProgressColor;\n className?: string;\n}\n\nexport const ProgressBarAlternative: React.FC<ProgressBarAlternativeProps> = ({\n percent,\n color = \"blue\",\n className,\n extra,\n}) => {\n return (\n <div\n className={classNames(\n styles.progressContainer,\n styles[`container--${color}`],\n className,\n )}\n >\n <div\n className={classNames(styles.progressFill, styles[`fill--${color}`])}\n style={{ width: `${percent}%` }}\n />\n <span className={classNames(styles.label, styles[`text--${color}`])}>\n {extra}\n </span>\n </div>\n );\n};\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","m","o","l","e","s","r","a","n","c","t","C","InlineError","children","styles","jsx","DangerOutline","Checkbox","label","error","helperText","disabled","className","indeterminate","onChange","rest","ref","useRef","useEffect","handleLabelClick","event","jsxs","FormItemContext","createContext","useFormItem","useContext","FormItem","readOnly","state","Label","Input","React","Component","props","Message","DangerCircleBold","BaseInputWrapper","labelPlacement","prefix","postfix","maskRegex","textPrefix","onFocus","handleChange","handleFocus","newVal","TextArea","defaultValue","rows","isControlled","internalValue","setInternalValue","useState","currentValue","val","RadioButton","name","fromEntries","entries","acc","_ref","useIsomorphicLayoutEffect","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","element","getWindow","node","ownerDocument","isElement","OwnElement","isHTMLElement","isShadowRoot","applyStyles","style","attributes","effect","_ref2","initialStyles","styleProperties","property","attribute","applyStyles$1","getBasePlacement","max","min","round","getUAString","uaData","item","isLayoutViewport","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","x","y","width","height","getLayoutRect","contains","parent","child","rootNode","next","getComputedStyle","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","css","getOffsetParent","window","offsetParent","getMainAxisFromPlacement","within","mathMax","mathMin","withinMaxClamp","v","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","keys","hashMap","toPaddingObject","padding","arrow","_state$modifiersData$","options","arrowElement","popperOffsets","basePlacement","axis","isVertical","len","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","offset","axisProp","_options$element","arrow$1","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","mapToStyles","_Object$assign2","popperRect","variation","offsets","position","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","commonStyles","_ref4","_Object$assign","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","computeStyles$1","passive","instance","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","eventListeners","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","scrollTop","getWindowScrollBarX","getViewportRect","strategy","html","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","body","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","list","isBody","target","updatedList","rectToClientRect","rect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","b","getExpandedFallbackPlacements","oppositePlacement","flip","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","_i","fittingPlacement","_ret","flip$1","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","hide$1","distanceAndSkiddingToXY","rects","invertDistance","skidding","distance","_options$offset","data","_data$state$placement","offset$1","popperOffsets$1","getAltAxis","preventOverflow","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","preventOverflow$1","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","documentElement","order","modifiers","map","visited","result","modifier","sort","requires","dep","depModifier","orderModifiers","orderedModifiers","phase","debounce","fn","pending","resolve","mergeByName","merged","current","existing","DEFAULT_OPTIONS","areValidElements","args","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","runModifierEffects","_state$elements","index","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","createPopper","hasElementType","hasMap","hasSet","hasArrayBuffer","equal","length","it","reactFastCompare","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","prevOptions","optionsWithDefaults","_React$useState","setState","updateStateModifier","elements","ReactDOM","popperOptions","newOptions","isEqual","popperInstanceRef","defaultCreatePopper","popperInstance","Select","placeholder","onBlur","renderOption","isOpen","setIsOpen","focusedIndex","setFocusedIndex","triggerElement","setTriggerElement","setPopperElement","optionsRef","selectedOption","useMemo","option","popperModifiers","popperStyles","handleToggle","useCallback","handleOptionSelect","handleKeyDown","nextIndex","prevIndex","handleClickOutside","isClickInsideTrigger","isClickInsideDropdown","createPortal","el","this","u","f","h","d","$","M","g","D","p","S","_","w","O","k","require$$0","dayjs","localizedFormat","localeData","weekday","isSameOrAfter","isSameOrBefore","SvgFallbackAvatar","Avatar","image","size","AvatarFallback","CustomToaster","Toaster","SvgPlus","SvgX","DURATION","message","text","toast","Icon","InfoCircleBold","IconButton","X","DangerTriangleBold","DangerBold","CheckCircleBold","type","ModalBase","open","title","primaryButtonProps","secondaryButtonProps","tone","fullHeight","toneClass","Typography","Button","Section","Modal","showModal","container","root","createRoot","unmount","handleOk","_a","handleCancel","ModalAPI","opts","Spinner","Tooltip","controlledActive","content","hoverDelay","preferredPosition","zIndexOverride","trigger","tooltipClassName","active","setActive","computedPosition","setComputedPosition","hoverTimeout","persist","triggerRef","isActive","canTriggerHover","canTriggerClick","tooltipId","useId","positionClass","wrapperClassName","tooltipClass","spaceAbove","spaceBelow","WindowBase","onClose","Window","showWindow","_b","btn","WindowAPI","AppLoader","InfoIcons","Info","selected","onClick","loading","buttonClass","Dropdown","align","prev","Fragment","EmptyBase","EmptyTitle","EmptyContext","EmptyContent","EmptyButtonContent","EmptyPrimaryButton","EmptySecondaryButton","EmptyImage","src","alt","Empty","variant","weight","variantClass","weightClass","SvgStyleWrapper","icon","strokeWidth","color","renderIcon","Option","OptionList","items","onSelect","shadow","IllustrationBase","IllustrationTitle","IllustrationContext","IllustrationContent","IllustrationButtonContent","IllustrationPrimaryButton","IllustrationSecondaryButton","IllustrationImage","Illustration","Chip","InputChip","useIsMobile","isMobile","setIsMobile","handleResize","CalendarDayBase","forwardRef","number","isCorner","cornerType","isInRange","handleClick","dayClasses","areEqual","CalendarDay","memo","CalendarDayHeader","locale","weekStartsOn","days","idx","startOfDay","endOfDay","isSameDay","isBefore","isAfter","clampDate","addMonths","addDays","daysInMonthGrid","month","firstOfMonth","gridStart","date","isDisabled","CalendarMonthBase","monthDate","minDate","maxDate","onSelectDay","isSelected","allowRange","showPrev","showNext","onPrev","onNext","prevDisabled","nextDisabled","grid","monthLabel","loc","formatted","onSelectMemo","ArrowLeftOutline","ArrowRightOutline","cell","inCurrentMonth","outOfRange","corner","inRange","djEq","CalendarMonth","asDay","Calendar","multiMonth","onCard","initialMonth","uncontrolled","internal","setInternal","controlledValue","firstVisible","monthAnchor","setMonthAnchor","monthsToShow","handleDayClick","day","dayClamped","nextVal","canGoPrev","prevMonthEnd","canGoNext","nextMonthStart","goPrev","goNext","isStart","isEnd","formatDeadline","dayOfMonth","suffix","Banner","bgPattern","deadline","bgPatternFinished","buttonColor","isFinished","setIsFinished","timeLeft","setTimeLeft","deadlineDate","calculateTimeUnits","milliseconds","updateCountdown","now","remaining","interval","renderTimerCell","Drawer","PageHeader","sections","activeTab","onTabSelect","isStretched","extra","onBack","TopBar","SectionHeader","section","Page","SectionWrapper","ButtonGroup","NavigationItem","secondaryIcon","collapsed","isParentNode","Collapse","activeItemId","sideArrowIndex","AltArrowUpOutline","AltArrowDownOutline","subRoute","CourseCollapse","LockKeyholeOutline","CheckReadOutline","LockKeyholeUnlockedOutline","Link","ProgressLine","percent","Table","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","Cell","cellType","cellClass","ProgressBarAlternative"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90]}
1
+ {"version":3,"file":"stp-ui-kit.es.js","sources":["../node_modules/classnames/index.js","../node_modules/@solar-icons/react-perf/dist/esm/lib/IconBase.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/AltArrowDown.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/AltArrowLeft.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/AltArrowUp.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/ArrowLeft.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/arrows/Outline/ArrowRight.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/messages/Outline/CheckRead.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/security/Outline/LockKeyholeUnlocked.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/security/Outline/LockKeyhole.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/CheckCircle.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/DangerCircle.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/DangerTriangle.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/Danger.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Bold/InfoCircle.mjs","../node_modules/@solar-icons/react-perf/dist/esm/icons/ui/Outline/Danger.mjs","../src/components/form/InlineError/InlineError.tsx","../src/components/form/Checkbox/Checkbox.tsx","../src/components/form/FormItem/FormItemContext.tsx","../src/components/form/FormItem/FormItem.tsx","../src/components/form/Input/BaseInputWrapper.tsx","../src/components/form/Input/Input.tsx","../src/components/form/Input/TextArea.tsx","../src/components/form/RadioButton/RadioButton.tsx","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-fast-compare/index.js","../node_modules/react-popper/lib/esm/usePopper.js","../src/components/form/Select/Select.tsx","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/locale/en.js","../node_modules/dayjs/locale/fr.js","../node_modules/dayjs/locale/kk.js","../node_modules/dayjs/locale/ru.js","../node_modules/dayjs/plugin/isSameOrAfter.js","../node_modules/dayjs/plugin/isSameOrBefore.js","../node_modules/dayjs/plugin/localeData.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/weekday.js","../src/lib/dayjs.ts","../src/components/display/Avatar/fallbackAvatar.svg?react","../src/components/display/Avatar/Avatar.tsx","../src/components/feedback/Message/CustomToaster.tsx","../public/icons/Plus.svg?react","../public/icons/X.svg?react","../src/components/feedback/Message/Message.tsx","../src/components/feedback/Modal/Modal.tsx","../src/components/feedback/Modal/ModalApi.tsx","../src/components/feedback/Spinner/Spinner.tsx","../src/components/feedback/Tooltip/Tooltip.tsx","../src/components/feedback/Window/Window.tsx","../src/components/feedback/Window/WindowApi.tsx","../src/components/feedback/AppLoader/AppLoader.tsx","../src/components/feedback/Info/Info.tsx","../src/components/display/Button/Button.tsx","../src/components/display/Dropdown/Dropdown.tsx","../src/components/display/Empty/Empty.tsx","../src/components/display/IconButton/IconButton.tsx","../src/components/display/Typography/Typography.tsx","../src/components/display/SvgStyleWrapper/SvgStyleWrapper.tsx","../src/components/display/Icon/Icon.tsx","../src/components/display/OptionList/OptionList.tsx","../src/components/display/Illustration/Illustration.tsx","../src/components/display/Chip/Chip.tsx","../src/components/display/InputChip/InputChip.tsx","../src/lib/useIsMobile.ts","../src/components/form/Calendar/CalendarDay/CalendarDay.tsx","../src/components/form/Calendar/CalendarDayHeader/CalendarDayHeader.tsx","../src/components/form/Calendar/dateUtils.ts","../src/components/form/Calendar/CalendarMonth/CalendarMonth.tsx","../src/components/form/Calendar/Calendar.tsx","../src/components/layout/Banner/utils/utils.ts","../src/components/layout/Banner/Banner.tsx","../src/components/layout/Drawer/Drawer.tsx","../src/components/layout/PageHeader/PageHeader.tsx","../src/components/layout/SectionHeader/SectionHeader.tsx","../src/components/layout/TopBar/TopBar.tsx","../src/components/layout/Page/Page.tsx","../src/components/layout/Section/Section.tsx","../src/components/layout/SectionWrapper/SectionWrapper.tsx","../src/components/layout/ButtonGroup/ButtonGroup.tsx","../src/components/layout/Content/Content.tsx","../src/components/layout/BottomBar/BottomBar.tsx","../src/components/navigation/NavigationItem/NavigationItem.tsx","../src/components/navigation/Collapse/Collapse.tsx","../src/components/navigation/CourseCollapse/CourseCollapse.tsx","../src/components/navigation/Link/Link.tsx","../src/components/data/ProgressLine/ProgressLine.tsx","../src/components/data/Table/Table.tsx","../src/components/data/Table/Cell.tsx","../src/components/data/ProgressBarAlternative/ProgressBarAlternative.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import t, { forwardRef as i } from \"react\";\nconst m = i((o, l) => {\n const {\n alt: e,\n color: s = \"currentColor\",\n size: r = \"1em\",\n mirrored: a = !1,\n children: n,\n ...c\n } = o;\n return /* @__PURE__ */ t.createElement(\n \"svg\",\n {\n ref: l,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: r,\n height: r,\n color: s,\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n transform: a ? \"scale(-1, 1)\" : void 0,\n ...c\n },\n !!e && /* @__PURE__ */ t.createElement(\"title\", null, e),\n n\n );\n});\nm.displayName = \"IconBase\";\nexport {\n m as default\n};\n","import e, { forwardRef as l } from \"react\";\nimport t from \"../../../lib/IconBase.mjs\";\nconst n = l((o, r) => /* @__PURE__ */ e.createElement(t, { ref: r, ...o }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.43057 8.51192C4.70014 8.19743 5.17361 8.161 5.48811 8.43057L12 14.0122L18.5119 8.43057C18.8264 8.16101 19.2999 8.19743 19.5695 8.51192C19.839 8.82642 19.8026 9.29989 19.4881 9.56946L12.4881 15.5695C12.2072 15.8102 11.7928 15.8102 11.5119 15.5695L4.51192 9.56946C4.19743 9.29989 4.161 8.82641 4.43057 8.51192Z\", fill: \"currentColor\" })));\nn.displayName = \"AltArrowDown\";\nexport {\n n as AltArrowDown\n};\n","import e, { forwardRef as o } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst a = o((r, t) => /* @__PURE__ */ e.createElement(l, { ref: t, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M15.4881 4.43057C15.8026 4.70014 15.839 5.17361 15.5694 5.48811L9.98781 12L15.5694 18.5119C15.839 18.8264 15.8026 19.2999 15.4881 19.5695C15.1736 19.839 14.7001 19.8026 14.4306 19.4881L8.43056 12.4881C8.18981 12.2072 8.18981 11.7928 8.43056 11.5119L14.4306 4.51192C14.7001 4.19743 15.1736 4.161 15.4881 4.43057Z\", fill: \"currentColor\" })));\na.displayName = \"AltArrowLeft\";\nexport {\n a as AltArrowLeft\n};\n","import e, { forwardRef as l } from \"react\";\nimport t from \"../../../lib/IconBase.mjs\";\nconst a = l((r, o) => /* @__PURE__ */ e.createElement(t, { ref: o, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.5119 8.43056C11.7928 8.18981 12.2072 8.18981 12.4881 8.43056L19.4881 14.4306C19.8026 14.7001 19.839 15.1736 19.5695 15.4881C19.2999 15.8026 18.8264 15.839 18.5119 15.5694L12 9.98781L5.48811 15.5694C5.17361 15.839 4.70014 15.8026 4.43057 15.4881C4.161 15.1736 4.19743 14.7001 4.51192 14.4306L11.5119 8.43056Z\", fill: \"currentColor\" })));\na.displayName = \"AltArrowUp\";\nexport {\n a as AltArrowUp\n};\n","import e, { forwardRef as t } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst a = t((r, o) => /* @__PURE__ */ e.createElement(l, { ref: o, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.5303 5.46967C10.8232 5.76256 10.8232 6.23744 10.5303 6.53033L5.81066 11.25H20C20.4142 11.25 20.75 11.5858 20.75 12C20.75 12.4142 20.4142 12.75 20 12.75H5.81066L10.5303 17.4697C10.8232 17.7626 10.8232 18.2374 10.5303 18.5303C10.2374 18.8232 9.76256 18.8232 9.46967 18.5303L3.46967 12.5303C3.17678 12.2374 3.17678 11.7626 3.46967 11.4697L9.46967 5.46967C9.76256 5.17678 10.2374 5.17678 10.5303 5.46967Z\", fill: \"currentColor\" })));\na.displayName = \"ArrowLeft\";\nexport {\n a as ArrowLeft\n};\n","import e, { forwardRef as t } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst a = t((r, o) => /* @__PURE__ */ e.createElement(l, { ref: o, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M13.4697 5.46967C13.7626 5.17678 14.2374 5.17678 14.5303 5.46967L20.5303 11.4697C20.8232 11.7626 20.8232 12.2374 20.5303 12.5303L14.5303 18.5303C14.2374 18.8232 13.7626 18.8232 13.4697 18.5303C13.1768 18.2374 13.1768 17.7626 13.4697 17.4697L18.1893 12.75H4C3.58579 12.75 3.25 12.4142 3.25 12C3.25 11.5858 3.58579 11.25 4 11.25H18.1893L13.4697 6.53033C13.1768 6.23744 13.1768 5.76256 13.4697 5.46967Z\", fill: \"currentColor\" })));\na.displayName = \"ArrowRight\";\nexport {\n a as ArrowRight\n};\n","import e, { forwardRef as r } from \"react\";\nimport C from \"../../../lib/IconBase.mjs\";\nconst t = r((l, o) => /* @__PURE__ */ e.createElement(C, { ref: o, ...l }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M15.4933 6.93502C15.8053 7.20743 15.8374 7.68122 15.565 7.99325L7.70786 16.9933C7.56543 17.1564 7.35943 17.25 7.14287 17.25C6.9263 17.25 6.72031 17.1564 6.57788 16.9933L3.43502 13.3933C3.16261 13.0812 3.19473 12.6074 3.50677 12.335C3.8188 12.0626 4.29259 12.0947 4.565 12.4068L7.14287 15.3596L14.435 7.00677C14.7074 6.69473 15.1812 6.66261 15.4933 6.93502Z\", fill: \"currentColor\" }), /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M20.5175 7.01946C20.8174 7.30513 20.829 7.77986 20.5433 8.07981L11.9716 17.0798C11.8201 17.2389 11.6065 17.3235 11.3872 17.3114C11.1679 17.2993 10.9649 17.1917 10.8318 17.0169L10.4035 16.4544C10.1526 16.1249 10.2163 15.6543 10.5458 15.4034C10.8289 15.1878 11.2161 15.2044 11.4787 15.4223L19.4571 7.04531C19.7428 6.74537 20.2175 6.73379 20.5175 7.01946Z\", fill: \"currentColor\" })));\nt.displayName = \"CheckRead\";\nexport {\n t as CheckRead\n};\n","import C, { forwardRef as o } from \"react\";\nimport r from \"../../../lib/IconBase.mjs\";\nconst t = o((e, l) => /* @__PURE__ */ C.createElement(r, { ref: l, ...e }, /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M9.25 16C9.25 14.4812 10.4812 13.25 12 13.25C13.5188 13.25 14.75 14.4812 14.75 16C14.75 17.5188 13.5188 18.75 12 18.75C10.4812 18.75 9.25 17.5188 9.25 16ZM12 14.75C11.3096 14.75 10.75 15.3096 10.75 16C10.75 16.6904 11.3096 17.25 12 17.25C12.6904 17.25 13.25 16.6904 13.25 16C13.25 15.3096 12.6904 14.75 12 14.75Z\", fill: \"currentColor\" }), /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M6.75 8C6.75 5.10051 9.10051 2.75 12 2.75C14.4453 2.75 16.5018 4.42242 17.0846 6.68694C17.1879 7.08808 17.5968 7.32957 17.9979 7.22633C18.3991 7.12308 18.6405 6.7142 18.5373 6.31306C17.788 3.4019 15.1463 1.25 12 1.25C8.27208 1.25 5.25 4.27208 5.25 8V9.30277C5.02317 9.31872 4.80938 9.33948 4.60825 9.36652C3.70814 9.48754 2.95027 9.74643 2.34835 10.3483C1.74643 10.9503 1.48754 11.7081 1.36652 12.6082C1.24996 13.4752 1.24998 14.5775 1.25 15.9451V16.0549C1.24998 17.4225 1.24996 18.5248 1.36652 19.3918C1.48754 20.2919 1.74643 21.0497 2.34835 21.6516C2.95027 22.2536 3.70814 22.5125 4.60825 22.6335C5.47522 22.75 6.57754 22.75 7.94513 22.75H16.0549C17.4225 22.75 18.5248 22.75 19.3918 22.6335C20.2919 22.5125 21.0497 22.2536 21.6517 21.6516C22.2536 21.0497 22.5125 20.2919 22.6335 19.3918C22.75 18.5248 22.75 17.4225 22.75 16.0549V15.9451C22.75 14.5775 22.75 13.4752 22.6335 12.6082C22.5125 11.7081 22.2536 10.9503 21.6517 10.3483C21.0497 9.74643 20.2919 9.48754 19.3918 9.36652C18.5248 9.24996 17.4225 9.24998 16.0549 9.25H7.94513C7.52161 9.24999 7.12353 9.24999 6.75 9.25344V8ZM4.80812 10.8531C4.07435 10.9518 3.68577 11.1322 3.40901 11.409C3.13225 11.6858 2.9518 12.0743 2.85315 12.8081C2.75159 13.5635 2.75 14.5646 2.75 16C2.75 17.4354 2.75159 18.4365 2.85315 19.1919C2.9518 19.9257 3.13225 20.3142 3.40901 20.591C3.68577 20.8678 4.07435 21.0482 4.80812 21.1469C5.56347 21.2484 6.56459 21.25 8 21.25H16C17.4354 21.25 18.4365 21.2484 19.1919 21.1469C19.9257 21.0482 20.3142 20.8678 20.591 20.591C20.8678 20.3142 21.0482 19.9257 21.1469 19.1919C21.2484 18.4365 21.25 17.4354 21.25 16C21.25 14.5646 21.2484 13.5635 21.1469 12.8081C21.0482 12.0743 20.8678 11.6858 20.591 11.409C20.3142 11.1322 19.9257 10.9518 19.1919 10.8531C18.4365 10.7516 17.4354 10.75 16 10.75H8C6.56459 10.75 5.56347 10.7516 4.80812 10.8531Z\", fill: \"currentColor\" })));\nt.displayName = \"LockKeyholeUnlocked\";\nexport {\n t as LockKeyholeUnlocked\n};\n","import C, { forwardRef as o } from \"react\";\nimport r from \"../../../lib/IconBase.mjs\";\nconst t = o((e, l) => /* @__PURE__ */ C.createElement(r, { ref: l, ...e }, /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M9.25 16C9.25 14.4812 10.4812 13.25 12 13.25C13.5188 13.25 14.75 14.4812 14.75 16C14.75 17.5188 13.5188 18.75 12 18.75C10.4812 18.75 9.25 17.5188 9.25 16ZM12 14.75C11.3096 14.75 10.75 15.3096 10.75 16C10.75 16.6904 11.3096 17.25 12 17.25C12.6904 17.25 13.25 16.6904 13.25 16C13.25 15.3096 12.6904 14.75 12 14.75Z\", fill: \"currentColor\" }), /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.25 9.30277V8C5.25 4.27208 8.27208 1.25 12 1.25C15.7279 1.25 18.75 4.27208 18.75 8V9.30277C18.9768 9.31872 19.1906 9.33948 19.3918 9.36652C20.2919 9.48754 21.0497 9.74643 21.6517 10.3483C22.2536 10.9503 22.5125 11.7081 22.6335 12.6082C22.75 13.4752 22.75 14.5775 22.75 15.9451V16.0549C22.75 17.4225 22.75 18.5248 22.6335 19.3918C22.5125 20.2919 22.2536 21.0497 21.6517 21.6516C21.0497 22.2536 20.2919 22.5125 19.3918 22.6335C18.5248 22.75 17.4225 22.75 16.0549 22.75H7.94513C6.57754 22.75 5.47522 22.75 4.60825 22.6335C3.70814 22.5125 2.95027 22.2536 2.34835 21.6516C1.74643 21.0497 1.48754 20.2919 1.36652 19.3918C1.24996 18.5248 1.24998 17.4225 1.25 16.0549V15.9451C1.24998 14.5775 1.24996 13.4752 1.36652 12.6082C1.48754 11.7081 1.74643 10.9503 2.34835 10.3483C2.95027 9.74643 3.70814 9.48754 4.60825 9.36652C4.80938 9.33948 5.02317 9.31872 5.25 9.30277ZM6.75 8C6.75 5.10051 9.10051 2.75 12 2.75C14.8995 2.75 17.25 5.10051 17.25 8V9.25344C16.8765 9.24999 16.4784 9.24999 16.0549 9.25H7.94513C7.52161 9.24999 7.12353 9.24999 6.75 9.25344V8ZM4.80812 10.8531C4.07435 10.9518 3.68577 11.1322 3.40901 11.409C3.13225 11.6858 2.9518 12.0743 2.85315 12.8081C2.75159 13.5635 2.75 14.5646 2.75 16C2.75 17.4354 2.75159 18.4365 2.85315 19.1919C2.9518 19.9257 3.13225 20.3142 3.40901 20.591C3.68577 20.8678 4.07435 21.0482 4.80812 21.1469C5.56347 21.2484 6.56459 21.25 8 21.25H16C17.4354 21.25 18.4365 21.2484 19.1919 21.1469C19.9257 21.0482 20.3142 20.8678 20.591 20.591C20.8678 20.3142 21.0482 19.9257 21.1469 19.1919C21.2484 18.4365 21.25 17.4354 21.25 16C21.25 14.5646 21.2484 13.5635 21.1469 12.8081C21.0482 12.0743 20.8678 11.6858 20.591 11.409C20.3142 11.1322 19.9257 10.9518 19.1919 10.8531C18.4365 10.7516 17.4354 10.75 16 10.75H8C6.56459 10.75 5.56347 10.7516 4.80812 10.8531Z\", fill: \"currentColor\" })));\nt.displayName = \"LockKeyhole\";\nexport {\n t as LockKeyhole\n};\n","import e, { forwardRef as l } from \"react\";\nimport o from \"../../../lib/IconBase.mjs\";\nconst c = l((r, C) => /* @__PURE__ */ e.createElement(o, { ref: C, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM16.0303 8.96967C16.3232 9.26256 16.3232 9.73744 16.0303 10.0303L11.0303 15.0303C10.7374 15.3232 10.2626 15.3232 9.96967 15.0303L7.96967 13.0303C7.67678 12.7374 7.67678 12.2626 7.96967 11.9697C8.26256 11.6768 8.73744 11.6768 9.03033 11.9697L10.5 13.4393L12.7348 11.2045L14.9697 8.96967C15.2626 8.67678 15.7374 8.67678 16.0303 8.96967Z\", fill: \"currentColor\" })));\nc.displayName = \"CheckCircle\";\nexport {\n c as CheckCircle\n};\n","import e, { forwardRef as l } from \"react\";\nimport o from \"../../../lib/IconBase.mjs\";\nconst t = l((r, C) => /* @__PURE__ */ e.createElement(o, { ref: C, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12ZM12 6.25C12.4142 6.25 12.75 6.58579 12.75 7V13C12.75 13.4142 12.4142 13.75 12 13.75C11.5858 13.75 11.25 13.4142 11.25 13V7C11.25 6.58579 11.5858 6.25 12 6.25ZM12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17Z\", fill: \"currentColor\" })));\nt.displayName = \"DangerCircle\";\nexport {\n t as DangerCircle\n};\n","import e, { forwardRef as l } from \"react\";\nimport a from \"../../../lib/IconBase.mjs\";\nconst o = l((r, C) => /* @__PURE__ */ e.createElement(a, { ref: C, ...r }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.31171 10.7615C8.23007 5.58716 9.68925 3 12 3C14.3107 3 15.7699 5.58716 18.6883 10.7615L19.0519 11.4063C21.4771 15.7061 22.6897 17.856 21.5937 19.428C20.4978 21 17.7864 21 12.3637 21H11.6363C6.21356 21 3.50217 21 2.40626 19.428C1.31034 17.856 2.52291 15.7061 4.94805 11.4063L5.31171 10.7615ZM12 7.25C12.4142 7.25 12.75 7.58579 12.75 8V13C12.75 13.4142 12.4142 13.75 12 13.75C11.5858 13.75 11.25 13.4142 11.25 13V8C11.25 7.58579 11.5858 7.25 12 7.25ZM12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17Z\", fill: \"currentColor\" })));\no.displayName = \"DangerTriangle\";\nexport {\n o as DangerTriangle\n};\n","import e, { forwardRef as o } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst t = o((C, r) => /* @__PURE__ */ e.createElement(l, { ref: r, ...C }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M7.84308 3.80211C9.8718 2.6007 10.8862 2 12 2C13.1138 2 14.1282 2.6007 16.1569 3.80211L16.8431 4.20846C18.8718 5.40987 19.8862 6.01057 20.4431 7C21 7.98943 21 9.19084 21 11.5937V12.4063C21 14.8092 21 16.0106 20.4431 17C19.8862 17.9894 18.8718 18.5901 16.8431 19.7915L16.1569 20.1979C14.1282 21.3993 13.1138 22 12 22C10.8862 22 9.8718 21.3993 7.84308 20.1979L7.15692 19.7915C5.1282 18.5901 4.11384 17.9894 3.55692 17C3 16.0106 3 14.8092 3 12.4063V11.5937C3 9.19084 3 7.98943 3.55692 7C4.11384 6.01057 5.1282 5.40987 7.15692 4.20846L7.84308 3.80211ZM13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16ZM12 6.25C12.4142 6.25 12.75 6.58579 12.75 7V13C12.75 13.4142 12.4142 13.75 12 13.75C11.5858 13.75 11.25 13.4142 11.25 13V7C11.25 6.58579 11.5858 6.25 12 6.25Z\", fill: \"currentColor\" })));\nt.displayName = \"Danger\";\nexport {\n t as Danger\n};\n","import e, { forwardRef as r } from \"react\";\nimport l from \"../../../lib/IconBase.mjs\";\nconst t = r((C, o) => /* @__PURE__ */ e.createElement(l, { ref: o, ...C }, /* @__PURE__ */ e.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM12 17.75C12.4142 17.75 12.75 17.4142 12.75 17V11C12.75 10.5858 12.4142 10.25 12 10.25C11.5858 10.25 11.25 10.5858 11.25 11V17C11.25 17.4142 11.5858 17.75 12 17.75ZM12 7C12.5523 7 13 7.44772 13 8C13 8.55228 12.5523 9 12 9C11.4477 9 11 8.55228 11 8C11 7.44772 11.4477 7 12 7Z\", fill: \"currentColor\" })));\nt.displayName = \"InfoCircle\";\nexport {\n t as InfoCircle\n};\n","import C, { forwardRef as l } from \"react\";\nimport t from \"../../../lib/IconBase.mjs\";\nconst o = l((e, r) => /* @__PURE__ */ C.createElement(t, { ref: r, ...e }, /* @__PURE__ */ C.createElement(\"path\", { d: \"M12 6.25C12.4142 6.25 12.75 6.58579 12.75 7V13C12.75 13.4142 12.4142 13.75 12 13.75C11.5858 13.75 11.25 13.4142 11.25 13V7C11.25 6.58579 11.5858 6.25 12 6.25Z\", fill: \"currentColor\" }), /* @__PURE__ */ C.createElement(\"path\", { d: \"M13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16Z\", fill: \"currentColor\" }), /* @__PURE__ */ C.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 1.25C11.2954 1.25 10.6519 1.44359 9.94858 1.77037C9.26808 2.08656 8.48039 2.55304 7.49457 3.13685L6.74148 3.58283C5.75533 4.16682 4.96771 4.63324 4.36076 5.07944C3.73315 5.54083 3.25177 6.01311 2.90334 6.63212C2.55548 7.25014 2.39841 7.91095 2.32306 8.69506C2.24999 9.45539 2.24999 10.3865 2.25 11.556V12.444C2.24999 13.6135 2.24999 14.5446 2.32306 15.3049C2.39841 16.0891 2.55548 16.7499 2.90334 17.3679C3.25177 17.9869 3.73315 18.4592 4.36076 18.9206C4.96771 19.3668 5.75533 19.8332 6.74148 20.4172L7.4946 20.8632C8.48038 21.447 9.2681 21.9135 9.94858 22.2296C10.6519 22.5564 11.2954 22.75 12 22.75C12.7046 22.75 13.3481 22.5564 14.0514 22.2296C14.7319 21.9134 15.5196 21.447 16.5054 20.8632L17.2585 20.4172C18.2446 19.8332 19.0323 19.3668 19.6392 18.9206C20.2669 18.4592 20.7482 17.9869 21.0967 17.3679C21.4445 16.7499 21.6016 16.0891 21.6769 15.3049C21.75 14.5446 21.75 13.6135 21.75 12.4441V11.556C21.75 10.3866 21.75 9.45538 21.6769 8.69506C21.6016 7.91095 21.4445 7.25014 21.0967 6.63212C20.7482 6.01311 20.2669 5.54083 19.6392 5.07944C19.0323 4.63324 18.2447 4.16683 17.2585 3.58285L16.5054 3.13685C15.5196 2.55303 14.7319 2.08656 14.0514 1.77037C13.3481 1.44359 12.7046 1.25 12 1.25ZM8.22524 4.44744C9.25238 3.83917 9.97606 3.41161 10.5807 3.13069C11.1702 2.85676 11.5907 2.75 12 2.75C12.4093 2.75 12.8298 2.85676 13.4193 3.13069C14.0239 3.41161 14.7476 3.83917 15.7748 4.44744L16.4609 4.85379C17.4879 5.46197 18.2109 5.89115 18.7508 6.288C19.2767 6.67467 19.581 6.99746 19.7895 7.36788C19.9986 7.73929 20.1199 8.1739 20.1838 8.83855C20.2492 9.51884 20.25 10.378 20.25 11.5937V12.4063C20.25 13.622 20.2492 14.4812 20.1838 15.1614C20.1199 15.8261 19.9986 16.2607 19.7895 16.6321C19.581 17.0025 19.2767 17.3253 18.7508 17.712C18.2109 18.1089 17.4879 18.538 16.4609 19.1462L15.7748 19.5526C14.7476 20.1608 14.0239 20.5884 13.4193 20.8693C12.8298 21.1432 12.4093 21.25 12 21.25C11.5907 21.25 11.1702 21.1432 10.5807 20.8693C9.97606 20.5884 9.25238 20.1608 8.22524 19.5526L7.53909 19.1462C6.5121 18.538 5.78906 18.1089 5.24924 17.712C4.72326 17.3253 4.419 17.0025 4.2105 16.6321C4.00145 16.2607 3.88005 15.8261 3.81618 15.1614C3.7508 14.4812 3.75 13.622 3.75 12.4063V11.5937C3.75 10.378 3.7508 9.51884 3.81618 8.83855C3.88005 8.1739 4.00145 7.73929 4.2105 7.36788C4.419 6.99746 4.72326 6.67467 5.24924 6.288C5.78906 5.89115 6.5121 5.46197 7.53909 4.85379L8.22524 4.44744Z\", fill: \"currentColor\" })));\no.displayName = \"Danger\";\nexport {\n o as Danger\n};\n","import { DangerOutline } from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\nimport styles from \"./InlineError.module.scss\";\n\nexport const InlineError = ({ children }: PropsWithChildren) => {\n return (\n <div className={classNames(styles.message)}>\n <DangerOutline className={classNames(styles.critical, \"solarIcon\")} />\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React, { ReactNode, useEffect, useRef } from \"react\";\nimport { InlineError } from \"../InlineError/InlineError\";\nimport styles from \"./Checkbox.module.scss\";\n\ninterface CheckboxProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: ReactNode;\n error?: string;\n helperText?: string;\n indeterminate?: boolean;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}\n\nexport const Checkbox: React.FC<CheckboxProps> = ({\n label,\n error,\n helperText,\n disabled,\n className,\n indeterminate,\n onChange,\n ...rest\n}) => {\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.indeterminate = !!indeterminate;\n }\n }, [indeterminate]);\n\n const handleLabelClick = () => {\n if (ref.current && !disabled) {\n const event = {\n target: ref.current,\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(event);\n }\n };\n\n return (\n <div className={styles.formItem}>\n <input\n ref={ref}\n type='checkbox'\n className={classNames(className, styles.checkbox, {\n [styles.error]: !!error,\n })}\n disabled={disabled}\n onChange={onChange}\n {...rest}\n />\n <div className={styles.labelContainer}>\n <div\n className={classNames(styles.label, {\n [styles.disabled]: disabled,\n })}\n onClick={handleLabelClick}\n >\n {label}\n </div>\n {error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {error ? <InlineError>{error}</InlineError> : helperText}\n </div>\n )}\n {helperText && !error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {helperText}\n </div>\n )}\n </div>\n </div>\n );\n};\n","import { createContext, useContext } from \"react\";\n\nexport type FormItemState = \"default\" | \"error\" | \"disabled\" | \"readOnly\";\n\nexport interface FormItemContextValue {\n state: FormItemState;\n}\n\nexport const FormItemContext = createContext<FormItemContextValue>({\n state: \"default\",\n});\n\nexport const useFormItem = () => useContext(FormItemContext);\n","// FormItem.tsx\nimport { DangerCircleBold } from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport React, { PropsWithChildren, ReactNode } from \"react\";\nimport styles from \"./FormItem.module.scss\";\nimport { FormItemContext, useFormItem } from \"./FormItemContext\";\n\n// Тип состояния формы\ntype FormState = \"default\" | \"error\" | \"disabled\" | \"readOnly\";\n\n// Props для FormItem\ninterface FormItemProps {\n children: ReactNode;\n error?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n}\n\n// FormItem Component\nconst FormItem = ({ children, error, disabled, readOnly }: FormItemProps) => {\n let state: FormState = \"default\";\n\n if (error) state = \"error\";\n else if (disabled) state = \"disabled\";\n else if (readOnly) state = \"readOnly\";\n\n return (\n <FormItemContext.Provider value={{ state }}>\n <div className={styles.formItem}>{children}</div>\n </FormItemContext.Provider>\n );\n};\n\n// Label Component\nconst Label = ({ children }: PropsWithChildren) => {\n const { state } = useFormItem();\n\n return (\n <label\n className={classNames(\n styles.label,\n state === \"disabled\" && styles.disabled,\n state === \"readOnly\" && styles.readOnly,\n )}\n >\n {children}\n </label>\n );\n};\n\n// Props для Input\ninterface InputProps extends React.ComponentPropsWithoutRef<\"input\"> {\n as?: React.ElementType;\n className?: string;\n}\n\n// Input Component (Flexible)\nconst Input = React.forwardRef<HTMLElement, InputProps>(\n ({ as: Component = \"input\", className, ...props }, ref) => {\n const { state } = useFormItem();\n\n return (\n <Component\n ref={ref}\n className={classNames(styles.input, styles[state], className)}\n disabled={state === \"disabled\"}\n readOnly={state === \"readOnly\"}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"FormItem.Input\";\n\n// Message Component\nconst Message = ({ children }: PropsWithChildren) => {\n const { state } = useFormItem();\n if (!children) return null;\n\n return (\n <div\n className={classNames(\n styles.message,\n state === \"error\" ? styles.error : styles.default,\n )}\n >\n {state === \"error\" && (\n <DangerCircleBold\n className={classNames(styles.critical, \"solarIcon\")}\n />\n )}\n {children}\n </div>\n );\n};\n\n// Combine exports\nFormItem.Label = Label;\nFormItem.Input = Input;\nFormItem.Message = Message;\n\nexport { FormItem };\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { InlineError } from \"../InlineError/InlineError\";\nimport styles from \"./Input.module.scss\";\n\ninterface BaseInputWrapperProps {\n label?: string;\n labelPlacement?: \"block\" | \"inline\";\n error?: string;\n helperText?: string;\n disabled?: boolean;\n readOnly?: boolean;\n prefix?: React.ReactNode;\n postfix?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n}\n\nexport const BaseInputWrapper = ({\n label,\n labelPlacement = \"block\",\n error,\n helperText,\n disabled,\n readOnly,\n prefix,\n postfix,\n children,\n className,\n}: BaseInputWrapperProps) => (\n <div className={styles.formItem}>\n {label && labelPlacement === \"block\" && (\n <label\n className={classNames(styles.label, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n })}\n >\n {label}\n </label>\n )}\n <div\n className={classNames(styles.inputContainer, className, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n [styles.error]: !!error,\n })}\n >\n {label && labelPlacement === \"inline\" && (\n <span className={styles.inlineLabel}>{label}</span>\n )}\n {prefix}\n {children}\n {postfix}\n </div>\n {error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n <InlineError>{error}</InlineError>\n </div>\n )}\n {helperText && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {helperText}\n </div>\n )}\n </div>\n);\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { BaseInputWrapper } from \"./BaseInputWrapper\";\nimport styles from \"./Input.module.scss\";\n\ninterface InputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"prefix\" | \"postfix\"\n > {\n label?: string;\n labelPlacement?: \"block\" | \"inline\";\n error?: string;\n helperText?: string;\n prefix?: React.ReactNode;\n postfix?: React.ReactNode;\n maskRegex?: string;\n textPrefix?: string;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n label,\n labelPlacement = \"block\",\n error,\n helperText,\n prefix,\n postfix,\n disabled,\n readOnly,\n className,\n maskRegex,\n textPrefix,\n onChange,\n onFocus,\n ...rest\n },\n ref,\n ) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (maskRegex && !new RegExp(maskRegex).test(e.target.value)) {\n e.target.setCustomValidity(\"Неверный формат\");\n } else {\n e.target.setCustomValidity(\"\");\n }\n onChange?.(e);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (textPrefix && !e.target.value) {\n const newVal = textPrefix;\n e.target.value = newVal;\n e.target.setSelectionRange(newVal.length, newVal.length);\n e.target.dispatchEvent(new Event(\"input\", { bubbles: true }));\n }\n onFocus?.(e);\n };\n\n return (\n <BaseInputWrapper\n label={label}\n labelPlacement={labelPlacement}\n error={error}\n helperText={helperText}\n prefix={prefix}\n postfix={postfix}\n disabled={disabled}\n readOnly={readOnly}\n className={className}\n >\n <input\n ref={ref}\n className={classNames(styles.input)}\n disabled={disabled}\n readOnly={readOnly}\n onChange={handleChange}\n onFocus={handleFocus}\n {...rest}\n />\n </BaseInputWrapper>\n );\n },\n);\n\nInput.displayName = \"Input\";\nexport type { InputProps };\n","// TextArea.tsx\nimport classNames from \"classnames\";\nimport React, { useEffect, useState } from \"react\";\nimport { BaseInputWrapper } from \"./BaseInputWrapper\";\nimport styles from \"./Input.module.scss\";\n\ninterface TextAreaProps\n extends Omit<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"prefix\" | \"postfix\"\n > {\n label?: string;\n error?: string;\n helperText?: string;\n prefix?: React.ReactNode;\n postfix?: React.ReactNode;\n}\n\nexport const TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n label,\n error,\n helperText,\n prefix,\n postfix,\n disabled,\n readOnly,\n className,\n onChange,\n value,\n defaultValue,\n rows = 4,\n ...rest\n },\n ref,\n ) => {\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<string>(\n defaultValue?.toString() || \"\",\n );\n\n useEffect(() => {\n if (!isControlled && defaultValue !== undefined) {\n setInternalValue(defaultValue.toString());\n }\n }, [defaultValue]);\n\n const currentValue = isControlled ? value : internalValue;\n\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const val = e.target.value;\n\n if (!isControlled) setInternalValue(val);\n\n onChange?.(e);\n };\n\n return (\n <BaseInputWrapper\n label={label}\n error={error}\n helperText={helperText}\n prefix={prefix}\n postfix={postfix}\n disabled={disabled}\n readOnly={readOnly}\n >\n <textarea\n ref={ref}\n className={classNames(styles.input, className, styles.textarea)}\n disabled={disabled}\n readOnly={readOnly}\n value={currentValue}\n rows={rows}\n onChange={handleChange}\n {...rest}\n />\n </BaseInputWrapper>\n );\n },\n);\n\nTextArea.displayName = \"TextArea\";\nexport type { TextAreaProps };\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport { InlineError } from \"../InlineError/InlineError\";\nimport styles from \"./Input.module.scss\";\n\ninterface RadioButtonProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: ReactNode;\n error?: string;\n helperText?: string;\n name: string;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}\n\nexport const RadioButton = ({\n label,\n error,\n helperText,\n disabled,\n className,\n name,\n onChange,\n ...rest\n}: RadioButtonProps) => {\n const handleLabelClick = () => {\n if (onChange) {\n const event = {\n target: {\n name,\n value: rest.value || \"\",\n },\n } as React.ChangeEvent<HTMLInputElement>;\n\n onChange(event);\n }\n };\n return (\n <div className={styles.formItem}>\n <input\n type='radio'\n className={classNames(className, styles.inputContainer, styles.radio)}\n disabled={disabled}\n name={name}\n onChange={onChange}\n {...rest}\n />\n <div className={styles.labelContainer}>\n <div\n className={classNames(styles.label, {\n [styles.disabled]: disabled,\n })}\n onClick={handleLabelClick}\n >\n {label}\n </div>\n {error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {error ? <InlineError>{error}</InlineError> : helperText}\n </div>\n )}\n {helperText && !error && (\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {helperText}\n </div>\n )}\n </div>\n </div>\n );\n};\n","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import classNames from \"classnames\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { usePopper } from \"react-popper\";\nimport { InlineError } from \"../InlineError/InlineError\";\nimport styles from \"./Select.module.scss\";\n\ninterface SelectOption {\n label: React.ReactNode;\n value: string | number;\n disabled?: boolean;\n}\n\ninterface SelectProps {\n label?: React.ReactNode;\n labelPlacement?: \"block\" | \"inline\";\n error?: string;\n helperText?: string;\n disabled?: boolean;\n readOnly?: boolean;\n className?: string;\n placeholder?: string;\n value?: string | number;\n options: SelectOption[];\n onChange?: (value: string | number) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n renderOption?: (option: SelectOption) => React.ReactNode;\n}\n\nexport const Select = React.forwardRef<HTMLDivElement, SelectProps>(\n (\n {\n label,\n labelPlacement = \"block\",\n error,\n helperText,\n disabled,\n readOnly,\n className,\n placeholder = \"Select an option\",\n value,\n options,\n onChange,\n onFocus,\n onBlur,\n renderOption,\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const [focusedIndex, setFocusedIndex] = useState(-1);\n const [triggerElement, setTriggerElement] = useState<HTMLDivElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const optionsRef = useRef<HTMLDivElement[]>([]);\n\n const selectedOption = useMemo(\n () => options.find((option) => option.value === value),\n [options, value]\n );\n\n const popperModifiers = useMemo(\n () => [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\"],\n },\n },\n {\n name: \"preventOverflow\",\n options: {\n padding: 8,\n },\n },\n {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\" as const,\n requires: [\"computeStyles\"],\n fn: ({ state }: any) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n },\n ],\n []\n );\n\n const { styles: popperStyles, attributes } = usePopper(triggerElement, popperElement, {\n placement: \"bottom-start\",\n modifiers: popperModifiers,\n });\n\n const handleToggle = useCallback(() => {\n if (disabled || readOnly) return;\n\n if (!isOpen) {\n setIsOpen(true);\n setFocusedIndex(selectedOption ? options.indexOf(selectedOption) : -1);\n onFocus?.();\n } else {\n setIsOpen(false);\n setFocusedIndex(-1);\n onBlur?.();\n }\n }, [disabled, readOnly, isOpen, selectedOption, options, onFocus, onBlur]);\n\n const handleOptionSelect = useCallback((option: SelectOption) => {\n if (option.disabled) return;\n\n onChange?.(option.value);\n setIsOpen(false);\n setFocusedIndex(-1);\n onBlur?.();\n }, [onChange, onBlur]);\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (disabled || readOnly) return;\n\n switch (e.key) {\n case \"Enter\":\n case \" \":\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n setFocusedIndex(\n selectedOption ? options.indexOf(selectedOption) : 0,\n );\n onFocus?.();\n } else if (focusedIndex >= 0) {\n const option = options[focusedIndex];\n if (!option.disabled) {\n handleOptionSelect(option);\n }\n }\n break;\n case \"Escape\":\n if (isOpen) {\n setIsOpen(false);\n setFocusedIndex(-1);\n onBlur?.();\n }\n break;\n case \"ArrowDown\":\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n setFocusedIndex(0);\n onFocus?.();\n } else {\n const nextIndex =\n focusedIndex < options.length - 1 ? focusedIndex + 1 : 0;\n setFocusedIndex(nextIndex);\n }\n break;\n case \"ArrowUp\":\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n setFocusedIndex(options.length - 1);\n onFocus?.();\n } else {\n const prevIndex =\n focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n setFocusedIndex(prevIndex);\n }\n break;\n }\n };\n\n // Close dropdown when clicking outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const target = event.target as Node;\n const isClickInsideTrigger = triggerElement?.contains(target);\n const isClickInsideDropdown = popperElement?.contains(target);\n\n if (!isClickInsideTrigger && !isClickInsideDropdown) {\n setIsOpen(false);\n setFocusedIndex(-1);\n onBlur?.();\n }\n };\n\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () =>\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }\n }, [isOpen, onBlur, triggerElement, popperElement]);\n\n // Scroll focused option into view\n useEffect(() => {\n if (focusedIndex >= 0 && optionsRef.current[focusedIndex]) {\n optionsRef.current[focusedIndex].scrollIntoView({\n block: \"nearest\",\n });\n }\n }, [focusedIndex]);\n\n return (\n <div className={styles.formItem}>\n {label && labelPlacement === \"block\" && (\n <label\n className={classNames(styles.label, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n })}\n >\n {label}\n </label>\n )}\n <div\n ref={setTriggerElement}\n className={classNames(styles.inputContainer, className, {\n [styles.disabled]: disabled,\n [styles.readOnly]: readOnly,\n [styles.error]: !!error,\n [styles.open]: isOpen,\n })}\n onClick={handleToggle}\n >\n {label && labelPlacement === \"inline\" && (\n <span className={styles.inlineLabel}>{label}</span>\n )}\n <div\n ref={ref}\n className={classNames(styles.trigger)}\n tabIndex={disabled || readOnly ? -1 : 0}\n onKeyDown={handleKeyDown}\n role='combobox'\n aria-expanded={isOpen}\n aria-haspopup='listbox'\n aria-label={typeof label === \"string\" ? label : undefined}\n >\n <span\n className={classNames(styles.value, {\n [styles.placeholder]: !selectedOption,\n })}\n >\n {selectedOption\n ? (renderOption?.(selectedOption) ?? selectedOption.label)\n : placeholder}\n </span>\n <svg\n className={classNames(styles.chevron, {\n [styles.rotated]: isOpen,\n })}\n width='16'\n height='16'\n viewBox='0 0 16 16'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <path\n d='M4 6L8 10L12 6'\n stroke='currentColor'\n strokeWidth='1'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n </div>\n </div>\n {isOpen &&\n createPortal(\n <div\n ref={setPopperElement}\n className={styles.optionsPortal}\n style={{\n ...popperStyles.popper,\n zIndex: 9999,\n }}\n {...attributes.popper}\n role='listbox'\n >\n <div className={styles.container}>\n {options.map((option, index) => (\n <div\n key={option.value}\n ref={(el) => (optionsRef.current[index] = el!)}\n className={classNames(styles.option, {\n [styles.selected]: option.value === value,\n [styles.focused]: index === focusedIndex,\n [styles.disabled]: option.disabled,\n })}\n onClick={() => handleOptionSelect(option)}\n role='option'\n aria-selected={option.value === value}\n >\n {renderOption?.(option) ?? option.label}\n </div>\n ))}\n </div>\n </div>,\n document.body,\n )}\n <div\n className={classNames(styles.message, {\n [styles.error]: !!error,\n })}\n >\n {error ? <InlineError>{error}</InlineError> : helperText}\n </div>\n </div>\n );\n },\n);\n\nSelect.displayName = \"Dropdown\";\nexport type { SelectProps, SelectOption };\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_en=n()}(this,(function(){\"use strict\";return{name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var n=[\"th\",\"st\",\"nd\",\"rd\"],t=e%100;return\"[\"+e+(n[(t-20)%10]||n[t]||n[0])+\"]\"}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_fr=n(e.dayjs)}(this,(function(e){\"use strict\";function n(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=n(e),i={name:\"fr\",weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},ordinal:function(e){return\"\"+e+(1===e?\"er\":\"\")}};return t.default.locale(i,null,!0),i}));","!function(_,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],e):(_=\"undefined\"!=typeof globalThis?globalThis:_||self).dayjs_locale_kk=e(_.dayjs)}(this,(function(_){\"use strict\";function e(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var t=e(_),d={name:\"kk\",weekdays:\"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі\".split(\"_\"),weekdaysShort:\"жек_дүй_сей_сәр_бей_жұм_сен\".split(\"_\"),weekdaysMin:\"жк_дй_сй_ср_бй_жм_сн\".split(\"_\"),months:\"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан\".split(\"_\"),monthsShort:\"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел\".split(\"_\"),weekStart:1,relativeTime:{future:\"%s ішінде\",past:\"%s бұрын\",s:\"бірнеше секунд\",m:\"бір минут\",mm:\"%d минут\",h:\"бір сағат\",hh:\"%d сағат\",d:\"бір күн\",dd:\"%d күн\",M:\"бір ай\",MM:\"%d ай\",y:\"бір жыл\",yy:\"%d жыл\"},ordinal:function(_){return _},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"}};return t.default.locale(d,null,!0),d}));","!function(_,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(_=\"undefined\"!=typeof globalThis?globalThis:_||self).dayjs_locale_ru=t(_.dayjs)}(this,(function(_){\"use strict\";function t(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var e=t(_),n=\"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря\".split(\"_\"),s=\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\"),r=\"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.\".split(\"_\"),o=\"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.\".split(\"_\"),i=/D[oD]?(\\[[^[\\]]*\\]|\\s)+MMMM?/;function d(_,t,e){var n,s;return\"m\"===e?t?\"минута\":\"минуту\":_+\" \"+(n=+_,s={mm:t?\"минута_минуты_минут\":\"минуту_минуты_минут\",hh:\"час_часа_часов\",dd:\"день_дня_дней\",MM:\"месяц_месяца_месяцев\",yy:\"год_года_лет\"}[e].split(\"_\"),n%10==1&&n%100!=11?s[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?s[1]:s[2])}var u=function(_,t){return i.test(t)?n[_.month()]:s[_.month()]};u.s=s,u.f=n;var a=function(_,t){return i.test(t)?r[_.month()]:o[_.month()]};a.s=o,a.f=r;var m={name:\"ru\",weekdays:\"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота\".split(\"_\"),weekdaysShort:\"вск_пнд_втр_срд_чтв_птн_сбт\".split(\"_\"),weekdaysMin:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),months:u,monthsShort:a,weekStart:1,yearStart:4,formats:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., H:mm\",LLLL:\"dddd, D MMMM YYYY г., H:mm\"},relativeTime:{future:\"через %s\",past:\"%s назад\",s:\"несколько секунд\",m:d,mm:d,h:\"час\",hh:d,d:\"день\",dd:d,M:\"месяц\",MM:d,y:\"год\",yy:d},ordinal:function(_){return _},meridiem:function(_){return _<4?\"ночи\":_<12?\"утра\":_<17?\"дня\":\"вечера\"}};return e.default.locale(m,null,!0),m}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i<t?i+7:i)-t;return this.$utils().u(e)?n:this.subtract(n,\"day\").add(e,\"day\")}}}));","import dayjs from \"dayjs\";\nimport \"dayjs/locale/en\";\nimport \"dayjs/locale/fr\";\nimport \"dayjs/locale/kk\";\nimport \"dayjs/locale/ru\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport isSameOrBefore from \"dayjs/plugin/isSameOrBefore\";\nimport localeData from \"dayjs/plugin/localeData\";\nimport localizedFormat from \"dayjs/plugin/localizedFormat\";\nimport weekday from \"dayjs/plugin/weekday\";\n\ndayjs.extend(localizedFormat);\ndayjs.extend(localeData);\ndayjs.extend(weekday);\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\n\nexport default dayjs;\nexport type { Dayjs } from \"dayjs\";\n","import * as React from \"react\";\nconst SvgFallbackAvatar = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: \"1em\", height: \"1em\", viewBox: \"0 0 96 96\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_2167_12338)\" }, /* @__PURE__ */ React.createElement(\"mask\", { id: \"mask0_2167_12338\", style: {\n maskType: \"luminance\"\n}, maskUnits: \"userSpaceOnUse\", x: 0, y: 0, width: 96, height: 96 }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M96 48C96 21.4903 74.5097 0 48 0C21.4903 0 0 21.4903 0 48C0 74.5097 21.4903 96 48 96C74.5097 96 96 74.5097 96 48Z\", fill: \"white\" })), /* @__PURE__ */ React.createElement(\"g\", { mask: \"url(#mask0_2167_12338)\" }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M95.9995 0H-0.000534058V96H95.9995V0Z\", fill: \"#A78BFA\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M58.0874 121.564C84.9299 110.17 97.4534 79.1729 86.0594 52.3304C74.6654 25.4879 43.6687 12.9644 16.8261 24.3583C-10.0164 35.7523 -22.5399 66.7491 -11.1459 93.5916C0.248056 120.434 31.2448 132.958 58.0874 121.564Z\", fill: \"#E879F9\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M26.1158 61.0025C25.7926 63.6349 26.8769 66.3306 29.1302 68.4968C31.3835 70.6629 34.6212 72.1219 38.131 72.5529C41.6409 72.9838 45.1354 72.3514 47.8458 70.7948C50.5562 69.2381 52.2604 66.8847 52.5837 64.2523\", fill: \"black\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M29.0638 47.9304C29.2433 46.4686 28.5001 45.1744 27.4037 45.0398C26.3074 44.9052 25.2731 45.9811 25.0936 47.4429C24.9142 48.9047 25.6574 50.1988 26.7537 50.3334C27.8501 50.468 28.8843 49.3921 29.0638 47.9304Z\", fill: \"black\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M55.5317 51.1805C55.7112 49.7187 54.9679 48.4246 53.8716 48.29C52.7752 48.1553 51.741 49.2312 51.5615 50.693C51.382 52.1548 52.1253 53.4489 53.2216 53.5835C54.3179 53.7182 55.3522 52.6423 55.5317 51.1805Z\", fill: \"black\" }))), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_2167_12338\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 96, height: 96, fill: \"white\" }))));\nexport default SvgFallbackAvatar;\n","import React from \"react\";\nimport { default as AvatarFallback } from \"./fallbackAvatar.svg?react\";\n\nexport interface AvatarProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n size?: number;\n image?: string | null;\n}\n\nexport const Avatar = ({ image, size = 36, style, ...rest }: AvatarProps) => {\n if (!image) {\n return (\n <AvatarFallback\n style={{\n width: size,\n height: size,\n borderRadius: \"50%\",\n cursor: \"pointer\",\n ...style,\n }}\n />\n );\n }\n return (\n <img\n src={image}\n alt='user_avatar'\n width={size}\n height={size}\n style={{\n borderRadius: \"50%\",\n objectFit: \"cover\",\n cursor: \"pointer\",\n ...style,\n }}\n {...rest}\n />\n );\n};\n","import { Toaster, ToasterProps } from \"sonner\";\nimport styles from \"./Message.module.scss\";\n\nexport const CustomToaster = (props: ToasterProps) => {\n return (\n <Toaster\n position='bottom-right'\n closeButton={false}\n richColors\n visibleToasts={5}\n toastOptions={{\n className: styles.toasterContainer,\n }}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nconst SvgPlus = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 20 20\", fill: \"none\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9.99968 3.41663C10.4139 3.41663 10.7497 3.75241 10.7497 4.16663V9.24963H15.8337C16.2476 9.24981 16.5835 9.5857 16.5837 9.99963C16.5837 10.4137 16.2477 10.7495 15.8337 10.7496H10.7497V15.8336C10.7495 16.2477 10.4138 16.5836 9.99968 16.5836C9.58572 16.5834 9.24986 16.2476 9.24968 15.8336V10.7496H4.16667C3.75246 10.7496 3.41667 10.4138 3.41667 9.99963C3.41687 9.58559 3.75258 9.24963 4.16667 9.24963H9.24968V4.16663C9.24968 3.75252 9.58562 3.4168 9.99968 3.41663Z\", fill: \"currentColor\" }));\nexport default SvgPlus;\n","import * as React from \"react\";\nconst SvgX = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 12 12\", fill: \"none\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M10.2197 0.21967C10.5126 -0.0732232 10.9873 -0.0732232 11.2802 0.21967C11.5731 0.512568 11.5731 0.987342 11.2802 1.28022L6.81049 5.74994L11.2802 10.2197C11.5731 10.5126 11.5731 10.9873 11.2802 11.2802C10.9873 11.5731 10.5126 11.5731 10.2197 11.2802L5.74994 6.81049L1.28022 11.2802C0.987342 11.5731 0.512568 11.5731 0.21967 11.2802C-0.0732232 10.9873 -0.0732232 10.5126 0.21967 10.2197L4.6894 5.74994L0.21967 1.28022C-0.0732233 0.987324 -0.0732233 0.512563 0.21967 0.21967C0.512563 -0.0732233 0.987324 -0.0732233 1.28022 0.21967L5.74994 4.6894L10.2197 0.21967Z\", fill: \"currentColor\" }));\nexport default SvgX;\n","import {\n CheckCircleBold,\n DangerBold,\n DangerTriangleBold,\n InfoCircleBold,\n} from \"@solar-icons/react-perf\";\nimport { toast } from \"sonner\";\nimport { Icon, IconButton } from \"@/components/display\";\nimport { X } from \"@/components/icons\";\nimport styles from \"./Message.module.scss\";\n\ntype MessageType = \"default\" | \"warning\" | \"error\" | \"success\";\n\nconst DURATION = 5000; // 5 seconds in milliseconds\n\nexport const message = {\n default(text: string) {\n toast.custom(\n (t) => (\n <div className={styles.toastWrapper}>\n <div className={styles.timer} />\n <div className={`${styles.customToast} ${styles.default}`}>\n <Icon\n className={styles.defaultIcon}\n icon={<InfoCircleBold className='solarIcon' />}\n />\n\n <div className={styles.content}>{text}</div>\n <IconButton\n onClick={() => toast.dismiss(t)}\n size='small'\n >\n <X />\n </IconButton>\n </div>\n </div>\n ),\n { duration: DURATION },\n );\n },\n\n warning(text: string) {\n toast.custom(\n (t) => (\n <div className={styles.toastWrapper}>\n <div className={`${styles.timer} ${styles.warningTimer}`} />\n <div className={`${styles.customToast} ${styles.warning}`}>\n <Icon\n icon={<DangerTriangleBold className='solarIcon' />}\n className={styles.warningIcon}\n />\n <div className={styles.content}>{text}</div>\n <IconButton\n onClick={() => toast.dismiss(t)}\n size='small'\n >\n <X />\n </IconButton>\n </div>\n </div>\n ),\n { duration: DURATION },\n );\n },\n\n error(text: string) {\n toast.custom(\n (t) => (\n <div className={styles.toastWrapper}>\n <div className={`${styles.timer} ${styles.errorTimer}`} />\n <div className={`${styles.customToast} ${styles.error}`}>\n <Icon\n icon={<DangerBold className='solarIcon' />}\n className={styles.criticalIcon}\n />\n\n <div className={styles.content}>{text}</div>\n <IconButton\n onClick={() => toast.dismiss(t)}\n size='small'\n >\n <X />\n </IconButton>\n </div>\n </div>\n ),\n { duration: DURATION },\n );\n },\n\n success(text: string) {\n toast.custom(\n (t) => (\n <div className={styles.toastWrapper}>\n <div className={`${styles.timer} ${styles.successTimer}`} />\n <div className={`${styles.customToast} ${styles.success}`}>\n <Icon\n icon={<CheckCircleBold className='solarIcon' />}\n className={styles.successIcon}\n />\n\n <div className={styles.content}>{text}</div>\n <IconButton\n onClick={() => toast.dismiss(t)}\n size='small'\n >\n <X />\n </IconButton>\n </div>\n </div>\n ),\n { duration: DURATION },\n );\n },\n\n show(text: string, type: MessageType = \"default\") {\n if (type === \"error\") return this.error(text);\n if (type === \"warning\") return this.warning(text);\n if (type === \"success\") return this.success(text);\n return this.default(text);\n },\n};\n","import { DangerBold, DangerTriangleBold } from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport React, { HTMLAttributes, PropsWithChildren, ReactNode } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Button, ButtonProps, Typography } from \"@/components\";\nimport styles from \"./Modal.module.scss\";\n\nexport interface ModalProps {\n activator?: ReactNode;\n open: boolean;\n onClose?: () => void;\n title: ReactNode;\n primaryButtonProps?: ButtonProps;\n secondaryButtonProps?: ButtonProps[];\n tone?: \"default\" | \"critical\" | \"warning\";\n children: ReactNode;\n fullHeight?: boolean;\n size?: \"sm\" | \"lg\" | \"md\";\n}\n\nconst ModalBase = ({\n open,\n title,\n primaryButtonProps,\n secondaryButtonProps = [],\n tone = \"default\",\n fullHeight = false,\n children,\n size = \"md\",\n}: ModalProps) => {\n if (!open) return null;\n\n const toneClass = styles[`tone-${tone}`] || \"\";\n\n return createPortal(\n <Typography>\n <div className={styles.modalLayout}>\n <div\n className={`${styles.modalContainer} ${toneClass} ${styles[size]} ${fullHeight && styles.fullHeight}`}\n onClick={(e) => e.stopPropagation()}\n role='dialog'\n aria-modal='true'\n aria-labelledby='modal-title'\n >\n <div className={styles.header}>\n <div className={styles.title}>\n {tone === \"critical\" && (\n <DangerBold\n className={classNames(styles.critical, \"solarIcon\")}\n />\n )}\n {tone === \"warning\" && (\n <DangerTriangleBold\n className={classNames(styles.warning, \"solarIcon\")}\n />\n )}\n <Typography variant='heading-sm'>{title}</Typography>\n </div>\n </div>\n\n <div className={classNames(styles.content)}>{children}</div>\n\n <div className={styles.footer}>\n {secondaryButtonProps.map((props, i) => (\n <Button\n key={i}\n className={styles.secondaryButton}\n {...props}\n >\n {props.children}\n </Button>\n ))}\n {primaryButtonProps && (\n <Button\n type='button'\n state='primary'\n className={styles.primaryButton}\n {...primaryButtonProps}\n >\n {primaryButtonProps.children}\n </Button>\n )}\n </div>\n </div>\n </div>{\" \"}\n </Typography>,\n document.body,\n );\n};\n\nconst Section = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => (\n <section\n className={classNames(styles.section, className)}\n {...rest}\n >\n {children}\n </section>\n);\n\ninterface ModalComponent extends React.FC<ModalProps> {\n Section: typeof Section;\n}\n\nconst Modal = ModalBase as ModalComponent;\nModal.Section = Section;\n\nexport { Modal };\n","import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { Modal } from \"./Modal\";\n\nexport interface ModalShowOptions {\n title: string;\n content: React.ReactNode;\n onOk?: () => void;\n onCancel?: () => void;\n okText?: string;\n cancelText?: string;\n tone?: \"default\" | \"critical\" | \"warning\";\n style?: React.CSSProperties;\n centered?: boolean;\n}\n\nexport function showModal(options: ModalShowOptions) {\n const container = document.createElement(\"div\");\n document.body.appendChild(container);\n\n const root = createRoot(container);\n\n const unmount = () => {\n root.unmount();\n container.remove();\n };\n\n const handleOk = () => {\n options.onOk?.();\n unmount();\n };\n\n const handleCancel = () => {\n options.onCancel?.();\n unmount();\n };\n\n root.render(\n <Modal\n open={true}\n title={options.title}\n tone={options.tone}\n onClose={handleCancel}\n primaryButtonProps={{\n children: options.okText || \"OK\",\n onClick: handleOk,\n }}\n secondaryButtonProps={[\n {\n children: options.cancelText || \"Cancel\",\n onClick: handleCancel,\n },\n ]}\n >\n <Modal.Section>{options.content}</Modal.Section>\n </Modal>,\n );\n}\n\nexport const ModalAPI = {\n error: (opts: Omit<ModalShowOptions, \"tone\">) =>\n showModal({ ...opts, tone: \"critical\" }),\n\n warning: (opts: Omit<ModalShowOptions, \"tone\">) =>\n showModal({ ...opts, tone: \"warning\" }),\n\n info: (opts: Omit<ModalShowOptions, \"tone\">) =>\n showModal({ ...opts, tone: \"default\" }),\n};\n","import styles from \"./Spinner.module.scss\";\n\ninterface SpinnerProps {\n size?: number;\n}\n\nexport const Spinner = ({ size = 20 }: SpinnerProps) => {\n return (\n <svg\n className={styles.spin}\n width={size}\n height={size}\n viewBox='0 0 50 50'\n >\n <circle\n cx='25'\n cy='25'\n r='20'\n strokeWidth='6'\n fill='none'\n strokeLinecap='round'\n strokeDasharray='100'\n strokeDashoffset='60'\n />\n </svg>\n );\n};\n","import classNames from \"classnames\";\nimport { CSSProperties, ReactNode, useId, useRef, useState } from \"react\";\nimport styles from \"./Tooltip.module.scss\";\n\nexport interface TooltipProps {\n active?: boolean;\n content: ReactNode;\n hoverDelay?: number;\n preferredPosition?: \"above\" | \"below\" | \"mostSpace\" | \"cover\";\n zIndexOverride?: number;\n persistOnClick?: boolean;\n trigger?: \"hover\" | \"click\" | \"both\";\n children: ReactNode;\n className?: string;\n tooltipClassName?: string;\n}\n\nexport const Tooltip = ({\n active: controlledActive,\n content,\n hoverDelay = 300,\n preferredPosition = \"above\",\n zIndexOverride,\n trigger = \"hover\",\n children,\n className,\n tooltipClassName,\n}: TooltipProps) => {\n const [active, setActive] = useState(false);\n const [computedPosition, setComputedPosition] = useState(preferredPosition);\n const hoverTimeout = useRef<number | null>(null);\n const persist = useRef(false);\n const triggerRef = useRef<HTMLSpanElement | null>(null);\n\n const isActive = controlledActive !== undefined ? controlledActive : active;\n const canTriggerHover = trigger === \"hover\" || trigger === \"both\";\n const canTriggerClick = trigger === \"click\" || trigger === \"both\";\n\n const tooltipId = useId();\n\n const positionClass = styles[`tooltip-position-${computedPosition}`] || \"\";\n\n const wrapperClassName = classNames(styles.tooltipWrapper, className);\n const tooltipClass = classNames(\n styles.tooltip,\n positionClass,\n tooltipClassName,\n );\n\n const style: CSSProperties = {\n zIndex: zIndexOverride ?? 400,\n position: \"absolute\",\n };\n\n const handleMouseEnter = () => {\n if (!canTriggerHover || controlledActive !== undefined) return;\n\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current);\n\n hoverTimeout.current = window.setTimeout(() => {\n if (preferredPosition === \"mostSpace\" && triggerRef.current) {\n const rect = triggerRef.current.getBoundingClientRect();\n const spaceAbove = rect.top;\n const spaceBelow = window.innerHeight - rect.bottom;\n\n setComputedPosition(spaceBelow >= spaceAbove ? \"below\" : \"above\");\n } else {\n setComputedPosition(preferredPosition);\n }\n\n setActive(true);\n }, hoverDelay);\n };\n\n const handleMouseLeave = () => {\n if (!canTriggerHover || controlledActive !== undefined) return;\n\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current);\n\n hoverTimeout.current = window.setTimeout(() => {\n if (!persist.current) {\n setActive(false);\n }\n }, 50);\n };\n\n const handleClick = () => {\n if (!canTriggerClick || controlledActive !== undefined) return;\n\n persist.current = !persist.current;\n\n if (preferredPosition === \"mostSpace\" && triggerRef.current) {\n const rect = triggerRef.current.getBoundingClientRect();\n const spaceAbove = rect.top;\n const spaceBelow = window.innerHeight - rect.bottom;\n\n setComputedPosition(spaceBelow >= spaceAbove ? \"below\" : \"above\");\n } else {\n setComputedPosition(preferredPosition);\n }\n\n setActive(persist.current);\n };\n\n return (\n <span\n ref={triggerRef}\n className={wrapperClassName}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={handleClick}\n aria-describedby={isActive ? tooltipId : undefined}\n tabIndex={0}\n style={{ display: \"inline-block\", position: \"relative\" }}\n >\n {children}\n\n {isActive && (\n <div\n id={tooltipId}\n role='tooltip'\n className={tooltipClass}\n style={style}\n >\n {content}\n </div>\n )}\n </span>\n );\n};\n","import classNames from \"classnames\";\nimport React, { HTMLAttributes, PropsWithChildren, ReactNode } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Button, ButtonProps, IconButton, Typography, X } from \"@/components\";\nimport styles from \"./Window.module.scss\";\n\nexport interface WindowProps {\n activator?: ReactNode;\n open: boolean;\n onClose?: () => void;\n title: string;\n primaryButtonProps?: ButtonProps;\n secondaryButtonProps?: ButtonProps[];\n children: ReactNode;\n fullHeight?: boolean;\n size?: \"sm\" | \"lg\" | \"md\";\n}\n\nconst WindowBase = ({\n open,\n onClose,\n title,\n primaryButtonProps,\n secondaryButtonProps,\n fullHeight = false,\n children,\n size = \"md\",\n}: WindowProps) => {\n if (!open) return null;\n\n return createPortal(\n <Typography>\n <div className={styles.WindowLayout}>\n <div\n className={`${styles.WindowContainer} ${styles[size]} ${fullHeight && styles.fullHeight}`}\n onClick={(e) => e.stopPropagation()}\n role='dialog'\n aria-labelledby='Window-title'\n >\n <div className={styles.header}>\n <div className={styles.title}>\n <Typography variant='heading-sm'>{title}</Typography>\n </div>\n {onClose && (\n <IconButton\n size='medium'\n state='default'\n onClick={onClose}\n aria-label='Close Window'\n >\n <X className='solarIcon' />\n </IconButton>\n )}\n </div>\n\n <div className={classNames(styles.content)}>{children}</div>\n\n <div className={styles.footer}>\n {secondaryButtonProps?.map((props, i) => (\n <Button\n key={i}\n className={styles.secondaryButton}\n {...props}\n >\n {props.children}\n </Button>\n ))}\n {primaryButtonProps && (\n <Button\n type='button'\n state='primary'\n className={styles.primaryButton}\n {...primaryButtonProps}\n >\n {primaryButtonProps.children}\n </Button>\n )}\n </div>\n </div>\n </div>{\" \"}\n </Typography>,\n document.body,\n );\n};\n\nconst Section = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => (\n <section\n className={classNames(styles.section, className)}\n {...rest}\n >\n {children}\n </section>\n);\n\ninterface WindowComponent extends React.FC<WindowProps> {\n Section: typeof Section;\n}\n\nconst Window = WindowBase as WindowComponent;\nWindow.Section = Section;\n\nexport { Window };\n","import { createRoot } from \"react-dom/client\";\nimport { Window, WindowProps } from \"./Window\";\n\nexport function showWindow(options: WindowProps) {\n const container = document.createElement(\"div\");\n document.body.appendChild(container);\n\n const root = createRoot(container);\n\n const unmount = () => {\n root.unmount();\n container.remove();\n };\n\n const primaryButtonProps = options.primaryButtonProps\n ? {\n ...options.primaryButtonProps,\n onClick: () => {\n options.primaryButtonProps?.onClick?.();\n unmount();\n },\n }\n : undefined;\n\n const secondaryButtonProps = options.secondaryButtonProps?.map((btn) => ({\n ...btn,\n onClick: () => {\n btn.onClick?.();\n unmount();\n },\n }));\n\n root.render(\n <Window\n {...options}\n open={true}\n onClose={() => {\n options.onClose?.();\n unmount();\n }}\n primaryButtonProps={primaryButtonProps}\n secondaryButtonProps={secondaryButtonProps}\n >\n <Window.Section>{options.children}</Window.Section>\n </Window>,\n );\n}\n\nexport const WindowAPI = {\n error: (opts: Omit<WindowProps, \"tone\" | \"open\">) =>\n showWindow({ ...opts, open: true }),\n\n warning: (opts: Omit<WindowProps, \"tone\" | \"open\">) =>\n showWindow({ ...opts, open: true }),\n\n info: (opts: Omit<WindowProps, \"tone\" | \"open\">) =>\n showWindow({ ...opts, open: true }),\n};\n","import styles from \"./AppLoader.module.scss\";\n\nexport const AppLoader = () => {\n return (\n <div className={styles.loader}>\n <div className={styles.face}>\n <div className={styles.eyes}>\n <div className={styles.eye}></div>\n <div className={styles.eye}></div>\n </div>\n <div className={styles.mouth}></div>\n </div>\n </div>\n );\n};\n","import {\n CheckCircleBold,\n DangerTriangleBold,\n InfoCircleBold,\n} from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport { HTMLAttributes, ReactNode } from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./info.module.scss\";\n\nexport interface InfoProps extends HTMLAttributes<HTMLDivElement> {\n text: ReactNode;\n tone?: \"warning\" | \"information\" | \"success\";\n}\n\nexport const InfoIcons: Record<\n \"warning\" | \"information\" | \"success\",\n ReactNode\n> = {\n information: (\n <DangerTriangleBold className={classNames(styles.icon, \"solarIcon\")} />\n ),\n warning: <InfoCircleBold className={classNames(styles.icon, \"solarIcon\")} />,\n success: <CheckCircleBold className={classNames(styles.icon, \"solarIcon\")} />,\n};\n\nexport const Info = ({\n text,\n tone = \"information\",\n className,\n ...rest\n}: InfoProps) => {\n return (\n <div\n className={classNames(styles.container, styles[tone], className)}\n {...rest}\n >\n {InfoIcons[tone]}\n <Typography className={styles.text}>{text}</Typography>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport { Spinner } from \"@/components/feedback\";\nimport styles from \"./Button.module.scss\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n state?: \"default\" | \"primary\" | \"tertiary\" | \"plain\";\n size?: \"small\" | \"medium\" | \"large\";\n selected?: boolean;\n children: ReactNode;\n className?: string;\n onClick?: () => void;\n loading?: boolean;\n tone?: \"default\" | \"critical\" | \"warning\";\n}\n\nexport const Button = ({\n state = \"default\",\n size = \"medium\",\n selected = false,\n disabled = false,\n children,\n onClick = () => {},\n className = \"\",\n loading,\n type = \"button\",\n tone,\n ...rest\n}: ButtonProps) => {\n const buttonClass = classNames(\n styles.btn,\n tone ? styles[tone] : styles[state],\n styles[size],\n\n {\n [styles[`${state}-selected`]]: selected,\n },\n\n className,\n );\n\n return (\n <button\n className={buttonClass}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n type={type}\n >\n {loading ? <Spinner /> : children}\n </button>\n );\n};\n","import classNames from \"classnames\";\nimport React, { ReactNode, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { usePopper } from \"react-popper\";\nimport styles from \"./Dropdown.module.scss\";\n\ninterface DropdownProps {\n children: ReactNode;\n trigger: ReactNode;\n className?: string;\n align?: \"left\" | \"right\";\n}\n\nexport const Dropdown: React.FC<DropdownProps> = ({\n children,\n trigger,\n className,\n align = \"left\",\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [triggerElement, setTriggerElement] = useState<HTMLDivElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n\n const popperModifiers = useMemo(\n () => [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [align === \"right\" ? \"top-end\" : \"top-start\"],\n },\n },\n {\n name: \"preventOverflow\",\n options: {\n padding: 8,\n },\n },\n ],\n [align]\n );\n\n const { styles: popperStyles, attributes } = usePopper(triggerElement, popperElement, {\n placement: align === \"right\" ? \"bottom-end\" : \"bottom-start\",\n modifiers: popperModifiers,\n });\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target as Node;\n const isClickInsideTrigger = triggerElement?.contains(target);\n const isClickInsideDropdown = popperElement?.contains(target);\n\n if (!isClickInsideTrigger && !isClickInsideDropdown) {\n setIsOpen(false);\n }\n },\n [triggerElement, popperElement]\n );\n\n useEffect(() => {\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }\n }, [isOpen, handleClickOutside]);\n\n const handleToggle = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n return (\n <>\n <div\n className={classNames(className)}\n ref={setTriggerElement}\n >\n <div\n className={styles.trigger}\n onClick={handleToggle}\n >\n {trigger}\n </div>\n </div>\n\n {isOpen &&\n createPortal(\n <div\n ref={setPopperElement}\n className={styles.containerPortal}\n style={{\n ...popperStyles.popper,\n zIndex: 9999,\n }}\n {...attributes.popper}\n >\n {children}\n </div>,\n document.body,\n )}\n </>\n );\n};\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport { Button, Typography } from \"@/components\";\nimport styles from \"./Empty.module.scss\";\n\nexport interface EmptyProps {\n children: ReactNode;\n className?: string;\n}\n\nconst EmptyBase = ({ children, className = \"\" }: EmptyProps) => (\n <div className={`${styles.emptyContainer} ${className}`}>{children}</div>\n);\n\nexport interface EmptyTextProps {\n children: ReactNode;\n className?: string;\n}\n\nconst EmptyTitle = ({ children, className = \"\" }: EmptyTextProps) => (\n <>\n <Typography\n className={classNames(className, styles.desktop)}\n variant={\"heading-lg\"}\n weight='bold'\n >\n {children}\n </Typography>\n </>\n);\n\nconst EmptyContext = ({ children, className = \"\" }: EmptyTextProps) => (\n <div className={classNames(className, styles.content)}>{children}</div>\n);\n\nconst EmptyContent = ({ children, className = \"\" }: EmptyTextProps) => (\n <div className={` ${className}`}>{children}</div>\n);\n\nconst EmptyButtonContent = ({ children, className = \"\" }: EmptyTextProps) => (\n <div className={`${styles.buttonContent} ${className}`}>{children}</div>\n);\n\nexport interface EmptyButtonProps {\n children: ReactNode;\n onClick?: () => void;\n className?: string;\n}\n\nconst EmptyPrimaryButton = ({\n children,\n onClick,\n className = \"\",\n}: EmptyButtonProps) => (\n <Button\n state={\"primary\"}\n size='medium'\n className={`${styles.buttons} ${className}`}\n onClick={onClick}\n >\n {children}\n </Button>\n);\n\nconst EmptySecondaryButton = ({\n children,\n onClick,\n className = \"\",\n}: EmptyButtonProps) => (\n <Button\n size='medium'\n className={`${styles.buttons} ${className}`}\n onClick={onClick}\n >\n {children}\n </Button>\n);\n\ninterface EmptyImageProps {\n src: string;\n className?: string;\n alt?: string;\n}\n\nconst EmptyImage = ({\n src,\n className = \"\",\n alt = \"Empty state image\",\n}: EmptyImageProps) => (\n <img\n className={classNames(styles.imageContent, className)}\n src={src}\n alt={alt}\n />\n);\n\ninterface EmptyType extends React.FC<EmptyProps> {\n Title: typeof EmptyTitle;\n Context: typeof EmptyContext;\n Content: typeof EmptyContent;\n ButtonContent: typeof EmptyButtonContent;\n PrimaryButton: typeof EmptyPrimaryButton;\n SecondaryButton: typeof EmptySecondaryButton;\n Image: typeof EmptyImage;\n}\n\nconst Empty = EmptyBase as EmptyType;\n\nEmpty.Title = EmptyTitle;\nEmpty.Context = EmptyContext;\nEmpty.Content = EmptyContent;\nEmpty.ButtonContent = EmptyButtonContent;\nEmpty.PrimaryButton = EmptyPrimaryButton;\nEmpty.SecondaryButton = EmptySecondaryButton;\nEmpty.Image = EmptyImage;\n\nexport { Empty };\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./IconButton.module.scss\";\n\nexport interface IconButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n state?: \"default\" | \"primary\" | \"tertiary\" | \"plain\";\n size?: \"small\" | \"medium\" | \"large\";\n selected?: boolean;\n children: React.ReactNode;\n className?: string;\n onClick?: () => void;\n}\n\nexport const IconButton = ({\n state = \"default\",\n size = \"medium\",\n selected = false,\n disabled = false,\n children,\n onClick = () => {},\n className = \"\",\n ...rest\n}: IconButtonProps) => {\n const buttonClass = classNames(\n styles.btn,\n styles[state],\n styles[size],\n {\n [styles[`${state}-selected`]]: selected,\n },\n className,\n );\n\n return (\n <button\n className={buttonClass}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n >\n {children}\n </button>\n );\n};\n\nexport default IconButton;\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport styles from \"./Typography.module.scss\";\n\nexport interface TypographyProps {\n variant?:\n | \"heading-xl\"\n | \"heading-lg\"\n | \"heading-md\"\n | \"heading-sm\"\n | \"heading-xs\"\n | \"body-lg\"\n | \"body-md\"\n | \"body-sm\"\n | \"display\";\n className?: string;\n children: ReactNode;\n weight?: \"regular\" | \"semibold\" | \"bold\" | \"medium\";\n underline?: boolean;\n}\n\nexport const Typography = ({\n variant = \"body-md\",\n className = \"\",\n children,\n weight,\n}: TypographyProps) => {\n const variantClass = styles[variant] || \"\";\n const weightClass = styles[weight || \"\"] || \"\";\n\n return (\n <span\n className={classNames(\n styles.typography,\n variantClass,\n weightClass,\n className,\n )}\n >\n {children}\n </span>\n );\n};\n","import React from \"react\";\nimport styles from \"./SvgStyleWrapper.module.scss\";\n\ninterface SvgStyleWrapperProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport const SvgStyleWrapper = ({\n children,\n className = \"\",\n}: SvgStyleWrapperProps) => {\n return <div className={`${styles.svgWrapper} ${className}`}>{children}</div>;\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./Icon.module.scss\";\n\nexport type IconDecorativeColors =\n | \"neutral\"\n | \"blue\"\n | \"violet\"\n | \"green\"\n | \"indigo\"\n | \"fuchsia\"\n | \"red\"\n | \"amber\"\n | \"lime\"\n | \"teal\";\n\nexport type IconType =\n | React.FC<React.SVGProps<SVGSVGElement>>\n | React.ReactElement<React.SVGProps<SVGSVGElement>>;\n\ninterface IconProps extends React.SVGAttributes<SVGElement> {\n icon: IconType;\n size?: number | string;\n strokeWidth?: number;\n className?: string;\n color?: IconDecorativeColors;\n}\n\nexport const Icon = ({\n icon,\n size,\n strokeWidth = 2,\n className,\n color,\n ...rest\n}: IconProps) => {\n const style = size ? { width: size, height: size } : undefined;\n\n const renderIcon = () => {\n if (React.isValidElement<React.SVGProps<SVGSVGElement>>(icon)) {\n return React.cloneElement(icon, {\n strokeWidth,\n className: \"stpIcon\",\n ...rest,\n });\n }\n if (typeof icon === \"function\") {\n return React.createElement(icon, {\n strokeWidth,\n className: \"stpIcon\",\n ...rest,\n });\n }\n return null;\n };\n\n if (color) {\n return (\n <div\n className={classNames(styles[color], styles.color, className)}\n style={style}\n >\n {renderIcon()}\n </div>\n );\n }\n\n return (\n <span\n className={classNames(styles.icon, className)}\n style={style}\n >\n {renderIcon()}\n </span>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./OptionList.module.scss\";\n\nexport type ShadowLevel = \"lower\" | \"higher\";\n\nexport interface OptionProps {\n label: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: () => void;\n disabled?: boolean;\n className?: string;\n}\n\nexport const Option = ({\n label,\n icon,\n onClick,\n disabled,\n className,\n}: OptionProps) => {\n return (\n <div\n role='menuitem'\n className={classNames(\n styles.option,\n {\n [styles.disabled]: disabled,\n },\n className,\n )}\n onClick={() => !disabled && onClick?.()}\n aria-disabled={disabled || undefined}\n >\n {icon}\n <span>{label}</span>\n </div>\n );\n};\n\nexport interface OptionListItem {\n label: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: () => void;\n disabled?: boolean;\n}\n\nexport interface OptionListProps {\n items: OptionListItem[];\n onSelect?: (item: OptionListItem, index: number) => void;\n className?: string;\n shadow?: ShadowLevel;\n}\n\nexport const OptionList = ({\n items,\n onSelect,\n className,\n shadow = \"lower\",\n}: OptionListProps) => {\n return (\n <div\n className={classNames(\n styles.options,\n {\n [styles.shadowLower]: shadow === \"lower\",\n [styles.shadowHigher]: shadow === \"higher\",\n },\n className,\n )}\n role='menu'\n >\n <div className={styles.container}>\n {items.map((item, index) => (\n <Option\n key={index}\n label={item.label}\n icon={item.icon}\n disabled={item.disabled}\n onClick={() => !item.disabled && onSelect?.(item, index)}\n />\n ))}\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport { Button, Typography } from \"@/components\";\nimport styles from \"./Illustrations.module.scss\";\n\nexport interface IllustrationProps {\n children: ReactNode;\n className?: string;\n}\n\nconst IllustrationBase = ({ children, className = \"\" }: IllustrationProps) => (\n <div className={`${styles.IllustrationContainer} ${className}`}>\n {children}\n </div>\n);\n\nexport interface IllustrationTextProps {\n children: ReactNode;\n className?: string;\n}\n\nconst IllustrationTitle = ({\n children,\n className = \"\",\n}: IllustrationTextProps) => (\n <>\n <Typography\n className={classNames(className)}\n variant={\"heading-lg\"}\n weight='bold'\n >\n {children}\n </Typography>\n </>\n);\n\nconst IllustrationContext = ({\n children,\n className = \"\",\n}: IllustrationTextProps) => (\n <div className={classNames(className)}>{children}</div>\n);\n\nconst IllustrationContent = ({\n children,\n className = \"\",\n}: IllustrationTextProps) => (\n <div className={`${styles.content} ${className}`}>{children}</div>\n);\n\nconst IllustrationButtonContent = ({\n children,\n className = \"\",\n}: IllustrationTextProps) => (\n <div className={`${styles.buttonContent} ${className}`}>{children}</div>\n);\n\nexport interface IllustrationButtonProps {\n children: ReactNode;\n onClick?: () => void;\n className?: string;\n}\n\nconst IllustrationPrimaryButton = ({\n children,\n onClick,\n className = \"\",\n}: IllustrationButtonProps) => (\n <Button\n state={\"primary\"}\n size='medium'\n className={`${styles.buttons} ${className}`}\n onClick={onClick}\n >\n {children}\n </Button>\n);\n\nconst IllustrationSecondaryButton = ({\n children,\n onClick,\n className = \"\",\n}: IllustrationButtonProps) => (\n <Button\n size='medium'\n className={`${styles.buttons} ${className}`}\n onClick={onClick}\n >\n {children}\n </Button>\n);\n\ninterface IllustrationImageProps {\n src: string;\n className?: string;\n alt?: string;\n size?: \"small\" | \"large\";\n}\n\nconst IllustrationImage = ({\n src,\n className = \"\",\n alt = \"Illustration state image\",\n size = \"large\",\n}: IllustrationImageProps) => {\n return (\n <img\n className={classNames(\n styles.imageContent,\n size === \"small\" ? styles.imageSmall : styles.imageLarge,\n className,\n )}\n src={src}\n alt={alt}\n />\n );\n};\ninterface IllustrationType extends React.FC<IllustrationProps> {\n Title: typeof IllustrationTitle;\n Context: typeof IllustrationContext;\n Content: typeof IllustrationContent;\n ButtonContent: typeof IllustrationButtonContent;\n PrimaryButton: typeof IllustrationPrimaryButton;\n SecondaryButton: typeof IllustrationSecondaryButton;\n Image: typeof IllustrationImage;\n}\n\nconst Illustration = IllustrationBase as IllustrationType;\n\nIllustration.Title = IllustrationTitle;\nIllustration.Context = IllustrationContext;\nIllustration.Content = IllustrationContent;\nIllustration.ButtonContent = IllustrationButtonContent;\nIllustration.PrimaryButton = IllustrationPrimaryButton;\nIllustration.SecondaryButton = IllustrationSecondaryButton;\nIllustration.Image = IllustrationImage;\n\nexport { Illustration };\n","import classNames from \"classnames\";\nimport React, { ReactNode } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport styles from \"./Chip.module.scss\";\n\nexport type ChipColor =\n | \"blue\"\n | \"violet\"\n | \"fuchsia\"\n | \"lime\"\n | \"teal\"\n | \"indigo\"\n | \"red\"\n | \"amber\"\n | \"green\"\n | \"neutral\";\n\nexport interface ChipProps {\n label: ReactNode;\n icon?: ReactNode;\n color?: ChipColor;\n className?: string;\n size?: \"small\" | \"medium\";\n}\n\nexport const Chip: React.FC<ChipProps> = ({\n label,\n icon,\n color = \"blue\",\n className,\n size = \"medium\",\n}) => {\n return (\n <div\n className={classNames(styles.chip, styles[`chip--${color}`], className)}\n >\n {icon}\n <Typography\n weight='medium'\n variant={size === \"medium\" ? \"body-md\" : \"body-sm\"}\n >\n {label}\n </Typography>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React, { ReactNode } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport styles from \"./InputChip.module.scss\";\n\nexport interface InputChipProps extends React.HTMLAttributes<HTMLDivElement> {\n label: ReactNode;\n icon?: ReactNode;\n}\n\nexport const InputChip: React.FC<InputChipProps> = ({\n label,\n icon,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(styles.inputChip, className)}\n {...rest}\n >\n <Typography\n weight='medium'\n variant='body-md'\n >\n {label}\n </Typography>\n {icon}\n </div>\n );\n};\n","import { useEffect, useState } from \"react\";\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState<boolean>(() => {\n if (typeof window !== \"undefined\") {\n return window.innerWidth < 481;\n }\n return false; // default for SSR\n });\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 481);\n };\n\n // run once on mount in case width changed before effect\n handleResize();\n\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return isMobile;\n};\n","import React, { forwardRef, memo, MouseEventHandler, useCallback } from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./CalendarDay.module.scss\";\n\nexport type CornerType = \"start\" | \"end\" | \"both\" | null;\n\nexport interface CalendarDayProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"onClick\"> {\n number: number;\n isActive?: boolean;\n isCorner?: boolean;\n isInRange?: boolean;\n cornerType?: CornerType;\n onClick?: (dayNumber: number) => void;\n disabled?: boolean;\n className?: string;\n}\n\nconst CalendarDayBase = forwardRef<HTMLButtonElement, CalendarDayProps>(\n (\n {\n number,\n isActive = false,\n isCorner = false,\n cornerType = null,\n onClick,\n disabled = false,\n isInRange = false,\n className = \"\",\n ...props\n },\n ref,\n ) => {\n const handleClick: MouseEventHandler<HTMLButtonElement> =\n useCallback(() => {\n if (!disabled && onClick) onClick(number);\n }, [disabled, onClick, number]);\n\n const dayClasses = [styles.calendarDay];\n\n if (isActive) dayClasses.push(styles.calendarDayActive);\n\n if (isCorner) {\n dayClasses.push(styles.calendarDayCorner);\n if (cornerType === \"start\")\n dayClasses.push(styles.calendarDayCornerStart);\n if (cornerType === \"end\") dayClasses.push(styles.calendarDayCornerEnd);\n }\n\n if (isInRange) dayClasses.push(styles.calendarDayInRange);\n if (className) dayClasses.push(className);\n\n return (\n <button\n ref={ref}\n type='button'\n className={dayClasses.join(\" \")}\n onClick={handleClick}\n disabled={disabled}\n aria-label={`Day ${number}`}\n {...props}\n >\n <Typography\n className={styles.calendarDayNumber}\n variant='body-md'\n >\n {number}\n </Typography>\n </button>\n );\n },\n);\n\nCalendarDayBase.displayName = \"CalendarDay\";\n\nconst areEqual = (\n prev: Readonly<CalendarDayProps>,\n next: Readonly<CalendarDayProps>,\n) =>\n prev.number === next.number &&\n prev.isActive === next.isActive &&\n prev.isCorner === next.isCorner &&\n prev.isInRange === next.isInRange &&\n prev.cornerType === next.cornerType &&\n prev.disabled === next.disabled &&\n prev.className === next.className &&\n prev.onClick === next.onClick;\n\nexport const CalendarDay = memo(CalendarDayBase, areEqual);\n","import dayjs from \"dayjs\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./CalendarDayHeaders.module.scss\";\n\ninterface CalendarDayHeaderProps {\n locale?: string;\n weekStartsOn?: 0 | 1;\n}\n\nconst CalendarDayHeader = ({\n locale,\n weekStartsOn = 1,\n}: CalendarDayHeaderProps) => {\n const start = dayjs()\n .locale(locale ?? dayjs.locale())\n .day(weekStartsOn);\n const days = Array.from({ length: 7 }).map((_, i) =>\n start.add(i, \"day\").locale(locale ?? dayjs.locale()),\n );\n\n return (\n <Typography>\n <div className={styles.headerRow}>\n {days.map((d, idx) => (\n <div\n key={idx}\n className={styles.headerCell}\n >\n {d.format(\"dd\")}\n </div>\n ))}\n </div>\n </Typography>\n );\n};\n\nexport default CalendarDayHeader;\n","import { Dayjs } from \"@/lib/dayjs\";\n\nexport const startOfDay = (d: Dayjs) => d.startOf(\"day\");\nexport const endOfDay = (d: Dayjs) => d.endOf(\"day\");\n\nexport const isSameDay = (a?: Dayjs | null, b?: Dayjs | null) =>\n !!a && !!b && a.isSame(b, \"day\");\n\nexport const isBefore = (a: Dayjs, b: Dayjs) => a.isBefore(b, \"day\");\nexport const isAfter = (a: Dayjs, b: Dayjs) => a.isAfter(b, \"day\");\n\nexport const clampDate = (d: Dayjs, min?: Dayjs, max?: Dayjs) => {\n if (min && d.isBefore(min, \"day\")) return min;\n if (max && d.isAfter(max, \"day\")) return max;\n return d;\n};\n\nexport const addMonths = (d: Dayjs, n: number) => d.add(n, \"month\");\nexport const addDays = (d: Dayjs, n: number) => d.add(n, \"day\");\n\n/** 6×7 grid for a month view */\nexport const daysInMonthGrid = (month: Dayjs, weekStartsOn: 0 | 1) => {\n const firstOfMonth = month.startOf(\"month\");\n const firstDow = firstOfMonth.day();\n const offset = (firstDow - weekStartsOn + 7) % 7;\n const gridStart = firstOfMonth.subtract(offset, \"day\");\n\n return Array.from({ length: 42 }).map((_, i) => {\n const date = gridStart.add(i, \"day\");\n return {\n date,\n inCurrentMonth: date.month() === month.month(),\n };\n });\n};\n\nexport const isDisabled = (d: Dayjs, min?: Dayjs, max?: Dayjs) =>\n (min && d.isBefore(min, \"day\")) || (max && d.isAfter(max, \"day\"));\n","import { ArrowLeftOutline, ArrowRightOutline } from \"@solar-icons/react-perf\";\nimport { memo, useCallback, useMemo } from \"react\";\nimport { IconButton, Typography } from \"@/components/display\";\nimport dayjs, { Dayjs } from \"@/lib/dayjs\";\nimport { useIsMobile } from \"@/lib/useIsMobile\";\nimport { CalendarDay, CornerType } from \"../CalendarDay/CalendarDay\";\nimport CalendarDayHeader from \"../CalendarDayHeader/CalendarDayHeader\";\nimport { daysInMonthGrid, isDisabled } from \"./../dateUtils\";\nimport styles from \"./CalendarMonth.module.scss\";\n\nexport interface CalendarMonthProps {\n monthDate: Dayjs;\n weekStartsOn: 0 | 1;\n locale?: string;\n minDate?: Dayjs;\n maxDate?: Dayjs;\n onSelectDay: (d: Dayjs) => void;\n isInRange?: (d: Dayjs) => boolean;\n isSelected?: (d: Dayjs) => boolean;\n cornerType?: (d: Dayjs) => CornerType;\n allowRange?: boolean;\n\n showPrev?: boolean;\n showNext?: boolean;\n onPrev?: () => void;\n onNext?: () => void;\n prevDisabled?: boolean;\n nextDisabled?: boolean;\n}\n\nconst CalendarMonthBase = ({\n monthDate,\n weekStartsOn,\n locale,\n minDate,\n maxDate,\n onSelectDay,\n isInRange = () => false,\n isSelected = () => false,\n cornerType = () => null,\n allowRange = false,\n showPrev = false,\n showNext = false,\n onPrev,\n onNext,\n prevDisabled = false,\n nextDisabled = false,\n}: CalendarMonthProps) => {\n const grid = useMemo(\n () => daysInMonthGrid(monthDate, weekStartsOn),\n [monthDate, weekStartsOn],\n );\n\n const monthLabel = useMemo(() => {\n const loc = locale ?? dayjs.locale();\n const formatted = monthDate.locale(loc).format(\"MMMM YYYY\");\n return formatted.charAt(0).toUpperCase() + formatted.slice(1);\n }, [monthDate, locale]);\n\n const onSelectMemo = useCallback(\n (d: Dayjs) => () => onSelectDay(d),\n [onSelectDay],\n );\n const isMobile = useIsMobile();\n\n return (\n <div className={styles.month}>\n <div className={styles.header}>\n {showPrev ? (\n <IconButton\n type='button'\n size={isMobile ? \"large\" : \"small\"}\n state={isMobile ? \"default\" : \"tertiary\"}\n aria-label='Previous month'\n onClick={onPrev}\n disabled={prevDisabled}\n >\n <ArrowLeftOutline className='solarIcon' />\n </IconButton>\n ) : (\n <span className={styles.navSpacer} />\n )}\n\n <Typography\n variant={isMobile ? \"heading-md\" : \"body-md\"}\n weight={isMobile ? \"semibold\" : \"medium\"}\n >\n {monthLabel}\n </Typography>\n\n {showNext ? (\n <IconButton\n size={isMobile ? \"large\" : \"small\"}\n state={isMobile ? \"default\" : \"tertiary\"}\n type='button'\n aria-label='Next month'\n onClick={onNext}\n disabled={nextDisabled}\n >\n <ArrowRightOutline className='solarIcon' />\n </IconButton>\n ) : (\n <span className={styles.navSpacer} />\n )}\n </div>\n\n <CalendarDayHeader\n locale={locale}\n weekStartsOn={weekStartsOn}\n />\n\n <div className={styles.grid}>\n {grid.map((cell) => {\n const inCurrentMonth = cell.inCurrentMonth;\n const outOfRange = isDisabled(cell.date, minDate, maxDate);\n const available = inCurrentMonth;\n\n if (!available) {\n return (\n <div\n key={cell.date.valueOf()}\n className={styles.emptyCell}\n aria-hidden='true'\n />\n );\n }\n\n const active = isSelected(cell.date);\n const corner = allowRange\n ? cornerType(cell.date)\n : active\n ? \"both\"\n : null;\n const inRange = allowRange && isInRange(cell.date) && !active;\n\n return (\n <CalendarDay\n key={cell.date.valueOf()}\n number={cell.date.date()}\n disabled={outOfRange}\n isActive={active}\n isCorner={!!corner}\n isInRange={inRange}\n cornerType={corner}\n onClick={onSelectMemo(cell.date)}\n aria-label={cell.date.format(\"YYYY-MM-DD\")}\n />\n );\n })}\n </div>\n </div>\n );\n};\n\nconst djEq = (a?: Dayjs, b?: Dayjs) =>\n (a ? a.valueOf() : undefined) === (b ? b.valueOf() : undefined);\n\nconst areEqual = (prev: CalendarMonthProps, next: CalendarMonthProps) =>\n djEq(prev.monthDate, next.monthDate) &&\n prev.weekStartsOn === next.weekStartsOn &&\n djEq(prev.minDate, next.minDate) &&\n djEq(prev.maxDate, next.maxDate) &&\n prev.allowRange === next.allowRange &&\n prev.isInRange === next.isInRange &&\n prev.isSelected === next.isSelected &&\n prev.cornerType === next.cornerType &&\n prev.onSelectDay === next.onSelectDay &&\n prev.showPrev === next.showPrev &&\n prev.showNext === next.showNext &&\n prev.onPrev === next.onPrev &&\n prev.onNext === next.onNext &&\n prev.prevDisabled === next.prevDisabled &&\n prev.nextDisabled === next.nextDisabled;\n\nexport const CalendarMonth = memo(CalendarMonthBase, areEqual);\n","import classNames from \"classnames\";\nimport { useMemo, useState } from \"react\";\nimport dayjs, { Dayjs } from \"@/lib/dayjs\";\nimport { CalendarMonth } from \"./CalendarMonth/CalendarMonth\";\nimport styles from \"./Calendars.module.scss\";\nimport {\n addMonths,\n clampDate,\n endOfDay,\n isAfter,\n isBefore,\n isSameDay,\n startOfDay,\n} from \"./dateUtils\";\n\n/** Public value types */\nexport type SingleValue = Dayjs | null;\nexport type RangeTuple = [Dayjs | null, Dayjs | null];\nexport type RangeValue = RangeTuple | null;\n\n/** Shared props */\nexport type BaseProps = {\n multiMonth?: boolean;\n onCard?: boolean;\n locale?: string;\n initialMonth?: Dayjs;\n minDate?: Dayjs;\n maxDate?: Dayjs;\n weekStartsOn?: 0 | 1;\n className?: string;\n};\n\n/** Single-date props (default mode) */\nexport type CalendarPropsSingle = BaseProps & {\n allowRange?: false;\n value?: SingleValue;\n defaultValue?: SingleValue;\n onChange?: (value: SingleValue) => void;\n};\n\n/** Range props (when allowRange is true) */\nexport type CalendarPropsRange = BaseProps & {\n allowRange: true;\n value?: RangeValue;\n defaultValue?: RangeValue;\n onChange?: (value: RangeValue) => void;\n};\n\n/** Discriminated union of prop shapes */\nexport type CalendarProps = CalendarPropsSingle | CalendarPropsRange;\n\n/** Narrowing helpers */\nexport const asDay = (d: Dayjs | Date | null | undefined) =>\n d ? dayjs(d) : null;\n\n/** Overloads for better DX */\nexport function Calendar(props: CalendarPropsSingle): JSX.Element;\nexport function Calendar(props: CalendarPropsRange): JSX.Element;\n\n/** Implementation */\nexport function Calendar({\n value,\n defaultValue = null,\n onChange,\n allowRange = false,\n multiMonth = false,\n onCard = false,\n initialMonth,\n minDate,\n maxDate,\n locale,\n weekStartsOn = 1,\n className = \"\",\n}: CalendarProps) {\n /** Uncontrolled if value is undefined; otherwise controlled */\n const uncontrolled = value === undefined;\n\n /** Internal state mirrors the correct shape based on allowRange */\n const [internal, setInternal] = useState<SingleValue | RangeValue>(\n defaultValue,\n );\n\n /** Current value respecting controlled/uncontrolled usage */\n const controlledValue = uncontrolled ? internal : value;\n\n /** Derive start/end depending on mode */\n const [start, end] = useMemo<[Dayjs | null, Dayjs | null]>(() => {\n if (!allowRange) return [asDay(controlledValue as SingleValue), null];\n const v = controlledValue as RangeValue;\n return v ? [asDay(v[0]), asDay(v[1])] : [null, null];\n }, [allowRange, controlledValue]);\n\n /** Determine initial visible month */\n const firstVisible = useMemo(() => {\n if (initialMonth) return initialMonth.startOf(\"month\");\n if (start) return start.startOf(\"month\");\n return dayjs().startOf(\"month\");\n }, [initialMonth, start]);\n\n /** Anchor for left/only month */\n const [monthAnchor, setMonthAnchor] = useState<Dayjs>(firstVisible);\n const monthsToShow = multiMonth ? 2 : 1;\n\n /** Day click handling with strict typing */\n const handleDayClick = (day: Dayjs) => {\n const dayClamped = clampDate(day, minDate, maxDate);\n\n if (!allowRange) {\n // SINGLE MODE\n const nextVal: SingleValue = dayClamped;\n if (uncontrolled) setInternal(nextVal);\n (onChange as CalendarPropsSingle[\"onChange\"] | undefined)?.(nextVal);\n return;\n }\n\n // RANGE MODE\n if (!start || (start && end)) {\n const next: RangeValue = [dayClamped, null];\n if (uncontrolled) setInternal(next);\n (onChange as CalendarPropsRange[\"onChange\"] | undefined)?.(next);\n } else if (start && !end) {\n const s = startOfDay(start);\n const e = endOfDay(dayClamped);\n const next: RangeValue = isBefore(e, s) ? [dayClamped, s] : [s, e];\n if (uncontrolled) setInternal(next);\n (onChange as CalendarPropsRange[\"onChange\"] | undefined)?.(next);\n }\n };\n\n /** Optional nav constraints */\n const canGoPrev = useMemo(() => {\n if (!minDate) return true;\n const prevMonthEnd = monthAnchor.startOf(\"month\").subtract(1, \"day\");\n return prevMonthEnd.isSame(minDate, \"day\") || prevMonthEnd.isAfter(minDate);\n }, [monthAnchor, minDate]);\n\n const canGoNext = useMemo(() => {\n if (!maxDate) return true;\n const nextMonthStart = monthAnchor.add(1, \"month\").startOf(\"month\");\n return (\n nextMonthStart.isSame(maxDate, \"day\") || nextMonthStart.isBefore(maxDate)\n );\n }, [monthAnchor, maxDate]);\n\n const goPrev = () => {\n if (!canGoPrev) return;\n setMonthAnchor((m) => m.add(-1, \"month\").startOf(\"month\"));\n };\n\n const goNext = () => {\n if (!canGoNext) return;\n setMonthAnchor((m) => m.add(1, \"month\").startOf(\"month\"));\n };\n\n return (\n <div\n className={classNames(\n styles.calendarRoot,\n onCard ? styles.onCard : \"\",\n multiMonth && styles.multiMonth,\n className,\n )}\n >\n <div\n className={styles.months}\n data-columns={monthsToShow}\n >\n {/* LEFT / ONLY month */}\n <CalendarMonth\n monthDate={monthAnchor}\n weekStartsOn={weekStartsOn}\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n onSelectDay={handleDayClick}\n isInRange={(d) =>\n !!start && !!end && !isBefore(d, start) && !isAfter(d, end)\n }\n isSelected={(d) =>\n isSameDay(d, start) || (!!end && isSameDay(d, end))\n }\n cornerType={(d) => {\n const isStart = !!start && isSameDay(d, start);\n const isEnd = !!end && isSameDay(d, end);\n if (isStart && isEnd) return \"both\";\n if (isStart) return \"start\";\n if (isEnd) return \"end\";\n return null;\n }}\n allowRange={allowRange}\n // nav\n showPrev\n showNext={!multiMonth}\n onPrev={goPrev}\n onNext={!multiMonth ? goNext : undefined}\n prevDisabled={!canGoPrev}\n nextDisabled={!canGoNext && !multiMonth}\n />\n\n {/* RIGHT month (only when multiMonth) */}\n {monthsToShow === 2 && (\n <CalendarMonth\n monthDate={addMonths(monthAnchor, 1)}\n locale={locale}\n weekStartsOn={weekStartsOn}\n minDate={minDate}\n maxDate={maxDate}\n onSelectDay={handleDayClick}\n isInRange={(d) =>\n !!start && !!end && !isBefore(d, start) && !isAfter(d, end)\n }\n isSelected={(d) =>\n isSameDay(d, start) || (!!end && isSameDay(d, end))\n }\n cornerType={(d) => {\n const isStart = !!start && isSameDay(d, start);\n const isEnd = !!end && isSameDay(d, end);\n if (isStart && isEnd) return \"both\";\n if (isStart) return \"start\";\n if (isEnd) return \"end\";\n return null;\n }}\n allowRange={allowRange}\n // nav\n showPrev={false}\n showNext\n onNext={goNext}\n nextDisabled={\n !!maxDate &&\n addMonths(monthAnchor, 2)\n .startOf(\"month\")\n .isAfter(maxDate.startOf(\"month\"))\n }\n />\n )}\n </div>\n </div>\n );\n}\n","import dayjs from \"dayjs\";\n\nexport const formatDeadline = (date: string | Date): string => {\n // Use dayjs to parse the input date\n const day = dayjs(date);\n\n // Get the day suffix (e.g., \"st\", \"nd\", \"rd\", \"th\")\n const dayOfMonth = day.date();\n const suffix =\n dayOfMonth === 1 || dayOfMonth === 21 || dayOfMonth === 31\n ? \"st\"\n : dayOfMonth === 2 || dayOfMonth === 22\n ? \"nd\"\n : dayOfMonth === 3 || dayOfMonth === 23\n ? \"rd\"\n : \"th\";\n\n // Format the date in the desired format \"May 18th, 13:00\"\n const formattedDate = day.format(\"MMMM D, HH:mm\");\n\n // Replace the day with the day + suffix (convert dayOfMonth to string)\n const formattedDeadline = formattedDate.replace(\n dayOfMonth.toString(),\n `${dayOfMonth}${suffix}`,\n );\n\n return `${formattedDeadline} (UTC +5)`;\n};\n","import React, { useEffect, useState } from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./Banner.module.scss\";\nimport { formatDeadline } from \"./utils/utils\";\n\ninterface BannerProps {\n color: string;\n title: string;\n bgPattern: string;\n bgPatternFinished?: string;\n buttonColor: string;\n deadline: string;\n onClick: () => void;\n}\n\nexport const Banner = ({\n color,\n title,\n bgPattern,\n deadline,\n bgPatternFinished,\n buttonColor,\n onClick,\n}: BannerProps) => {\n // const { t } = useTranslation(\"common\");\n const [isFinished, setIsFinished] = useState(false);\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n const deadlineDate = new Date(deadline);\n const calculateTimeUnits = (milliseconds: number) => ({\n days: Math.floor(milliseconds / (1000 * 60 * 60 * 24)),\n hours: Math.floor((milliseconds / (1000 * 60 * 60)) % 24),\n minutes: Math.floor((milliseconds / (1000 * 60)) % 60),\n seconds: Math.floor((milliseconds / 1000) % 60),\n });\n\n const updateCountdown = () => {\n const now = Date.now();\n const remaining = deadlineDate.getTime() - now;\n\n if (remaining <= 0) {\n setIsFinished(true);\n setTimeLeft({ days: 0, hours: 0, minutes: 0, seconds: 0 });\n } else {\n setTimeLeft(calculateTimeUnits(remaining));\n }\n };\n\n updateCountdown();\n const interval = setInterval(updateCountdown, 1000);\n return () => clearInterval(interval);\n }, [deadline]);\n\n const renderTimerCell = (value: number, label: string) => (\n <div className={styles.timerCell}>\n <Typography\n variant='heading-lg'\n className={styles.timerCount}\n >\n {value}\n </Typography>\n {label}\n </div>\n );\n\n return (\n <div\n className={styles.container}\n style={{ backgroundColor: color }}\n >\n <div className={styles.content}>\n <div className={styles.title}>\n <Typography variant='heading-md'>{title}</Typography>\n <Typography variant='body-md'>{formatDeadline(deadline)}</Typography>\n </div>\n <div className={styles.timer}>\n {renderTimerCell(timeLeft.days, \"Days\")}\n {renderTimerCell(timeLeft.hours, \"Hours\")}\n {renderTimerCell(timeLeft.minutes, \"Minutes\")}\n {renderTimerCell(timeLeft.seconds, \"Seconds\")}\n </div>\n </div>\n <div\n className={styles.pattern}\n style={\n {\n \"--pattern-color\": color,\n \"--pattern-url\": `url(${\n isFinished ? (bgPatternFinished ?? bgPattern) : bgPattern\n })`,\n } as React.CSSProperties\n }\n >\n {isFinished && (\n <button\n className={styles.button}\n style={{ backgroundColor: buttonColor }}\n onClick={onClick}\n >\n <Typography variant='heading-md'>{\"Start\"}</Typography>\n </button>\n )}\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { ReactNode } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { IconButton, Typography, X } from \"@/components\";\nimport styles from \"./Drawer.module.scss\";\n\nexport type DrawerPosition = \"left\" | \"right\" | \"bottom\";\nexport type DrawerSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface DrawerProps {\n open: boolean;\n onClose: () => void;\n title?: string;\n children: ReactNode;\n position?: DrawerPosition;\n size?: DrawerSize;\n}\n\nexport const Drawer = ({\n open,\n onClose,\n title,\n children,\n position = \"right\",\n size = \"md\",\n}: DrawerProps) => {\n if (!open) return null;\n\n return createPortal(\n <div\n className={styles.drawerLayout}\n onClick={onClose}\n >\n <aside\n className={classNames(\n styles.drawerContainer,\n styles[position],\n styles[size],\n )}\n onClick={(e) => e.stopPropagation()}\n role='dialog'\n aria-modal='true'\n aria-labelledby='drawer-title'\n >\n <div className={styles.header}>\n {title && <Typography variant='heading-sm'>{title}</Typography>}\n <IconButton\n size='small'\n state='default'\n onClick={onClose}\n aria-label='Close drawer'\n >\n <X />\n </IconButton>\n </div>\n <div className={styles.content}>{children}</div>\n </aside>\n </div>,\n document.body,\n );\n};\n","import { AltArrowLeftOutline } from \"@solar-icons/react-perf\";\nimport { ReactNode } from \"react\";\nimport {\n Content,\n IconButton,\n Page,\n TopBar,\n TopBarProps,\n Typography,\n} from \"@/components\";\nimport styles from \"./PageHeader.module.scss\";\n\nexport interface PageHeaderProps {\n title: string | ReactNode;\n sections?: TopBarProps[\"sections\"];\n activeTab?: TopBarProps[\"activeTab\"];\n onTabSelect?: TopBarProps[\"onTabSelect\"];\n isStretched?: TopBarProps[\"isStretched\"];\n extra?: ReactNode;\n message?: string;\n type?: \"primary\" | \"secondary\";\n onBack?: () => void;\n}\n\nexport const PageHeader = ({\n title,\n sections,\n activeTab,\n onTabSelect,\n isStretched,\n extra,\n message,\n type = \"primary\",\n onBack,\n}: PageHeaderProps) => {\n const hasTopBar = sections && onTabSelect;\n\n if (type == \"primary\") {\n const headerContent = (\n <>\n <div className={styles.title}>\n <header className={styles.pageHeader}>\n <Typography\n variant='heading-xl'\n className={styles.text}\n >\n {title}\n </Typography>\n {extra}\n </header>\n {message && (\n <Typography className={styles.secondary}>{message}</Typography>\n )}\n </div>\n {hasTopBar && (\n <TopBar\n sections={sections}\n activeTab={activeTab}\n onTabSelect={onTabSelect}\n isStretched={isStretched}\n />\n )}\n </>\n );\n\n if (hasTopBar) {\n return (\n <Page>\n <Content>{headerContent}</Content>\n </Page>\n );\n }\n\n return headerContent;\n }\n\n const secondaryContent = (\n <>\n <div className={styles.secondaryContainer}>\n <IconButton\n size='medium'\n state='tertiary'\n onClick={onBack}\n className={styles.icon}\n >\n <AltArrowLeftOutline className='solarIcon' />\n </IconButton>\n <div className={styles.centerContent}>\n <Typography\n variant='heading-sm'\n className={styles.text}\n >\n {title}\n </Typography>\n {message && (\n <Typography\n variant='body-sm'\n weight='semibold'\n className={styles.subtitle}\n >\n {message}\n </Typography>\n )}\n </div>\n <IconButton\n size='medium'\n state='tertiary'\n className={styles.emptyIcon}\n >\n <AltArrowLeftOutline className='solarIcon' />\n </IconButton>\n </div>\n\n {hasTopBar && (\n <TopBar\n type={type}\n sections={sections}\n activeTab={activeTab}\n onTabSelect={onTabSelect}\n isStretched={isStretched}\n />\n )}\n </>\n );\n\n if (hasTopBar) {\n return (\n <Page>\n <Content>{secondaryContent}</Content>\n </Page>\n );\n }\n\n return secondaryContent;\n};\n","import { ReactNode } from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./SectionHeader.module.scss\";\n\nexport interface SectionHeaderProps {\n title: string;\n extra?: ReactNode;\n}\nexport const SectionHeader = ({ title, extra }: SectionHeaderProps) => {\n return (\n <div className={styles.container}>\n <Typography variant='heading-md'>{title}</Typography>\n {extra}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { Typography } from \"@/components\";\nimport { useIsMobile } from \"@/lib/useIsMobile\";\nimport styles from \"./TopBar.module.scss\";\n\nexport interface TopbarSection {\n id: number | string;\n title: string;\n component: React.ReactNode;\n}\n\nexport interface TopBarProps {\n type?: \"primary\" | \"secondary\";\n sections: TopbarSection[];\n activeTab?: number | string;\n onTabSelect: (id: number | string) => void;\n isStretched?: boolean;\n}\n\nexport const TopBar = ({\n sections,\n activeTab,\n onTabSelect,\n isStretched = true,\n type = \"primary\",\n}: TopBarProps) => {\n const isMobile = useIsMobile();\n return (\n <>\n <div className={styles.topBar}>\n {sections.map((section) => (\n <div\n key={section.id}\n className={classNames(\n styles.section,\n isStretched && styles.scretched,\n activeTab === section.id && styles.active,\n )}\n onClick={() => onTabSelect(section.id)}\n >\n <Typography\n variant={\n isMobile\n ? \"body-md\"\n : type === \"secondary\"\n ? \"heading-sm\"\n : \"heading-md\"\n }\n weight={isMobile ? \"medium\" : \"semibold\"}\n className={styles.title}\n >\n {section.title}\n </Typography>\n </div>\n ))}\n </div>\n {sections.find((section) => section.id === activeTab)?.component ? (\n <div className={styles.content}>\n {sections.find((section) => section.id === activeTab)?.component}\n </div>\n ) : (\n <Typography variant='body-lg'>Not Found</Typography>\n )}\n </>\n );\n};\n","import classNames from \"classnames\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./Page.module.scss\";\n\nexport const Page = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => {\n return (\n <div\n className={classNames(styles.page, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./Section.module.scss\";\n\nexport const Section = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => {\n return (\n <div\n className={classNames(styles.section, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./SectionWrapper.module.scss\";\n\nexport const SectionWrapper = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => {\n return (\n <div\n className={classNames(styles.sectionWrapper, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./ButtonGroup.module.scss\";\n\ntype ButtonGroupProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;\n\nexport const ButtonGroup = ({ children, ...rest }: ButtonGroupProps) => {\n return (\n <div\n className={styles.container}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./Content.module.scss\";\n\nexport const Content = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => {\n return (\n <div\n className={classNames(styles.content, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./BottomBar.module.scss\";\n\nexport const BottomBar = ({\n children,\n className,\n ...rest\n}: PropsWithChildren<HTMLAttributes<HTMLDivElement>>) => {\n return (\n <div\n {...rest}\n className={classNames(styles.bottomBar, className)}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { Typography } from \"@/components/display\";\nimport styles from \"./NavigationItem.module.scss\";\n\nexport interface NavigationItemProps {\n icon?: React.ReactNode;\n label?: string;\n secondaryIcon?: React.ReactNode;\n collapsed?: boolean;\n active?: boolean;\n isParentNode?: boolean;\n onClick?: () => void;\n className?: string;\n}\n\nexport const NavigationItem = ({\n icon,\n label,\n secondaryIcon,\n collapsed = false,\n active = false,\n isParentNode = false,\n onClick,\n className,\n}: NavigationItemProps) => {\n return (\n <div\n className={classNames(\n styles.navigationItem,\n active && styles.active,\n className,\n )}\n onClick={onClick}\n >\n <div className={styles.container}>\n <div className={styles.IconContainer}>\n {icon}\n {isParentNode && (\n <img\n src='/assets/icons/ParentLine.svg'\n alt='Arrow Indicator'\n className={styles.ParentLine}\n />\n )}\n </div>\n {label && (\n <Typography\n variant='body-md'\n className={classNames(collapsed && styles.collapsed, styles.label)}\n >\n {label}\n </Typography>\n )}\n </div>\n {secondaryIcon && (\n <div\n className={classNames(\n styles.secondaryIcon,\n collapsed && styles.collapsed,\n )}\n >\n {secondaryIcon}\n </div>\n )}\n </div>\n );\n};\n","import {\n AltArrowDownOutline,\n AltArrowUpOutline,\n} from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport { useState } from \"react\";\nimport { NavigationItem } from \"../NavigationItem/NavigationItem\";\nimport styles from \"./Collapse.module.scss\";\n\nexport interface NavItem {\n id: string;\n name: string;\n icon?: React.ReactNode;\n children?: NavItem[];\n}\n\nexport interface CollapseProps {\n activeItemId: string;\n onChange: (item: NavItem) => void;\n item: NavItem;\n}\n\nexport const Collapse = ({ activeItemId, onChange, item }: CollapseProps) => {\n const sideArrowIndex = item.children?.findIndex(\n (child) => child.id === activeItemId,\n );\n\n const [isOpen, setIsOpen] = useState(sideArrowIndex !== -1);\n\n const handleToggle = () => {\n if (item.children) {\n setIsOpen(!isOpen);\n }\n onChange(item);\n };\n\n return (\n <div>\n <NavigationItem\n icon={item.icon}\n label={item.name}\n secondaryIcon={\n isOpen ? (\n <AltArrowUpOutline className='solarIcon' />\n ) : (\n <AltArrowDownOutline className='solarIcon' />\n )\n }\n onClick={handleToggle}\n isParentNode={isOpen && sideArrowIndex !== -1}\n active={sideArrowIndex !== -1 && !isOpen}\n className={classNames(isOpen && sideArrowIndex === -1 && styles.isOpen)}\n />\n <div className={styles.childContainer}>\n {isOpen &&\n item.children?.map((subRoute, index) => (\n <div\n key={subRoute.id}\n className={classNames(\n styles.ArrowContainer,\n activeItemId === subRoute.id ? styles.active : \"\",\n )}\n onClick={() => onChange(subRoute)}\n >\n <div className={styles.arrowBlock}>\n {sideArrowIndex === index && (\n <img\n src='/assets/icons/ArrowLine.svg'\n alt='Arrow Indicator'\n />\n )}\n {index < (sideArrowIndex ?? -1) && (\n <img\n src='/assets/icons/SideLine.svg'\n alt='Side Indicator'\n />\n )}\n </div>\n <NavigationItem\n icon={subRoute.icon}\n label={subRoute.name}\n active={subRoute.id === activeItemId}\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import {\n AltArrowDownOutline,\n AltArrowUpOutline,\n CheckReadOutline,\n LockKeyholeOutline,\n LockKeyholeUnlockedOutline,\n} from \"@solar-icons/react-perf\";\nimport classNames from \"classnames\";\nimport { useState } from \"react\";\nimport { NavigationItem } from \"../NavigationItem/NavigationItem\";\nimport styles from \"./CourseCollapse.module.scss\";\n\nexport interface CourseNavItem {\n id: string;\n name: string;\n icon?: React.ReactNode;\n completed?: boolean;\n children?: CourseNavItem[];\n disabled?: boolean;\n}\n\nexport interface CourseCollapseProps {\n activeItemId: string;\n onChange: (item: CourseNavItem) => void;\n item: CourseNavItem;\n}\n\nexport const CourseCollapse = ({\n activeItemId,\n onChange,\n item,\n}: CourseCollapseProps) => {\n const sideArrowIndex = item.children?.findIndex(\n (child) => child.id === activeItemId,\n );\n\n const [isOpen, setIsOpen] = useState(sideArrowIndex !== -1);\n\n const handleToggle = () => {\n if (item.children) {\n setIsOpen(!isOpen);\n }\n onChange(item);\n };\n\n return (\n <div>\n <NavigationItem\n icon={item.icon}\n label={item.name}\n secondaryIcon={\n isOpen ? (\n <AltArrowUpOutline className='solarIcon' />\n ) : (\n <AltArrowDownOutline className='solarIcon' />\n )\n }\n onClick={handleToggle}\n isParentNode={isOpen && sideArrowIndex !== -1}\n active={sideArrowIndex !== -1 && !isOpen}\n className={classNames(isOpen && sideArrowIndex === -1 && styles.isOpen)}\n />\n <div className={styles.childContainer}>\n {isOpen &&\n item.children?.map((subRoute, index) => (\n <div\n key={subRoute.id}\n className={classNames(\n styles.ArrowContainer,\n activeItemId === subRoute.id ? styles.active : \"\",\n )}\n onClick={() => onChange(subRoute)}\n >\n <div className={styles.arrowBlock}>\n {sideArrowIndex === index && (\n <img\n src='/assets/icons/ArrowLine.svg'\n alt='Arrow Indicator'\n />\n )}\n {index < (sideArrowIndex ?? -1) && (\n <img\n src='/assets/icons/SideLine.svg'\n alt='Side Indicator'\n />\n )}\n </div>\n <NavigationItem\n icon={subRoute.icon}\n label={subRoute.name}\n key={subRoute.id}\n active={subRoute.id === activeItemId}\n secondaryIcon={\n subRoute.disabled ? (\n <LockKeyholeOutline className='solarIcon' />\n ) : subRoute.completed ? (\n <CheckReadOutline\n className={classNames(styles.iconCheck, \"solarIcon\")}\n />\n ) : (\n <LockKeyholeUnlockedOutline className='solarIcon' />\n )\n }\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport { AnchorHTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Link.module.scss\";\n\ninterface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n children: ReactNode;\n className?: string;\n}\n\nexport const Link = ({ children, className = \"\", ...rest }: LinkProps) => {\n return (\n <a\n className={classNames(styles.link, className)}\n {...rest}\n >\n {children}\n </a>\n );\n};\n","import { ReactNode } from \"react\";\nimport styles from \"./ProgressLine.module.scss\";\n\nexport interface ProgressLineProps {\n percent: number;\n extra?: ReactNode;\n}\nexport const ProgressLine = ({ percent, extra }: ProgressLineProps) => {\n return (\n <div className={styles.container}>\n <div className={styles.line}>\n <div\n className={styles.progress}\n style={{ width: `${percent}%` }}\n ></div>\n </div>\n {extra}\n </div>\n );\n};\n","/* eslint-disable react/prop-types */\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { ComponentProps } from \"react\";\nimport { Typography } from \"../../display/Typography/Typography\";\nimport styles from \"./Table.module.scss\";\n\nexport function Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div\n data-slot='table-container'\n className={classNames(styles.tableContainer, className)}\n >\n <table\n data-slot='table'\n className={styles.table}\n {...props}\n />\n </div>\n );\n}\n\nexport function TableHeader({\n className,\n ...props\n}: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot='table-header'\n className={classNames(styles.tableHeader, className)}\n {...props}\n />\n );\n}\n\nexport function TableBody({\n className,\n ...props\n}: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot='table-body'\n className={classNames(styles.tableBody, className)}\n {...props}\n />\n );\n}\n\nexport function TableFooter({\n className,\n ...props\n}: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot='table-footer'\n className={classNames(styles.tableFooter, className)}\n {...props}\n />\n );\n}\n\nexport function TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot='table-row'\n className={classNames(styles.tableRow, className)}\n {...props}\n />\n );\n}\n\ntype VerticalAlign = \"top\" | \"middle\" | \"bottom\";\n\ninterface CustomTableHeadProps extends React.ComponentProps<\"th\"> {\n variant?: \"primary\" | \"secondary\";\n}\n\nexport const TableHead: React.FC<CustomTableHeadProps> = ({\n variant = \"primary\",\n className,\n children,\n ...props\n}) => {\n return (\n <th\n data-slot='table-head'\n className={classNames(\n styles.tableHead,\n {\n [styles.primary]: variant === \"primary\",\n [styles.secondary]: variant === \"secondary\",\n },\n className,\n )}\n {...props}\n >\n <Typography variant=\"heading-xs\">{children}</Typography>\n </th>\n );\n};\n\ninterface CustomTableCellProps extends ComponentProps<\"td\"> {\n vAlign?: VerticalAlign;\n}\n\nexport const TableCell: React.FC<CustomTableCellProps> = ({\n className,\n ...props\n}) => {\n return (\n <td\n data-slot='table-cell'\n className={classNames(styles.tableCell, className)}\n {...props}\n />\n );\n};\n\nexport function TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot='table-caption'\n className={classNames(styles.tableCaption, className)}\n {...props}\n />\n );\n}\n","import classNames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\nimport styles from \"./Table.module.scss\";\n\nexport type CellType =\n | \"label\"\n | \"input\"\n | \"button\"\n | \"icon-button\"\n | \"checkbox\"\n | \"empty\"\n | \"icon-label\";\n\ntype Align =\n | \"top-left\"\n | \"top\"\n | \"top-right\"\n | \"middle-left\"\n | \"middle\"\n | \"middle-right\"\n | \"bottom-left\"\n | \"bottom\"\n | \"bottom-right\";\n\ninterface CellProps {\n cellType?: CellType;\n align?: Align;\n}\n\nexport const Cell = ({\n children,\n cellType = \"label\",\n align = \"middle-left\",\n ...props\n}: PropsWithChildren<CellProps>) => {\n const cellClass = classNames(\n styles.td,\n styles[cellType],\n styles[`align-${align}`],\n );\n\n return (\n <div\n {...props}\n className={cellClass}\n >\n {children}\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React, { ReactNode } from \"react\";\nimport styles from \"./ProgressBarAlternative.module.scss\";\n\nexport type ProgressColor =\n | \"blue\"\n | \"violet\"\n | \"fuchsia\"\n | \"lime\"\n | \"teal\"\n | \"indigo\"\n | \"red\"\n | \"amber\"\n | \"green\";\n\nexport interface ProgressBarAlternativeProps {\n percent: number;\n extra?: ReactNode;\n color?: ProgressColor;\n className?: string;\n}\n\nexport const ProgressBarAlternative: React.FC<ProgressBarAlternativeProps> = ({\n percent,\n color = \"blue\",\n className,\n extra,\n}) => {\n return (\n <div\n className={classNames(\n styles.progressContainer,\n styles[`container--${color}`],\n className,\n )}\n >\n <div\n className={classNames(styles.progressFill, styles[`fill--${color}`])}\n style={{ width: `${percent}%` }}\n />\n <span className={classNames(styles.label, styles[`text--${color}`])}>\n {extra}\n </span>\n </div>\n );\n};\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","m","o","l","e","s","r","a","n","c","t","C","InlineError","children","styles","jsx","DangerOutline","Checkbox","label","error","helperText","disabled","className","indeterminate","onChange","rest","ref","useRef","useEffect","handleLabelClick","event","jsxs","FormItemContext","createContext","useFormItem","useContext","FormItem","readOnly","state","Label","Input","React","Component","props","Message","DangerCircleBold","BaseInputWrapper","labelPlacement","prefix","postfix","maskRegex","textPrefix","onFocus","handleChange","handleFocus","newVal","TextArea","defaultValue","rows","isControlled","internalValue","setInternalValue","useState","currentValue","val","RadioButton","name","fromEntries","entries","acc","_ref","useIsomorphicLayoutEffect","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","element","getWindow","node","ownerDocument","isElement","OwnElement","isHTMLElement","isShadowRoot","applyStyles","style","attributes","effect","_ref2","initialStyles","styleProperties","property","attribute","applyStyles$1","getBasePlacement","max","min","round","getUAString","uaData","item","isLayoutViewport","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","x","y","width","height","getLayoutRect","contains","parent","child","rootNode","next","getComputedStyle","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","css","getOffsetParent","window","offsetParent","getMainAxisFromPlacement","within","mathMax","mathMin","withinMaxClamp","v","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","keys","hashMap","toPaddingObject","padding","arrow","_state$modifiersData$","options","arrowElement","popperOffsets","basePlacement","axis","isVertical","len","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","offset","axisProp","_options$element","arrow$1","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","mapToStyles","_Object$assign2","popperRect","variation","offsets","position","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","commonStyles","_ref4","_Object$assign","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","computeStyles$1","passive","instance","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","eventListeners","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","scrollTop","getWindowScrollBarX","getViewportRect","strategy","html","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","body","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","list","isBody","target","updatedList","rectToClientRect","rect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","b","getExpandedFallbackPlacements","oppositePlacement","flip","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","_i","fittingPlacement","_ret","flip$1","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","hide$1","distanceAndSkiddingToXY","rects","invertDistance","skidding","distance","_options$offset","data","_data$state$placement","offset$1","popperOffsets$1","getAltAxis","preventOverflow","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","preventOverflow$1","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","documentElement","order","modifiers","map","visited","result","modifier","sort","requires","dep","depModifier","orderModifiers","orderedModifiers","phase","debounce","fn","pending","resolve","mergeByName","merged","current","existing","DEFAULT_OPTIONS","areValidElements","args","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","runModifierEffects","_state$elements","index","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","createPopper","hasElementType","hasMap","hasSet","hasArrayBuffer","equal","length","it","reactFastCompare","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","prevOptions","optionsWithDefaults","_React$useState","setState","updateStateModifier","elements","ReactDOM","popperOptions","newOptions","isEqual","popperInstanceRef","defaultCreatePopper","popperInstance","Select","placeholder","onBlur","renderOption","isOpen","setIsOpen","focusedIndex","setFocusedIndex","triggerElement","setTriggerElement","setPopperElement","optionsRef","selectedOption","useMemo","option","popperModifiers","popperStyles","handleToggle","useCallback","handleOptionSelect","handleKeyDown","nextIndex","prevIndex","handleClickOutside","isClickInsideTrigger","isClickInsideDropdown","createPortal","el","this","u","h","d","$","M","g","D","p","S","_","w","O","f","k","require$$0","dayjs","localizedFormat","localeData","weekday","isSameOrAfter","isSameOrBefore","SvgFallbackAvatar","Avatar","image","size","AvatarFallback","CustomToaster","Toaster","SvgPlus","SvgX","DURATION","message","text","toast","Icon","InfoCircleBold","IconButton","X","DangerTriangleBold","DangerBold","CheckCircleBold","type","ModalBase","open","title","primaryButtonProps","secondaryButtonProps","tone","fullHeight","toneClass","Typography","Button","Section","Modal","showModal","container","root","createRoot","unmount","handleOk","_a","handleCancel","ModalAPI","opts","Spinner","Tooltip","controlledActive","content","hoverDelay","preferredPosition","zIndexOverride","trigger","tooltipClassName","active","setActive","computedPosition","setComputedPosition","hoverTimeout","persist","triggerRef","isActive","canTriggerHover","canTriggerClick","tooltipId","useId","positionClass","wrapperClassName","tooltipClass","spaceAbove","spaceBelow","WindowBase","onClose","Window","showWindow","_b","btn","WindowAPI","AppLoader","InfoIcons","Info","selected","onClick","loading","buttonClass","Dropdown","align","prev","Fragment","EmptyBase","EmptyTitle","EmptyContext","EmptyContent","EmptyButtonContent","EmptyPrimaryButton","EmptySecondaryButton","EmptyImage","src","alt","Empty","variant","weight","variantClass","weightClass","SvgStyleWrapper","icon","strokeWidth","color","renderIcon","Option","OptionList","items","onSelect","shadow","IllustrationBase","IllustrationTitle","IllustrationContext","IllustrationContent","IllustrationButtonContent","IllustrationPrimaryButton","IllustrationSecondaryButton","IllustrationImage","Illustration","Chip","InputChip","useIsMobile","isMobile","setIsMobile","handleResize","CalendarDayBase","forwardRef","number","isCorner","cornerType","isInRange","handleClick","dayClasses","areEqual","CalendarDay","memo","CalendarDayHeader","locale","weekStartsOn","days","idx","startOfDay","endOfDay","isSameDay","isBefore","isAfter","clampDate","addMonths","addDays","daysInMonthGrid","month","firstOfMonth","gridStart","date","isDisabled","CalendarMonthBase","monthDate","minDate","maxDate","onSelectDay","isSelected","allowRange","showPrev","showNext","onPrev","onNext","prevDisabled","nextDisabled","grid","monthLabel","loc","formatted","onSelectMemo","ArrowLeftOutline","ArrowRightOutline","cell","inCurrentMonth","outOfRange","corner","inRange","djEq","CalendarMonth","asDay","Calendar","multiMonth","onCard","initialMonth","uncontrolled","internal","setInternal","controlledValue","firstVisible","monthAnchor","setMonthAnchor","monthsToShow","handleDayClick","day","dayClamped","nextVal","canGoPrev","prevMonthEnd","canGoNext","nextMonthStart","goPrev","goNext","isStart","isEnd","formatDeadline","dayOfMonth","suffix","Banner","bgPattern","deadline","bgPatternFinished","buttonColor","isFinished","setIsFinished","timeLeft","setTimeLeft","deadlineDate","calculateTimeUnits","milliseconds","updateCountdown","now","remaining","interval","renderTimerCell","Drawer","PageHeader","sections","activeTab","onTabSelect","isStretched","extra","onBack","hasTopBar","headerContent","TopBar","Page","Content","secondaryContent","AltArrowLeftOutline","SectionHeader","section","SectionWrapper","ButtonGroup","BottomBar","NavigationItem","secondaryIcon","collapsed","isParentNode","Collapse","activeItemId","sideArrowIndex","AltArrowUpOutline","AltArrowDownOutline","subRoute","CourseCollapse","LockKeyholeOutline","CheckReadOutline","LockKeyholeUnlockedOutline","Link","ProgressLine","percent","Table","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","Cell","cellType","cellClass","ProgressBarAlternative"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,85,86,87,88,89,90,91]}