@inceptionbg/iui 2.0.5 → 2.0.7

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.
Files changed (257) hide show
  1. package/dist/{NoAccessPage-C6nBt-PN.js → NoAccessPage-BozT_Suz.js} +2 -2
  2. package/dist/{NoAccessPage-C6nBt-PN.js.map → NoAccessPage-BozT_Suz.js.map} +1 -1
  3. package/dist/{NotFoundPage-DatmJOrr.js → NotFoundPage-WWiekDef.js} +2 -2
  4. package/dist/{NotFoundPage-DatmJOrr.js.map → NotFoundPage-WWiekDef.js.map} +1 -1
  5. package/dist/icons/index.d.ts +43 -0
  6. package/dist/icons/index.js +1 -0
  7. package/dist/index.d.ts +32 -20
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/iui.css +1 -1
  11. package/idea/Menu/Menu.tsx +119 -0
  12. package/idea/Menu/MenuItem.tsx +74 -0
  13. package/idea/Menu/hooks/useMenuControl.ts +13 -0
  14. package/idea/Menu.tsx +132 -0
  15. package/idea/NoAccessInfo.tsx +193 -0
  16. package/idea/Notifications.tsx +245 -0
  17. package/idea/Table2/Components/Columns/ColumnsList.tsx +56 -0
  18. package/idea/Table2/Components/Columns/SetColumnsList.tsx +107 -0
  19. package/idea/Table2/Components/Edit/ItemActionsMenu.tsx +87 -0
  20. package/idea/Table2/Components/Edit/ItemEditOptionsButtons.tsx +32 -0
  21. package/idea/Table2/Components/Edit/TableEditRow.tsx +56 -0
  22. package/idea/Table2/Components/FilterItem.tsx +20 -0
  23. package/idea/Table2/Components/Header/TableHeader.tsx +35 -0
  24. package/idea/Table2/Components/Header/TableHeaderRow.tsx +37 -0
  25. package/idea/Table2/Components/Print/CustomTablePrint.tsx +119 -0
  26. package/idea/Table2/Components/Print/TablePrint.tsx +208 -0
  27. package/idea/Table2/Components/SetSortList.tsx +33 -0
  28. package/idea/Table2/Components/SetTableFilter.tsx +90 -0
  29. package/idea/Table2/Components/TableFooter.tsx +107 -0
  30. package/idea/Table2/Components/TableOptions.tsx +211 -0
  31. package/idea/Table2/Components/Templates/TemplateCreate.tsx +75 -0
  32. package/idea/Table2/Components/Templates/TemplateCreateDefault.tsx +45 -0
  33. package/idea/Table2/Components/Templates/TemplateList.tsx +167 -0
  34. package/idea/Table2/Components/Templates/repo/TemplateRepo.ts +51 -0
  35. package/idea/Table2/Table.tsx +657 -0
  36. package/idea/Table2/_table.scss +300 -0
  37. package/idea/Table2/hooks/useDefaultTemplate.ts +22 -0
  38. package/idea/Table2/hooks/useTableKeyboard.ts +115 -0
  39. package/package.json +9 -4
  40. package/rollup.config.js +80 -0
  41. package/src/assets/icons/duotone/faCircleUser.ts +17 -0
  42. package/src/assets/icons/index.ts +20 -0
  43. package/src/assets/icons/light/faArrowDownShortWide.ts +15 -0
  44. package/src/assets/icons/light/faArrowDownWideShort.ts +15 -0
  45. package/src/assets/icons/light/faArrowUpArrowDown.ts +15 -0
  46. package/src/assets/icons/light/faArrowUpRightFromSquare.ts +15 -0
  47. package/src/assets/icons/light/faArrowsToLine.ts +15 -0
  48. package/src/assets/icons/light/faArrowsUpDown.ts +15 -0
  49. package/src/assets/icons/light/faCalendarPlus.ts +15 -0
  50. package/src/assets/icons/light/faCheck.ts +15 -0
  51. package/src/assets/icons/light/faChevronDown.ts +15 -0
  52. package/src/assets/icons/light/faChevronRight.ts +15 -0
  53. package/src/assets/icons/light/faCircleInfo.ts +15 -0
  54. package/src/assets/icons/light/faCircleXmark.ts +15 -0
  55. package/src/assets/icons/light/faClockRotateLeft.ts +15 -0
  56. package/src/assets/icons/light/faEllipsisVertical.ts +15 -0
  57. package/src/assets/icons/light/faEye.ts +15 -0
  58. package/src/assets/icons/light/faEyeSlash.ts +15 -0
  59. package/src/assets/icons/light/faFilter.ts +15 -0
  60. package/src/assets/icons/light/faGear.ts +15 -0
  61. package/src/assets/icons/light/faHouse.ts +15 -0
  62. package/src/assets/icons/light/faIdBadge.ts +15 -0
  63. package/src/assets/icons/light/faLineColumns.ts +15 -0
  64. package/src/assets/icons/light/faLink.ts +15 -0
  65. package/src/assets/icons/light/faMagnifyingGlass.ts +15 -0
  66. package/src/assets/icons/light/faPenField.ts +15 -0
  67. package/src/assets/icons/light/faPrint.ts +15 -0
  68. package/src/assets/icons/light/faQuestion.ts +15 -0
  69. package/src/assets/icons/light/faRotateRight.ts +15 -0
  70. package/src/assets/icons/light/faTrashCan.ts +15 -0
  71. package/src/assets/icons/light/faTriangleExclamation.ts +15 -0
  72. package/src/assets/icons/light/faXmark.ts +15 -0
  73. package/src/assets/icons/regular/faArrowLeft.ts +15 -0
  74. package/src/assets/icons/regular/faArrowRightArrowLeft.ts +15 -0
  75. package/src/assets/icons/regular/faCircleCheck.ts +15 -0
  76. package/src/assets/icons/regular/faCircleExclamation.ts +15 -0
  77. package/src/assets/icons/regular/faCircleInfo.ts +15 -0
  78. package/src/assets/icons/regular/faFileArrowDown.ts +15 -0
  79. package/src/assets/icons/regular/faFilterCircleXmark.ts +15 -0
  80. package/src/assets/icons/regular/faTriangleExclamation.ts +15 -0
  81. package/src/assets/icons/solid/faAngleLeft.ts +15 -0
  82. package/src/assets/icons/solid/faAngleRight.ts +15 -0
  83. package/src/assets/icons/solid/faArrowDownWideShort.ts +15 -0
  84. package/src/assets/icons/solid/faCaretDown.ts +15 -0
  85. package/src/assets/icons/solid/faCheck.ts +15 -0
  86. package/src/assets/icons/solid/faEllipsisVertical.ts +15 -0
  87. package/src/assets/icons/solid/faFilter.ts +15 -0
  88. package/src/assets/icons/solid/faFloppyDisk.ts +15 -0
  89. package/src/assets/icons/solid/faGripDotsVertical.ts +15 -0
  90. package/src/assets/icons/solid/faListUl.ts +15 -0
  91. package/src/assets/icons/solid/faMagnifyingGlass.ts +15 -0
  92. package/src/assets/icons/solid/faMinus.ts +15 -0
  93. package/src/assets/icons/solid/faPlus.ts +15 -0
  94. package/src/assets/icons/solid/faPrint.ts +15 -0
  95. package/src/assets/icons/solid/faRotateRight.ts +15 -0
  96. package/src/assets/icons/solid/faXmark.ts +15 -0
  97. package/src/assets/images/logo/mts.svg +5703 -0
  98. package/src/assets/images/logo/paperless.svg +21 -0
  99. package/src/assets/images/logo/pismonosa.png +0 -0
  100. package/src/assets/images/not-found.svg +19 -0
  101. package/src/components/Accordions/Accordions.tsx +64 -0
  102. package/src/components/Alert/Alert.tsx +31 -0
  103. package/src/components/Badge/DotBadge.tsx +16 -0
  104. package/src/components/Badge/NotificationBadge.tsx +29 -0
  105. package/src/components/Badge/PillBadge.tsx +13 -0
  106. package/src/components/Button/Button.tsx +56 -0
  107. package/src/components/Button/IconButton.tsx +49 -0
  108. package/src/components/Dashboard/Dashboard.tsx +9 -0
  109. package/src/components/Dashboard/DashboardWidget.tsx +44 -0
  110. package/src/components/Dashboard/FastLinksWidget/FastLinksWidget.tsx +37 -0
  111. package/src/components/Dialog/DeleteItemDialog.tsx +52 -0
  112. package/src/components/Dialog/Dialog.tsx +226 -0
  113. package/src/components/Dialog/hooks/useDialogKeyboard.ts +41 -0
  114. package/src/components/Dialog/hooks/useDialogObserver.ts +21 -0
  115. package/src/components/Header/Components/ModuleSelect.tsx +55 -0
  116. package/src/components/Header/Components/UserMenu.tsx +52 -0
  117. package/src/components/Header/Header.tsx +31 -0
  118. package/src/components/Helper/Collapse.tsx +52 -0
  119. package/src/components/Inputs/Checkbox.tsx +53 -0
  120. package/src/components/Inputs/CurrencyInput.tsx +123 -0
  121. package/src/components/Inputs/DateInput/DateInput.tsx +177 -0
  122. package/src/components/Inputs/DateInput/components/DatePartInput.tsx +154 -0
  123. package/src/components/Inputs/InputWrapper.tsx +90 -0
  124. package/src/components/Inputs/NumberInput.tsx +83 -0
  125. package/src/components/Inputs/PasswordInput.tsx +38 -0
  126. package/src/components/Inputs/Radio.tsx +59 -0
  127. package/src/components/Inputs/RadioGroup.tsx +48 -0
  128. package/src/components/Inputs/RadioLarge.tsx +39 -0
  129. package/src/components/Inputs/SearchInput.tsx +40 -0
  130. package/src/components/Inputs/Select2/Select.tsx +224 -0
  131. package/src/components/Inputs/Select2/select.scss +43 -0
  132. package/src/components/Inputs/Selects/Select.tsx +17 -0
  133. package/src/components/Inputs/Selects/components/CustomSelectComponents.tsx +19 -0
  134. package/src/components/Inputs/Selects/components/SelectWrapper.tsx +126 -0
  135. package/src/components/Inputs/Selects/utils/selectStyles.ts +104 -0
  136. package/src/components/Inputs/TextAreaInput.tsx +67 -0
  137. package/src/components/Inputs/TextInput.tsx +98 -0
  138. package/src/components/Inputs/TimeInput/TimeInput.tsx +81 -0
  139. package/src/components/Loader/Loader.tsx +53 -0
  140. package/src/components/Menu/Menu.tsx +68 -0
  141. package/src/components/Menu/MenuItem.tsx +47 -0
  142. package/src/components/Menu/NewMenu.tsx +66 -0
  143. package/src/components/Menu/hooks/useMenuPosition.tsx +80 -0
  144. package/src/components/Pullover/Pullover.tsx +89 -0
  145. package/src/components/Router/Router.tsx +51 -0
  146. package/src/components/Sidebar/AddButton.tsx +22 -0
  147. package/src/components/Sidebar/Sidebar.tsx +81 -0
  148. package/src/components/Sidebar/SidebarItem.tsx +84 -0
  149. package/src/components/Sidebar/types/ISidebar.ts +28 -0
  150. package/src/components/Table/Components/Columns/ColumnsList.tsx +61 -0
  151. package/src/components/Table/Components/Columns/SetColumnsList.tsx +113 -0
  152. package/src/components/Table/Components/Edit/ItemActionsMenu.tsx +84 -0
  153. package/src/components/Table/Components/Edit/ItemEditOptionsButtons.tsx +31 -0
  154. package/src/components/Table/Components/Edit/TableEditRow.tsx +56 -0
  155. package/src/components/Table/Components/FilterItem.tsx +20 -0
  156. package/src/components/Table/Components/Header/TableHeader.tsx +45 -0
  157. package/src/components/Table/Components/Header/TableHeaderRow.tsx +37 -0
  158. package/src/components/Table/Components/Print/CustomTablePrint.tsx +114 -0
  159. package/src/components/Table/Components/Print/TablePrint.tsx +207 -0
  160. package/src/components/Table/Components/SetSortList.tsx +30 -0
  161. package/src/components/Table/Components/SetTableFilter.tsx +90 -0
  162. package/src/components/Table/Components/TableFooter.tsx +135 -0
  163. package/src/components/Table/Components/TableOptions.tsx +226 -0
  164. package/src/components/Table/Components/Templates/TemplateCreate.tsx +80 -0
  165. package/src/components/Table/Components/Templates/TemplateCreateDefault.tsx +45 -0
  166. package/src/components/Table/Components/Templates/TemplateList.tsx +167 -0
  167. package/src/components/Table/Components/Templates/repo/TemplateRepo.ts +53 -0
  168. package/src/components/Table/Table.tsx +527 -0
  169. package/src/components/Table/hooks/useDefaultTemplate.ts +20 -0
  170. package/src/components/Table/hooks/useTableKeyboard.ts +138 -0
  171. package/src/components/Table/hooks/useTableSelect.ts +11 -0
  172. package/src/components/Tabs/Tabs.tsx +66 -0
  173. package/src/components/Tooltip/Tooltip.tsx +133 -0
  174. package/src/components/Tree/Tree.tsx +22 -0
  175. package/src/components/Tree/TreeItem.tsx +56 -0
  176. package/src/components/Wrappers/AppLayout.tsx +17 -0
  177. package/src/components/Wrappers/ConditionalWrapper.tsx +10 -0
  178. package/src/components/Wrappers/FormWrapper.tsx +81 -0
  179. package/src/components/Wrappers/PageLayout.tsx +152 -0
  180. package/src/hooks/useBackgroundClose.ts +18 -0
  181. package/src/hooks/useIsMenuOpen.ts +11 -0
  182. package/src/hooks/useOnEsc.ts +14 -0
  183. package/src/hooks/useZendesk.ts +21 -0
  184. package/src/index.ts +324 -0
  185. package/src/pages/NoAccessPage.tsx +27 -0
  186. package/src/pages/NotFoundPage.tsx +26 -0
  187. package/src/styles/App.scss +43 -0
  188. package/src/styles/common/_animations.scss +64 -0
  189. package/src/styles/common/_typography.scss +88 -0
  190. package/src/styles/common/helpers/_base.scss +55 -0
  191. package/src/styles/common/helpers/_color.scss +7 -0
  192. package/src/styles/common/helpers/_display.scss +85 -0
  193. package/src/styles/common/helpers/_size.scss +25 -0
  194. package/src/styles/common/maps/_align.scss +21 -0
  195. package/src/styles/common/maps/_info-types.scss +1 -0
  196. package/src/styles/common/maps/_spacing.scss +78 -0
  197. package/src/styles/common/maps/_text.scss +14 -0
  198. package/src/styles/components/_accordions.scss +46 -0
  199. package/src/styles/components/_alert.scss +23 -0
  200. package/src/styles/components/_badge.scss +76 -0
  201. package/src/styles/components/_button.scss +138 -0
  202. package/src/styles/components/_card.scss +24 -0
  203. package/src/styles/components/_dialog.scss +111 -0
  204. package/src/styles/components/_form.scss +8 -0
  205. package/src/styles/components/_header.scss +109 -0
  206. package/src/styles/components/_input.scss +158 -0
  207. package/src/styles/components/_inputCheckbox.scss +105 -0
  208. package/src/styles/components/_inputDateTime.scss +161 -0
  209. package/src/styles/components/_inputRadio.scss +83 -0
  210. package/src/styles/components/_inputSelect.scss +6 -0
  211. package/src/styles/components/_loader.scss +44 -0
  212. package/src/styles/components/_menu-v2.scss +67 -0
  213. package/src/styles/components/_menu.scss +53 -0
  214. package/src/styles/components/_page.scss +62 -0
  215. package/src/styles/components/_portal.scss +8 -0
  216. package/src/styles/components/_print.scss +87 -0
  217. package/src/styles/components/_pullover.scss +43 -0
  218. package/src/styles/components/_scrollbar.scss +18 -0
  219. package/src/styles/components/_sidebar.scss +206 -0
  220. package/src/styles/components/_smallComponents.scss +23 -0
  221. package/src/styles/components/_table.scss +270 -0
  222. package/src/styles/components/_tabs.scss +33 -0
  223. package/src/styles/components/_tooltip.scss +48 -0
  224. package/src/styles/components/_tree.scss +21 -0
  225. package/src/styles/components/_widget.scss +90 -0
  226. package/src/styles/pages/_fullScreenPage.scss +64 -0
  227. package/src/styles/variables/_bp.scss +5 -0
  228. package/src/styles/variables/_variables.scss +130 -0
  229. package/src/types/Base/custom.d.ts +9 -0
  230. package/src/types/IBasic.ts +31 -0
  231. package/src/types/IError.ts +5 -0
  232. package/src/types/IHeader.ts +34 -0
  233. package/src/types/IInfo.ts +1 -0
  234. package/src/types/IKeyboard.ts +37 -0
  235. package/src/types/IMenu.ts +18 -0
  236. package/src/types/IRouter.ts +6 -0
  237. package/src/types/ISelect.ts +52 -0
  238. package/src/types/ITab.ts +10 -0
  239. package/src/types/ITable.ts +249 -0
  240. package/src/types/ITree.ts +6 -0
  241. package/src/utils/DateUtils.ts +32 -0
  242. package/src/utils/InputPatternValidation.ts +12 -0
  243. package/src/utils/LocalStorageHelper.ts +24 -0
  244. package/src/utils/NumberUtils.ts +21 -0
  245. package/src/utils/ObjectUtils.ts +85 -0
  246. package/src/utils/RootDir.ts +1 -0
  247. package/src/utils/StringUtils.ts +18 -0
  248. package/src/utils/TableUtils.ts +130 -0
  249. package/src/utils/Toasts.ts +6 -0
  250. package/src/utils/UrlUtils.ts +4 -0
  251. package/src/utils/fileUtils.ts +176 -0
  252. package/src/utils/i18n/i18nIUICyrilic.ts +90 -0
  253. package/src/utils/i18n/i18nIUILatin.ts +90 -0
  254. package/src/utils/i18n/i18nIUIMe.ts +88 -0
  255. package/src/utils/icons.ts +13 -0
  256. package/tsconfig.icons.json +5 -0
  257. 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
+ };