@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/compound/Alert/src/AlertProvider.tsx","../src/components/compound/Alert/src/MuiAlertVariant.tsx","../src/components/compound/Alert/src/AlertStyleVariantContext.tsx","../src/components/compound/Alert/src/SoftAlertContent.tsx","../src/components/compound/Alert/src/theme.ts","../src/components/compound/Alert/src/CollapsableAlert.tsx","../src/components/compound/Alert/src/useToast.ts"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { SnackbarProvider, type SnackbarProviderProps } from 'notistack'\nimport { MuiAlertVariant } from './MuiAlertVariant'\nimport { CollapsableAlert } from './CollapsableAlert'\nimport { AlertStyleVariantContext } from './AlertStyleVariantContext'\nimport { ALERT_VARIANTs, DEFAULTs, type AlertStyleVariant } from './_utils'\n\nconst ALERT_COMPONENTS: SnackbarProviderProps['Components'] = {\n [ALERT_VARIANTs.info]: MuiAlertVariant,\n [ALERT_VARIANTs.warning]: MuiAlertVariant,\n [ALERT_VARIANTs.success]: MuiAlertVariant,\n [ALERT_VARIANTs.error]: MuiAlertVariant,\n [ALERT_VARIANTs.system]: MuiAlertVariant,\n [ALERT_VARIANTs.insight]: MuiAlertVariant,\n [ALERT_VARIANTs.collapsable]: CollapsableAlert,\n}\n\nexport type AlertProviderProps = {\n children: React.ReactNode\n /**\n * Default chrome for enqueued alerts when `styleVariant` is omitted.\n * Soft = quiet glass (default); classic = filled MUI Alert.\n * Per-call `styleVariant` always wins.\n */\n defaultStyleVariant?: AlertStyleVariant\n}\n\n/**\n * AlertProvider - Context provider for the alert system\n * Sets up notistack with all custom alert variant components\n * Should wrap the entire application or specific sections that need alerts\n */\nexport const AlertProvider = React.memo(function AlertProvider({\n children,\n defaultStyleVariant = DEFAULTs.STYLE_VARIANT,\n}: AlertProviderProps) {\n return (\n <AlertStyleVariantContext.Provider value={defaultStyleVariant}>\n <SnackbarProvider\n maxSnack={DEFAULTs.PROVIDER_CONFIGs.maxSnack}\n anchorOrigin={DEFAULTs.ANCHOR_ORIGIN}\n Components={ALERT_COMPONENTS}\n >\n {children}\n </SnackbarProvider>\n </AlertStyleVariantContext.Provider>\n )\n})\n","'use client'\nimport { forwardRef, useCallback } from 'react'\nimport { useSnackbar, CustomContentProps } from 'notistack'\nimport Alert from '@mui/material/Alert'\nimport { Box } from '@/ele/Box'\nimport { Button } from '@/ele/Button'\n\nimport { type AlertOptions, ALERT_VARIANTs, DEFAULTs } from './_utils'\nimport { useAlertStyleVariantDefault } from './AlertStyleVariantContext'\nimport { SoftAlertContent } from './SoftAlertContent'\n\n// Map custom variants to MUI Alert severity / color\nconst variantToSeverity = {\n [ALERT_VARIANTs.info]: 'info',\n [ALERT_VARIANTs.warning]: 'warning',\n [ALERT_VARIANTs.success]: 'success',\n [ALERT_VARIANTs.error]: 'error',\n [ALERT_VARIANTs.system]: 'system',\n [ALERT_VARIANTs.insight]: 'insight',\n [ALERT_VARIANTs.collapsable]: 'info', // Default to info for collapsable\n} as const\n\ntype MuiSeverity = 'info' | 'warning' | 'success' | 'error' | 'system' | 'insight'\n\nexport const MuiAlertVariant = forwardRef<HTMLDivElement, CustomContentProps & AlertOptions>(\n (props, ref) => {\n const {\n id,\n message,\n variant,\n icon,\n style,\n styleVariant: styleVariantProp,\n alertAction,\n action: actionProp,\n } = props as CustomContentProps & AlertOptions & { alertAction?: AlertOptions['action'] }\n const action = alertAction ?? actionProp\n const providerDefault = useAlertStyleVariantDefault()\n const styleVariant = styleVariantProp ?? providerDefault ?? DEFAULTs.STYLE_VARIANT\n const { closeSnackbar } = useSnackbar()\n\n const handleDismiss = useCallback(() => {\n closeSnackbar(id)\n }, [id, closeSnackbar])\n\n const handleAction = useCallback(() => {\n action?.onClick()\n closeSnackbar(id)\n }, [action, closeSnackbar, id])\n\n if (styleVariant === 'soft') {\n return (\n <SoftAlertContent\n ref={ref}\n {...props}\n alertAction={action}\n />\n )\n }\n\n // Convert custom variant to MUI severity\n const severity = variantToSeverity[variant as keyof typeof variantToSeverity] || 'info' as MuiSeverity\n\n return (\n <Alert\n ref={ref}\n severity={severity}\n onClose={handleDismiss}\n icon={icon}\n style={style}\n data-style-variant=\"classic\"\n data-testid=\"classic-alert\"\n action={\n action ? (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Button\n size=\"small\"\n variant=\"text\"\n onClick={handleAction}\n sx={{\n minWidth: 'auto',\n color: 'var(--alert-icon-color, inherit)',\n textTransform: 'none',\n fontWeight: 600,\n }}\n >\n {action.label}\n </Button>\n </Box>\n ) : undefined\n }\n >\n {message}\n </Alert>\n )\n }\n)\n","'use client'\nimport React from 'react'\nimport { DEFAULTs, type AlertStyleVariant } from './_utils'\n\nexport const AlertStyleVariantContext = React.createContext<AlertStyleVariant>(\n DEFAULTs.STYLE_VARIANT,\n)\n\nexport function useAlertStyleVariantDefault(): AlertStyleVariant {\n return React.useContext(AlertStyleVariantContext)\n}\n","'use client'\nimport { forwardRef, useCallback } from 'react'\nimport { useSnackbar, type CustomContentProps } from 'notistack'\nimport { Box } from '@/ele/Box'\nimport { Typography } from '@/ele/Typography'\nimport { Button, IconButton } from '@/ele/Button'\nimport {\n AutoAwesomeRoundedIcon,\n CheckCircleIcon,\n CloseIcon,\n ErrorOutlineOutlinedIcon,\n InfoOutlinedIcon,\n SettingIcon,\n WarningOutlinedIcon,\n} from '@/icons/MuiIcon'\nimport { ALERT_VARIANTs, type AlertAction, type AlertOptions } from './_utils'\nimport { softAlertAccentBarSx, softAlertIconSx, softAlertItemRootSx } from './theme'\n\nconst VARIANT_ICON = {\n [ALERT_VARIANTs.success]: CheckCircleIcon,\n [ALERT_VARIANTs.error]: ErrorOutlineOutlinedIcon,\n [ALERT_VARIANTs.warning]: WarningOutlinedIcon,\n [ALERT_VARIANTs.info]: InfoOutlinedIcon,\n [ALERT_VARIANTs.system]: SettingIcon,\n [ALERT_VARIANTs.insight]: AutoAwesomeRoundedIcon,\n [ALERT_VARIANTs.collapsable]: InfoOutlinedIcon,\n} as const\n\nconst VARIANT_DATA = {\n [ALERT_VARIANTs.success]: 'success',\n [ALERT_VARIANTs.error]: 'error',\n [ALERT_VARIANTs.warning]: 'warning',\n [ALERT_VARIANTs.info]: 'info',\n [ALERT_VARIANTs.system]: 'system',\n [ALERT_VARIANTs.insight]: 'insight',\n [ALERT_VARIANTs.collapsable]: 'info',\n} as const\n\nexport type SoftAlertContentProps = CustomContentProps &\n Pick<AlertOptions, 'icon'> & {\n /** Wired from AlertOptions.action via enqueue (lertAction avoids notistack SharedProps.action clash). */\n alertAction?: AlertAction\n }\n\n/**\n * Soft/quiet glass snackbar content — former Toast look, owned by Alert/notistack.\n */\nexport const SoftAlertContent = forwardRef<HTMLDivElement, SoftAlertContentProps>(\n function SoftAlertContent(props, ref) {\n const { id, message, variant, icon, style, alertAction: action } = props\n const { closeSnackbar } = useSnackbar()\n\n const handleDismiss = useCallback(() => {\n closeSnackbar(id)\n }, [id, closeSnackbar])\n\n const handleAction = useCallback(() => {\n action?.onClick()\n closeSnackbar(id)\n }, [action, closeSnackbar, id])\n\n const Icon =\n VARIANT_ICON[variant as keyof typeof VARIANT_ICON] ?? InfoOutlinedIcon\n const dataVariant =\n VARIANT_DATA[variant as keyof typeof VARIANT_DATA] ?? 'info'\n\n return (\n <Box\n ref={ref}\n role=\"status\"\n aria-live=\"polite\"\n data-variant={dataVariant}\n data-style-variant=\"soft\"\n data-testid=\"soft-alert\"\n style={style}\n sx={softAlertItemRootSx}\n >\n <Box sx={softAlertAccentBarSx} aria-hidden />\n {icon === null ? null : icon !== undefined ? (\n <Box sx={{ display: 'flex', flexShrink: 0, color: 'var(--soft-alert-accent)' }}>\n {icon}\n </Box>\n ) : (\n <Icon sx={softAlertIconSx} aria-hidden />\n )}\n <Box sx={{ flex: 1, minWidth: 0 }}>\n {typeof message === 'string' ? (\n <Typography variant=\"body2\" sx={{ m: 0, lineHeight: 1.4 }}>\n {message}\n </Typography>\n ) : (\n message\n )}\n </Box>\n {action ? (\n <Button\n size=\"small\"\n variant=\"text\"\n onClick={handleAction}\n sx={{\n flexShrink: 0,\n alignSelf: 'center',\n minWidth: 'auto',\n color: 'var(--soft-alert-accent)',\n textTransform: 'none',\n fontWeight: 600,\n lineHeight: 1.25,\n }}\n >\n {action.label}\n </Button>\n ) : null}\n <IconButton\n size=\"small\"\n aria-label=\"Close\"\n onClick={handleDismiss}\n sx={{\n flexShrink: 0,\n alignSelf: 'center',\n p: 0.25,\n color: 'var(--mui-palette-text-secondary)',\n }}\n >\n <CloseIcon sx={{ fontSize: '1rem' }} />\n </IconButton>\n </Box>\n )\n },\n)\n","import type { MuiComponentTheme } from '@/_utils/_types'\nimport type { SxProps, Theme } from '@mui/material/styles'\n\n/**\n * Classic denser collapsable — solid paper sibling to soft glass.\n * Quiet border-1, subtle elevation, no harsh gray icon squares.\n */\nexport const collapsableAlertClassicRootSx: SxProps<Theme> = {\n '--collapse-bg': 'var(--mui-palette-background-paper)',\n '--collapse-border': 'var(--mui-palette-border-1)',\n '--collapse-title-color': 'var(--mui-palette-text-primary)',\n '--collapse-shadow':\n '0 1px 2px rgba(15, 23, 42, 0.05), 0 2px 8px rgba(15, 23, 42, 0.04)',\n\n pointerEvents: 'auto',\n display: 'flex',\n flexDirection: 'column',\n minWidth: 280,\n maxWidth: 'min(420px, calc(100vw - 24px))',\n width: '100%',\n borderRadius: '10px',\n border: '1px solid var(--collapse-border)',\n backgroundColor: 'var(--collapse-bg)',\n color: 'var(--collapse-title-color)',\n boxShadow: 'var(--collapse-shadow)',\n boxSizing: 'border-box',\n overflow: 'hidden',\n\n '[color-scheme=\"dark\"] &': {\n '--collapse-bg': 'var(--mui-palette-container-bg-1, var(--mui-palette-background-paper))',\n '--collapse-shadow':\n '0 1px 2px rgba(0, 0, 0, 0.22), 0 2px 8px rgba(0, 0, 0, 0.16)',\n },\n}\n\n/** @deprecated Use collapsableAlertClassicRootSx / collapsableAlertSoftRootSx. */\nexport const collapsableAlertRootSx = collapsableAlertClassicRootSx\n\n/**\n * Soft/quiet glass collapsable — matches SoftAlertContent language:\n * border-1, glass blur, soft night shadow, 12px radius. No harsh Paper squares.\n */\nexport const collapsableAlertSoftRootSx: SxProps<Theme> = {\n '--collapse-bg': 'color-mix(in srgb, var(--mui-palette-background-paper) 88%, transparent)',\n '--collapse-border': 'var(--mui-palette-border-1)',\n '--collapse-title-color': 'var(--mui-palette-text-primary)',\n '--collapse-shadow':\n '0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.06)',\n\n pointerEvents: 'auto',\n display: 'flex',\n flexDirection: 'column',\n minWidth: 280,\n maxWidth: 'min(420px, calc(100vw - 24px))',\n width: '100%',\n borderRadius: '12px',\n border: '1px solid var(--collapse-border)',\n backgroundColor: 'var(--collapse-bg)',\n color: 'var(--collapse-title-color)',\n boxShadow: 'var(--collapse-shadow)',\n backdropFilter: 'blur(10px)',\n WebkitBackdropFilter: 'blur(10px)',\n boxSizing: 'border-box',\n overflow: 'hidden',\n\n '[color-scheme=\"dark\"] &': {\n '--collapse-shadow':\n '0 1px 2px rgba(0, 0, 0, 0.18), 0 4px 12px rgba(0, 0, 0, 0.14)',\n },\n}\n\nexport const collapsableSoftHeaderSx: SxProps<Theme> = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 1,\n px: 1.5,\n py: 1.25,\n minHeight: 40,\n}\n\n/** Classic denser header — solid, slightly taller hit area than soft. */\nexport const collapsableClassicHeaderSx: SxProps<Theme> = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 1,\n px: 1.5,\n py: 1.125,\n minHeight: 44,\n}\n\n/** Ghost icon buttons — no gray square hit targets. */\nexport const collapsableSoftIconButtonSx: SxProps<Theme> = {\n flexShrink: 0,\n p: 0.25,\n color: 'var(--mui-palette-text-secondary)',\n backgroundColor: 'transparent',\n borderRadius: '8px',\n '&:hover': {\n backgroundColor: 'color-mix(in srgb, var(--mui-palette-text-primary) 6%, transparent)',\n },\n}\n\n/**\n * Classic denser ghost icons — still no harsh gray squares;\n * slightly stronger hover wash than soft.\n */\nexport const collapsableClassicIconButtonSx: SxProps<Theme> = {\n flexShrink: 0,\n p: 0.375,\n color: 'var(--mui-palette-text-secondary)',\n backgroundColor: 'transparent',\n borderRadius: '8px',\n '&:hover': {\n backgroundColor: 'color-mix(in srgb, var(--mui-palette-text-primary) 8%, transparent)',\n color: 'var(--mui-palette-text-primary)',\n },\n}\n\nexport const collapsableSoftPanelSx: SxProps<Theme> = {\n px: 1.5,\n pb: 1.5,\n pt: 0.75,\n borderTop: '1px solid var(--collapse-border)',\n}\n\n/** Classic expand panel — quiet divider, denser tinted content area. */\nexport const collapsableClassicPanelSx: SxProps<Theme> = {\n px: 1.5,\n pb: 1.5,\n pt: 1,\n borderTop: '1px solid var(--collapse-border)',\n backgroundColor:\n 'color-mix(in srgb, var(--mui-palette-text-primary) 2.5%, var(--collapse-bg))',\n}\n\n/**\n * Soft/quiet glass alert — matches former Toast chrome:\n * quiet border-1, glass blur, accent bar, soft night shadow. No thick severity outlines.\n */\nexport const softAlertItemRootSx: SxProps<Theme> = {\n '--soft-alert-bg': 'color-mix(in srgb, var(--mui-palette-background-paper) 88%, transparent)',\n '--soft-alert-border': 'var(--mui-palette-border-1)',\n '--soft-alert-fg': 'var(--mui-palette-text-primary)',\n '--soft-alert-accent': 'var(--mui-palette-info-main)',\n '--soft-alert-shadow':\n '0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.06)',\n\n pointerEvents: 'auto',\n display: 'flex',\n alignItems: 'center',\n gap: 1,\n px: 1.5,\n py: 1.25,\n minWidth: 280,\n maxWidth: 'min(420px, calc(100vw - 24px))',\n borderRadius: '12px',\n border: '1px solid var(--soft-alert-border)',\n backgroundColor: 'var(--soft-alert-bg)',\n color: 'var(--soft-alert-fg)',\n boxShadow: 'var(--soft-alert-shadow)',\n backdropFilter: 'blur(10px)',\n WebkitBackdropFilter: 'blur(10px)',\n boxSizing: 'border-box',\n\n '[color-scheme=\"dark\"] &': {\n '--soft-alert-shadow':\n '0 1px 2px rgba(0, 0, 0, 0.18), 0 4px 12px rgba(0, 0, 0, 0.14)',\n },\n\n '&[data-variant=success]': {\n '--soft-alert-accent': 'var(--mui-palette-success-main)',\n },\n '&[data-variant=error]': {\n '--soft-alert-accent': 'var(--mui-palette-error-main)',\n },\n '&[data-variant=warning]': {\n '--soft-alert-accent': 'var(--mui-palette-warning-main)',\n },\n '&[data-variant=info]': {\n '--soft-alert-accent': 'var(--mui-palette-info-main)',\n },\n '&[data-variant=system]': {\n '--soft-alert-accent': 'var(--mui-palette-system-main)',\n },\n '&[data-variant=insight]': {\n '--soft-alert-accent': 'var(--mui-palette-insight-main)',\n },\n}\n\nexport const softAlertAccentBarSx: SxProps<Theme> = {\n width: 3,\n alignSelf: 'stretch',\n borderRadius: 2,\n backgroundColor: 'var(--soft-alert-accent)',\n flexShrink: 0,\n opacity: 0.85,\n}\n\nexport const softAlertIconSx: SxProps<Theme> = {\n color: 'var(--soft-alert-accent)',\n fontSize: '1.25rem',\n flexShrink: 0,\n}\n\n/** Classic MUI Alert severity fill + colored border (legacy notistack look). */\nexport const alertTheme = {\n styleOverrides: {\n root: ({ theme }) => ({\n '--alert-bgc': theme.palette.background.paper, // Default background color\n '--alert-color': theme.palette.text.primary, // Default text color\n\n whiteSpace: \"normal\", // Allow wrapping for custom components\n alignItems: 'center', // Center content vertically\n borderRadius: 'var(--mui-shape-borderRadius)', // Use theme border radius\n backgroundColor: 'var(--alert-bgc)', // Use theme background color\n color: 'var(--alert-color)', // Use theme text color\n border: '1px solid var(--alert-color)', // Border using text color for contrast\n \n \"& .MuiAlert-icon\": {\n color: \"var(--alert-icon-color, currentColor)\", // Use CSS variable for icon color\n padding: '8px 0', \n },\n \"& .MuiAlert-message\": {\n flex: 1, \n width: '100%', // Ensure message takes width\n padding: '8px 0',\n },\n \"& .MuiButtonBase-root\": {\n '--button-color': 'var(--alert-icon-color)',\n },\n\n \"&.MuiAlert-standardError\": {\n '--alert-icon-color': 'var(--mui-palette-error-main)',\n '--alert-bgc': 'var(--mui-palette-error-background, var(--mui-palette-error-dark))',\n '--alert-color': theme.palette.error.main,\n },\n \"&.MuiAlert-standardSuccess\": {\n '--alert-icon-color': 'var(--mui-palette-success-main)',\n '--alert-bgc': 'var(--mui-palette-success-background, var(--mui-palette-success-dark))',\n '--alert-color': theme.palette.success.main,\n },\n \"&.MuiAlert-standardWarning\": {\n '--alert-bgc': 'var(--mui-palette-warning-background, var(--mui-palette-warning-dark))', \n '--alert-color': theme.palette.warning.main,\n \"--alert-icon-color\": \"var(--mui-palette-warning-main)\",\n },\n \"&.MuiAlert-standardInfo\": {\n '--alert-bgc': 'var(--mui-palette-info-background, var(--mui-palette-info-dark))',\n '--alert-color': theme.palette.info.main,\n \"--alert-icon-color\": \"var(--mui-palette-info-main)\",\n },\n \"&.MuiAlert-standardSystem\": {\n '--alert-icon-color': 'var(--mui-palette-system-main)',\n '--alert-bgc': 'var(--mui-palette-system-background, var(--mui-palette-system-dark))',\n '--alert-color': theme.palette.system.main,\n },\n \"&.MuiAlert-standardInsight\": {\n '--alert-icon-color': 'var(--mui-palette-insight-main)',\n '--alert-bgc': 'var(--mui-palette-insight-background, var(--mui-palette-insight-dark))',\n '--alert-color': theme.palette.insight.main,\n },\n \"&.MuiAlert-filledSystem\": {\n '--alert-icon-color': 'var(--mui-palette-system-contrastText)',\n '--alert-bgc': 'var(--mui-palette-Alert-systemFilledBg, var(--mui-palette-system-main))',\n '--alert-color': 'var(--mui-palette-Alert-systemFilledColor, var(--mui-palette-system-contrastText))',\n },\n \"&.MuiAlert-filledInsight\": {\n '--alert-icon-color': 'var(--mui-palette-insight-contrastText)',\n '--alert-bgc': 'var(--mui-palette-Alert-insightFilledBg, var(--mui-palette-insight-main))',\n '--alert-color': 'var(--mui-palette-Alert-insightFilledColor, var(--mui-palette-insight-contrastText))',\n },\n \"&.MuiAlert-outlinedSystem\": {\n '--alert-icon-color': 'var(--mui-palette-system-main)',\n '--alert-bgc': 'transparent',\n '--alert-color': theme.palette.system.main,\n },\n \"&.MuiAlert-outlinedInsight\": {\n '--alert-icon-color': 'var(--mui-palette-insight-main)',\n '--alert-bgc': 'transparent',\n '--alert-color': theme.palette.insight.main,\n },\n }),\n },\n} as const satisfies MuiComponentTheme<\"MuiAlert\">\n","'use client'\nimport { forwardRef, useState, useCallback } from 'react'\nimport { CustomContentProps, useSnackbar } from 'notistack'\nimport type { BoxProps } from '@mui/material/Box'\nimport { Collapse } from '@/ele/Collapse'\nimport { IconButton } from '@/ele/Button'\nimport { Typography } from '@/ele/Typography'\nimport { Box } from '@/ele/Box'\nimport { ExpandMoreIcon, CloseIcon } from '@/icons/MuiIcon'\nimport { type CollapsableAlertOptions, DEFAULTs } from './_utils'\nimport { useAlertStyleVariantDefault } from './AlertStyleVariantContext'\nimport {\n collapsableAlertClassicRootSx,\n collapsableAlertSoftRootSx,\n collapsableClassicHeaderSx,\n collapsableClassicIconButtonSx,\n collapsableClassicPanelSx,\n collapsableSoftHeaderSx,\n collapsableSoftIconButtonSx,\n collapsableSoftPanelSx,\n} from './theme'\nimport { mergeSx } from '@/_utils/_func'\n\nexport const CollapsableAlert = forwardRef<\n HTMLDivElement,\n CustomContentProps & CollapsableAlertOptions\n>(function CollapsableAlert(\n { id, componentProps, componentWrapperProps, style, styleVariant: styleVariantProp },\n ref,\n) {\n const [expanded, setExpanded] = useState(false)\n const { closeSnackbar } = useSnackbar()\n const providerDefault = useAlertStyleVariantDefault()\n const styleVariant =\n styleVariantProp ?? providerDefault ?? DEFAULTs.STYLE_VARIANT\n const isSoft = styleVariant === 'soft'\n\n const handleExpandClick = useCallback(() => {\n setExpanded((oldExpanded) => !oldExpanded)\n }, [])\n\n const handleDismiss = useCallback(() => {\n closeSnackbar(id)\n }, [id, closeSnackbar])\n\n const { Renderer, ...restCollapse } = componentWrapperProps || {}\n\n const titleNode = componentProps?.title || 'Alert Title'\n\n const iconButtonSx = isSoft\n ? collapsableSoftIconButtonSx\n : collapsableClassicIconButtonSx\n\n const iconButtons = (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 0.25,\n flexShrink: 0,\n }}\n >\n <IconButton\n aria-label=\"Show more\"\n size=\"small\"\n onClick={handleExpandClick}\n sx={iconButtonSx}\n >\n <ExpandMoreIcon\n style={{\n transform: expanded ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.3s ease-in-out',\n }}\n sx={{ fontSize: '1rem' }}\n />\n </IconButton>\n <IconButton\n size=\"small\"\n aria-label=\"Close\"\n onClick={handleDismiss}\n sx={iconButtonSx}\n >\n <CloseIcon sx={{ fontSize: '1rem' }} />\n </IconButton>\n </Box>\n )\n\n const body = (\n <Collapse in={expanded} timeout=\"auto\" unmountOnExit>\n <Box\n {...(restCollapse as BoxProps)}\n sx={mergeSx(\n isSoft ? collapsableSoftPanelSx : collapsableClassicPanelSx,\n (restCollapse as BoxProps).sx,\n )}\n >\n {Renderer ? <Renderer {...componentProps} /> : null}\n {!Renderer && (\n <Box sx={{ py: 0.25 }}>\n {componentProps?.children || 'Collapsible content'}\n </Box>\n )}\n </Box>\n </Collapse>\n )\n\n return (\n <Box\n ref={ref}\n style={style}\n role=\"status\"\n aria-live=\"polite\"\n data-style-variant={isSoft ? 'soft' : 'classic'}\n data-testid={isSoft ? 'collapsable-alert-soft' : 'collapsable-alert-classic'}\n sx={isSoft ? collapsableAlertSoftRootSx : collapsableAlertClassicRootSx}\n >\n <Box sx={isSoft ? collapsableSoftHeaderSx : collapsableClassicHeaderSx}>\n <Typography\n variant=\"body2\"\n sx={{\n color: 'var(--collapse-title-color)',\n fontWeight: 600,\n lineHeight: 1.4,\n m: 0,\n minWidth: 0,\n flex: 1,\n }}\n >\n {titleNode}\n </Typography>\n {iconButtons}\n </Box>\n {body}\n </Box>\n )\n})\n","'use client'\nimport { useCallback } from 'react'\nimport { useSnackbar } from 'notistack'\nimport { toast } from './toast'\nimport type { ToastOptions, ToastShowOptions } from './toast'\nimport type { ReactNode } from 'react'\n\n/**\n * Hook mirror of the imperative `toast` soft-Alert alias.\n * @deprecated Prefer `useAlert` with default soft styleVariant.\n */\nexport function useToast() {\n const { closeSnackbar } = useSnackbar()\n\n const show = useCallback(\n (message: ReactNode, options?: ToastShowOptions) => toast.show(message, options),\n [],\n )\n const success = useCallback(\n (message: ReactNode, options?: ToastOptions) => toast.success(message, options),\n [],\n )\n const error = useCallback(\n (message: ReactNode, options?: ToastOptions) => toast.error(message, options),\n [],\n )\n const info = useCallback(\n (message: ReactNode, options?: ToastOptions) => toast.info(message, options),\n [],\n )\n const warning = useCallback(\n (message: ReactNode, options?: ToastOptions) => toast.warning(message, options),\n [],\n )\n const dismiss = useCallback((id?: string) => closeSnackbar(id), [closeSnackbar])\n const dismissAll = useCallback(() => closeSnackbar(), [closeSnackbar])\n\n return {\n show,\n success,\n error,\n info,\n warning,\n dismiss,\n dismissAll,\n }\n}\n"],"mappings":"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","names":["React","forwardRef","useCallback","useSnackbar","default","SoftAlertContent","jsx","forwardRef","useSnackbar","useCallback","default","forwardRef","useCallback","useSnackbar","jsx","jsxs","forwardRef","CollapsableAlert","useSnackbar","useCallback","default","jsx","React","AlertProvider","useCallback","useSnackbar","useSnackbar","useCallback"]}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Button
|
|
3
|
+
} from "./chunk-D4XPNSSI.mjs";
|
|
4
|
+
import {
|
|
5
|
+
default as default3
|
|
6
|
+
} from "./chunk-4RPFRNXG.mjs";
|
|
7
|
+
import {
|
|
8
|
+
default as default2
|
|
9
|
+
} from "./chunk-PNSJC6PC.mjs";
|
|
10
|
+
|
|
11
|
+
// src/components/compound/Confirm/src/ConfirmDialog.tsx
|
|
12
|
+
import { useCallback, useEffect, useId } from "react";
|
|
13
|
+
|
|
14
|
+
// src/components/compound/Confirm/src/theme.ts
|
|
15
|
+
var confirmPaperSx = {
|
|
16
|
+
"--confirm-bg": "var(--mui-palette-background-paper)",
|
|
17
|
+
"--confirm-border": "var(--mui-palette-border-1)",
|
|
18
|
+
"--confirm-shadow": "var(--mui-palette-shadow-outset-1, 0 8px 28px rgba(0,0,0,0.12))",
|
|
19
|
+
outline: "none",
|
|
20
|
+
width: "min(420px, calc(100vw - 32px))",
|
|
21
|
+
maxWidth: "95vw",
|
|
22
|
+
borderRadius: "16px",
|
|
23
|
+
border: "1px solid var(--confirm-border)",
|
|
24
|
+
backgroundColor: "var(--confirm-bg)",
|
|
25
|
+
boxShadow: "var(--confirm-shadow)",
|
|
26
|
+
p: 2.5,
|
|
27
|
+
display: "flex",
|
|
28
|
+
flexDirection: "column",
|
|
29
|
+
gap: 1.5,
|
|
30
|
+
boxSizing: "border-box"
|
|
31
|
+
};
|
|
32
|
+
var confirmBackdropSx = {
|
|
33
|
+
position: "fixed",
|
|
34
|
+
inset: 0,
|
|
35
|
+
zIndex: (theme) => theme.zIndex.modal,
|
|
36
|
+
display: "flex",
|
|
37
|
+
alignItems: "center",
|
|
38
|
+
justifyContent: "center",
|
|
39
|
+
p: 2,
|
|
40
|
+
backgroundColor: "color-mix(in srgb, var(--mui-palette-common-black, #000) 36%, transparent)",
|
|
41
|
+
backdropFilter: "blur(2px)"
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
// src/components/compound/Confirm/src/ConfirmDialog.tsx
|
|
45
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
46
|
+
function ConfirmDialog({
|
|
47
|
+
open,
|
|
48
|
+
title,
|
|
49
|
+
body,
|
|
50
|
+
confirmLabel = "Confirm",
|
|
51
|
+
cancelLabel = "Cancel",
|
|
52
|
+
danger = false,
|
|
53
|
+
loading = false,
|
|
54
|
+
onConfirm,
|
|
55
|
+
onCancel
|
|
56
|
+
}) {
|
|
57
|
+
const titleId = useId();
|
|
58
|
+
const bodyId = useId();
|
|
59
|
+
const cancelBtnId = useId();
|
|
60
|
+
const handleKeyDown = useCallback(
|
|
61
|
+
(event) => {
|
|
62
|
+
if (!open) return;
|
|
63
|
+
if (event.key === "Escape") {
|
|
64
|
+
event.preventDefault();
|
|
65
|
+
event.stopPropagation();
|
|
66
|
+
if (!loading) onCancel();
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
[open, loading, onCancel]
|
|
70
|
+
);
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
if (!open) return;
|
|
73
|
+
document.addEventListener("keydown", handleKeyDown, true);
|
|
74
|
+
const t = window.setTimeout(() => {
|
|
75
|
+
document.getElementById(cancelBtnId)?.focus();
|
|
76
|
+
}, 0);
|
|
77
|
+
return () => {
|
|
78
|
+
document.removeEventListener("keydown", handleKeyDown, true);
|
|
79
|
+
window.clearTimeout(t);
|
|
80
|
+
};
|
|
81
|
+
}, [open, handleKeyDown, cancelBtnId]);
|
|
82
|
+
if (!open) return null;
|
|
83
|
+
return /* @__PURE__ */ jsx(
|
|
84
|
+
default2,
|
|
85
|
+
{
|
|
86
|
+
role: "presentation",
|
|
87
|
+
sx: confirmBackdropSx,
|
|
88
|
+
onClick: (e) => {
|
|
89
|
+
if (e.target === e.currentTarget && !loading) onCancel();
|
|
90
|
+
},
|
|
91
|
+
"data-testid": "confirm-backdrop",
|
|
92
|
+
children: /* @__PURE__ */ jsxs(
|
|
93
|
+
default2,
|
|
94
|
+
{
|
|
95
|
+
role: "alertdialog",
|
|
96
|
+
"aria-modal": "true",
|
|
97
|
+
"aria-labelledby": titleId,
|
|
98
|
+
"aria-describedby": body ? bodyId : void 0,
|
|
99
|
+
sx: confirmPaperSx,
|
|
100
|
+
"data-testid": "confirm-dialog",
|
|
101
|
+
onClick: (e) => e.stopPropagation(),
|
|
102
|
+
children: [
|
|
103
|
+
/* @__PURE__ */ jsx(
|
|
104
|
+
default3,
|
|
105
|
+
{
|
|
106
|
+
id: titleId,
|
|
107
|
+
variant: "h6",
|
|
108
|
+
component: "h2",
|
|
109
|
+
sx: { m: 0, fontSize: "1.05rem", fontWeight: 600 },
|
|
110
|
+
children: title
|
|
111
|
+
}
|
|
112
|
+
),
|
|
113
|
+
body ? /* @__PURE__ */ jsx(
|
|
114
|
+
default3,
|
|
115
|
+
{
|
|
116
|
+
id: bodyId,
|
|
117
|
+
variant: "body2",
|
|
118
|
+
color: "text.secondary",
|
|
119
|
+
sx: { m: 0 },
|
|
120
|
+
children: body
|
|
121
|
+
}
|
|
122
|
+
) : null,
|
|
123
|
+
/* @__PURE__ */ jsxs(
|
|
124
|
+
default2,
|
|
125
|
+
{
|
|
126
|
+
sx: {
|
|
127
|
+
display: "flex",
|
|
128
|
+
justifyContent: "flex-end",
|
|
129
|
+
gap: 1,
|
|
130
|
+
mt: 0.5
|
|
131
|
+
},
|
|
132
|
+
children: [
|
|
133
|
+
/* @__PURE__ */ jsx(
|
|
134
|
+
Button,
|
|
135
|
+
{
|
|
136
|
+
id: cancelBtnId,
|
|
137
|
+
variant: "outlined",
|
|
138
|
+
color: "inherit",
|
|
139
|
+
onClick: onCancel,
|
|
140
|
+
disabled: loading,
|
|
141
|
+
sx: {
|
|
142
|
+
textTransform: "none",
|
|
143
|
+
borderColor: "var(--mui-palette-border-1)"
|
|
144
|
+
},
|
|
145
|
+
children: cancelLabel
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
/* @__PURE__ */ jsx(
|
|
149
|
+
Button,
|
|
150
|
+
{
|
|
151
|
+
variant: "contained",
|
|
152
|
+
color: danger ? "error" : "primary",
|
|
153
|
+
onClick: onConfirm,
|
|
154
|
+
disabled: loading,
|
|
155
|
+
sx: { textTransform: "none" },
|
|
156
|
+
children: confirmLabel
|
|
157
|
+
}
|
|
158
|
+
)
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
)
|
|
162
|
+
]
|
|
163
|
+
}
|
|
164
|
+
)
|
|
165
|
+
}
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// src/components/compound/Confirm/src/ConfirmProvider.tsx
|
|
170
|
+
import { useCallback as useCallback2, useSyncExternalStore } from "react";
|
|
171
|
+
|
|
172
|
+
// src/components/compound/Confirm/src/confirmBus.ts
|
|
173
|
+
var current = null;
|
|
174
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
175
|
+
function emit() {
|
|
176
|
+
listeners.forEach((l) => l(current));
|
|
177
|
+
}
|
|
178
|
+
function subscribeConfirm(listener) {
|
|
179
|
+
listeners.add(listener);
|
|
180
|
+
listener(current);
|
|
181
|
+
return () => {
|
|
182
|
+
listeners.delete(listener);
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
function getConfirmRequest() {
|
|
186
|
+
return current;
|
|
187
|
+
}
|
|
188
|
+
function requestConfirm(options) {
|
|
189
|
+
if (current) {
|
|
190
|
+
current.resolve(false);
|
|
191
|
+
}
|
|
192
|
+
return new Promise((resolve) => {
|
|
193
|
+
current = { ...options, resolve };
|
|
194
|
+
emit();
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
function settleConfirm(value) {
|
|
198
|
+
if (!current) return;
|
|
199
|
+
const req = current;
|
|
200
|
+
current = null;
|
|
201
|
+
emit();
|
|
202
|
+
req.resolve(value);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// src/components/compound/Confirm/src/ConfirmProvider.tsx
|
|
206
|
+
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
207
|
+
function ConfirmProvider({ children }) {
|
|
208
|
+
const request = useSyncExternalStore(
|
|
209
|
+
subscribeConfirm,
|
|
210
|
+
getConfirmRequest,
|
|
211
|
+
getConfirmRequest
|
|
212
|
+
);
|
|
213
|
+
const onConfirm = useCallback2(() => settleConfirm(true), []);
|
|
214
|
+
const onCancel = useCallback2(() => settleConfirm(false), []);
|
|
215
|
+
return /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
216
|
+
children,
|
|
217
|
+
/* @__PURE__ */ jsx2(
|
|
218
|
+
ConfirmDialog,
|
|
219
|
+
{
|
|
220
|
+
open: !!request,
|
|
221
|
+
title: request?.title ?? "",
|
|
222
|
+
body: request?.body,
|
|
223
|
+
confirmLabel: request?.confirmLabel,
|
|
224
|
+
cancelLabel: request?.cancelLabel,
|
|
225
|
+
danger: request?.danger,
|
|
226
|
+
onConfirm,
|
|
227
|
+
onCancel
|
|
228
|
+
}
|
|
229
|
+
)
|
|
230
|
+
] });
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// src/components/compound/Confirm/src/confirm.ts
|
|
234
|
+
function confirm(options) {
|
|
235
|
+
return requestConfirm(options);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// src/components/compound/Confirm/src/useConfirm.ts
|
|
239
|
+
import { useCallback as useCallback3 } from "react";
|
|
240
|
+
function useConfirm() {
|
|
241
|
+
return useCallback3((options) => confirm(options), []);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
export {
|
|
245
|
+
ConfirmDialog,
|
|
246
|
+
ConfirmProvider,
|
|
247
|
+
confirm,
|
|
248
|
+
useConfirm
|
|
249
|
+
};
|
|
250
|
+
//# sourceMappingURL=chunk-RSN7NH2J.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/compound/Confirm/src/ConfirmDialog.tsx","../src/components/compound/Confirm/src/theme.ts","../src/components/compound/Confirm/src/ConfirmProvider.tsx","../src/components/compound/Confirm/src/confirmBus.ts","../src/components/compound/Confirm/src/confirm.ts","../src/components/compound/Confirm/src/useConfirm.ts"],"sourcesContent":["'use client'\nimport { useCallback, useEffect, useId } from 'react'\nimport { Box } from '@/ele/Box'\nimport { Typography } from '@/ele/Typography'\nimport { Button } from '@/ele/Button'\nimport type { ConfirmDialogProps } from './types'\nimport { confirmBackdropSx, confirmPaperSx } from './theme'\n\n/**\n * Soft confirm modal. Esc and Cancel resolve as cancel.\n * Use controlled props, or the promise-style `confirm()` helper.\n */\nexport function ConfirmDialog({\n open,\n title,\n body,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n danger = false,\n loading = false,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) {\n const titleId = useId()\n const bodyId = useId()\n const cancelBtnId = useId()\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!open) return\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n if (!loading) onCancel()\n }\n },\n [open, loading, onCancel],\n )\n\n useEffect(() => {\n if (!open) return\n document.addEventListener('keydown', handleKeyDown, true)\n const t = window.setTimeout(() => {\n document.getElementById(cancelBtnId)?.focus()\n }, 0)\n return () => {\n document.removeEventListener('keydown', handleKeyDown, true)\n window.clearTimeout(t)\n }\n }, [open, handleKeyDown, cancelBtnId])\n\n if (!open) return null\n\n return (\n <Box\n role=\"presentation\"\n sx={confirmBackdropSx}\n onClick={(e) => {\n if (e.target === e.currentTarget && !loading) onCancel()\n }}\n data-testid=\"confirm-backdrop\"\n >\n <Box\n role=\"alertdialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={body ? bodyId : undefined}\n sx={confirmPaperSx}\n data-testid=\"confirm-dialog\"\n onClick={(e) => e.stopPropagation()}\n >\n <Typography\n id={titleId}\n variant=\"h6\"\n component=\"h2\"\n sx={{ m: 0, fontSize: '1.05rem', fontWeight: 600 }}\n >\n {title}\n </Typography>\n {body ? (\n <Typography\n id={bodyId}\n variant=\"body2\"\n color=\"text.secondary\"\n sx={{ m: 0 }}\n >\n {body}\n </Typography>\n ) : null}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 1,\n mt: 0.5,\n }}\n >\n <Button\n id={cancelBtnId}\n variant=\"outlined\"\n color=\"inherit\"\n onClick={onCancel}\n disabled={loading}\n sx={{\n textTransform: 'none',\n borderColor: 'var(--mui-palette-border-1)',\n }}\n >\n {cancelLabel}\n </Button>\n <Button\n variant=\"contained\"\n color={danger ? 'error' : 'primary'}\n onClick={onConfirm}\n disabled={loading}\n sx={{ textTransform: 'none' }}\n >\n {confirmLabel}\n </Button>\n </Box>\n </Box>\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material/styles'\n\n/** Soft confirm modal surface — quiet border, soft radius. */\nexport const confirmPaperSx: SxProps<Theme> = {\n '--confirm-bg': 'var(--mui-palette-background-paper)',\n '--confirm-border': 'var(--mui-palette-border-1)',\n '--confirm-shadow': 'var(--mui-palette-shadow-outset-1, 0 8px 28px rgba(0,0,0,0.12))',\n\n outline: 'none',\n width: 'min(420px, calc(100vw - 32px))',\n maxWidth: '95vw',\n borderRadius: '16px',\n border: '1px solid var(--confirm-border)',\n backgroundColor: 'var(--confirm-bg)',\n boxShadow: 'var(--confirm-shadow)',\n p: 2.5,\n display: 'flex',\n flexDirection: 'column',\n gap: 1.5,\n boxSizing: 'border-box',\n}\n\nexport const confirmBackdropSx: SxProps<Theme> = {\n position: 'fixed',\n inset: 0,\n zIndex: (theme) => theme.zIndex.modal,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n p: 2,\n backgroundColor: 'color-mix(in srgb, var(--mui-palette-common-black, #000) 36%, transparent)',\n backdropFilter: 'blur(2px)',\n}\n","'use client'\nimport React, { useCallback, useSyncExternalStore } from 'react'\nimport { ConfirmDialog } from './ConfirmDialog'\nimport {\n getConfirmRequest,\n settleConfirm,\n subscribeConfirm,\n} from './confirmBus'\n\nexport type ConfirmProviderProps = {\n children?: React.ReactNode\n}\n\n/**\n * Host for the imperative confirm() helper.\n */\nexport function ConfirmProvider({ children }: ConfirmProviderProps) {\n const request = useSyncExternalStore(\n subscribeConfirm,\n getConfirmRequest,\n getConfirmRequest,\n )\n\n const onConfirm = useCallback(() => settleConfirm(true), [])\n const onCancel = useCallback(() => settleConfirm(false), [])\n\n return (\n <>\n {children}\n <ConfirmDialog\n open={!!request}\n title={request?.title ?? ''}\n body={request?.body}\n confirmLabel={request?.confirmLabel}\n cancelLabel={request?.cancelLabel}\n danger={request?.danger}\n onConfirm={onConfirm}\n onCancel={onCancel}\n />\n </>\n )\n}\n","import type { ConfirmOptions, ConfirmRequest } from './types'\n\ntype Listener = (request: ConfirmRequest | null) => void\n\nlet current: ConfirmRequest | null = null\nconst listeners = new Set<Listener>()\n\nfunction emit() {\n listeners.forEach((l) => l(current))\n}\n\nexport function subscribeConfirm(listener: Listener): () => void {\n listeners.add(listener)\n listener(current)\n return () => {\n listeners.delete(listener)\n }\n}\n\nexport function getConfirmRequest(): ConfirmRequest | null {\n return current\n}\n\nexport function requestConfirm(options: ConfirmOptions): Promise<boolean> {\n // Resolve any pending confirm as cancelled when a new one opens\n if (current) {\n current.resolve(false)\n }\n\n return new Promise<boolean>((resolve) => {\n current = { ...options, resolve }\n emit()\n })\n}\n\nexport function settleConfirm(value: boolean) {\n if (!current) return\n const req = current\n current = null\n emit()\n req.resolve(value)\n}\n","import { requestConfirm } from './confirmBus'\nimport type { ConfirmOptions } from './types'\n\n/**\n * Promise-style confirm. Resolves true on primary, false on Cancel/Esc/backdrop.\n * Requires ConfirmProvider (mounted by ThemeProvider by default).\n *\n * @example\n * const ok = await confirm({ title: 'Delete?', body: 'Cannot undo.', danger: true })\n */\nexport function confirm(options: ConfirmOptions): Promise<boolean> {\n return requestConfirm(options)\n}\n","'use client'\nimport { useCallback } from 'react'\nimport { confirm } from './confirm'\nimport type { ConfirmOptions } from './types'\n\nexport function useConfirm() {\n return useCallback((options: ConfirmOptions) => confirm(options), [])\n}\n"],"mappings":";;;;;;;;;;;AACA,SAAS,aAAa,WAAW,aAAa;;;ACEvC,IAAM,iBAAiC;AAAA,EAC5C,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EAEpB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,GAAG;AAAA,EACH,SAAS;AAAA,EACT,eAAe;AAAA,EACf,KAAK;AAAA,EACL,WAAW;AACb;AAEO,IAAM,oBAAoC;AAAA,EAC/C,UAAU;AAAA,EACV,OAAO;AAAA,EACP,QAAQ,CAAC,UAAU,MAAM,OAAO;AAAA,EAChC,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,GAAG;AAAA,EACH,iBAAiB;AAAA,EACjB,gBAAgB;AAClB;;;ADuCQ,cAkBA,YAlBA;AA3DD,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,cAAc;AAAA,EACd,SAAS;AAAA,EACT,UAAU;AAAA,EACV;AAAA,EACA;AACF,GAAuB;AACrB,QAAM,UAAU,MAAM;AACtB,QAAM,SAAS,MAAM;AACrB,QAAM,cAAc,MAAM;AAE1B,QAAM,gBAAgB;AAAA,IACpB,CAAC,UAAyB;AACxB,UAAI,CAAC,KAAM;AACX,UAAI,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM,gBAAgB;AACtB,YAAI,CAAC,QAAS,UAAS;AAAA,MACzB;AAAA,IACF;AAAA,IACA,CAAC,MAAM,SAAS,QAAQ;AAAA,EAC1B;AAEA,YAAU,MAAM;AACd,QAAI,CAAC,KAAM;AACX,aAAS,iBAAiB,WAAW,eAAe,IAAI;AACxD,UAAM,IAAI,OAAO,WAAW,MAAM;AAChC,eAAS,eAAe,WAAW,GAAG,MAAM;AAAA,IAC9C,GAAG,CAAC;AACJ,WAAO,MAAM;AACX,eAAS,oBAAoB,WAAW,eAAe,IAAI;AAC3D,aAAO,aAAa,CAAC;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,MAAM,eAAe,WAAW,CAAC;AAErC,MAAI,CAAC,KAAM,QAAO;AAElB,SACE;AAAA,IAACA;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,IAAI;AAAA,MACJ,SAAS,CAAC,MAAM;AACd,YAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,QAAS,UAAS;AAAA,MACzD;AAAA,MACA,eAAY;AAAA,MAEZ;AAAA,QAACA;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,cAAW;AAAA,UACX,mBAAiB;AAAA,UACjB,oBAAkB,OAAO,SAAS;AAAA,UAClC,IAAI;AAAA,UACJ,eAAY;AAAA,UACZ,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,UAElC;AAAA;AAAA,cAACA;AAAA,cAAA;AAAA,gBACC,IAAI;AAAA,gBACJ,SAAQ;AAAA,gBACR,WAAU;AAAA,gBACV,IAAI,EAAE,GAAG,GAAG,UAAU,WAAW,YAAY,IAAI;AAAA,gBAEhD;AAAA;AAAA,YACH;AAAA,YACC,OACC;AAAA,cAACA;AAAA,cAAA;AAAA,gBACC,IAAI;AAAA,gBACJ,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,IAAI,EAAE,GAAG,EAAE;AAAA,gBAEV;AAAA;AAAA,YACH,IACE;AAAA,YACJ;AAAA,cAACA;AAAA,cAAA;AAAA,gBACC,IAAI;AAAA,kBACF,SAAS;AAAA,kBACT,gBAAgB;AAAA,kBAChB,KAAK;AAAA,kBACL,IAAI;AAAA,gBACN;AAAA,gBAEA;AAAA;AAAA,oBAAC;AAAA;AAAA,sBACC,IAAI;AAAA,sBACJ,SAAQ;AAAA,sBACR,OAAM;AAAA,sBACN,SAAS;AAAA,sBACT,UAAU;AAAA,sBACV,IAAI;AAAA,wBACF,eAAe;AAAA,wBACf,aAAa;AAAA,sBACf;AAAA,sBAEC;AAAA;AAAA,kBACH;AAAA,kBACA;AAAA,oBAAC;AAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,OAAO,SAAS,UAAU;AAAA,sBAC1B,SAAS;AAAA,sBACT,UAAU;AAAA,sBACV,IAAI,EAAE,eAAe,OAAO;AAAA,sBAE3B;AAAA;AAAA,kBACH;AAAA;AAAA;AAAA,YACF;AAAA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;;;AE1HA,SAAgB,eAAAC,cAAa,4BAA4B;;;ACGzD,IAAI,UAAiC;AACrC,IAAM,YAAY,oBAAI,IAAc;AAEpC,SAAS,OAAO;AACd,YAAU,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;AACrC;AAEO,SAAS,iBAAiB,UAAgC;AAC/D,YAAU,IAAI,QAAQ;AACtB,WAAS,OAAO;AAChB,SAAO,MAAM;AACX,cAAU,OAAO,QAAQ;AAAA,EAC3B;AACF;AAEO,SAAS,oBAA2C;AACzD,SAAO;AACT;AAEO,SAAS,eAAe,SAA2C;AAExE,MAAI,SAAS;AACX,YAAQ,QAAQ,KAAK;AAAA,EACvB;AAEA,SAAO,IAAI,QAAiB,CAAC,YAAY;AACvC,cAAU,EAAE,GAAG,SAAS,QAAQ;AAChC,SAAK;AAAA,EACP,CAAC;AACH;AAEO,SAAS,cAAc,OAAgB;AAC5C,MAAI,CAAC,QAAS;AACd,QAAM,MAAM;AACZ,YAAU;AACV,OAAK;AACL,MAAI,QAAQ,KAAK;AACnB;;;ADdI,mBAEE,OAAAC,MAFF,QAAAC,aAAA;AAXG,SAAS,gBAAgB,EAAE,SAAS,GAAyB;AAClE,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,YAAYC,aAAY,MAAM,cAAc,IAAI,GAAG,CAAC,CAAC;AAC3D,QAAM,WAAWA,aAAY,MAAM,cAAc,KAAK,GAAG,CAAC,CAAC;AAE3D,SACE,gBAAAD,MAAA,YACG;AAAA;AAAA,IACD,gBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,CAAC,CAAC;AAAA,QACR,OAAO,SAAS,SAAS;AAAA,QACzB,MAAM,SAAS;AAAA,QACf,cAAc,SAAS;AAAA,QACvB,aAAa,SAAS;AAAA,QACtB,QAAQ,SAAS;AAAA,QACjB;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;;;AE/BO,SAAS,QAAQ,SAA2C;AACjE,SAAO,eAAe,OAAO;AAC/B;;;ACXA,SAAS,eAAAG,oBAAmB;AAIrB,SAAS,aAAa;AAC3B,SAAOC,aAAY,CAAC,YAA4B,QAAQ,OAAO,GAAG,CAAC,CAAC;AACtE;","names":["default","useCallback","jsx","jsxs","useCallback","useCallback","useCallback"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
require_classnames
|
|
3
|
+
} from "./chunk-2FK24ZPJ.mjs";
|
|
1
4
|
import {
|
|
2
5
|
CLASSNAMEs
|
|
3
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KSN33A6I.mjs";
|
|
4
7
|
import {
|
|
5
8
|
ShinyPaper_default
|
|
6
9
|
} from "./chunk-3VUAM2GY.mjs";
|
|
@@ -8,85 +11,25 @@ import {
|
|
|
8
11
|
doodlePatternCssVars,
|
|
9
12
|
getDoodlePatternModalBackgroundSx
|
|
10
13
|
} from "./chunk-UMJ5SCIQ.mjs";
|
|
11
|
-
import {
|
|
12
|
-
IconButton_default
|
|
13
|
-
} from "./chunk-JIU5GVM7.mjs";
|
|
14
14
|
import {
|
|
15
15
|
default54 as default3
|
|
16
16
|
} from "./chunk-ZVFYOXDE.mjs";
|
|
17
|
+
import {
|
|
18
|
+
IconButton_default
|
|
19
|
+
} from "./chunk-D4XPNSSI.mjs";
|
|
17
20
|
import {
|
|
18
21
|
Header
|
|
19
22
|
} from "./chunk-4RPFRNXG.mjs";
|
|
20
23
|
import {
|
|
21
|
-
default as default2
|
|
24
|
+
default as default2
|
|
25
|
+
} from "./chunk-PNSJC6PC.mjs";
|
|
26
|
+
import {
|
|
22
27
|
mergeSx
|
|
23
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-AFLEG5ZC.mjs";
|
|
24
29
|
import {
|
|
25
|
-
__commonJS,
|
|
26
30
|
__toESM
|
|
27
31
|
} from "./chunk-FJ6ZGZIA.mjs";
|
|
28
32
|
|
|
29
|
-
// node_modules/classnames/index.js
|
|
30
|
-
var require_classnames = __commonJS({
|
|
31
|
-
"node_modules/classnames/index.js"(exports, module) {
|
|
32
|
-
"use strict";
|
|
33
|
-
(function() {
|
|
34
|
-
"use strict";
|
|
35
|
-
var hasOwn = {}.hasOwnProperty;
|
|
36
|
-
function classNames() {
|
|
37
|
-
var classes = "";
|
|
38
|
-
for (var i = 0; i < arguments.length; i++) {
|
|
39
|
-
var arg = arguments[i];
|
|
40
|
-
if (arg) {
|
|
41
|
-
classes = appendClass(classes, parseValue(arg));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return classes;
|
|
45
|
-
}
|
|
46
|
-
function parseValue(arg) {
|
|
47
|
-
if (typeof arg === "string" || typeof arg === "number") {
|
|
48
|
-
return arg;
|
|
49
|
-
}
|
|
50
|
-
if (typeof arg !== "object") {
|
|
51
|
-
return "";
|
|
52
|
-
}
|
|
53
|
-
if (Array.isArray(arg)) {
|
|
54
|
-
return classNames.apply(null, arg);
|
|
55
|
-
}
|
|
56
|
-
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
|
|
57
|
-
return arg.toString();
|
|
58
|
-
}
|
|
59
|
-
var classes = "";
|
|
60
|
-
for (var key in arg) {
|
|
61
|
-
if (hasOwn.call(arg, key) && arg[key]) {
|
|
62
|
-
classes = appendClass(classes, key);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return classes;
|
|
66
|
-
}
|
|
67
|
-
function appendClass(value, newClass) {
|
|
68
|
-
if (!newClass) {
|
|
69
|
-
return value;
|
|
70
|
-
}
|
|
71
|
-
if (value) {
|
|
72
|
-
return value + " " + newClass;
|
|
73
|
-
}
|
|
74
|
-
return value + newClass;
|
|
75
|
-
}
|
|
76
|
-
if (typeof module !== "undefined" && module.exports) {
|
|
77
|
-
classNames.default = classNames;
|
|
78
|
-
module.exports = classNames;
|
|
79
|
-
} else if (typeof define === "function" && typeof define.amd === "object" && define.amd) {
|
|
80
|
-
define("classnames", [], function() {
|
|
81
|
-
return classNames;
|
|
82
|
-
});
|
|
83
|
-
} else {
|
|
84
|
-
window.classNames = classNames;
|
|
85
|
-
}
|
|
86
|
-
})();
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
|
|
90
33
|
// src/components/elemental/Modal/src/index.ts
|
|
91
34
|
import { default as default4 } from "@mui/material/Modal";
|
|
92
35
|
|
|
@@ -344,13 +287,4 @@ export {
|
|
|
344
287
|
MuiModal,
|
|
345
288
|
default4 as default
|
|
346
289
|
};
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
classnames/index.js:
|
|
350
|
-
(*!
|
|
351
|
-
Copyright (c) 2018 Jed Watson.
|
|
352
|
-
Licensed under the MIT License (MIT), see
|
|
353
|
-
http://jedwatson.github.io/classnames
|
|
354
|
-
*)
|
|
355
|
-
*/
|
|
356
|
-
//# sourceMappingURL=chunk-UDREPVEY.mjs.map
|
|
290
|
+
//# sourceMappingURL=chunk-RVSMEZE3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/elemental/Modal/src/index.ts","../src/components/elemental/Modal/src/MuiModal/MuiModal.tsx","../src/_utils/_const/index.ts","../src/components/elemental/Modal/src/MuiModal/theme.ts"],"sourcesContent":["export { default as Modal } from '@mui/material/Modal'\nexport * from './MuiModal'\n","'use client'\nimport React, { useCallback, useMemo } from 'react'\nimport Modal, { type ModalProps } from '@mui/material/Modal'\nimport type { SxProps } from '@mui/material';\nimport type { Theme } from '@mui/material/styles';\nimport { useTheme, useMediaQuery } from '@mui/material';\nimport classnames from 'classnames';\nimport { CLASSNAMEs } from '@/_utils/_const/classNames';\nimport Tooltip from '@mui/material/Tooltip'\nimport { CloseIcon } from '@/icons/MuiIcon'\n\nimport { COMPONENTs } from '@/_utils/_const'\nimport { mergeSx } from '@/_utils/_func'\nimport { Box as Box } from '@/ele/Box'\nimport { Header as MuiHeader } from '@/ele/Typography'\nimport { ShinyPaper as MuiPaper } from '@/ele/Paper'\nimport { IconButton } from '@/ele/Button'\nimport { getDoodlePatternModalBackgroundSx } from '@/patterns'\nimport { MUI_MODAL_PAPER_RADIUS, muiModalPaperSx, muiModalRootSx } from './theme'\n\n/**\n * extended from Mui Modal\n * \n * [Doc](https://mui.com/material-ui/api/modal/)\n * \n * @param openProps - [open, setOpen]\n */\nexport default function MuiModal({\n children,\n openProps,\n size = {\n w: 'auto',\n h: 'auto',\n },\n maxHeight = '95vh', maxWidth = '95vw',\n\n onClose = () => { },\n title = \"\",\n titleIcon = null,\n closeButton = null,\n slots,\n slotProps,\n ...rest\n}: {\n children?: React.ReactNode;\n openProps: [\n boolean, // open\n (React.Dispatch<React.SetStateAction<boolean>> | React.Dispatch<boolean>) // setOpen\n ];\n size?: {\n w?: string | number;\n h?: string | number;\n },\n maxHeight?: string | number;\n maxWidth?: string | number;\n onClose?: () => void;\n title?: string;\n titleIcon?: React.ReactNode;\n closeButton?: React.ReactNode;\n\n slots?: {\n closeButton?: React.ElementType;\n closeIcon?: React.ElementType;\n };\n slotProps?: {\n container?: {\n style?: {\n bgColor?: string;\n shadow?: string;\n },\n sx?: SxProps<Theme>;\n },\n header?: {\n style?: {\n headerImg: string;\n }\n },\n closeButton?: Partial<React.ComponentProps<typeof IconButton>> & {\n closeIcon?: Partial<React.ComponentProps<typeof CloseIcon>>;\n };\n };\n} & Omit<ModalProps, \"open\" | \"title\">) {\n const [open, setOpen] = openProps\n\n // responsive behavior: on small screens modal should occupy nearly full\n // viewport automatically so users are not staring at a tiny dialog.\n const theme = useTheme();\n const isSmDown = useMediaQuery(theme.breakpoints.down('sm'));\n const effectiveSize = useMemo(() => {\n if (isSmDown) {\n return { width: 'calc(100vw - 2%)', height: 'calc(100vh - 2%)' };\n }\n return {\n width: size.w || 'auto',\n height: size.h || 'auto',\n };\n }, [isSmDown, size.w, size.h]);\n\n const { \n closeButton: CloseButtonSlot = IconButton,\n closeIcon: CloseIconSlot = CloseIcon,\n } = slots || {};\n\n const {\n closeButton: closeButtonAllProps,\n } = slotProps || {};\n\n const { closeIcon: closeIconProps, ...closeButtonProps } = closeButtonAllProps || {sx:{}};\n\n /**\n * Internal close handler that ensures modal state is updated\n */\n const handleClose = useCallback(() => {\n // If setOpen is available (it should be from openProps), use it\n if (typeof setOpen === 'function') {\n setOpen(false);\n }\n // Also call generic onClose if provided\n onClose?.();\n }, [setOpen, onClose]);\n\n /**\n * Determine the close button to render\n * If closeButton is provided, use it\n * Otherwise generate a default IconButton that triggers handleClose\n */\n const renderCloseButton = useMemo(() => {\n if (closeButton) return closeButton;\n \n return (\n <CloseButtonSlot onClick={handleClose} size=\"small\" aria-label=\"close\" {...closeButtonProps} sx={{\n padding: 0,\n ...closeButtonProps?.sx,\n }}>\n <CloseIconSlot\n {...closeIconProps}\n fontSize=\"1rem\"\n sx={{\n color: 'var(--closeIconColor)',\n ...closeIconProps?.sx,\n }}\n />\n </CloseButtonSlot>\n );\n }, [closeButton, handleClose, CloseButtonSlot, CloseIconSlot, closeButtonProps, closeIconProps]);\n\n // ensure the elemental modal classname is always present so tests can target it\n const modalClass = classnames(CLASSNAMEs.elemental.modal, rest.className);\n\n return (\n <Modal\n open={open}\n onClose={onClose}\n className={modalClass}\n {...rest}\n sx={{\n zIndex: COMPONENTs.modal.zIndex,\n padding: \"1%\",\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: 'transparent',\n\n // backdropFilter: 'blur(5px)', // causing performance issues when blurring large areas\n }}\n\n >\n <Box\n style={{\n \"--w\": effectiveSize.width,\n \"--h\": effectiveSize.height,\n \"--max-h\": maxHeight,\n \"--max-w\": maxWidth,\n ...(slotProps?.header?.style?.headerImg\n ? { '--headerImg': slotProps.header.style.headerImg }\n : {}),\n ...(slotProps?.container?.style?.bgColor\n ? { '--bgC': slotProps.container.style.bgColor }\n : {}),\n ...(slotProps?.container?.style?.shadow\n ? { '--shadow': slotProps.container.style.shadow }\n : {}),\n } as React.CSSProperties}\n sx={mergeSx(muiModalRootSx, {\n display: \"flex\",\n justifyContent: \"center\",\n height: {xs: 'calc(100vh - 2%)', md: 'var(--h)'},\n width: {xs: 'calc(100vw - 2%)', md: 'var(--w)'},\n borderRadius: MUI_MODAL_PAPER_RADIUS,\n })}>\n <MuiPaper sx={mergeSx(muiModalPaperSx, slotProps?.container?.sx)}>\n <BackgroundContainer overridePatternUrl={slotProps?.header?.style?.headerImg}>\n <MuiModalHeader\n title={title}\n titleIcon={titleIcon}\n closeButton={renderCloseButton}\n />\n\n <Box sx={{\n padding: \"16px\",\n paddingTop: \"8px\",\n flexGrow: 1,\n height: '-webkit-fill-available',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n }}>\n {children}\n </Box>\n </BackgroundContainer>\n </MuiPaper>\n </Box>\n </Modal>\n )\n}\n\n/**\n * Background container for the modal\n * it places a background image and a gradient overlay\n */\nfunction BackgroundContainer({ children, overridePatternUrl }: {\n children?: React.ReactNode;\n overridePatternUrl?: string;\n}) {\n const isDefaultPattern = !overridePatternUrl;\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n flexGrow: 1,\n borderRadius: MUI_MODAL_PAPER_RADIUS,\n position: 'relative',\n }}>\n <Box \n sx={{\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n \n ...(isDefaultPattern\n ? getDoodlePatternModalBackgroundSx()\n : {\n backgroundImage: 'var(--headerImg)',\n backgroundSize: '27px',\n }),\n opacity: 0.2,\n }} \n />\n <Box sx={{\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n flexGrow: 1,\n borderRadius: MUI_MODAL_PAPER_RADIUS,\n position: 'relative',\n zIndex: 1,\n\n // Circular gradient overlay\n background: 'var(--modalOverlayBg)',\n }}>\n {children}\n </Box>\n </Box>\n )\n}\n\nfunction MuiModalHeader({\n title = '',\n titleIcon = null,\n closeButton = null,\n}: {\n title?: string;\n titleIcon?: React.ReactNode;\n closeButton?: React.ReactNode;\n}) {\n return (\n <Box sx={{\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n }}>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n paddingTop: 1,\n gap: 1,\n maxWidth: '50%',\n }}\n >\n <MuiHeader\n sx={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'pre',\n }}\n >\n {title}\n </MuiHeader>\n {titleIcon && (\n <MuiHeader sx={{ display: 'flex', flexShrink: 0, }}>\n <Tooltip title=\"Icon\" arrow>\n <span>{titleIcon}</span>\n </Tooltip>\n </MuiHeader>\n )}\n </Box>\n\n {closeButton && (\n <Box sx={{ position: 'absolute', right: '8px', top: '4px' }}>{closeButton}</Box>\n )}\n </Box>\n\n );\n};\n\n","export const COMPONENTs = {\n modal:{\n zIndex: 1300,\n }\n}\n","import type { SxProps, Theme } from '@mui/material/styles'\nimport { doodlePatternCssVars } from '@/patterns/doodlePatternStyles'\n\nexport const MUI_MODAL_PAPER_RADIUS = '20px'\n\nexport const muiModalRootSx: SxProps<Theme> = {\n ...doodlePatternCssVars,\n '--closeIconColor': 'var(--mui-palette-error-main)',\n '--bgC': 'var(--mui-palette-background-default)',\n '--shadow': 'var(--shadow-outset-1)',\n '--modalOverlayBg': 'radial-gradient(ellipse 120% 100% at 50% 50%, var(--bgC) 0%, transparent 70%)',\n}\n\n/** Internal paper chrome. Pass as the first `sx` array item so host `slotProps.container.sx` merges instead of replacing `&.MuiPaper-root`. */\nexport const muiModalPaperSx: SxProps<Theme> = {\n '&.MuiPaper-root': {\n boxShadow: 'var(--shadow)',\n backgroundColor: 'var(--bgC)',\n borderRadius: MUI_MODAL_PAPER_RADIUS,\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'var(--max-h)',\n maxWidth: 'var(--max-w)',\n padding: 0,\n paddingTop: 0,\n width: '-webkit-fill-available',\n height: '-webkit-fill-available',\n },\n}\n"],"mappings":"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","names":["default","default","classnames"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
IconButton_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-D4XPNSSI.mjs";
|
|
4
4
|
|
|
5
5
|
// src/components/elemental/Timeline/MuiTimeline/MuiTimeline.tsx
|
|
6
6
|
import Timeline from "@mui/lab/Timeline";
|
|
@@ -185,4 +185,4 @@ export {
|
|
|
185
185
|
MuiTLContainer,
|
|
186
186
|
MuiTLItem
|
|
187
187
|
};
|
|
188
|
-
//# sourceMappingURL=chunk-
|
|
188
|
+
//# sourceMappingURL=chunk-S64IYJ6Y.mjs.map
|
|
@@ -10,12 +10,14 @@ import {
|
|
|
10
10
|
} from "./chunk-MDAUF7IL.mjs";
|
|
11
11
|
import {
|
|
12
12
|
IconButton_default
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-D4XPNSSI.mjs";
|
|
14
14
|
import {
|
|
15
15
|
BorderBox_default,
|
|
16
|
-
default as default2
|
|
16
|
+
default as default2
|
|
17
|
+
} from "./chunk-PNSJC6PC.mjs";
|
|
18
|
+
import {
|
|
17
19
|
mergeSx
|
|
18
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-AFLEG5ZC.mjs";
|
|
19
21
|
|
|
20
22
|
// src/components/elemental/Input/src/PopperInput/PopperInput.tsx
|
|
21
23
|
import { useState, forwardRef, useImperativeHandle } from "react";
|
|
@@ -350,4 +352,4 @@ export {
|
|
|
350
352
|
StackInput_default,
|
|
351
353
|
LineInput_default
|
|
352
354
|
};
|
|
353
|
-
//# sourceMappingURL=chunk-
|
|
355
|
+
//# sourceMappingURL=chunk-SMD7OEUW.mjs.map
|