@mieweb/ui 0.11.0-dev.33 → 0.11.0-dev.34

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.
Files changed (88) hide show
  1. package/dist/{chunk-PJN4HM2X.cjs → chunk-3O3Q3DX7.cjs} +21 -21
  2. package/dist/{chunk-PJN4HM2X.cjs.map → chunk-3O3Q3DX7.cjs.map} +1 -1
  3. package/dist/{chunk-M42FTWY2.cjs → chunk-46RYJYN2.cjs} +6 -6
  4. package/dist/{chunk-M42FTWY2.cjs.map → chunk-46RYJYN2.cjs.map} +1 -1
  5. package/dist/{chunk-JMAZ2GKT.js → chunk-4GSFVD5V.js} +3 -3
  6. package/dist/{chunk-JMAZ2GKT.js.map → chunk-4GSFVD5V.js.map} +1 -1
  7. package/dist/{chunk-2R3ILG4Y.cjs → chunk-4M2KE4O5.cjs} +7 -7
  8. package/dist/{chunk-2R3ILG4Y.cjs.map → chunk-4M2KE4O5.cjs.map} +1 -1
  9. package/dist/{chunk-NAQMIFUF.js → chunk-4SUEBKTY.js} +3 -3
  10. package/dist/{chunk-NAQMIFUF.js.map → chunk-4SUEBKTY.js.map} +1 -1
  11. package/dist/{chunk-X6HEWIYP.cjs → chunk-6O6EYKOG.cjs} +130 -874
  12. package/dist/chunk-6O6EYKOG.cjs.map +1 -0
  13. package/dist/{chunk-ZNYBLM4O.cjs → chunk-DXNVQQYN.cjs} +4 -4
  14. package/dist/{chunk-ZNYBLM4O.cjs.map → chunk-DXNVQQYN.cjs.map} +1 -1
  15. package/dist/{chunk-WEGKY2LY.js → chunk-EWPNM6OO.js} +5 -3
  16. package/dist/chunk-EWPNM6OO.js.map +1 -0
  17. package/dist/{chunk-IBEQ54XW.js → chunk-EX7Q5545.js} +4 -4
  18. package/dist/{chunk-IBEQ54XW.js.map → chunk-EX7Q5545.js.map} +1 -1
  19. package/dist/{chunk-VV2U36T6.cjs → chunk-MZR634HI.cjs} +9 -9
  20. package/dist/{chunk-VV2U36T6.cjs.map → chunk-MZR634HI.cjs.map} +1 -1
  21. package/dist/{chunk-JCO62XMU.cjs → chunk-NCPDUJKJ.cjs} +43 -26
  22. package/dist/chunk-NCPDUJKJ.cjs.map +1 -0
  23. package/dist/{chunk-PYAK7XXD.js → chunk-NW6D6AFL.js} +80 -819
  24. package/dist/chunk-NW6D6AFL.js.map +1 -0
  25. package/dist/{chunk-ZPPMEUGR.cjs → chunk-PGJLW2NO.cjs} +7 -7
  26. package/dist/{chunk-ZPPMEUGR.cjs.map → chunk-PGJLW2NO.cjs.map} +1 -1
  27. package/dist/{chunk-ZFJJMDV3.js → chunk-RTADGBBN.js} +3 -3
  28. package/dist/{chunk-ZFJJMDV3.js.map → chunk-RTADGBBN.js.map} +1 -1
  29. package/dist/{chunk-LJ4CCM3V.cjs → chunk-S2CJ57BX.cjs} +5 -3
  30. package/dist/chunk-S2CJ57BX.cjs.map +1 -0
  31. package/dist/{chunk-KSQQBFDQ.js → chunk-SPGP252Q.js} +43 -26
  32. package/dist/chunk-SPGP252Q.js.map +1 -0
  33. package/dist/{chunk-67SD6VPF.cjs → chunk-SVC7NPQ6.cjs} +6 -6
  34. package/dist/{chunk-67SD6VPF.cjs.map → chunk-SVC7NPQ6.cjs.map} +1 -1
  35. package/dist/{chunk-TWQSMUE6.js → chunk-VMEVLBI3.js} +46 -38
  36. package/dist/chunk-VMEVLBI3.js.map +1 -0
  37. package/dist/{chunk-QNJEDBIN.js → chunk-X5HLVACK.js} +4 -4
  38. package/dist/{chunk-QNJEDBIN.js.map → chunk-X5HLVACK.js.map} +1 -1
  39. package/dist/{chunk-LC3JL2HB.cjs → chunk-XEHD2HA5.cjs} +46 -38
  40. package/dist/chunk-XEHD2HA5.cjs.map +1 -0
  41. package/dist/{chunk-R3MJKY63.js → chunk-YGSPIDE4.js} +3 -3
  42. package/dist/{chunk-R3MJKY63.js.map → chunk-YGSPIDE4.js.map} +1 -1
  43. package/dist/{chunk-7LKTIZLR.js → chunk-YR45POH2.js} +3 -3
  44. package/dist/{chunk-7LKTIZLR.js.map → chunk-YR45POH2.js.map} +1 -1
  45. package/dist/components/AlertDialog/index.cjs +6 -6
  46. package/dist/components/AlertDialog/index.js +2 -2
  47. package/dist/components/EmailEditor/index.cjs +12 -12
  48. package/dist/components/EmailEditor/index.js +3 -3
  49. package/dist/components/KeyboardShortcutsOverlay/index.cjs +4 -4
  50. package/dist/components/KeyboardShortcutsOverlay/index.js +2 -2
  51. package/dist/components/MediaEditor/index.cjs +7 -7
  52. package/dist/components/MediaEditor/index.js +2 -2
  53. package/dist/components/MediaFeed/index.cjs +3 -3
  54. package/dist/components/MediaFeed/index.js +2 -2
  55. package/dist/components/Modal/index.cjs +9 -9
  56. package/dist/components/Modal/index.js +1 -1
  57. package/dist/components/RichTextEditor/index.cjs +4 -4
  58. package/dist/components/RichTextEditor/index.js +1 -1
  59. package/dist/components/SuperChat/index.cjs +3 -3
  60. package/dist/components/SuperChat/index.js +2 -2
  61. package/dist/components/Textarea/index.cjs +5 -5
  62. package/dist/components/Textarea/index.js +2 -2
  63. package/dist/esheet.cjs +462 -1233
  64. package/dist/esheet.cjs.map +1 -1
  65. package/dist/esheet.d.cts +2 -2
  66. package/dist/esheet.d.ts +2 -2
  67. package/dist/esheet.js +375 -1146
  68. package/dist/esheet.js.map +1 -1
  69. package/dist/index.cjs +1011 -239
  70. package/dist/index.cjs.map +1 -1
  71. package/dist/index.d.cts +6 -2
  72. package/dist/index.d.ts +6 -2
  73. package/dist/index.js +804 -17
  74. package/dist/index.js.map +1 -1
  75. package/dist/{model-NPW2JMHZ.cjs → model-EFXX5JZN.cjs} +18 -18
  76. package/dist/{model-NPW2JMHZ.cjs.map → model-EFXX5JZN.cjs.map} +1 -1
  77. package/dist/{model-SG5H3TCJ.js → model-TAARSYDY.js} +4 -4
  78. package/dist/{model-SG5H3TCJ.js.map → model-TAARSYDY.js.map} +1 -1
  79. package/dist/styles.css +1 -1
  80. package/package.json +1 -1
  81. package/dist/chunk-JCO62XMU.cjs.map +0 -1
  82. package/dist/chunk-KSQQBFDQ.js.map +0 -1
  83. package/dist/chunk-LC3JL2HB.cjs.map +0 -1
  84. package/dist/chunk-LJ4CCM3V.cjs.map +0 -1
  85. package/dist/chunk-PYAK7XXD.js.map +0 -1
  86. package/dist/chunk-TWQSMUE6.js.map +0 -1
  87. package/dist/chunk-WEGKY2LY.js.map +0 -1
  88. package/dist/chunk-X6HEWIYP.cjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Modal, ModalBody, ModalFooter } from './chunk-TWQSMUE6.js';
