@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
|
@@ -0,0 +1,565 @@
|
|
|
1
|
+
import {
|
|
2
|
+
default as default4
|
|
3
|
+
} from "./chunk-27KYFU7R.mjs";
|
|
4
|
+
import {
|
|
5
|
+
CLASSNAMEs
|
|
6
|
+
} from "./chunk-CWFWRZWU.mjs";
|
|
7
|
+
import {
|
|
8
|
+
MenuPopper,
|
|
9
|
+
useMenu
|
|
10
|
+
} from "./chunk-HR3A4H4E.mjs";
|
|
11
|
+
import {
|
|
12
|
+
Badge
|
|
13
|
+
} from "./chunk-56TI2ZBT.mjs";
|
|
14
|
+
import {
|
|
15
|
+
IconButton_default
|
|
16
|
+
} from "./chunk-JIU5GVM7.mjs";
|
|
17
|
+
import {
|
|
18
|
+
Subscript
|
|
19
|
+
} from "./chunk-4RPFRNXG.mjs";
|
|
20
|
+
import {
|
|
21
|
+
default as default2,
|
|
22
|
+
default2 as default3,
|
|
23
|
+
mergeSx
|
|
24
|
+
} from "./chunk-S6EZVRZC.mjs";
|
|
25
|
+
import {
|
|
26
|
+
__export
|
|
27
|
+
} from "./chunk-FJ6ZGZIA.mjs";
|
|
28
|
+
|
|
29
|
+
// src/components/elemental/Avatar/src/Avatar/Avatar.tsx
|
|
30
|
+
import MuiAvatar from "@mui/material/Avatar";
|
|
31
|
+
|
|
32
|
+
// src/components/elemental/Avatar/src/_utils/_const.ts
|
|
33
|
+
var AVATARBUTTON_STANDARD_DIMENSIONs = {
|
|
34
|
+
xs: "36px",
|
|
35
|
+
sm: "100px",
|
|
36
|
+
md: "120px",
|
|
37
|
+
lg: "200px",
|
|
38
|
+
xl: "240px"
|
|
39
|
+
};
|
|
40
|
+
var AVATAR_SIZEs = {
|
|
41
|
+
xs: "20px",
|
|
42
|
+
sm: "24px",
|
|
43
|
+
md: "40px",
|
|
44
|
+
lg: "56px",
|
|
45
|
+
xl: "80px"
|
|
46
|
+
};
|
|
47
|
+
var AVATAR_SX = {
|
|
48
|
+
column: {
|
|
49
|
+
stackSX: {
|
|
50
|
+
xs: { gap: 0.5 },
|
|
51
|
+
sm: { gap: 0.5 },
|
|
52
|
+
md: { gap: 0.75 },
|
|
53
|
+
lg: { gap: 1 },
|
|
54
|
+
xl: { gap: 1 }
|
|
55
|
+
},
|
|
56
|
+
fontSize: "0.6rem"
|
|
57
|
+
},
|
|
58
|
+
row: {
|
|
59
|
+
stackSX: {
|
|
60
|
+
xs: { gap: 0.75 },
|
|
61
|
+
sm: { gap: 0.75 },
|
|
62
|
+
md: { gap: 1 },
|
|
63
|
+
lg: { gap: 1.5 },
|
|
64
|
+
xl: { gap: 2 }
|
|
65
|
+
},
|
|
66
|
+
fontSize: "0.8rem"
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// src/components/elemental/Avatar/src/Avatar/Avatar.tsx
|
|
71
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
72
|
+
function Avatar(props) {
|
|
73
|
+
const {
|
|
74
|
+
name,
|
|
75
|
+
src,
|
|
76
|
+
size = "md",
|
|
77
|
+
// sm, md, lg
|
|
78
|
+
fontSize,
|
|
79
|
+
displayName = true,
|
|
80
|
+
direction = "column",
|
|
81
|
+
dim = {},
|
|
82
|
+
backgroundIcon,
|
|
83
|
+
...rest
|
|
84
|
+
} = props;
|
|
85
|
+
const h = dim.height || AVATAR_SIZEs[size];
|
|
86
|
+
const w = dim.width || AVATAR_SIZEs[size];
|
|
87
|
+
return /* @__PURE__ */ jsxs(
|
|
88
|
+
default3,
|
|
89
|
+
{
|
|
90
|
+
className: CLASSNAMEs.elemental.avatar.root,
|
|
91
|
+
style: {
|
|
92
|
+
"--AVATAR_SX": direction,
|
|
93
|
+
"--gap": AVATAR_SX[direction]?.stackSX[size]?.gap
|
|
94
|
+
},
|
|
95
|
+
sx: () => ({
|
|
96
|
+
direction: "var(--AVATAR_SX)",
|
|
97
|
+
gap: `calc(var(--gap) * 8px)`,
|
|
98
|
+
justifyContent: "center",
|
|
99
|
+
overflow: "hidden"
|
|
100
|
+
}),
|
|
101
|
+
alignItems: "center",
|
|
102
|
+
direction,
|
|
103
|
+
children: [
|
|
104
|
+
/* @__PURE__ */ jsx(
|
|
105
|
+
AvatarSkel,
|
|
106
|
+
{
|
|
107
|
+
name,
|
|
108
|
+
src,
|
|
109
|
+
h,
|
|
110
|
+
w,
|
|
111
|
+
backgroundIcon,
|
|
112
|
+
...rest
|
|
113
|
+
}
|
|
114
|
+
),
|
|
115
|
+
name && displayName && /* @__PURE__ */ jsx(NameSkel, { name, direction, fontSize })
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
function AvatarSkel(props) {
|
|
121
|
+
const { name, src, h, w, backgroundIcon, ...rest } = props;
|
|
122
|
+
if (!name && !src) return /* @__PURE__ */ jsx(default4, { variant: "circular", width: w, height: h });
|
|
123
|
+
if (backgroundIcon) return /* @__PURE__ */ jsx(default3, { sx: {
|
|
124
|
+
position: "relative",
|
|
125
|
+
width: w,
|
|
126
|
+
height: h,
|
|
127
|
+
alignItems: "center",
|
|
128
|
+
justifyContent: "center",
|
|
129
|
+
"&>svg": {
|
|
130
|
+
height: w,
|
|
131
|
+
width: h,
|
|
132
|
+
padding: "0.25em",
|
|
133
|
+
borderRadius: "50%"
|
|
134
|
+
}
|
|
135
|
+
}, children: backgroundIcon });
|
|
136
|
+
return /* @__PURE__ */ jsx(NameAvatar, { name, src, h, w, ...rest });
|
|
137
|
+
}
|
|
138
|
+
function NameSkel(props) {
|
|
139
|
+
const { name, direction, fontSize } = props;
|
|
140
|
+
if (!name) return /* @__PURE__ */ jsx(default4, { variant: "text", width: 40, height: 20 });
|
|
141
|
+
const fs = typeof fontSize === "number" ? `${fontSize}px` : fontSize;
|
|
142
|
+
return /* @__PURE__ */ jsx(
|
|
143
|
+
Subscript,
|
|
144
|
+
{
|
|
145
|
+
fontSize: fs || AVATAR_SX[direction]?.fontSize,
|
|
146
|
+
lineHeight: "1.2",
|
|
147
|
+
style: {
|
|
148
|
+
"--fs-n": fontSize || AVATAR_SX[direction]?.fontSize,
|
|
149
|
+
"--lh-n": "1.2"
|
|
150
|
+
},
|
|
151
|
+
sx: {
|
|
152
|
+
"&.MuiTypography-root": {
|
|
153
|
+
whiteSpace: "nowrap",
|
|
154
|
+
fontSize: "var(--fs-n)",
|
|
155
|
+
lineHeight: "var(--lh-n)",
|
|
156
|
+
WebkitLineClamp: "3",
|
|
157
|
+
WebkitBoxOrient: "vertical",
|
|
158
|
+
maxWidth: "-webkit-fill-available",
|
|
159
|
+
lineBreak: "anywhere"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
children: name
|
|
163
|
+
}
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
function NameAvatar(props) {
|
|
167
|
+
const { name, src, h, w, ...rest } = props;
|
|
168
|
+
return /* @__PURE__ */ jsx(
|
|
169
|
+
MuiAvatar,
|
|
170
|
+
{
|
|
171
|
+
...stringAvatar(name, src),
|
|
172
|
+
...rest,
|
|
173
|
+
style: {
|
|
174
|
+
"--w": typeof w === "number" ? `${w}px` : w,
|
|
175
|
+
"--h": typeof h === "number" ? `${h}px` : h,
|
|
176
|
+
"--fs": "calc(var(--w) / 2)"
|
|
177
|
+
// half of the height, so it will be fit in the circle
|
|
178
|
+
},
|
|
179
|
+
sx: {
|
|
180
|
+
"&.MuiAvatar-root": {
|
|
181
|
+
fontSize: "var(--fs)",
|
|
182
|
+
color: "var(--avatar-color)",
|
|
183
|
+
backgroundColor: "transparent",
|
|
184
|
+
width: "var(--w)",
|
|
185
|
+
height: "var(--h)"
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
function stringAvatar(name, src) {
|
|
192
|
+
if (src) return { src };
|
|
193
|
+
if (!name) return { children: "" };
|
|
194
|
+
const splitName = name.split(" ");
|
|
195
|
+
const first = splitName[0] || "";
|
|
196
|
+
const second = splitName[1] || "";
|
|
197
|
+
const str = `${first[0] || ""}${second[0] || ""}`;
|
|
198
|
+
return {
|
|
199
|
+
children: str
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// src/components/elemental/Avatar/src/Avatar/themes.ts
|
|
204
|
+
var avatarTheme = {
|
|
205
|
+
styleOverrides: {
|
|
206
|
+
root: {
|
|
207
|
+
"--avatar-bg": "var(--mui-palette-action-selected)",
|
|
208
|
+
"--avatar-color": "var(--mui-palette-text-primary)",
|
|
209
|
+
backgroundColor: "var(--avatar-bg)",
|
|
210
|
+
color: "var(--avatar-color)"
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
var avatarButtonRootSx = {
|
|
215
|
+
"--avatar-button-text": "var(--mui-palette-text-primary)",
|
|
216
|
+
"--avatar-hover-icon-color": "var(--mui-palette-text-subscript)"
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
// src/components/elemental/Avatar/src/Avatar/AvatarButton.tsx
|
|
220
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
221
|
+
var pos = {
|
|
222
|
+
top: { dir: "column-reverse", gap: 0.5, direction: "column" },
|
|
223
|
+
bottom: { dir: "column", gap: 0.5, direction: "column" },
|
|
224
|
+
left: { dir: "row-reverse", gap: 1, direction: "row" },
|
|
225
|
+
right: { dir: "row", gap: 1, direction: "row" }
|
|
226
|
+
};
|
|
227
|
+
function AvatarButton(props) {
|
|
228
|
+
const {
|
|
229
|
+
onClick,
|
|
230
|
+
size = "md",
|
|
231
|
+
disabled = false,
|
|
232
|
+
dim,
|
|
233
|
+
backgroundUrl = "transparent",
|
|
234
|
+
icon = null,
|
|
235
|
+
fontSize,
|
|
236
|
+
name = "",
|
|
237
|
+
src = "",
|
|
238
|
+
showName = false,
|
|
239
|
+
namePosition = "bottom",
|
|
240
|
+
// namePosition: top, bottom, left, right
|
|
241
|
+
backgroundIcon,
|
|
242
|
+
hasBorder = true,
|
|
243
|
+
"aria-label": ariaLabel
|
|
244
|
+
} = props;
|
|
245
|
+
const _dim = {
|
|
246
|
+
w: dim?.width ?? AVATARBUTTON_STANDARD_DIMENSIONs[size],
|
|
247
|
+
h: dim?.height ?? AVATARBUTTON_STANDARD_DIMENSIONs[size]
|
|
248
|
+
};
|
|
249
|
+
return /* @__PURE__ */ jsxs2(
|
|
250
|
+
default2,
|
|
251
|
+
{
|
|
252
|
+
className: CLASSNAMEs.elemental.avatar.button,
|
|
253
|
+
sx: mergeSx(avatarButtonRootSx, {
|
|
254
|
+
display: "flex",
|
|
255
|
+
flexDirection: pos[namePosition]?.dir,
|
|
256
|
+
alignItems: "center",
|
|
257
|
+
gap: pos[namePosition]?.gap
|
|
258
|
+
}),
|
|
259
|
+
children: [
|
|
260
|
+
/* @__PURE__ */ jsx2(
|
|
261
|
+
IconButton_default,
|
|
262
|
+
{
|
|
263
|
+
onClick,
|
|
264
|
+
disabled,
|
|
265
|
+
disableRipple: true,
|
|
266
|
+
"aria-label": ariaLabel,
|
|
267
|
+
style: {
|
|
268
|
+
"--bg": backgroundUrl,
|
|
269
|
+
"--bg-size": _dim.w,
|
|
270
|
+
"--size": _dim.w,
|
|
271
|
+
"--shadow": hasBorder ? "var(--mui-palette-shadow-border-1)" : "none"
|
|
272
|
+
},
|
|
273
|
+
sx: {
|
|
274
|
+
"&.MuiButtonBase-root": {
|
|
275
|
+
border: "none",
|
|
276
|
+
position: "relative",
|
|
277
|
+
color: "var(--avatar-button-text)",
|
|
278
|
+
background: "var(--bg)",
|
|
279
|
+
backgroundSize: "var(--bg-size)",
|
|
280
|
+
width: "var(--size)",
|
|
281
|
+
height: "var(--size)",
|
|
282
|
+
// allow overlay banner to fit the button
|
|
283
|
+
padding: 0,
|
|
284
|
+
// shadow
|
|
285
|
+
boxShadow: "var(--shadow)",
|
|
286
|
+
borderRadius: "50%",
|
|
287
|
+
// hover effect
|
|
288
|
+
"&:hover, &.Mui-focusVisible": {
|
|
289
|
+
zIndex: 1,
|
|
290
|
+
"& .MuiImageBackdrop-root": {
|
|
291
|
+
opacity: 0.5
|
|
292
|
+
},
|
|
293
|
+
"& .MuiImageMarked-root": {
|
|
294
|
+
opacity: 0
|
|
295
|
+
},
|
|
296
|
+
"& .MuiTypography-root": {
|
|
297
|
+
border: "4px solid currentColor"
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
children: /* @__PURE__ */ jsxs2(default2, { sx: {
|
|
303
|
+
width: "100%",
|
|
304
|
+
position: "absolute",
|
|
305
|
+
top: 0,
|
|
306
|
+
left: 0,
|
|
307
|
+
right: 0,
|
|
308
|
+
bottom: 0,
|
|
309
|
+
zIndex: 1,
|
|
310
|
+
"&>.MuiStack-root": {
|
|
311
|
+
width: "100%",
|
|
312
|
+
height: "100%",
|
|
313
|
+
maxWidth: "100%",
|
|
314
|
+
maxHeight: "100%"
|
|
315
|
+
}
|
|
316
|
+
}, children: [
|
|
317
|
+
/* @__PURE__ */ jsx2(ImageBackdrop, {}),
|
|
318
|
+
/* @__PURE__ */ jsx2(HoverIcon, { icon }),
|
|
319
|
+
/* @__PURE__ */ jsx2(
|
|
320
|
+
Avatar,
|
|
321
|
+
{
|
|
322
|
+
name,
|
|
323
|
+
src,
|
|
324
|
+
backgroundIcon,
|
|
325
|
+
displayName: false,
|
|
326
|
+
dim: {
|
|
327
|
+
width: _dim.w,
|
|
328
|
+
height: _dim.h
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
)
|
|
332
|
+
] })
|
|
333
|
+
}
|
|
334
|
+
),
|
|
335
|
+
showName && /* @__PURE__ */ jsx2(NameSkel, { name, direction: pos[namePosition].direction, fontSize })
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
);
|
|
339
|
+
}
|
|
340
|
+
function HoverIcon({ icon }) {
|
|
341
|
+
return /* @__PURE__ */ jsx2(
|
|
342
|
+
default2,
|
|
343
|
+
{
|
|
344
|
+
className: "HoverIcon-root",
|
|
345
|
+
sx: {
|
|
346
|
+
position: "absolute",
|
|
347
|
+
top: 0,
|
|
348
|
+
left: 0,
|
|
349
|
+
right: 0,
|
|
350
|
+
bottom: 0,
|
|
351
|
+
zIndex: 2,
|
|
352
|
+
"&>*": { display: "none" },
|
|
353
|
+
"&:hover>*": { display: "flex" },
|
|
354
|
+
borderRadius: "50%"
|
|
355
|
+
},
|
|
356
|
+
children: /* @__PURE__ */ jsx2(default2, { sx: {
|
|
357
|
+
width: "100%",
|
|
358
|
+
height: "100%",
|
|
359
|
+
display: "none",
|
|
360
|
+
justifyContent: "center",
|
|
361
|
+
alignItems: "center",
|
|
362
|
+
color: "var(--avatar-hover-icon-color)"
|
|
363
|
+
}, children: icon })
|
|
364
|
+
}
|
|
365
|
+
);
|
|
366
|
+
}
|
|
367
|
+
function ImageBackdrop() {
|
|
368
|
+
return /* @__PURE__ */ jsx2(
|
|
369
|
+
default2,
|
|
370
|
+
{
|
|
371
|
+
component: "span",
|
|
372
|
+
className: "MuiImageBackdrop-root",
|
|
373
|
+
sx: {
|
|
374
|
+
zIndex: 2,
|
|
375
|
+
position: "absolute",
|
|
376
|
+
left: 0,
|
|
377
|
+
right: 0,
|
|
378
|
+
top: 0,
|
|
379
|
+
bottom: 0,
|
|
380
|
+
backgroundColor: "#000",
|
|
381
|
+
// photo overlay — CSS variable tokens cannot reliably target this layer
|
|
382
|
+
opacity: 0,
|
|
383
|
+
transition: "opacity 0.3s",
|
|
384
|
+
borderRadius: "50%"
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// src/components/elemental/Avatar/src/StatusAvatar/StatusAvatar.tsx
|
|
391
|
+
var StatusAvatar_exports = {};
|
|
392
|
+
__export(StatusAvatar_exports, {
|
|
393
|
+
Renderer: () => Renderer,
|
|
394
|
+
status: () => status
|
|
395
|
+
});
|
|
396
|
+
import { styled } from "@mui/material/styles";
|
|
397
|
+
|
|
398
|
+
// src/components/elemental/Avatar/src/StatusAvatar/theme.ts
|
|
399
|
+
var statusAvatarRootSx = {
|
|
400
|
+
"--status-badge-shadow": "var(--mui-palette-background-default)",
|
|
401
|
+
"--status-color-online": "var(--mui-palette-success-main)",
|
|
402
|
+
"--status-color-away": "var(--mui-palette-warning-main)",
|
|
403
|
+
"--status-color-busy": "var(--mui-palette-error-main)",
|
|
404
|
+
"--status-color-offline": "var(--mui-palette-grey-500)"
|
|
405
|
+
};
|
|
406
|
+
|
|
407
|
+
// src/components/elemental/Avatar/src/StatusAvatar/StatusAvatar.tsx
|
|
408
|
+
import { Fragment, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
409
|
+
var USER_STATUSs = {
|
|
410
|
+
online: "online",
|
|
411
|
+
away: "away",
|
|
412
|
+
busy: "busy",
|
|
413
|
+
offline: "offline",
|
|
414
|
+
invisible: "invisible"
|
|
415
|
+
};
|
|
416
|
+
var changable_status = Object.values(USER_STATUSs).filter((s) => s !== "offline");
|
|
417
|
+
function Renderer(props) {
|
|
418
|
+
const {
|
|
419
|
+
name,
|
|
420
|
+
src,
|
|
421
|
+
status: status2,
|
|
422
|
+
handleStatusChange,
|
|
423
|
+
statusEditable,
|
|
424
|
+
slotProps
|
|
425
|
+
} = props;
|
|
426
|
+
const p = useMenu({
|
|
427
|
+
multiple: false,
|
|
428
|
+
initSelected: [status2]
|
|
429
|
+
});
|
|
430
|
+
return /* @__PURE__ */ jsxs3(Fragment, { children: [
|
|
431
|
+
/* @__PURE__ */ jsx3(
|
|
432
|
+
StyledBadge,
|
|
433
|
+
{
|
|
434
|
+
status: status2,
|
|
435
|
+
overlap: "circular",
|
|
436
|
+
anchorOrigin: {
|
|
437
|
+
vertical: "bottom",
|
|
438
|
+
horizontal: "right"
|
|
439
|
+
},
|
|
440
|
+
variant: "dot",
|
|
441
|
+
sx: mergeSx(statusAvatarRootSx, {
|
|
442
|
+
height: "fit-content"
|
|
443
|
+
}),
|
|
444
|
+
children: statusEditable ? /* @__PURE__ */ jsx3(AvatarButton, { name, src, ...slotProps?.avatarButton, onClick: p.onTriggerClickHandler }) : /* @__PURE__ */ jsx3(Avatar, { name, src, ...slotProps?.avatar, displayName: false })
|
|
445
|
+
}
|
|
446
|
+
),
|
|
447
|
+
/* @__PURE__ */ jsx3(
|
|
448
|
+
MenuPopper,
|
|
449
|
+
{
|
|
450
|
+
openMenuProps: p,
|
|
451
|
+
options: changable_status.map((s) => ({
|
|
452
|
+
id: s,
|
|
453
|
+
label: s,
|
|
454
|
+
onClick: () => {
|
|
455
|
+
p.closeHandler();
|
|
456
|
+
if (handleStatusChange) handleStatusChange(s);
|
|
457
|
+
}
|
|
458
|
+
}))
|
|
459
|
+
}
|
|
460
|
+
)
|
|
461
|
+
] });
|
|
462
|
+
}
|
|
463
|
+
var status = USER_STATUSs;
|
|
464
|
+
var StyledBadge = styled(Badge, {
|
|
465
|
+
shouldForwardProp: (p) => p !== "status"
|
|
466
|
+
})(() => ({
|
|
467
|
+
"& .MuiBadge-badge": {
|
|
468
|
+
width: "15%",
|
|
469
|
+
height: "15%",
|
|
470
|
+
minWidth: "10px",
|
|
471
|
+
minHeight: "10px",
|
|
472
|
+
borderRadius: "50%",
|
|
473
|
+
borderColor: "transparent",
|
|
474
|
+
backgroundColor: "var(--color)",
|
|
475
|
+
color: "var(--color)",
|
|
476
|
+
boxShadow: `0 0 0 2px var(--status-badge-shadow)`,
|
|
477
|
+
display: "var(--display)",
|
|
478
|
+
"&::after": {
|
|
479
|
+
position: "absolute",
|
|
480
|
+
top: 0,
|
|
481
|
+
left: 0,
|
|
482
|
+
width: "100%",
|
|
483
|
+
height: "100%",
|
|
484
|
+
borderRadius: "50%",
|
|
485
|
+
animation: "var(--animate)",
|
|
486
|
+
border: "1px solid currentColor",
|
|
487
|
+
content: '""'
|
|
488
|
+
}
|
|
489
|
+
},
|
|
490
|
+
"@keyframes ripple": {
|
|
491
|
+
"0%": {
|
|
492
|
+
transform: "scale(.8)",
|
|
493
|
+
opacity: 1
|
|
494
|
+
},
|
|
495
|
+
"100%": {
|
|
496
|
+
transform: "scale(2.4)",
|
|
497
|
+
opacity: 0
|
|
498
|
+
}
|
|
499
|
+
},
|
|
500
|
+
variants: [
|
|
501
|
+
{
|
|
502
|
+
props: { status: USER_STATUSs.online },
|
|
503
|
+
style: {
|
|
504
|
+
"--color": "var(--status-color-online)",
|
|
505
|
+
"--animate": "ripple 1.2s infinite ease-in-out",
|
|
506
|
+
// ripple animation
|
|
507
|
+
"--display": "block"
|
|
508
|
+
// show the dot
|
|
509
|
+
}
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
props: { status: USER_STATUSs.away },
|
|
513
|
+
style: {
|
|
514
|
+
"--color": "var(--status-color-away)",
|
|
515
|
+
"--animate": "none",
|
|
516
|
+
// no animation
|
|
517
|
+
"--display": "block"
|
|
518
|
+
// show the dot
|
|
519
|
+
}
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
props: { status: USER_STATUSs.busy },
|
|
523
|
+
style: {
|
|
524
|
+
"--color": "var(--status-color-busy)",
|
|
525
|
+
"--animate": "none",
|
|
526
|
+
// no animation
|
|
527
|
+
"--display": "block"
|
|
528
|
+
// show the dot
|
|
529
|
+
}
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
props: { status: USER_STATUSs.offline },
|
|
533
|
+
style: {
|
|
534
|
+
"--color": "var(--status-color-offline)",
|
|
535
|
+
"--animate": "none",
|
|
536
|
+
// no animation
|
|
537
|
+
"--display": "block"
|
|
538
|
+
// show the dot
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
props: { status: USER_STATUSs.invisible },
|
|
543
|
+
style: {
|
|
544
|
+
"--color": "var(--status-color-offline)",
|
|
545
|
+
"--animate": "none",
|
|
546
|
+
// no animation
|
|
547
|
+
"--display": "block"
|
|
548
|
+
// show the dot
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
]
|
|
552
|
+
}));
|
|
553
|
+
|
|
554
|
+
export {
|
|
555
|
+
AVATARBUTTON_STANDARD_DIMENSIONs,
|
|
556
|
+
AVATAR_SIZEs,
|
|
557
|
+
AVATAR_SX,
|
|
558
|
+
Avatar,
|
|
559
|
+
NameSkel,
|
|
560
|
+
avatarTheme,
|
|
561
|
+
avatarButtonRootSx,
|
|
562
|
+
AvatarButton,
|
|
563
|
+
StatusAvatar_exports
|
|
564
|
+
};
|
|
565
|
+
//# sourceMappingURL=chunk-Y74ALKBL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/elemental/Avatar/src/Avatar/Avatar.tsx","../src/components/elemental/Avatar/src/_utils/_const.ts","../src/components/elemental/Avatar/src/Avatar/themes.ts","../src/components/elemental/Avatar/src/Avatar/AvatarButton.tsx","../src/components/elemental/Avatar/src/StatusAvatar/StatusAvatar.tsx","../src/components/elemental/Avatar/src/StatusAvatar/theme.ts"],"sourcesContent":["import MuiAvatar, {type AvatarProps} from '@mui/material/Avatar'\nimport { CLASSNAMEs } from '@/_utils/_const/classNames';\nimport { Stack } from '@/ele/Box'\nimport { Skeleton } from '@/ele/Skeleton'\n\nimport { Subscript } from '@/ele/Typography'\n\nimport { AVATAR_SIZEs, AVATAR_SX, type Size } from '../_utils'\n\ninterface MuiAvatarProps {\n name?: string;\n src?: string;\n size?: Size;\n fontSize?: string | number;\n displayName?: boolean;\n direction?: 'column' | 'row';\n dim?: {\n width?: string | number;\n height?: string | number;\n };\n backgroundIcon?: React.ReactNode;\n}\n\n/**\n * A styled Mui Avatar component\n * \n * [Doc](https://mui.com/material-ui/api/avatar/)\n */\nexport default function Avatar(props: MuiAvatarProps) {\n const {\n name,\n src,\n size=\"md\", // sm, md, lg\n fontSize, \n displayName=true, \n direction=\"column\",\n dim={},\n backgroundIcon,\n ...rest\n } = props\n\n const h = dim.height || AVATAR_SIZEs[size]\n const w = dim.width || AVATAR_SIZEs[size]\n\n return (\n <Stack\n className={CLASSNAMEs.elemental.avatar.root}\n style={{\n '--AVATAR_SX': direction,\n '--gap': AVATAR_SX[direction]?.stackSX[size]?.gap,\n } as React.CSSProperties}\n sx={() => ({\n direction:\"var(--AVATAR_SX)\",\n gap: `calc(var(--gap) * 8px)`,\n justifyContent: \"center\",\n overflow: \"hidden\",\n })} \n alignItems=\"center\" direction={direction}>\n <AvatarSkel \n name={name} \n src={src} \n h={h} \n w={w} \n backgroundIcon={backgroundIcon} \n {...rest}\n />\n {name && displayName && <NameSkel name={name} direction={direction} fontSize={fontSize}/>}\n </Stack>\n )\n}\n\ninterface AvatarSkelProps extends Omit<AvatarProps, \"children\"> {\n name?: string;\n src?: string;\n h: string | number;\n w: string | number;\n backgroundIcon?: React.ReactNode;\n}\n\nfunction AvatarSkel(props: AvatarSkelProps) {\n const { name, src, h, w, backgroundIcon, ...rest } = props\n if(!name && !src) return <Skeleton variant=\"circular\" width={w} height={h} />\n if(backgroundIcon) return (<Stack sx={{\n position: 'relative', width: w, height: h,\n alignItems: 'center', justifyContent: 'center',\n \"&>svg\":{\n height: w, width: h,\n padding: '0.25em',\n borderRadius: '50%',\n },\n }}>{backgroundIcon}</Stack>)\n return (<NameAvatar name={name} src={src} h={h} w={w} {...rest}/>)\n}\n\ninterface NameSkelProps {\n name?: string;\n direction: 'column' | 'row';\n fontSize?: string | number;\n}\n\n/**\n * A Mui Skeleton component which used as a placeholder for loading image\n * \n * [Doc](https://mui.com/material-ui/api/skeleton/)\n */\nexport function NameSkel(props: NameSkelProps) {\n const { name, direction, fontSize } = props\n if(!name) return <Skeleton variant=\"text\" width={40} height={20} />\n\n const fs = typeof fontSize === 'number' ? `${fontSize}px` : fontSize\n return <Subscript fontSize={fs || AVATAR_SX[direction]?.fontSize} lineHeight=\"1.2\" \n style={{\n \"--fs-n\": fontSize || AVATAR_SX[direction]?.fontSize,\n \"--lh-n\": \"1.2\",\n } as React.CSSProperties}\n sx={{\n \"&.MuiTypography-root\":{\n whiteSpace:\"nowrap\",\n fontSize: \"var(--fs-n)\",\n lineHeight: \"var(--lh-n)\",\n WebkitLineClamp: \"3\",\n WebkitBoxOrient: \"vertical\",\n maxWidth: '-webkit-fill-available',\n lineBreak: 'anywhere',\n },\n }}>{name}</Subscript>\n\n}\n\ninterface NameAvatarProps extends Omit<AvatarProps, \"children\"> {\n name?: string;\n src?: string;\n h: string | number;\n w: string | number;\n}\n\nfunction NameAvatar(props: NameAvatarProps) {\n const { name, src, h, w, ...rest } = props\n return (\n <MuiAvatar \n {...stringAvatar(name,src)} \n {...rest} \n \n style={{\n '--w': typeof w === 'number' ? `${w}px` : w,\n '--h': typeof h === 'number' ? `${h}px` : h,\n '--fs': \"calc(var(--w) / 2)\", // half of the height, so it will be fit in the circle\n } as React.CSSProperties} \n sx={{\n \"&.MuiAvatar-root\":{\n fontSize: \"var(--fs)\",\n color: 'var(--avatar-color)',\n backgroundColor: 'transparent',\n width: 'var(--w)',\n height: 'var(--h)',\n },\n }}\n />)\n}\nfunction stringAvatar(name?:string,src?:string){\n if(src) return {src}\n if(!name) return { children: '' }\n\n const splitName = name.split(' ')\n const first = splitName[0] || ''\n const second = splitName[1] || ''\n const str = `${first[0] || ''}${second[0] || ''}`\n\n return {\n children: str,\n }\n}","import type { Size } from '../_utils'\n\nexport const AVATARBUTTON_STANDARD_DIMENSIONs = {\n xs:\"36px\",\n sm: \"100px\",\n md: \"120px\",\n lg: \"200px\",\n xl: \"240px\",\n} as const satisfies Record<Size, string>;\n\nexport const AVATAR_SIZEs = {\n xs: \"20px\",\n sm: \"24px\",\n md: \"40px\",\n lg: \"56px\",\n xl: \"80px\",\n} as const satisfies Record<Size, string>;\n\nexport const AVATAR_SX = {\n column:{\n stackSX:{\n xs: {gap: 0.5},\n sm: {gap: 0.5},\n md: {gap: 0.75},\n lg: {gap: 1},\n xl: {gap: 1},\n },\n fontSize: \"0.6rem\",\n },\n row:{\n stackSX:{\n xs: {gap: 0.75},\n sm: {gap: 0.75},\n md: {gap: 1},\n lg: {gap: 1.5},\n xl: {gap: 2},\n },\n fontSize: \"0.8rem\",\n }\n} as const satisfies {\n [key in 'column' | 'row']: {\n stackSX: Record<Size, {gap:number}>,\n fontSize: string,\n }\n};","import type { MuiComponentTheme } from '@/_utils/_types'\nimport type { SxProps, Theme } from '@mui/material/styles'\n\nexport const avatarTheme = {\n styleOverrides: {\n root: {\n '--avatar-bg': 'var(--mui-palette-action-selected)',\n '--avatar-color': 'var(--mui-palette-text-primary)',\n backgroundColor: 'var(--avatar-bg)',\n color: 'var(--avatar-color)',\n },\n },\n} as const satisfies MuiComponentTheme<'MuiAvatar'>\n\n/** Static palette aliases for AvatarButton root element */\nexport const avatarButtonRootSx: SxProps<Theme> = {\n '--avatar-button-text': 'var(--mui-palette-text-primary)',\n '--avatar-hover-icon-color': 'var(--mui-palette-text-subscript)',\n} as const satisfies SxProps<Theme>\n","import React from 'react'\nimport { IconButton } from '@/ele/Button'\nimport { Box } from '@/ele/Box'\n\nimport Avatar, { NameSkel } from './Avatar'\nimport { CLASSNAMEs } from '@/_utils/_const/classNames';\nimport { Size, AVATARBUTTON_STANDARD_DIMENSIONs } from '../_utils'\nimport { avatarButtonRootSx } from './themes'\nimport { mergeSx } from '@/_utils/_func'\n\nconst pos = {\n top: {dir:\"column-reverse\",gap:0.5,direction:\"column\"},\n bottom: {dir:\"column\",gap:0.5,direction:\"column\"},\n left: {dir:\"row-reverse\",gap:1,direction:\"row\"},\n right: {dir:\"row\",gap:1,direction:\"row\"},\n} as const\n\ninterface AvatarButtonProps {\n onClick?: React.ComponentProps<typeof IconButton>['onClick'];\n size?: Size;\n disabled?: boolean;\n dim?: React.ComponentProps<typeof Avatar>['dim'];\n\n backgroundUrl?: string;\n backgroundIcon?: React.ReactNode;\n icon?: React.ReactNode;\n fontSize?: string | number;\n\n name?: string; \n src?: string;\n showName?: boolean;\n namePosition?: keyof typeof pos;\n hasBorder?: boolean;\n 'aria-label'?: string;\n}\n\n/**\n * A clickable Mui Avatar component\n * \n * use button to wrap an Avatar component\n * \n * logic:\n * use backgroundIcon if any\n * then use backgroundUrl if any\n * then name if any\n */\nexport default function AvatarButton(props: AvatarButtonProps) {\n const {\n onClick,\n size=\"md\",\n disabled=false,\n dim,\n\n backgroundUrl=\"transparent\",\n icon=null,\n fontSize,\n\n name=\"\", \n src=\"\",\n showName=false, \n namePosition=\"bottom\",// namePosition: top, bottom, left, right\n \n backgroundIcon,\n hasBorder=true,\n 'aria-label': ariaLabel,\n } = props\n\n const _dim = {\n w: dim?.width ?? AVATARBUTTON_STANDARD_DIMENSIONs[size],\n h: dim?.height ?? AVATARBUTTON_STANDARD_DIMENSIONs[size],\n }\n\n return (\n <Box\n className={CLASSNAMEs.elemental.avatar.button}\n sx={mergeSx(avatarButtonRootSx, {\n display:\"flex\",\n flexDirection:pos[namePosition]?.dir,\n alignItems:\"center\",\n gap:pos[namePosition]?.gap,\n })}>\n <IconButton\n onClick={onClick}\n disabled={disabled}\n disableRipple\n aria-label={ariaLabel}\n style={{\n '--bg': backgroundUrl,\n '--bg-size': _dim.w,\n '--size': _dim.w,\n '--shadow': hasBorder ? 'var(--mui-palette-shadow-border-1)' : 'none',\n } as React.CSSProperties}\n sx={{\n '&.MuiButtonBase-root':{\n border:\"none\",\n position: 'relative',\n color:\"var(--avatar-button-text)\",\n background:\"var(--bg)\",\n backgroundSize:'var(--bg-size)',\n width:'var(--size)',\n height:'var(--size)',\n // allow overlay banner to fit the button\n padding: 0,\n \n // shadow\n boxShadow: \"var(--shadow)\",\n borderRadius:\"50%\",\n \n // hover effect\n '&:hover, &.Mui-focusVisible': {\n zIndex: 1,\n '& .MuiImageBackdrop-root': {\n opacity: 0.5,\n },\n '& .MuiImageMarked-root': {\n opacity: 0,\n },\n '& .MuiTypography-root': {\n border: '4px solid currentColor',\n },\n },\n },\n }} \n >\n <Box sx={{\n width:\"100%\",\n position:\"absolute\",\n top:0,\n left:0,\n right:0,\n bottom:0,\n zIndex:1,\n \"&>.MuiStack-root\":{\n width:\"100%\",\n height:\"100%\",\n maxWidth:\"100%\",\n maxHeight:\"100%\",\n },\n }}>\n <ImageBackdrop/>\n <HoverIcon icon={icon} />\n <Avatar\n name={name} src={src} backgroundIcon={backgroundIcon}\n displayName={false}\n dim={{\n width:_dim.w,\n height:_dim.h,\n }}\n />\n </Box>\n </IconButton>\n {showName && <NameSkel name={name} direction={pos[namePosition].direction} fontSize={fontSize}/>}\n </Box>\n\n )\n}\n\nfunction HoverIcon({ icon }: { icon: React.ReactNode }) {\n return (\n <Box className=\"HoverIcon-root\"\n sx={{\n position:\"absolute\",\n top:0,\n left:0,\n right:0,\n bottom:0,\n zIndex:2,\n \"&>*\":{display:\"none\"},\n \"&:hover>*\":{display:\"flex\"},\n borderRadius:\"50%\",\n }}>\n <Box sx={{\n width:\"100%\",\n height:\"100%\",\n display:\"none\",\n justifyContent:\"center\",\n alignItems:\"center\", \n color:\"var(--avatar-hover-icon-color)\",\n }}>\n {icon}\n </Box>\n </Box>\n )\n}\n\nfunction ImageBackdrop() {\n return (\n <Box component=\"span\"\n className=\"MuiImageBackdrop-root\"\n sx={{\n zIndex: 2,\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: \"#000\", // photo overlay — CSS variable tokens cannot reliably target this layer\n opacity: 0,\n transition: \"opacity 0.3s\",\n borderRadius:\"50%\",\n }}/>\n )\n}","'use client'\nimport { styled } from '@mui/material/styles'\nimport { Badge } from '@/ele/Badge'\n\nimport { useMenu, MenuPopper } from '@/ele/Menu'\n\nimport { Avatar, AvatarButton } from '../Avatar'\nimport { statusAvatarRootSx } from './theme'\nimport { mergeSx } from '@/_utils/_func'\n\n// all the status that can be changed except offline\nconst USER_STATUSs = {\n online: 'online',\n away: 'away',\n busy: 'busy',\n offline: 'offline',\n invisible: 'invisible',\n} as const\nconst changable_status = Object.values(USER_STATUSs).filter(s=>s!=='offline')\ntype UserStatusTypes = typeof USER_STATUSs[keyof typeof USER_STATUSs]\n\n/**\n * StatusAvatar\n * @description: avatar of the participant with status\n * @param status - status of the participant\n * @param src - src of the avatar\n * @param name - name of the participant\n * \n * user status will be shown as a dot on the avatar\n */\nexport function Renderer(props:{\n status:UserStatusTypes;\n statusEditable?:boolean;\n handleStatusChange?:((status:UserStatusTypes)=>void);\n name:string;\n src?:string;\n\n slotProps?:{\n badge?:React.ComponentProps<typeof Badge>;\n avatar?:Partial<React.ComponentProps<typeof Avatar>>;\n avatarButton?:Partial<React.ComponentProps<typeof AvatarButton>>;\n };\n}){\n const {\n name, src,\n status, handleStatusChange,\n statusEditable,\n slotProps,\n } = props\n\n const p = useMenu({\n multiple: false,\n initSelected: [status],\n })\n return (\n <>\n <StyledBadge \n\n status={status}\n overlap=\"circular\"\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n variant=\"dot\"\n\n sx={mergeSx(statusAvatarRootSx, {\n height:\"fit-content\",\n })}\n >\n {statusEditable\n ?<AvatarButton name={name} src={src} {...slotProps?.avatarButton} onClick={p.onTriggerClickHandler}/>\n :<Avatar name={name} src={src} {...slotProps?.avatar} displayName={false}/>\n }\n </StyledBadge>\n <MenuPopper\n openMenuProps={p}\n options={changable_status.map((s)=>({\n id: s,\n label: s,\n onClick:()=>{\n p.closeHandler()\n if(handleStatusChange) handleStatusChange(s)\n },\n }))}\n />\n </>\n )\n}\nexport const status = USER_STATUSs\nexport type Status = UserStatusTypes\n\n/**\n * StyledBadge\n * @description: styled badge for the avatar\n * @param status - status of the participant\n * \n * use css variables to set the color and animation of the badge\n */\nconst StyledBadge = styled(Badge,{\n shouldForwardProp: p=> p!==\"status\"\n})<{status:UserStatusTypes}>(() => ({\n '& .MuiBadge-badge': {\n width:\"15%\",\n height:\"15%\",\n minWidth: '10px',\n minHeight: '10px',\n borderRadius: '50%',\n borderColor:\"transparent\",\n backgroundColor: 'var(--color)',\n color: 'var(--color)',\n boxShadow: `0 0 0 2px var(--status-badge-shadow)`,\n display:\"var(--display)\",\n '&::after': {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n animation: 'var(--animate)',\n border: '1px solid currentColor',\n content: '\"\"',\n },\n },\n '@keyframes ripple': {\n '0%': {\n transform: 'scale(.8)',\n opacity: 1,\n },\n '100%': {\n transform: 'scale(2.4)',\n opacity: 0,\n },\n },\n\n variants:[\n {\n props: {status:USER_STATUSs.online},\n style: {\n '--color': 'var(--status-color-online)',\n '--animate': 'ripple 1.2s infinite ease-in-out', // ripple animation\n '--display': 'block', // show the dot\n },\n },\n {\n props: {status:USER_STATUSs.away},\n style: {\n '--color': 'var(--status-color-away)',\n '--animate': 'none', // no animation\n '--display': 'block', // show the dot\n },\n },\n {\n props: {status:USER_STATUSs.busy},\n style: {\n '--color': 'var(--status-color-busy)',\n '--animate': 'none', // no animation\n '--display': 'block', // show the dot\n },\n },\n {\n props: {status:USER_STATUSs.offline,},\n style: {\n '--color': 'var(--status-color-offline)',\n '--animate': 'none', // no animation\n '--display': 'block', // show the dot\n },\n },\n {\n props: {status:USER_STATUSs.invisible,},\n style: {\n '--color': 'var(--status-color-offline)',\n '--animate': 'none', // no animation\n '--display': 'block', // show the dot\n },\n },\n ]\n}))\n","import type { SxProps, Theme } from '@mui/material/styles'\n\nexport const statusAvatarRootSx: SxProps<Theme> = {\n\t'--status-badge-shadow': 'var(--mui-palette-background-default)',\n\t'--status-color-online': 'var(--mui-palette-success-main)',\n\t'--status-color-away': 'var(--mui-palette-warning-main)',\n\t'--status-color-busy': 'var(--mui-palette-error-main)',\n\t'--status-color-offline': 'var(--mui-palette-grey-500)',\n}\n"],"mappings":"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","names":["default","jsx","jsxs","default","jsx","jsxs","status"]}
|