@inceptionbg/iui 2.0.5 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/icons/index.d.ts +43 -0
- package/dist/icons/index.js +1 -0
- package/dist/index.d.ts +24 -15
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/iui.css +1 -1
- package/idea/Menu/Menu.tsx +119 -0
- package/idea/Menu/MenuItem.tsx +74 -0
- package/idea/Menu/hooks/useMenuControl.ts +13 -0
- package/idea/Menu.tsx +132 -0
- package/idea/NoAccessInfo.tsx +193 -0
- package/idea/Notifications.tsx +245 -0
- package/idea/Table2/Components/Columns/ColumnsList.tsx +56 -0
- package/idea/Table2/Components/Columns/SetColumnsList.tsx +107 -0
- package/idea/Table2/Components/Edit/ItemActionsMenu.tsx +87 -0
- package/idea/Table2/Components/Edit/ItemEditOptionsButtons.tsx +32 -0
- package/idea/Table2/Components/Edit/TableEditRow.tsx +56 -0
- package/idea/Table2/Components/FilterItem.tsx +20 -0
- package/idea/Table2/Components/Header/TableHeader.tsx +35 -0
- package/idea/Table2/Components/Header/TableHeaderRow.tsx +37 -0
- package/idea/Table2/Components/Print/CustomTablePrint.tsx +119 -0
- package/idea/Table2/Components/Print/TablePrint.tsx +208 -0
- package/idea/Table2/Components/SetSortList.tsx +33 -0
- package/idea/Table2/Components/SetTableFilter.tsx +90 -0
- package/idea/Table2/Components/TableFooter.tsx +107 -0
- package/idea/Table2/Components/TableOptions.tsx +211 -0
- package/idea/Table2/Components/Templates/TemplateCreate.tsx +75 -0
- package/idea/Table2/Components/Templates/TemplateCreateDefault.tsx +45 -0
- package/idea/Table2/Components/Templates/TemplateList.tsx +167 -0
- package/idea/Table2/Components/Templates/repo/TemplateRepo.ts +51 -0
- package/idea/Table2/Table.tsx +657 -0
- package/idea/Table2/_table.scss +300 -0
- package/idea/Table2/hooks/useDefaultTemplate.ts +22 -0
- package/idea/Table2/hooks/useTableKeyboard.ts +115 -0
- package/package.json +8 -4
- package/rollup.config.js +80 -0
- package/src/assets/icons/duotone/faCircleUser.ts +17 -0
- package/src/assets/icons/index.ts +20 -0
- package/src/assets/icons/light/faArrowDownShortWide.ts +15 -0
- package/src/assets/icons/light/faArrowDownWideShort.ts +15 -0
- package/src/assets/icons/light/faArrowUpArrowDown.ts +15 -0
- package/src/assets/icons/light/faArrowUpRightFromSquare.ts +15 -0
- package/src/assets/icons/light/faArrowsToLine.ts +15 -0
- package/src/assets/icons/light/faArrowsUpDown.ts +15 -0
- package/src/assets/icons/light/faCalendarPlus.ts +15 -0
- package/src/assets/icons/light/faCheck.ts +15 -0
- package/src/assets/icons/light/faChevronDown.ts +15 -0
- package/src/assets/icons/light/faChevronRight.ts +15 -0
- package/src/assets/icons/light/faCircleInfo.ts +15 -0
- package/src/assets/icons/light/faCircleXmark.ts +15 -0
- package/src/assets/icons/light/faClockRotateLeft.ts +15 -0
- package/src/assets/icons/light/faEllipsisVertical.ts +15 -0
- package/src/assets/icons/light/faEye.ts +15 -0
- package/src/assets/icons/light/faEyeSlash.ts +15 -0
- package/src/assets/icons/light/faFilter.ts +15 -0
- package/src/assets/icons/light/faGear.ts +15 -0
- package/src/assets/icons/light/faHouse.ts +15 -0
- package/src/assets/icons/light/faIdBadge.ts +15 -0
- package/src/assets/icons/light/faLineColumns.ts +15 -0
- package/src/assets/icons/light/faLink.ts +15 -0
- package/src/assets/icons/light/faMagnifyingGlass.ts +15 -0
- package/src/assets/icons/light/faPenField.ts +15 -0
- package/src/assets/icons/light/faPrint.ts +15 -0
- package/src/assets/icons/light/faQuestion.ts +15 -0
- package/src/assets/icons/light/faRotateRight.ts +15 -0
- package/src/assets/icons/light/faTrashCan.ts +15 -0
- package/src/assets/icons/light/faTriangleExclamation.ts +15 -0
- package/src/assets/icons/light/faXmark.ts +15 -0
- package/src/assets/icons/regular/faArrowLeft.ts +15 -0
- package/src/assets/icons/regular/faArrowRightArrowLeft.ts +15 -0
- package/src/assets/icons/regular/faCircleCheck.ts +15 -0
- package/src/assets/icons/regular/faCircleExclamation.ts +15 -0
- package/src/assets/icons/regular/faCircleInfo.ts +15 -0
- package/src/assets/icons/regular/faFileArrowDown.ts +15 -0
- package/src/assets/icons/regular/faFilterCircleXmark.ts +15 -0
- package/src/assets/icons/regular/faTriangleExclamation.ts +15 -0
- package/src/assets/icons/solid/faAngleLeft.ts +15 -0
- package/src/assets/icons/solid/faAngleRight.ts +15 -0
- package/src/assets/icons/solid/faArrowDownWideShort.ts +15 -0
- package/src/assets/icons/solid/faCaretDown.ts +15 -0
- package/src/assets/icons/solid/faCheck.ts +15 -0
- package/src/assets/icons/solid/faEllipsisVertical.ts +15 -0
- package/src/assets/icons/solid/faFilter.ts +15 -0
- package/src/assets/icons/solid/faFloppyDisk.ts +15 -0
- package/src/assets/icons/solid/faGripDotsVertical.ts +15 -0
- package/src/assets/icons/solid/faListUl.ts +15 -0
- package/src/assets/icons/solid/faMagnifyingGlass.ts +15 -0
- package/src/assets/icons/solid/faMinus.ts +15 -0
- package/src/assets/icons/solid/faPlus.ts +15 -0
- package/src/assets/icons/solid/faPrint.ts +15 -0
- package/src/assets/icons/solid/faRotateRight.ts +15 -0
- package/src/assets/icons/solid/faXmark.ts +15 -0
- package/src/assets/images/logo/mts.svg +5703 -0
- package/src/assets/images/logo/paperless.svg +21 -0
- package/src/assets/images/logo/pismonosa.png +0 -0
- package/src/assets/images/not-found.svg +19 -0
- package/src/components/Accordions/Accordions.tsx +64 -0
- package/src/components/Alert/Alert.tsx +31 -0
- package/src/components/Badge/DotBadge.tsx +16 -0
- package/src/components/Badge/NotificationBadge.tsx +29 -0
- package/src/components/Badge/PillBadge.tsx +13 -0
- package/src/components/Button/Button.tsx +56 -0
- package/src/components/Button/IconButton.tsx +49 -0
- package/src/components/Dashboard/Dashboard.tsx +9 -0
- package/src/components/Dashboard/DashboardWidget.tsx +44 -0
- package/src/components/Dashboard/FastLinksWidget/FastLinksWidget.tsx +37 -0
- package/src/components/Dialog/DeleteItemDialog.tsx +52 -0
- package/src/components/Dialog/Dialog.tsx +226 -0
- package/src/components/Dialog/hooks/useDialogKeyboard.ts +41 -0
- package/src/components/Dialog/hooks/useDialogObserver.ts +21 -0
- package/src/components/Header/Components/ModuleSelect.tsx +55 -0
- package/src/components/Header/Components/UserMenu.tsx +44 -0
- package/src/components/Header/Header.tsx +36 -0
- package/src/components/Helper/Collapse.tsx +52 -0
- package/src/components/Inputs/Checkbox.tsx +53 -0
- package/src/components/Inputs/CurrencyInput.tsx +123 -0
- package/src/components/Inputs/DateInput/DateInput.tsx +176 -0
- package/src/components/Inputs/DateInput/components/DatePartInput.tsx +154 -0
- package/src/components/Inputs/InputWrapper.tsx +90 -0
- package/src/components/Inputs/NumberInput.tsx +83 -0
- package/src/components/Inputs/PasswordInput.tsx +38 -0
- package/src/components/Inputs/Radio.tsx +59 -0
- package/src/components/Inputs/RadioGroup.tsx +48 -0
- package/src/components/Inputs/RadioLarge.tsx +39 -0
- package/src/components/Inputs/SearchInput.tsx +40 -0
- package/src/components/Inputs/Select2/Select.tsx +224 -0
- package/src/components/Inputs/Select2/select.scss +43 -0
- package/src/components/Inputs/Selects/Select.tsx +17 -0
- package/src/components/Inputs/Selects/components/CustomSelectComponents.tsx +19 -0
- package/src/components/Inputs/Selects/components/SelectWrapper.tsx +126 -0
- package/src/components/Inputs/Selects/utils/selectStyles.ts +104 -0
- package/src/components/Inputs/TextAreaInput.tsx +67 -0
- package/src/components/Inputs/TextInput.tsx +98 -0
- package/src/components/Inputs/TimeInput/TimeInput.tsx +81 -0
- package/src/components/Loader/Loader.tsx +53 -0
- package/src/components/Menu/Menu.tsx +68 -0
- package/src/components/Menu/MenuItem.tsx +47 -0
- package/src/components/Menu/NewMenu.tsx +66 -0
- package/src/components/Menu/hooks/useMenuPosition.tsx +80 -0
- package/src/components/Pullover/Pullover.tsx +89 -0
- package/src/components/Router/Router.tsx +51 -0
- package/src/components/Sidebar/AddButton.tsx +22 -0
- package/src/components/Sidebar/Sidebar.tsx +81 -0
- package/src/components/Sidebar/SidebarItem.tsx +84 -0
- package/src/components/Sidebar/types/ISidebar.ts +28 -0
- package/src/components/Table/Components/Columns/ColumnsList.tsx +61 -0
- package/src/components/Table/Components/Columns/SetColumnsList.tsx +113 -0
- package/src/components/Table/Components/Edit/ItemActionsMenu.tsx +84 -0
- package/src/components/Table/Components/Edit/ItemEditOptionsButtons.tsx +31 -0
- package/src/components/Table/Components/Edit/TableEditRow.tsx +56 -0
- package/src/components/Table/Components/FilterItem.tsx +20 -0
- package/src/components/Table/Components/Header/TableHeader.tsx +45 -0
- package/src/components/Table/Components/Header/TableHeaderRow.tsx +37 -0
- package/src/components/Table/Components/Print/CustomTablePrint.tsx +114 -0
- package/src/components/Table/Components/Print/TablePrint.tsx +207 -0
- package/src/components/Table/Components/SetSortList.tsx +30 -0
- package/src/components/Table/Components/SetTableFilter.tsx +90 -0
- package/src/components/Table/Components/TableFooter.tsx +135 -0
- package/src/components/Table/Components/TableOptions.tsx +226 -0
- package/src/components/Table/Components/Templates/TemplateCreate.tsx +80 -0
- package/src/components/Table/Components/Templates/TemplateCreateDefault.tsx +45 -0
- package/src/components/Table/Components/Templates/TemplateList.tsx +167 -0
- package/src/components/Table/Components/Templates/repo/TemplateRepo.ts +53 -0
- package/src/components/Table/Table.tsx +527 -0
- package/src/components/Table/hooks/useDefaultTemplate.ts +20 -0
- package/src/components/Table/hooks/useTableKeyboard.ts +138 -0
- package/src/components/Table/hooks/useTableSelect.ts +11 -0
- package/src/components/Tabs/Tabs.tsx +66 -0
- package/src/components/Tooltip/Tooltip.tsx +133 -0
- package/src/components/Tree/Tree.tsx +22 -0
- package/src/components/Tree/TreeItem.tsx +56 -0
- package/src/components/Wrappers/AppLayout.tsx +17 -0
- package/src/components/Wrappers/ConditionalWrapper.tsx +10 -0
- package/src/components/Wrappers/FormWrapper.tsx +81 -0
- package/src/components/Wrappers/PageLayout.tsx +152 -0
- package/src/hooks/useBackgroundClose.ts +18 -0
- package/src/hooks/useIsMenuOpen.ts +11 -0
- package/src/hooks/useOnEsc.ts +14 -0
- package/src/hooks/useZendesk.ts +21 -0
- package/src/index.ts +324 -0
- package/src/pages/NoAccessPage.tsx +27 -0
- package/src/pages/NotFoundPage.tsx +26 -0
- package/src/styles/App.scss +43 -0
- package/src/styles/common/_animations.scss +64 -0
- package/src/styles/common/_typography.scss +88 -0
- package/src/styles/common/helpers/_base.scss +55 -0
- package/src/styles/common/helpers/_color.scss +7 -0
- package/src/styles/common/helpers/_display.scss +85 -0
- package/src/styles/common/helpers/_size.scss +25 -0
- package/src/styles/common/maps/_align.scss +21 -0
- package/src/styles/common/maps/_info-types.scss +1 -0
- package/src/styles/common/maps/_spacing.scss +78 -0
- package/src/styles/common/maps/_text.scss +14 -0
- package/src/styles/components/_accordions.scss +46 -0
- package/src/styles/components/_alert.scss +23 -0
- package/src/styles/components/_badge.scss +76 -0
- package/src/styles/components/_button.scss +138 -0
- package/src/styles/components/_card.scss +24 -0
- package/src/styles/components/_dialog.scss +111 -0
- package/src/styles/components/_form.scss +8 -0
- package/src/styles/components/_header.scss +109 -0
- package/src/styles/components/_input.scss +158 -0
- package/src/styles/components/_inputCheckbox.scss +105 -0
- package/src/styles/components/_inputDateTime.scss +161 -0
- package/src/styles/components/_inputRadio.scss +83 -0
- package/src/styles/components/_inputSelect.scss +6 -0
- package/src/styles/components/_loader.scss +44 -0
- package/src/styles/components/_menu-v2.scss +67 -0
- package/src/styles/components/_menu.scss +53 -0
- package/src/styles/components/_page.scss +62 -0
- package/src/styles/components/_portal.scss +8 -0
- package/src/styles/components/_print.scss +87 -0
- package/src/styles/components/_pullover.scss +43 -0
- package/src/styles/components/_scrollbar.scss +18 -0
- package/src/styles/components/_sidebar.scss +206 -0
- package/src/styles/components/_smallComponents.scss +23 -0
- package/src/styles/components/_table.scss +270 -0
- package/src/styles/components/_tabs.scss +33 -0
- package/src/styles/components/_tooltip.scss +48 -0
- package/src/styles/components/_tree.scss +21 -0
- package/src/styles/components/_widget.scss +90 -0
- package/src/styles/pages/_fullScreenPage.scss +64 -0
- package/src/styles/variables/_bp.scss +5 -0
- package/src/styles/variables/_variables.scss +130 -0
- package/src/types/Base/custom.d.ts +9 -0
- package/src/types/IBasic.ts +31 -0
- package/src/types/IError.ts +5 -0
- package/src/types/IHeader.ts +24 -0
- package/src/types/IInfo.ts +1 -0
- package/src/types/IKeyboard.ts +37 -0
- package/src/types/IMenu.ts +18 -0
- package/src/types/IRouter.ts +6 -0
- package/src/types/ISelect.ts +52 -0
- package/src/types/ITab.ts +10 -0
- package/src/types/ITable.ts +249 -0
- package/src/types/ITree.ts +6 -0
- package/src/utils/DateUtils.ts +32 -0
- package/src/utils/InputPatternValidation.ts +12 -0
- package/src/utils/LocalStorageHelper.ts +24 -0
- package/src/utils/NumberUtils.ts +21 -0
- package/src/utils/ObjectUtils.ts +85 -0
- package/src/utils/RootDir.ts +1 -0
- package/src/utils/StringUtils.ts +18 -0
- package/src/utils/TableUtils.ts +130 -0
- package/src/utils/Toasts.ts +6 -0
- package/src/utils/UrlUtils.ts +4 -0
- package/src/utils/fileUtils.ts +176 -0
- package/src/utils/i18n/i18nIUICyrilic.ts +90 -0
- package/src/utils/i18n/i18nIUILatin.ts +90 -0
- package/src/utils/i18n/i18nIUIMe.ts +88 -0
- package/src/utils/icons.ts +13 -0
- package/tsconfig.icons.json +5 -0
- package/tsconfig.json +19 -0
package/dist/iui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,900;1,400;1,500;1,600;1,700;1,900&display=swap");:root{--primary-100:#e7f2f9;--primary-200:#c2deed;--primary-300:#86c0df;--primary-400:#1375aa;--primary-500:#0f5f8a;--primary-600:#0b4b6f;--primary-700:#093858;--neutral-100:#edf0f2;--neutral-200:#e3e8ee;--neutral-300:#bac5ce;--neutral-400:#8f9aa8;--neutral-500:#667085;--neutral-600:#545f78;--neutral-700:#3a4764;--neutral-t:rgba(16,24,40,.5);--info-100:#e0ecfc;--info-200:#9fcaff;--info-300:#6babf7;--info-400:#448fe6;--info-500:#2f7bd0;--info-600:#2261a7;--info-700:#13457c;--success-100:#d3f1da;--success-200:#b9e2c8;--success-300:#44c379;--success-400:#33a865;--success-500:#2f8653;--success-600:#2d7248;--success-700:#28593a;--warning-100:#fef0c7;--warning-200:#e8b275;--warning-300:#e79d47;--warning-400:#ee9528;--warning-500:#d17f14;--warning-600:#b17a42;--warning-700:#845d30;--danger-100:#fceae8;--danger-200:#f7d7d4;--danger-300:#dc776f;--danger-400:#de4f45;--danger-500:#d92d20;--danger-600:#c5261b;--danger-700:#a11b12;--primary:var(--primary-500);--neutral:var(--neutral-500);--info:var(--info-500);--success:var(--success-500);--warning:var(--warning-500);--danger:var(--danger-500);--white:#fff;--text:var(--neutral-700);--text-inverse:var(--white);--text-disabled:var(--neutral-400);--background-disabled:var(--neutral-100);--neutral-hover:var(--neutral-200);--border-color:var(--neutral-300);--link:#126c88;--link-alt:#004459;--fs-m:14px;--header-height:60px;--border:1px solid var(--border-color);--sidebar-width:260px;--sidebar-collapsed-width:54px;--container-radius:25px;--container-radius-bottom:0 0 25px 25px;--container-shadow:0px 0px 5px hsla(0,2%,70%,.5);--deep-shadow:0px 5px 5px -3px rgba(0,0,0,.2),0px 8px 10px 1px rgba(0,0,0,.14),0px 3px 14px 2px rgba(0,0,0,.12)}[data-theme=MTS]{--primary-100:#fce8eb;--primary-200:#fbd0d6;--primary-300:#ed92a0;--primary-400:#ed5e74;--primary-500:#ed1d3c;--primary-600:#d0112d;--primary-700:#a50d24;--neutral-100:#f0f0f0;--neutral-200:#e8e8e8;--neutral-300:#c4c4c4;--neutral-400:#9c9c9c;--neutral-500:#757575;--neutral-600:#666;--neutral-700:#4f4f4f;--neutral-t:rgba(16,24,40,.5);--primary:var(--primary-500);--neutral:var(--neutral-500);--text:var(--neutral-700);--text-disabled:var(--neutral-400);--background-disabled:var(--neutral-100);--neutral-hover:var(--neutral-200);--border-color:var(--neutral-200);--secondary:#ff9500}[data-theme=PPL]{--primary-rgb:0,144,223;--primary-light:#309dbf;--primary-dark:#004459}*{font-family:Poppins,sans-serif}body{color:var(--text)}h1,h2,h3,h4,h5,p{margin:0}p{font-size:var(--fs-m)}h1{font-size:60px;line-height:1.1}h2{font-size:48px;font-size:36px}h3{font-size:24px}.bold{font-weight:700!important}.italic{font-style:italic!important}.new-line{white-space:pre-line!important}.no-wrap{white-space:nowrap!important}.word-break{word-break:break-word!important}.subtitle{color:var(--neutral-600);font-size:20px;white-space:pre-line}.link{color:var(--link)!important;text-decoration:underline!important}.link.inactive{opacity:.5}.link:not(:disabled){cursor:pointer}.link:not(:disabled):hover{color:var(--link-alt)!important;opacity:1}@media screen and (max-width:500px){h1{font-size:36px;line-height:1.2}h2{font-size:24px;font-size:20px}h3{font-size:16px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{transform:scale(.5)}to{transform:scale(1)}}@keyframes auto-fill{to{font-size:13px}}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes temp-disable-pointer{0%{pointer-events:none}99%{pointer-events:none}to{pointer-events:auto}}.align-center{align-items:center!important}.justify-center{justify-content:center!important}.align-left{align-items:left!important}.justify-left{justify-content:left!important}.align-right{align-items:right!important}.justify-right{justify-content:right!important}.justify-around{justify-content:space-around!important}.justify-between{justify-content:space-between!important}.justify-evenly{justify-content:space-evenly!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-justify{text-align:justify!important}.fs-10{font-size:10px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-15{font-size:15px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.fs-32{font-size:32px!important}body{margin:0;width:100%}#root{overflow:hidden}*{box-sizing:border-box}:focus-visible{outline:none!important}button{all:unset;box-sizing:border-box}a{-webkit-user-drag:none;color:unset;text-decoration:none}.clickable{cursor:pointer;transition:background-color .25s}.clickable.disabled,.clickable:disabled{cursor:default;opacity:.4;pointer-events:none;user-select:none}.no-overflow{overflow:hidden}.overflow-auto{overflow:auto}.hover-primary:hover{background-color:var(--primary-100)}.hover-neutral:hover{background-color:var(--neutral-hover)}.no-border{border:none!important}.c-primary{color:var(--primary)!important}.hidden{display:none!important}.block{display:block!important}.relative{position:relative!important}.flex{display:flex}.flex.column{flex-direction:column}.flex.center{align-items:center;justify-content:center}.flex.wrap{flex-wrap:wrap}.inline-flex{display:inline-flex}.flex-grow{flex-grow:1!important}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.gap-form{gap:16px 8px}.grid{display:grid}.grid.auto-1{grid-template-columns:auto 1fr}.grid.fr-2{grid-template-columns:repeat(2,1fr)}@media screen and (max-width:500px){.grid.fr-2{grid-template-columns:1fr}}.grid.fr-3{grid-template-columns:repeat(3,1fr)}@media screen and (max-width:500px){.grid.fr-3{grid-template-columns:1fr}}.grid.fr-4{grid-template-columns:repeat(4,1fr)}@media screen and (max-width:500px){.grid.fr-4{grid-template-columns:1fr}}.grid.fr-5{grid-template-columns:repeat(5,1fr)}@media screen and (max-width:500px){.grid.fr-5{grid-template-columns:1fr}}.full-screen{height:100dvh!important;width:100vw!important}.full-width{width:100%!important}.half-width{width:50%!important}.width-fit{width:fit-content!important}.w-300{width:300px!important}.full-height{height:100%!important}.icon24{height:24px!important;width:24px!important}.iui-accordions{display:flex;flex-direction:column}.iui-accordion{background:var(--white);border-radius:var(--container-radius);box-shadow:var(--container-shadow);color:rgba(0,0,0,.87);font-size:13px;margin:3px 0}.iui-accordion.compact{border-radius:unset;margin:unset}.iui-accordion.compact:first-child{border-top-left-radius:var(--container-radius);border-top-right-radius:var(--container-radius)}.iui-accordion.compact:last-child{border-bottom-left-radius:var(--container-radius);border-bottom-right-radius:var(--container-radius)}.iui-accordion .summary{align-items:center;display:flex;font-weight:500;justify-content:space-between;margin-bottom:1px;min-height:48px;padding:0 16px;user-select:none}.iui-accordion .iui-icon{color:var(--primary-light);font-size:20px;margin-bottom:0;margin-right:16px;max-width:20px}.iui-accordion .collapse-icon{color:#333;height:12px;width:14px}.iui-alert{align-items:center;border-radius:var(--container-radius);display:flex;font-size:13px;padding:16px}.iui-alert svg{height:20px;margin-right:12px;width:20px}.iui-alert.success{background-color:var(--success-100)}.iui-alert.success svg{color:var(--success)}.iui-alert.info{background-color:var(--info-100)}.iui-alert.info svg{color:var(--info)}.iui-alert.warning{background-color:var(--warning-100)}.iui-alert.warning svg{color:var(--warning)}.iui-alert.danger{background-color:var(--danger-100)}.iui-alert.danger svg{color:var(--danger)}.iui-badge-parent{display:inline-block;position:relative}.iui-badge{align-items:center;border-radius:100%;display:flex;justify-content:center;position:absolute;right:0;top:0;transform:scale(1) translate(50%,-50%);transform-origin:100% 0}.iui-badge.primary{background-color:var(--primary);border:2px solid #fff;color:var(--text-inverse)}.iui-badge.s{font-size:10px;height:18px;width:18px}.iui-badge.m{font-size:11px;height:21px;width:21px}.iui-pill-badge{border-radius:20px;font-size:12px;padding:5px 11px;width:fit-content}.iui-pill-badge.success{background-color:var(--success-200)}.iui-pill-badge.info{background-color:var(--info-200)}.iui-pill-badge.warning{background-color:var(--warning-200)}.iui-pill-badge.danger{background-color:var(--danger-200)}.iui-pill-badge.gray{background-color:var(--neutral-200)}.iui-dot-badge{border-radius:50%;max-height:13px;max-width:13px;min-height:13px;min-width:13px}.iui-dot-badge.success{background-color:var(--success)}.iui-dot-badge.info{background-color:var(--info)}.iui-dot-badge.warning{background-color:var(--warning)}.iui-dot-badge.danger{background-color:var(--danger)}.iui-dot-badge.gray{background-color:var(--neutral-400)}.iui-btn{align-items:center;background:none;border-radius:100px;cursor:pointer;display:flex;gap:8px;justify-content:center;transition:border-color .25s,background-color .25s;user-select:none}.iui-btn.primary{color:var(--primary-600)}.iui-btn.primary.solid{background-color:var(--primary);border-color:var(--primary)}.iui-btn.primary.outlined{border-color:var(--primary-600)}.iui-btn.primary:not(:disabled):focus-visible{box-shadow:0 0 1px 3px var(--primary-200)}.iui-btn.primary:not(:disabled).active.solid,.iui-btn.primary:not(:disabled):active.solid,.iui-btn.primary:not(:disabled):hover.solid{background-color:var(--primary-600);border-color:var(--primary-600)}.iui-btn.primary:not(:disabled).active:not(.solid),.iui-btn.primary:not(:disabled):active:not(.solid),.iui-btn.primary:not(:disabled):hover:not(.solid){background-color:var(--primary-100)}.iui-btn.neutral{color:var(--neutral-600)}.iui-btn.neutral.solid{background-color:var(--neutral);border-color:var(--neutral)}.iui-btn.neutral.outlined{border-color:var(--neutral-600)}.iui-btn.neutral:not(:disabled):focus-visible{box-shadow:0 0 1px 3px var(--neutral-200)}.iui-btn.neutral:not(:disabled).active.solid,.iui-btn.neutral:not(:disabled):active.solid,.iui-btn.neutral:not(:disabled):hover.solid{background-color:var(--neutral-600);border-color:var(--neutral-600)}.iui-btn.neutral:not(:disabled).active:not(.solid),.iui-btn.neutral:not(:disabled):active:not(.solid),.iui-btn.neutral:not(:disabled):hover:not(.solid){background-color:var(--neutral-100)}.iui-btn.danger{color:var(--danger-600)}.iui-btn.danger.solid{background-color:var(--danger);border-color:var(--danger)}.iui-btn.danger.outlined{border-color:var(--danger-600)}.iui-btn.danger:not(:disabled):focus-visible{box-shadow:0 0 1px 3px var(--danger-200)}.iui-btn.danger:not(:disabled).active.solid,.iui-btn.danger:not(:disabled):active.solid,.iui-btn.danger:not(:disabled):hover.solid{background-color:var(--danger-600);border-color:var(--danger-600)}.iui-btn.danger:not(:disabled).active:not(.solid),.iui-btn.danger:not(:disabled):active:not(.solid),.iui-btn.danger:not(:disabled):hover:not(.solid){background-color:var(--danger-100)}.iui-btn:not(.simple){border:1px solid var(--neutral-300)}.iui-btn.solid{color:var(--text-inverse)}.iui-btn:disabled{cursor:default;opacity:.5}.iui-btn:not(:disabled):active{transform:translateY(2px)}.iui-text-btn{font-weight:600;white-space:nowrap}.iui-text-btn.xs{font-size:10px;gap:6px;padding:4px 10px}.iui-text-btn.xs svg{height:12px;width:12px}.iui-text-btn.s{font-size:12px;padding:6px 12px}.iui-text-btn.s svg{height:14px;width:14px}.iui-text-btn.m{font-size:14px;padding:8px 14px}.iui-text-btn.m svg{height:16px;width:16px}.iui-text-btn.l{font-size:16px;padding:12px 18px}.iui-text-btn.l svg{height:20px;width:20px}.iui-icon-btn.s{height:32px;min-height:32px;min-width:32px;width:32px}.iui-icon-btn.s svg{height:16px;width:16px}.iui-icon-btn.m{height:40px;min-height:40px;min-width:40px;width:40px}.iui-icon-btn.m svg{height:20px;width:20px}.iui-icon-btn.l{height:44px;min-height:44px;min-width:44px;width:44px}.iui-icon-btn.l svg{height:24px;width:24px}.iui-card{background:var(--white);border-radius:var(--container-radius);box-shadow:var(--container-shadow)}.iui-card>.content.s{padding:10px}.iui-card>.content.l{padding:40px 30px}.iui-card-header{border-bottom:1px solid var(--neutral-700);font-weight:700;height:45px;justify-content:space-between;margin:0 10px;padding-left:15px}.iui-card-header,.iui-dialog{align-items:center;display:flex}.iui-dialog{animation:fade-in .2s forwards;backdrop-filter:blur(8px);background-color:var(--neutral-t);inset:0;justify-content:center;position:fixed;z-index:1000}.iui-dialog.closing{animation:fade-out .2s forwards;display:flex}.iui-dialog-container{animation:scale-in .2s forwards;background-color:var(--white);border-radius:16px;max-width:98vw;min-width:400px;overflow:hidden}.iui-dialog-container .iui-dialog-header{display:flex;gap:16px}.iui-dialog-container .iui-dialog-header h1{font-size:18px;font-weight:600}.iui-dialog-container .iui-dialog-header .iui-dialog-desc{color:var(--text);margin-top:8px;white-space:pre-line;word-break:break-word}.iui-dialog-container .iui-dialog-header .iui-dialog-title{align-items:baseline;display:flex;gap:16px;justify-content:space-between;width:100%}.iui-dialog-container .iui-dialog-header .iui-dialog-title .close-icon{margin:-14px}.iui-dialog-container.m{width:400px}.iui-dialog-container.l{width:750px}.iui-dialog-container.xl{width:1200px}.iui-dialog-container .icon{border-radius:24px;min-height:24px;min-width:24px;padding:12px}.iui-dialog-container .icon.success{background-color:var(--success-100);color:var(--success)}.iui-dialog-container .icon.info{background-color:var(--info-100);color:var(--info)}.iui-dialog-container .icon.warning{background-color:var(--warning-100);color:var(--warning)}.iui-dialog-container .icon.danger{background-color:var(--danger-100);color:var(--danger)}.iui-dialog-content{max-height:80vh;padding:24px}.iui-dialog-content:not(.no-overflow){overflow:auto;overscroll-behavior:none}.iui-dialog-actions{border-top:var(--border);display:flex;gap:8px;justify-content:right;padding:24px}@media screen and (max-width:500px){.iui-dialog-container{border-radius:0;display:flex;flex-direction:column;height:100dvh;justify-content:space-between;max-width:100vw;width:100vw!important}.iui-dialog-container .iui-dialog-content{padding:16px}.iui-dialog-container .iui-dialog-actions{flex-direction:column-reverse;padding:16px}}.iui-form-actions{gap:.5rem;justify-content:center;margin-bottom:.5rem;margin-top:1rem}.iui-form-actions,.iui-header{align-items:center;display:flex}.iui-header{background:var(--background);border-bottom:var(--border);box-sizing:border-box;height:var(--header-height);justify-content:space-between;padding:0 24px 0 8px;width:100dvw}.iui-header .header-button{border-radius:50px;height:40px;padding:8px;width:40px}.iui-header .header-button:hover{background-color:var(--neutral-hover)}.module-name{align-items:center;border-radius:var(--container-radius);display:flex;gap:8px;padding-right:8px;user-select:none}.module-name:hover{background-color:var(--neutral-hover)}.module-item{align-items:center;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:8px}.module-item .menu-item-label{font-weight:600}.module-icon,.module-item .menu-item-icon{align-items:center;background:var(--neutral-200);border-radius:50px;display:flex;height:40px;justify-content:center;width:40px}.module-icon svg,.module-item .menu-item-icon svg{color:var(--primary);height:20px;width:20px}.user-box{-webkit-user-drag:none;align-items:center;cursor:pointer;display:flex;gap:8px;height:var(--header-height);position:relative;user-select:none}.user-box .user-icon{color:var(--primary);height:36px;width:36px}.user-box .user-info{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-box .user-info .user-name{font-size:14px;font-weight:600}.user-box .user-info .org-name{color:var(--neutral-500);font-size:12px}.user-box .user-info p{line-height:1.5;overflow:hidden;text-overflow:ellipsis}.user-box .user-badge{background:var(--danger);border-radius:50px;max-height:10px;max-width:10px;min-height:10px;min-width:10px}@media screen and (max-width:500px){.user-info{display:none}}.iui-input-container{display:flex;flex-direction:column;gap:6px;width:100%}.iui-input-container p{color:var(--text);font-size:14px}.iui-input-container .input-label{cursor:default;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iui-input-container .input-label.required:after{color:var(--danger);content:" *"}.iui-input-container .iui-input-wrapper-field{align-items:center;background-color:var(--white);border:var(--border);border-radius:8px;display:flex;height:40px;min-height:40px;overflow:hidden;position:relative}.iui-input-container .iui-input-wrapper-field .icon{color:var(--neutral);cursor:pointer;height:16px;margin:-4px;padding:4px;width:16px}.iui-input-container .iui-input-wrapper-field .icon:hover{color:var(--primary)}.iui-input-container .iui-input-wrapper-field.height-auto{height:auto}.iui-input-container .iui-input-wrapper-field.with-end-section input{padding-right:0}.iui-input-container .iui-input-wrapper-field .end-section{align-items:center;display:flex;gap:10px;margin:0 12px 0 8px}.iui-input-container .helper-text{color:var(--neutral);font-size:13px;margin:0 8px;white-space:pre-line}.iui-input-container .helper-text.error-text{display:none}.iui-input-container.disabled .iui-input-wrapper-field{background-color:var(--background-disabled);pointer-events:none;user-select:none}.iui-input-container.disabled .iui-input-wrapper-field .icon,.iui-input-container.disabled .iui-input-wrapper-field p{color:var(--text-disabled)}.iui-input-container.focus .iui-input-wrapper-field,.iui-input-container:has(input:focus) .iui-input-wrapper-field{border-color:var(--primary);box-shadow:0 0 1px 3px var(--primary-200)}.iui-input-container.focus .iui-input-wrapper-field:has(input.error),.iui-input-container.focus .iui-input-wrapper-field:has(input:user-invalid),.iui-input-container:has(input:focus) .iui-input-wrapper-field:has(input.error),.iui-input-container:has(input:focus) .iui-input-wrapper-field:has(input:user-invalid){border-color:var(--danger);box-shadow:0 0 1px 3px var(--danger-200)}.iui-input-container.error .iui-input-wrapper-field,.iui-input-container:has(input.error) .iui-input-wrapper-field,.iui-input-container:has(input:user-invalid) .iui-input-wrapper-field{border-color:var(--danger)}.iui-input-container.error .iui-input-wrapper-field .icon:hover,.iui-input-container:has(input.error) .iui-input-wrapper-field .icon:hover,.iui-input-container:has(input:user-invalid) .iui-input-wrapper-field .icon:hover{color:var(--danger)}.iui-input-container.error .helper-text,.iui-input-container:has(input.error) .helper-text,.iui-input-container:has(input:user-invalid) .helper-text{color:var(--danger)}.iui-input-container.error .helper-text.helper-hidden,.iui-input-container:has(input.error) .helper-text.helper-hidden,.iui-input-container:has(input:user-invalid) .helper-text.helper-hidden{display:none}.iui-input-container.error .helper-text.error-text,.iui-input-container:has(input.error) .helper-text.error-text,.iui-input-container:has(input:user-invalid) .helper-text.error-text{display:block}.iui-input-container input,.iui-input-container textarea{border:none;font-size:16px;padding:8px 12px;width:100%}.iui-input-container input:-webkit-autofill,.iui-input-container textarea:-webkit-autofill{animation-duration:.5s;animation-name:auto-fill}.iui-input-container input:disabled,.iui-input-container textarea:disabled{background-color:var(--background-disabled)}.iui-input-container input::placeholder,.iui-input-container textarea::placeholder{color:var(--neutral-400);font-style:italic;font-weight:200!important;user-select:none}.iui-input-container textarea{resize:none}.iui-input-container textarea.resize{resize:vertical}.fake-input{height:1px!important;margin:0;opacity:0;padding:0!important;pointer-events:none;position:absolute;z-index:-1}.iui-checkbox{align-items:flex-start;cursor:pointer;display:inline-flex;font-size:var(--fs-m);gap:8px;padding:8px;user-select:none;width:fit-content}.iui-checkbox .box{align-items:center;border:2px solid var(--neutral-400);border-radius:5px;color:var(--text-inverse);display:flex;height:20px;justify-content:center;min-width:20px;position:relative;transition:all .15s cubic-bezier(.4,0,1,1) 0ms;width:20px}.iui-checkbox .box.selected{background-color:var(--primary);border-color:var(--primary)}.iui-checkbox p{line-height:20px;vertical-align:middle;white-space:pre-line}.iui-checkbox.disabled{cursor:default;user-select:none}.iui-checkbox.disabled input{cursor:default}.iui-checkbox.disabled .box{background-color:var(--neutral-200);border-color:var(--neutral-300);color:var(--neutral-300)}.iui-checkbox.disabled p{color:var(--text-disabled)}.date-input,.radio-group.row{align-items:center}.date-input{display:flex;position:relative;width:100%}.date-input .calendar-btn{padding:8px 8px 8px 12px}.date-input .inputs{align-items:center;display:flex;justify-content:flex-start;width:100%}.date-input .inputs input{padding:0;width:min-content}.date-input .inputs input.error{color:var(--danger)}.react-calendar{align-items:center;border:none!important;display:flex;flex-direction:column;gap:12px;padding:8px 12px 0;-webkit-user-select:none;user-select:none}.react-calendar button{align-items:center;background:none;border:none;border-radius:20px;cursor:pointer;display:flex;justify-content:center}.react-calendar button:enabled:hover{background:var(--neutral-hover)}.react-calendar__navigation{align-items:center;display:flex;gap:4px;justify-content:space-between;white-space:nowrap;width:100%}.react-calendar__navigation button{align-items:center;display:flex;height:36px;justify-content:center;width:36px}.react-calendar__navigation__label{font-size:16px;font-weight:600;padding:8px 12px}.react-calendar__navigation__arrow{color:var(--neutral-400);font-size:30px;line-height:36px;padding:4px 12px 8px}.react-calendar__month-view__weekdays{display:grid!important;grid-template-columns:repeat(7,1fr);text-align:center}.react-calendar__month-view__weekdays abbr[title]{text-decoration:none}.react-calendar__tile{flex:unset!important;font-size:15px;font-weight:500;height:40px}.react-calendar__tile--now{background:var(--primary-100)!important;color:var(--primary)}.react-calendar__tile--now:enabled:hover{background:var(--primary-200)!important}.react-calendar__tile--active,.react-calendar__tile--hasActive{background:var(--primary)!important;color:var(--text-inverse)}.react-calendar__month-view__days{display:grid!important;gap:4px;grid-template-columns:repeat(7,1fr);margin-top:16px}.react-calendar__month-view__days__day{width:40px}.react-calendar__month-view__days__day--neighboringMonth{color:var(--neutral-400)}.react-calendar__year-view__months{display:grid!important;gap:8px;grid-template-columns:repeat(3,1fr)}.react-calendar__year-view__months__month{padding:0 12px}.react-calendar__decade-view__years{display:grid!important;gap:8px;grid-template-columns:repeat(4,1fr)}.react-calendar__decade-view__years__year{font-size:16px;padding:0 12px}.time-input-wrapper{min-width:110px;width:110px}.time-input-wrapper .time-input{align-items:center;display:flex;gap:4px;padding:0 12px}.time-input-wrapper .time-input input::-webkit-inner-spin-button,.time-input-wrapper .time-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.time-input-wrapper .time-input input[type=number]{height:40px;padding:0;text-align:left}.time-input-wrapper .time-input span{font-size:13px}.radio-group{display:flex;width:fit-content}.radio-group.column{flex-direction:column}.radio-group.row{align-items:flex-start;flex-direction:row}.iui-radio{display:inline-flex;font-size:var(--fs-m);gap:8px;padding:8px;user-select:none;width:fit-content}.iui-radio .icon{align-items:center;border:2px solid #d0d5dd;border-radius:20px;display:flex;height:20px;justify-content:center;min-width:20px;position:relative;width:20px}.iui-radio .icon .dot{background-color:var(--white);border-radius:8px;height:8px;transform:scale(0);transition:transform .15s cubic-bezier(.4,0,1,1) 0ms;width:8px}.iui-radio .icon.selected{background-color:var(--primary);border-color:var(--primary)}.iui-radio .icon.selected .dot{transform:scale(1)}.iui-radio .radio-content p{line-height:20px;white-space:pre-line}.iui-radio .radio-content .label{font-weight:500}.select-wrapper .field{height:auto;min-height:40px}.full-screen-loader{background-color:hsla(0,0%,100%,.7);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1001}.full-screen-loader .loader{position:fixed!important}.lazy-loader{height:calc(100vh - var(--header-height));position:relative}.loader{align-items:center;background-color:hsla(0,0%,100%,.6);display:flex;inset:0;justify-content:center;position:absolute;z-index:1000}.loader .spinner{animation:rotate 1.5s linear infinite;border-radius:50%;box-shadow:inset -2px 0 0 2px var(--primary);display:inline-block;height:50px;width:50px}.empty-loader{height:60px;width:100%}.full-page-loader{height:100%}.iui-menu{animation:fade-in .2s forwards;background:var(--white);border-radius:8px;box-shadow:var(--deep-shadow);overflow:auto;overscroll-behavior:none;padding:4px 0;position:absolute}.iui-menu::-webkit-scrollbar{width:5px}.iui-menu.s{min-width:150px}.iui-menu.m{min-width:250px}.iui-menu.l{min-width:500px}.iui-menu-item{align-items:center;display:flex;gap:4px;padding:8px 16px;user-select:none}.iui-menu-item.clickable:hover:not(:disabled):not(.disabled){background-color:var(--neutral-hover)}.iui-menu-item.with-devider:not(:last-child){border-bottom:var(--border)}.iui-menu-item .menu-item-icon{align-items:center;color:var(--text);display:flex;min-width:24px}.iui-menu-item .menu-item-icon svg{height:16px}.iui-menu-item .menu-item-badge{background-color:var(--danger);right:-3px;top:-3px}.iui-header{grid-area:header}.iui-sidebar{align-items:stretch;grid-area:sidebar;grid-row:auto}.app-content{grid-area:content}.app-layout{display:grid;grid-template-areas:"header header" "sidebar content";grid-template-columns:auto 1fr;grid-template-rows:auto calc(100dvh - var(--header-height));height:100dvh;overflow:hidden;width:100dvw}.page-container{max-height:calc(100vh - var(--header-height));min-height:calc(100vh - var(--header-height))}.page-container,.page-content{display:flex;flex-direction:column}.page-content{flex:1;overflow-y:auto;padding:1.5rem 1.5rem 1rem}.page-header{align-items:center;border-bottom:var(--border);display:flex;justify-content:space-between;max-height:55px;min-height:55px;padding:0 1.5rem}@media screen and (max-width:1023px){.page-header .breadcrumbs{font-size:16px}}.footer{font-size:12px;padding:36px 0 8px;text-align:center}.portal-background{height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.iui-print-dialog{animation:fade-in .2s forwards;bottom:0;left:0;min-height:100vh;position:absolute;top:0;width:100%;z-index:2000}.iui-print-dialog>.content{background:#fefefe;padding:10px 50px 60px}.iui-print-dialog>.content p,.iui-print-dialog>.content td{font-size:10pt}.iui-print-dialog>.content h4{font-size:12pt}.iui-print-dialog>.content .name{font-size:11pt;font-weight:700;margin-bottom:5px}@media print{.iui-print-dialog .content{padding:0}}.iui-print-actions{align-items:center;background-color:#fefefe;bottom:0;box-shadow:var(--container-shadow);display:flex;height:50px;justify-content:center;left:0;position:fixed;right:0}@media print and (orientation:landscape){.print-table{width:842pt}}@media print and (orientation:portrait){.print-table{width:595pt}}.print-table thead tr{background:#f1f1f1}.print-table th{border:1px solid silver;padding:5px}.print-table th p{padding:4px 8px!important}.print-table td{border:1px solid silver;padding:3px}@media print{@page{margin:6.5mm}#root,.no-print{display:none}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}tbody td{white-space:pre-wrap!important}}.pullover{animation:fade-in .2s forwards;backdrop-filter:blur(3px);background:rgba(0,0,0,.4);display:flex;inset:0;justify-content:end;overflow:hidden;position:fixed;z-index:100}.pullover .container{background:var(--white);box-sizing:border-box;height:100%;max-width:100vw;overflow:hidden;transition:width,.2s;width:0}.pullover .container .content{padding:24px}.pullover.open .container.s{width:25vw}.pullover.open .container.m{width:50vw}.pullover.open .container.l{width:75vw}.pullover.open .container.xl{width:100vw}.pullover.closing{animation:fade-out .2s forwards}.pullover.closing .container{width:0!important}div::-webkit-scrollbar{height:13px;width:13px}div::-webkit-scrollbar-track{background-color:var(--primary-200);border-radius:100px}div::-webkit-scrollbar-thumb{background-color:var(--primary);border-radius:100px;box-shadow:inset 2px 2px 5px 0 hsla(0,0%,100%,.5)}div::-webkit-scrollbar-thumb:hover{background-color:var(--primary-600)}.iui-sidebar{--animation:0.2s cubic-bezier(0.7,0.1,0.5,1);border-right:var(--border);display:flex;flex-direction:column;height:calc(100dvh - var(--header-height));position:relative;transition:width var(--animation);width:var(--sidebar-width)}.iui-sidebar hr{margin-inline:12px}.iui-sidebar .iui-collapse-btn{align-items:center;background-color:#fff;border:1px solid var(--primary);border-radius:50%;box-sizing:border-box;display:flex;height:32px;justify-content:center;opacity:0;position:absolute;right:-16px;top:40px;transition:opacity .15s ease-in-out;width:32px;z-index:2}.iui-sidebar .iui-collapse-btn:active{transform:translateY(2px)}.iui-sidebar .iui-collapse-btn svg{color:var(--primary)}.iui-sidebar:hover .iui-collapse-btn{opacity:1}.iui-sidebar.collapsed{animation:temp-disable-pointer .2s forwards;width:var(--sidebar-collapsed-width)}.iui-sidebar.collapsed:hover{width:var(--sidebar-width)}.iui-sidebar.collapsed:not(:hover) .iui-sidebar-content{overflow:hidden}.iui-sidebar.collapsed:not(:hover) .iui-sidebar-items .iui-collapse{max-height:0!important}.iui-sidebar.collapsed:not(:hover) .item-only{padding-left:15px}.iui-sidebar.collapsed:not(:hover) .item-only .sidebar-item-label{padding-left:6px}.iui-sidebar.collapsed:not(:hover) .sidebar-footer p{font-size:10px}.iui-sidebar-content{flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.iui-sidebar-content .iui-sidebar-items{flex:1;padding:8px 0}.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item{align-items:center;display:grid;gap:8px;grid-auto-flow:column;user-select:none;white-space:pre-line;width:var(--sidebar-width)}.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item .sidebar-item-label{line-height:unset;overflow-x:hidden;text-overflow:ellipsis}.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item.active .sidebar-item-icon,.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item.active .sidebar-item-label,.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item.clickable:hover .sidebar-item-icon,.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item.clickable:hover .sidebar-item-label{color:var(--primary)}.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item .sidebar-badge{align-items:center;background-color:var(--primary-200);border-radius:50px;color:var(--text);display:flex;font-size:12px;font-weight:500;height:28px;justify-content:center;width:28px}.iui-sidebar-content .iui-sidebar-items .item-only{grid-auto-columns:auto 1fr auto auto;padding:12px 20px;transition:padding var(--animation)}.iui-sidebar-content .iui-sidebar-items .item-only .sidebar-item-label{font-weight:500;transition:padding var(--animation)}.iui-sidebar-content .iui-sidebar-items .item-only .sidebar-item-icon{color:var(--text);height:24px;width:24px}.iui-sidebar-content .iui-sidebar-items .sub-item{gap:4px;grid-auto-columns:1fr auto auto;padding:8px 16px 8px 56px}.iui-sidebar-content .iui-sidebar-items .sub-item.primary .sidebar-item-label{color:var(--primary-700);font-weight:500}.iui-sidebar-content .iui-sidebar-items .sidebar-expand-icon{color:var(--text);height:20px;transition:transform .2s;width:20px}.iui-sidebar-content .iui-sidebar-items .sidebar-expand-icon.rotate{transform:rotate(180deg)}.iui-sidebar-content::-webkit-scrollbar{width:5px}.sidebar-footer{align-items:center;display:flex;flex-direction:column;gap:4px;padding:16px 0}.sidebar-footer .sidebar-logo{max-height:70px;max-width:160px;object-fit:contain;width:70%}@media screen and (max-width:1023px){.iui-collapse-btn{display:none!important}.iui-sidebar:not(:hover){width:var(--sidebar-collapsed-width)}.iui-sidebar:not(:hover) .iui-sidebar-content{overflow:hidden}.iui-sidebar:not(:hover) .iui-sidebar-items .iui-collapse{max-height:0!important}.iui-sidebar:not(:hover) .item-only{padding-left:15px}.iui-sidebar:not(:hover) .item-only .sidebar-item-label{padding-left:6px}.iui-sidebar:not(:hover) .sidebar-footer p{font-size:10px}}@media screen and (min-width:1024px){.sidebar-footer:not(.collapsed){padding:16px}}hr{border-color:var(--border-color);border-width:0 0 thin;margin:8px 0}.iui-collapse{overflow:hidden;transition:max-height .2s cubic-bezier(.4,0,.2,1)}.form-disabled{opacity:.6;pointer-events:none}.Toastify__toast{border-radius:15px!important;opacity:.95}.Toastify__toast hr{border-color:var(--white)}table{border-collapse:collapse;border-spacing:0}.iui-table thead{background-color:#f9fafb;z-index:2}.iui-table th{border-left:var(--border);border-right:var(--border);font-weight:400;padding:0}.iui-table th p{font-size:12px}.iui-table .table-container{overflow:auto}.iui-table .sticky-header{position:-webkit-sticky;position:sticky;top:0}.iui-table .border-row{background-color:#dfe1eb;box-sizing:border-box;height:1px;width:100%}.iui-table tr.clickable:hover,.iui-table tr.selected{background-color:rgba(0,0,0,.05)}.iui-table tr.focused{background-color:var(--primary-o10)}.iui-table tr.loading{opacity:.5;pointer-events:none}.iui-table td.secondary,.iui-table th.secondary{background-color:rgba(0,0,0,.04)}.iui-table td{border:var(--border);box-sizing:border-box;font-size:14px;height:52px;padding:7px 16px}.iui-table td.s{height:40px;padding:2px 16px}.iui-table td.xs{height:30px;padding:2px 16px}.iui-table .clickable-column:hover{background-color:var(--primary-o10)!important}.iui-table .table-footer{align-items:center;box-sizing:border-box;display:flex;font-size:var(--fs-m);height:52px;padding:8px;width:100%}.iui-table .pagination{align-items:center;color:rgba(0,0,0,.8);display:flex;gap:16px}.iui-table .pagination .offset-input,.iui-table .pagination p{font-size:12px!important}.iui-table .pagination p{white-space:nowrap}.iui-table .pagination .separator{background-color:rgba(0,0,0,.6);height:16px;width:1px}.iui-table .pagination select{appearance:none;background:none;border:none;color:rgba(0,0,0,.8);cursor:pointer;margin-left:8px;margin-right:16px;padding:0 8px;text-align:right;user-select:none}.iui-table .pagination .offset-input{width:40px}.iui-table .pagination .offset-input input{font-size:12px!important;height:24px;padding:0 5px;text-align:center}@media screen and (max-width:500px){.iui-table .pagination{align-items:end;flex-direction:column}}@media screen and (orientation:portrait){.iui-table tbody,.iui-table tr{display:block}.iui-table tr{padding:20px 0}.iui-table td{align-items:center;display:flex;height:unset!important;text-align:left}.iui-table thead{display:none}.iui-table tbody tr td:before{content:attr(data-th);font-weight:700;padding-right:10px;text-align:left}}.iui-table-filter .iui-dialog-content{margin:8px 0;padding:0}.iui-table-filter .filters-search{align-items:center;display:flex;gap:8px;justify-content:space-between}.iui-table-filter .filters-search .search-input{max-width:250px}.iui-table-filter .table-filter-item{align-items:center;display:flex;justify-content:space-between;padding:8px 16px}.iui-table-filter .table-filter-item .field{flex:1}.dual-list-container .dual-list-content{display:grid;gap:12px;grid-template-columns:1fr auto 1fr}.dual-list-container .list-box{border:var(--border);border-radius:16px;padding:10px;user-select:none}.dual-list-container .list-box>.item{align-items:center;display:flex;font-size:12px;justify-content:space-between;padding:8px}.dual-list-container .list-box>.item svg{color:rgba(0,0,0,.6);margin-left:1rem}.dual-list-container .list-box>.item:hover{background-color:var(--primary-o10)}.dual-list-container .list-box>.item:active{background-color:var(--primary-o25)}.dual-list-container .exchange-icon{align-items:center;display:flex}.dual-list-container .exchange-icon svg{height:20px;width:20px}.edit-row{background:var(--neutral-100)}.edit-row td{padding:4px!important}.edit-row .iui-input-wrapper-field{border:none;border-radius:0;box-shadow:none!important}.primary-row{background-color:rgba(var(--primary-rgb),.15)}.secondary-row{background-color:#f1f1f1}.table-options{align-items:center;display:flex;justify-content:space-between;padding:8px}.iui-tabs{border-bottom:var(--border);display:flex;overflow:auto;padding-bottom:4px}.iui-tabs::-webkit-scrollbar{height:5px}.iui-tab{align-items:center;border-bottom:2px solid #fff;color:var(--neutral-400);display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 12px 8px;user-select:none}.iui-tab svg{font-size:15px}.iui-tab:hover:not(.disabled){color:var(--text)}.iui-tab.selected:not(.disabled){border-color:var(--primary);color:var(--primary)}.iui-tab-content{padding:8px}.tooltip-container{background:var(--neutral-700);border-radius:8px;color:var(--text-inverse);font-size:12px;font-weight:700;padding:8px 16px;position:fixed;text-align:center;transition:opacity .3s;z-index:1001}.tooltip-container:not(.visible){opacity:0;visibility:hidden}.tooltip{height:100%;position:relative;white-space:pre-line}.tooltip .arrow{border:8px solid var(--neutral-700);position:absolute;z-index:1001}.tooltip .arrow.top{border-color:var(--neutral-700) transparent transparent transparent;left:calc(50% - 8px);top:calc(100% + 8px)}.tooltip .arrow.bottom{border-color:transparent transparent var(--neutral-700) transparent;bottom:calc(100% + 8px);left:calc(50% - 8px)}.tooltip .arrow.left{border-color:transparent transparent transparent var(--neutral-700);left:calc(100% + 16px);top:calc(50% - 8px)}.tooltip .arrow.right{border-color:transparent var(--neutral-700) transparent transparent;right:calc(100% + 16px);top:calc(50% - 8px)}.tree-item{min-height:28px;padding:4px 0}.tree-item .extendable-icon{width:28px}.tree-item .extendable-icon .rotate{transition:all .2s cubic-bezier(.4,0,.2,1)}.tree-item .extendable-icon .rotate.rotate90{transform:rotate(90deg)}.tree-item .tree-item-name{padding:4px}.tree-item .tree-item-name.active,.tree-item .tree-item-name:hover{background-color:var(--primary-o25);border-radius:4px}.widget-container{display:grid;gap:60px;grid-auto-flow:dense;grid-template-columns:1fr 1fr 1fr 1fr}.widget-container .grid-span2{grid-column:span 2}.widget-container .grid-span3{grid-column:span 3}.widget-container .grid-span4{grid-column:span 4}@media (min-width:1500px) and (max-width:1800px){.widget-container{grid-template-columns:1fr 1fr 1fr}.widget-container .grid-span4{grid-column:span 3}}@media (min-width:1150px) and (max-width:1499px){.widget-container{grid-template-columns:1fr 1fr}.widget-container .grid-span3,.widget-container .grid-span4{grid-column:span 2}}@media (max-width:1149px){.widget-container{display:flex;flex-direction:column;gap:30px}}.dashboard-widget{background:var(--white);border-radius:var(--container-radius);box-shadow:var(--container-shadow);color:#000;padding:30px;width:inherit}.dashboard-widget h1{margin:15px 0}.dashboard-widget .icon{align-items:center;background-color:var(--primary-o10);border-radius:10px;color:var(--primary);display:flex;height:48px;justify-content:center;width:48px}.dashboard-widget .icon svg{height:22px;width:22px}.dashboard-widget.warning{border:10px solid var(--warning);padding:20px}.dashboard-widget.warning .icon{color:var(--danger)}.dashboard-widget.info{border:10px solid var(--primary);padding:20px}.short-links-widget{font-size:var(--fs-m)}.short-links-widget ul{display:grid;list-style-type:none;margin:0;padding:0}.short-links-widget ul li{margin:0;padding:15px 5px}.short-links-widget ul li:hover{background-color:rgba(0,0,0,.05)}.short-links-widget ul li:not(:last-child){border-bottom:1px solid silver}#content{align-self:center;display:flex;flex-direction:column;gap:24px;grid-area:content}#img{align-self:flex-end;grid-area:img;width:100%}#actions{align-self:flex-start;grid-area:actions;padding-top:24px}.full-screen-page{align-content:center;align-items:center;display:grid;gap:32px;grid-template-areas:"content img" "actions .";grid-template-columns:1fr 1fr;height:100dvh;padding:64px 128px;width:100dvw}.img-403{color:var(--danger);font-size:200px;font-weight:700;text-align:center}@media screen and (max-width:500px){.full-screen-page{grid-template-areas:"img" "content" "actions";grid-template-columns:1fr;grid-template-rows:1fr 1fr auto;padding:16px}#content{align-self:flex-start;gap:16px}#actions{align-self:flex-end}.iui-btn{width:100%}.img-403{font-size:150px}}
|
|
1
|
+
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,900;1,400;1,500;1,600;1,700;1,900&display=swap");:root{--primary-100:#e7f2f9;--primary-200:#c2deed;--primary-300:#86c0df;--primary-400:#1375aa;--primary-500:#0f5f8a;--primary-600:#0b4b6f;--primary-700:#093858;--neutral-100:#edf0f2;--neutral-200:#e3e8ee;--neutral-300:#bac5ce;--neutral-400:#8f9aa8;--neutral-500:#667085;--neutral-600:#545f78;--neutral-700:#3a4764;--neutral-t:rgba(16,24,40,.5);--info-100:#e0ecfc;--info-200:#9fcaff;--info-300:#6babf7;--info-400:#448fe6;--info-500:#2f7bd0;--info-600:#2261a7;--info-700:#13457c;--success-100:#d3f1da;--success-200:#b9e2c8;--success-300:#44c379;--success-400:#33a865;--success-500:#2f8653;--success-600:#2d7248;--success-700:#28593a;--warning-100:#fef0c7;--warning-200:#e8b275;--warning-300:#e79d47;--warning-400:#ee9528;--warning-500:#d17f14;--warning-600:#b17a42;--warning-700:#845d30;--danger-100:#fceae8;--danger-200:#f7d7d4;--danger-300:#dc776f;--danger-400:#de4f45;--danger-500:#d92d20;--danger-600:#c5261b;--danger-700:#a11b12;--primary:var(--primary-500);--neutral:var(--neutral-500);--info:var(--info-500);--success:var(--success-500);--warning:var(--warning-500);--danger:var(--danger-500);--white:#fff;--text:var(--neutral-700);--text-inverse:var(--white);--text-disabled:var(--neutral-400);--background-disabled:var(--neutral-100);--neutral-hover:var(--neutral-200);--border-color:var(--neutral-300);--link:#126c88;--link-alt:#004459;--fs-m:14px;--header-height:60px;--border:1px solid var(--border-color);--sidebar-width:260px;--sidebar-collapsed-width:54px;--container-radius:25px;--container-radius-bottom:0 0 25px 25px;--container-shadow:0px 0px 5px hsla(0,2%,70%,.5);--deep-shadow:0px 5px 5px -3px rgba(0,0,0,.2),0px 8px 10px 1px rgba(0,0,0,.14),0px 3px 14px 2px rgba(0,0,0,.12)}[data-theme=MTS]{--primary-100:#fce8eb;--primary-200:#fbd0d6;--primary-300:#ed92a0;--primary-400:#ed5e74;--primary-500:#ed1d3c;--primary-600:#d0112d;--primary-700:#a50d24;--neutral-100:#f0f0f0;--neutral-200:#e8e8e8;--neutral-300:#c4c4c4;--neutral-400:#9c9c9c;--neutral-500:#757575;--neutral-600:#666;--neutral-700:#4f4f4f;--neutral-t:rgba(16,24,40,.5);--primary:var(--primary-500);--neutral:var(--neutral-500);--text:var(--neutral-700);--text-disabled:var(--neutral-400);--background-disabled:var(--neutral-100);--neutral-hover:var(--neutral-200);--border-color:var(--neutral-200);--secondary:#ff9500}[data-theme=PPL]{--primary-rgb:0,144,223;--primary-light:#309dbf;--primary-dark:#004459}*{font-family:Poppins,sans-serif}body{color:var(--text)}h1,h2,h3,h4,h5,p{margin:0}p{font-size:var(--fs-m)}h1{font-size:60px;line-height:1.1}h2{font-size:48px;font-size:36px}h3{font-size:24px}.bold{font-weight:700!important}.italic{font-style:italic!important}.new-line{white-space:pre-line!important}.no-wrap{white-space:nowrap!important}.word-break{word-break:break-word!important}.subtitle{color:var(--neutral-600);font-size:20px;white-space:pre-line}.link{color:var(--link)!important;text-decoration:underline!important}.link.inactive{opacity:.5}.link:not(:disabled){cursor:pointer}.link:not(:disabled):hover{color:var(--link-alt)!important;opacity:1}@media screen and (max-width:500px){h1{font-size:36px;line-height:1.2}h2{font-size:24px;font-size:20px}h3{font-size:16px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{transform:scale(.5)}to{transform:scale(1)}}@keyframes auto-fill{to{font-size:13px}}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes temp-disable-pointer{0%{pointer-events:none}99%{pointer-events:none}to{pointer-events:auto}}.align-center{align-items:center!important}.justify-center{justify-content:center!important}.align-left{align-items:left!important}.justify-left{justify-content:left!important}.align-right{align-items:right!important}.justify-right{justify-content:right!important}.justify-around{justify-content:space-around!important}.justify-between{justify-content:space-between!important}.justify-evenly{justify-content:space-evenly!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-justify{text-align:justify!important}.fs-10{font-size:10px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-15{font-size:15px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.fs-32{font-size:32px!important}body{margin:0;width:100%}#root{overflow:hidden}*{box-sizing:border-box}:focus-visible{outline:none!important}button{all:unset;box-sizing:border-box}a{-webkit-user-drag:none;color:unset;text-decoration:none}.clickable{cursor:pointer;transition:background-color .25s}.clickable.disabled,.clickable:disabled{cursor:default;opacity:.4;pointer-events:none;user-select:none}.no-overflow{overflow:hidden}.overflow-auto{overflow:auto}.hover-primary:hover{background-color:var(--primary-100)}.hover-neutral:hover{background-color:var(--neutral-hover)}.no-border{border:none!important}.c-primary{color:var(--primary)!important}.hidden{display:none!important}.block{display:block!important}.relative{position:relative!important}.flex{display:flex}.flex.column{flex-direction:column}.flex.center{align-items:center;justify-content:center}.flex.wrap{flex-wrap:wrap}.inline-flex{display:inline-flex}.flex-grow{flex-grow:1!important}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.gap-form{gap:16px 8px}.grid{display:grid}.grid.auto-1{grid-template-columns:auto 1fr}.grid.fr-2{grid-template-columns:repeat(2,1fr)}@media screen and (max-width:500px){.grid.fr-2{grid-template-columns:1fr}}.grid.fr-3{grid-template-columns:repeat(3,1fr)}@media screen and (max-width:500px){.grid.fr-3{grid-template-columns:1fr}}.grid.fr-4{grid-template-columns:repeat(4,1fr)}@media screen and (max-width:500px){.grid.fr-4{grid-template-columns:1fr}}.grid.fr-5{grid-template-columns:repeat(5,1fr)}@media screen and (max-width:500px){.grid.fr-5{grid-template-columns:1fr}}.full-screen{height:100dvh!important;width:100vw!important}.full-width{width:100%!important}.half-width{width:50%!important}.width-fit{width:fit-content!important}.w-300{width:300px!important}.full-height{height:100%!important}.icon24{height:24px!important;width:24px!important}.iui-accordions{display:flex;flex-direction:column}.iui-accordion{background:var(--white);border-radius:var(--container-radius);box-shadow:var(--container-shadow);color:rgba(0,0,0,.87);font-size:13px;margin:3px 0}.iui-accordion.compact{border-radius:unset;margin:unset}.iui-accordion.compact:first-child{border-top-left-radius:var(--container-radius);border-top-right-radius:var(--container-radius)}.iui-accordion.compact:last-child{border-bottom-left-radius:var(--container-radius);border-bottom-right-radius:var(--container-radius)}.iui-accordion .summary{align-items:center;display:flex;font-weight:500;justify-content:space-between;margin-bottom:1px;min-height:48px;padding:0 16px;user-select:none}.iui-accordion .iui-icon{color:var(--primary-light);font-size:20px;margin-bottom:0;margin-right:16px;max-width:20px}.iui-accordion .collapse-icon{color:#333;height:12px;width:14px}.iui-alert{align-items:center;border-radius:var(--container-radius);display:flex;font-size:13px;padding:16px}.iui-alert svg{height:20px;margin-right:12px;width:20px}.iui-alert.success{background-color:var(--success-100)}.iui-alert.success svg{color:var(--success)}.iui-alert.info{background-color:var(--info-100)}.iui-alert.info svg{color:var(--info)}.iui-alert.warning{background-color:var(--warning-100)}.iui-alert.warning svg{color:var(--warning)}.iui-alert.danger{background-color:var(--danger-100)}.iui-alert.danger svg{color:var(--danger)}.iui-badge-parent{display:inline-block;position:relative}.iui-badge{align-items:center;border-radius:100%;display:flex;justify-content:center;position:absolute;right:0;top:0;transform:scale(1) translate(50%,-50%);transform-origin:100% 0}.iui-badge.primary{background-color:var(--primary);border:2px solid #fff;color:var(--text-inverse)}.iui-badge.s{font-size:10px;height:18px;width:18px}.iui-badge.m{font-size:11px;height:21px;width:21px}.iui-pill-badge{border-radius:20px;font-size:12px;padding:5px 11px;width:fit-content}.iui-pill-badge.success{background-color:var(--success-200)}.iui-pill-badge.info{background-color:var(--info-200)}.iui-pill-badge.warning{background-color:var(--warning-200)}.iui-pill-badge.danger{background-color:var(--danger-200)}.iui-pill-badge.gray{background-color:var(--neutral-200)}.iui-dot-badge{border-radius:50%;max-height:13px;max-width:13px;min-height:13px;min-width:13px}.iui-dot-badge.success{background-color:var(--success)}.iui-dot-badge.info{background-color:var(--info)}.iui-dot-badge.warning{background-color:var(--warning)}.iui-dot-badge.danger{background-color:var(--danger)}.iui-dot-badge.gray{background-color:var(--neutral-400)}.iui-btn{align-items:center;background:none;border-radius:100px;cursor:pointer;display:flex;gap:8px;justify-content:center;transition:border-color .25s,background-color .25s;user-select:none}.iui-btn.primary{color:var(--primary-600)}.iui-btn.primary.solid{background-color:var(--primary);border-color:var(--primary)}.iui-btn.primary.outlined{border-color:var(--primary-600)}.iui-btn.primary:not(:disabled):focus-visible{box-shadow:0 0 1px 3px var(--primary-200)}.iui-btn.primary:not(:disabled).active.solid,.iui-btn.primary:not(:disabled):active.solid,.iui-btn.primary:not(:disabled):hover.solid{background-color:var(--primary-600);border-color:var(--primary-600)}.iui-btn.primary:not(:disabled).active:not(.solid),.iui-btn.primary:not(:disabled):active:not(.solid),.iui-btn.primary:not(:disabled):hover:not(.solid){background-color:var(--primary-100)}.iui-btn.neutral{color:var(--neutral-600)}.iui-btn.neutral.solid{background-color:var(--neutral);border-color:var(--neutral)}.iui-btn.neutral.outlined{border-color:var(--neutral-600)}.iui-btn.neutral:not(:disabled):focus-visible{box-shadow:0 0 1px 3px var(--neutral-200)}.iui-btn.neutral:not(:disabled).active.solid,.iui-btn.neutral:not(:disabled):active.solid,.iui-btn.neutral:not(:disabled):hover.solid{background-color:var(--neutral-600);border-color:var(--neutral-600)}.iui-btn.neutral:not(:disabled).active:not(.solid),.iui-btn.neutral:not(:disabled):active:not(.solid),.iui-btn.neutral:not(:disabled):hover:not(.solid){background-color:var(--neutral-100)}.iui-btn.danger{color:var(--danger-600)}.iui-btn.danger.solid{background-color:var(--danger);border-color:var(--danger)}.iui-btn.danger.outlined{border-color:var(--danger-600)}.iui-btn.danger:not(:disabled):focus-visible{box-shadow:0 0 1px 3px var(--danger-200)}.iui-btn.danger:not(:disabled).active.solid,.iui-btn.danger:not(:disabled):active.solid,.iui-btn.danger:not(:disabled):hover.solid{background-color:var(--danger-600);border-color:var(--danger-600)}.iui-btn.danger:not(:disabled).active:not(.solid),.iui-btn.danger:not(:disabled):active:not(.solid),.iui-btn.danger:not(:disabled):hover:not(.solid){background-color:var(--danger-100)}.iui-btn:not(.simple){border:1px solid var(--neutral-300)}.iui-btn.solid{color:var(--text-inverse)}.iui-btn:disabled{cursor:default;opacity:.5}.iui-btn:not(:disabled):active{transform:translateY(2px)}.iui-text-btn{font-weight:600;white-space:nowrap}.iui-text-btn.xs{font-size:10px;gap:6px;padding:4px 10px}.iui-text-btn.xs svg{height:12px;width:12px}.iui-text-btn.s{font-size:12px;padding:6px 12px}.iui-text-btn.s svg{height:14px;width:14px}.iui-text-btn.m{font-size:14px;padding:8px 14px}.iui-text-btn.m svg{height:16px;width:16px}.iui-text-btn.l{font-size:16px;padding:12px 18px}.iui-text-btn.l svg{height:20px;width:20px}.iui-icon-btn.s{height:32px;min-height:32px;min-width:32px;width:32px}.iui-icon-btn.s svg{height:16px;width:16px}.iui-icon-btn.m{height:40px;min-height:40px;min-width:40px;width:40px}.iui-icon-btn.m svg{height:20px;width:20px}.iui-icon-btn.l{height:44px;min-height:44px;min-width:44px;width:44px}.iui-icon-btn.l svg{height:24px;width:24px}.iui-card{background:var(--white);border-radius:var(--container-radius);box-shadow:var(--container-shadow)}.iui-card>.content.s{padding:10px}.iui-card>.content.l{padding:40px 30px}.iui-card-header{border-bottom:1px solid var(--neutral-700);font-weight:700;height:45px;justify-content:space-between;margin:0 10px;padding-left:15px}.iui-card-header,.iui-dialog{align-items:center;display:flex}.iui-dialog{animation:fade-in .2s forwards;backdrop-filter:blur(8px);background-color:var(--neutral-t);inset:0;justify-content:center;position:fixed;z-index:1000}.iui-dialog.closing{animation:fade-out .2s forwards;display:flex}.iui-dialog-container{animation:scale-in .2s forwards;background-color:var(--white);border-radius:16px;max-width:98vw;min-width:400px;overflow:hidden}.iui-dialog-container .iui-dialog-header{display:flex;gap:16px}.iui-dialog-container .iui-dialog-header h1{font-size:18px;font-weight:600}.iui-dialog-container .iui-dialog-header .iui-dialog-desc{color:var(--text);margin-top:8px;white-space:pre-line;word-break:break-word}.iui-dialog-container .iui-dialog-header .iui-dialog-title{align-items:baseline;display:flex;gap:16px;justify-content:space-between;width:100%}.iui-dialog-container .iui-dialog-header .iui-dialog-title .close-icon{margin:-14px}.iui-dialog-container.m{width:400px}.iui-dialog-container.l{width:750px}.iui-dialog-container.xl{width:1200px}.iui-dialog-container .dialog-type-icon{border-radius:24px;min-height:24px;min-width:24px;padding:12px}.iui-dialog-container .dialog-type-icon.success{background-color:var(--success-100);color:var(--success)}.iui-dialog-container .dialog-type-icon.info{background-color:var(--info-100);color:var(--info)}.iui-dialog-container .dialog-type-icon.warning{background-color:var(--warning-100);color:var(--warning)}.iui-dialog-container .dialog-type-icon.danger{background-color:var(--danger-100);color:var(--danger)}.iui-dialog-content{max-height:80vh;padding:24px}.iui-dialog-content:not(.no-overflow){overflow:auto;overscroll-behavior:none}.iui-dialog-actions{border-top:var(--border);display:flex;gap:8px;justify-content:right;padding:24px}@media screen and (max-width:500px){.iui-dialog-container{border-radius:0;display:flex;flex-direction:column;height:100dvh;justify-content:space-between;max-width:100vw;width:100vw!important}.iui-dialog-container .iui-dialog-content{padding:16px}.iui-dialog-container .iui-dialog-actions{flex-direction:column-reverse;padding:16px}}.iui-form-actions{gap:.5rem;justify-content:center;margin-bottom:.5rem;margin-top:1rem}.iui-form-actions,.iui-header{align-items:center;display:flex}.iui-header{background:var(--background);border-bottom:var(--border);box-sizing:border-box;height:var(--header-height);justify-content:space-between;padding:0 24px 0 8px;width:100dvw}.iui-header .header-button{border-radius:50px;height:40px;padding:8px;width:40px}.iui-header .header-button:hover{background-color:var(--neutral-hover)}.module-name{align-items:center;border-radius:var(--container-radius);display:flex;gap:8px;padding-right:8px;user-select:none}.module-name:hover{background-color:var(--neutral-hover)}.module-item{align-items:center;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:8px}.module-item .menu-item-label{font-weight:600}.module-icon,.module-item .menu-item-icon{align-items:center;background:var(--neutral-200);border-radius:50px;display:flex;height:40px;justify-content:center;width:40px}.module-icon svg,.module-item .menu-item-icon svg{color:var(--primary);height:20px;width:20px}.user-box{-webkit-user-drag:none;align-items:center;cursor:pointer;display:flex;gap:8px;height:var(--header-height);position:relative;user-select:none}.user-box .user-icon{color:var(--primary);height:36px;width:36px}.user-box .user-info{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-box .user-info .user-name{font-size:14px;font-weight:600}.user-box .user-info .org-name{color:var(--neutral-500);font-size:12px}.user-box .user-info p{line-height:1.5;overflow:hidden;text-overflow:ellipsis}.user-box .user-badge{background:var(--danger);border-radius:50px;max-height:10px;max-width:10px;min-height:10px;min-width:10px}@media screen and (max-width:500px){.user-info{display:none}}.iui-input-container{display:flex;flex-direction:column;gap:6px;width:100%}.iui-input-container p{color:var(--text);font-size:14px}.iui-input-container .input-label{cursor:default;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iui-input-container .input-label.required:after{color:var(--danger);content:" *"}.iui-input-container .iui-input-wrapper-field{align-items:center;background-color:var(--white);border:var(--border);border-radius:8px;display:flex;height:40px;min-height:40px;overflow:hidden;position:relative}.iui-input-container .iui-input-wrapper-field .icon{color:var(--neutral);cursor:pointer;height:16px;margin:-4px;padding:4px;width:16px}.iui-input-container .iui-input-wrapper-field .icon:hover{color:var(--primary)}.iui-input-container .iui-input-wrapper-field.height-auto{height:auto}.iui-input-container .iui-input-wrapper-field.with-end-section input{padding-right:0}.iui-input-container .iui-input-wrapper-field .end-section{align-items:center;display:flex;gap:10px;margin:0 12px 0 8px}.iui-input-container .helper-text{color:var(--neutral);font-size:13px;margin:0 8px;white-space:pre-line}.iui-input-container .helper-text.error-text{display:none}.iui-input-container.disabled .iui-input-wrapper-field{background-color:var(--background-disabled);pointer-events:none;user-select:none}.iui-input-container.disabled .iui-input-wrapper-field .icon,.iui-input-container.disabled .iui-input-wrapper-field p{color:var(--text-disabled)}.iui-input-container.focus .iui-input-wrapper-field,.iui-input-container:has(input:focus) .iui-input-wrapper-field{border-color:var(--primary);box-shadow:0 0 1px 3px var(--primary-200)}.iui-input-container.focus .iui-input-wrapper-field:has(input.error),.iui-input-container.focus .iui-input-wrapper-field:has(input:user-invalid),.iui-input-container:has(input:focus) .iui-input-wrapper-field:has(input.error),.iui-input-container:has(input:focus) .iui-input-wrapper-field:has(input:user-invalid){border-color:var(--danger);box-shadow:0 0 1px 3px var(--danger-200)}.iui-input-container.error .iui-input-wrapper-field,.iui-input-container:has(input.error) .iui-input-wrapper-field,.iui-input-container:has(input:user-invalid) .iui-input-wrapper-field{border-color:var(--danger)}.iui-input-container.error .iui-input-wrapper-field .icon:hover,.iui-input-container:has(input.error) .iui-input-wrapper-field .icon:hover,.iui-input-container:has(input:user-invalid) .iui-input-wrapper-field .icon:hover{color:var(--danger)}.iui-input-container.error .helper-text,.iui-input-container:has(input.error) .helper-text,.iui-input-container:has(input:user-invalid) .helper-text{color:var(--danger)}.iui-input-container.error .helper-text.helper-hidden,.iui-input-container:has(input.error) .helper-text.helper-hidden,.iui-input-container:has(input:user-invalid) .helper-text.helper-hidden{display:none}.iui-input-container.error .helper-text.error-text,.iui-input-container:has(input.error) .helper-text.error-text,.iui-input-container:has(input:user-invalid) .helper-text.error-text{display:block}.iui-input-container input,.iui-input-container textarea{border:none;font-size:16px;padding:8px 12px;width:100%}.iui-input-container input:-webkit-autofill,.iui-input-container textarea:-webkit-autofill{animation-duration:.5s;animation-name:auto-fill}.iui-input-container input:disabled,.iui-input-container textarea:disabled{background-color:var(--background-disabled)}.iui-input-container input::placeholder,.iui-input-container textarea::placeholder{color:var(--neutral-400);font-style:italic;font-weight:200!important;user-select:none}.iui-input-container textarea{resize:none}.iui-input-container textarea.resize{resize:vertical}.fake-input{height:1px!important;margin:0;opacity:0;padding:0!important;pointer-events:none;position:absolute;z-index:-1}.iui-checkbox{align-items:flex-start;cursor:pointer;display:inline-flex;font-size:var(--fs-m);gap:8px;padding:8px;user-select:none;width:fit-content}.iui-checkbox .box{align-items:center;border:2px solid var(--neutral-400);border-radius:5px;color:var(--text-inverse);display:flex;height:20px;justify-content:center;min-width:20px;position:relative;transition:all .15s cubic-bezier(.4,0,1,1) 0ms;width:20px}.iui-checkbox .box.selected{background-color:var(--primary);border-color:var(--primary)}.iui-checkbox p{line-height:20px;vertical-align:middle;white-space:pre-line}.iui-checkbox.disabled{cursor:default;user-select:none}.iui-checkbox.disabled input{cursor:default}.iui-checkbox.disabled .box{background-color:var(--neutral-200);border-color:var(--neutral-300);color:var(--neutral-300)}.iui-checkbox.disabled p{color:var(--text-disabled)}.date-input,.radio-group.row{align-items:center}.date-input{display:flex;position:relative;width:100%}.date-input .calendar-btn{padding:8px 8px 8px 12px}.date-input .inputs{align-items:center;display:flex;justify-content:flex-start;width:100%}.date-input .inputs input{padding:0;width:min-content}.date-input .inputs input.error{color:var(--danger)}.react-calendar{align-items:center;border:none!important;display:flex;flex-direction:column;gap:12px;padding:8px 12px 0;-webkit-user-select:none;user-select:none}.react-calendar button{align-items:center;background:none;border:none;border-radius:20px;cursor:pointer;display:flex;justify-content:center}.react-calendar button:enabled:hover{background:var(--neutral-hover)}.react-calendar__navigation{align-items:center;display:flex;gap:4px;justify-content:space-between;white-space:nowrap;width:100%}.react-calendar__navigation button{align-items:center;display:flex;height:36px;justify-content:center;width:36px}.react-calendar__navigation__label{font-size:16px;font-weight:600;padding:8px 12px}.react-calendar__navigation__arrow{color:var(--neutral-400);font-size:30px;line-height:36px;padding:4px 12px 8px}.react-calendar__month-view__weekdays{display:grid!important;grid-template-columns:repeat(7,1fr);text-align:center}.react-calendar__month-view__weekdays abbr[title]{text-decoration:none}.react-calendar__tile{flex:unset!important;font-size:15px;font-weight:500;height:40px}.react-calendar__tile--now{background:var(--primary-100)!important;color:var(--primary)}.react-calendar__tile--now:enabled:hover{background:var(--primary-200)!important}.react-calendar__tile--active,.react-calendar__tile--hasActive{background:var(--primary)!important;color:var(--text-inverse)}.react-calendar__month-view__days{display:grid!important;gap:4px;grid-template-columns:repeat(7,1fr);margin-top:16px}.react-calendar__month-view__days__day{width:40px}.react-calendar__month-view__days__day--neighboringMonth{color:var(--neutral-400)}.react-calendar__year-view__months{display:grid!important;gap:8px;grid-template-columns:repeat(3,1fr)}.react-calendar__year-view__months__month{padding:0 12px}.react-calendar__decade-view__years{display:grid!important;gap:8px;grid-template-columns:repeat(4,1fr)}.react-calendar__decade-view__years__year{font-size:16px;padding:0 12px}.time-input-wrapper{min-width:110px;width:110px}.time-input-wrapper .time-input{align-items:center;display:flex;gap:4px;padding:0 12px}.time-input-wrapper .time-input input::-webkit-inner-spin-button,.time-input-wrapper .time-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.time-input-wrapper .time-input input[type=number]{height:40px;padding:0;text-align:left}.time-input-wrapper .time-input span{font-size:13px}.radio-group{display:flex;width:fit-content}.radio-group.column{flex-direction:column}.radio-group.row{align-items:flex-start;flex-direction:row}.iui-radio{display:inline-flex;font-size:var(--fs-m);gap:8px;padding:8px;user-select:none;width:fit-content}.iui-radio .icon{align-items:center;border:2px solid #d0d5dd;border-radius:20px;display:flex;height:20px;justify-content:center;min-width:20px;position:relative;width:20px}.iui-radio .icon .dot{background-color:var(--white);border-radius:8px;height:8px;transform:scale(0);transition:transform .15s cubic-bezier(.4,0,1,1) 0ms;width:8px}.iui-radio .icon.selected{background-color:var(--primary);border-color:var(--primary)}.iui-radio .icon.selected .dot{transform:scale(1)}.iui-radio .radio-content p{line-height:20px;white-space:pre-line}.iui-radio .radio-content .label{font-weight:500}.select-wrapper .field{height:auto;min-height:40px}.full-screen-loader{background-color:hsla(0,0%,100%,.7);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1001}.full-screen-loader .loader{position:fixed!important}.lazy-loader{height:calc(100vh - var(--header-height));position:relative}.loader{align-items:center;background-color:hsla(0,0%,100%,.6);display:flex;inset:0;justify-content:center;position:absolute;z-index:1000}.loader .spinner{animation:rotate 1.5s linear infinite;border-radius:50%;box-shadow:inset -2px 0 0 2px var(--primary);display:inline-block;height:50px;width:50px}.empty-loader{height:60px;width:100%}.full-page-loader{height:100%}.iui-menu{animation:fade-in .2s forwards;background:var(--white);border-radius:8px;box-shadow:var(--deep-shadow);overflow:auto;overscroll-behavior:none;padding:4px 0;position:absolute}.iui-menu::-webkit-scrollbar{width:5px}.iui-menu.s{min-width:150px}.iui-menu.m{min-width:250px}.iui-menu.l{min-width:500px}.iui-menu-item{align-items:center;display:flex;gap:4px;padding:8px 16px;user-select:none}.iui-menu-item.clickable:hover:not(:disabled):not(.disabled){background-color:var(--neutral-hover)}.iui-menu-item.with-devider:not(:last-child){border-bottom:var(--border)}.iui-menu-item .menu-item-icon{align-items:center;color:var(--text);display:flex;min-width:24px}.iui-menu-item .menu-item-icon svg{height:16px}.iui-menu-item .menu-item-badge{background-color:var(--danger);right:-3px;top:-3px}.iui-header{grid-area:header}.iui-sidebar{align-items:stretch;grid-area:sidebar;grid-row:auto}.app-content{grid-area:content}.app-layout{display:grid;grid-template-areas:"header header" "sidebar content";grid-template-columns:auto 1fr;grid-template-rows:auto calc(100dvh - var(--header-height));height:100dvh;overflow:hidden;width:100dvw}.page-container{max-height:calc(100vh - var(--header-height));min-height:calc(100vh - var(--header-height))}.page-container,.page-content{display:flex;flex-direction:column}.page-content{flex:1;overflow-y:auto;padding:1.5rem 1.5rem 1rem}.page-header{align-items:center;border-bottom:var(--border);display:flex;justify-content:space-between;max-height:55px;min-height:55px;padding:0 1.5rem}@media screen and (max-width:1023px){.page-header .breadcrumbs{font-size:16px}}.footer{font-size:12px;padding:36px 0 8px;text-align:center}.portal-background{height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.iui-print-dialog{animation:fade-in .2s forwards;bottom:0;left:0;min-height:100vh;position:absolute;top:0;width:100%;z-index:2000}.iui-print-dialog>.content{background:#fefefe;padding:10px 50px 60px}.iui-print-dialog>.content p,.iui-print-dialog>.content td{font-size:10pt}.iui-print-dialog>.content h4{font-size:12pt}.iui-print-dialog>.content .name{font-size:11pt;font-weight:700;margin-bottom:5px}@media print{.iui-print-dialog .content{padding:0}}.iui-print-actions{align-items:center;background-color:#fefefe;bottom:0;box-shadow:var(--container-shadow);display:flex;height:50px;justify-content:center;left:0;position:fixed;right:0}@media print and (orientation:landscape){.print-table{width:842pt}}@media print and (orientation:portrait){.print-table{width:595pt}}.print-table thead tr{background:#f1f1f1}.print-table th{border:1px solid silver;padding:5px}.print-table th p{padding:4px 8px!important}.print-table td{border:1px solid silver;padding:3px}@media print{@page{margin:6.5mm}#root,.no-print{display:none}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}tbody td{white-space:pre-wrap!important}}.pullover{animation:fade-in .2s forwards;backdrop-filter:blur(3px);background:rgba(0,0,0,.4);display:flex;inset:0;justify-content:end;overflow:hidden;position:fixed;z-index:100}.pullover .container{background:var(--white);box-sizing:border-box;height:100%;max-width:100vw;overflow:hidden;transition:width,.2s;width:0}.pullover .container .content{padding:24px}.pullover.open .container.s{width:25vw}.pullover.open .container.m{width:50vw}.pullover.open .container.l{width:75vw}.pullover.open .container.xl{width:100vw}.pullover.closing{animation:fade-out .2s forwards}.pullover.closing .container{width:0!important}div::-webkit-scrollbar{height:13px;width:13px}div::-webkit-scrollbar-track{background-color:var(--primary-200);border-radius:100px}div::-webkit-scrollbar-thumb{background-color:var(--primary);border-radius:100px;box-shadow:inset 2px 2px 5px 0 hsla(0,0%,100%,.5)}div::-webkit-scrollbar-thumb:hover{background-color:var(--primary-600)}.iui-sidebar{--animation:0.2s cubic-bezier(0.7,0.1,0.5,1);border-right:var(--border);display:flex;flex-direction:column;height:calc(100dvh - var(--header-height));position:relative;transition:width var(--animation);width:var(--sidebar-width)}.iui-sidebar hr{margin-inline:12px}.iui-sidebar .iui-collapse-btn{align-items:center;background-color:#fff;border:1px solid var(--primary);border-radius:50%;box-sizing:border-box;display:flex;height:32px;justify-content:center;opacity:0;position:absolute;right:-16px;top:40px;transition:opacity .15s ease-in-out;width:32px;z-index:2}.iui-sidebar .iui-collapse-btn:active{transform:translateY(2px)}.iui-sidebar .iui-collapse-btn svg{color:var(--primary)}.iui-sidebar:hover .iui-collapse-btn{opacity:1}.iui-sidebar.collapsed{animation:temp-disable-pointer .2s forwards;width:var(--sidebar-collapsed-width)}.iui-sidebar.collapsed:hover{width:var(--sidebar-width)}.iui-sidebar.collapsed:not(:hover) .iui-sidebar-content{overflow:hidden}.iui-sidebar.collapsed:not(:hover) .iui-sidebar-items .iui-collapse{max-height:0!important}.iui-sidebar.collapsed:not(:hover) .item-only{padding-left:15px}.iui-sidebar.collapsed:not(:hover) .item-only .sidebar-item-label{padding-left:6px}.iui-sidebar.collapsed:not(:hover) .sidebar-footer p{font-size:10px}.iui-sidebar-content{flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.iui-sidebar-content .iui-sidebar-items{flex:1;padding:8px 0}.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item{align-items:center;display:grid;gap:8px;grid-auto-flow:column;user-select:none;white-space:pre-line;width:var(--sidebar-width)}.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item .sidebar-item-label{line-height:unset;overflow-x:hidden;text-overflow:ellipsis}.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item.active .sidebar-item-icon,.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item.active .sidebar-item-label,.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item.clickable:hover .sidebar-item-icon,.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item.clickable:hover .sidebar-item-label{color:var(--primary)}.iui-sidebar-content .iui-sidebar-items .iui-sidebar-item .sidebar-badge{align-items:center;background-color:var(--primary-200);border-radius:50px;color:var(--text);display:flex;font-size:12px;font-weight:500;height:28px;justify-content:center;width:28px}.iui-sidebar-content .iui-sidebar-items .item-only{grid-auto-columns:auto 1fr auto auto;padding:12px 20px;transition:padding var(--animation)}.iui-sidebar-content .iui-sidebar-items .item-only .sidebar-item-label{font-weight:500;transition:padding var(--animation)}.iui-sidebar-content .iui-sidebar-items .item-only .sidebar-item-icon{color:var(--text);height:24px;width:24px}.iui-sidebar-content .iui-sidebar-items .sub-item{gap:4px;grid-auto-columns:1fr auto auto;padding:8px 16px 8px 56px}.iui-sidebar-content .iui-sidebar-items .sub-item.primary .sidebar-item-label{color:var(--primary-700);font-weight:500}.iui-sidebar-content .iui-sidebar-items .sidebar-expand-icon{color:var(--text);height:16px;transition:transform .2s;width:16px}.iui-sidebar-content .iui-sidebar-items .sidebar-expand-icon.rotate{transform:rotate(180deg)}.iui-sidebar-content::-webkit-scrollbar{width:5px}.sidebar-footer{align-items:center;display:flex;flex-direction:column;gap:4px;padding:16px 0}.sidebar-footer .sidebar-logo{max-height:70px;max-width:160px;object-fit:contain;width:70%}@media screen and (max-width:1023px){.iui-collapse-btn{display:none!important}.iui-sidebar:not(:hover){width:var(--sidebar-collapsed-width)}.iui-sidebar:not(:hover) .iui-sidebar-content{overflow:hidden}.iui-sidebar:not(:hover) .iui-sidebar-items .iui-collapse{max-height:0!important}.iui-sidebar:not(:hover) .item-only{padding-left:15px}.iui-sidebar:not(:hover) .item-only .sidebar-item-label{padding-left:6px}.iui-sidebar:not(:hover) .sidebar-footer p{font-size:10px}}@media screen and (min-width:1024px){.sidebar-footer:not(.collapsed){padding:16px}}hr{border-color:var(--border-color);border-width:0 0 thin;margin:8px 0}.iui-collapse{overflow:hidden;transition:max-height .2s cubic-bezier(.4,0,.2,1)}.form-disabled{opacity:.6;pointer-events:none}.Toastify__toast{border-radius:15px!important;opacity:.95}.Toastify__toast hr{border-color:var(--white)}table{border-collapse:collapse;border-spacing:0}.iui-table thead{background-color:#f9fafb;z-index:2}.iui-table th{border-left:var(--border);border-right:var(--border);font-weight:400;padding:0}.iui-table th p{font-size:12px}.iui-table .table-container{overflow:auto}.iui-table .sticky-header{position:-webkit-sticky;position:sticky;top:0}.iui-table .border-row{background-color:#dfe1eb;box-sizing:border-box;height:1px;width:100%}.iui-table tr.clickable:hover,.iui-table tr.selected{background-color:rgba(0,0,0,.05)}.iui-table tr.focused{background-color:var(--primary-o10)}.iui-table tr.loading{opacity:.5;pointer-events:none}.iui-table td.secondary,.iui-table th.secondary{background-color:rgba(0,0,0,.04)}.iui-table td{border:var(--border);box-sizing:border-box;font-size:14px;height:52px;padding:7px 16px}.iui-table td.s{height:40px;padding:2px 16px}.iui-table td.xs{height:30px;padding:2px 16px}.iui-table .clickable-column:hover{background-color:var(--primary-o10)!important}.iui-table .table-footer{align-items:center;box-sizing:border-box;display:flex;font-size:var(--fs-m);height:52px;padding:8px;width:100%}.iui-table .pagination{align-items:center;color:rgba(0,0,0,.8);display:flex;gap:16px}.iui-table .pagination .offset-input,.iui-table .pagination p{font-size:12px!important}.iui-table .pagination p{white-space:nowrap}.iui-table .pagination .separator{background-color:rgba(0,0,0,.6);height:16px;width:1px}.iui-table .pagination select{appearance:none;background:none;border:none;color:rgba(0,0,0,.8);cursor:pointer;margin-left:8px;margin-right:16px;padding:0 8px;text-align:right;user-select:none}.iui-table .pagination .offset-input{width:40px}.iui-table .pagination .offset-input input{font-size:12px!important;height:24px;padding:0 5px;text-align:center}@media screen and (max-width:500px){.iui-table .pagination{align-items:end;flex-direction:column}}@media screen and (orientation:portrait){.iui-table tbody,.iui-table tr{display:block}.iui-table tr{padding:20px 0}.iui-table td{align-items:center;display:flex;height:unset!important;text-align:left}.iui-table thead{display:none}.iui-table tbody tr td:before{content:attr(data-th);font-weight:700;padding-right:10px;text-align:left}}.iui-table-filter .iui-dialog-content{margin:8px 0;padding:0}.iui-table-filter .filters-search{align-items:center;display:flex;gap:8px;justify-content:space-between}.iui-table-filter .filters-search .search-input{max-width:250px}.iui-table-filter .table-filter-item{align-items:center;display:flex;justify-content:space-between;padding:8px 16px}.iui-table-filter .table-filter-item .field{flex:1}.dual-list-container .dual-list-content{display:grid;gap:12px;grid-template-columns:1fr auto 1fr}.dual-list-container .list-box{border:var(--border);border-radius:16px;padding:10px;user-select:none}.dual-list-container .list-box>.item{align-items:center;display:flex;font-size:12px;justify-content:space-between;padding:8px}.dual-list-container .list-box>.item svg{color:rgba(0,0,0,.6);margin-left:1rem}.dual-list-container .list-box>.item:hover{background-color:var(--primary-o10)}.dual-list-container .list-box>.item:active{background-color:var(--primary-o25)}.dual-list-container .exchange-icon{align-items:center;display:flex}.dual-list-container .exchange-icon svg{height:20px;width:20px}.edit-row{background:var(--neutral-100)}.edit-row td{padding:4px!important}.edit-row .iui-input-wrapper-field{border:none;border-radius:0;box-shadow:none!important}.primary-row{background-color:rgba(var(--primary-rgb),.15)}.secondary-row{background-color:#f1f1f1}.table-options{align-items:center;display:flex;justify-content:space-between;padding:8px}.iui-tabs{border-bottom:var(--border);display:flex;overflow:auto;padding-bottom:4px}.iui-tabs::-webkit-scrollbar{height:5px}.iui-tab{align-items:center;border-bottom:2px solid #fff;color:var(--neutral-400);display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 12px 8px;user-select:none}.iui-tab svg{font-size:15px}.iui-tab:hover:not(.disabled){color:var(--text)}.iui-tab.selected:not(.disabled){border-color:var(--primary);color:var(--primary)}.iui-tab-content{padding:8px}.tooltip-container{background:var(--neutral-700);border-radius:8px;color:var(--text-inverse);font-size:12px;font-weight:700;padding:8px 16px;position:fixed;text-align:center;transition:opacity .3s;z-index:1001}.tooltip-container:not(.visible){opacity:0;visibility:hidden}.tooltip{height:100%;position:relative;white-space:pre-line}.tooltip .arrow{border:8px solid var(--neutral-700);position:absolute;z-index:1001}.tooltip .arrow.top{border-color:var(--neutral-700) transparent transparent transparent;left:calc(50% - 8px);top:calc(100% + 8px)}.tooltip .arrow.bottom{border-color:transparent transparent var(--neutral-700) transparent;bottom:calc(100% + 8px);left:calc(50% - 8px)}.tooltip .arrow.left{border-color:transparent transparent transparent var(--neutral-700);left:calc(100% + 16px);top:calc(50% - 8px)}.tooltip .arrow.right{border-color:transparent var(--neutral-700) transparent transparent;right:calc(100% + 16px);top:calc(50% - 8px)}.tree-item{min-height:28px;padding:4px 0}.tree-item .extendable-icon{width:28px}.tree-item .extendable-icon .rotate{transition:all .2s cubic-bezier(.4,0,.2,1)}.tree-item .extendable-icon .rotate.rotate90{transform:rotate(90deg)}.tree-item .tree-item-name{padding:4px}.tree-item .tree-item-name.active,.tree-item .tree-item-name:hover{background-color:var(--primary-o25);border-radius:4px}.widget-container{display:grid;gap:60px;grid-auto-flow:dense;grid-template-columns:1fr 1fr 1fr 1fr}.widget-container .grid-span2{grid-column:span 2}.widget-container .grid-span3{grid-column:span 3}.widget-container .grid-span4{grid-column:span 4}@media (min-width:1500px) and (max-width:1800px){.widget-container{grid-template-columns:1fr 1fr 1fr}.widget-container .grid-span4{grid-column:span 3}}@media (min-width:1150px) and (max-width:1499px){.widget-container{grid-template-columns:1fr 1fr}.widget-container .grid-span3,.widget-container .grid-span4{grid-column:span 2}}@media (max-width:1149px){.widget-container{display:flex;flex-direction:column;gap:30px}}.dashboard-widget{background:var(--white);border-radius:var(--container-radius);box-shadow:var(--container-shadow);color:#000;padding:30px;width:inherit}.dashboard-widget h1{margin:15px 0}.dashboard-widget .widget-icon{align-items:center;background-color:var(--primary-o10);border-radius:10px;color:var(--primary);display:flex;height:48px;justify-content:center;width:48px}.dashboard-widget .widget-icon svg{height:22px;width:22px}.dashboard-widget.warning{border:10px solid var(--warning);padding:20px}.dashboard-widget.warning .widget-icon{color:var(--danger)}.dashboard-widget.info{border:10px solid var(--primary);padding:20px}.short-links-widget{font-size:var(--fs-m)}.short-links-widget ul{display:grid;list-style-type:none;margin:0;padding:0}.short-links-widget ul li{margin:0;padding:15px 5px}.short-links-widget ul li:hover{background-color:rgba(0,0,0,.05)}.short-links-widget ul li:not(:last-child){border-bottom:1px solid silver}#content{align-self:center;display:flex;flex-direction:column;gap:24px;grid-area:content}#img{align-self:flex-end;grid-area:img;width:100%}#actions{align-self:flex-start;grid-area:actions;padding-top:24px}.full-screen-page{align-content:center;align-items:center;display:grid;gap:32px;grid-template-areas:"content img" "actions .";grid-template-columns:1fr 1fr;height:100dvh;padding:64px 128px;width:100dvw}.img-403{color:var(--danger);font-size:200px;font-weight:700;text-align:center}@media screen and (max-width:500px){.full-screen-page{grid-template-areas:"img" "content" "actions";grid-template-columns:1fr;grid-template-rows:1fr 1fr auto;padding:16px}#content{align-self:flex-start;gap:16px}#actions{align-self:flex-end}.iui-btn{width:100%}.img-403{font-size:150px}}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import '@oddbird/popover-polyfill';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import {
|
|
4
|
+
forwardRef,
|
|
5
|
+
ReactNode,
|
|
6
|
+
RefObject,
|
|
7
|
+
useEffect,
|
|
8
|
+
useImperativeHandle,
|
|
9
|
+
useRef,
|
|
10
|
+
useState,
|
|
11
|
+
} from 'react';
|
|
12
|
+
import { IMenuItem, MenuItem } from './MenuItem';
|
|
13
|
+
|
|
14
|
+
export type MenuPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
15
|
+
|
|
16
|
+
interface Props {
|
|
17
|
+
id: string;
|
|
18
|
+
renderButton: (ref: RefObject<any>) => ReactNode;
|
|
19
|
+
items?: IMenuItem[];
|
|
20
|
+
placement?: MenuPlacement;
|
|
21
|
+
size?: 's' | 'm' | 'l';
|
|
22
|
+
className?: string;
|
|
23
|
+
classNameItem?: string;
|
|
24
|
+
children?: ReactNode;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface MenuHandle {
|
|
28
|
+
isOpen: boolean;
|
|
29
|
+
handleOpen: () => void;
|
|
30
|
+
handleClose: () => void;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const Menu = forwardRef<MenuHandle, Props>(
|
|
34
|
+
(
|
|
35
|
+
{
|
|
36
|
+
id,
|
|
37
|
+
renderButton,
|
|
38
|
+
items,
|
|
39
|
+
placement = 'bottom-left',
|
|
40
|
+
size,
|
|
41
|
+
className,
|
|
42
|
+
classNameItem,
|
|
43
|
+
children,
|
|
44
|
+
},
|
|
45
|
+
ref
|
|
46
|
+
) => {
|
|
47
|
+
const buttonRef = useRef<Element>(null);
|
|
48
|
+
const popoverRef = useRef<HTMLDivElement>(null);
|
|
49
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
50
|
+
|
|
51
|
+
// Anchor button setup
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (buttonRef.current) {
|
|
54
|
+
buttonRef.current.setAttribute('popovertarget', id);
|
|
55
|
+
buttonRef.current.setAttribute('anchor-name', `--${id}`);
|
|
56
|
+
}
|
|
57
|
+
}, [id]);
|
|
58
|
+
|
|
59
|
+
// Sync open/close state based on native popover behavior
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
const popover = popoverRef.current;
|
|
62
|
+
if (!popover) return;
|
|
63
|
+
|
|
64
|
+
const handleToggle = () => {
|
|
65
|
+
setIsOpen(popover.matches(':open'));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
popover.addEventListener('toggle', handleToggle);
|
|
69
|
+
return () => {
|
|
70
|
+
popover.removeEventListener('toggle', handleToggle);
|
|
71
|
+
};
|
|
72
|
+
}, []);
|
|
73
|
+
|
|
74
|
+
// Expose public API via ref
|
|
75
|
+
useImperativeHandle(
|
|
76
|
+
ref,
|
|
77
|
+
() => ({
|
|
78
|
+
isOpen,
|
|
79
|
+
handleOpen: () => popoverRef.current?.showPopover?.(),
|
|
80
|
+
handleClose: () => popoverRef.current?.hidePopover?.(),
|
|
81
|
+
}),
|
|
82
|
+
[isOpen]
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
return (
|
|
86
|
+
<>
|
|
87
|
+
{renderButton(buttonRef)}
|
|
88
|
+
<div
|
|
89
|
+
ref={popoverRef}
|
|
90
|
+
role="menu"
|
|
91
|
+
popover="auto"
|
|
92
|
+
className={clsx('iui-menu', size, placement, className)}
|
|
93
|
+
id={id}
|
|
94
|
+
>
|
|
95
|
+
{!!items?.length && (
|
|
96
|
+
<div>
|
|
97
|
+
{items.map(item => (
|
|
98
|
+
<MenuItem
|
|
99
|
+
key={item.label}
|
|
100
|
+
{...item}
|
|
101
|
+
className={classNameItem}
|
|
102
|
+
onClick={e => {
|
|
103
|
+
item.onClick?.(e);
|
|
104
|
+
if (!item.keepOpen) {
|
|
105
|
+
popoverRef.current?.hidePopover?.();
|
|
106
|
+
}
|
|
107
|
+
}}
|
|
108
|
+
/>
|
|
109
|
+
))}
|
|
110
|
+
</div>
|
|
111
|
+
)}
|
|
112
|
+
{children}
|
|
113
|
+
</div>
|
|
114
|
+
</>
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
Menu.displayName = 'Menu';
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { IconDefinition, RotateProp } from '@fortawesome/fontawesome-svg-core';
|
|
2
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { MouseEventHandler, ReactNode, forwardRef } from 'react';
|
|
5
|
+
import { ConditionalWrapper } from '../Wrappers/ConditionalWrapper';
|
|
6
|
+
import { Link } from 'react-router';
|
|
7
|
+
import { NotificationBadge } from '../Badge/NotificationBadge';
|
|
8
|
+
|
|
9
|
+
export interface IMenuItem {
|
|
10
|
+
label: string;
|
|
11
|
+
icon?: IconDefinition;
|
|
12
|
+
iconRotation?: RotateProp;
|
|
13
|
+
onClick?: MouseEventHandler<HTMLDivElement>;
|
|
14
|
+
to?: string;
|
|
15
|
+
badge?: number;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
hidden?: boolean;
|
|
18
|
+
withDevider?: boolean;
|
|
19
|
+
keepOpen?: boolean;
|
|
20
|
+
className?: string;
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export const MenuItem = forwardRef<HTMLDivElement, IMenuItem>(
|
|
24
|
+
(
|
|
25
|
+
{
|
|
26
|
+
label,
|
|
27
|
+
icon,
|
|
28
|
+
iconRotation,
|
|
29
|
+
onClick,
|
|
30
|
+
to,
|
|
31
|
+
badge,
|
|
32
|
+
disabled,
|
|
33
|
+
hidden,
|
|
34
|
+
withDevider,
|
|
35
|
+
className,
|
|
36
|
+
children,
|
|
37
|
+
},
|
|
38
|
+
ref
|
|
39
|
+
) =>
|
|
40
|
+
hidden ? null : (
|
|
41
|
+
<div ref={ref}>
|
|
42
|
+
<ConditionalWrapper
|
|
43
|
+
key={label}
|
|
44
|
+
condition={!disabled && !!to}
|
|
45
|
+
wrapper={children => <Link to={to!}>{children}</Link>}
|
|
46
|
+
>
|
|
47
|
+
<div
|
|
48
|
+
// className="flex align-center gap-1"
|
|
49
|
+
className={clsx(className, {
|
|
50
|
+
'iui-menu-item': !className,
|
|
51
|
+
clickable: !!onClick || !!to,
|
|
52
|
+
disabled,
|
|
53
|
+
'with-devider': withDevider,
|
|
54
|
+
})}
|
|
55
|
+
onClick={disabled ? undefined : onClick}
|
|
56
|
+
>
|
|
57
|
+
{icon && (
|
|
58
|
+
<div className="menu-item-icon">
|
|
59
|
+
<FontAwesomeIcon icon={icon} rotation={iconRotation} />
|
|
60
|
+
</div>
|
|
61
|
+
)}
|
|
62
|
+
{!!badge ? (
|
|
63
|
+
<NotificationBadge number={badge} small className="menu-item-badge">
|
|
64
|
+
<p>{label}</p>
|
|
65
|
+
</NotificationBadge>
|
|
66
|
+
) : (
|
|
67
|
+
<p className="menu-item-label">{label}</p>
|
|
68
|
+
)}
|
|
69
|
+
{children}
|
|
70
|
+
</div>
|
|
71
|
+
</ConditionalWrapper>
|
|
72
|
+
</div>
|
|
73
|
+
)
|
|
74
|
+
);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import { MenuHandle } from '../Menu';
|
|
3
|
+
|
|
4
|
+
export const useMenuControl = () => {
|
|
5
|
+
const menuRef = useRef<MenuHandle>(null);
|
|
6
|
+
|
|
7
|
+
return {
|
|
8
|
+
menuRef,
|
|
9
|
+
isOpen: menuRef.current?.isOpen,
|
|
10
|
+
onOpen: () => menuRef.current?.handleOpen?.(),
|
|
11
|
+
onClose: () => menuRef.current?.handleClose?.(),
|
|
12
|
+
};
|
|
13
|
+
};
|
package/idea/Menu.tsx
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import clsx from 'clsx';
|
|
2
|
+
import {
|
|
3
|
+
FC,
|
|
4
|
+
ReactNode,
|
|
5
|
+
RefObject,
|
|
6
|
+
useCallback,
|
|
7
|
+
useEffect,
|
|
8
|
+
useRef,
|
|
9
|
+
useState,
|
|
10
|
+
} from 'react';
|
|
11
|
+
import { createPortal } from 'react-dom';
|
|
12
|
+
import { rootDir } from '../src/utils/RootDir';
|
|
13
|
+
|
|
14
|
+
interface Props {
|
|
15
|
+
isOpen: boolean;
|
|
16
|
+
onClose: () => void;
|
|
17
|
+
renderButton: (ref: RefObject<any>) => ReactNode;
|
|
18
|
+
placementX?: 'left' | 'right';
|
|
19
|
+
placementY?: 'bottom' | 'top' | 'auto';
|
|
20
|
+
size?: 's' | 'm' | 'l';
|
|
21
|
+
className?: string;
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface Offsets {
|
|
26
|
+
offsetTop: number;
|
|
27
|
+
offsetLeft: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export const Menu: FC<Props> = ({
|
|
31
|
+
isOpen,
|
|
32
|
+
onClose,
|
|
33
|
+
renderButton,
|
|
34
|
+
placementX,
|
|
35
|
+
placementY = 'auto',
|
|
36
|
+
size,
|
|
37
|
+
className,
|
|
38
|
+
children,
|
|
39
|
+
}) => {
|
|
40
|
+
const menuRef = useRef<HTMLDivElement>(null);
|
|
41
|
+
const portalRef = useRef<HTMLDivElement>(null);
|
|
42
|
+
const containerRef = useRef<Element>(null);
|
|
43
|
+
const [offsets, setOffsets] = useState<Offsets>({
|
|
44
|
+
offsetLeft: 0,
|
|
45
|
+
offsetTop: 0,
|
|
46
|
+
});
|
|
47
|
+
const [maxHeight, setMaxHeight] = useState<number>();
|
|
48
|
+
|
|
49
|
+
const recalculatePosition = useCallback(() => {
|
|
50
|
+
if (containerRef.current && menuRef.current) {
|
|
51
|
+
const containerRect = containerRef.current.getBoundingClientRect();
|
|
52
|
+
const menuRect = menuRef.current.getBoundingClientRect();
|
|
53
|
+
|
|
54
|
+
let offsetTop = containerRect.bottom + 5;
|
|
55
|
+
// let offsetTop = containerRect.bottom + document.documentElement.scrollTop + 5;
|
|
56
|
+
|
|
57
|
+
const offsetLeft =
|
|
58
|
+
containerRect.left +
|
|
59
|
+
(placementX === 'right' ? containerRect.width - menuRect.width : 0);
|
|
60
|
+
// + document.documentElement.scrollLeft;
|
|
61
|
+
|
|
62
|
+
if (placementY === 'bottom') {
|
|
63
|
+
setMaxHeight(window.innerHeight - containerRect.bottom - 20);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (placementY === 'top') {
|
|
67
|
+
setMaxHeight(
|
|
68
|
+
window.innerHeight - containerRect.top + 40
|
|
69
|
+
// - 2 * document.documentElement.scrollTop
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// check for space on the bottom
|
|
74
|
+
if (
|
|
75
|
+
(placementY === 'auto' && offsetTop + menuRect.height > window.innerHeight) ||
|
|
76
|
+
placementY === 'top'
|
|
77
|
+
) {
|
|
78
|
+
offsetTop = containerRect.top - menuRect.height - 5; //+ document.documentElement.scrollTop
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
setOffsets({ offsetTop, offsetLeft });
|
|
82
|
+
}
|
|
83
|
+
}, [menuRef, containerRef, placementX, placementY]);
|
|
84
|
+
|
|
85
|
+
useEffect(() => {
|
|
86
|
+
isOpen
|
|
87
|
+
? window.addEventListener('resize', recalculatePosition)
|
|
88
|
+
: window.removeEventListener('resize', recalculatePosition);
|
|
89
|
+
// Disable scroll & fix page resize on menu open
|
|
90
|
+
document.body.style.marginRight =
|
|
91
|
+
isOpen && window.innerWidth > document.body.clientWidth ? '19px' : '';
|
|
92
|
+
// document.body.style.overflow = isOpen ? 'hidden' : '';
|
|
93
|
+
|
|
94
|
+
recalculatePosition();
|
|
95
|
+
return () => {
|
|
96
|
+
window.removeEventListener('resize', recalculatePosition);
|
|
97
|
+
};
|
|
98
|
+
}, [isOpen, recalculatePosition]);
|
|
99
|
+
|
|
100
|
+
useEffect(() => {
|
|
101
|
+
const portal = portalRef.current;
|
|
102
|
+
const handleClick = (ev: MouseEvent) => ev.target === portal && onClose();
|
|
103
|
+
isOpen
|
|
104
|
+
? portal?.addEventListener('click', handleClick)
|
|
105
|
+
: portal?.removeEventListener('click', handleClick);
|
|
106
|
+
return () => portal?.removeEventListener('click', handleClick);
|
|
107
|
+
}, [isOpen, onClose]);
|
|
108
|
+
|
|
109
|
+
return (
|
|
110
|
+
<>
|
|
111
|
+
{renderButton(containerRef)}
|
|
112
|
+
{isOpen
|
|
113
|
+
? createPortal(
|
|
114
|
+
<div ref={portalRef} className="portal-background">
|
|
115
|
+
<div
|
|
116
|
+
ref={menuRef}
|
|
117
|
+
className={clsx('iui-menu', className, size)}
|
|
118
|
+
style={{
|
|
119
|
+
top: offsets.offsetTop + 'px',
|
|
120
|
+
left: offsets.offsetLeft + 'px',
|
|
121
|
+
maxHeight: maxHeight || undefined,
|
|
122
|
+
}}
|
|
123
|
+
>
|
|
124
|
+
{children}
|
|
125
|
+
</div>
|
|
126
|
+
</div>,
|
|
127
|
+
rootDir
|
|
128
|
+
)
|
|
129
|
+
: null}
|
|
130
|
+
</>
|
|
131
|
+
);
|
|
132
|
+
};
|