1
+ import { Modal, ModalBody, ModalFooter } from './chunk-VMEVLBI3.js';
2
2
  import { isStorybookDocsMode } from './chunk-VSQF22GL.js';
3
3
  import { Button } from './chunk-WX2XB6FP.js';
4
4
  import { cn } from './chunk-TQONQSJO.js';
@@ -257,5 +257,5 @@ function useConfirm() {
257
257
  }
258
258
 
259
259
  export { AlertDialog, ConfirmDialogProvider, defaultAlertDialogLabels, useConfirm };
260
- //# sourceMappingURL=chunk-7LKTIZLR.js.map
261
- //# sourceMappingURL=chunk-7LKTIZLR.js.map
260
+ //# sourceMappingURL=chunk-YR45POH2.js.map
261
+ //# sourceMappingURL=chunk-YR45POH2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/ConfirmDialogProvider.tsx"],"names":["React2","jsxs","jsx"],"mappings":"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","file":"chunk-7LKTIZLR.js","sourcesContent":["import * as React from 'react';\nimport { cva } from 'class-variance-authority';\nimport { AlertTriangle, CheckCircle2, Info } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { isStorybookDocsMode } from '../../utils/environment';\nimport { Modal, ModalBody, ModalFooter, type ModalProps } from '../Modal';\nimport { Button } from '../Button';\n\nexport type AlertDialogVariant =\n | 'default'\n | 'destructive'\n | 'warning'\n | 'success'\n | 'info';\n\nexport interface AlertDialogLabels {\n /** Cancel button */\n cancel: string;\n /** Action button */\n action: string;\n /** Action button while an async `onAction` is pending */\n busy: string;\n /** Action button of `useConfirm().alert()` */\n acknowledge: string;\n}\n\nexport const defaultAlertDialogLabels: AlertDialogLabels = {\n cancel: 'Cancel',\n action: 'Continue',\n busy: 'Working…',\n acknowledge: 'OK',\n};\n\nconst iconVariants = cva(\n 'flex h-10 w-10 shrink-0 items-center justify-center rounded-full',\n {\n variants: {\n variant: {\n destructive: 'bg-destructive/10 text-destructive',\n warning: 'bg-warning/15 text-warning-700 dark:text-warning-400',\n success: 'bg-success/10 text-success-700 dark:text-success-400',\n info: 'bg-info/10 text-info-700 dark:text-info-400',\n },\n },\n }\n);\n\nconst VARIANT_ICONS = {\n destructive: AlertTriangle,\n warning: AlertTriangle,\n success: CheckCircle2,\n info: Info,\n} as const;\n\nexport interface AlertDialogProps extends Pick<\n ModalProps,\n 'open' | 'onOpenChange'\n> {\n /** Dialog title */\n title: React.ReactNode;\n /** Optional descriptive body text */\n description?: React.ReactNode;\n /** Custom body content (rendered below the description) */\n children?: React.ReactNode;\n /** Label for the cancel button; overrides `labels.cancel` */\n cancelLabel?: React.ReactNode;\n /** Label for the confirm/action button; overrides `labels.action` */\n actionLabel?: React.ReactNode;\n /**\n * Called when the action button is clicked. Return a Promise to show a busy\n * state; the dialog closes when it resolves and stays open if it rejects.\n */\n onAction?: () => void | Promise<unknown>;\n /** Called when the cancel button is clicked */\n onCancel?: () => void;\n /** Tone of the dialog: icon, action button colour and initial focus */\n variant?: AlertDialogVariant;\n /** Disables the action button */\n actionDisabled?: boolean;\n /** Hides the cancel button */\n hideCancel?: boolean;\n /** User-facing strings; English defaults in `defaultAlertDialogLabels` */\n labels?: Partial<AlertDialogLabels>;\n /** Additional class name for the dialog content */\n className?: string;\n}\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as PromiseLike<unknown>).then === 'function'\n );\n}\n\n/**\n * A modal dialog (`role=\"alertdialog\"`) that interrupts the user with\n * important content and expects a response. Built on top of {@link Modal}.\n *\n * It does not close on overlay click or Escape — the user must explicitly\n * choose an action.\n *\n * @example\n * ```tsx\n * <AlertDialog\n * open={open}\n * onOpenChange={setOpen}\n * title=\"Delete case?\"\n * description=\"This action cannot be undone.\"\n * variant=\"destructive\"\n * actionLabel=\"Delete\"\n * onAction={() => deleteCase(id)}\n * />\n * ```\n */\nfunction AlertDialog({\n open,\n onOpenChange,\n title,\n description,\n children,\n cancelLabel,\n actionLabel,\n onAction,\n onCancel,\n variant = 'default',\n actionDisabled,\n hideCancel,\n labels,\n className,\n}: AlertDialogProps) {\n const text = { ...defaultAlertDialogLabels, ...labels };\n const id = React.useId();\n const titleId = `${id}-title`;\n const descriptionId = `${id}-description`;\n const [busy, setBusy] = React.useState(false);\n const bodyRef = React.useRef<HTMLDivElement>(null);\n const cancelRef = React.useRef<HTMLButtonElement>(null);\n const actionRef = React.useRef<HTMLButtonElement>(null);\n const cautious = variant === 'destructive' || variant === 'warning';\n const iconVariant = variant === 'default' ? null : variant;\n const Icon = iconVariant && VARIANT_ICONS[iconVariant];\n\n // Modal has no role prop; upgrade its dialog element. React never resets it\n // because the role Modal renders does not change.\n React.useLayoutEffect(() => {\n if (!open) return;\n bodyRef.current\n ?.closest('[data-slot=\"modal\"]')\n ?.setAttribute('role', 'alertdialog');\n }, [open]);\n\n // Layout effect so the opener is captured before Modal's trap moves focus.\n React.useLayoutEffect(() => {\n if (!open) return;\n const opener = document.activeElement;\n return () => {\n if (opener instanceof HTMLElement && opener.isConnected) opener.focus();\n };\n }, [open]);\n\n // Parent effects run after Modal's, so this overrides its first-element focus.\n React.useEffect(() => {\n if (!open || isStorybookDocsMode()) return;\n (cautious && !hideCancel ? cancelRef : actionRef).current?.focus();\n }, [open, cautious, hideCancel]);\n\n const handleCancel = () => {\n onCancel?.();\n onOpenChange(false);\n };\n\n // Closing (or reusing) the dialog orphans any in-flight action: its\n // continuation must not clear the busy state or close a newer dialog.\n const actionGen = React.useRef(0);\n React.useEffect(() => {\n if (!open) {\n actionGen.current += 1;\n setBusy(false);\n }\n }, [open]);\n\n const handleAction = async () => {\n let result: unknown;\n try {\n result = onAction?.();\n } catch {\n requestAnimationFrame(() => actionRef.current?.focus());\n return;\n }\n if (!isPromiseLike(result)) return;\n const gen = ++actionGen.current;\n setBusy(true);\n try {\n await result;\n if (gen !== actionGen.current) return;\n setBusy(false);\n onOpenChange(false);\n } catch {\n if (gen !== actionGen.current) return;\n setBusy(false);\n // Disabling the button dropped focus; return it once re-enabled.\n requestAnimationFrame(() => actionRef.current?.focus());\n }\n };\n\n return (\n <Modal\n open={open}\n onOpenChange={onOpenChange}\n size=\"sm\"\n closeOnOverlayClick={false}\n closeOnEscape={false}\n className={className}\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n >\n <ModalBody\n ref={bodyRef}\n data-variant={variant}\n aria-busy={busy || undefined}\n className=\"flex items-start gap-4 px-6 py-5\"\n >\n {Icon && iconVariant && (\n <span\n data-slot=\"alert-dialog-icon\"\n className={iconVariants({ variant: iconVariant })}\n >\n <Icon className=\"h-5 w-5\" aria-hidden=\"true\" />\n </span>\n )}\n <div className=\"min-w-0 flex-1\">\n <h2\n id={titleId}\n data-slot=\"alert-dialog-title\"\n className=\"text-lg font-semibold tracking-tight\"\n >\n {title}\n </h2>\n {description && (\n <p\n id={descriptionId}\n data-slot=\"alert-dialog-description\"\n className={cn('text-muted-foreground mt-2 text-sm')}\n >\n {description}\n </p>\n )}\n {children}\n </div>\n </ModalBody>\n <ModalFooter>\n {!hideCancel && (\n <Button\n ref={cancelRef}\n variant=\"secondary\"\n onClick={handleCancel}\n disabled={busy}\n >\n {cancelLabel ?? text.cancel}\n </Button>\n )}\n <Button\n ref={actionRef}\n variant={variant === 'destructive' ? 'danger' : 'primary'}\n onClick={handleAction}\n disabled={actionDisabled}\n isLoading={busy}\n loadingText={text.busy}\n >\n {actionLabel ?? text.action}\n </Button>\n </ModalFooter>\n </Modal>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n\nexport { AlertDialog };\n","import * as React from 'react';\nimport {\n AlertDialog,\n defaultAlertDialogLabels,\n type AlertDialogLabels,\n type AlertDialogVariant,\n} from './AlertDialog';\n\nexport interface ConfirmOptions {\n title: React.ReactNode;\n description?: React.ReactNode;\n actionLabel?: React.ReactNode;\n cancelLabel?: React.ReactNode;\n variant?: AlertDialogVariant;\n}\n\nexport type AlertOptions = Omit<ConfirmOptions, 'cancelLabel'>;\n\nexport interface ConfirmApi {\n /** Resolves `true` when the user confirms, `false` when they cancel. */\n confirm: (options: ConfirmOptions) => Promise<boolean>;\n /** Shows a dialog with only an acknowledge button; resolves when dismissed. */\n alert: (options: AlertOptions) => Promise<void>;\n}\n\nexport interface ConfirmDialogProviderProps {\n children: React.ReactNode;\n /** Default strings for every dialog the provider opens */\n labels?: Partial<AlertDialogLabels>;\n}\n\ninterface PendingDialog extends ConfirmOptions {\n mode: 'confirm' | 'alert';\n}\n\nconst ConfirmContext = React.createContext<ConfirmApi | null>(null);\n\n/**\n * Renders one {@link AlertDialog} and exposes it imperatively through\n * {@link useConfirm}. Mount once near the app root.\n */\nexport function ConfirmDialogProvider({\n children,\n labels,\n}: ConfirmDialogProviderProps) {\n const [request, setRequest] = React.useState<PendingDialog | null>(null);\n const [open, setOpen] = React.useState(false);\n const resolveRef = React.useRef<((confirmed: boolean) => void) | null>(null);\n\n const settle = React.useCallback((confirmed: boolean) => {\n resolveRef.current?.(confirmed);\n resolveRef.current = null;\n setOpen(false);\n }, []);\n\n // If the provider unmounts with a dialog open, settle the promise as\n // cancelled so callers awaiting confirm() aren't suspended forever.\n React.useEffect(\n () => () => {\n resolveRef.current?.(false);\n resolveRef.current = null;\n },\n []\n );\n\n const api = React.useMemo<ConfirmApi>(() => {\n const show = (next: PendingDialog) =>\n new Promise<boolean>((resolve) => {\n // A newer request replaces an unanswered one, which counts as cancelled.\n resolveRef.current?.(false);\n resolveRef.current = resolve;\n setRequest(next);\n setOpen(true);\n });\n return {\n confirm: (options) => show({ ...options, mode: 'confirm' }),\n alert: async (options) => {\n await show({ variant: 'info', ...options, mode: 'alert' });\n },\n };\n }, []);\n\n const text = { ...defaultAlertDialogLabels, ...labels };\n const isAlert = request?.mode === 'alert';\n\n return (\n <ConfirmContext.Provider value={api}>\n {children}\n {request && (\n <AlertDialog\n open={open}\n onOpenChange={(next) => {\n if (!next) settle(false);\n }}\n title={request.title}\n description={request.description}\n variant={request.variant}\n labels={labels}\n hideCancel={isAlert}\n cancelLabel={request.cancelLabel}\n actionLabel={\n request.actionLabel ?? (isAlert ? text.acknowledge : undefined)\n }\n onAction={() => settle(true)}\n />\n )}\n </ConfirmContext.Provider>\n );\n}\n\n/**\n * Promise-based confirm/alert dialogs. Requires a {@link ConfirmDialogProvider}\n * ancestor.\n *\n * @example\n * ```tsx\n * const { confirm } = useConfirm();\n * if (await confirm({ title: 'Delete case?', variant: 'destructive' })) remove();\n * ```\n */\nexport function useConfirm(): ConfirmApi {\n const api = React.useContext(ConfirmContext);\n if (!api) {\n throw new Error('useConfirm must be used within a <ConfirmDialogProvider>');\n }\n return api;\n}\n"]}
1
+ {"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/ConfirmDialogProvider.tsx"],"names":["React2","jsxs","jsx"],"mappings":"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","file":"chunk-YR45POH2.js","sourcesContent":["import * as React from 'react';\nimport { cva } from 'class-variance-authority';\nimport { AlertTriangle, CheckCircle2, Info } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { isStorybookDocsMode } from '../../utils/environment';\nimport { Modal, ModalBody, ModalFooter, type ModalProps } from '../Modal';\nimport { Button } from '../Button';\n\nexport type AlertDialogVariant =\n | 'default'\n | 'destructive'\n | 'warning'\n | 'success'\n | 'info';\n\nexport interface AlertDialogLabels {\n /** Cancel button */\n cancel: string;\n /** Action button */\n action: string;\n /** Action button while an async `onAction` is pending */\n busy: string;\n /** Action button of `useConfirm().alert()` */\n acknowledge: string;\n}\n\nexport const defaultAlertDialogLabels: AlertDialogLabels = {\n cancel: 'Cancel',\n action: 'Continue',\n busy: 'Working…',\n acknowledge: 'OK',\n};\n\nconst iconVariants = cva(\n 'flex h-10 w-10 shrink-0 items-center justify-center rounded-full',\n {\n variants: {\n variant: {\n destructive: 'bg-destructive/10 text-destructive',\n warning: 'bg-warning/15 text-warning-700 dark:text-warning-400',\n success: 'bg-success/10 text-success-700 dark:text-success-400',\n info: 'bg-info/10 text-info-700 dark:text-info-400',\n },\n },\n }\n);\n\nconst VARIANT_ICONS = {\n destructive: AlertTriangle,\n warning: AlertTriangle,\n success: CheckCircle2,\n info: Info,\n} as const;\n\nexport interface AlertDialogProps extends Pick<\n ModalProps,\n 'open' | 'onOpenChange'\n> {\n /** Dialog title */\n title: React.ReactNode;\n /** Optional descriptive body text */\n description?: React.ReactNode;\n /** Custom body content (rendered below the description) */\n children?: React.ReactNode;\n /** Label for the cancel button; overrides `labels.cancel` */\n cancelLabel?: React.ReactNode;\n /** Label for the confirm/action button; overrides `labels.action` */\n actionLabel?: React.ReactNode;\n /**\n * Called when the action button is clicked. Return a Promise to show a busy\n * state; the dialog closes when it resolves and stays open if it rejects.\n */\n onAction?: () => void | Promise<unknown>;\n /** Called when the cancel button is clicked */\n onCancel?: () => void;\n /** Tone of the dialog: icon, action button colour and initial focus */\n variant?: AlertDialogVariant;\n /** Disables the action button */\n actionDisabled?: boolean;\n /** Hides the cancel button */\n hideCancel?: boolean;\n /** User-facing strings; English defaults in `defaultAlertDialogLabels` */\n labels?: Partial<AlertDialogLabels>;\n /** Additional class name for the dialog content */\n className?: string;\n}\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as PromiseLike<unknown>).then === 'function'\n );\n}\n\n/**\n * A modal dialog (`role=\"alertdialog\"`) that interrupts the user with\n * important content and expects a response. Built on top of {@link Modal}.\n *\n * It does not close on overlay click or Escape — the user must explicitly\n * choose an action.\n *\n * @example\n * ```tsx\n * <AlertDialog\n * open={open}\n * onOpenChange={setOpen}\n * title=\"Delete case?\"\n * description=\"This action cannot be undone.\"\n * variant=\"destructive\"\n * actionLabel=\"Delete\"\n * onAction={() => deleteCase(id)}\n * />\n * ```\n */\nfunction AlertDialog({\n open,\n onOpenChange,\n title,\n description,\n children,\n cancelLabel,\n actionLabel,\n onAction,\n onCancel,\n variant = 'default',\n actionDisabled,\n hideCancel,\n labels,\n className,\n}: AlertDialogProps) {\n const text = { ...defaultAlertDialogLabels, ...labels };\n const id = React.useId();\n const titleId = `${id}-title`;\n const descriptionId = `${id}-description`;\n const [busy, setBusy] = React.useState(false);\n const bodyRef = React.useRef<HTMLDivElement>(null);\n const cancelRef = React.useRef<HTMLButtonElement>(null);\n const actionRef = React.useRef<HTMLButtonElement>(null);\n const cautious = variant === 'destructive' || variant === 'warning';\n const iconVariant = variant === 'default' ? null : variant;\n const Icon = iconVariant && VARIANT_ICONS[iconVariant];\n\n // Modal has no role prop; upgrade its dialog element. React never resets it\n // because the role Modal renders does not change.\n React.useLayoutEffect(() => {\n if (!open) return;\n bodyRef.current\n ?.closest('[data-slot=\"modal\"]')\n ?.setAttribute('role', 'alertdialog');\n }, [open]);\n\n // Layout effect so the opener is captured before Modal's trap moves focus.\n React.useLayoutEffect(() => {\n if (!open) return;\n const opener = document.activeElement;\n return () => {\n if (opener instanceof HTMLElement && opener.isConnected) opener.focus();\n };\n }, [open]);\n\n // Parent effects run after Modal's, so this overrides its first-element focus.\n React.useEffect(() => {\n if (!open || isStorybookDocsMode()) return;\n (cautious && !hideCancel ? cancelRef : actionRef).current?.focus();\n }, [open, cautious, hideCancel]);\n\n const handleCancel = () => {\n onCancel?.();\n onOpenChange(false);\n };\n\n // Closing (or reusing) the dialog orphans any in-flight action: its\n // continuation must not clear the busy state or close a newer dialog.\n const actionGen = React.useRef(0);\n React.useEffect(() => {\n if (!open) {\n actionGen.current += 1;\n setBusy(false);\n }\n }, [open]);\n\n const handleAction = async () => {\n let result: unknown;\n try {\n result = onAction?.();\n } catch {\n requestAnimationFrame(() => actionRef.current?.focus());\n return;\n }\n if (!isPromiseLike(result)) return;\n const gen = ++actionGen.current;\n setBusy(true);\n try {\n await result;\n if (gen !== actionGen.current) return;\n setBusy(false);\n onOpenChange(false);\n } catch {\n if (gen !== actionGen.current) return;\n setBusy(false);\n // Disabling the button dropped focus; return it once re-enabled.\n requestAnimationFrame(() => actionRef.current?.focus());\n }\n };\n\n return (\n <Modal\n open={open}\n onOpenChange={onOpenChange}\n size=\"sm\"\n closeOnOverlayClick={false}\n closeOnEscape={false}\n className={className}\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n >\n <ModalBody\n ref={bodyRef}\n data-variant={variant}\n aria-busy={busy || undefined}\n className=\"flex items-start gap-4 px-6 py-5\"\n >\n {Icon && iconVariant && (\n <span\n data-slot=\"alert-dialog-icon\"\n className={iconVariants({ variant: iconVariant })}\n >\n <Icon className=\"h-5 w-5\" aria-hidden=\"true\" />\n </span>\n )}\n <div className=\"min-w-0 flex-1\">\n <h2\n id={titleId}\n data-slot=\"alert-dialog-title\"\n className=\"text-lg font-semibold tracking-tight\"\n >\n {title}\n </h2>\n {description && (\n <p\n id={descriptionId}\n data-slot=\"alert-dialog-description\"\n className={cn('text-muted-foreground mt-2 text-sm')}\n >\n {description}\n </p>\n )}\n {children}\n </div>\n </ModalBody>\n <ModalFooter>\n {!hideCancel && (\n <Button\n ref={cancelRef}\n variant=\"secondary\"\n onClick={handleCancel}\n disabled={busy}\n >\n {cancelLabel ?? text.cancel}\n </Button>\n )}\n <Button\n ref={actionRef}\n variant={variant === 'destructive' ? 'danger' : 'primary'}\n onClick={handleAction}\n disabled={actionDisabled}\n isLoading={busy}\n loadingText={text.busy}\n >\n {actionLabel ?? text.action}\n </Button>\n </ModalFooter>\n </Modal>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n\nexport { AlertDialog };\n","import * as React from 'react';\nimport {\n AlertDialog,\n defaultAlertDialogLabels,\n type AlertDialogLabels,\n type AlertDialogVariant,\n} from './AlertDialog';\n\nexport interface ConfirmOptions {\n title: React.ReactNode;\n description?: React.ReactNode;\n actionLabel?: React.ReactNode;\n cancelLabel?: React.ReactNode;\n variant?: AlertDialogVariant;\n}\n\nexport type AlertOptions = Omit<ConfirmOptions, 'cancelLabel'>;\n\nexport interface ConfirmApi {\n /** Resolves `true` when the user confirms, `false` when they cancel. */\n confirm: (options: ConfirmOptions) => Promise<boolean>;\n /** Shows a dialog with only an acknowledge button; resolves when dismissed. */\n alert: (options: AlertOptions) => Promise<void>;\n}\n\nexport interface ConfirmDialogProviderProps {\n children: React.ReactNode;\n /** Default strings for every dialog the provider opens */\n labels?: Partial<AlertDialogLabels>;\n}\n\ninterface PendingDialog extends ConfirmOptions {\n mode: 'confirm' | 'alert';\n}\n\nconst ConfirmContext = React.createContext<ConfirmApi | null>(null);\n\n/**\n * Renders one {@link AlertDialog} and exposes it imperatively through\n * {@link useConfirm}. Mount once near the app root.\n */\nexport function ConfirmDialogProvider({\n children,\n labels,\n}: ConfirmDialogProviderProps) {\n const [request, setRequest] = React.useState<PendingDialog | null>(null);\n const [open, setOpen] = React.useState(false);\n const resolveRef = React.useRef<((confirmed: boolean) => void) | null>(null);\n\n const settle = React.useCallback((confirmed: boolean) => {\n resolveRef.current?.(confirmed);\n resolveRef.current = null;\n setOpen(false);\n }, []);\n\n // If the provider unmounts with a dialog open, settle the promise as\n // cancelled so callers awaiting confirm() aren't suspended forever.\n React.useEffect(\n () => () => {\n resolveRef.current?.(false);\n resolveRef.current = null;\n },\n []\n );\n\n const api = React.useMemo<ConfirmApi>(() => {\n const show = (next: PendingDialog) =>\n new Promise<boolean>((resolve) => {\n // A newer request replaces an unanswered one, which counts as cancelled.\n resolveRef.current?.(false);\n resolveRef.current = resolve;\n setRequest(next);\n setOpen(true);\n });\n return {\n confirm: (options) => show({ ...options, mode: 'confirm' }),\n alert: async (options) => {\n await show({ variant: 'info', ...options, mode: 'alert' });\n },\n };\n }, []);\n\n const text = { ...defaultAlertDialogLabels, ...labels };\n const isAlert = request?.mode === 'alert';\n\n return (\n <ConfirmContext.Provider value={api}>\n {children}\n {request && (\n <AlertDialog\n open={open}\n onOpenChange={(next) => {\n if (!next) settle(false);\n }}\n title={request.title}\n description={request.description}\n variant={request.variant}\n labels={labels}\n hideCancel={isAlert}\n cancelLabel={request.cancelLabel}\n actionLabel={\n request.actionLabel ?? (isAlert ? text.acknowledge : undefined)\n }\n onAction={() => settle(true)}\n />\n )}\n </ConfirmContext.Provider>\n );\n}\n\n/**\n * Promise-based confirm/alert dialogs. Requires a {@link ConfirmDialogProvider}\n * ancestor.\n *\n * @example\n * ```tsx\n * const { confirm } = useConfirm();\n * if (await confirm({ title: 'Delete case?', variant: 'destructive' })) remove();\n * ```\n */\nexport function useConfirm(): ConfirmApi {\n const api = React.useContext(ConfirmContext);\n if (!api) {\n throw new Error('useConfirm must be used within a <ConfirmDialogProvider>');\n }\n return api;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk67SD6VPF_cjs = require('../../chunk-67SD6VPF.cjs');
4
- require('../../chunk-LC3JL2HB.cjs');
3
+ var chunkSVC7NPQ6_cjs = require('../../chunk-SVC7NPQ6.cjs');
4
+ require('../../chunk-XEHD2HA5.cjs');
5
5
  require('../../chunk-NNEFAUHV.cjs');
6
6
  require('../../chunk-FHY3K6PL.cjs');
7
7
  require('../../chunk-SCV7C55E.cjs');
@@ -16,19 +16,19 @@ require('../../chunk-EUAMEVVI.cjs');
16
16
 
17
17
  Object.defineProperty(exports, "AlertDialog", {
18
18
  enumerable: true,
19
- get: function () { return chunk67SD6VPF_cjs.AlertDialog; }
19
+ get: function () { return chunkSVC7NPQ6_cjs.AlertDialog; }
20
20
  });
21
21
  Object.defineProperty(exports, "ConfirmDialogProvider", {
22
22
  enumerable: true,
23
- get: function () { return chunk67SD6VPF_cjs.ConfirmDialogProvider; }
23
+ get: function () { return chunkSVC7NPQ6_cjs.ConfirmDialogProvider; }
24
24
  });
25
25
  Object.defineProperty(exports, "defaultAlertDialogLabels", {
26
26
  enumerable: true,
27
- get: function () { return chunk67SD6VPF_cjs.defaultAlertDialogLabels; }
27
+ get: function () { return chunkSVC7NPQ6_cjs.defaultAlertDialogLabels; }
28
28
  });
29
29
  Object.defineProperty(exports, "useConfirm", {
30
30
  enumerable: true,
31
- get: function () { return chunk67SD6VPF_cjs.useConfirm; }
31
+ get: function () { return chunkSVC7NPQ6_cjs.useConfirm; }
32
32
  });
33
33
  //# sourceMappingURL=index.cjs.map
34
34
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- export { AlertDialog, ConfirmDialogProvider, defaultAlertDialogLabels, useConfirm } from '../../chunk-7LKTIZLR.js';
2
- import '../../chunk-TWQSMUE6.js';
1
+ export { AlertDialog, ConfirmDialogProvider, defaultAlertDialogLabels, useConfirm } from '../../chunk-YR45POH2.js';
2
+ import '../../chunk-VMEVLBI3.js';
3
3
  import '../../chunk-4SMSH4OY.js';
4
4
  import '../../chunk-T4ME7QCT.js';
5
5
  import '../../chunk-VSQF22GL.js';
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkZPPMEUGR_cjs = require('../../chunk-ZPPMEUGR.cjs');
3
+ var chunkPGJLW2NO_cjs = require('../../chunk-PGJLW2NO.cjs');
4
4
  require('../../chunk-BXRQ6HEP.cjs');
5
5
  require('../../chunk-S7AMZ4RD.cjs');
6
6
  require('../../chunk-PLMXN23Q.cjs');
7
7
  require('../../chunk-7WJ6MBF5.cjs');
8
- require('../../chunk-ZNYBLM4O.cjs');
9
- require('../../chunk-LJ4CCM3V.cjs');
8
+ require('../../chunk-DXNVQQYN.cjs');
9
+ require('../../chunk-S2CJ57BX.cjs');
10
10
  require('../../chunk-FSLI5IKP.cjs');
11
11
  require('../../chunk-YP5T6NZD.cjs');
12
12
  require('../../chunk-UPWIJC6I.cjs');
@@ -34,39 +34,39 @@ require('../../chunk-EUAMEVVI.cjs');
34
34
 
35
35
  Object.defineProperty(exports, "EMAIL_BLOCK_TYPES", {
36
36
  enumerable: true,
37
- get: function () { return chunkZPPMEUGR_cjs.EMAIL_BLOCK_TYPES; }
37
+ get: function () { return chunkPGJLW2NO_cjs.EMAIL_BLOCK_TYPES; }
38
38
  });
39
39
  Object.defineProperty(exports, "EmailEditor", {
40
40
  enumerable: true,
41
- get: function () { return chunkZPPMEUGR_cjs.EmailEditor; }
41
+ get: function () { return chunkPGJLW2NO_cjs.EmailEditor; }
42
42
  });
43
43
  Object.defineProperty(exports, "createDefaultDesignSettings", {
44
44
  enumerable: true,
45
- get: function () { return chunkZPPMEUGR_cjs.createDefaultDesignSettings; }
45
+ get: function () { return chunkPGJLW2NO_cjs.createDefaultDesignSettings; }
46
46
  });
47
47
  Object.defineProperty(exports, "createEmailBlock", {
48
48
  enumerable: true,
49
- get: function () { return chunkZPPMEUGR_cjs.createEmailBlock; }
49
+ get: function () { return chunkPGJLW2NO_cjs.createEmailBlock; }
50
50
  });
51
51
  Object.defineProperty(exports, "createEmailHtmlSanitizer", {
52
52
  enumerable: true,
53
- get: function () { return chunkZPPMEUGR_cjs.createEmailHtmlSanitizer; }
53
+ get: function () { return chunkPGJLW2NO_cjs.createEmailHtmlSanitizer; }
54
54
  });
55
55
  Object.defineProperty(exports, "createEmptyEmailContentTree", {
56
56
  enumerable: true,
57
- get: function () { return chunkZPPMEUGR_cjs.createEmptyEmailContentTree; }
57
+ get: function () { return chunkPGJLW2NO_cjs.createEmptyEmailContentTree; }
58
58
  });
59
59
  Object.defineProperty(exports, "defaultEmailEditorLabels", {
60
60
  enumerable: true,
61
- get: function () { return chunkZPPMEUGR_cjs.defaultEmailEditorLabels; }
61
+ get: function () { return chunkPGJLW2NO_cjs.defaultEmailEditorLabels; }
62
62
  });
63
63
  Object.defineProperty(exports, "generateEmailBlockId", {
64
64
  enumerable: true,
65
- get: function () { return chunkZPPMEUGR_cjs.generateEmailBlockId; }
65
+ get: function () { return chunkPGJLW2NO_cjs.generateEmailBlockId; }
66
66
  });
67
67
  Object.defineProperty(exports, "renderEmailMjml", {
68
68
  enumerable: true,
69
- get: function () { return chunkZPPMEUGR_cjs.renderEmailMjml; }
69
+ get: function () { return chunkPGJLW2NO_cjs.renderEmailMjml; }
70
70
  });
71
71
  //# sourceMappingURL=index.cjs.map
72
72
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
- export { EMAIL_BLOCK_TYPES, EmailEditor, createDefaultDesignSettings, createEmailBlock, createEmailHtmlSanitizer, createEmptyEmailContentTree, defaultEmailEditorLabels, generateEmailBlockId, renderEmailMjml } from '../../chunk-IBEQ54XW.js';
1
+ export { EMAIL_BLOCK_TYPES, EmailEditor, createDefaultDesignSettings, createEmailBlock, createEmailHtmlSanitizer, createEmptyEmailContentTree, defaultEmailEditorLabels, generateEmailBlockId, renderEmailMjml } from '../../chunk-EX7Q5545.js';
2
2
  import '../../chunk-XBAAHOCP.js';
3
3
  import '../../chunk-ME7EVT6F.js';
4
4
  import '../../chunk-AQ564XO7.js';
5
5
  import '../../chunk-CVNPNZMX.js';
6
- import '../../chunk-NAQMIFUF.js';
7
- import '../../chunk-WEGKY2LY.js';
6
+ import '../../chunk-4SUEBKTY.js';
7
+ import '../../chunk-EWPNM6OO.js';
8
8
  import '../../chunk-5YOT4DVH.js';
9
9
  import '../../chunk-OQWZYKJM.js';
10
10
  import '../../chunk-VCI2Y7ST.js';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkVV2U36T6_cjs = require('../../chunk-VV2U36T6.cjs');
4
- require('../../chunk-LC3JL2HB.cjs');
3
+ var chunkMZR634HI_cjs = require('../../chunk-MZR634HI.cjs');
4
+ require('../../chunk-XEHD2HA5.cjs');
5
5
  require('../../chunk-NNEFAUHV.cjs');
6
6
  require('../../chunk-FHY3K6PL.cjs');
7
7
  require('../../chunk-SCV7C55E.cjs');
@@ -13,11 +13,11 @@ require('../../chunk-EUAMEVVI.cjs');
13
13
 
14
14
  Object.defineProperty(exports, "Kbd", {
15
15
  enumerable: true,
16
- get: function () { return chunkVV2U36T6_cjs.Kbd; }
16
+ get: function () { return chunkMZR634HI_cjs.Kbd; }
17
17
  });
18
18
  Object.defineProperty(exports, "KeyboardShortcutsOverlay", {
19
19
  enumerable: true,
20
- get: function () { return chunkVV2U36T6_cjs.KeyboardShortcutsOverlay; }
20
+ get: function () { return chunkMZR634HI_cjs.KeyboardShortcutsOverlay; }
21
21
  });
22
22
  //# sourceMappingURL=index.cjs.map
23
23
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- export { Kbd, KeyboardShortcutsOverlay } from '../../chunk-JMAZ2GKT.js';
2
- import '../../chunk-TWQSMUE6.js';
1
+ export { Kbd, KeyboardShortcutsOverlay } from '../../chunk-4GSFVD5V.js';
2
+ import '../../chunk-VMEVLBI3.js';
3
3
  import '../../chunk-4SMSH4OY.js';
4
4
  import '../../chunk-T4ME7QCT.js';
5
5
  import '../../chunk-VSQF22GL.js';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkPJN4HM2X_cjs = require('../../chunk-PJN4HM2X.cjs');
3
+ var chunk3O3Q3DX7_cjs = require('../../chunk-3O3Q3DX7.cjs');
4
4
  require('../../chunk-GDKOYVX3.cjs');
5
5
  require('../../chunk-ECKIFQSD.cjs');
6
6
  require('../../chunk-GM376OD6.cjs');
@@ -8,7 +8,7 @@ require('../../chunk-4UDEMJE4.cjs');
8
8
  require('../../chunk-QHCAWDMG.cjs');
9
9
  require('../../chunk-UPWIJC6I.cjs');
10
10
  require('../../chunk-7AECNMYV.cjs');
11
- require('../../chunk-LC3JL2HB.cjs');
11
+ require('../../chunk-XEHD2HA5.cjs');
12
12
  require('../../chunk-I44YNYI6.cjs');
13
13
  require('../../chunk-Z5S5JEJD.cjs');
14
14
  require('../../chunk-NNEFAUHV.cjs');
@@ -28,23 +28,23 @@ require('../../chunk-EUAMEVVI.cjs');
28
28
 
29
29
  Object.defineProperty(exports, "FillerWordsModal", {
30
30
  enumerable: true,
31
- get: function () { return chunkPJN4HM2X_cjs.FillerWordsModal; }
31
+ get: function () { return chunk3O3Q3DX7_cjs.FillerWordsModal; }
32
32
  });
33
33
  Object.defineProperty(exports, "MediaEditor", {
34
34
  enumerable: true,
35
- get: function () { return chunkPJN4HM2X_cjs.MediaEditor; }
35
+ get: function () { return chunk3O3Q3DX7_cjs.MediaEditor; }
36
36
  });
37
37
  Object.defineProperty(exports, "SilenceSettingsModal", {
38
38
  enumerable: true,
39
- get: function () { return chunkPJN4HM2X_cjs.SilenceSettingsModal; }
39
+ get: function () { return chunk3O3Q3DX7_cjs.SilenceSettingsModal; }
40
40
  });
41
41
  Object.defineProperty(exports, "SpeedMarkerMenu", {
42
42
  enumerable: true,
43
- get: function () { return chunkPJN4HM2X_cjs.SpeedMarkerMenu; }
43
+ get: function () { return chunk3O3Q3DX7_cjs.SpeedMarkerMenu; }
44
44
  });
45
45
  Object.defineProperty(exports, "WordEditorModal", {
46
46
  enumerable: true,
47
- get: function () { return chunkPJN4HM2X_cjs.WordEditorModal; }
47
+ get: function () { return chunk3O3Q3DX7_cjs.WordEditorModal; }
48
48
  });
49
49
  //# sourceMappingURL=index.cjs.map
50
50
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal } from '../../chunk-R3MJKY63.js';
1
+ export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal } from '../../chunk-YGSPIDE4.js';
2
2
  import '../../chunk-V5VPECJI.js';
