@startdownnotez404/ui 1.0.0 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -0
- package/dist/AutocompleteField-ZKNU2IRR.mjs +181 -0
- package/dist/AutocompleteField-ZKNU2IRR.mjs.map +1 -0
- package/dist/AvatarField-SAODT3CZ.mjs +275 -0
- package/dist/AvatarField-SAODT3CZ.mjs.map +1 -0
- package/dist/CodeEditor-JF55ZNVD.mjs +34 -0
- package/dist/CodeEditor-JF55ZNVD.mjs.map +1 -0
- package/dist/DateField-ZYMZFHL4.mjs +82 -0
- package/dist/DateField-ZYMZFHL4.mjs.map +1 -0
- package/dist/DateTimeField-TPTJ7YIZ.mjs +65 -0
- package/dist/DateTimeField-TPTJ7YIZ.mjs.map +1 -0
- package/dist/FileUploadField-NTMWBJER.mjs +78 -0
- package/dist/FileUploadField-NTMWBJER.mjs.map +1 -0
- package/dist/JSONEditorField-TMRWGXVR.mjs +64 -0
- package/dist/JSONEditorField-TMRWGXVR.mjs.map +1 -0
- package/dist/PopperMenu-LJ36RPBW.mjs +416 -0
- package/dist/PopperMenu-LJ36RPBW.mjs.map +1 -0
- package/dist/TelField-LOGRVZ4I.mjs +88 -0
- package/dist/TelField-LOGRVZ4I.mjs.map +1 -0
- package/dist/alert.d.mts +202 -0
- package/dist/alert.d.ts +202 -0
- package/dist/alert.js +784 -0
- package/dist/alert.js.map +1 -0
- package/dist/alert.mjs +47 -0
- package/dist/alert.mjs.map +1 -0
- package/dist/appBar.d.mts +21 -0
- package/dist/appBar.d.ts +21 -0
- package/dist/appBar.js +64 -0
- package/dist/appBar.js.map +1 -0
- package/dist/appBar.mjs +12 -0
- package/dist/appBar.mjs.map +1 -0
- package/dist/autocomplete.d.mts +121 -0
- package/dist/autocomplete.d.ts +121 -0
- package/dist/autocomplete.js +2052 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/autocomplete.mjs +21 -0
- package/dist/autocomplete.mjs.map +1 -0
- package/dist/avatar.d.mts +253 -0
- package/dist/avatar.d.ts +253 -0
- package/dist/avatar.js +992 -0
- package/dist/avatar.js.map +1 -0
- package/dist/avatar.mjs +41 -0
- package/dist/avatar.mjs.map +1 -0
- package/dist/badge.d.mts +123 -0
- package/dist/badge.d.ts +123 -0
- package/dist/badge.js +151 -0
- package/dist/badge.js.map +1 -0
- package/dist/badge.mjs +10 -0
- package/dist/badge.mjs.map +1 -0
- package/dist/box.d.mts +36 -0
- package/dist/box.d.ts +36 -0
- package/dist/box.js +199 -0
- package/dist/box.js.map +1 -0
- package/dist/box.mjs +14 -0
- package/dist/box.mjs.map +1 -0
- package/dist/button.d.mts +230 -52
- package/dist/button.d.ts +230 -52
- package/dist/button.js +392 -60
- package/dist/button.js.map +1 -1
- package/dist/button.mjs +14 -8
- package/dist/card.d.mts +47 -0
- package/dist/card.d.ts +47 -0
- package/dist/card.js +135 -0
- package/dist/card.js.map +1 -0
- package/dist/card.mjs +24 -0
- package/dist/card.mjs.map +1 -0
- package/dist/chart.d.mts +40 -0
- package/dist/chart.d.ts +40 -0
- package/dist/chart.js +1234 -0
- package/dist/chart.js.map +1 -0
- package/dist/chart.mjs +10 -0
- package/dist/chart.mjs.map +1 -0
- package/dist/checkbox.d.mts +62 -0
- package/dist/checkbox.d.ts +62 -0
- package/dist/checkbox.js +299 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/checkbox.mjs +14 -0
- package/dist/checkbox.mjs.map +1 -0
- package/dist/chip.d.mts +96 -0
- package/dist/chip.d.ts +96 -0
- package/dist/chip.js +112 -0
- package/dist/chip.js.map +1 -0
- package/dist/chip.mjs +10 -0
- package/dist/chip.mjs.map +1 -0
- package/dist/chunk-24XDGNJ6.mjs +1450 -0
- package/dist/chunk-24XDGNJ6.mjs.map +1 -0
- package/dist/chunk-27KYFU7R.mjs +30 -0
- package/dist/chunk-27KYFU7R.mjs.map +1 -0
- package/dist/chunk-2FFLT5VP.mjs +7 -0
- package/dist/chunk-2FFLT5VP.mjs.map +1 -0
- package/dist/chunk-2ZZJTBTE.mjs +148 -0
- package/dist/chunk-2ZZJTBTE.mjs.map +1 -0
- package/dist/chunk-3DQINB57.mjs +15 -0
- package/dist/chunk-3DQINB57.mjs.map +1 -0
- package/dist/chunk-3VUAM2GY.mjs +52 -0
- package/dist/chunk-3VUAM2GY.mjs.map +1 -0
- package/dist/chunk-4Q54P737.mjs +19 -0
- package/dist/chunk-4Q54P737.mjs.map +1 -0
- package/dist/chunk-4RPFRNXG.mjs +62 -0
- package/dist/chunk-4RPFRNXG.mjs.map +1 -0
- package/dist/chunk-56TI2ZBT.mjs +114 -0
- package/dist/chunk-56TI2ZBT.mjs.map +1 -0
- package/dist/chunk-6REEQBJI.mjs +62 -0
- package/dist/chunk-6REEQBJI.mjs.map +1 -0
- package/dist/chunk-AAH2O24U.mjs +325 -0
- package/dist/chunk-AAH2O24U.mjs.map +1 -0
- package/dist/chunk-B7DAB22K.mjs +16 -0
- package/dist/chunk-B7DAB22K.mjs.map +1 -0
- package/dist/chunk-BGB7JHIU.mjs +222 -0
- package/dist/chunk-BGB7JHIU.mjs.map +1 -0
- package/dist/chunk-CRYIEYZZ.mjs +756 -0
- package/dist/chunk-CRYIEYZZ.mjs.map +1 -0
- package/dist/chunk-CWFWRZWU.mjs +23 -0
- package/dist/chunk-CWFWRZWU.mjs.map +1 -0
- package/dist/chunk-DELCADNF.mjs +1926 -0
- package/dist/chunk-DELCADNF.mjs.map +1 -0
- package/dist/chunk-E3I2VDHZ.mjs +292 -0
- package/dist/chunk-E3I2VDHZ.mjs.map +1 -0
- package/dist/chunk-EEH7HACG.mjs +249 -0
- package/dist/chunk-EEH7HACG.mjs.map +1 -0
- package/dist/chunk-EKPULYPU.mjs +497 -0
- package/dist/chunk-EKPULYPU.mjs.map +1 -0
- package/dist/chunk-EW4DTFH3.mjs +69 -0
- package/dist/chunk-EW4DTFH3.mjs.map +1 -0
- package/dist/chunk-FJ6ZGZIA.mjs +43 -0
- package/dist/chunk-FJ6ZGZIA.mjs.map +1 -0
- package/dist/chunk-HE7MY3RT.mjs +23 -0
- package/dist/chunk-HE7MY3RT.mjs.map +1 -0
- package/dist/chunk-HR3A4H4E.mjs +1289 -0
- package/dist/chunk-HR3A4H4E.mjs.map +1 -0
- package/dist/chunk-I5JWS4Z7.mjs +91 -0
- package/dist/chunk-I5JWS4Z7.mjs.map +1 -0
- package/dist/chunk-IN3O4R7Q.mjs +932 -0
- package/dist/chunk-IN3O4R7Q.mjs.map +1 -0
- package/dist/chunk-JIU5GVM7.mjs +414 -0
- package/dist/chunk-JIU5GVM7.mjs.map +1 -0
- package/dist/chunk-JWANK42G.mjs +170 -0
- package/dist/chunk-JWANK42G.mjs.map +1 -0
- package/dist/chunk-MDAUF7IL.mjs +9 -0
- package/dist/chunk-MDAUF7IL.mjs.map +1 -0
- package/dist/chunk-MI64T62E.mjs +26 -0
- package/dist/chunk-MI64T62E.mjs.map +1 -0
- package/dist/chunk-NJYNJLT7.mjs +172 -0
- package/dist/chunk-NJYNJLT7.mjs.map +1 -0
- package/dist/chunk-NLBDBJ3R.mjs +97 -0
- package/dist/chunk-NLBDBJ3R.mjs.map +1 -0
- package/dist/chunk-OGNGPI3M.mjs +333 -0
- package/dist/chunk-OGNGPI3M.mjs.map +1 -0
- package/dist/chunk-OJV6V7YZ.mjs +552 -0
- package/dist/chunk-OJV6V7YZ.mjs.map +1 -0
- package/dist/chunk-ONQMRE2G.mjs +26 -0
- package/dist/chunk-ONQMRE2G.mjs.map +1 -0
- package/dist/chunk-OP6LKXPA.mjs +75 -0
- package/dist/chunk-OP6LKXPA.mjs.map +1 -0
- package/dist/chunk-QFF3HTHL.mjs +14 -0
- package/dist/chunk-QFF3HTHL.mjs.map +1 -0
- package/dist/chunk-QKGCW37O.mjs +1175 -0
- package/dist/chunk-QKGCW37O.mjs.map +1 -0
- package/dist/chunk-R5MKQN6D.mjs +227 -0
- package/dist/chunk-R5MKQN6D.mjs.map +1 -0
- package/dist/chunk-RXBQ7KXF.mjs +652 -0
- package/dist/chunk-RXBQ7KXF.mjs.map +1 -0
- package/dist/chunk-S6EZVRZC.mjs +161 -0
- package/dist/chunk-S6EZVRZC.mjs.map +1 -0
- package/dist/chunk-SGCUDWO3.mjs +396 -0
- package/dist/chunk-SGCUDWO3.mjs.map +1 -0
- package/dist/chunk-SRWPHN2N.mjs +188 -0
- package/dist/chunk-SRWPHN2N.mjs.map +1 -0
- package/dist/chunk-T34IULP5.mjs +242 -0
- package/dist/chunk-T34IULP5.mjs.map +1 -0
- package/dist/chunk-T4X375IG.mjs +100 -0
- package/dist/chunk-T4X375IG.mjs.map +1 -0
- package/dist/chunk-T6AMRENK.mjs +376 -0
- package/dist/chunk-T6AMRENK.mjs.map +1 -0
- package/dist/chunk-TDRA5EZI.mjs +325 -0
- package/dist/chunk-TDRA5EZI.mjs.map +1 -0
- package/dist/chunk-UDREPVEY.mjs +356 -0
- package/dist/chunk-UDREPVEY.mjs.map +1 -0
- package/dist/chunk-UGMRJMFZ.mjs +172 -0
- package/dist/chunk-UGMRJMFZ.mjs.map +1 -0
- package/dist/chunk-UMJ5SCIQ.mjs +438 -0
- package/dist/chunk-UMJ5SCIQ.mjs.map +1 -0
- package/dist/chunk-UTVSYS6S.mjs +270 -0
- package/dist/chunk-UTVSYS6S.mjs.map +1 -0
- package/dist/chunk-V26V2S3W.mjs +197 -0
- package/dist/chunk-V26V2S3W.mjs.map +1 -0
- package/dist/chunk-VYD3PDBB.mjs +38 -0
- package/dist/chunk-VYD3PDBB.mjs.map +1 -0
- package/dist/chunk-WYYP3Y34.mjs +55 -0
- package/dist/chunk-WYYP3Y34.mjs.map +1 -0
- package/dist/chunk-XIMFP6RB.mjs +161 -0
- package/dist/chunk-XIMFP6RB.mjs.map +1 -0
- package/dist/chunk-XJ2SXC2Q.mjs +558 -0
- package/dist/chunk-XJ2SXC2Q.mjs.map +1 -0
- package/dist/chunk-Y74ALKBL.mjs +565 -0
- package/dist/chunk-Y74ALKBL.mjs.map +1 -0
- package/dist/chunk-ZG3NQI77.mjs +353 -0
- package/dist/chunk-ZG3NQI77.mjs.map +1 -0
- package/dist/chunk-ZVFYOXDE.mjs +297 -0
- package/dist/chunk-ZVFYOXDE.mjs.map +1 -0
- package/dist/collapse.d.mts +10 -0
- package/dist/collapse.d.ts +10 -0
- package/dist/collapse.js +53 -0
- package/dist/collapse.js.map +1 -0
- package/dist/collapse.mjs +10 -0
- package/dist/collapse.mjs.map +1 -0
- package/dist/datePicker.d.mts +133 -0
- package/dist/datePicker.d.ts +133 -0
- package/dist/datePicker.js +482 -0
- package/dist/datePicker.js.map +1 -0
- package/dist/datePicker.mjs +29 -0
- package/dist/datePicker.mjs.map +1 -0
- package/dist/displayFile.d.mts +95 -0
- package/dist/displayFile.d.ts +95 -0
- package/dist/displayFile.js +357 -0
- package/dist/displayFile.js.map +1 -0
- package/dist/displayFile.mjs +19 -0
- package/dist/displayFile.mjs.map +1 -0
- package/dist/divider.d.mts +9 -0
- package/dist/divider.d.ts +9 -0
- package/dist/divider.js +52 -0
- package/dist/divider.js.map +1 -0
- package/dist/divider.mjs +10 -0
- package/dist/divider.mjs.map +1 -0
- package/dist/fileUploader.d.mts +86 -0
- package/dist/fileUploader.d.ts +86 -0
- package/dist/fileUploader.js +722 -0
- package/dist/fileUploader.js.map +1 -0
- package/dist/fileUploader.mjs +16 -0
- package/dist/fileUploader.mjs.map +1 -0
- package/dist/flowMap.d.mts +353 -0
- package/dist/flowMap.d.ts +353 -0
- package/dist/flowMap.js +94806 -0
- package/dist/flowMap.js.map +1 -0
- package/dist/flowMap.mjs +94585 -0
- package/dist/flowMap.mjs.map +1 -0
- package/dist/form.d.mts +84 -0
- package/dist/form.d.ts +84 -0
- package/dist/form.js +144 -0
- package/dist/form.js.map +1 -0
- package/dist/form.mjs +24 -0
- package/dist/form.mjs.map +1 -0
- package/dist/icons.d.mts +160 -0
- package/dist/icons.d.ts +160 -0
- package/dist/icons.js +540 -0
- package/dist/icons.js.map +1 -0
- package/dist/icons.mjs +306 -0
- package/dist/icons.mjs.map +1 -0
- package/dist/image.d.mts +49 -0
- package/dist/image.d.ts +49 -0
- package/dist/image.js +1348 -0
- package/dist/image.js.map +1 -0
- package/dist/image.mjs +19 -0
- package/dist/image.mjs.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.js +20198 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +912 -0
- package/dist/index.mjs.map +1 -0
- package/dist/input.d.mts +195 -0
- package/dist/input.d.ts +195 -0
- package/dist/input.js +1101 -0
- package/dist/input.js.map +1 -0
- package/dist/input.mjs +32 -0
- package/dist/input.mjs.map +1 -0
- package/dist/jsonEditor.d.mts +13 -0
- package/dist/jsonEditor.d.ts +13 -0
- package/dist/jsonEditor.js +247 -0
- package/dist/jsonEditor.js.map +1 -0
- package/dist/jsonEditor.mjs +9 -0
- package/dist/jsonEditor.mjs.map +1 -0
- package/dist/list.d.mts +83 -0
- package/dist/list.d.ts +83 -0
- package/dist/list.js +564 -0
- package/dist/list.js.map +1 -0
- package/dist/list.mjs +39 -0
- package/dist/list.mjs.map +1 -0
- package/dist/loading.d.mts +48 -0
- package/dist/loading.d.ts +48 -0
- package/dist/loading.js +383 -0
- package/dist/loading.js.map +1 -0
- package/dist/loading.mjs +23 -0
- package/dist/loading.mjs.map +1 -0
- package/dist/markdown.d.mts +14 -0
- package/dist/markdown.d.ts +14 -0
- package/dist/markdown.js +25927 -0
- package/dist/markdown.js.map +1 -0
- package/dist/markdown.mjs +25623 -0
- package/dist/markdown.mjs.map +1 -0
- package/dist/menu.d.mts +368 -0
- package/dist/menu.d.ts +368 -0
- package/dist/menu.js +1571 -0
- package/dist/menu.js.map +1 -0
- package/dist/menu.mjs +43 -0
- package/dist/menu.mjs.map +1 -0
- package/dist/modal.d.mts +90 -0
- package/dist/modal.d.ts +90 -0
- package/dist/modal.js +883 -0
- package/dist/modal.js.map +1 -0
- package/dist/modal.mjs +25 -0
- package/dist/modal.mjs.map +1 -0
- package/dist/overlay.d.mts +2 -0
- package/dist/overlay.d.ts +2 -0
- package/dist/overlay.js +46 -0
- package/dist/overlay.js.map +1 -0
- package/dist/overlay.mjs +10 -0
- package/dist/overlay.mjs.map +1 -0
- package/dist/paper.d.mts +38 -0
- package/dist/paper.d.ts +38 -0
- package/dist/paper.js +90 -0
- package/dist/paper.js.map +1 -0
- package/dist/paper.mjs +12 -0
- package/dist/paper.mjs.map +1 -0
- package/dist/patterns.d.mts +133 -0
- package/dist/patterns.d.ts +133 -0
- package/dist/patterns.js +483 -0
- package/dist/patterns.js.map +1 -0
- package/dist/patterns.mjs +46 -0
- package/dist/patterns.mjs.map +1 -0
- package/dist/process.d.mts +125 -0
- package/dist/process.d.ts +125 -0
- package/dist/process.js +1471 -0
- package/dist/process.js.map +1 -0
- package/dist/process.mjs +30 -0
- package/dist/process.mjs.map +1 -0
- package/dist/progress.d.mts +44 -0
- package/dist/progress.d.ts +44 -0
- package/dist/progress.js +94 -0
- package/dist/progress.js.map +1 -0
- package/dist/progress.mjs +14 -0
- package/dist/progress.mjs.map +1 -0
- package/dist/resizablePanel.d.mts +297 -0
- package/dist/resizablePanel.d.ts +297 -0
- package/dist/resizablePanel.js +122 -0
- package/dist/resizablePanel.js.map +1 -0
- package/dist/resizablePanel.mjs +22 -0
- package/dist/resizablePanel.mjs.map +1 -0
- package/dist/scrollToLoad.d.mts +41 -0
- package/dist/scrollToLoad.d.ts +41 -0
- package/dist/scrollToLoad.js +256 -0
- package/dist/scrollToLoad.js.map +1 -0
- package/dist/scrollToLoad.mjs +16 -0
- package/dist/scrollToLoad.mjs.map +1 -0
- package/dist/select.d.mts +50 -0
- package/dist/select.d.ts +50 -0
- package/dist/select.js +426 -0
- package/dist/select.js.map +1 -0
- package/dist/select.mjs +24 -0
- package/dist/select.mjs.map +1 -0
- package/dist/skeleton.d.mts +13 -0
- package/dist/skeleton.d.ts +13 -0
- package/dist/skeleton.js +68 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/skeleton.mjs +11 -0
- package/dist/skeleton.mjs.map +1 -0
- package/dist/slider.d.mts +65 -0
- package/dist/slider.d.ts +65 -0
- package/dist/slider.js +106 -0
- package/dist/slider.js.map +1 -0
- package/dist/slider.mjs +10 -0
- package/dist/slider.mjs.map +1 -0
- package/dist/stepper.d.mts +98 -0
- package/dist/stepper.d.ts +98 -0
- package/dist/stepper.js +313 -0
- package/dist/stepper.js.map +1 -0
- package/dist/stepper.mjs +38 -0
- package/dist/stepper.mjs.map +1 -0
- package/dist/switch.d.mts +151 -0
- package/dist/switch.d.ts +151 -0
- package/dist/switch.js +289 -0
- package/dist/switch.js.map +1 -0
- package/dist/switch.mjs +17 -0
- package/dist/switch.mjs.map +1 -0
- package/dist/tab.d.mts +182 -0
- package/dist/tab.d.ts +182 -0
- package/dist/tab.js +1418 -0
- package/dist/tab.js.map +1 -0
- package/dist/tab.mjs +34 -0
- package/dist/tab.mjs.map +1 -0
- package/dist/table.d.mts +720 -0
- package/dist/table.d.ts +720 -0
- package/dist/table.js +10882 -0
- package/dist/table.js.map +1 -0
- package/dist/table.mjs +63 -0
- package/dist/table.mjs.map +1 -0
- package/dist/theme.d.mts +30 -4
- package/dist/theme.d.ts +30 -4
- package/dist/theme.js +3210 -170
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +52 -230
- package/dist/theme.mjs.map +1 -1
- package/dist/timeline.d.mts +30 -0
- package/dist/timeline.d.ts +30 -0
- package/dist/timeline.js +273 -0
- package/dist/timeline.js.map +1 -0
- package/dist/timeline.mjs +14 -0
- package/dist/timeline.mjs.map +1 -0
- package/dist/toggleButtonGroup.d.mts +125 -0
- package/dist/toggleButtonGroup.d.ts +125 -0
- package/dist/toggleButtonGroup.js +190 -0
- package/dist/toggleButtonGroup.js.map +1 -0
- package/dist/toggleButtonGroup.mjs +15 -0
- package/dist/toggleButtonGroup.mjs.map +1 -0
- package/dist/tooltip.d.mts +13 -0
- package/dist/tooltip.d.ts +13 -0
- package/dist/tooltip.js +56 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/tooltip.mjs +10 -0
- package/dist/tooltip.mjs.map +1 -0
- package/dist/typography.d.mts +21 -23
- package/dist/typography.d.ts +21 -23
- package/dist/typography.js +37 -63
- package/dist/typography.js.map +1 -1
- package/dist/typography.mjs +2 -1
- package/dist/useForm.d.mts +588 -0
- package/dist/useForm.d.ts +588 -0
- package/dist/useForm.js +8743 -0
- package/dist/useForm.js.map +1 -0
- package/dist/useForm.mjs +45 -0
- package/dist/useForm.mjs.map +1 -0
- package/dist/useSearch.d.mts +126 -0
- package/dist/useSearch.d.ts +126 -0
- package/dist/useSearch.js +1125 -0
- package/dist/useSearch.js.map +1 -0
- package/dist/useSearch.mjs +42 -0
- package/dist/useSearch.mjs.map +1 -0
- package/dist/variablesRenderer.d.mts +45 -0
- package/dist/variablesRenderer.d.ts +45 -0
- package/dist/variablesRenderer.js +511 -0
- package/dist/variablesRenderer.js.map +1 -0
- package/dist/variablesRenderer.mjs +21 -0
- package/dist/variablesRenderer.mjs.map +1 -0
- package/package.json +109 -15
- package/dist/chunk-PKADXEAD.mjs +0 -116
- package/dist/chunk-PKADXEAD.mjs.map +0 -1
- package/dist/chunk-YGBJCPUS.mjs +0 -88
- package/dist/chunk-YGBJCPUS.mjs.map +0 -1
- package/dist/theme.css +0 -44
- package/dist/theme.css.map +0 -1
package/dist/tab.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/elemental/Tab/index.ts","../src/components/elemental/Tab/src/Tab/index.ts","../src/components/elemental/Tab/src/Tab/themes.ts","../src/components/elemental/Tab/src/TabPanel/TabPanel.tsx","../src/_utils/_func/sx.ts","../src/components/elemental/Box/src/index.ts","../src/components/elemental/Typography/src/Typography.ts","../src/components/Icons/MuiIcon/index.ts","../src/components/elemental/Menu/src/Menu/Menu.tsx","../src/components/elemental/Menu/src/MenuItem.tsx","../src/components/elemental/Menu/src/Menu/index.ts","../src/components/elemental/Overlay/src/index.ts","../src/components/elemental/Paper/src/Paper/Paper.tsx","../src/components/elemental/Menu/src/useMenu/useMenu.tsx","../src/components/elemental/Tab/src/TabPanel/useTabsOverflow.ts","../src/components/elemental/Tab/src/TabPanel/tabPanelVars.ts"],"sourcesContent":["export * from './src'","export { default as Tab } from '@mui/material/Tab'\nexport type { TabProps } from '@mui/material/Tab'\nexport { default as Tabs } from '@mui/material/Tabs'\nexport type { TabsProps } from '@mui/material/Tabs'\nexport * from './themes'","import type { MuiComponentTheme } from '@/_utils/_types'\n\nexport const tabTheme = {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: ({ theme }) => ({\n minHeight: 44,\n minWidth: 0,\n paddingInline: theme.spacing(1.5),\n paddingBlock: theme.spacing(1),\n borderRadius: theme.shape.borderRadius,\n textTransform: 'none',\n fontWeight: theme.typography.fontWeightMedium,\n color: 'var(--mui-palette-text-secondary)',\n transition: theme.transitions.create(['color', 'background-color'], {\n duration: theme.transitions.duration.shorter,\n }),\n '&:hover': {\n color: 'var(--mui-palette-primary-emphasis)',\n backgroundColor: 'color-mix(in lab, var(--mui-palette-primary-emphasis), transparent 92%)',\n },\n '&.Mui-selected': {\n color: 'var(--mui-palette-primary-emphasis)',\n backgroundColor: 'transparent',\n },\n '&.Mui-selected:hover': {\n backgroundColor: 'color-mix(in lab, var(--mui-palette-primary-emphasis), transparent 94%)',\n },\n '&.Mui-disabled': {\n color: 'var(--mui-palette-text-disabled)',\n },\n }),\n },\n} as const satisfies MuiComponentTheme<'MuiTab'>\n\nexport const tabsTheme = {\n styleOverrides: {\n root: {\n minHeight: 44,\n },\n list: {\n gap: 4,\n },\n indicator: {\n height: 3,\n borderRadius: 999,\n backgroundColor: 'var(--mui-palette-primary-emphasis)',\n },\n scrollButtons: {\n color: 'var(--mui-palette-text-secondary)',\n '&.Mui-disabled': {\n opacity: 0.4,\n },\n },\n },\n} as const satisfies MuiComponentTheme<'MuiTabs'>","'use client'\n\nimport React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport type { SxProps, Theme } from '@mui/material/styles'\n\nimport { mergeSx } from '@/_utils/_func'\nimport { Box } from '@/ele/Box'\nimport { Typography } from '@/ele/Typography'\nimport { KeyboardArrowDownIcon, MoreHorizIcon } from '@/icons/MuiIcon'\nimport { useMenu, MenuPopper } from '@/ele/Menu'\n\nimport type { TabPanelItem, TabPanelProps } from './types'\nimport { useTabsOverflowSplit } from './useTabsOverflow'\nimport {\n tabPanelRootSx,\n tabPanelStyleToCssVars,\n} from './tabPanelVars'\n\nconst TRACK_PAD = 3\nconst ITEM_GAP = 1\nconst DEFAULT_TRACK_RADIUS = 12\nconst DEFAULT_FOCUS_RADIUS = 10\n/** Keep in sync with `--tabpanel-indicator-ms` / `--tabpanel-indicator-ease`. */\nconst INDICATOR_EASE = 'cubic-bezier(0.32, 0.72, 0, 1)'\nconst INDICATOR_MS = 380\n\n/** Numbers are px so MUI does not multiply by theme.shape.borderRadius. */\nfunction toCssRadius(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value\n}\n\n/**\n * Commit WAAPI values to inline styles, then cancel so `fill: 'forwards'`\n * cannot leave a stale computed transform that fights Emotion/CSS classes.\n */\nfunction finishIndicatorAnimation(animation: Animation) {\n try {\n animation.commitStyles?.()\n } catch {\n // commitStyles can throw if the animation was already canceled.\n }\n animation.cancel()\n}\n\nfunction clearIndicatorAnimations(element: HTMLElement) {\n element.getAnimations().forEach((animation) => {\n finishIndicatorAnimation(animation)\n })\n}\n\nfunction resolveSelectedId(\n items: TabPanelItem[],\n value: string | undefined,\n internal: string | undefined\n): string | undefined {\n const candidate = value ?? internal\n if (candidate && items.some((item) => item.id === candidate && !item.disabled)) {\n return candidate\n }\n return items.find((item) => !item.disabled)?.id\n}\n\nfunction TabItemContent({\n item,\n showLabels,\n active,\n endAdornment,\n}: {\n item: TabPanelItem\n showLabels: boolean\n active: boolean\n endAdornment?: React.ReactNode\n}) {\n const showLabel = showLabels || !item.icon\n const badgeLabel =\n item.badge == null\n ? null\n : typeof item.badge === 'number' && item.badge > 99\n ? '99+'\n : String(item.badge)\n\n return (\n <Box\n sx={{\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.5,\n px: showLabels ? 1.15 : 0.9,\n py: 0.5,\n minHeight: 28,\n pr: endAdornment ? 0.75 : undefined,\n }}\n >\n {item.icon ? (\n <Box\n component=\"span\"\n sx={{\n display: 'inline-flex',\n color: 'inherit',\n lineHeight: 0,\n opacity: active ? 1 : 0.88,\n transition:\n 'opacity var(--tabpanel-indicator-ms) var(--tabpanel-indicator-ease)',\n '& > *': { fontSize: 16 },\n }}\n >\n {item.icon}\n </Box>\n ) : null}\n {showLabel ? (\n <Typography\n component=\"span\"\n sx={{\n m: 0,\n fontSize: '0.75rem',\n letterSpacing: '0.01em',\n fontWeight: active ? 600 : 500,\n color: 'inherit',\n lineHeight: 1.15,\n whiteSpace: 'nowrap',\n }}\n >\n {item.label}\n </Typography>\n ) : (\n <Typography\n component=\"span\"\n sx={{\n position: 'absolute',\n width: 1,\n height: 1,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n }}\n >\n {item.label}\n </Typography>\n )}\n {endAdornment}\n {badgeLabel != null ? (\n <Box\n component=\"span\"\n aria-label={`${item.badge} notifications`}\n sx={{\n position: 'absolute',\n top: 1,\n right: endAdornment ? 10 : 1,\n zIndex: 1,\n pointerEvents: 'none',\n minWidth: 12,\n height: 12,\n px: 0.3,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 999,\n bgcolor: 'var(--tabpanel-badge-bg)',\n color: 'var(--tabpanel-badge-color)',\n fontSize: 8,\n fontWeight: 700,\n lineHeight: 1,\n }}\n >\n {badgeLabel}\n </Box>\n ) : null}\n </Box>\n )\n}\n\nfunction MoreTriggerContent({\n showLabels,\n open,\n}: {\n showLabels: boolean\n open: boolean\n}) {\n return (\n <Box\n sx={{\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.35,\n px: showLabels ? 1.15 : 0.9,\n py: 0.5,\n minHeight: 28,\n }}\n >\n <MoreHorizIcon sx={{ fontSize: 16 }} />\n {showLabels ? (\n <Typography\n component=\"span\"\n sx={{\n m: 0,\n fontSize: '0.75rem',\n fontWeight: 500,\n color: 'inherit',\n lineHeight: 1.15,\n whiteSpace: 'nowrap',\n }}\n >\n More\n </Typography>\n ) : null}\n <KeyboardArrowDownIcon\n sx={{\n fontSize: 14,\n opacity: 0.75,\n transition: 'transform 180ms ease',\n transform: open ? 'rotate(180deg)' : 'none',\n }}\n />\n </Box>\n )\n}\n\n/**\n * Adaptive content tabs: soft liquid track + morphing pill.\n * Overflow cuts trailing tabs into a More dropdown (selected stays visible).\n *\n * Colors / radii are CSS vars on the root (`tabPanelRootSx`). Override via\n * `sx`, `slotProps.root.style`, or `slotProps.root.sx`.\n */\nexport function TabPanel({\n items,\n value,\n defaultValue,\n onChange,\n showLabels = true,\n focusRadius = DEFAULT_FOCUS_RADIUS,\n trackRadius = DEFAULT_TRACK_RADIUS,\n sx,\n className,\n slotProps,\n}: TabPanelProps) {\n const isControlled = value !== undefined\n const [internalValue, setInternalValue] = useState<string | undefined>(\n () => defaultValue ?? items.find((item) => !item.disabled)?.id\n )\n\n const selectedId = resolveSelectedId(items, value, internalValue)\n\n const select = useCallback(\n (id: string) => {\n const item = items.find((entry) => entry.id === id)\n if (!item || item.disabled) {\n return\n }\n if (!isControlled) {\n setInternalValue(id)\n }\n onChange?.(id)\n },\n [isControlled, items, onChange]\n )\n\n const rootRef = useRef<HTMLDivElement>(null)\n const stripRef = useRef<HTMLDivElement>(null)\n const measureRef = useRef<HTMLDivElement>(null)\n const moreMeasureRef = useRef<HTMLDivElement>(null)\n const indicatorRef = useRef<HTMLDivElement>(null)\n const itemRefs = useRef<Map<string, HTMLButtonElement>>(new Map())\n const indicatorRectRef = useRef({ top: 0, left: 0, width: 0, height: 0 })\n const indicatorMountedRef = useRef(false)\n const indicatorAnimatingRef = useRef(false)\n\n const [availableWidth, setAvailableWidth] = useState(0)\n const [itemWidths, setItemWidths] = useState<number[]>([])\n const [moreWidth, setMoreWidth] = useState(0)\n\n const selectedIndex = useMemo(\n () => items.findIndex((item) => item.id === selectedId),\n [items, selectedId]\n )\n\n const { visibleIndexes, overflowIndexes } = useTabsOverflowSplit(\n itemWidths,\n moreWidth,\n availableWidth,\n selectedIndex,\n ITEM_GAP\n )\n\n const visibleItems = useMemo(\n () => visibleIndexes.map((index) => items[index]!).filter(Boolean),\n [visibleIndexes, items]\n )\n const overflowItems = useMemo(\n () => overflowIndexes.map((index) => items[index]!).filter(Boolean),\n [overflowIndexes, items]\n )\n const hasOverflow = overflowItems.length > 0\n\n const rootCssVars = useMemo(\n () => ({\n ...tabPanelStyleToCssVars(slotProps?.root?.style),\n '--tabpanel-focus-radius': toCssRadius(focusRadius),\n '--tabpanel-track-radius': toCssRadius(trackRadius),\n // Prop radii win unless style explicitly set them.\n ...(slotProps?.root?.style?.focusRadius != null\n ? { '--tabpanel-focus-radius': slotProps.root.style.focusRadius }\n : null),\n ...(slotProps?.root?.style?.trackRadius != null\n ? { '--tabpanel-track-radius': slotProps.root.style.trackRadius }\n : null),\n }),\n [focusRadius, trackRadius, slotProps?.root?.style]\n )\n\n useLayoutEffect(() => {\n const root = rootRef.current\n const measure = measureRef.current\n const moreMeasure = moreMeasureRef.current\n if (!root || !measure || !moreMeasure) {\n return\n }\n\n const update = () => {\n setAvailableWidth(Math.max(0, root.clientWidth - TRACK_PAD * 2))\n\n const widths = Array.from(\n measure.querySelectorAll<HTMLElement>('[data-tab-measure]')\n ).map((node) => node.getBoundingClientRect().width)\n\n setItemWidths((prev) => {\n if (\n prev.length === widths.length &&\n prev.every((width, index) => Math.abs(width - (widths[index] ?? 0)) < 0.5)\n ) {\n return prev\n }\n return widths\n })\n\n const nextMore = Math.max(\n moreMeasure.scrollWidth,\n moreMeasure.getBoundingClientRect().width\n )\n setMoreWidth((prev) => (Math.abs(prev - nextMore) < 0.5 ? prev : nextMore))\n }\n\n update()\n const observer = new ResizeObserver(update)\n observer.observe(root)\n observer.observe(measure)\n observer.observe(moreMeasure)\n return () => observer.disconnect()\n }, [items, showLabels])\n\n useLayoutEffect(() => {\n const strip = stripRef.current\n const indicator = indicatorRef.current\n if (!strip || !indicator || !selectedId) {\n return\n }\n\n const slideToActive = () => {\n const activeEl = itemRefs.current.get(selectedId)\n if (!activeEl) {\n return\n }\n\n const stripBox = strip.getBoundingClientRect()\n const itemBox = activeEl.getBoundingClientRect()\n const next = {\n top: itemBox.top - stripBox.top,\n left: itemBox.left - stripBox.left,\n width: itemBox.width,\n height: itemBox.height,\n }\n\n const applyRect = (rect: typeof next) => {\n indicator.style.transform = `translate3d(${rect.left}px, ${rect.top}px, 0)`\n indicator.style.width = `${rect.width}px`\n indicator.style.height = `${rect.height}px`\n }\n\n if (!indicatorMountedRef.current || indicatorRectRef.current.width <= 0) {\n clearIndicatorAnimations(indicator)\n indicator.style.transition = 'none'\n applyRect(next)\n indicator.style.opacity = '1'\n indicatorRectRef.current = next\n indicatorMountedRef.current = true\n return\n }\n\n // Commit in-flight WAAPI values to inline styles before measuring so\n // interrupt reads the true animated rect, not a stale fill/class mix.\n clearIndicatorAnimations(indicator)\n const liveBox = indicator.getBoundingClientRect()\n const prev = {\n top: liveBox.top - stripBox.top,\n left: liveBox.left - stripBox.left,\n width: liveBox.width,\n height: liveBox.height,\n }\n\n const same =\n Math.abs(prev.left - next.left) < 0.5 &&\n Math.abs(prev.top - next.top) < 0.5 &&\n Math.abs(prev.width - next.width) < 0.5 &&\n Math.abs(prev.height - next.height) < 0.5\n\n if (same) {\n applyRect(next)\n indicatorRectRef.current = next\n return\n }\n\n const bridgeLeft = Math.min(prev.left, next.left)\n const bridgeRight = Math.max(prev.left + prev.width, next.left + next.width)\n const bridge = {\n left: bridgeLeft,\n top: next.top,\n width: Math.max(bridgeRight - bridgeLeft, next.width),\n height: next.height,\n }\n\n indicator.style.transition = 'none'\n applyRect(prev)\n indicator.style.opacity = '1'\n indicatorAnimatingRef.current = true\n\n const animation = indicator.animate(\n [\n {\n transform: `translate3d(${prev.left}px, ${prev.top}px, 0)`,\n width: `${prev.width}px`,\n height: `${prev.height}px`,\n },\n {\n transform: `translate3d(${bridge.left}px, ${bridge.top}px, 0)`,\n width: `${bridge.width}px`,\n height: `${bridge.height}px`,\n offset: 0.4,\n },\n {\n transform: `translate3d(${next.left}px, ${next.top}px, 0)`,\n width: `${next.width}px`,\n height: `${next.height}px`,\n },\n ],\n {\n duration: INDICATOR_MS,\n easing: INDICATOR_EASE,\n fill: 'forwards',\n }\n )\n\n animation.onfinish = () => {\n finishIndicatorAnimation(animation)\n applyRect(next)\n indicatorRectRef.current = next\n indicatorAnimatingRef.current = false\n }\n animation.oncancel = () => {\n indicatorAnimatingRef.current = false\n }\n indicatorRectRef.current = next\n }\n\n slideToActive()\n const observer = new ResizeObserver(() => {\n if (indicatorAnimatingRef.current) {\n return\n }\n const activeEl = itemRefs.current.get(selectedId)\n const ind = indicatorRef.current\n if (!activeEl || !ind || !stripRef.current) {\n return\n }\n const stripBox = stripRef.current.getBoundingClientRect()\n const itemBox = activeEl.getBoundingClientRect()\n const next = {\n top: itemBox.top - stripBox.top,\n left: itemBox.left - stripBox.left,\n width: itemBox.width,\n height: itemBox.height,\n }\n clearIndicatorAnimations(ind)\n ind.style.transition = 'none'\n ind.style.transform = `translate3d(${next.left}px, ${next.top}px, 0)`\n ind.style.width = `${next.width}px`\n ind.style.height = `${next.height}px`\n ind.style.opacity = '1'\n indicatorRectRef.current = next\n indicatorMountedRef.current = true\n })\n observer.observe(strip)\n return () => observer.disconnect()\n }, [visibleIndexes, overflowIndexes, selectedId, items, showLabels, focusRadius])\n\n useEffect(() => {\n if (isControlled) {\n return\n }\n const next = resolveSelectedId(items, undefined, internalValue)\n if (next && next !== internalValue) {\n setInternalValue(next)\n }\n }, [items, isControlled, internalValue])\n\n const menu = useMenu({\n onItemClickClientArg: ({ closeHandler }) => {\n closeHandler?.()\n },\n })\n\n const menuOptions = useMemo(\n () =>\n overflowItems.map((item) => ({\n id: item.id,\n label: item.label,\n icon: item.icon ? (item.icon as React.ReactElement) : undefined,\n onClick: () => {\n if (!item.disabled) {\n select(item.id)\n }\n },\n })),\n [overflowItems, select]\n )\n\n const selectedItem = items.find((item) => item.id === selectedId)\n\n const stripSx = {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n flexWrap: 'nowrap',\n alignSelf: 'flex-start',\n maxWidth: '100%',\n gap: 'var(--tabpanel-item-gap)',\n p: 'var(--tabpanel-track-pad)',\n borderRadius: 'var(--tabpanel-track-radius)',\n border: 'none',\n bgcolor: 'var(--tabpanel-track-bg)',\n } as const satisfies SxProps<Theme>\n\n const tabButtonSx = {\n position: 'relative',\n zIndex: 1,\n appearance: 'none',\n border: 'none',\n background: 'transparent',\n p: 0,\n m: 0,\n borderRadius: 'var(--tabpanel-focus-radius)',\n color: 'var(--tabpanel-tab-color)',\n transition:\n 'color var(--tabpanel-indicator-ms) var(--tabpanel-indicator-ease)',\n flexShrink: 0,\n '&:hover': {\n color: 'var(--tabpanel-tab-color-active)',\n },\n '&:focus-visible': {\n outline: '2px solid var(--tabpanel-accent)',\n outlineOffset: 3,\n },\n '&[aria-selected=\"true\"]': {\n color: 'var(--tabpanel-tab-color-active)',\n '&:hover': {\n color: 'var(--tabpanel-tab-color-active)',\n },\n },\n } as const satisfies SxProps<Theme>\n\n const setItemRef = (id: string) => (node: HTMLButtonElement | null) => {\n if (node) {\n itemRefs.current.set(id, node)\n } else {\n itemRefs.current.delete(id)\n }\n }\n\n return (\n <Box\n ref={rootRef}\n className={className}\n sx={mergeSx(\n {\n ...tabPanelRootSx,\n ...rootCssVars,\n width: '100%',\n minWidth: 0,\n maxWidth: '100%',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n gap: 1.5,\n },\n slotProps?.root?.sx,\n sx\n )}\n >\n <Box\n ref={measureRef}\n aria-hidden\n sx={{\n position: 'fixed',\n left: -99999,\n top: 0,\n visibility: 'hidden',\n pointerEvents: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n flexWrap: 'nowrap',\n gap: 'var(--tabpanel-item-gap)',\n width: 'max-content',\n maxWidth: 'none',\n }}\n >\n {items.map((item) => (\n <Box\n key={`measure-${item.id}`}\n data-tab-measure\n sx={{ display: 'inline-flex', flexShrink: 0 }}\n >\n <TabItemContent item={item} showLabels={showLabels} active={false} />\n </Box>\n ))}\n </Box>\n\n <Box\n ref={moreMeasureRef}\n aria-hidden\n sx={{\n position: 'fixed',\n left: -99999,\n top: 0,\n visibility: 'hidden',\n pointerEvents: 'none',\n display: 'inline-flex',\n width: 'max-content',\n }}\n >\n <MoreTriggerContent showLabels={showLabels} open={false} />\n </Box>\n\n <Box\n ref={stripRef}\n role=\"tablist\"\n sx={mergeSx(\n stripSx,\n hasOverflow\n ? (slotProps?.menu?.sx ?? slotProps?.strip?.sx)\n : slotProps?.strip?.sx\n )}\n >\n <Box\n ref={indicatorRef}\n aria-hidden\n sx={mergeSx(\n {\n position: 'absolute',\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n borderRadius: 'var(--tabpanel-focus-radius)',\n border: 'none',\n bgcolor: 'var(--tabpanel-focus-bg)',\n backdropFilter: 'blur(12px) saturate(1.2)',\n WebkitBackdropFilter: 'blur(12px) saturate(1.2)',\n boxShadow: 'var(--tabpanel-focus-shadow)',\n opacity: 0,\n pointerEvents: 'none',\n zIndex: 0,\n // Geometry (transform / width / height) is JS + WAAPI only —\n // never set transform here or Emotion fights fill: 'forwards'.\n willChange: 'transform, width, height',\n '[color-scheme=dark] &': {\n bgcolor: 'var(--tabpanel-focus-bg-dark)',\n backdropFilter: 'blur(8px) saturate(1.05)',\n WebkitBackdropFilter: 'blur(8px) saturate(1.05)',\n boxShadow: 'var(--tabpanel-focus-shadow-dark)',\n },\n },\n slotProps?.indicator?.sx\n )}\n />\n\n {visibleItems.map((item) => {\n const active = item.id === selectedId\n return (\n <Box\n key={item.id}\n component=\"button\"\n type=\"button\"\n role=\"tab\"\n aria-selected={active}\n disabled={item.disabled}\n ref={setItemRef(item.id)}\n onClick={() => select(item.id)}\n sx={mergeSx(\n {\n ...tabButtonSx,\n cursor: item.disabled ? 'not-allowed' : 'pointer',\n opacity: item.disabled ? 0.4 : 1,\n ...(item.disabled\n ? {\n color: 'var(--tabpanel-tab-color-disabled)',\n '&:hover': {\n color: 'var(--tabpanel-tab-color-disabled)',\n },\n }\n : null),\n },\n slotProps?.tab?.sx\n )}\n >\n <TabItemContent\n item={item}\n showLabels={showLabels}\n active={active}\n />\n </Box>\n )\n })}\n\n {hasOverflow ? (\n <>\n <Box\n component=\"button\"\n type=\"button\"\n aria-haspopup=\"menu\"\n aria-expanded={Boolean(menu.anchorEl)}\n aria-label={`More tabs, ${overflowItems.length} hidden`}\n onClick={menu.onTriggerClickHandler}\n sx={mergeSx(\n {\n ...tabButtonSx,\n cursor: 'pointer',\n },\n slotProps?.tab?.sx\n )}\n >\n <MoreTriggerContent\n showLabels={showLabels}\n open={Boolean(menu.anchorEl)}\n />\n </Box>\n <MenuPopper\n placement=\"bottom-end\"\n options={menuOptions}\n openMenuProps={{\n ...menu,\n initSelected: selectedId ? [selectedId] : [],\n }}\n />\n </>\n ) : null}\n </Box>\n\n {selectedItem?.content != null ? (\n <Box\n role=\"tabpanel\"\n sx={mergeSx({ minWidth: 0 }, slotProps?.panel?.sx)}\n >\n {selectedItem.content}\n </Box>\n ) : null}\n </Box>\n )\n}\n\nexport default TabPanel\n","import type { SxProps, Theme } from '@mui/material/styles'\n\n/** Values accepted by {@link mergeSx}: objects, callbacks, arrays (nested ok), or omitted. */\nexport type SxMergePart =\n | SxProps<Theme>\n | Record<string, unknown>\n | ReadonlyArray<SxMergePart>\n | false\n | null\n | undefined\n\nfunction flattenSx(part: unknown): unknown[] {\n if (part == null || typeof part === 'boolean') {\n return []\n }\n if (Array.isArray(part)) {\n return part.flatMap(flattenSx)\n }\n if (typeof part === 'function' || typeof part === 'object') {\n return [part]\n }\n return []\n}\n\n/**\n * Combine MUI `sx` values into one prop.\n *\n * Nested arrays are flattened (`[base, [a, b]]` → `[base, a, b]`).\n * `null` / `undefined` / `false` entries are dropped. Later parts win,\n * same as MUI's `sx` array merge.\n */\nexport function mergeSx(...parts: SxMergePart[]): SxProps<Theme> | undefined {\n const list = parts.flatMap(flattenSx)\n if (list.length === 0) {\n return undefined\n }\n if (list.length === 1) {\n return list[0] as SxProps<Theme>\n }\n return list as SxProps<Theme>\n}\n","export * from './BorderBox'\nexport {default as Box} from '@mui/material/Box'\nexport {default as Stack} from '@mui/material/Stack'\nexport {default as Grid} from '@mui/material/Grid'\n","export { default } from '@mui/material/Typography'","// display\nexport {default as ArrowIcon} from '@mui/icons-material/ArrowRightAlt'\nexport {default as FileIcon} from '@mui/icons-material/DescriptionOutlined'\nexport {default as DescriptionIcon} from '@mui/icons-material/Description'\nexport {default as PictureAsPdfIcon} from '@mui/icons-material/PictureAsPdf'\nexport {default as AudioFileIcon} from '@mui/icons-material/AudioFile'\nexport {default as VideoFileIcon} from '@mui/icons-material/VideoFile'\nexport {default as TableChartIcon} from '@mui/icons-material/TableChart'\nexport {default as FolderZipIcon} from '@mui/icons-material/FolderZip'\nexport {default as InsertDriveFileIcon} from '@mui/icons-material/InsertDriveFile'\nexport {default as ImageIcon} from '@mui/icons-material/ImageOutlined'\nexport {default as LayersIcon} from '@mui/icons-material/LayersOutlined'\nexport {default as TextIcon} from '@mui/icons-material/TextFormat'\nexport {default as RemoveIcon} from '@mui/icons-material/Remove'\nexport {default as AddFileIcon} from '@mui/icons-material/PostAdd'\nexport {default as ErrorIcon} from '@mui/icons-material/ErrorOutline'\nexport {default as QuestionIcon} from '@mui/icons-material/QuestionMarkOutlined'\nexport {default as RoomIcon} from '@mui/icons-material/MeetingRoomOutlined'\nexport {default as BlacklistIcon} from '@mui/icons-material/PlaylistRemove'\nexport {default as WhitelistIcon} from '@mui/icons-material/ChecklistRtl'\nexport {default as NoImageIcon} from '@mui/icons-material/HideImageOutlined'\nexport {default as EyeIcon} from '@mui/icons-material/RemoveRedEyeTwoTone'\nexport {default as CropSizeIcon} from '@mui/icons-material/PhotoSizeSelectLarge'\nexport {default as AdminIcon} from '@mui/icons-material/LockPersonOutlined'\nexport {default as UserIcon} from '@mui/icons-material/Person'\nexport {default as EmoticonIcon} from '@mui/icons-material/InsertEmoticon'\nexport {default as DisabledSelectionIcon} from '@mui/icons-material/RemoveDoneOutlined'\nexport {default as TagIcon} from '@mui/icons-material/Tag'\nexport {default as AudioIcon} from '@mui/icons-material/Audiotrack'\nexport {default as VideoIcon} from '@mui/icons-material/Videocam'\nexport {default as CodeIcon} from '@mui/icons-material/Code'\nexport {default as ChartIcon} from '@mui/icons-material/Equalizer'\nexport {default as TableIcon} from '@mui/icons-material/PivotTableChart'\nexport {default as SearchIcon} from '@mui/icons-material/Search'\nexport {default as DataObjectIcon} from '@mui/icons-material/DataObject'\nexport {default as A2ZIcon} from '@mui/icons-material/SortByAlpha'\nexport {default as ThumbUpIcon} from '@mui/icons-material/ThumbUp'\nexport {default as MoneyIcon} from '@mui/icons-material/AttachMoneyOutlined'\nexport {default as ServerIcon} from '@mui/icons-material/Storage'\nexport {default as CerticateIcon} from '@mui/icons-material/WorkspacePremium'\nexport {default as NumberIcon} from '@mui/icons-material/Numbers'\nexport {default as SumIcon} from '@mui/icons-material/Functions'\nexport {default as LightBulbIcon} from '@mui/icons-material/Lightbulb'\nexport {default as RotateIcon} from '@mui/icons-material/CropRotate'\nexport {default as ImageSzieScaleIcon} from '@mui/icons-material/PhotoSizeSelectLarge'\nexport {default as CollectionIcon} from '@mui/icons-material/CollectionsBookmark'\nexport {default as HistoryIcon} from '@mui/icons-material/Schedule'\nexport {default as StyleIcon} from '@mui/icons-material/Style'\nexport {default as ARHorizontalIcon} from '@mui/icons-material/Crop169'\nexport {default as ARSquareIcon} from '@mui/icons-material/CropSquare'\nexport {default as VoiceIcon} from '@mui/icons-material/GraphicEqRounded'\nexport {default as MemoryIcon} from '@mui/icons-material/MemoryRounded'\n\n// button\nexport {default as AddCircleIcon} from '@mui/icons-material/AddCircleOutlineRounded'\nexport {default as AddIcon} from '@mui/icons-material/Add'\nexport {default as CloseIcon} from '@mui/icons-material/Close'\nexport {default as ExpandMoreIcon} from '@mui/icons-material/ExpandMore'\nexport {default as AutorenewIcon} from '@mui/icons-material/Autorenew'\nexport {default as CheckCircleIcon} from '@mui/icons-material/CheckCircle'\nexport {default as MenuIcon} from '@mui/icons-material/Menu'\nexport {default as MoreIcon} from '@mui/icons-material/MoreVert'\nexport {default as MoreHorizIcon} from '@mui/icons-material/MoreHoriz'\nexport {default as CopyIcon} from '@mui/icons-material/ContentCopy'\nexport {default as PasteIcon} from '@mui/icons-material/ContentPaste'\nexport {default as CloudIcon} from '@mui/icons-material/Cloud'\nexport {default as DownloadIcon} from '@mui/icons-material/DownloadOutlined'\nexport {default as DownloadDoneIcon} from '@mui/icons-material/DownloadDoneOutlined'\nexport {default as StartIcon} from '@mui/icons-material/StarBorderOutlined'\nexport {default as DeleteIcon} from '@mui/icons-material/DeleteForever'\nexport {default as LayerClearIcon } from '@mui/icons-material/LayersClear'\nexport {default as CheckIcon } from '@mui/icons-material/Check'\nexport {default as CheckAllIcon } from '@mui/icons-material/DoneAll'\nexport {default as PowerIcon } from '@mui/icons-material/PowerSettingsNew'\nexport {default as SendIcon } from '@mui/icons-material/Send'\nexport {default as ZoomInIcon } from '@mui/icons-material/ZoomInMap'\nexport {default as ZoomOutIcon } from '@mui/icons-material/ZoomOutMap'\nexport {default as ToolIcon } from '@mui/icons-material/HomeRepairService'\nexport {default as ConstructionIcon } from '@mui/icons-material/Construction'\nexport {default as HelpIcon } from '@mui/icons-material/Help'\nexport {default as ReportIcon } from '@mui/icons-material/EmojiFlags'\nexport {default as EditIcon } from '@mui/icons-material/Edit'\nexport {default as ForkIcon } from '@mui/icons-material/ForkRight'\nexport {default as SettingIcon } from '@mui/icons-material/Settings'\nexport {default as RestoreIcon } from '@mui/icons-material/Restore'\nexport {default as EditListIcon } from '@mui/icons-material/EditNote'\nexport {default as HomeIcon } from '@mui/icons-material/HomeOutlined'\nexport {default as EnterRoomIcon } from '@mui/icons-material/ExitToAppOutlined'\nexport {default as SunIcon} from '@mui/icons-material/WbSunnyOutlined'\nexport {default as MoonIcon} from '@mui/icons-material/DarkModeOutlined'\nexport {default as AttachFileIcon} from '@mui/icons-material/AttachFileOutlined'\nexport {default as NoteAddIcon} from '@mui/icons-material/NoteAdd'\nexport {default as CloudUploadIcon} from '@mui/icons-material/CloudUpload'\nexport {default as DoubleRightArrowIcon} from '@mui/icons-material/KeyboardDoubleArrowRight'\nexport {default as DoubleLeftArrowIcon} from '@mui/icons-material/KeyboardDoubleArrowLeft'\nexport {default as DoubleArrowIcon} from '@mui/icons-material/KeyboardDoubleArrowRightRounded'\nexport {default as FitScreenIcon} from '@mui/icons-material/FitScreen'\nexport {default as FullscreenIcon} from '@mui/icons-material/Fullscreen'\nexport {default as TestIcon} from '@mui/icons-material/Biotech'\nexport {default as ShareIcon} from '@mui/icons-material/Share'\nexport {default as FilterIcon} from '@mui/icons-material/FilterAlt'\nexport {default as SyncIcon} from '@mui/icons-material/Sync'\nexport {default as PlayIcon} from '@mui/icons-material/PlayArrow'\nexport {default as PauseIcon} from '@mui/icons-material/PauseOutlined'\nexport {default as RandomIcon} from '@mui/icons-material/Casino'\nexport {default as CoinIcon} from '@mui/icons-material/Paid'\nexport {default as SaveChangesIcon} from '@mui/icons-material/Save'\nexport {default as StopIcon} from '@mui/icons-material/StopRounded'\nexport {default as ReplayIcon} from '@mui/icons-material/Replay'\nexport {default as TreeIcon} from '@mui/icons-material/AccountTree'\nexport {default as ClearIcon} from '@mui/icons-material/Close'\nexport {default as KeyboardArrowDownIcon} from '@mui/icons-material/KeyboardArrowDown'\nexport {default as KeyboardArrowRightIcon} from '@mui/icons-material/KeyboardArrowRight'\nexport {default as SearchRoundedIcon} from '@mui/icons-material/SearchRounded'\nexport {default as CloseRoundedIcon} from '@mui/icons-material/CloseRounded'\nexport {default as SortByAlphaRoundedIcon} from '@mui/icons-material/SortByAlphaRounded'\nexport {default as FilterAltOutlinedIcon} from '@mui/icons-material/FilterAltOutlined'\nexport {default as InboxOutlinedIcon} from '@mui/icons-material/InboxOutlined'\nexport {default as SearchOffIcon} from '@mui/icons-material/SearchOff'\nexport {default as ClearRoundedIcon} from '@mui/icons-material/ClearRounded'\nexport {default as ArrowDropDownRoundedIcon} from '@mui/icons-material/ArrowDropDownRounded'\n\n// login\nexport {default as AccountIcon} from '@mui/icons-material/AccountBox'\nexport {default as LogoutIcon} from '@mui/icons-material/Logout'\nexport {default as LoginIcon} from '@mui/icons-material/Login'\nexport {default as DashboardIcon} from '@mui/icons-material/Dashboard'\n\n//logo\nexport {default as WorkFlowIcon} from '@mui/icons-material/AccountTreeOutlined'\nexport {default as HelpOutlineIcon} from '@mui/icons-material/HelpOutline'\nexport {default as NavigateBeforeIcon} from '@mui/icons-material/NavigateBefore'\nexport {default as NavigateNextIcon} from '@mui/icons-material/NavigateNext'\nexport {default as PersonIcon} from '@mui/icons-material/Person'\nexport {default as CalendarTodayIcon} from '@mui/icons-material/CalendarToday'\nexport {default as ChatIcon} from '@mui/icons-material/QuestionAnswerOutlined'\nexport {default as TodayIcon} from '@mui/icons-material/Today'\nexport {default as DeleteForeverIcon} from '@mui/icons-material/DeleteForever'\n\nexport {default as AdsClickIcon} from '@mui/icons-material/AdsClick'\nexport {default as FingerprintIcon} from '@mui/icons-material/Fingerprint'\nexport {default as SportsEsportsOutlinedIcon} from '@mui/icons-material/SportsEsportsOutlined'\nexport {default as HelpOutlineRoundedIcon} from '@mui/icons-material/HelpOutlineRounded'\nexport {default as AccountTreeOutlinedIcon} from '@mui/icons-material/AccountTreeOutlined'\nexport {default as SmartToyOutlinedIcon} from '@mui/icons-material/SmartToyOutlined'\nexport {default as AcUnitIcon} from '@mui/icons-material/AcUnit'\nexport {default as LoopIcon} from '@mui/icons-material/Loop'\nexport {default as PendingIcon} from '@mui/icons-material/Pending'\nexport {default as AllInclusiveIcon} from '@mui/icons-material/AllInclusive'\nexport {default as WarningOutlinedIcon} from '@mui/icons-material/WarningOutlined'\nexport {default as InfoOutlinedIcon} from '@mui/icons-material/InfoOutlined'\nexport {default as AutoAwesomeRoundedIcon} from '@mui/icons-material/AutoAwesomeRounded'\nexport {default as ErrorOutlineOutlinedIcon} from '@mui/icons-material/ErrorOutlineOutlined'\nexport {default as DownloadFilledIcon} from '@mui/icons-material/Download'","'use client'\nimport { useState ,forwardRef, useImperativeHandle, useMemo, useEffect } from 'react'\nimport MenuList from '@mui/material/MenuList'\nimport ListItemText from '@mui/material/ListItemText'\nimport {styled} from '@mui/material/styles'\n\nimport type {MenuOption,OnItemClickHandler,MenuRef} from '../_utils'\nimport { StyledMenuItem, StyledItemIcon } from '../MenuItem'\n\ntype Props = {\n\toptions: MenuOption[];\n optionHeader?:React.ReactNode;\n extraItemClickHandler?:OnItemClickHandler;\n menuItemProps?:{\n variant?: 'rounded' | 'square';\n fontSize?: React.CSSProperties['fontSize'];\n padding?: React.CSSProperties['padding'];\n };\n initSelected:MenuOption[\"id\"][];\n multiple?:boolean;\n autoFocusItem?:boolean;\n menuRef?:React.RefObject<HTMLUListElement|null> ;\n isIconOnly?:boolean; // if true, only icon will be shown\n sorted?:boolean; // if true, options will be sorted by label\n}\n/**\n * A Mui Menu component\n * \n * @param extraItemClickHandler - a function to be called when an item is clicked\n * \n */\nconst CustomMenuList = forwardRef<MenuRef,Props>(({\n\toptions=[],\n extraItemClickHandler,\n menuItemProps, \n initSelected=[],\n multiple=false,\n autoFocusItem,\n menuRef,\n isIconOnly=false,\n optionHeader,\n sorted=true,\n},ref) => {\n const [localSelected,setLocalSelected] = useState<Props[\"initSelected\"]>(initSelected)\n\n useImperativeHandle(ref, () => ({\n getSelectedItem: () => localSelected,\n \n }), [localSelected])\n\n useEffect(()=>{\n setLocalSelected(initSelected)\n },[initSelected])\n\n const sortedOptions = useMemo(()=>{\n if(!sorted)return options\n return [...options].sort((a, b) => {\n if(a.label && b.label){\n return a.label.toString().localeCompare(b.label.toString())\n }\n return 0\n })\n },[sorted, options])\n\n\treturn (\n\t\t<StyledMenuList ref={menuRef}\n autoFocusItem={autoFocusItem}\n fontSize={menuItemProps?.fontSize}\n padding={menuItemProps?.padding}\n >\n {optionHeader}\n {sortedOptions.map((o, i) => (\n\n <StyledMenuItem key={i} \n selected={localSelected.includes(o.id)}\n customPadding={menuItemProps?.padding}\n customFontSize={menuItemProps?.fontSize}\n onClick={(e)=>{\n if(extraItemClickHandler)extraItemClickHandler(e)\n if(multiple)setLocalSelected(old=>{\n // if already selected, remove it\n if(old.includes(o.id))return old.filter(id=>id!==o.id)\n // else add it\n return [...old,o.id]\n })\n o.onClick?.()\n }}>\n {o.icon && <StyledItemIcon isIconOnly={isIconOnly}>{o.icon}</StyledItemIcon>}\n {o.label && !isIconOnly && <ListItemText>{o.label}</ListItemText>}\n {o.extension}\n </StyledMenuItem>\n\n ))}\n </StyledMenuList>\n\t)\n})\nexport default CustomMenuList\n\ntype CustomMenuListProps = {\n fontSize?: React.CSSProperties['fontSize'];\n padding?: React.CSSProperties['padding'];\n}\nconst StyledMenuList = styled(MenuList,{\n shouldForwardProp: (prop) => \n prop !== 'fontSize'\n && prop !== 'padding',\n})<CustomMenuListProps>(p=>createMenuListTheme(p))\n\ntype StyledMenuListProps = React.ComponentProps<typeof MenuList> & CustomMenuListProps\nexport function createMenuListTheme(p:StyledMenuListProps){\n return {\n \"&.MuiList-root\":{\n padding:\"8px 4px\",\n display:\"flex\",\n flexDirection:\"column\",\n alignContent:\"center\",\n alignItems:\"center\",\n width:\"100%\",\n gap:\"2px\",\n\n \"& li\":{\n width:\"-webkit-fill-available\",\n borderRadius:\"8px\",\n minHeight:\"fit-content\",\n padding:p.padding || \"6px 16px\",\n margin:\"0\",\n overflow:\"hidden\",\n \n \"& .MuiListItemText-primary\":{\n fontSize:p.fontSize || '1rem',\n overflow:\"hidden\",\n textOverflow:\"ellipsis\",\n },\n },\n },\n }\n}","'use client'\nimport React from 'react'\nimport MenuItem from '@mui/material/MenuItem'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport { styled } from '@mui/material/styles'\n\nexport const StyledMenuItem = styled(MenuItem,{\n shouldForwardProp: (prop) => prop !== 'customPadding' && prop !== 'customFontSize',\n})<{customPadding?: React.CSSProperties['padding'], customFontSize?: React.CSSProperties['fontSize']}>(({ customPadding, customFontSize }) => ({\n width: \"-webkit-fill-available\",\n borderRadius: \"8px\",\n minHeight: \"fit-content\",\n padding: customPadding || \"6px 16px\",\n margin: \"0\",\n overflow: \"hidden\",\n gap: \"4px\",\n\n \"& .MuiListItemText-primary\": {\n fontSize: customFontSize || '1rem',\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n}));\n\nexport const StyledItemIcon = styled(ListItemIcon,{\n shouldForwardProp: (prop) => prop !== 'isIconOnly',\n})<{isIconOnly?:boolean}>({\n \"&.MuiListItemIcon-root\":{\n minWidth: \"var(--minW)\",\n },\n\n variants:[\n {\n props:{isIconOnly:true},\n style:{\n '--minW':\"0\",\n },\n },\n {\n props:{isIconOnly:false},\n style:{\n '--minW':\"auto\",\n },\n },\n {\n props:{isIconOnly:undefined}, // default\n style:{\n '--minW':\"auto\",\n }\n }\n ]\n})\n","export {default as Menu} from './Menu'\nexport {default as MenuItem} from '@mui/material/MenuItem'\nexport * from './theme'","export { default as ClickAwayListener } from '@mui/material/ClickAwayListener';\nexport { default as Popper } from '@mui/material/Popper';\n","import Paper, { type PaperProps } from '@mui/material/Paper'\n\n/**\n * A wrapper for Mui Paper\n */\nexport default function MuiPaper(props: PaperProps) {\n return <Paper {...props} />\n}\n","'use client'\nimport { Popper, ClickAwayListener } from '@/ele/Overlay'\nimport { Paper } from '@/ele/Paper'\nimport { useState, useRef } from 'react'\n\nimport {Menu} from '../Menu'\nimport type { \n\tMenuOption, \n\tOnItemClickClientArg, OnTriggerClickHandler,\n\tMenuRef,\n} from '../_utils'\n\ntype MenuPopperProps = {\n\toptions: MenuOption[];\n\tplacement?: React.ComponentProps<typeof Popper>[\"placement\"];\n\topenMenuProps: OpenMenuProps;\n\tmenuItemProps?: React.ComponentProps<typeof Menu>[\"menuItemProps\"];\n\toptionHeader?: React.ComponentProps<typeof Menu>[\"optionHeader\"];\n}\n\n/**\n * A Mui Menu component that is triggered by an icon button.\n */\nexport const MenuPopper = ({\n\tplacement=\"bottom-start\",\n\toptions=[],\n\topenMenuProps,\n\tmenuItemProps,\n\toptionHeader,\n}: MenuPopperProps) => {\n\tconst {\n\t\tcloseHandler,\n\t\tanchorEl,\n\t\tonItemClickClientArg,\n\t\tmultiple,\n\t\tref,\n\t\tmenuRef,\n\t\tinitSelected,\n\t\tsorted=true,\n\t} = openMenuProps;\n\n\tconst open = Boolean(anchorEl)\n\n\treturn (\n\t\t<Popper\n\t\t\topen={open}\n\t\t\tanchorEl={anchorEl}\n\t\t\tplacement={placement}\n\t\t\tsx={{ zIndex: \"1301\" }}\n\t\t\tmodifiers={[{\n\t\t\t\tname: 'offset',\n\t\t\t\toptions: { offset: [0, 8] }\n\t\t\t}]}\n\t\t>\n\t\t\t<Paper\n\t\t\t\tvariant='outlined'\n\t\t\t\tsx={{\n\t\t\t\t\t\"&.MuiPaper-root\":{\n\t\t\t\t\t\tpr:1,\n\t\t\t\t\t\tminWidth:150,\n\t\t\t\t\t\tmaxHeight:300,\n\t\t\t\t\t\tborderRadius:\"16px\",\n\t\t\t\t\t\toverflow:\"hidden\",\n\t\t\t\t\t\tdisplay:\"flex\",\n\t\t\t\t\t\tflexDirection:\"column\",\n\n\t\t\t\t\t\t\"& .MuiList-root\":{\n\t\t\t\t\t\t\tdisplay:\"flex\",\n\t\t\t\t\t\t\tflexDirection:\"column\",\n\t\t\t\t\t\t\talignContent:\"center\",\n\t\t\t\t\t\t\talignItems:\"center\",\n\t\t\t\t\t\t\twidth:\"100%\",\n\t\t\t\t\t\t\toverflowY:\"auto\",\n\t\t\t\t\t\t\theight:\"100%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"& li\":{\n\t\t\t\t\t\t\twidth:\"100%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<ClickAwayListener onClickAway={closeHandler}>\n\t\t\t\t\t<Menu \n\t\t\t\t\t\tref={ref} \n\t\t\t\t\t\tmenuRef={menuRef}\n\t\t\t\t\t\tautoFocusItem={open}\n\t\t\t\t\t\tmenuItemProps={menuItemProps}\n\t\t\t\t\t\toptionHeader={optionHeader}\n\t\t\t\t\t\toptions={options} \n\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\tinitSelected={initSelected}\n\t\t\t\t\t\textraItemClickHandler={(e) => {\n\t\t\t\t\t\t\tif(onItemClickClientArg) onItemClickClientArg({event:e, closeHandler})\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsorted={sorted}\n\t\t\t\t\t/>\n\t\t\t\t</ClickAwayListener>\n\t\t\t</Paper>\n\t\t</Popper>\n\t)\n}\n\nexport type OpenMenuProps = {\n\tanchorEl: HTMLButtonElement | HTMLDivElement | null;\n\tanchorPosition: {top:number; left:number};\n\tonTriggerClickHandler: OnTriggerClickHandler;\n\tonItemClickClientArg?: OnItemClickClientArg;\n\tcloseHandler: (event?: Event | React.SyntheticEvent) => void;\n\tmultiple?: boolean;\n\tref: React.RefObject<MenuRef | null>;\n\tmenuRef: React.RefObject<HTMLUListElement | null>;\n\tinitSelected: MenuOption[\"id\"][];\n\tsorted?: boolean;\n}\n\ntype UseMenuProps = {\n\tonItemClickClientArg?: OnItemClickClientArg;\n\tmultiple?: boolean;\n\tinitSelected?: OpenMenuProps[\"initSelected\"];\n\tsetSelected?: React.Dispatch<React.SetStateAction<MenuOption[\"id\"][]>>;\n}\n\nexport default function useMenu({\n\tonItemClickClientArg,\n\tmultiple=false,\n\tinitSelected=[],\n\tsetSelected,\n}: UseMenuProps): OpenMenuProps {\n\tconst [anchorEl, setAnchorEl] = useState<OpenMenuProps[\"anchorEl\"]>(null)\n\tconst [anchorPosition, setAnchorPosition] = useState<OpenMenuProps[\"anchorPosition\"]>({top:0, left:0})\n\tconst ref = useRef<MenuRef|null>(null)\n\tconst menuRef = useRef<HTMLUListElement|null>(null)\n\n\tconst closeHandler = (event?: Event | React.SyntheticEvent) => {\n\t\t// if the anchor element contains the event target, then return\n\t\tif (\n\t\t\tevent\n\t\t\t&& menuRef.current\n\t\t\t&& event.target instanceof Node\n\t\t\t&& menuRef.current.contains(event.target)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update the selected value if setSelected is provided and multiple is true\n\t\tif(setSelected && multiple){\n\t\t\tconst localSelected = ref.current?.getSelectedItem()\n\t\t\t// only update the selected value if the selected value is an array\n\t\t\tif(localSelected && Array.isArray(localSelected)){\n\t\t\t\tsetSelected(localSelected)\n\t\t\t}\n\t\t}\n\t\tsetAnchorEl(null)\n\t}\n\n\tconst onTriggerClickHandler: OnTriggerClickHandler = (event) => {\n\t\tconst bottom = event.clientY\n\t\tconst right = event.clientX\n\t\n\t\tsetAnchorEl(event.currentTarget)\n\t\tsetAnchorPosition({top:bottom, left:right})\n\t}\n\n\treturn {\n\t\tanchorEl, \n\t\tanchorPosition,\n\t\tonTriggerClickHandler,\n\t\tonItemClickClientArg,\n\t\tcloseHandler,\n\t\tmultiple,\n\t\tref,\n\t\tinitSelected,\n\t\tmenuRef,\n\t}\n}","import { useMemo } from 'react'\n\n/**\n * Progressive overflow: keep as many tabs as fit, reserve room for a trailing\n * \"More\" control, and always keep the selected tab on the strip when possible.\n */\nexport function computeVisibleIndexes(\n itemWidths: number[],\n moreWidth: number,\n availableWidth: number,\n selectedIndex: number,\n gapPx: number\n): { visibleIndexes: number[]; overflowIndexes: number[] } {\n const count = itemWidths.length\n if (count === 0) {\n return { visibleIndexes: [], overflowIndexes: [] }\n }\n\n if (itemWidths.some((width) => width <= 0) || availableWidth <= 0) {\n return {\n visibleIndexes: itemWidths.map((_, index) => index),\n overflowIndexes: [],\n }\n }\n\n const totalNeeded =\n itemWidths.reduce((sum, width) => sum + width, 0) +\n Math.max(0, count - 1) * gapPx\n\n if (totalNeeded <= availableWidth) {\n return {\n visibleIndexes: itemWidths.map((_, index) => index),\n overflowIndexes: [],\n }\n }\n\n const reserveMore = moreWidth > 0 ? moreWidth + gapPx : 0\n const budget = Math.max(0, availableWidth - reserveMore)\n\n const pickPrefix = (maxExclusive: number, limit: number) => {\n const indexes: number[] = []\n let used = 0\n for (let i = 0; i < maxExclusive; i += 1) {\n const width = itemWidths[i] ?? 0\n const nextUsed = used + width + (indexes.length > 0 ? gapPx : 0)\n if (nextUsed <= limit) {\n indexes.push(i)\n used = nextUsed\n } else {\n break\n }\n }\n return indexes\n }\n\n let visibleIndexes: number[]\n\n if (selectedIndex < 0 || selectedIndex >= count) {\n visibleIndexes = pickPrefix(count, budget)\n } else {\n const selectedWidth = itemWidths[selectedIndex] ?? 0\n const prefixBudget = Math.max(\n 0,\n budget - selectedWidth - (selectedWidth > 0 ? gapPx : 0)\n )\n const prefix = pickPrefix(selectedIndex, prefixBudget)\n\n let used =\n prefix.reduce((sum, index, order) => {\n return sum + (itemWidths[index] ?? 0) + (order > 0 ? gapPx : 0)\n }, 0) +\n (prefix.length > 0 ? gapPx : 0) +\n selectedWidth\n\n const after: number[] = []\n for (let i = selectedIndex + 1; i < count; i += 1) {\n const width = itemWidths[i] ?? 0\n const nextUsed = used + gapPx + width\n if (nextUsed <= budget) {\n after.push(i)\n used = nextUsed\n } else {\n break\n }\n }\n\n visibleIndexes = [...prefix, selectedIndex, ...after]\n }\n\n if (visibleIndexes.length === 0 && selectedIndex >= 0 && selectedIndex < count) {\n visibleIndexes = [selectedIndex]\n }\n\n const visibleSet = new Set(visibleIndexes)\n const overflowIndexes = itemWidths\n .map((_, index) => index)\n .filter((index) => !visibleSet.has(index))\n\n return { visibleIndexes, overflowIndexes }\n}\n\nexport function useTabsOverflowSplit(\n itemWidths: number[],\n moreWidth: number,\n availableWidth: number,\n selectedIndex: number,\n gapPx: number\n) {\n return useMemo(\n () =>\n computeVisibleIndexes(\n itemWidths,\n moreWidth,\n availableWidth,\n selectedIndex,\n gapPx\n ),\n [itemWidths, moreWidth, availableWidth, selectedIndex, gapPx]\n )\n}\n","import type { SxProps, Theme } from '@mui/material/styles'\n\n/**\n * Default TabPanel CSS variables — set on the root wrapper via `sx`.\n * Override with `sx`, `slotProps.root.sx`, or `slotProps.root.style`.\n */\nexport const tabPanelRootSx = {\n '--tabpanel-accent': 'var(--mui-palette-primary-emphasis)',\n '--tabpanel-track-bg':\n 'color-mix(in lab, var(--tabpanel-accent), transparent 92%)',\n '--tabpanel-tab-color': 'var(--mui-palette-text-secondary)',\n '--tabpanel-tab-color-active': 'var(--tabpanel-accent)',\n '--tabpanel-tab-color-disabled': 'var(--mui-palette-text-disabled)',\n '--tabpanel-badge-color': 'var(--mui-palette-error-main)',\n '--tabpanel-badge-bg':\n 'color-mix(in lab, var(--mui-palette-error-main), transparent 86%)',\n '--tabpanel-focus-bg':\n 'color-mix(in lab, var(--mui-palette-background-paper), transparent 78%)',\n '--tabpanel-focus-bg-dark':\n 'color-mix(in lab, var(--mui-palette-background-paper), transparent 55%)',\n '--tabpanel-focus-shadow': [\n 'inset 0 1px 1px color-mix(in lab, var(--mui-palette-background-paper), transparent 15%)',\n 'inset 0 -1px 3px color-mix(in lab, var(--tabpanel-accent), transparent 80%)',\n 'inset 0 0 16px color-mix(in lab, var(--mui-palette-background-paper), transparent 50%)',\n '0 0 0 1px color-mix(in lab, var(--mui-palette-background-paper), transparent 45%)',\n '0 0 20px color-mix(in lab, var(--tabpanel-accent), transparent 76%)',\n '0 8px 22px color-mix(in lab, var(--tabpanel-accent), transparent 84%)',\n ].join(', '),\n '--tabpanel-focus-shadow-dark': [\n 'inset 0 1px 0 rgba(255, 255, 255, 0.06)',\n 'inset 0 0 0 1px color-mix(in lab, var(--tabpanel-accent), transparent 82%)',\n '0 0 0 1px rgba(0, 0, 0, 0.35)',\n '0 4px 12px rgba(0, 0, 0, 0.35)',\n ].join(', '),\n '--tabpanel-focus-radius': '10px',\n '--tabpanel-track-radius': '12px',\n '--tabpanel-track-pad': '3px',\n '--tabpanel-item-gap': '1px',\n '--tabpanel-indicator-ease': 'cubic-bezier(0.32, 0.72, 0, 1)',\n '--tabpanel-indicator-ms': '380ms',\n} as const satisfies SxProps<Theme>\n\nexport type TabPanelStyleVars = {\n accent?: string\n trackBg?: string\n tabColor?: string\n tabColorActive?: string\n tabColorDisabled?: string\n badgeColor?: string\n badgeBg?: string\n focusBg?: string\n focusBgDark?: string\n focusShadow?: string\n focusShadowDark?: string\n focusRadius?: string\n trackRadius?: string\n}\n\n/** Maps typed style tokens onto CSS custom properties for the root wrapper. */\nexport function tabPanelStyleToCssVars(\n style?: TabPanelStyleVars\n): Record<string, string> {\n if (!style) {\n return {}\n }\n\n const vars: Record<string, string> = {}\n if (style.accent != null) vars['--tabpanel-accent'] = style.accent\n if (style.trackBg != null) vars['--tabpanel-track-bg'] = style.trackBg\n if (style.tabColor != null) vars['--tabpanel-tab-color'] = style.tabColor\n if (style.tabColorActive != null) {\n vars['--tabpanel-tab-color-active'] = style.tabColorActive\n }\n if (style.tabColorDisabled != null) {\n vars['--tabpanel-tab-color-disabled'] = style.tabColorDisabled\n }\n if (style.badgeColor != null) vars['--tabpanel-badge-color'] = style.badgeColor\n if (style.badgeBg != null) vars['--tabpanel-badge-bg'] = style.badgeBg\n if (style.focusBg != null) vars['--tabpanel-focus-bg'] = style.focusBg\n if (style.focusBgDark != null) {\n vars['--tabpanel-focus-bg-dark'] = style.focusBgDark\n }\n if (style.focusShadow != null) {\n vars['--tabpanel-focus-shadow'] = style.focusShadow\n }\n if (style.focusShadowDark != null) {\n vars['--tabpanel-focus-shadow-dark'] = style.focusShadowDark\n }\n if (style.focusRadius != null) {\n vars['--tabpanel-focus-radius'] = style.focusRadius\n }\n if (style.trackRadius != null) {\n vars['--tabpanel-track-radius'] = style.trackRadius\n }\n return vars\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,iBAA+B;AAE/B,kBAAgC;;;ACAzB,IAAM,WAAW;AAAA,EACtB,cAAc;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM,CAAC,EAAE,MAAM,OAAO;AAAA,MACpB,WAAW;AAAA,MACX,UAAU;AAAA,MACV,eAAe,MAAM,QAAQ,GAAG;AAAA,MAChC,cAAc,MAAM,QAAQ,CAAC;AAAA,MAC7B,cAAc,MAAM,MAAM;AAAA,MAC1B,eAAe;AAAA,MACf,YAAY,MAAM,WAAW;AAAA,MAC7B,OAAO;AAAA,MACP,YAAY,MAAM,YAAY,OAAO,CAAC,SAAS,kBAAkB,GAAG;AAAA,QAClE,UAAU,MAAM,YAAY,SAAS;AAAA,MACvC,CAAC;AAAA,MACD,WAAW;AAAA,QACT,OAAO;AAAA,QACP,iBAAiB;AAAA,MACnB;AAAA,MACA,kBAAkB;AAAA,QAChB,OAAO;AAAA,QACP,iBAAiB;AAAA,MACnB;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB;AAAA,MACnB;AAAA,MACA,kBAAkB;AAAA,QAChB,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,YAAY;AAAA,EACvB,gBAAgB;AAAA,IACd,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,IACA,MAAM;AAAA,MACJ,KAAK;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,kBAAkB;AAAA,QAChB,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF;;;ACvDA,IAAAA,gBAOO;;;ACEP,SAAS,UAAU,MAA0B;AAC3C,MAAI,QAAQ,QAAQ,OAAO,SAAS,WAAW;AAC7C,WAAO,CAAC;AAAA,EACV;AACA,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC/B;AACA,MAAI,OAAO,SAAS,cAAc,OAAO,SAAS,UAAU;AAC1D,WAAO,CAAC,IAAI;AAAA,EACd;AACA,SAAO,CAAC;AACV;AASO,SAAS,WAAW,OAAkD;AAC3E,QAAM,OAAO,MAAM,QAAQ,SAAS;AACpC,MAAI,KAAK,WAAW,GAAG;AACrB,WAAO;AAAA,EACT;AACA,MAAI,KAAK,WAAW,GAAG;AACrB,WAAO,KAAK,CAAC;AAAA,EACf;AACA,SAAO;AACT;;;ACvCA,iBAA6B;AAC7B,mBAA+B;AAC/B,kBAA8B;;;ACH9B,wBAAwB;;;ACCxB,2BAAmC;AACnC,iCAAkC;AAClC,yBAAyC;AACzC,0BAA0C;AAC1C,uBAAuC;AACvC,uBAAuC;AACvC,wBAAwC;AACxC,uBAAuC;AACvC,6BAA6C;AAC7C,2BAAmC;AACnC,4BAAoC;AACpC,wBAAkC;AAClC,oBAAoC;AACpC,qBAAqC;AACrC,0BAAmC;AACnC,kCAAsC;AACtC,iCAAkC;AAClC,4BAAuC;AACvC,0BAAuC;AACvC,+BAAqC;AACrC,iCAAiC;AACjC,kCAAsC;AACtC,gCAAmC;AACnC,oBAAkC;AAClC,4BAAsC;AACtC,gCAA+C;AAC/C,iBAAiC;AACjC,wBAAmC;AACnC,sBAAmC;AACnC,kBAAkC;AAClC,uBAAmC;AACnC,6BAAmC;AACnC,oBAAoC;AACpC,wBAAwC;AACxC,yBAAiC;AACjC,qBAAqC;AACrC,iCAAmC;AACnC,qBAAoC;AACpC,8BAAuC;AACvC,qBAAoC;AACpC,uBAAiC;AACjC,uBAAuC;AACvC,wBAAoC;AACpC,IAAAC,+BAA4C;AAC5C,iCAAwC;AACxC,sBAAqC;AACrC,mBAAmC;AACnC,qBAA0C;AAC1C,wBAAsC;AACtC,8BAAmC;AACnC,2BAAoC;AAGpC,qCAAuC;AACvC,iBAAiC;AACjC,mBAAmC;AACnC,wBAAwC;AACxC,uBAAuC;AACvC,yBAAyC;AACzC,kBAAkC;AAClC,sBAAkC;AAClC,uBAAuC;AACvC,yBAAkC;AAClC,0BAAmC;AACnC,mBAAmC;AACnC,8BAAsC;AACtC,kCAA0C;AAC1C,gCAAmC;AACnC,2BAAoC;AACpC,yBAAyC;AACzC,mBAAoC;AACpC,qBAAuC;AACvC,8BAAoC;AACpC,kBAAmC;AACnC,uBAAqC;AACrC,wBAAsC;AACtC,+BAAmC;AACnC,0BAA2C;AAC3C,kBAAmC;AACnC,wBAAqC;AACrC,kBAAmC;AACnC,uBAAmC;AACnC,sBAAsC;AACtC,qBAAsC;AACtC,sBAAuC;AACvC,0BAAmC;AACnC,+BAAwC;AACxC,6BAAiC;AACjC,8BAAkC;AAClC,gCAAwC;AACxC,qBAAqC;AACrC,yBAAyC;AACzC,sCAA8C;AAC9C,qCAA6C;AAC7C,6CAAyC;AACzC,uBAAuC;AACvC,wBAAwC;AACxC,qBAAkC;AAClC,mBAAmC;AACnC,uBAAqC;AACrC,kBAAkC;AAClC,uBAAkC;AAClC,2BAAmC;AACnC,oBAAoC;AACpC,kBAAkC;AAClC,kBAAyC;AACzC,yBAAkC;AAClC,oBAAqC;AACrC,yBAAkC;AAClC,IAAAC,gBAAmC;AACnC,+BAA+C;AAC/C,gCAAgD;AAChD,2BAA2C;AAC3C,0BAA0C;AAC1C,gCAAgD;AAChD,+BAA+C;AAC/C,2BAA2C;AAC3C,uBAAuC;AACvC,0BAA0C;AAC1C,kCAAkD;AAGlD,wBAAqC;AACrC,oBAAoC;AACpC,mBAAmC;AACnC,uBAAuC;AAGvC,iCAAsC;AACtC,yBAAyC;AACzC,4BAA4C;AAC5C,0BAA0C;AAC1C,IAAAC,iBAAoC;AACpC,2BAA2C;AAC3C,oCAAkC;AAClC,mBAAmC;AACnC,IAAAC,wBAA2C;AAE3C,sBAAsC;AACtC,yBAAyC;AACzC,mCAAmD;AACnD,gCAAgD;AAChD,IAAAC,8BAAiD;AACjD,8BAA8C;AAC9C,oBAAoC;AACpC,kBAAkC;AAClC,qBAAqC;AACrC,0BAA0C;AAC1C,6BAA6C;AAC7C,0BAA0C;AAC1C,gCAAgD;AAChD,kCAAkD;AAClD,sBAA4C;;;ACxJ5C,mBAA8E;AAC9E,sBAAqB;AACrB,0BAAyB;AACzB,IAAAC,iBAAqB;;;ACFrB,sBAAqB;AACrB,0BAAyB;AACzB,oBAAuB;AAEhB,IAAM,qBAAiB,sBAAO,gBAAAC,SAAS;AAAA,EAC5C,mBAAmB,CAAC,SAAS,SAAS,mBAAmB,SAAS;AACpE,CAAC,EAAsG,CAAC,EAAE,eAAe,eAAe,OAAO;AAAA,EAC3I,OAAO;AAAA,EACP,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS,iBAAiB;AAAA,EAC1B,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,KAAK;AAAA,EAEL,8BAA8B;AAAA,IAC1B,UAAU,kBAAkB;AAAA,IAC5B,UAAU;AAAA,IACV,cAAc;AAAA,EAClB;AACJ,EAAE;AAEK,IAAM,qBAAiB,sBAAO,oBAAAC,SAAa;AAAA,EAChD,mBAAmB,CAAC,SAAS,SAAS;AACxC,CAAC,EAAyB;AAAA,EACxB,0BAAyB;AAAA,IACvB,UAAU;AAAA,EACZ;AAAA,EAEA,UAAS;AAAA,IACP;AAAA,MACE,OAAM,EAAC,YAAW,KAAI;AAAA,MACtB,OAAM;AAAA,QACJ,UAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAM,EAAC,YAAW,MAAK;AAAA,MACvB,OAAM;AAAA,QACJ,UAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA;AAAA,MACI,OAAM,EAAC,YAAW,OAAS;AAAA;AAAA,MAC3B,OAAM;AAAA,QACF,UAAS;AAAA,MACb;AAAA,IACJ;AAAA,EACF;AACF,CAAC;;;ADsBO;AA1CR,IAAM,qBAAiB,yBAA0B,CAAC;AAAA,EACjD,UAAQ,CAAC;AAAA,EACR;AAAA,EACA;AAAA,EACA,eAAa,CAAC;AAAA,EACd,WAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,aAAW;AAAA,EACX;AAAA,EACA,SAAO;AACT,GAAE,QAAQ;AACR,QAAM,CAAC,eAAc,gBAAgB,QAAI,uBAAgC,YAAY;AAErF,wCAAoB,KAAK,OAAO;AAAA,IAC9B,iBAAiB,MAAM;AAAA,EAEzB,IAAI,CAAC,aAAa,CAAC;AAEnB,8BAAU,MAAI;AACZ,qBAAiB,YAAY;AAAA,EAC/B,GAAE,CAAC,YAAY,CAAC;AAEhB,QAAM,oBAAgB,sBAAQ,MAAI;AAChC,QAAG,CAAC,OAAO,QAAO;AAClB,WAAO,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM;AACjC,UAAG,EAAE,SAAS,EAAE,OAAM;AACpB,eAAO,EAAE,MAAM,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAAA,MAC5D;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAE,CAAC,QAAQ,OAAO,CAAC;AAEpB,SACC;AAAA,IAAC;AAAA;AAAA,MAAe,KAAK;AAAA,MACjB;AAAA,MACA,UAAU,eAAe;AAAA,MACzB,SAAS,eAAe;AAAA,MAEvB;AAAA;AAAA,QACA,cAAc,IAAI,CAAC,GAAG,MAErB;AAAA,UAAC;AAAA;AAAA,YACD,UAAU,cAAc,SAAS,EAAE,EAAE;AAAA,YACrC,eAAe,eAAe;AAAA,YAC9B,gBAAgB,eAAe;AAAA,YAC/B,SAAS,CAAC,MAAI;AACZ,kBAAG,sBAAsB,uBAAsB,CAAC;AAChD,kBAAG,SAAS,kBAAiB,SAAK;AAEhC,oBAAG,IAAI,SAAS,EAAE,EAAE,EAAE,QAAO,IAAI,OAAO,QAAI,OAAK,EAAE,EAAE;AAErD,uBAAO,CAAC,GAAG,KAAI,EAAE,EAAE;AAAA,cACrB,CAAC;AACD,gBAAE,UAAU;AAAA,YACd;AAAA,YACG;AAAA,gBAAE,QAAQ,4CAAC,kBAAe,YAAyB,YAAE,MAAK;AAAA,cAC1D,EAAE,SAAS,CAAC,cAAc,4CAAC,oBAAAC,SAAA,EAAc,YAAE,OAAM;AAAA,cACjD,EAAE;AAAA;AAAA;AAAA,UAhBgB;AAAA,QAiBrB,CAED;AAAA;AAAA;AAAA,EACH;AAEJ,CAAC;AACD,IAAO,eAAQ;AAMf,IAAM,qBAAiB,uBAAO,gBAAAC,SAAS;AAAA,EACrC,mBAAmB,CAAC,SAClB,SAAS,cACN,SAAS;AAChB,CAAC,EAAuB,OAAG,oBAAoB,CAAC,CAAC;AAG1C,SAAS,oBAAoB,GAAsB;AACxD,SAAO;AAAA,IACL,kBAAiB;AAAA,MACf,SAAQ;AAAA,MACR,SAAQ;AAAA,MACR,eAAc;AAAA,MACd,cAAa;AAAA,MACb,YAAW;AAAA,MACX,OAAM;AAAA,MACN,KAAI;AAAA,MAEJ,QAAO;AAAA,QACL,OAAM;AAAA,QACN,cAAa;AAAA,QACb,WAAU;AAAA,QACV,SAAQ,EAAE,WAAW;AAAA,QACrB,QAAO;AAAA,QACP,UAAS;AAAA,QAET,8BAA6B;AAAA,UAC3B,UAAS,EAAE,YAAY;AAAA,UACvB,UAAS;AAAA,UACT,cAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AEvIA,IAAAC,mBAAkC;;;ACDlC,+BAA6C;AAC7C,oBAAkC;;;ACDlC,mBAAuC;AAM9B,IAAAC,sBAAA;AADM,SAAR,SAA0B,OAAmB;AAClD,SAAO,6CAAC,aAAAC,SAAA,EAAO,GAAG,OAAO;AAC3B;;;ACJA,IAAAC,gBAAiC;AA+E5B,IAAAC,sBAAA;AA3DE,IAAM,aAAa,CAAC;AAAA,EAC1B,YAAU;AAAA,EACV,UAAQ,CAAC;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACD,MAAuB;AACtB,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAO;AAAA,EACR,IAAI;AAEJ,QAAM,OAAO,QAAQ,QAAQ;AAE7B,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,IAAI,EAAE,QAAQ,OAAO;AAAA,MACrB,WAAW,CAAC;AAAA,QACX,MAAM;AAAA,QACN,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;AAAA,MAC3B,CAAC;AAAA,MAED;AAAA,QAAC;AAAA;AAAA,UACA,SAAQ;AAAA,UACR,IAAI;AAAA,YACH,mBAAkB;AAAA,cACjB,IAAG;AAAA,cACH,UAAS;AAAA,cACT,WAAU;AAAA,cACV,cAAa;AAAA,cACb,UAAS;AAAA,cACT,SAAQ;AAAA,cACR,eAAc;AAAA,cAEd,mBAAkB;AAAA,gBACjB,SAAQ;AAAA,gBACR,eAAc;AAAA,gBACd,cAAa;AAAA,gBACb,YAAW;AAAA,gBACX,OAAM;AAAA,gBACN,WAAU;AAAA,gBACV,QAAO;AAAA,cACR;AAAA,cACA,QAAO;AAAA,gBACN,OAAM;AAAA,cACP;AAAA,YACD;AAAA,UACD;AAAA,UAEA,uDAAC,oCAAkB,aAAa,cAC/B;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA,eAAe;AAAA,cACf;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,uBAAuB,CAAC,MAAM;AAC7B,oBAAG,qBAAsB,sBAAqB,EAAC,OAAM,GAAG,aAAY,CAAC;AAAA,cACtE;AAAA,cACA;AAAA;AAAA,UACD,GACD;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAsBe,SAAR,QAAyB;AAAA,EAC/B;AAAA,EACA,WAAS;AAAA,EACT,eAAa,CAAC;AAAA,EACd;AACD,GAAgC;AAC/B,QAAM,CAAC,UAAU,WAAW,QAAI,wBAAoC,IAAI;AACxE,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,wBAA0C,EAAC,KAAI,GAAG,MAAK,EAAC,CAAC;AACrG,QAAM,UAAM,sBAAqB,IAAI;AACrC,QAAM,cAAU,sBAA8B,IAAI;AAElD,QAAM,eAAe,CAAC,UAAyC;AAE9D,QACC,SACG,QAAQ,WACR,MAAM,kBAAkB,QACxB,QAAQ,QAAQ,SAAS,MAAM,MAAM,GACvC;AACD;AAAA,IACD;AAGA,QAAG,eAAe,UAAS;AAC1B,YAAM,gBAAgB,IAAI,SAAS,gBAAgB;AAEnD,UAAG,iBAAiB,MAAM,QAAQ,aAAa,GAAE;AAChD,oBAAY,aAAa;AAAA,MAC1B;AAAA,IACD;AACA,gBAAY,IAAI;AAAA,EACjB;AAEA,QAAM,wBAA+C,CAAC,UAAU;AAC/D,UAAM,SAAS,MAAM;AACrB,UAAM,QAAQ,MAAM;AAEpB,gBAAY,MAAM,aAAa;AAC/B,sBAAkB,EAAC,KAAI,QAAQ,MAAK,MAAK,CAAC;AAAA,EAC3C;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;;;AC9KA,IAAAC,gBAAwB;AAMjB,SAAS,sBACd,YACA,WACA,gBACA,eACA,OACyD;AACzD,QAAM,QAAQ,WAAW;AACzB,MAAI,UAAU,GAAG;AACf,WAAO,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAAC,EAAE;AAAA,EACnD;AAEA,MAAI,WAAW,KAAK,CAAC,UAAU,SAAS,CAAC,KAAK,kBAAkB,GAAG;AACjE,WAAO;AAAA,MACL,gBAAgB,WAAW,IAAI,CAAC,GAAG,UAAU,KAAK;AAAA,MAClD,iBAAiB,CAAC;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,cACJ,WAAW,OAAO,CAAC,KAAK,UAAU,MAAM,OAAO,CAAC,IAChD,KAAK,IAAI,GAAG,QAAQ,CAAC,IAAI;AAE3B,MAAI,eAAe,gBAAgB;AACjC,WAAO;AAAA,MACL,gBAAgB,WAAW,IAAI,CAAC,GAAG,UAAU,KAAK;AAAA,MAClD,iBAAiB,CAAC;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,cAAc,YAAY,IAAI,YAAY,QAAQ;AACxD,QAAM,SAAS,KAAK,IAAI,GAAG,iBAAiB,WAAW;AAEvD,QAAM,aAAa,CAAC,cAAsB,UAAkB;AAC1D,UAAM,UAAoB,CAAC;AAC3B,QAAI,OAAO;AACX,aAAS,IAAI,GAAG,IAAI,cAAc,KAAK,GAAG;AACxC,YAAM,QAAQ,WAAW,CAAC,KAAK;AAC/B,YAAM,WAAW,OAAO,SAAS,QAAQ,SAAS,IAAI,QAAQ;AAC9D,UAAI,YAAY,OAAO;AACrB,gBAAQ,KAAK,CAAC;AACd,eAAO;AAAA,MACT,OAAO;AACL;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,MAAI;AAEJ,MAAI,gBAAgB,KAAK,iBAAiB,OAAO;AAC/C,qBAAiB,WAAW,OAAO,MAAM;AAAA,EAC3C,OAAO;AACL,UAAM,gBAAgB,WAAW,aAAa,KAAK;AACnD,UAAM,eAAe,KAAK;AAAA,MACxB;AAAA,MACA,SAAS,iBAAiB,gBAAgB,IAAI,QAAQ;AAAA,IACxD;AACA,UAAM,SAAS,WAAW,eAAe,YAAY;AAErD,QAAI,OACF,OAAO,OAAO,CAAC,KAAK,OAAO,UAAU;AACnC,aAAO,OAAO,WAAW,KAAK,KAAK,MAAM,QAAQ,IAAI,QAAQ;AAAA,IAC/D,GAAG,CAAC,KACH,OAAO,SAAS,IAAI,QAAQ,KAC7B;AAEF,UAAM,QAAkB,CAAC;AACzB,aAAS,IAAI,gBAAgB,GAAG,IAAI,OAAO,KAAK,GAAG;AACjD,YAAM,QAAQ,WAAW,CAAC,KAAK;AAC/B,YAAM,WAAW,OAAO,QAAQ;AAChC,UAAI,YAAY,QAAQ;AACtB,cAAM,KAAK,CAAC;AACZ,eAAO;AAAA,MACT,OAAO;AACL;AAAA,MACF;AAAA,IACF;AAEA,qBAAiB,CAAC,GAAG,QAAQ,eAAe,GAAG,KAAK;AAAA,EACtD;AAEA,MAAI,eAAe,WAAW,KAAK,iBAAiB,KAAK,gBAAgB,OAAO;AAC9E,qBAAiB,CAAC,aAAa;AAAA,EACjC;AAEA,QAAM,aAAa,IAAI,IAAI,cAAc;AACzC,QAAM,kBAAkB,WACrB,IAAI,CAAC,GAAG,UAAU,KAAK,EACvB,OAAO,CAAC,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC;AAE3C,SAAO,EAAE,gBAAgB,gBAAgB;AAC3C;AAEO,SAAS,qBACd,YACA,WACA,gBACA,eACA,OACA;AACA,aAAO;AAAA,IACL,MACE;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACF,CAAC,YAAY,WAAW,gBAAgB,eAAe,KAAK;AAAA,EAC9D;AACF;;;ACjHO,IAAM,iBAAiB;AAAA,EAC5B,qBAAqB;AAAA,EACrB,uBACE;AAAA,EACF,wBAAwB;AAAA,EACxB,+BAA+B;AAAA,EAC/B,iCAAiC;AAAA,EACjC,0BAA0B;AAAA,EAC1B,uBACE;AAAA,EACF,uBACE;AAAA,EACF,4BACE;AAAA,EACF,2BAA2B;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AAAA,EACX,gCAAgC;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AAAA,EACX,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,6BAA6B;AAAA,EAC7B,2BAA2B;AAC7B;AAmBO,SAAS,uBACd,OACwB;AACxB,MAAI,CAAC,OAAO;AACV,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,OAA+B,CAAC;AACtC,MAAI,MAAM,UAAU,KAAM,MAAK,mBAAmB,IAAI,MAAM;AAC5D,MAAI,MAAM,WAAW,KAAM,MAAK,qBAAqB,IAAI,MAAM;AAC/D,MAAI,MAAM,YAAY,KAAM,MAAK,sBAAsB,IAAI,MAAM;AACjE,MAAI,MAAM,kBAAkB,MAAM;AAChC,SAAK,6BAA6B,IAAI,MAAM;AAAA,EAC9C;AACA,MAAI,MAAM,oBAAoB,MAAM;AAClC,SAAK,+BAA+B,IAAI,MAAM;AAAA,EAChD;AACA,MAAI,MAAM,cAAc,KAAM,MAAK,wBAAwB,IAAI,MAAM;AACrE,MAAI,MAAM,WAAW,KAAM,MAAK,qBAAqB,IAAI,MAAM;AAC/D,MAAI,MAAM,WAAW,KAAM,MAAK,qBAAqB,IAAI,MAAM;AAC/D,MAAI,MAAM,eAAe,MAAM;AAC7B,SAAK,0BAA0B,IAAI,MAAM;AAAA,EAC3C;AACA,MAAI,MAAM,eAAe,MAAM;AAC7B,SAAK,yBAAyB,IAAI,MAAM;AAAA,EAC1C;AACA,MAAI,MAAM,mBAAmB,MAAM;AACjC,SAAK,8BAA8B,IAAI,MAAM;AAAA,EAC/C;AACA,MAAI,MAAM,eAAe,MAAM;AAC7B,SAAK,yBAAyB,IAAI,MAAM;AAAA,EAC1C;AACA,MAAI,MAAM,eAAe,MAAM;AAC7B,SAAK,yBAAyB,IAAI,MAAM;AAAA,EAC1C;AACA,SAAO;AACT;;;AZNI,IAAAC,sBAAA;AAhEJ,IAAM,YAAY;AAClB,IAAM,WAAW;AACjB,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAE7B,IAAM,iBAAiB;AACvB,IAAM,eAAe;AAGrB,SAAS,YAAY,OAAgC;AACnD,SAAO,OAAO,UAAU,WAAW,GAAG,KAAK,OAAO;AACpD;AAMA,SAAS,yBAAyB,WAAsB;AACtD,MAAI;AACF,cAAU,eAAe;AAAA,EAC3B,QAAQ;AAAA,EAER;AACA,YAAU,OAAO;AACnB;AAEA,SAAS,yBAAyB,SAAsB;AACtD,UAAQ,cAAc,EAAE,QAAQ,CAAC,cAAc;AAC7C,6BAAyB,SAAS;AAAA,EACpC,CAAC;AACH;AAEA,SAAS,kBACP,OACA,OACA,UACoB;AACpB,QAAM,YAAY,SAAS;AAC3B,MAAI,aAAa,MAAM,KAAK,CAAC,SAAS,KAAK,OAAO,aAAa,CAAC,KAAK,QAAQ,GAAG;AAC9E,WAAO;AAAA,EACT;AACA,SAAO,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,GAAG;AAC/C;AAEA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,QAAM,YAAY,cAAc,CAAC,KAAK;AACtC,QAAM,aACJ,KAAK,SAAS,OACV,OACA,OAAO,KAAK,UAAU,YAAY,KAAK,QAAQ,KAC7C,QACA,OAAO,KAAK,KAAK;AAEzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,QACF,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,IAAI,aAAa,OAAO;AAAA,QACxB,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,IAAI,eAAe,OAAO;AAAA,MAC5B;AAAA,MAEC;AAAA,aAAK,OACJ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,SAAS;AAAA,cACT,OAAO;AAAA,cACP,YAAY;AAAA,cACZ,SAAS,SAAS,IAAI;AAAA,cACtB,YACE;AAAA,cACF,SAAS,EAAE,UAAU,GAAG;AAAA,YAC1B;AAAA,YAEC,eAAK;AAAA;AAAA,QACR,IACE;AAAA,QACH,YACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,GAAG;AAAA,cACH,UAAU;AAAA,cACV,eAAe;AAAA,cACf,YAAY,SAAS,MAAM;AAAA,cAC3B,OAAO;AAAA,cACP,YAAY;AAAA,cACZ,YAAY;AAAA,YACd;AAAA,YAEC,eAAK;AAAA;AAAA,QACR,IAEA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,UAAU;AAAA,cACV,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,UAAU;AAAA,cACV,MAAM;AAAA,YACR;AAAA,YAEC,eAAK;AAAA;AAAA,QACR;AAAA,QAED;AAAA,QACA,cAAc,OACb;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,cAAY,GAAG,KAAK,KAAK;AAAA,YACzB,IAAI;AAAA,cACF,UAAU;AAAA,cACV,KAAK;AAAA,cACL,OAAO,eAAe,KAAK;AAAA,cAC3B,QAAQ;AAAA,cACR,eAAe;AAAA,cACf,UAAU;AAAA,cACV,QAAQ;AAAA,cACR,IAAI;AAAA,cACJ,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,cAAc;AAAA,cACd,SAAS;AAAA,cACT,OAAO;AAAA,cACP,UAAU;AAAA,cACV,YAAY;AAAA,cACZ,YAAY;AAAA,YACd;AAAA,YAEC;AAAA;AAAA,QACH,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AACF,GAGG;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,QACF,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,IAAI,aAAa,OAAO;AAAA,QACxB,IAAI;AAAA,QACJ,WAAW;AAAA,MACb;AAAA,MAEA;AAAA,qDAAC,4BAAc,IAAI,EAAE,UAAU,GAAG,GAAG;AAAA,QACpC,aACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,GAAG;AAAA,cACH,UAAU;AAAA,cACV,YAAY;AAAA,cACZ,OAAO;AAAA,cACP,YAAY;AAAA,cACZ,YAAY;AAAA,YACd;AAAA,YACD;AAAA;AAAA,QAED,IACE;AAAA,QACJ;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,cACF,UAAU;AAAA,cACV,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,WAAW,OAAO,mBAAmB;AAAA,YACvC;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;AASO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AACF,GAAkB;AAChB,QAAM,eAAe,UAAU;AAC/B,QAAM,CAAC,eAAe,gBAAgB,QAAI;AAAA,IACxC,MAAM,gBAAgB,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,GAAG;AAAA,EAC9D;AAEA,QAAM,aAAa,kBAAkB,OAAO,OAAO,aAAa;AAEhE,QAAM,aAAS;AAAA,IACb,CAAC,OAAe;AACd,YAAM,OAAO,MAAM,KAAK,CAAC,UAAU,MAAM,OAAO,EAAE;AAClD,UAAI,CAAC,QAAQ,KAAK,UAAU;AAC1B;AAAA,MACF;AACA,UAAI,CAAC,cAAc;AACjB,yBAAiB,EAAE;AAAA,MACrB;AACA,iBAAW,EAAE;AAAA,IACf;AAAA,IACA,CAAC,cAAc,OAAO,QAAQ;AAAA,EAChC;AAEA,QAAM,cAAU,sBAAuB,IAAI;AAC3C,QAAM,eAAW,sBAAuB,IAAI;AAC5C,QAAM,iBAAa,sBAAuB,IAAI;AAC9C,QAAM,qBAAiB,sBAAuB,IAAI;AAClD,QAAM,mBAAe,sBAAuB,IAAI;AAChD,QAAM,eAAW,sBAAuC,oBAAI,IAAI,CAAC;AACjE,QAAM,uBAAmB,sBAAO,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC;AACxE,QAAM,0BAAsB,sBAAO,KAAK;AACxC,QAAM,4BAAwB,sBAAO,KAAK;AAE1C,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,wBAAS,CAAC;AACtD,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAmB,CAAC,CAAC;AACzD,QAAM,CAAC,WAAW,YAAY,QAAI,wBAAS,CAAC;AAE5C,QAAM,oBAAgB;AAAA,IACpB,MAAM,MAAM,UAAU,CAAC,SAAS,KAAK,OAAO,UAAU;AAAA,IACtD,CAAC,OAAO,UAAU;AAAA,EACpB;AAEA,QAAM,EAAE,gBAAgB,gBAAgB,IAAI;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,mBAAe;AAAA,IACnB,MAAM,eAAe,IAAI,CAAC,UAAU,MAAM,KAAK,CAAE,EAAE,OAAO,OAAO;AAAA,IACjE,CAAC,gBAAgB,KAAK;AAAA,EACxB;AACA,QAAM,oBAAgB;AAAA,IACpB,MAAM,gBAAgB,IAAI,CAAC,UAAU,MAAM,KAAK,CAAE,EAAE,OAAO,OAAO;AAAA,IAClE,CAAC,iBAAiB,KAAK;AAAA,EACzB;AACA,QAAM,cAAc,cAAc,SAAS;AAE3C,QAAM,kBAAc;AAAA,IAClB,OAAO;AAAA,MACL,GAAG,uBAAuB,WAAW,MAAM,KAAK;AAAA,MAChD,2BAA2B,YAAY,WAAW;AAAA,MAClD,2BAA2B,YAAY,WAAW;AAAA;AAAA,MAElD,GAAI,WAAW,MAAM,OAAO,eAAe,OACvC,EAAE,2BAA2B,UAAU,KAAK,MAAM,YAAY,IAC9D;AAAA,MACJ,GAAI,WAAW,MAAM,OAAO,eAAe,OACvC,EAAE,2BAA2B,UAAU,KAAK,MAAM,YAAY,IAC9D;AAAA,IACN;AAAA,IACA,CAAC,aAAa,aAAa,WAAW,MAAM,KAAK;AAAA,EACnD;AAEA,qCAAgB,MAAM;AACpB,UAAM,OAAO,QAAQ;AACrB,UAAM,UAAU,WAAW;AAC3B,UAAM,cAAc,eAAe;AACnC,QAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa;AACrC;AAAA,IACF;AAEA,UAAM,SAAS,MAAM;AACnB,wBAAkB,KAAK,IAAI,GAAG,KAAK,cAAc,YAAY,CAAC,CAAC;AAE/D,YAAM,SAAS,MAAM;AAAA,QACnB,QAAQ,iBAA8B,oBAAoB;AAAA,MAC5D,EAAE,IAAI,CAAC,SAAS,KAAK,sBAAsB,EAAE,KAAK;AAElD,oBAAc,CAAC,SAAS;AACtB,YACE,KAAK,WAAW,OAAO,UACvB,KAAK,MAAM,CAAC,OAAO,UAAU,KAAK,IAAI,SAAS,OAAO,KAAK,KAAK,EAAE,IAAI,GAAG,GACzE;AACA,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,MACT,CAAC;AAED,YAAM,WAAW,KAAK;AAAA,QACpB,YAAY;AAAA,QACZ,YAAY,sBAAsB,EAAE;AAAA,MACtC;AACA,mBAAa,CAAC,SAAU,KAAK,IAAI,OAAO,QAAQ,IAAI,MAAM,OAAO,QAAS;AAAA,IAC5E;AAEA,WAAO;AACP,UAAM,WAAW,IAAI,eAAe,MAAM;AAC1C,aAAS,QAAQ,IAAI;AACrB,aAAS,QAAQ,OAAO;AACxB,aAAS,QAAQ,WAAW;AAC5B,WAAO,MAAM,SAAS,WAAW;AAAA,EACnC,GAAG,CAAC,OAAO,UAAU,CAAC;AAEtB,qCAAgB,MAAM;AACpB,UAAM,QAAQ,SAAS;AACvB,UAAM,YAAY,aAAa;AAC/B,QAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY;AACvC;AAAA,IACF;AAEA,UAAM,gBAAgB,MAAM;AAC1B,YAAM,WAAW,SAAS,QAAQ,IAAI,UAAU;AAChD,UAAI,CAAC,UAAU;AACb;AAAA,MACF;AAEA,YAAM,WAAW,MAAM,sBAAsB;AAC7C,YAAM,UAAU,SAAS,sBAAsB;AAC/C,YAAM,OAAO;AAAA,QACX,KAAK,QAAQ,MAAM,SAAS;AAAA,QAC5B,MAAM,QAAQ,OAAO,SAAS;AAAA,QAC9B,OAAO,QAAQ;AAAA,QACf,QAAQ,QAAQ;AAAA,MAClB;AAEA,YAAM,YAAY,CAAC,SAAsB;AACvC,kBAAU,MAAM,YAAY,eAAe,KAAK,IAAI,OAAO,KAAK,GAAG;AACnE,kBAAU,MAAM,QAAQ,GAAG,KAAK,KAAK;AACrC,kBAAU,MAAM,SAAS,GAAG,KAAK,MAAM;AAAA,MACzC;AAEA,UAAI,CAAC,oBAAoB,WAAW,iBAAiB,QAAQ,SAAS,GAAG;AACvE,iCAAyB,SAAS;AAClC,kBAAU,MAAM,aAAa;AAC7B,kBAAU,IAAI;AACd,kBAAU,MAAM,UAAU;AAC1B,yBAAiB,UAAU;AAC3B,4BAAoB,UAAU;AAC9B;AAAA,MACF;AAIA,+BAAyB,SAAS;AAClC,YAAM,UAAU,UAAU,sBAAsB;AAChD,YAAM,OAAO;AAAA,QACX,KAAK,QAAQ,MAAM,SAAS;AAAA,QAC5B,MAAM,QAAQ,OAAO,SAAS;AAAA,QAC9B,OAAO,QAAQ;AAAA,QACf,QAAQ,QAAQ;AAAA,MAClB;AAEA,YAAM,OACJ,KAAK,IAAI,KAAK,OAAO,KAAK,IAAI,IAAI,OAClC,KAAK,IAAI,KAAK,MAAM,KAAK,GAAG,IAAI,OAChC,KAAK,IAAI,KAAK,QAAQ,KAAK,KAAK,IAAI,OACpC,KAAK,IAAI,KAAK,SAAS,KAAK,MAAM,IAAI;AAExC,UAAI,MAAM;AACR,kBAAU,IAAI;AACd,yBAAiB,UAAU;AAC3B;AAAA,MACF;AAEA,YAAM,aAAa,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI;AAChD,YAAM,cAAc,KAAK,IAAI,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK;AAC3E,YAAM,SAAS;AAAA,QACb,MAAM;AAAA,QACN,KAAK,KAAK;AAAA,QACV,OAAO,KAAK,IAAI,cAAc,YAAY,KAAK,KAAK;AAAA,QACpD,QAAQ,KAAK;AAAA,MACf;AAEA,gBAAU,MAAM,aAAa;AAC7B,gBAAU,IAAI;AACd,gBAAU,MAAM,UAAU;AAC1B,4BAAsB,UAAU;AAEhC,YAAM,YAAY,UAAU;AAAA,QAC1B;AAAA,UACE;AAAA,YACE,WAAW,eAAe,KAAK,IAAI,OAAO,KAAK,GAAG;AAAA,YAClD,OAAO,GAAG,KAAK,KAAK;AAAA,YACpB,QAAQ,GAAG,KAAK,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,YACE,WAAW,eAAe,OAAO,IAAI,OAAO,OAAO,GAAG;AAAA,YACtD,OAAO,GAAG,OAAO,KAAK;AAAA,YACtB,QAAQ,GAAG,OAAO,MAAM;AAAA,YACxB,QAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,WAAW,eAAe,KAAK,IAAI,OAAO,KAAK,GAAG;AAAA,YAClD,OAAO,GAAG,KAAK,KAAK;AAAA,YACpB,QAAQ,GAAG,KAAK,MAAM;AAAA,UACxB;AAAA,QACF;AAAA,QACA;AAAA,UACE,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,MAAM;AAAA,QACR;AAAA,MACF;AAEA,gBAAU,WAAW,MAAM;AACzB,iCAAyB,SAAS;AAClC,kBAAU,IAAI;AACd,yBAAiB,UAAU;AAC3B,8BAAsB,UAAU;AAAA,MAClC;AACA,gBAAU,WAAW,MAAM;AACzB,8BAAsB,UAAU;AAAA,MAClC;AACA,uBAAiB,UAAU;AAAA,IAC7B;AAEA,kBAAc;AACd,UAAM,WAAW,IAAI,eAAe,MAAM;AACxC,UAAI,sBAAsB,SAAS;AACjC;AAAA,MACF;AACA,YAAM,WAAW,SAAS,QAAQ,IAAI,UAAU;AAChD,YAAM,MAAM,aAAa;AACzB,UAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,SAAS;AAC1C;AAAA,MACF;AACA,YAAM,WAAW,SAAS,QAAQ,sBAAsB;AACxD,YAAM,UAAU,SAAS,sBAAsB;AAC/C,YAAM,OAAO;AAAA,QACX,KAAK,QAAQ,MAAM,SAAS;AAAA,QAC5B,MAAM,QAAQ,OAAO,SAAS;AAAA,QAC9B,OAAO,QAAQ;AAAA,QACf,QAAQ,QAAQ;AAAA,MAClB;AACA,+BAAyB,GAAG;AAC5B,UAAI,MAAM,aAAa;AACvB,UAAI,MAAM,YAAY,eAAe,KAAK,IAAI,OAAO,KAAK,GAAG;AAC7D,UAAI,MAAM,QAAQ,GAAG,KAAK,KAAK;AAC/B,UAAI,MAAM,SAAS,GAAG,KAAK,MAAM;AACjC,UAAI,MAAM,UAAU;AACpB,uBAAiB,UAAU;AAC3B,0BAAoB,UAAU;AAAA,IAChC,CAAC;AACD,aAAS,QAAQ,KAAK;AACtB,WAAO,MAAM,SAAS,WAAW;AAAA,EACnC,GAAG,CAAC,gBAAgB,iBAAiB,YAAY,OAAO,YAAY,WAAW,CAAC;AAEhF,+BAAU,MAAM;AACd,QAAI,cAAc;AAChB;AAAA,IACF;AACA,UAAM,OAAO,kBAAkB,OAAO,QAAW,aAAa;AAC9D,QAAI,QAAQ,SAAS,eAAe;AAClC,uBAAiB,IAAI;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,OAAO,cAAc,aAAa,CAAC;AAEvC,QAAM,OAAO,QAAQ;AAAA,IACnB,sBAAsB,CAAC,EAAE,aAAa,MAAM;AAC1C,qBAAe;AAAA,IACjB;AAAA,EACF,CAAC;AAED,QAAM,kBAAc;AAAA,IAClB,MACE,cAAc,IAAI,CAAC,UAAU;AAAA,MAC3B,IAAI,KAAK;AAAA,MACT,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK,OAAQ,KAAK,OAA8B;AAAA,MACtD,SAAS,MAAM;AACb,YAAI,CAAC,KAAK,UAAU;AAClB,iBAAO,KAAK,EAAE;AAAA,QAChB;AAAA,MACF;AAAA,IACF,EAAE;AAAA,IACJ,CAAC,eAAe,MAAM;AAAA,EACxB;AAEA,QAAM,eAAe,MAAM,KAAK,CAAC,SAAS,KAAK,OAAO,UAAU;AAEhE,QAAM,UAAU;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,WAAW;AAAA,IACX,UAAU;AAAA,IACV,KAAK;AAAA,IACL,GAAG;AAAA,IACH,cAAc;AAAA,IACd,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAEA,QAAM,cAAc;AAAA,IAClB,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,GAAG;AAAA,IACH,GAAG;AAAA,IACH,cAAc;AAAA,IACd,OAAO;AAAA,IACP,YACE;AAAA,IACF,YAAY;AAAA,IACZ,WAAW;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,mBAAmB;AAAA,MACjB,SAAS;AAAA,MACT,eAAe;AAAA,IACjB;AAAA,IACA,2BAA2B;AAAA,MACzB,OAAO;AAAA,MACP,WAAW;AAAA,QACT,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAEA,QAAM,aAAa,CAAC,OAAe,CAAC,SAAmC;AACrE,QAAI,MAAM;AACR,eAAS,QAAQ,IAAI,IAAI,IAAI;AAAA,IAC/B,OAAO;AACL,eAAS,QAAQ,OAAO,EAAE;AAAA,IAC5B;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,IAAI;AAAA,QACF;AAAA,UACE,GAAG;AAAA,UACH,GAAG;AAAA,UACH,OAAO;AAAA,UACP,UAAU;AAAA,UACV,UAAU;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,UACT,eAAe;AAAA,UACf,YAAY;AAAA,UACZ,KAAK;AAAA,QACP;AAAA,QACA,WAAW,MAAM;AAAA,QACjB;AAAA,MACF;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,eAAW;AAAA,YACX,IAAI;AAAA,cACF,UAAU;AAAA,cACV,MAAM;AAAA,cACN,KAAK;AAAA,cACL,YAAY;AAAA,cACZ,eAAe;AAAA,cACf,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,KAAK;AAAA,cACL,OAAO;AAAA,cACP,UAAU;AAAA,YACZ;AAAA,YAEC,gBAAM,IAAI,CAAC,SACV;AAAA,cAAC;AAAA;AAAA,gBAEC,oBAAgB;AAAA,gBAChB,IAAI,EAAE,SAAS,eAAe,YAAY,EAAE;AAAA,gBAE5C,uDAAC,kBAAe,MAAY,YAAwB,QAAQ,OAAO;AAAA;AAAA,cAJ9D,WAAW,KAAK,EAAE;AAAA,YAKzB,CACD;AAAA;AAAA,QACH;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,eAAW;AAAA,YACX,IAAI;AAAA,cACF,UAAU;AAAA,cACV,MAAM;AAAA,cACN,KAAK;AAAA,cACL,YAAY;AAAA,cACZ,eAAe;AAAA,cACf,SAAS;AAAA,cACT,OAAO;AAAA,YACT;AAAA,YAEA,uDAAC,sBAAmB,YAAwB,MAAM,OAAO;AAAA;AAAA,QAC3D;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,MAAK;AAAA,YACL,IAAI;AAAA,cACF;AAAA,cACA,cACK,WAAW,MAAM,MAAM,WAAW,OAAO,KAC1C,WAAW,OAAO;AAAA,YACxB;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK;AAAA,kBACL,eAAW;AAAA,kBACX,IAAI;AAAA,oBACF;AAAA,sBACE,UAAU;AAAA,sBACV,KAAK;AAAA,sBACL,MAAM;AAAA,sBACN,OAAO;AAAA,sBACP,QAAQ;AAAA,sBACR,cAAc;AAAA,sBACd,QAAQ;AAAA,sBACR,SAAS;AAAA,sBACT,gBAAgB;AAAA,sBAChB,sBAAsB;AAAA,sBACtB,WAAW;AAAA,sBACX,SAAS;AAAA,sBACT,eAAe;AAAA,sBACf,QAAQ;AAAA;AAAA;AAAA,sBAGR,YAAY;AAAA,sBACZ,yBAAyB;AAAA,wBACvB,SAAS;AAAA,wBACT,gBAAgB;AAAA,wBAChB,sBAAsB;AAAA,wBACtB,WAAW;AAAA,sBACb;AAAA,oBACF;AAAA,oBACA,WAAW,WAAW;AAAA,kBACxB;AAAA;AAAA,cACF;AAAA,cAEC,aAAa,IAAI,CAAC,SAAS;AAC1B,sBAAM,SAAS,KAAK,OAAO;AAC3B,uBACE;AAAA,kBAAC;AAAA;AAAA,oBAEC,WAAU;AAAA,oBACV,MAAK;AAAA,oBACL,MAAK;AAAA,oBACL,iBAAe;AAAA,oBACf,UAAU,KAAK;AAAA,oBACf,KAAK,WAAW,KAAK,EAAE;AAAA,oBACvB,SAAS,MAAM,OAAO,KAAK,EAAE;AAAA,oBAC7B,IAAI;AAAA,sBACF;AAAA,wBACE,GAAG;AAAA,wBACH,QAAQ,KAAK,WAAW,gBAAgB;AAAA,wBACxC,SAAS,KAAK,WAAW,MAAM;AAAA,wBAC/B,GAAI,KAAK,WACL;AAAA,0BACE,OAAO;AAAA,0BACP,WAAW;AAAA,4BACT,OAAO;AAAA,0BACT;AAAA,wBACF,IACA;AAAA,sBACN;AAAA,sBACA,WAAW,KAAK;AAAA,oBAClB;AAAA,oBAEA;AAAA,sBAAC;AAAA;AAAA,wBACC;AAAA,wBACA;AAAA,wBACA;AAAA;AAAA,oBACF;AAAA;AAAA,kBA7BK,KAAK;AAAA,gBA8BZ;AAAA,cAEJ,CAAC;AAAA,cAEA,cACC,8EACE;AAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,WAAU;AAAA,oBACV,MAAK;AAAA,oBACL,iBAAc;AAAA,oBACd,iBAAe,QAAQ,KAAK,QAAQ;AAAA,oBACpC,cAAY,cAAc,cAAc,MAAM;AAAA,oBAC9C,SAAS,KAAK;AAAA,oBACd,IAAI;AAAA,sBACF;AAAA,wBACE,GAAG;AAAA,wBACH,QAAQ;AAAA,sBACV;AAAA,sBACA,WAAW,KAAK;AAAA,oBAClB;AAAA,oBAEA;AAAA,sBAAC;AAAA;AAAA,wBACC;AAAA,wBACA,MAAM,QAAQ,KAAK,QAAQ;AAAA;AAAA,oBAC7B;AAAA;AAAA,gBACF;AAAA,gBACA;AAAA,kBAAC;AAAA;AAAA,oBACC,WAAU;AAAA,oBACV,SAAS;AAAA,oBACT,eAAe;AAAA,sBACb,GAAG;AAAA,sBACH,cAAc,aAAa,CAAC,UAAU,IAAI,CAAC;AAAA,oBAC7C;AAAA;AAAA,gBACF;AAAA,iBACF,IACE;AAAA;AAAA;AAAA,QACN;AAAA,QAEC,cAAc,WAAW,OACxB;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,IAAI,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW,OAAO,EAAE;AAAA,YAEhD,uBAAa;AAAA;AAAA,QAChB,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;","names":["import_react","import_PhotoSizeSelectLarge","import_Close","import_Person","import_DeleteForever","import_AccountTreeOutlined","import_styles","MenuItem","ListItemIcon","ListItemText","MenuList","import_MenuItem","import_jsx_runtime","Paper","import_react","import_jsx_runtime","import_react","import_jsx_runtime"]}
|
package/dist/tab.mjs
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TabPanel,
|
|
3
|
+
default as default2,
|
|
4
|
+
default2 as default3,
|
|
5
|
+
tabPanelRootSx,
|
|
6
|
+
tabPanelStyleToCssVars,
|
|
7
|
+
tabTheme,
|
|
8
|
+
tabsTheme
|
|
9
|
+
} from "./chunk-IN3O4R7Q.mjs";
|
|
10
|
+
import "./chunk-HR3A4H4E.mjs";
|
|
11
|
+
import "./chunk-TDRA5EZI.mjs";
|
|
12
|
+
import "./chunk-3DQINB57.mjs";
|
|
13
|
+
import "./chunk-BGB7JHIU.mjs";
|
|
14
|
+
import "./chunk-T4X375IG.mjs";
|
|
15
|
+
import "./chunk-3VUAM2GY.mjs";
|
|
16
|
+
import "./chunk-MDAUF7IL.mjs";
|
|
17
|
+
import "./chunk-I5JWS4Z7.mjs";
|
|
18
|
+
import "./chunk-JIU5GVM7.mjs";
|
|
19
|
+
import "./chunk-4Q54P737.mjs";
|
|
20
|
+
import "./chunk-OP6LKXPA.mjs";
|
|
21
|
+
import "./chunk-ZVFYOXDE.mjs";
|
|
22
|
+
import "./chunk-4RPFRNXG.mjs";
|
|
23
|
+
import "./chunk-S6EZVRZC.mjs";
|
|
24
|
+
import "./chunk-FJ6ZGZIA.mjs";
|
|
25
|
+
export {
|
|
26
|
+
default2 as Tab,
|
|
27
|
+
TabPanel,
|
|
28
|
+
default3 as Tabs,
|
|
29
|
+
tabPanelRootSx,
|
|
30
|
+
tabPanelStyleToCssVars,
|
|
31
|
+
tabTheme,
|
|
32
|
+
tabsTheme
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=tab.mjs.map
|
package/dist/tab.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|