@startdownnotez404/ui 1.3.5 → 1.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AutocompleteField-653233JU.mjs +203 -0
- package/dist/AutocompleteField-653233JU.mjs.map +1 -0
- package/dist/AvatarField-KFASMVZU.mjs +378 -0
- package/dist/AvatarField-KFASMVZU.mjs.map +1 -0
- package/dist/{DateField-ZYMZFHL4.mjs → DateField-CDJ6W6XF.mjs} +19 -7
- package/dist/DateField-CDJ6W6XF.mjs.map +1 -0
- package/dist/DateRangeField-ZWSFT5KV.mjs +118 -0
- package/dist/DateRangeField-ZWSFT5KV.mjs.map +1 -0
- package/dist/{DateTimeField-TPTJ7YIZ.mjs → DateTimeField-SFAF4I6A.mjs} +36 -11
- package/dist/DateTimeField-SFAF4I6A.mjs.map +1 -0
- package/dist/FileUploadField-TSNCSLXX.mjs +101 -0
- package/dist/FileUploadField-TSNCSLXX.mjs.map +1 -0
- package/dist/{JSONEditorField-TMRWGXVR.mjs → JSONEditorField-3KXC2GOG.mjs} +7 -6
- package/dist/{JSONEditorField-TMRWGXVR.mjs.map → JSONEditorField-3KXC2GOG.mjs.map} +1 -1
- package/dist/{PopperMenu-LJ36RPBW.mjs → PopperMenu-PSHLKIEZ.mjs} +26 -12
- package/dist/{PopperMenu-LJ36RPBW.mjs.map → PopperMenu-PSHLKIEZ.mjs.map} +1 -1
- package/dist/{TelField-LOGRVZ4I.mjs → TelField-FRQT2UBJ.mjs} +8 -7
- package/dist/{TelField-LOGRVZ4I.mjs.map → TelField-FRQT2UBJ.mjs.map} +1 -1
- package/dist/TimeField-XVWXBJID.mjs +94 -0
- package/dist/TimeField-XVWXBJID.mjs.map +1 -0
- package/dist/alert.d.mts +148 -18
- package/dist/alert.d.ts +148 -18
- package/dist/alert.js +698 -254
- package/dist/alert.js.map +1 -1
- package/dist/alert.mjs +46 -10
- package/dist/autocomplete.d.mts +438 -4
- package/dist/autocomplete.d.ts +438 -4
- package/dist/autocomplete.js +632 -21
- package/dist/autocomplete.js.map +1 -1
- package/dist/autocomplete.mjs +26 -7
- package/dist/avatar.js +2 -1
- package/dist/avatar.js.map +1 -1
- package/dist/avatar.mjs +12 -11
- package/dist/box.mjs +2 -1
- package/dist/button.mjs +3 -2
- package/dist/chart.mjs +3 -2
- package/dist/checkbox.mjs +3 -2
- package/dist/chunk-2FK24ZPJ.mjs +78 -0
- package/dist/chunk-2FK24ZPJ.mjs.map +1 -0
- package/dist/{chunk-V26V2S3W.mjs → chunk-3O3N6X6D.mjs} +3 -3
- package/dist/{chunk-Y74ALKBL.mjs → chunk-4MSPA7U7.mjs} +11 -9
- package/dist/{chunk-Y74ALKBL.mjs.map → chunk-4MSPA7U7.mjs.map} +1 -1
- package/dist/{chunk-24XDGNJ6.mjs → chunk-4P45Z5LR.mjs} +63 -41
- package/dist/chunk-4P45Z5LR.mjs.map +1 -0
- package/dist/chunk-4SSJY32J.mjs +1182 -0
- package/dist/chunk-4SSJY32J.mjs.map +1 -0
- package/dist/{chunk-XJ2SXC2Q.mjs → chunk-6B6I27TT.mjs} +18 -16
- package/dist/{chunk-XJ2SXC2Q.mjs.map → chunk-6B6I27TT.mjs.map} +1 -1
- package/dist/chunk-6JKMEH2L.mjs +205 -0
- package/dist/chunk-6JKMEH2L.mjs.map +1 -0
- package/dist/{chunk-IN3O4R7Q.mjs → chunk-7O526A2D.mjs} +6 -4
- package/dist/{chunk-IN3O4R7Q.mjs.map → chunk-7O526A2D.mjs.map} +1 -1
- package/dist/chunk-AFLEG5ZC.mjs +28 -0
- package/dist/chunk-AFLEG5ZC.mjs.map +1 -0
- package/dist/{chunk-UGMRJMFZ.mjs → chunk-BO5CU4ZM.mjs} +4 -4
- package/dist/{chunk-JIU5GVM7.mjs → chunk-D4XPNSSI.mjs} +5 -3
- package/dist/{chunk-JIU5GVM7.mjs.map → chunk-D4XPNSSI.mjs.map} +1 -1
- package/dist/chunk-DPIMA5IO.mjs +72 -0
- package/dist/chunk-DPIMA5IO.mjs.map +1 -0
- package/dist/chunk-F2CGFVIZ.mjs +83 -0
- package/dist/chunk-F2CGFVIZ.mjs.map +1 -0
- package/dist/{chunk-R5MKQN6D.mjs → chunk-FBLSJQWK.mjs} +3 -3
- package/dist/{chunk-BGB7JHIU.mjs → chunk-FMGZCOJC.mjs} +5 -3
- package/dist/{chunk-BGB7JHIU.mjs.map → chunk-FMGZCOJC.mjs.map} +1 -1
- package/dist/{chunk-UTVSYS6S.mjs → chunk-FNSIQ2B7.mjs} +18 -6
- package/dist/chunk-FNSIQ2B7.mjs.map +1 -0
- package/dist/{chunk-JWANK42G.mjs → chunk-FUZ2JNTZ.mjs} +3 -3
- package/dist/{chunk-CRYIEYZZ.mjs → chunk-HAJWE62X.mjs} +66 -42
- package/dist/chunk-HAJWE62X.mjs.map +1 -0
- package/dist/{chunk-CWFWRZWU.mjs → chunk-KSN33A6I.mjs} +3 -2
- package/dist/{chunk-CWFWRZWU.mjs.map → chunk-KSN33A6I.mjs.map} +1 -1
- package/dist/chunk-KYTHGFFY.mjs +866 -0
- package/dist/chunk-KYTHGFFY.mjs.map +1 -0
- package/dist/{chunk-QKGCW37O.mjs → chunk-LDFM46LV.mjs} +5 -3
- package/dist/{chunk-QKGCW37O.mjs.map → chunk-LDFM46LV.mjs.map} +1 -1
- package/dist/chunk-LQNDBPHU.mjs +142 -0
- package/dist/chunk-LQNDBPHU.mjs.map +1 -0
- package/dist/{chunk-E3I2VDHZ.mjs → chunk-M2PYXSAF.mjs} +6 -4
- package/dist/{chunk-E3I2VDHZ.mjs.map → chunk-M2PYXSAF.mjs.map} +1 -1
- package/dist/{chunk-DELCADNF.mjs → chunk-ODVKRIVN.mjs} +30 -30
- package/dist/{chunk-HR3A4H4E.mjs → chunk-PEJL2T2K.mjs} +13 -11
- package/dist/{chunk-HR3A4H4E.mjs.map → chunk-PEJL2T2K.mjs.map} +1 -1
- package/dist/{chunk-OGNGPI3M.mjs → chunk-PL55YKT4.mjs} +2 -2
- package/dist/{chunk-S6EZVRZC.mjs → chunk-PNSJC6PC.mjs} +5 -28
- package/dist/chunk-PNSJC6PC.mjs.map +1 -0
- package/dist/{chunk-TDRA5EZI.mjs → chunk-PUREEN2J.mjs} +7 -7
- package/dist/chunk-QFS5CENY.mjs +659 -0
- package/dist/chunk-QFS5CENY.mjs.map +1 -0
- package/dist/chunk-RSN7NH2J.mjs +250 -0
- package/dist/chunk-RSN7NH2J.mjs.map +1 -0
- package/dist/{chunk-UDREPVEY.mjs → chunk-RVSMEZE3.mjs} +12 -78
- package/dist/chunk-RVSMEZE3.mjs.map +1 -0
- package/dist/{chunk-SRWPHN2N.mjs → chunk-S64IYJ6Y.mjs} +2 -2
- package/dist/{chunk-ZG3NQI77.mjs → chunk-SMD7OEUW.mjs} +6 -4
- package/dist/{chunk-ZG3NQI77.mjs.map → chunk-SMD7OEUW.mjs.map} +1 -1
- package/dist/{chunk-NJYNJLT7.mjs → chunk-SWFB3A3G.mjs} +2 -2
- package/dist/{chunk-RXBQ7KXF.mjs → chunk-USXGNKWJ.mjs} +98 -44
- package/dist/chunk-USXGNKWJ.mjs.map +1 -0
- package/dist/{chunk-OJV6V7YZ.mjs → chunk-VL7V52YD.mjs} +27 -20
- package/dist/chunk-VL7V52YD.mjs.map +1 -0
- package/dist/{chunk-2ZZJTBTE.mjs → chunk-WJZ3IYET.mjs} +2 -2
- package/dist/chunk-XAJAMVAG.mjs +1720 -0
- package/dist/chunk-XAJAMVAG.mjs.map +1 -0
- package/dist/chunk-YIJ5QVJ6.mjs +277 -0
- package/dist/chunk-YIJ5QVJ6.mjs.map +1 -0
- package/dist/{chunk-T6AMRENK.mjs → chunk-YRW5NKD7.mjs} +148 -112
- package/dist/chunk-YRW5NKD7.mjs.map +1 -0
- package/dist/chunk-ZMJKG2UI.mjs +71 -0
- package/dist/chunk-ZMJKG2UI.mjs.map +1 -0
- package/dist/confirm.d.mts +48 -0
- package/dist/confirm.d.ts +48 -0
- package/dist/confirm.js +334 -0
- package/dist/confirm.js.map +1 -0
- package/dist/confirm.mjs +20 -0
- package/dist/datePicker.d.mts +256 -14
- package/dist/datePicker.d.ts +256 -14
- package/dist/datePicker.js +1624 -145
- package/dist/datePicker.js.map +1 -1
- package/dist/datePicker.mjs +19 -6
- package/dist/dialog.d.mts +166 -0
- package/dist/dialog.d.ts +166 -0
- package/dist/dialog.js +362 -0
- package/dist/dialog.js.map +1 -0
- package/dist/dialog.mjs +45 -0
- package/dist/emptyState.d.mts +17 -0
- package/dist/emptyState.d.ts +17 -0
- package/dist/emptyState.js +253 -0
- package/dist/emptyState.js.map +1 -0
- package/dist/emptyState.mjs +12 -0
- package/dist/emptyState.mjs.map +1 -0
- package/dist/errorState.d.mts +18 -0
- package/dist/errorState.d.ts +18 -0
- package/dist/{displayFile.js → errorState.js} +107 -156
- package/dist/errorState.js.map +1 -0
- package/dist/errorState.mjs +15 -0
- package/dist/errorState.mjs.map +1 -0
- package/dist/fileUpload.d.mts +197 -0
- package/dist/fileUpload.d.ts +197 -0
- package/dist/fileUpload.js +1483 -0
- package/dist/fileUpload.js.map +1 -0
- package/dist/fileUpload.mjs +65 -0
- package/dist/fileUpload.mjs.map +1 -0
- package/dist/flowMap.mjs +7 -6
- package/dist/flowMap.mjs.map +1 -1
- package/dist/image.js +1195 -429
- package/dist/image.js.map +1 -1
- package/dist/image.mjs +8 -6
- package/dist/index.d.ts +7 -2
- package/dist/index.js +8606 -4087
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +314 -152
- package/dist/inlineError.d.mts +16 -0
- package/dist/inlineError.d.ts +16 -0
- package/dist/inlineError.js +297 -0
- package/dist/inlineError.js.map +1 -0
- package/dist/inlineError.mjs +15 -0
- package/dist/inlineError.mjs.map +1 -0
- package/dist/input.mjs +8 -7
- package/dist/jsonEditor.mjs +3 -2
- package/dist/list.mjs +7 -6
- package/dist/loading.mjs +8 -6
- package/dist/markdown.mjs +7 -6
- package/dist/markdown.mjs.map +1 -1
- package/dist/menu.mjs +9 -8
- package/dist/modal.js +2 -1
- package/dist/modal.js.map +1 -1
- package/dist/modal.mjs +7 -5
- package/dist/process.d.mts +33 -75
- package/dist/process.d.ts +33 -75
- package/dist/process.js +1275 -203
- package/dist/process.js.map +1 -1
- package/dist/process.mjs +12 -9
- package/dist/scrollToLoad.mjs +4 -3
- package/dist/select.mjs +10 -9
- package/dist/skeleton.d.mts +15 -1
- package/dist/skeleton.d.ts +15 -1
- package/dist/skeleton.js +114 -2
- package/dist/skeleton.js.map +1 -1
- package/dist/skeleton.mjs +6 -3
- package/dist/stepper.mjs +4 -3
- package/dist/tab.mjs +10 -9
- package/dist/table.d.mts +269 -85
- package/dist/table.d.ts +269 -85
- package/dist/table.js +5102 -3153
- package/dist/table.js.map +1 -1
- package/dist/table.mjs +21 -19
- package/dist/theme.js +1766 -432
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +32 -25
- package/dist/timeline.mjs +4 -3
- package/dist/toast.d.mts +49 -0
- package/dist/toast.d.ts +49 -0
- package/dist/toast.js +175 -0
- package/dist/toast.js.map +1 -0
- package/dist/toast.mjs +9 -0
- package/dist/toast.mjs.map +1 -0
- package/dist/toggleButtonGroup.mjs +3 -2
- package/dist/useForm.d.mts +270 -86
- package/dist/useForm.d.ts +270 -86
- package/dist/useForm.js +4672 -2727
- package/dist/useForm.js.map +1 -1
- package/dist/useForm.mjs +18 -16
- package/dist/useSearch.mjs +13 -12
- package/dist/variablesRenderer.mjs +8 -7
- package/package.json +3 -3
- package/dist/AutocompleteField-ZKNU2IRR.mjs +0 -181
- package/dist/AutocompleteField-ZKNU2IRR.mjs.map +0 -1
- package/dist/AvatarField-SAODT3CZ.mjs +0 -275
- package/dist/AvatarField-SAODT3CZ.mjs.map +0 -1
- package/dist/DateField-ZYMZFHL4.mjs.map +0 -1
- package/dist/DateTimeField-TPTJ7YIZ.mjs.map +0 -1
- package/dist/FileUploadField-NTMWBJER.mjs +0 -78
- package/dist/FileUploadField-NTMWBJER.mjs.map +0 -1
- package/dist/chunk-24XDGNJ6.mjs.map +0 -1
- package/dist/chunk-27KYFU7R.mjs +0 -30
- package/dist/chunk-27KYFU7R.mjs.map +0 -1
- package/dist/chunk-AAH2O24U.mjs +0 -325
- package/dist/chunk-AAH2O24U.mjs.map +0 -1
- package/dist/chunk-CRYIEYZZ.mjs.map +0 -1
- package/dist/chunk-EEH7HACG.mjs +0 -249
- package/dist/chunk-EEH7HACG.mjs.map +0 -1
- package/dist/chunk-EKPULYPU.mjs +0 -497
- package/dist/chunk-EKPULYPU.mjs.map +0 -1
- package/dist/chunk-OJV6V7YZ.mjs.map +0 -1
- package/dist/chunk-RXBQ7KXF.mjs.map +0 -1
- package/dist/chunk-S6EZVRZC.mjs.map +0 -1
- package/dist/chunk-SGCUDWO3.mjs +0 -396
- package/dist/chunk-SGCUDWO3.mjs.map +0 -1
- package/dist/chunk-T6AMRENK.mjs.map +0 -1
- package/dist/chunk-UDREPVEY.mjs.map +0 -1
- package/dist/chunk-UTVSYS6S.mjs.map +0 -1
- package/dist/chunk-XIMFP6RB.mjs +0 -161
- package/dist/chunk-XIMFP6RB.mjs.map +0 -1
- package/dist/displayFile.d.mts +0 -95
- package/dist/displayFile.d.ts +0 -95
- package/dist/displayFile.js.map +0 -1
- package/dist/displayFile.mjs +0 -19
- package/dist/fileUploader.d.mts +0 -86
- package/dist/fileUploader.d.ts +0 -86
- package/dist/fileUploader.js +0 -722
- package/dist/fileUploader.js.map +0 -1
- package/dist/fileUploader.mjs +0 -16
- /package/dist/{chunk-V26V2S3W.mjs.map → chunk-3O3N6X6D.mjs.map} +0 -0
- /package/dist/{chunk-UGMRJMFZ.mjs.map → chunk-BO5CU4ZM.mjs.map} +0 -0
- /package/dist/{chunk-R5MKQN6D.mjs.map → chunk-FBLSJQWK.mjs.map} +0 -0
- /package/dist/{chunk-JWANK42G.mjs.map → chunk-FUZ2JNTZ.mjs.map} +0 -0
- /package/dist/{chunk-DELCADNF.mjs.map → chunk-ODVKRIVN.mjs.map} +0 -0
- /package/dist/{chunk-OGNGPI3M.mjs.map → chunk-PL55YKT4.mjs.map} +0 -0
- /package/dist/{chunk-TDRA5EZI.mjs.map → chunk-PUREEN2J.mjs.map} +0 -0
- /package/dist/{chunk-SRWPHN2N.mjs.map → chunk-S64IYJ6Y.mjs.map} +0 -0
- /package/dist/{chunk-NJYNJLT7.mjs.map → chunk-SWFB3A3G.mjs.map} +0 -0
- /package/dist/{chunk-2ZZJTBTE.mjs.map → chunk-WJZ3IYET.mjs.map} +0 -0
- /package/dist/{displayFile.mjs.map → confirm.mjs.map} +0 -0
- /package/dist/{fileUploader.mjs.map → dialog.mjs.map} +0 -0
package/dist/autocomplete.mjs
CHANGED
|
@@ -1,21 +1,40 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
Autocomplete_default,
|
|
3
|
+
GitHubPicker,
|
|
4
|
+
autocompleteChipSx,
|
|
5
|
+
autocompleteGlassVars,
|
|
6
|
+
autocompleteGroupLabelSx,
|
|
7
|
+
autocompleteListboxSx,
|
|
8
|
+
autocompletePaperSx,
|
|
9
|
+
autocompleteRootSx,
|
|
10
|
+
autocompleteTheme
|
|
11
|
+
} from "./chunk-KYTHGFFY.mjs";
|
|
4
12
|
import {
|
|
5
13
|
Option
|
|
6
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VL7V52YD.mjs";
|
|
15
|
+
import "./chunk-LQNDBPHU.mjs";
|
|
7
16
|
import "./chunk-56TI2ZBT.mjs";
|
|
17
|
+
import "./chunk-VYD3PDBB.mjs";
|
|
8
18
|
import "./chunk-MDAUF7IL.mjs";
|
|
9
19
|
import "./chunk-QFF3HTHL.mjs";
|
|
10
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-ZVFYOXDE.mjs";
|
|
21
|
+
import "./chunk-D4XPNSSI.mjs";
|
|
11
22
|
import "./chunk-4Q54P737.mjs";
|
|
12
23
|
import "./chunk-OP6LKXPA.mjs";
|
|
13
|
-
import "./chunk-ZVFYOXDE.mjs";
|
|
14
24
|
import "./chunk-4RPFRNXG.mjs";
|
|
15
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-PNSJC6PC.mjs";
|
|
26
|
+
import "./chunk-AFLEG5ZC.mjs";
|
|
16
27
|
import "./chunk-FJ6ZGZIA.mjs";
|
|
17
28
|
export {
|
|
29
|
+
Autocomplete_default as Autocomplete,
|
|
18
30
|
GitHubPicker,
|
|
19
|
-
Option as OptionClass
|
|
31
|
+
Option as OptionClass,
|
|
32
|
+
autocompleteChipSx,
|
|
33
|
+
autocompleteGlassVars,
|
|
34
|
+
autocompleteGroupLabelSx,
|
|
35
|
+
autocompleteListboxSx,
|
|
36
|
+
autocompletePaperSx,
|
|
37
|
+
autocompleteRootSx,
|
|
38
|
+
autocompleteTheme
|
|
20
39
|
};
|
|
21
40
|
//# sourceMappingURL=autocomplete.mjs.map
|
package/dist/avatar.js
CHANGED
package/dist/avatar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/elemental/Avatar/index.ts","../src/components/elemental/Avatar/src/Avatar/Avatar.tsx","../src/_utils/_const/classNames.ts","../src/_utils/_func/sx.ts","../src/components/elemental/Box/src/index.ts","../src/components/elemental/Skeleton/MuiSkeleton/index.ts","../src/components/elemental/Typography/src/Variants.tsx","../src/components/elemental/Avatar/src/_utils/_const.ts","../src/components/elemental/Button/src/IconButton/IconButton.tsx","../src/components/elemental/Tooltip/src/Tooltip/index.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/Badge/src/Badge/Badge.tsx","../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/Avatar/src/StatusAvatar/theme.ts"],"sourcesContent":["export * from './src'\nexport type { Size } from './src/_utils/_types'","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}","// central registry for CSS class names used throughout the codebase\n//\n// Storing them in one object makes it easy to search for components in tests\n// and debugging tools, and prevents accidental mismatches when strings are\n// copied by hand. Add additional entries here as new components need them.\n\nexport const CLASSNAMEs = {\n elemental: {\n avatar: {\n // root wrapper for the Avatar component\n root: 'Elemental-Avatar',\n // button variant used by AvatarButton and related controls\n button: 'Elemental-AvatarButton',\n },\n modal: 'Elemental-Modal',\n },\n compound: {\n useForm: {\n // class applied to the wrapper around the avatar field inside UseForm\n avatarField: 'UseForm-AvatarField',\n },\n },\n} as const;\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 as Skeleton} from '@mui/material/Skeleton'\n","import React from 'react'\nimport Typography, {type TypographyProps} from '@mui/material/Typography'\n\n/**\n * Mui Typography with variant h5\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function Header(props: { children?: React.ReactNode } & TypographyProps) {\n\treturn <Typography variant=\"h5\" {...props} />\n}\n\n\n/**\n * Mui Typography with variant h6\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function SubHeader(props: TypographyProps) {\n\treturn <Typography variant=\"h6\" {...props} />\n}\n\n/**\n * Mui Typography with variant subtitle1\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function SubTitle(props: TypographyProps) {\n\treturn <Typography variant=\"subtitle1\" {...props} />\n}\n\n/**\n * Mui Typography with variant caption\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function Subscript(props: TypographyProps) {\n\treturn (\n\t\t<Typography\n\t\t\tvariant=\"caption\"\n\t\t\t{...props}\n\t\t\tsx={{\n\t\t\t\t...props.sx,\n\t\t\t\tcolor: props.color ?? 'var(--mui-palette-text-subscript)',\n\t\t\t}}\n\t\t/>\n\t)\n}\n\n/**\n * Mui Typography with variant body\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function Body(props: TypographyProps) {\n\treturn <Typography variant=\"body1\" {...props} />\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};","'use client'\nimport {forwardRef} from 'react'\nimport MuiIconButton from '@mui/material/IconButton'\nimport { Tooltip } from '@/ele/Tooltip'\nimport { type TooltipProps } from '@mui/material/Tooltip'\nimport { Box } from '@/ele/Box'\n\ntype IconButtonProps = React.ComponentProps<typeof MuiIconButton>\ntype Props = {\n /** The Icon to render */\n children: React.ReactNode;\n /** The title of the tooltip */\n title?: string;\n /** \n * The color theme of the entire component.\n * @default 'secondary' (from theme)\n */\n color?: IconButtonProps['color'];\n /**\n * The size of the component.\n * @default 'small' (from theme)\n */\n size?: IconButtonProps['size'];\n \n selected?: boolean;\n \n slotProps?: {\n tooltip?: Omit<TooltipProps, \"children\">\n };\n} & Omit<IconButtonProps, \"color\" | \"size\">;\n\n/**\n * A MuiIconButton wrapped in a MuiTooltip.\n * Default props like `size` and `color` are handled by the theme.\n */\nconst IconButton = forwardRef<HTMLButtonElement, Props>(({\n title = \"\",\n children,\n color,\n size,\n slotProps,\n selected,\n className,\n ...props\n}, ref) => {\n return (\n <Tooltip \n title={title} \n slotProps={{\n popper: {\n sx: {\n textTransform: \"capitalize\",\n }\n },\n ...slotProps?.tooltip\n }}\n >\n <Box component=\"span\" sx={{width: \"fit-content\"}}>\n <MuiIconButton\n ref={ref}\n color={color}\n size={size}\n className={[className, selected ? 'Mui-selected' : ''].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </MuiIconButton>\n </Box>\n </Tooltip>\n )\n})\n\nexport default IconButton","export {default as Tooltip} from '@mui/material/Tooltip'\nexport * from './theme'\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 React from 'react'\nimport MuiBadge from '@mui/material/Badge'\n\ntype BadgeProps = {\n style_variant?: 'filled' | 'outlined';\n}\n/**\n * A styled Mui Badge component\n * \n * [Doc](https://mui.com/material-ui/api/badge/)\n * \n * @example\n * ```tsx\n * <MuiBadge badgeContent={4}>\n * <IconButton>\n * <MailIcon/>\n * </IconButton>\n * </MuiBadge>\n * ```\n */\nexport default function Badge(p: \n React.ComponentProps<typeof MuiBadge> \n & BadgeProps\n) {\n const {style_variant, variant, className, ...rest} = p;\n const badge_var_class = \n style_variant === 'outlined' ? 'badge-outlined'\n : style_variant === 'filled' ? 'badge-filled'\n : 'badge-outlined';\n\n return <MuiBadge {...rest} variant={variant} className={badge_var_class + (className ? ` ${className}` : '')} />\n}\n","'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 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":["Typography","import_jsx_runtime","MuiAvatar","import_jsx_runtime","MuiIconButton","import_jsx_runtime","import_styles","import_jsx_runtime","MuiBadge","import_react","import_styles","MenuItem","ListItemIcon","import_jsx_runtime","ListItemText","MenuList","import_MenuItem","import_jsx_runtime","Paper","import_react","import_jsx_runtime","import_jsx_runtime","status"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/elemental/Avatar/index.ts","../src/components/elemental/Avatar/src/Avatar/Avatar.tsx","../src/_utils/_const/classNames.ts","../src/_utils/_func/sx.ts","../src/components/elemental/Box/src/index.ts","../src/components/elemental/Skeleton/MuiSkeleton/index.ts","../src/components/elemental/Typography/src/Variants.tsx","../src/components/elemental/Avatar/src/_utils/_const.ts","../src/components/elemental/Button/src/IconButton/IconButton.tsx","../src/components/elemental/Tooltip/src/Tooltip/index.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/Badge/src/Badge/Badge.tsx","../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/Avatar/src/StatusAvatar/theme.ts"],"sourcesContent":["export * from './src'\nexport type { Size } from './src/_utils/_types'","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}","// central registry for CSS class names used throughout the codebase\n//\n// Storing them in one object makes it easy to search for components in tests\n// and debugging tools, and prevents accidental mismatches when strings are\n// copied by hand. Add additional entries here as new components need them.\n\nexport const CLASSNAMEs = {\n elemental: {\n avatar: {\n // root wrapper for the Avatar component\n root: 'Elemental-Avatar',\n // button variant used by AvatarButton and related controls\n button: 'Elemental-AvatarButton',\n },\n modal: 'Elemental-Modal',\n dialog: 'Elemental-Dialog',\n },\n compound: {\n useForm: {\n // class applied to the wrapper around the avatar field inside UseForm\n avatarField: 'UseForm-AvatarField',\n },\n },\n} as const;\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 as Skeleton} from '@mui/material/Skeleton'\n","import React from 'react'\nimport Typography, {type TypographyProps} from '@mui/material/Typography'\n\n/**\n * Mui Typography with variant h5\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function Header(props: { children?: React.ReactNode } & TypographyProps) {\n\treturn <Typography variant=\"h5\" {...props} />\n}\n\n\n/**\n * Mui Typography with variant h6\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function SubHeader(props: TypographyProps) {\n\treturn <Typography variant=\"h6\" {...props} />\n}\n\n/**\n * Mui Typography with variant subtitle1\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function SubTitle(props: TypographyProps) {\n\treturn <Typography variant=\"subtitle1\" {...props} />\n}\n\n/**\n * Mui Typography with variant caption\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function Subscript(props: TypographyProps) {\n\treturn (\n\t\t<Typography\n\t\t\tvariant=\"caption\"\n\t\t\t{...props}\n\t\t\tsx={{\n\t\t\t\t...props.sx,\n\t\t\t\tcolor: props.color ?? 'var(--mui-palette-text-subscript)',\n\t\t\t}}\n\t\t/>\n\t)\n}\n\n/**\n * Mui Typography with variant body\n * \n * [Doc](https://material-ui.com/api/typography/)\n */\nexport function Body(props: TypographyProps) {\n\treturn <Typography variant=\"body1\" {...props} />\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};","'use client'\nimport {forwardRef} from 'react'\nimport MuiIconButton from '@mui/material/IconButton'\nimport { Tooltip } from '@/ele/Tooltip'\nimport { type TooltipProps } from '@mui/material/Tooltip'\nimport { Box } from '@/ele/Box'\n\ntype IconButtonProps = React.ComponentProps<typeof MuiIconButton>\ntype Props = {\n /** The Icon to render */\n children: React.ReactNode;\n /** The title of the tooltip */\n title?: string;\n /** \n * The color theme of the entire component.\n * @default 'secondary' (from theme)\n */\n color?: IconButtonProps['color'];\n /**\n * The size of the component.\n * @default 'small' (from theme)\n */\n size?: IconButtonProps['size'];\n \n selected?: boolean;\n \n slotProps?: {\n tooltip?: Omit<TooltipProps, \"children\">\n };\n} & Omit<IconButtonProps, \"color\" | \"size\">;\n\n/**\n * A MuiIconButton wrapped in a MuiTooltip.\n * Default props like `size` and `color` are handled by the theme.\n */\nconst IconButton = forwardRef<HTMLButtonElement, Props>(({\n title = \"\",\n children,\n color,\n size,\n slotProps,\n selected,\n className,\n ...props\n}, ref) => {\n return (\n <Tooltip \n title={title} \n slotProps={{\n popper: {\n sx: {\n textTransform: \"capitalize\",\n }\n },\n ...slotProps?.tooltip\n }}\n >\n <Box component=\"span\" sx={{width: \"fit-content\"}}>\n <MuiIconButton\n ref={ref}\n color={color}\n size={size}\n className={[className, selected ? 'Mui-selected' : ''].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </MuiIconButton>\n </Box>\n </Tooltip>\n )\n})\n\nexport default IconButton","export {default as Tooltip} from '@mui/material/Tooltip'\nexport * from './theme'\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 React from 'react'\nimport MuiBadge from '@mui/material/Badge'\n\ntype BadgeProps = {\n style_variant?: 'filled' | 'outlined';\n}\n/**\n * A styled Mui Badge component\n * \n * [Doc](https://mui.com/material-ui/api/badge/)\n * \n * @example\n * ```tsx\n * <MuiBadge badgeContent={4}>\n * <IconButton>\n * <MailIcon/>\n * </IconButton>\n * </MuiBadge>\n * ```\n */\nexport default function Badge(p: \n React.ComponentProps<typeof MuiBadge> \n & BadgeProps\n) {\n const {style_variant, variant, className, ...rest} = p;\n const badge_var_class = \n style_variant === 'outlined' ? 'badge-outlined'\n : style_variant === 'filled' ? 'badge-filled'\n : 'badge-outlined';\n\n return <MuiBadge {...rest} variant={variant} className={badge_var_class + (className ? ` ${className}` : '')} />\n}\n","'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 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":["Typography","import_jsx_runtime","MuiAvatar","import_jsx_runtime","MuiIconButton","import_jsx_runtime","import_styles","import_jsx_runtime","MuiBadge","import_react","import_styles","MenuItem","ListItemIcon","import_jsx_runtime","ListItemText","MenuList","import_MenuItem","import_jsx_runtime","Paper","import_react","import_jsx_runtime","import_jsx_runtime","status"]}
|
package/dist/avatar.mjs
CHANGED
|
@@ -8,24 +8,25 @@ import {
|
|
|
8
8
|
StatusAvatar_exports,
|
|
9
9
|
avatarButtonRootSx,
|
|
10
10
|
avatarTheme
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-TDRA5EZI.mjs";
|
|
11
|
+
} from "./chunk-4MSPA7U7.mjs";
|
|
12
|
+
import "./chunk-KSN33A6I.mjs";
|
|
13
|
+
import "./chunk-PEJL2T2K.mjs";
|
|
14
|
+
import "./chunk-PUREEN2J.mjs";
|
|
16
15
|
import "./chunk-3DQINB57.mjs";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-I5JWS4Z7.mjs";
|
|
17
|
+
import "./chunk-FMGZCOJC.mjs";
|
|
19
18
|
import "./chunk-3VUAM2GY.mjs";
|
|
19
|
+
import "./chunk-T4X375IG.mjs";
|
|
20
|
+
import "./chunk-LQNDBPHU.mjs";
|
|
20
21
|
import "./chunk-56TI2ZBT.mjs";
|
|
21
22
|
import "./chunk-MDAUF7IL.mjs";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-ZVFYOXDE.mjs";
|
|
24
|
+
import "./chunk-D4XPNSSI.mjs";
|
|
24
25
|
import "./chunk-4Q54P737.mjs";
|
|
25
26
|
import "./chunk-OP6LKXPA.mjs";
|
|
26
|
-
import "./chunk-ZVFYOXDE.mjs";
|
|
27
27
|
import "./chunk-4RPFRNXG.mjs";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-PNSJC6PC.mjs";
|
|
29
|
+
import "./chunk-AFLEG5ZC.mjs";
|
|
29
30
|
import "./chunk-FJ6ZGZIA.mjs";
|
|
30
31
|
export {
|
|
31
32
|
AVATARBUTTON_STANDARD_DIMENSIONs,
|
package/dist/box.mjs
CHANGED
package/dist/button.mjs
CHANGED
|
@@ -7,10 +7,11 @@ import {
|
|
|
7
7
|
buttonBaseTheme,
|
|
8
8
|
buttonTheme,
|
|
9
9
|
iconButtonTheme
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-D4XPNSSI.mjs";
|
|
11
11
|
import "./chunk-4Q54P737.mjs";
|
|
12
12
|
import "./chunk-OP6LKXPA.mjs";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-PNSJC6PC.mjs";
|
|
14
|
+
import "./chunk-AFLEG5ZC.mjs";
|
|
14
15
|
import "./chunk-FJ6ZGZIA.mjs";
|
|
15
16
|
export {
|
|
16
17
|
Button,
|
package/dist/chart.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Chart
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LDFM46LV.mjs";
|
|
4
4
|
import "./chunk-4RPFRNXG.mjs";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-PNSJC6PC.mjs";
|
|
6
|
+
import "./chunk-AFLEG5ZC.mjs";
|
|
6
7
|
import "./chunk-FJ6ZGZIA.mjs";
|
|
7
8
|
export {
|
|
8
9
|
Chart
|
package/dist/checkbox.mjs
CHANGED
|
@@ -2,9 +2,10 @@ import {
|
|
|
2
2
|
CheckboxGroup,
|
|
3
3
|
checkboxTheme,
|
|
4
4
|
default as default2
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FMGZCOJC.mjs";
|
|
6
6
|
import "./chunk-T4X375IG.mjs";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-PNSJC6PC.mjs";
|
|
8
|
+
import "./chunk-AFLEG5ZC.mjs";
|
|
8
9
|
import "./chunk-FJ6ZGZIA.mjs";
|
|
9
10
|
export {
|
|
10
11
|
default2 as Checkbox,
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__commonJS
|
|
3
|
+
} from "./chunk-FJ6ZGZIA.mjs";
|
|
4
|
+
|
|
5
|
+
// node_modules/classnames/index.js
|
|
6
|
+
var require_classnames = __commonJS({
|
|
7
|
+
"node_modules/classnames/index.js"(exports, module) {
|
|
8
|
+
"use strict";
|
|
9
|
+
(function() {
|
|
10
|
+
"use strict";
|
|
11
|
+
var hasOwn = {}.hasOwnProperty;
|
|
12
|
+
function classNames() {
|
|
13
|
+
var classes = "";
|
|
14
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
15
|
+
var arg = arguments[i];
|
|
16
|
+
if (arg) {
|
|
17
|
+
classes = appendClass(classes, parseValue(arg));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return classes;
|
|
21
|
+
}
|
|
22
|
+
function parseValue(arg) {
|
|
23
|
+
if (typeof arg === "string" || typeof arg === "number") {
|
|
24
|
+
return arg;
|
|
25
|
+
}
|
|
26
|
+
if (typeof arg !== "object") {
|
|
27
|
+
return "";
|
|
28
|
+
}
|
|
29
|
+
if (Array.isArray(arg)) {
|
|
30
|
+
return classNames.apply(null, arg);
|
|
31
|
+
}
|
|
32
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
|
|
33
|
+
return arg.toString();
|
|
34
|
+
}
|
|
35
|
+
var classes = "";
|
|
36
|
+
for (var key in arg) {
|
|
37
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
38
|
+
classes = appendClass(classes, key);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return classes;
|
|
42
|
+
}
|
|
43
|
+
function appendClass(value, newClass) {
|
|
44
|
+
if (!newClass) {
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
if (value) {
|
|
48
|
+
return value + " " + newClass;
|
|
49
|
+
}
|
|
50
|
+
return value + newClass;
|
|
51
|
+
}
|
|
52
|
+
if (typeof module !== "undefined" && module.exports) {
|
|
53
|
+
classNames.default = classNames;
|
|
54
|
+
module.exports = classNames;
|
|
55
|
+
} else if (typeof define === "function" && typeof define.amd === "object" && define.amd) {
|
|
56
|
+
define("classnames", [], function() {
|
|
57
|
+
return classNames;
|
|
58
|
+
});
|
|
59
|
+
} else {
|
|
60
|
+
window.classNames = classNames;
|
|
61
|
+
}
|
|
62
|
+
})();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
export {
|
|
67
|
+
require_classnames
|
|
68
|
+
};
|
|
69
|
+
/*! Bundled license information:
|
|
70
|
+
|
|
71
|
+
classnames/index.js:
|
|
72
|
+
(*!
|
|
73
|
+
Copyright (c) 2018 Jed Watson.
|
|
74
|
+
Licensed under the MIT License (MIT), see
|
|
75
|
+
http://jedwatson.github.io/classnames
|
|
76
|
+
*)
|
|
77
|
+
*/
|
|
78
|
+
//# sourceMappingURL=chunk-2FK24ZPJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../node_modules/classnames/index.js"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"mappings":";;;;;AAAA;AAAA;AAAA;AAOA,KAAC,WAAY;AACZ;AAEA,UAAI,SAAS,CAAC,EAAE;AAEhB,eAAS,aAAc;AACtB,YAAI,UAAU;AAEd,iBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAC1C,cAAI,MAAM,UAAU,CAAC;AACrB,cAAI,KAAK;AACR,sBAAU,YAAY,SAAS,WAAW,GAAG,CAAC;AAAA,UAC/C;AAAA,QACD;AAEA,eAAO;AAAA,MACR;AAEA,eAAS,WAAY,KAAK;AACzB,YAAI,OAAO,QAAQ,YAAY,OAAO,QAAQ,UAAU;AACvD,iBAAO;AAAA,QACR;AAEA,YAAI,OAAO,QAAQ,UAAU;AAC5B,iBAAO;AAAA,QACR;AAEA,YAAI,MAAM,QAAQ,GAAG,GAAG;AACvB,iBAAO,WAAW,MAAM,MAAM,GAAG;AAAA,QAClC;AAEA,YAAI,IAAI,aAAa,OAAO,UAAU,YAAY,CAAC,IAAI,SAAS,SAAS,EAAE,SAAS,eAAe,GAAG;AACrG,iBAAO,IAAI,SAAS;AAAA,QACrB;AAEA,YAAI,UAAU;AAEd,iBAAS,OAAO,KAAK;AACpB,cAAI,OAAO,KAAK,KAAK,GAAG,KAAK,IAAI,GAAG,GAAG;AACtC,sBAAU,YAAY,SAAS,GAAG;AAAA,UACnC;AAAA,QACD;AAEA,eAAO;AAAA,MACR;AAEA,eAAS,YAAa,OAAO,UAAU;AACtC,YAAI,CAAC,UAAU;AACd,iBAAO;AAAA,QACR;AAEA,YAAI,OAAO;AACV,iBAAO,QAAQ,MAAM;AAAA,QACtB;AAEA,eAAO,QAAQ;AAAA,MAChB;AAEA,UAAI,OAAO,WAAW,eAAe,OAAO,SAAS;AACpD,mBAAW,UAAU;AACrB,eAAO,UAAU;AAAA,MAClB,WAAW,OAAO,WAAW,cAAc,OAAO,OAAO,QAAQ,YAAY,OAAO,KAAK;AAExF,eAAO,cAAc,CAAC,GAAG,WAAY;AACpC,iBAAO;AAAA,QACR,CAAC;AAAA,MACF,OAAO;AACN,eAAO,aAAa;AAAA,MACrB;AAAA,IACD,GAAE;AAAA;AAAA;","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
IconButton_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-D4XPNSSI.mjs";
|
|
4
4
|
import {
|
|
5
5
|
mergeSx
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AFLEG5ZC.mjs";
|
|
7
7
|
|
|
8
8
|
// src/components/elemental/Stepper/index.ts
|
|
9
9
|
import { default as default2 } from "@mui/material/Stepper";
|
|
@@ -194,4 +194,4 @@ export {
|
|
|
194
194
|
default6 as default5,
|
|
195
195
|
default7 as default6
|
|
196
196
|
};
|
|
197
|
-
//# sourceMappingURL=chunk-
|
|
197
|
+
//# sourceMappingURL=chunk-3O3N6X6D.mjs.map
|
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
default as default4
|
|
3
|
-
} from "./chunk-27KYFU7R.mjs";
|
|
4
1
|
import {
|
|
5
2
|
CLASSNAMEs
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-KSN33A6I.mjs";
|
|
7
4
|
import {
|
|
8
5
|
MenuPopper,
|
|
9
6
|
useMenu
|
|
10
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PEJL2T2K.mjs";
|
|
8
|
+
import {
|
|
9
|
+
default as default4
|
|
10
|
+
} from "./chunk-LQNDBPHU.mjs";
|
|
11
11
|
import {
|
|
12
12
|
Badge
|
|
13
13
|
} from "./chunk-56TI2ZBT.mjs";
|
|
14
14
|
import {
|
|
15
15
|
IconButton_default
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-D4XPNSSI.mjs";
|
|
17
17
|
import {
|
|
18
18
|
Subscript
|
|
19
19
|
} from "./chunk-4RPFRNXG.mjs";
|
|
20
20
|
import {
|
|
21
21
|
default as default2,
|
|
22
|
-
default2 as default3
|
|
22
|
+
default2 as default3
|
|
23
|
+
} from "./chunk-PNSJC6PC.mjs";
|
|
24
|
+
import {
|
|
23
25
|
mergeSx
|
|
24
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-AFLEG5ZC.mjs";
|
|
25
27
|
import {
|
|
26
28
|
__export
|
|
27
29
|
} from "./chunk-FJ6ZGZIA.mjs";
|
|
@@ -562,4 +564,4 @@ export {
|
|
|
562
564
|
AvatarButton,
|
|
563
565
|
StatusAvatar_exports
|
|
564
566
|
};
|
|
565
|
-
//# sourceMappingURL=chunk-
|
|
567
|
+
//# sourceMappingURL=chunk-4MSPA7U7.mjs.map
|