3
3
  import '../../chunk-R5P7NAJQ.js';
4
4
  import '../../chunk-GAI6SRJ3.js';
@@ -6,7 +6,7 @@ import '../../chunk-6LIC3DKE.js';
6
6
  import '../../chunk-TUYWCUKH.js';
7
7
  import '../../chunk-VCI2Y7ST.js';
8
8
  import '../../chunk-753Z3NXL.js';
9
- import '../../chunk-TWQSMUE6.js';
9
+ import '../../chunk-VMEVLBI3.js';
10
10
  import '../../chunk-6NZXWKUE.js';
11
11
  import '../../chunk-3IMM2PM4.js';
12
12
  import '../../chunk-4SMSH4OY.js';
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunk2R3ILG4Y_cjs = require('../../chunk-2R3ILG4Y.cjs');
3
+ var chunk4M2KE4O5_cjs = require('../../chunk-4M2KE4O5.cjs');
4
4
  require('../../chunk-GLXTVCHN.cjs');
5
5
  require('../../chunk-ECKIFQSD.cjs');
6
6
  require('../../chunk-QHCAWDMG.cjs');
7
7
  require('../../chunk-P22YCUVM.cjs');
8
8
  require('../../chunk-Q3YVLO52.cjs');
9
9
  require('../../chunk-GKDHMNUA.cjs');
