@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
|
@@ -1 +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"]}
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,eAAmC;;;ACEnC,IAAM,mCAAmC;AAAA,EAC9C,IAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,IAAM,eAAe;AAAA,EAC1B,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,IAAM,YAAY;AAAA,EACrB,QAAO;AAAA,IACH,SAAQ;AAAA,MACJ,IAAI,EAAC,KAAK,IAAG;AAAA,MACb,IAAI,EAAC,KAAK,IAAG;AAAA,MACb,IAAI,EAAC,KAAK,KAAI;AAAA,MACd,IAAI,EAAC,KAAK,EAAC;AAAA,MACX,IAAI,EAAC,KAAK,EAAC;AAAA,IACf;AAAA,IACA,UAAU;AAAA,EACd;AAAA,EACA,KAAI;AAAA,IACA,SAAQ;AAAA,MACJ,IAAI,EAAC,KAAK,KAAI;AAAA,MACd,IAAI,EAAC,KAAK,KAAI;AAAA,MACd,IAAI,EAAC,KAAK,EAAC;AAAA,MACX,IAAI,EAAC,KAAK,IAAG;AAAA,MACb,IAAI,EAAC,KAAK,EAAC;AAAA,IACf;AAAA,IACA,UAAU;AAAA,EACd;AACJ;;;ADMQ,SAaI,KAbJ;AAjBO,SAAR,OAAwB,OAAuB;AAClD,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAK;AAAA;AAAA,IACL;AAAA,IACA,cAAY;AAAA,IACZ,YAAU;AAAA,IACV,MAAI,CAAC;AAAA,IACL;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AAEJ,QAAM,IAAI,IAAI,UAAU,aAAa,IAAI;AACzC,QAAM,IAAI,IAAI,SAAS,aAAa,IAAI;AAExC,SACI;AAAA,IAACA;AAAA,IAAA;AAAA,MACG,WAAW,WAAW,UAAU,OAAO;AAAA,MACvC,OAAO;AAAA,QACP,eAAe;AAAA,QACf,SAAS,UAAU,SAAS,GAAG,QAAQ,IAAI,GAAG;AAAA,MAClD;AAAA,MACA,IAAI,OAAO;AAAA,QACP,WAAU;AAAA,QACV,KAAK;AAAA,QACL,gBAAgB;AAAA,QAChB,UAAU;AAAA,MACd;AAAA,MACA,YAAW;AAAA,MAAS;AAAA,MAChB;AAAA;AAAA,UAAC;AAAA;AAAA,YACG;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACC,GAAG;AAAA;AAAA,QACR;AAAA,QACC,QAAQ,eAAe,oBAAC,YAAS,MAAY,WAAsB,UAAmB;AAAA;AAAA;AAAA,EAC3F;AAER;AAUA,SAAS,WAAW,OAAwB;AACxC,QAAM,EAAE,MAAM,KAAK,GAAG,GAAG,gBAAgB,GAAG,KAAK,IAAI;AACrD,MAAG,CAAC,QAAQ,CAAC,IAAK,QAAO,oBAACA,UAAA,EAAS,SAAQ,YAAW,OAAO,GAAG,QAAQ,GAAG;AAC3E,MAAG,eAAgB,QAAQ,oBAACA,UAAA,EAAM,IAAI;AAAA,IAClC,UAAU;AAAA,IAAY,OAAO;AAAA,IAAG,QAAQ;AAAA,IACxC,YAAY;AAAA,IAAU,gBAAgB;AAAA,IACtC,SAAQ;AAAA,MACJ,QAAQ;AAAA,MAAG,OAAO;AAAA,MAClB,SAAS;AAAA,MACT,cAAc;AAAA,IAClB;AAAA,EACJ,GAAI,0BAAe;AACnB,SAAQ,oBAAC,cAAW,MAAY,KAAU,GAAM,GAAO,GAAG,MAAK;AACnE;AAaO,SAAS,SAAS,OAAsB;AAC3C,QAAM,EAAE,MAAM,WAAW,SAAS,IAAI;AACtC,MAAG,CAAC,KAAM,QAAO,oBAACA,UAAA,EAAS,SAAQ,QAAO,OAAO,IAAI,QAAQ,IAAI;AAEjE,QAAM,KAAK,OAAO,aAAa,WAAW,GAAG,QAAQ,OAAO;AAC5D,SAAO;AAAA,IAAC;AAAA;AAAA,MAAU,UAAU,MAAM,UAAU,SAAS,GAAG;AAAA,MAAU,YAAW;AAAA,MACzE,OAAO;AAAA,QACH,UAAU,YAAY,UAAU,SAAS,GAAG;AAAA,QAC5C,UAAU;AAAA,MACd;AAAA,MACA,IAAI;AAAA,QACA,wBAAuB;AAAA,UACnB,YAAW;AAAA,UACX,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,iBAAiB;AAAA,UACjB,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,WAAW;AAAA,QACf;AAAA,MACJ;AAAA,MAAI;AAAA;AAAA,EAAK;AAEjB;AASA,SAAS,WAAW,OAAwB;AACxC,QAAM,EAAE,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,IAAI;AACrC,SACA;AAAA,IAAC;AAAA;AAAA,MACI,GAAG,aAAa,MAAK,GAAG;AAAA,MACxB,GAAG;AAAA,MAEJ,OAAO;AAAA,QACH,OAAO,OAAO,MAAM,WAAW,GAAG,CAAC,OAAO;AAAA,QAC1C,OAAO,OAAO,MAAM,WAAW,GAAG,CAAC,OAAO;AAAA,QAC1C,QAAQ;AAAA;AAAA,MACZ;AAAA,MACA,IAAI;AAAA,QACA,oBAAmB;AAAA,UACf,UAAU;AAAA,UACV,OAAO;AAAA,UACP,iBAAiB;AAAA,UACjB,OAAO;AAAA,UACP,QAAQ;AAAA,QACZ;AAAA,MACJ;AAAA;AAAA,EACJ;AACJ;AACA,SAAS,aAAa,MAAa,KAAY;AAC3C,MAAG,IAAK,QAAO,EAAC,IAAG;AACnB,MAAG,CAAC,KAAM,QAAO,EAAE,UAAU,GAAG;AAEhC,QAAM,YAAY,KAAK,MAAM,GAAG;AAChC,QAAM,QAAQ,UAAU,CAAC,KAAK;AAC9B,QAAM,SAAS,UAAU,CAAC,KAAK;AAC/B,QAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;AAE/C,SAAO;AAAA,IACH,UAAU;AAAA,EACd;AACJ;;;AExKO,IAAM,cAAc;AAAA,EACzB,gBAAgB;AAAA,IACd,MAAM;AAAA,MACJ,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,OAAO;AAAA,IACT;AAAA,EACF;AACF;AAGO,IAAM,qBAAqC;AAAA,EAChD,wBAA8B;AAAA,EAC9B,6BAA8B;AAChC;;;AC0GgB,SAeI,OAAAC,MAfJ,QAAAC,aAAA;AAlHhB,IAAM,MAAM;AAAA,EACR,KAAK,EAAC,KAAI,kBAAiB,KAAI,KAAI,WAAU,SAAQ;AAAA,EACrD,QAAQ,EAAC,KAAI,UAAS,KAAI,KAAI,WAAU,SAAQ;AAAA,EAChD,MAAM,EAAC,KAAI,eAAc,KAAI,GAAE,WAAU,MAAK;AAAA,EAC9C,OAAO,EAAC,KAAI,OAAM,KAAI,GAAE,WAAU,MAAK;AAC3C;AA+Be,SAAR,aAA8B,OAA0B;AAC3D,QAAM;AAAA,IACF;AAAA,IACA,OAAK;AAAA,IACL,WAAS;AAAA,IACT;AAAA,IAEA,gBAAc;AAAA,IACd,OAAK;AAAA,IACL;AAAA,IAEA,OAAK;AAAA,IACL,MAAI;AAAA,IACJ,WAAS;AAAA,IACT,eAAa;AAAA;AAAA,IAEb;AAAA,IACA,YAAU;AAAA,IACV,cAAc;AAAA,EAClB,IAAI;AAEJ,QAAM,OAAO;AAAA,IACX,GAAG,KAAK,SAAS,iCAAiC,IAAI;AAAA,IACtD,GAAG,KAAK,UAAU,iCAAiC,IAAI;AAAA,EACzD;AAEA,SACI,gBAAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,WAAW,WAAW,UAAU,OAAO;AAAA,MACvC,IAAI,QAAQ,oBAAoB;AAAA,QAChC,SAAQ;AAAA,QACR,eAAc,IAAI,YAAY,GAAG;AAAA,QACjC,YAAW;AAAA,QACX,KAAI,IAAI,YAAY,GAAG;AAAA,MAC3B,CAAC;AAAA,MACG;AAAA,wBAAAF;AAAA,UAAC;AAAA;AAAA,YACG;AAAA,YACA;AAAA,YACA,eAAa;AAAA,YACb,cAAY;AAAA,YACZ,OAAO;AAAA,cACH,QAAQ;AAAA,cACR,aAAa,KAAK;AAAA,cAClB,UAAU,KAAK;AAAA,cACf,YAAY,YAAY,uCAAuC;AAAA,YACnE;AAAA,YACA,IAAI;AAAA,cACA,wBAAuB;AAAA,gBACnB,QAAO;AAAA,gBACP,UAAU;AAAA,gBACV,OAAM;AAAA,gBACN,YAAW;AAAA,gBACX,gBAAe;AAAA,gBACf,OAAM;AAAA,gBACN,QAAO;AAAA;AAAA,gBAEP,SAAS;AAAA;AAAA,gBAGT,WAAW;AAAA,gBACX,cAAa;AAAA;AAAA,gBAGb,+BAA+B;AAAA,kBAC3B,QAAQ;AAAA,kBACR,4BAA4B;AAAA,oBACxB,SAAS;AAAA,kBACb;AAAA,kBACA,0BAA0B;AAAA,oBACtB,SAAS;AAAA,kBACb;AAAA,kBACA,yBAAyB;AAAA,oBACrB,QAAQ;AAAA,kBACZ;AAAA,gBACJ;AAAA,cACJ;AAAA,YACJ;AAAA,YAEA,0BAAAC,MAACC,UAAA,EAAI,IAAI;AAAA,cACL,OAAM;AAAA,cACN,UAAS;AAAA,cACT,KAAI;AAAA,cACJ,MAAK;AAAA,cACL,OAAM;AAAA,cACN,QAAO;AAAA,cACP,QAAO;AAAA,cACP,oBAAmB;AAAA,gBACf,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,UAAS;AAAA,gBACT,WAAU;AAAA,cACd;AAAA,YACJ,GACI;AAAA,8BAAAF,KAAC,iBAAa;AAAA,cACd,gBAAAA,KAAC,aAAU,MAAY;AAAA,cACvB,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACG;AAAA,kBAAY;AAAA,kBAAU;AAAA,kBACtB,aAAa;AAAA,kBACb,KAAK;AAAA,oBACD,OAAM,KAAK;AAAA,oBACX,QAAO,KAAK;AAAA,kBAChB;AAAA;AAAA,cACJ;AAAA,eACJ;AAAA;AAAA,QACJ;AAAA,QACC,YAAY,gBAAAA,KAAC,YAAS,MAAY,WAAW,IAAI,YAAY,EAAE,WAAW,UAAmB;AAAA;AAAA;AAAA,EAClG;AAGR;AAEA,SAAS,UAAU,EAAE,KAAK,GAA8B;AACpD,SACA,gBAAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MAAI,WAAU;AAAA,MACf,IAAI;AAAA,QACA,UAAS;AAAA,QACT,KAAI;AAAA,QACJ,MAAK;AAAA,QACL,OAAM;AAAA,QACN,QAAO;AAAA,QACP,QAAO;AAAA,QACP,OAAM,EAAC,SAAQ,OAAM;AAAA,QACrB,aAAY,EAAC,SAAQ,OAAM;AAAA,QAC3B,cAAa;AAAA,MACjB;AAAA,MACI,0BAAAF,KAACE,UAAA,EAAI,IAAI;AAAA,QACP,OAAM;AAAA,QACN,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,gBAAe;AAAA,QACf,YAAW;AAAA,QACX,OAAM;AAAA,MACR,GACK,gBACL;AAAA;AAAA,EACJ;AAEJ;AAEA,SAAS,gBAAgB;AACrB,SACA,gBAAAF;AAAA,IAACE;AAAA,IAAA;AAAA,MAAI,WAAU;AAAA,MACf,WAAU;AAAA,MACV,IAAI;AAAA,QACA,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,QACP,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,iBAAiB;AAAA;AAAA,QACjB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,cAAa;AAAA,MACjB;AAAA;AAAA,EAAE;AAEN;;;AC1MA;AAAA;AAAA;AAAA;AAAA;AACA,SAAS,cAAc;;;ACChB,IAAM,qBAAqC;AAAA,EACjD,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,0BAA0B;AAC3B;;;AD+CI,mBAgBK,OAAAC,MAhBL,QAAAC,aAAA;AA5CJ,IAAM,eAAe;AAAA,EACnB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,WAAW;AACb;AACA,IAAM,mBAAmB,OAAO,OAAO,YAAY,EAAE,OAAO,OAAG,MAAI,SAAS;AAYrE,SAAS,SAAS,OAYvB;AACA,QAAM;AAAA,IACJ;AAAA,IAAM;AAAA,IACN,QAAAC;AAAA,IAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,IAAI,QAAQ;AAAA,IAChB,UAAU;AAAA,IACV,cAAc,CAACA,OAAM;AAAA,EACvB,CAAC;AACD,SACE,gBAAAD,MAAA,YACA;AAAA,oBAAAD;AAAA,MAAC;AAAA;AAAA,QAEC,QAAQE;AAAA,QACR,SAAQ;AAAA,QACR,cAAc;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,QACd;AAAA,QACA,SAAQ;AAAA,QAER,IAAI,QAAQ,oBAAoB;AAAA,UAC9B,QAAO;AAAA,QACT,CAAC;AAAA,QAEA,2BACE,gBAAAF,KAAC,gBAAa,MAAY,KAAW,GAAG,WAAW,cAAc,SAAS,EAAE,uBAAsB,IAClG,gBAAAA,KAAC,UAAO,MAAY,KAAW,GAAG,WAAW,QAAQ,aAAa,OAAM;AAAA;AAAA,IAE7E;AAAA,IACA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,eAAe;AAAA,QACf,SAAS,iBAAiB,IAAI,CAAC,OAAK;AAAA,UAClC,IAAI;AAAA,UACJ,OAAO;AAAA,UACP,SAAQ,MAAI;AACV,cAAE,aAAa;AACf,gBAAG,mBAAoB,oBAAmB,CAAC;AAAA,UAC7C;AAAA,QACF,EAAE;AAAA;AAAA,IACJ;AAAA,KACA;AAEJ;AACO,IAAM,SAAS;AAUtB,IAAM,cAAc,OAAO,OAAM;AAAA,EAC/B,mBAAmB,OAAI,MAAI;AAC7B,CAAC,EAA4B,OAAO;AAAA,EAClC,qBAAqB;AAAA,IACnB,OAAM;AAAA,IACN,QAAO;AAAA,IACP,UAAU;AAAA,IACV,WAAW;AAAA,IACX,cAAc;AAAA,IACd,aAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,OAAO;AAAA,IACP,WAAW;AAAA,IACX,SAAQ;AAAA,IACR,YAAY;AAAA,MACV,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,qBAAqB;AAAA,IACnB,MAAM;AAAA,MACJ,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,UAAS;AAAA,IACP;AAAA,MACE,OAAO,EAAC,QAAO,aAAa,OAAM;AAAA,MAClC,OAAO;AAAA,QACL,WAAW;AAAA,QACX,aAAa;AAAA;AAAA,QACb,aAAa;AAAA;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO,EAAC,QAAO,aAAa,KAAI;AAAA,MAChC,OAAO;AAAA,QACL,WAAW;AAAA,QACX,aAAa;AAAA;AAAA,QACb,aAAa;AAAA;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO,EAAC,QAAO,aAAa,KAAI;AAAA,MAChC,OAAO;AAAA,QACL,WAAW;AAAA,QACX,aAAa;AAAA;AAAA,QACb,aAAa;AAAA;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO,EAAC,QAAO,aAAa,QAAQ;AAAA,MACpC,OAAO;AAAA,QACL,WAAW;AAAA,QACX,aAAa;AAAA;AAAA,QACb,aAAa;AAAA;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO,EAAC,QAAO,aAAa,UAAU;AAAA,MACtC,OAAO;AAAA,QACL,WAAW;AAAA,QACX,aAAa;AAAA;AAAA,QACb,aAAa;AAAA;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF,EAAE;","names":["default","jsx","jsxs","default","jsx","jsxs","status"]}
|
|
@@ -13,43 +13,39 @@ import {
|
|
|
13
13
|
isEmptyFormValue,
|
|
14
14
|
mergeFieldSx,
|
|
15
15
|
validateFormSchema
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import {
|
|
18
|
-
StandardStepper_default
|
|
19
|
-
} from "./chunk-V26V2S3W.mjs";
|
|
16
|
+
} from "./chunk-FNSIQ2B7.mjs";
|
|
20
17
|
import {
|
|
21
18
|
MuiSwitch
|
|
22
19
|
} from "./chunk-T34IULP5.mjs";
|
|
23
20
|
import {
|
|
24
21
|
ToggleButtonGroup
|
|
25
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-WJZ3IYET.mjs";
|
|
26
23
|
import {
|
|
27
24
|
MuiSelect_default
|
|
28
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-BO5CU4ZM.mjs";
|
|
26
|
+
import {
|
|
27
|
+
StandardStepper_default
|
|
28
|
+
} from "./chunk-3O3N6X6D.mjs";
|
|
29
29
|
import {
|
|
30
|
-
default as
|
|
30
|
+
default as default15
|
|
31
31
|
} from "./chunk-EW4DTFH3.mjs";
|
|
32
32
|
import {
|
|
33
33
|
MuiModal
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import {
|
|
36
|
-
default as default15
|
|
37
|
-
} from "./chunk-VYD3PDBB.mjs";
|
|
34
|
+
} from "./chunk-RVSMEZE3.mjs";
|
|
38
35
|
import {
|
|
39
36
|
CheckboxGroup
|
|
40
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-FMGZCOJC.mjs";
|
|
41
38
|
import {
|
|
42
39
|
MuiFormLabel,
|
|
43
|
-
default as
|
|
44
|
-
default3 as
|
|
40
|
+
default as default13,
|
|
41
|
+
default3 as default14
|
|
45
42
|
} from "./chunk-T4X375IG.mjs";
|
|
46
43
|
import {
|
|
47
44
|
CircularProgress
|
|
48
45
|
} from "./chunk-WYYP3Y34.mjs";
|
|
49
46
|
import {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
} from "./chunk-JIU5GVM7.mjs";
|
|
47
|
+
default as default12
|
|
48
|
+
} from "./chunk-VYD3PDBB.mjs";
|
|
53
49
|
import {
|
|
54
50
|
default125 as default10,
|
|
55
51
|
default126 as default11,
|
|
@@ -60,11 +56,17 @@ import {
|
|
|
60
56
|
default69 as default8,
|
|
61
57
|
default82 as default9
|
|
62
58
|
} from "./chunk-ZVFYOXDE.mjs";
|
|
59
|
+
import {
|
|
60
|
+
Button,
|
|
61
|
+
IconButton_default
|
|
62
|
+
} from "./chunk-D4XPNSSI.mjs";
|
|
63
63
|
import {
|
|
64
64
|
default as default2,
|
|
65
|
-
default2 as default3
|
|
65
|
+
default2 as default3
|
|
66
|
+
} from "./chunk-PNSJC6PC.mjs";
|
|
67
|
+
import {
|
|
66
68
|
mergeSx
|
|
67
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-AFLEG5ZC.mjs";
|
|
68
70
|
|
|
69
71
|
// src/components/compound/UseForm/src/useHooks.ts
|
|
70
72
|
import { useForm } from "react-hook-form";
|
|
@@ -405,7 +407,7 @@ var TextField = ({ field }) => {
|
|
|
405
407
|
gap: 1
|
|
406
408
|
}, mergeFieldSx(size, sx)), children: [
|
|
407
409
|
/* @__PURE__ */ jsx3(
|
|
408
|
-
|
|
410
|
+
default12,
|
|
409
411
|
{
|
|
410
412
|
...restField,
|
|
411
413
|
value: value ?? "",
|
|
@@ -544,7 +546,7 @@ var SliderField = ({ field }) => {
|
|
|
544
546
|
name,
|
|
545
547
|
defaultValue,
|
|
546
548
|
render: ({ field: { onChange, value, ...restField }, fieldState: { error } }) => /* @__PURE__ */ jsxs3(
|
|
547
|
-
|
|
549
|
+
default13,
|
|
548
550
|
{
|
|
549
551
|
disabled,
|
|
550
552
|
required,
|
|
@@ -558,7 +560,7 @@ var SliderField = ({ field }) => {
|
|
|
558
560
|
/* @__PURE__ */ jsx5(Explanation_default, { explanation: getFieldExplanation(field) })
|
|
559
561
|
] }),
|
|
560
562
|
/* @__PURE__ */ jsx5(default2, { sx: { px: 4 }, children: /* @__PURE__ */ jsx5(
|
|
561
|
-
|
|
563
|
+
default15,
|
|
562
564
|
{
|
|
563
565
|
...restField,
|
|
564
566
|
value: typeof value === "number" || Array.isArray(value) ? value : sliderSlotProps?.min ?? 0,
|
|
@@ -685,7 +687,7 @@ var ToggleButtonField = ({ field }) => {
|
|
|
685
687
|
render: ({ field: { onChange, value }, fieldState: { error } }) => {
|
|
686
688
|
const helperTextNode = /* @__PURE__ */ jsx7(FieldHelperText, { error, errorMsg, helpers: [field.helperText] });
|
|
687
689
|
return /* @__PURE__ */ jsxs4(
|
|
688
|
-
|
|
690
|
+
default13,
|
|
689
691
|
{
|
|
690
692
|
disabled,
|
|
691
693
|
required,
|
|
@@ -743,7 +745,7 @@ var SwitchField = ({ field }) => {
|
|
|
743
745
|
name,
|
|
744
746
|
defaultValue: defaultValue ?? false,
|
|
745
747
|
render: ({ field: { onChange, value }, fieldState: { error } }) => /* @__PURE__ */ jsxs5(
|
|
746
|
-
|
|
748
|
+
default13,
|
|
747
749
|
{
|
|
748
750
|
disabled,
|
|
749
751
|
required,
|
|
@@ -807,7 +809,7 @@ var CustomField = ({ field }) => {
|
|
|
807
809
|
field.onChange?.(v, getValues());
|
|
808
810
|
};
|
|
809
811
|
return /* @__PURE__ */ jsxs6(
|
|
810
|
-
|
|
812
|
+
default13,
|
|
811
813
|
{
|
|
812
814
|
disabled,
|
|
813
815
|
required,
|
|
@@ -887,7 +889,7 @@ var TextArrayField = ({ field }) => {
|
|
|
887
889
|
setItems(next);
|
|
888
890
|
};
|
|
889
891
|
return /* @__PURE__ */ jsxs7(
|
|
890
|
-
|
|
892
|
+
default13,
|
|
891
893
|
{
|
|
892
894
|
disabled,
|
|
893
895
|
required,
|
|
@@ -903,7 +905,7 @@ var TextArrayField = ({ field }) => {
|
|
|
903
905
|
/* @__PURE__ */ jsxs7(default2, { sx: { py: 1, display: "flex", flexDirection: "column", gap: 1 }, children: [
|
|
904
906
|
items.map((it, idx) => /* @__PURE__ */ jsxs7(default2, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
|
|
905
907
|
/* @__PURE__ */ jsx10(
|
|
906
|
-
|
|
908
|
+
default12,
|
|
907
909
|
{
|
|
908
910
|
size: "small",
|
|
909
911
|
value: it,
|
|
@@ -964,7 +966,7 @@ var NumberField = ({ field }) => {
|
|
|
964
966
|
update(next);
|
|
965
967
|
};
|
|
966
968
|
return /* @__PURE__ */ jsx11(
|
|
967
|
-
|
|
969
|
+
default13,
|
|
968
970
|
{
|
|
969
971
|
disabled,
|
|
970
972
|
required,
|
|
@@ -974,7 +976,7 @@ var NumberField = ({ field }) => {
|
|
|
974
976
|
sx: mergeSx(mergeFieldSx(size, sx), { maxWidth: "200px" }),
|
|
975
977
|
children: /* @__PURE__ */ jsxs8(default2, { sx: { display: "flex", alignItems: "flex-start", gap: 1 }, children: [
|
|
976
978
|
/* @__PURE__ */ jsx11(
|
|
977
|
-
|
|
979
|
+
default12,
|
|
978
980
|
{
|
|
979
981
|
fullWidth: true,
|
|
980
982
|
size: "small",
|
|
@@ -1018,8 +1020,8 @@ var NumberField = ({ field }) => {
|
|
|
1018
1020
|
},
|
|
1019
1021
|
input: {
|
|
1020
1022
|
...numSlot?.slotProps?.input ?? {},
|
|
1021
|
-
startAdornment: /* @__PURE__ */ jsx11(
|
|
1022
|
-
endAdornment: /* @__PURE__ */ jsx11(
|
|
1023
|
+
startAdornment: /* @__PURE__ */ jsx11(default14, { position: "start", children: /* @__PURE__ */ jsx11(IconButton_default, { size: "small", onClick: handleMinus, disabled: typeof value === "number" && typeof numSlot?.min === "number" ? value <= numSlot.min : false, children: /* @__PURE__ */ jsx11(default4, { fontSize: "small" }) }) }),
|
|
1024
|
+
endAdornment: /* @__PURE__ */ jsx11(default14, { position: "end", children: /* @__PURE__ */ jsx11(IconButton_default, { size: "small", onClick: handlePlus, disabled: typeof value === "number" && typeof numSlot?.max === "number" ? value >= numSlot.max : false, children: /* @__PURE__ */ jsx11(default5, { fontSize: "small" }) }) })
|
|
1023
1025
|
}
|
|
1024
1026
|
},
|
|
1025
1027
|
disabled
|
|
@@ -1037,37 +1039,47 @@ var NumberField = ({ field }) => {
|
|
|
1037
1039
|
// src/components/compound/UseForm/src/FormRenderer/RowRenderer.tsx
|
|
1038
1040
|
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
1039
1041
|
var DateField = React3.lazy(
|
|
1040
|
-
() => import("./DateField-
|
|
1042
|
+
() => import("./DateField-CDJ6W6XF.mjs").then((m) => ({
|
|
1041
1043
|
default: m.DateField
|
|
1042
1044
|
}))
|
|
1043
1045
|
);
|
|
1044
1046
|
var DateTimeField = React3.lazy(
|
|
1045
|
-
() => import("./DateTimeField-
|
|
1047
|
+
() => import("./DateTimeField-SFAF4I6A.mjs").then((m) => ({
|
|
1046
1048
|
default: m.DateTimeField
|
|
1047
1049
|
}))
|
|
1048
1050
|
);
|
|
1051
|
+
var TimeField = React3.lazy(
|
|
1052
|
+
() => import("./TimeField-XVWXBJID.mjs").then((m) => ({
|
|
1053
|
+
default: m.TimeField
|
|
1054
|
+
}))
|
|
1055
|
+
);
|
|
1056
|
+
var DateRangeField = React3.lazy(
|
|
1057
|
+
() => import("./DateRangeField-ZWSFT5KV.mjs").then((m) => ({
|
|
1058
|
+
default: m.DateRangeField
|
|
1059
|
+
}))
|
|
1060
|
+
);
|
|
1049
1061
|
var TelField = React3.lazy(
|
|
1050
|
-
() => import("./TelField-
|
|
1062
|
+
() => import("./TelField-FRQT2UBJ.mjs").then((m) => ({
|
|
1051
1063
|
default: m.TelField
|
|
1052
1064
|
}))
|
|
1053
1065
|
);
|
|
1054
1066
|
var FileUploadField = React3.lazy(
|
|
1055
|
-
() => import("./FileUploadField-
|
|
1067
|
+
() => import("./FileUploadField-TSNCSLXX.mjs").then((m) => ({
|
|
1056
1068
|
default: m.FileUploadField
|
|
1057
1069
|
}))
|
|
1058
1070
|
);
|
|
1059
1071
|
var AvatarField = React3.lazy(
|
|
1060
|
-
() => import("./AvatarField-
|
|
1072
|
+
() => import("./AvatarField-KFASMVZU.mjs").then((m) => ({
|
|
1061
1073
|
default: m.AvatarField
|
|
1062
1074
|
}))
|
|
1063
1075
|
);
|
|
1064
1076
|
var JSONEditorField = React3.lazy(
|
|
1065
|
-
() => import("./JSONEditorField-
|
|
1077
|
+
() => import("./JSONEditorField-3KXC2GOG.mjs").then((m) => ({
|
|
1066
1078
|
default: m.JSONEditorField
|
|
1067
1079
|
}))
|
|
1068
1080
|
);
|
|
1069
1081
|
var AutocompleteField = React3.lazy(
|
|
1070
|
-
() => import("./AutocompleteField-
|
|
1082
|
+
() => import("./AutocompleteField-653233JU.mjs").then((m) => ({
|
|
1071
1083
|
default: m.AutocompleteField
|
|
1072
1084
|
}))
|
|
1073
1085
|
);
|
|
@@ -1087,6 +1099,10 @@ var FieldRenderer = ({ field }) => {
|
|
|
1087
1099
|
return /* @__PURE__ */ jsx12(LazyField, { children: /* @__PURE__ */ jsx12(DateField, { field }) });
|
|
1088
1100
|
case FIELD_TYPEs.dateTime:
|
|
1089
1101
|
return /* @__PURE__ */ jsx12(LazyField, { children: /* @__PURE__ */ jsx12(DateTimeField, { field }) });
|
|
1102
|
+
case FIELD_TYPEs.time:
|
|
1103
|
+
return /* @__PURE__ */ jsx12(LazyField, { children: /* @__PURE__ */ jsx12(TimeField, { field }) });
|
|
1104
|
+
case FIELD_TYPEs.dateRange:
|
|
1105
|
+
return /* @__PURE__ */ jsx12(LazyField, { children: /* @__PURE__ */ jsx12(DateRangeField, { field }) });
|
|
1090
1106
|
case FIELD_TYPEs.toggleButton:
|
|
1091
1107
|
return /* @__PURE__ */ jsx12(ToggleButtonField, { field });
|
|
1092
1108
|
case FIELD_TYPEs.autocomplete:
|
|
@@ -1121,6 +1137,7 @@ var RowFieldFrame = ({
|
|
|
1121
1137
|
sx: {
|
|
1122
1138
|
flex: field.size?.width || 1,
|
|
1123
1139
|
minWidth: field.size?.width || "auto",
|
|
1140
|
+
overflow: "visible",
|
|
1124
1141
|
...hidden && { display: "none" },
|
|
1125
1142
|
"& > *": {
|
|
1126
1143
|
minWidth: 200
|
|
@@ -1290,7 +1307,9 @@ var FormRenderer = (props) => {
|
|
|
1290
1307
|
flexDirection: "column",
|
|
1291
1308
|
gap: "4px",
|
|
1292
1309
|
overflow: "hidden",
|
|
1293
|
-
|
|
1310
|
+
// Vertical pad only on the outer clip shell. Horizontal pad belongs
|
|
1311
|
+
// on the scroll body below so elevated field shadows can bleed into
|
|
1312
|
+
// padding before overflow clips (fixes left-clipped Autocomplete shadow).
|
|
1294
1313
|
py: 1
|
|
1295
1314
|
}), children: [
|
|
1296
1315
|
isMulti && /* @__PURE__ */ jsx14(StepperSection_default, {}),
|
|
@@ -1299,7 +1318,10 @@ var FormRenderer = (props) => {
|
|
|
1299
1318
|
flexDirection: "column",
|
|
1300
1319
|
gap: "8px",
|
|
1301
1320
|
flex: 1,
|
|
1302
|
-
overflow: "auto"
|
|
1321
|
+
overflow: "auto",
|
|
1322
|
+
// Inside scrollport: room for soft elevated shadow on all sides.
|
|
1323
|
+
px: 2.5,
|
|
1324
|
+
py: 0.75
|
|
1303
1325
|
}, children: /* @__PURE__ */ jsx14(default2, { sx: { flex: 1 }, children: /* @__PURE__ */ jsxs10("form", { onSubmit: handleFormSubmit, children: [
|
|
1304
1326
|
sortedSchema.map((row, idx) => /* @__PURE__ */ jsx14(RowRenderer_default, { row }, `${row.row}-${idx}`)),
|
|
1305
1327
|
children
|
|
@@ -1447,4 +1469,4 @@ export {
|
|
|
1447
1469
|
FormModalRenderer,
|
|
1448
1470
|
UseForm
|
|
1449
1471
|
};
|
|
1450
|
-
//# sourceMappingURL=chunk-
|
|
1472
|
+
//# sourceMappingURL=chunk-4P45Z5LR.mjs.map
|