10
- require('../../chunk-LC3JL2HB.cjs');
10
+ require('../../chunk-XEHD2HA5.cjs');
11
11
  require('../../chunk-NNEFAUHV.cjs');
12
12
  require('../../chunk-FHY3K6PL.cjs');
13
13
  require('../../chunk-SCV7C55E.cjs');
@@ -23,7 +23,7 @@ require('../../chunk-EUAMEVVI.cjs');
23
23
 
24
24
  Object.defineProperty(exports, "MediaFeed", {
25
25
  enumerable: true,
26
- get: function () { return chunk2R3ILG4Y_cjs.MediaFeed; }
26
+ get: function () { return chunk4M2KE4O5_cjs.MediaFeed; }
27
27
  });
28
28
  //# sourceMappingURL=index.cjs.map
29
29
  //# sourceMappingURL=index.cjs.map
@@ -1,11 +1,11 @@
1
- export { MediaFeed } from '../../chunk-ZFJJMDV3.js';
1
+ export { MediaFeed } from '../../chunk-RTADGBBN.js';
2
2
  import '../../chunk-RISZWWEQ.js';
3
3
  import '../../chunk-R5P7NAJQ.js';
4
4
  import '../../chunk-TUYWCUKH.js';
5
5
  import '../../chunk-H2Y7HZV5.js';
6
6
  import '../../chunk-DVDT7TX7.js';
7
7
  import '../../chunk-TI3TQQ7F.js';
8
- import '../../chunk-TWQSMUE6.js';
8
+ import '../../chunk-VMEVLBI3.js';
9
9
  import '../../chunk-4SMSH4OY.js';
10
10
  import '../../chunk-T4ME7QCT.js';
11
11
  import '../../chunk-VSQF22GL.js';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLC3JL2HB_cjs = require('../../chunk-LC3JL2HB.cjs');
3
+ var chunkXEHD2HA5_cjs = require('../../chunk-XEHD2HA5.cjs');
4
4
  require('../../chunk-NNEFAUHV.cjs');
5
5
  require('../../chunk-FHY3K6PL.cjs');
6
6
  require('../../chunk-SCV7C55E.cjs');
@@ -12,35 +12,35 @@ require('../../chunk-EUAMEVVI.cjs');
12
12
 
13
13
  Object.defineProperty(exports, "Modal", {
14
14
  enumerable: true,
15
- get: function () { return chunkLC3JL2HB_cjs.Modal; }
15
+ get: function () { return chunkXEHD2HA5_cjs.Modal; }
16
16
  });
17
17
  Object.defineProperty(exports, "ModalBody", {
18
18
  enumerable: true,
19
- get: function () { return chunkLC3JL2HB_cjs.ModalBody; }
19
+ get: function () { return chunkXEHD2HA5_cjs.ModalBody; }
20
20
  });
21
21
  Object.defineProperty(exports, "ModalClose", {
22
22
  enumerable: true,
23
- get: function () { return chunkLC3JL2HB_cjs.ModalClose; }
23
+ get: function () { return chunkXEHD2HA5_cjs.ModalClose; }
24
24
  });
25
25
  Object.defineProperty(exports, "ModalFooter", {
26
26
  enumerable: true,
27
- get: function () { return chunkLC3JL2HB_cjs.ModalFooter; }
27
+ get: function () { return chunkXEHD2HA5_cjs.ModalFooter; }
28
28
  });
29
29
  Object.defineProperty(exports, "ModalHeader", {
30
30
  enumerable: true,
31
- get: function () { return chunkLC3JL2HB_cjs.ModalHeader; }
31
+ get: function () { return chunkXEHD2HA5_cjs.ModalHeader; }
32
32
  });
33
33
  Object.defineProperty(exports, "ModalTitle", {
34
34
  enumerable: true,
35
- get: function () { return chunkLC3JL2HB_cjs.ModalTitle; }
35
+ get: function () { return chunkXEHD2HA5_cjs.ModalTitle; }
36
36
  });
37
37
  Object.defineProperty(exports, "modalContentVariants", {
38
38
  enumerable: true,
39
- get: function () { return chunkLC3JL2HB_cjs.modalContentVariants; }
39
+ get: function () { return chunkXEHD2HA5_cjs.modalContentVariants; }
40
40
  });
41
41
  Object.defineProperty(exports, "modalOverlayVariants", {
42
42
  enumerable: true,
43
- get: function () { return chunkLC3JL2HB_cjs.modalOverlayVariants; }
43
+ get: function () { return chunkXEHD2HA5_cjs.modalOverlayVariants; }
44
44
  });
45
45
  //# sourceMappingURL=index.cjs.map
46
46
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- export { Modal, ModalBody, ModalClose, ModalFooter, ModalHeader, ModalTitle, modalContentVariants, modalOverlayVariants } from '../../chunk-TWQSMUE6.js';
1
+ export { Modal, ModalBody, ModalClose, ModalFooter, ModalHeader, ModalTitle, modalContentVariants, modalOverlayVariants } from '../../chunk-VMEVLBI3.js';
2
2
  import '../../chunk-4SMSH4OY.js';
3
3
  import '../../chunk-T4ME7QCT.js';
4
4
  import '../../chunk-VSQF22GL.js';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLJ4CCM3V_cjs = require('../../chunk-LJ4CCM3V.cjs');
3
+ var chunkS2CJ57BX_cjs = require('../../chunk-S2CJ57BX.cjs');
4
4
  require('../../chunk-FSLI5IKP.cjs');
5
5
  require('../../chunk-YP5T6NZD.cjs');
6
6
  require('../../chunk-ZNUMOJOI.cjs');
@@ -26,15 +26,15 @@ require('../../chunk-EUAMEVVI.cjs');
26
26
 
27
27
  Object.defineProperty(exports, "RichTextEditor", {
28
28
  enumerable: true,
29
- get: function () { return chunkLJ4CCM3V_cjs.RichTextEditor; }
29
+ get: function () { return chunkS2CJ57BX_cjs.RichTextEditor; }
30
30
  });
31
31
  Object.defineProperty(exports, "convertAngleBracketsToMustache", {
32
32
  enumerable: true,
33
- get: function () { return chunkLJ4CCM3V_cjs.convertAngleBracketsToMustache; }
33
+ get: function () { return chunkS2CJ57BX_cjs.convertAngleBracketsToMustache; }
34
34
  });
35
35
  Object.defineProperty(exports, "processDictation", {
36
36
  enumerable: true,
37
- get: function () { return chunkLJ4CCM3V_cjs.processDictation; }
37
+ get: function () { return chunkS2CJ57BX_cjs.processDictation; }
38
38
  });
39
39
  Object.defineProperty(exports, "isHtmlEmpty", {
40
40
  enumerable: true,
@@ -1,4 +1,4 @@
1
- export { RichTextEditor, convertAngleBracketsToMustache, processDictation } from '../../chunk-WEGKY2LY.js';
1
+ export { RichTextEditor, convertAngleBracketsToMustache, processDictation } from '../../chunk-EWPNM6OO.js';
2
2
  import '../../chunk-5YOT4DVH.js';
3
3
  import '../../chunk-OQWZYKJM.js';
4
4
  import '../../chunk-AMYFRY7K.js';
@@ -3,7 +3,7 @@
3
3
  var chunkJFLC7SHM_cjs = require('../../chunk-JFLC7SHM.cjs');
4
4
  var chunkZK2R6UGF_cjs = require('../../chunk-ZK2R6UGF.cjs');
5
5
  var chunk2GBVJHWN_cjs = require('../../chunk-2GBVJHWN.cjs');
6
- var chunk2R3ILG4Y_cjs = require('../../chunk-2R3ILG4Y.cjs');
6
+ var chunk4M2KE4O5_cjs = require('../../chunk-4M2KE4O5.cjs');
7
7
  require('../../chunk-GLXTVCHN.cjs');
8
8
  var chunkECKIFQSD_cjs = require('../../chunk-ECKIFQSD.cjs');
9
9
  require('../../chunk-AKMTPCLC.cjs');
@@ -16,7 +16,7 @@ var chunkGKDHMNUA_cjs = require('../../chunk-GKDHMNUA.cjs');
16
16
  var chunkSV6YGK4U_cjs = require('../../chunk-SV6YGK4U.cjs');
17
17
  require('../../chunk-ZNUMOJOI.cjs');
18
18
  var chunkPINIBEIU_cjs = require('../../chunk-PINIBEIU.cjs');
19
- require('../../chunk-LC3JL2HB.cjs');
19
+ require('../../chunk-XEHD2HA5.cjs');
20
20
  require('../../chunk-I44YNYI6.cjs');
21
21
  require('../../chunk-Z5S5JEJD.cjs');
22
22
  require('../../chunk-NNEFAUHV.cjs');
@@ -1796,7 +1796,7 @@ function SuperChat({
1796
1796
  }
1797
1797
  ) }) }),
1798
1798
  /* @__PURE__ */ React3.createElement(
1799
- chunk2R3ILG4Y_cjs.MediaFeed,
1799
+ chunk4M2KE4O5_cjs.MediaFeed,
1800
1800
  {
1801
1801
  ...mediaFeedProps,
1802
1802
  ref: mediaFeedRef,
@@ -2,7 +2,7 @@ import { TextRenderContext } from '../../chunk-I6CY5C6A.js';
2
2
  export { TextRenderContext, useTextRenderContext } from '../../chunk-I6CY5C6A.js';
3
3
  import { ChatBubble, MCPToolCallDisplay, AITypingIndicator, SparklesIcon, CloseIcon, JumpToBottomButton } from '../../chunk-UDUYZDTA.js';
4
4
  import { notifyComposerMigrationOnce, ChatComposer } from '../../chunk-DAAJ3B2T.js';
5
- import { MediaFeed } from '../../chunk-ZFJJMDV3.js';
5
+ import { MediaFeed } from '../../chunk-RTADGBBN.js';
6
6
  import '../../chunk-RISZWWEQ.js';
7
7
  import { MediaPlayer } from '../../chunk-R5P7NAJQ.js';
8
8
  import '../../chunk-C4GEPUE7.js';
@@ -15,7 +15,7 @@ import { Avatar } from '../../chunk-TI3TQQ7F.js';
15
15
  import { ButtonGroup } from '../../chunk-BBLEGF5L.js';
16
16
  import '../../chunk-AMYFRY7K.js';
17
17
  import { Dropdown, DropdownSubmenu, DropdownItem } from '../../chunk-OYUIEJPN.js';
18
- import '../../chunk-TWQSMUE6.js';
18
+ import '../../chunk-VMEVLBI3.js';
19
19
  import '../../chunk-6NZXWKUE.js';
20
20
  import '../../chunk-3IMM2PM4.js';
21
21
  import '../../chunk-4SMSH4OY.js';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkZNYBLM4O_cjs = require('../../chunk-ZNYBLM4O.cjs');
4
- require('../../chunk-LJ4CCM3V.cjs');
3
+ var chunkDXNVQQYN_cjs = require('../../chunk-DXNVQQYN.cjs');
4
+ require('../../chunk-S2CJ57BX.cjs');
5
5
  require('../../chunk-FSLI5IKP.cjs');
6
6
  require('../../chunk-YP5T6NZD.cjs');
7
7
  require('../../chunk-ZNUMOJOI.cjs');
@@ -27,15 +27,15 @@ require('../../chunk-EUAMEVVI.cjs');
27
27
 
28
28
  Object.defineProperty(exports, "Textarea", {
29
29
  enumerable: true,
30
- get: function () { return chunkZNYBLM4O_cjs.Textarea; }
30
+ get: function () { return chunkDXNVQQYN_cjs.Textarea; }
31
31
  });
32
32
  Object.defineProperty(exports, "htmlToPlain", {
33
33
  enumerable: true,
34
- get: function () { return chunkZNYBLM4O_cjs.htmlToPlain; }
34
+ get: function () { return chunkDXNVQQYN_cjs.htmlToPlain; }
35
35
  });
36
36
  Object.defineProperty(exports, "plainToHtml", {
37
37
  enumerable: true,
38
- get: function () { return chunkZNYBLM4O_cjs.plainToHtml; }
38
+ get: function () { return chunkDXNVQQYN_cjs.plainToHtml; }
39
39
  });
40
40
  //# sourceMappingURL=index.cjs.map
41
41
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- export { Textarea, htmlToPlain, plainToHtml } from '../../chunk-NAQMIFUF.js';
2
- import '../../chunk-WEGKY2LY.js';
1
+ export { Textarea, htmlToPlain, plainToHtml } from '../../chunk-4SUEBKTY.js';
2
+ import '../../chunk-EWPNM6OO.js';
3
3
  import '../../chunk-5YOT4DVH.js';
4
4
  import '../../chunk-OQWZYKJM.js';
5
5
  import '../../chunk-AMYFRY7K.js';