@bigbinary/neeto-atoms 1.0.134 → 1.0.135-beta2
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/{Alert-DYROpfTf.js → Alert-DWdha6In.js} +4 -4
- package/dist/Alert-DWdha6In.js.map +1 -0
- package/dist/{Dialog-Yw34WDqY.js → Dialog-ZTcfRPwU.js} +3 -3
- package/dist/Dialog-ZTcfRPwU.js.map +1 -0
- package/dist/cjs/{Alert-D_2cJF7J.js → Alert-BUPMvhfY.js} +4 -4
- package/dist/cjs/Alert-BUPMvhfY.js.map +1 -0
- package/dist/cjs/{Dialog-ZUHGaoAE.js → Dialog-B_FZwr_u.js} +3 -3
- package/dist/cjs/Dialog-B_FZwr_u.js.map +1 -0
- package/dist/cjs/components/Alert.js +1 -1
- package/dist/cjs/components/Dialog.js +1 -1
- package/dist/cjs/components/index.js +2 -2
- package/dist/cjs/formik/BlockNavigation.js +1 -1
- package/dist/cjs/formik/index.js +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/components/Alert/Alert.d.ts +4 -1
- package/dist/components/Alert.js +1 -1
- package/dist/components/Dialog/Dialog.d.ts +4 -1
- package/dist/components/Dialog.js +1 -1
- package/dist/components/index.js +2 -2
- package/dist/formik/BlockNavigation.js +1 -1
- package/dist/formik/index.js +1 -1
- package/dist/index.js +2 -2
- package/package.json +2 -2
- package/CHANGELOG.md +0 -3
- package/dist/Alert-DYROpfTf.js.map +0 -1
- package/dist/Dialog-Yw34WDqY.js.map +0 -1
- package/dist/cjs/Alert-D_2cJF7J.js.map +0 -1
- package/dist/cjs/Dialog-ZUHGaoAE.js.map +0 -1
|
@@ -6,9 +6,9 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Di
|
|
|
6
6
|
import { b as Button } from './Button-ZssOVkG0.js';
|
|
7
7
|
|
|
8
8
|
const SIZE_CLASS_MAP = {
|
|
9
|
-
small: "sm:max-w-
|
|
10
|
-
medium: "sm:max-w-
|
|
11
|
-
large: "sm:max-w-
|
|
9
|
+
small: "sm:max-w-sm",
|
|
10
|
+
medium: "sm:max-w-lg",
|
|
11
|
+
large: "sm:max-w-3xl"
|
|
12
12
|
};
|
|
13
13
|
const STYLE_VARIANT_MAP = {
|
|
14
14
|
danger: "destructive",
|
|
@@ -125,4 +125,4 @@ const Alert = forwardRef(
|
|
|
125
125
|
Alert.displayName = "Alert";
|
|
126
126
|
|
|
127
127
|
export { Alert as A };
|
|
128
|
-
//# sourceMappingURL=Alert-
|
|
128
|
+
//# sourceMappingURL=Alert-DWdha6In.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert-DWdha6In.js","sources":["../src/components/Alert/constants.ts","../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { AlertSize, AlertStyle } from \"./Alert\";\n\nexport const SIZE_CLASS_MAP: Record<AlertSize, string> = {\n small: \"sm:max-w-sm\",\n medium: \"sm:max-w-lg\",\n large: \"sm:max-w-3xl\",\n};\n\nexport const STYLE_VARIANT_MAP: Record<AlertStyle, \"destructive\" | \"default\"> =\n {\n danger: \"destructive\",\n warning: \"default\",\n };\n","import {\n forwardRef,\n useId,\n useRef,\n type ReactNode,\n type RefObject,\n} from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"src/primitives/Dialog\";\nimport { Button } from \"src/components/Button\";\n\nimport { SIZE_CLASS_MAP, STYLE_VARIANT_MAP } from \"./constants\";\n\nexport type AlertStyle = \"danger\" | \"warning\";\nexport type AlertSize = \"small\" | \"medium\" | \"large\";\ntype InitialFocusElement = \"submit\" | \"cancel\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof DialogContent>;\n\nexport interface AlertProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"role\"\n | \"showCloseButton\"\n | \"className\"\n | \"style\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /**\n * Size of the alert dialog.\n * @default \"medium\"\n */\n size?: AlertSize;\n /** Whether the alert is open. */\n isOpen?: boolean;\n /** Whether the submit action is in progress. */\n isSubmitting?: boolean;\n /** Additional CSS class names applied to the dialog content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the dialog. */\n closeOnOutsideClick?: boolean;\n /** Callback invoked when the alert is closed. */\n onClose?: () => void;\n /** Callback invoked when the submit button is clicked. */\n onSubmit?: () => void;\n /** Title text of the alert. */\n title?: string;\n /** Message content of the alert. */\n message?: ReactNode;\n /** Label for the submit button. */\n submitButtonLabel?: string;\n /** Label for the cancel button. */\n cancelButtonLabel?: string;\n /** Hide the cancel button. */\n hideCancelButton?: boolean;\n /** Visual style of the submit button. */\n style?: AlertStyle;\n /** Ref of the element to receive focus when the alert opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Which built-in button receives focus on open: \"submit\" or \"cancel\". */\n initialFocusElement?: InitialFocusElement;\n /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\nconst Alert = forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n size = \"medium\",\n isOpen = false,\n isSubmitting = false,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n onClose = () => {},\n onSubmit = () => {},\n title = \"\",\n message = \"\",\n submitButtonLabel: submitButtonLabelProp,\n cancelButtonLabel: cancelButtonLabelProp,\n hideCancelButton = false,\n style = \"danger\",\n initialFocusRef,\n initialFocusElement,\n modal,\n defaultOpen,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const submitButtonLabel =\n submitButtonLabelProp ?? t(\"neetoatoms.alert.continue\", \"Continue\");\n const cancelButtonLabel =\n cancelButtonLabelProp ?? t(\"neetoatoms.alert.cancel\", \"Cancel\");\n const baseId = useId();\n const titleId = `alert-title-${baseId}`;\n const messageId = `alert-message-${baseId}`;\n const submitButtonRef = useRef<HTMLButtonElement>(null);\n const cancelButtonRef = useRef<HTMLButtonElement>(null);\n\n // Base UI consolidates the per-interaction dismiss callbacks into\n // onOpenChange's eventDetails, and takes initial focus as a ref.\n const handleOpenChange: React.ComponentProps<\n typeof Dialog\n >[\"onOpenChange\"] = (open, eventDetails) => {\n if (open) return;\n if (\n (eventDetails.reason === \"escape-key\" && !closeOnEsc) ||\n (eventDetails.reason === \"outside-press\" && !closeOnOutsideClick)\n ) {\n eventDetails.cancel();\n\n return;\n }\n onClose();\n };\n\n // Custom focus ref takes highest priority, then the named button\n const initialFocus =\n initialFocusRef ??\n (initialFocusElement === \"submit\"\n ? submitButtonRef\n : initialFocusElement === \"cancel\"\n ? cancelButtonRef\n : undefined);\n\n return (\n <Dialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={modal}\n defaultOpen={defaultOpen}\n >\n <DialogContent\n ref={ref}\n role=\"alertdialog\"\n aria-labelledby={title ? titleId : undefined}\n aria-describedby={message ? messageId : undefined}\n showCloseButton={closeButton}\n overlayClassName={backdropClassName}\n initialFocus={initialFocus ?? undefined}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"alert-box\"\n {...otherProps}\n >\n <DialogHeader>\n <DialogTitle\n id={titleId}\n data-testid=\"alert-title\"\n className=\"text-2xl font-semibold\"\n >\n {title}\n </DialogTitle>\n {message && (\n <DialogDescription id={messageId} data-testid=\"alert-message\">\n {message}\n </DialogDescription>\n )}\n </DialogHeader>\n <DialogFooter>\n {!hideCancelButton && (\n <Button\n ref={cancelButtonRef}\n variant=\"outline\"\n label={cancelButtonLabel}\n onClick={onClose}\n data-testid=\"alert-cancel-button\"\n />\n )}\n <Button\n ref={submitButtonRef}\n variant={STYLE_VARIANT_MAP[style]}\n label={submitButtonLabel}\n loading={isSubmitting}\n disabled={isSubmitting || !isOpen}\n onClick={onSubmit}\n data-testid=\"alert-submit-button\"\n />\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n }\n);\n\nAlert.displayName = \"Alert\";\n\nexport { Alert };\n"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { DialogHeader as DialogHeader$1, DialogDescription, DialogFooter as Dial
|
|
|
5
5
|
|
|
6
6
|
const SIZE_CLASS_MAP = {
|
|
7
7
|
small: "sm:max-w-sm",
|
|
8
|
-
medium: "sm:max-w-
|
|
9
|
-
large: "sm:max-w-
|
|
8
|
+
medium: "sm:max-w-lg",
|
|
9
|
+
large: "sm:max-w-3xl",
|
|
10
10
|
fullScreen: "h-screen w-screen max-w-none rounded-none sm:max-w-none"
|
|
11
11
|
};
|
|
12
12
|
|
|
@@ -123,4 +123,4 @@ Dialog.Footer = DialogFooter;
|
|
|
123
123
|
Dialog.Title = DialogTitle;
|
|
124
124
|
|
|
125
125
|
export { Dialog as D };
|
|
126
|
-
//# sourceMappingURL=Dialog-
|
|
126
|
+
//# sourceMappingURL=Dialog-ZTcfRPwU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog-ZTcfRPwU.js","sources":["../src/components/Dialog/constants.ts","../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import type { DialogSize } from \"./Dialog\";\n\nexport const SIZE_CLASS_MAP: Record<DialogSize, string> = {\n small: \"sm:max-w-sm\",\n medium: \"sm:max-w-lg\",\n large: \"sm:max-w-3xl\",\n fullScreen: \"h-screen w-screen max-w-none rounded-none sm:max-w-none\",\n};\n","import React, { forwardRef, type ReactNode, type RefObject } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog as PrimitiveDialog,\n DialogContent as PrimitiveDialogContent,\n DialogDescription,\n DialogFooter as PrimitiveDialogFooter,\n DialogHeader as PrimitiveDialogHeader,\n DialogTitle as PrimitiveDialogTitle,\n} from \"src/primitives/Dialog\";\n\nimport { SIZE_CLASS_MAP } from \"./constants\";\n\nexport type DialogSize = \"small\" | \"medium\" | \"large\" | \"fullScreen\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof PrimitiveDialogContent>;\n\nexport interface DialogProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"className\"\n | \"showCloseButton\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /**\n * Size of the dialog.\n * @default \"medium\"\n */\n size?: DialogSize;\n /** Whether the dialog is open. */\n isOpen?: boolean;\n /** Callback invoked when the dialog is closed. */\n onClose?: () => void;\n /** Content rendered inside the dialog. */\n children?: ReactNode;\n /** Additional CSS class names applied to the dialog content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the dialog. */\n closeOnOutsideClick?: boolean;\n /** Ref of the element to receive focus when the dialog opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Ref of the element to receive focus when the dialog closes. */\n finalFocusRef?: RefObject<HTMLElement | null>;\n /** Whether to block body scroll when the dialog is mounted. Maps to Radix `modal` prop. */\n blockScrollOnMount?: boolean;\n /** Force children to re-render even when the dialog is closed. */\n forceRender?: boolean;\n /** Radix Dialog `modal` prop — takes precedence over blockScrollOnMount. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\ninterface DialogSubcomponentProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n /** Custom data-testid attribute. */\n dataTestid?: string;\n}\n\nconst DialogHeader = forwardRef<\n HTMLDivElement,\n DialogSubcomponentProps & { description?: string }\n>(({ children, className, description, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogHeader\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-header\"}\n {...otherProps}\n >\n {children}\n {description && (\n <DialogDescription data-testid=\"dialog-header-desc\">\n {description}\n </DialogDescription>\n )}\n </PrimitiveDialogHeader>\n));\nDialogHeader.displayName = \"Dialog.Header\";\n\nconst DialogBody = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <div\n ref={ref}\n data-slot=\"dialog-body\"\n data-testid={dataTestid ?? \"dialog-body\"}\n className={cn(\"text-sm text-foreground\", className)}\n {...otherProps}\n >\n {children}\n </div>\n )\n);\nDialogBody.displayName = \"Dialog.Body\";\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogFooter\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-footer\"}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogFooter>\n )\n);\nDialogFooter.displayName = \"Dialog.Footer\";\n\nconst DialogTitle = forwardRef<\n HTMLHeadingElement,\n React.ComponentProps<typeof PrimitiveDialogTitle>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveDialogTitle\n ref={ref}\n className={cn(\"text-2xl font-semibold\", className)}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogTitle>\n));\nDialogTitle.displayName = \"Dialog.Title\";\n\nconst Dialog = forwardRef<HTMLDivElement, DialogProps>(\n (\n {\n size = \"medium\",\n isOpen = false,\n onClose = () => {},\n children,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n blockScrollOnMount = true,\n forceRender = false,\n modal: modalProp,\n defaultOpen,\n ...otherContentProps\n },\n ref\n ) => {\n // Base UI consolidates the per-interaction dismiss callbacks\n // (onEscapeKeyDown / onInteractOutside) into onOpenChange's eventDetails.\n const handleOpenChange: React.ComponentProps<\n typeof PrimitiveDialog\n >[\"onOpenChange\"] = (open, eventDetails) => {\n if (open) return;\n if (\n (eventDetails.reason === \"escape-key\" && !closeOnEsc) ||\n (eventDetails.reason === \"outside-press\" && !closeOnOutsideClick)\n ) {\n eventDetails.cancel();\n\n return;\n }\n onClose();\n };\n\n // `modal` prop takes precedence; fall back to blockScrollOnMount\n const resolvedModal = modalProp ?? blockScrollOnMount;\n\n return (\n <PrimitiveDialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={resolvedModal}\n defaultOpen={defaultOpen}\n >\n <PrimitiveDialogContent\n ref={ref}\n showCloseButton={closeButton}\n keepMounted={forceRender || undefined}\n overlayClassName={backdropClassName}\n initialFocus={initialFocusRef ?? undefined}\n finalFocus={finalFocusRef ?? undefined}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"dialog-wrapper\"\n {...otherContentProps}\n >\n {children}\n </PrimitiveDialogContent>\n </PrimitiveDialog>\n );\n }\n) as React.ForwardRefExoticComponent<\n DialogProps & React.RefAttributes<HTMLDivElement>\n> & {\n Header: typeof DialogHeader;\n Body: typeof DialogBody;\n Footer: typeof DialogFooter;\n Title: typeof DialogTitle;\n};\n\nDialog.displayName = \"Dialog\";\nDialog.Header = DialogHeader;\nDialog.Body = DialogBody;\nDialog.Footer = DialogFooter;\nDialog.Title = DialogTitle;\n\nexport { Dialog };\n"],"names":["PrimitiveDialogHeader","PrimitiveDialogFooter","PrimitiveDialogTitle","PrimitiveDialog","PrimitiveDialogContent"],"mappings":";;;;;AAEO,MAAM,cAAA,GAA6C;AAAA,EACxD,KAAA,EAAO,aAAA;AAAA,EACP,MAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAO,cAAA;AAAA,EACP,UAAA,EAAY;AACd,CAAA;;AC8DA,MAAM,YAAA,GAAe,UAAA,CAGnB,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,WAAA,EAAa,UAAA,EAAY,GAAG,UAAA,EAAW,EAAG,GAAA,qBAClE,IAAA;AAAA,EAACA,cAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,GAAG,SAAS,CAAA;AAAA,IACvB,eAAa,UAAA,IAAc,eAAA;AAAA,IAC1B,GAAG,UAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,MACA,WAAA,oBACC,GAAA,CAAC,iBAAA,EAAA,EAAkB,aAAA,EAAY,sBAC5B,QAAA,EAAA,WAAA,EACH;AAAA;AAAA;AAEJ,CACD,CAAA;AACD,YAAA,CAAa,WAAA,GAAc,eAAA;AAE3B,MAAM,UAAA,GAAa,UAAA;AAAA,EACjB,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,YAAY,GAAG,UAAA,IAAc,GAAA,qBACnD,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,WAAA,EAAU,aAAA;AAAA,MACV,eAAa,UAAA,IAAc,aAAA;AAAA,MAC3B,SAAA,EAAW,EAAA,CAAG,yBAAA,EAA2B,SAAS,CAAA;AAAA,MACjD,GAAG,UAAA;AAAA,MAEH;AAAA;AAAA;AAGP,CAAA;AACA,UAAA,CAAW,WAAA,GAAc,aAAA;AAEzB,MAAM,YAAA,GAAe,UAAA;AAAA,EACnB,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,YAAY,GAAG,UAAA,IAAc,GAAA,qBACnD,GAAA;AAAA,IAACC,cAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,GAAG,SAAS,CAAA;AAAA,MACvB,eAAa,UAAA,IAAc,eAAA;AAAA,MAC1B,GAAG,UAAA;AAAA,MAEH;AAAA;AAAA;AAGP,CAAA;AACA,YAAA,CAAa,WAAA,GAAc,eAAA;AAE3B,MAAM,WAAA,GAAc,WAGlB,CAAC,EAAE,UAAU,SAAA,EAAW,GAAG,UAAA,EAAW,EAAG,GAAA,qBACzC,GAAA;AAAA,EAACC,aAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,wBAAA,EAA0B,SAAS,CAAA;AAAA,IAChD,GAAG,UAAA;AAAA,IAEH;AAAA;AACH,CACD,CAAA;AACD,WAAA,CAAY,WAAA,GAAc,cAAA;AAE1B,MAAM,MAAA,GAAS,UAAA;AAAA,EACb,CACE;AAAA,IACE,IAAA,GAAO,QAAA;AAAA,IACP,MAAA,GAAS,KAAA;AAAA,IACT,UAAU,MAAM;AAAA,IAAC,CAAA;AAAA,IACjB,QAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA,GAAa,IAAA;AAAA,IACb,WAAA,GAAc,IAAA;AAAA,IACd,iBAAA;AAAA,IACA,mBAAA,GAAsB,IAAA;AAAA,IACtB,eAAA;AAAA,IACA,aAAA;AAAA,IACA,kBAAA,GAAqB,IAAA;AAAA,IACrB,WAAA,GAAc,KAAA;AAAA,IACd,KAAA,EAAO,SAAA;AAAA,IACP,WAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AAGH,IAAA,MAAM,gBAAA,GAEc,CAAC,IAAA,EAAM,YAAA,KAAiB;AAC1C,MAAA,IAAI,IAAA,EAAM;AACV,MAAA,IACG,YAAA,CAAa,WAAW,YAAA,IAAgB,CAAC,cACzC,YAAA,CAAa,MAAA,KAAW,eAAA,IAAmB,CAAC,mBAAA,EAC7C;AACA,QAAA,YAAA,CAAa,MAAA,EAAO;AAEpB,QAAA;AAAA,MACF;AACA,MAAA,OAAA,EAAQ;AAAA,IACV,CAAA;AAGA,IAAA,MAAM,gBAAgB,SAAA,IAAa,kBAAA;AAEnC,IAAA,uBACE,GAAA;AAAA,MAACC,QAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,MAAA;AAAA,QACN,YAAA,EAAc,gBAAA;AAAA,QACd,KAAA,EAAO,aAAA;AAAA,QACP,WAAA;AAAA,QAEA,QAAA,kBAAA,GAAA;AAAA,UAACC,aAAA;AAAA,UAAA;AAAA,YACC,GAAA;AAAA,YACA,eAAA,EAAiB,WAAA;AAAA,YACjB,aAAa,WAAA,IAAe,MAAA;AAAA,YAC5B,gBAAA,EAAkB,iBAAA;AAAA,YAClB,cAAc,eAAA,IAAmB,MAAA;AAAA,YACjC,YAAY,aAAA,IAAiB,MAAA;AAAA,YAC7B,SAAA,EAAW,EAAA,CAAG,cAAA,CAAe,IAAI,GAAG,SAAS,CAAA;AAAA,YAC7C,aAAA,EAAY,gBAAA;AAAA,YACX,GAAG,iBAAA;AAAA,YAEH;AAAA;AAAA;AACH;AAAA,KACF;AAAA,EAEJ;AACF;AASA,MAAA,CAAO,WAAA,GAAc,QAAA;AACrB,MAAA,CAAO,MAAA,GAAS,YAAA;AAChB,MAAA,CAAO,IAAA,GAAO,UAAA;AACd,MAAA,CAAO,MAAA,GAAS,YAAA;AAChB,MAAA,CAAO,KAAA,GAAQ,WAAA;;;;"}
|
|
@@ -8,9 +8,9 @@ var primitives_Dialog = require('./primitives/Dialog.js');
|
|
|
8
8
|
var Button = require('./Button-BQ4rpzsl.js');
|
|
9
9
|
|
|
10
10
|
const SIZE_CLASS_MAP = {
|
|
11
|
-
small: "sm:max-w-
|
|
12
|
-
medium: "sm:max-w-
|
|
13
|
-
large: "sm:max-w-
|
|
11
|
+
small: "sm:max-w-sm",
|
|
12
|
+
medium: "sm:max-w-lg",
|
|
13
|
+
large: "sm:max-w-3xl"
|
|
14
14
|
};
|
|
15
15
|
const STYLE_VARIANT_MAP = {
|
|
16
16
|
danger: "destructive",
|
|
@@ -127,4 +127,4 @@ const Alert = React.forwardRef(
|
|
|
127
127
|
Alert.displayName = "Alert";
|
|
128
128
|
|
|
129
129
|
exports.Alert = Alert;
|
|
130
|
-
//# sourceMappingURL=Alert-
|
|
130
|
+
//# sourceMappingURL=Alert-BUPMvhfY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert-BUPMvhfY.js","sources":["../../src/components/Alert/constants.ts","../../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { AlertSize, AlertStyle } from \"./Alert\";\n\nexport const SIZE_CLASS_MAP: Record<AlertSize, string> = {\n small: \"sm:max-w-sm\",\n medium: \"sm:max-w-lg\",\n large: \"sm:max-w-3xl\",\n};\n\nexport const STYLE_VARIANT_MAP: Record<AlertStyle, \"destructive\" | \"default\"> =\n {\n danger: \"destructive\",\n warning: \"default\",\n };\n","import {\n forwardRef,\n useId,\n useRef,\n type ReactNode,\n type RefObject,\n} from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"src/primitives/Dialog\";\nimport { Button } from \"src/components/Button\";\n\nimport { SIZE_CLASS_MAP, STYLE_VARIANT_MAP } from \"./constants\";\n\nexport type AlertStyle = \"danger\" | \"warning\";\nexport type AlertSize = \"small\" | \"medium\" | \"large\";\ntype InitialFocusElement = \"submit\" | \"cancel\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof DialogContent>;\n\nexport interface AlertProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"role\"\n | \"showCloseButton\"\n | \"className\"\n | \"style\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /**\n * Size of the alert dialog.\n * @default \"medium\"\n */\n size?: AlertSize;\n /** Whether the alert is open. */\n isOpen?: boolean;\n /** Whether the submit action is in progress. */\n isSubmitting?: boolean;\n /** Additional CSS class names applied to the dialog content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the dialog. */\n closeOnOutsideClick?: boolean;\n /** Callback invoked when the alert is closed. */\n onClose?: () => void;\n /** Callback invoked when the submit button is clicked. */\n onSubmit?: () => void;\n /** Title text of the alert. */\n title?: string;\n /** Message content of the alert. */\n message?: ReactNode;\n /** Label for the submit button. */\n submitButtonLabel?: string;\n /** Label for the cancel button. */\n cancelButtonLabel?: string;\n /** Hide the cancel button. */\n hideCancelButton?: boolean;\n /** Visual style of the submit button. */\n style?: AlertStyle;\n /** Ref of the element to receive focus when the alert opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Which built-in button receives focus on open: \"submit\" or \"cancel\". */\n initialFocusElement?: InitialFocusElement;\n /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\nconst Alert = forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n size = \"medium\",\n isOpen = false,\n isSubmitting = false,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n onClose = () => {},\n onSubmit = () => {},\n title = \"\",\n message = \"\",\n submitButtonLabel: submitButtonLabelProp,\n cancelButtonLabel: cancelButtonLabelProp,\n hideCancelButton = false,\n style = \"danger\",\n initialFocusRef,\n initialFocusElement,\n modal,\n defaultOpen,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const submitButtonLabel =\n submitButtonLabelProp ?? t(\"neetoatoms.alert.continue\", \"Continue\");\n const cancelButtonLabel =\n cancelButtonLabelProp ?? t(\"neetoatoms.alert.cancel\", \"Cancel\");\n const baseId = useId();\n const titleId = `alert-title-${baseId}`;\n const messageId = `alert-message-${baseId}`;\n const submitButtonRef = useRef<HTMLButtonElement>(null);\n const cancelButtonRef = useRef<HTMLButtonElement>(null);\n\n // Base UI consolidates the per-interaction dismiss callbacks into\n // onOpenChange's eventDetails, and takes initial focus as a ref.\n const handleOpenChange: React.ComponentProps<\n typeof Dialog\n >[\"onOpenChange\"] = (open, eventDetails) => {\n if (open) return;\n if (\n (eventDetails.reason === \"escape-key\" && !closeOnEsc) ||\n (eventDetails.reason === \"outside-press\" && !closeOnOutsideClick)\n ) {\n eventDetails.cancel();\n\n return;\n }\n onClose();\n };\n\n // Custom focus ref takes highest priority, then the named button\n const initialFocus =\n initialFocusRef ??\n (initialFocusElement === \"submit\"\n ? submitButtonRef\n : initialFocusElement === \"cancel\"\n ? cancelButtonRef\n : undefined);\n\n return (\n <Dialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={modal}\n defaultOpen={defaultOpen}\n >\n <DialogContent\n ref={ref}\n role=\"alertdialog\"\n aria-labelledby={title ? titleId : undefined}\n aria-describedby={message ? messageId : undefined}\n showCloseButton={closeButton}\n overlayClassName={backdropClassName}\n initialFocus={initialFocus ?? undefined}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"alert-box\"\n {...otherProps}\n >\n <DialogHeader>\n <DialogTitle\n id={titleId}\n data-testid=\"alert-title\"\n className=\"text-2xl font-semibold\"\n >\n {title}\n </DialogTitle>\n {message && (\n <DialogDescription id={messageId} data-testid=\"alert-message\">\n {message}\n </DialogDescription>\n )}\n </DialogHeader>\n <DialogFooter>\n {!hideCancelButton && (\n <Button\n ref={cancelButtonRef}\n variant=\"outline\"\n label={cancelButtonLabel}\n onClick={onClose}\n data-testid=\"alert-cancel-button\"\n />\n )}\n <Button\n ref={submitButtonRef}\n variant={STYLE_VARIANT_MAP[style]}\n label={submitButtonLabel}\n loading={isSubmitting}\n disabled={isSubmitting || !isOpen}\n onClick={onSubmit}\n data-testid=\"alert-submit-button\"\n />\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n }\n);\n\nAlert.displayName = \"Alert\";\n\nexport { Alert };\n"],"names":["forwardRef","useTranslation","useId","useRef","jsx","Dialog","jsxs","DialogContent","cn","DialogHeader","DialogTitle","DialogDescription","DialogFooter","Button"],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ var primitives_Dialog = require('./primitives/Dialog.js');
|
|
|
7
7
|
|
|
8
8
|
const SIZE_CLASS_MAP = {
|
|
9
9
|
small: "sm:max-w-sm",
|
|
10
|
-
medium: "sm:max-w-
|
|
11
|
-
large: "sm:max-w-
|
|
10
|
+
medium: "sm:max-w-lg",
|
|
11
|
+
large: "sm:max-w-3xl",
|
|
12
12
|
fullScreen: "h-screen w-screen max-w-none rounded-none sm:max-w-none"
|
|
13
13
|
};
|
|
14
14
|
|
|
@@ -125,4 +125,4 @@ Dialog.Footer = DialogFooter;
|
|
|
125
125
|
Dialog.Title = DialogTitle;
|
|
126
126
|
|
|
127
127
|
exports.Dialog = Dialog;
|
|
128
|
-
//# sourceMappingURL=Dialog-
|
|
128
|
+
//# sourceMappingURL=Dialog-B_FZwr_u.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog-B_FZwr_u.js","sources":["../../src/components/Dialog/constants.ts","../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import type { DialogSize } from \"./Dialog\";\n\nexport const SIZE_CLASS_MAP: Record<DialogSize, string> = {\n small: \"sm:max-w-sm\",\n medium: \"sm:max-w-lg\",\n large: \"sm:max-w-3xl\",\n fullScreen: \"h-screen w-screen max-w-none rounded-none sm:max-w-none\",\n};\n","import React, { forwardRef, type ReactNode, type RefObject } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog as PrimitiveDialog,\n DialogContent as PrimitiveDialogContent,\n DialogDescription,\n DialogFooter as PrimitiveDialogFooter,\n DialogHeader as PrimitiveDialogHeader,\n DialogTitle as PrimitiveDialogTitle,\n} from \"src/primitives/Dialog\";\n\nimport { SIZE_CLASS_MAP } from \"./constants\";\n\nexport type DialogSize = \"small\" | \"medium\" | \"large\" | \"fullScreen\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof PrimitiveDialogContent>;\n\nexport interface DialogProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"className\"\n | \"showCloseButton\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /**\n * Size of the dialog.\n * @default \"medium\"\n */\n size?: DialogSize;\n /** Whether the dialog is open. */\n isOpen?: boolean;\n /** Callback invoked when the dialog is closed. */\n onClose?: () => void;\n /** Content rendered inside the dialog. */\n children?: ReactNode;\n /** Additional CSS class names applied to the dialog content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the dialog. */\n closeOnOutsideClick?: boolean;\n /** Ref of the element to receive focus when the dialog opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Ref of the element to receive focus when the dialog closes. */\n finalFocusRef?: RefObject<HTMLElement | null>;\n /** Whether to block body scroll when the dialog is mounted. Maps to Radix `modal` prop. */\n blockScrollOnMount?: boolean;\n /** Force children to re-render even when the dialog is closed. */\n forceRender?: boolean;\n /** Radix Dialog `modal` prop — takes precedence over blockScrollOnMount. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\ninterface DialogSubcomponentProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n /** Custom data-testid attribute. */\n dataTestid?: string;\n}\n\nconst DialogHeader = forwardRef<\n HTMLDivElement,\n DialogSubcomponentProps & { description?: string }\n>(({ children, className, description, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogHeader\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-header\"}\n {...otherProps}\n >\n {children}\n {description && (\n <DialogDescription data-testid=\"dialog-header-desc\">\n {description}\n </DialogDescription>\n )}\n </PrimitiveDialogHeader>\n));\nDialogHeader.displayName = \"Dialog.Header\";\n\nconst DialogBody = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <div\n ref={ref}\n data-slot=\"dialog-body\"\n data-testid={dataTestid ?? \"dialog-body\"}\n className={cn(\"text-sm text-foreground\", className)}\n {...otherProps}\n >\n {children}\n </div>\n )\n);\nDialogBody.displayName = \"Dialog.Body\";\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogFooter\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-footer\"}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogFooter>\n )\n);\nDialogFooter.displayName = \"Dialog.Footer\";\n\nconst DialogTitle = forwardRef<\n HTMLHeadingElement,\n React.ComponentProps<typeof PrimitiveDialogTitle>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveDialogTitle\n ref={ref}\n className={cn(\"text-2xl font-semibold\", className)}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogTitle>\n));\nDialogTitle.displayName = \"Dialog.Title\";\n\nconst Dialog = forwardRef<HTMLDivElement, DialogProps>(\n (\n {\n size = \"medium\",\n isOpen = false,\n onClose = () => {},\n children,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n blockScrollOnMount = true,\n forceRender = false,\n modal: modalProp,\n defaultOpen,\n ...otherContentProps\n },\n ref\n ) => {\n // Base UI consolidates the per-interaction dismiss callbacks\n // (onEscapeKeyDown / onInteractOutside) into onOpenChange's eventDetails.\n const handleOpenChange: React.ComponentProps<\n typeof PrimitiveDialog\n >[\"onOpenChange\"] = (open, eventDetails) => {\n if (open) return;\n if (\n (eventDetails.reason === \"escape-key\" && !closeOnEsc) ||\n (eventDetails.reason === \"outside-press\" && !closeOnOutsideClick)\n ) {\n eventDetails.cancel();\n\n return;\n }\n onClose();\n };\n\n // `modal` prop takes precedence; fall back to blockScrollOnMount\n const resolvedModal = modalProp ?? blockScrollOnMount;\n\n return (\n <PrimitiveDialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={resolvedModal}\n defaultOpen={defaultOpen}\n >\n <PrimitiveDialogContent\n ref={ref}\n showCloseButton={closeButton}\n keepMounted={forceRender || undefined}\n overlayClassName={backdropClassName}\n initialFocus={initialFocusRef ?? undefined}\n finalFocus={finalFocusRef ?? undefined}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"dialog-wrapper\"\n {...otherContentProps}\n >\n {children}\n </PrimitiveDialogContent>\n </PrimitiveDialog>\n );\n }\n) as React.ForwardRefExoticComponent<\n DialogProps & React.RefAttributes<HTMLDivElement>\n> & {\n Header: typeof DialogHeader;\n Body: typeof DialogBody;\n Footer: typeof DialogFooter;\n Title: typeof DialogTitle;\n};\n\nDialog.displayName = \"Dialog\";\nDialog.Header = DialogHeader;\nDialog.Body = DialogBody;\nDialog.Footer = DialogFooter;\nDialog.Title = DialogTitle;\n\nexport { Dialog };\n"],"names":["forwardRef","jsxs","PrimitiveDialogHeader","cn","jsx","DialogDescription","PrimitiveDialogFooter","PrimitiveDialogTitle","PrimitiveDialog","PrimitiveDialogContent"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var components_DropdownMenu = require('./DropdownMenu.js');
|
|
4
4
|
var Accordion = require('../Accordion-D75SDnkY.js');
|
|
5
|
-
var Alert = require('../Alert-
|
|
5
|
+
var Alert = require('../Alert-BUPMvhfY.js');
|
|
6
6
|
var Avatar = require('../Avatar-D2k6WnzD.js');
|
|
7
7
|
var Button = require('../Button-BQ4rpzsl.js');
|
|
8
8
|
var Badge = require('../Badge-DAm1E10J.js');
|
|
@@ -11,7 +11,7 @@ var Checkbox = require('../Checkbox-83g1FDsc.js');
|
|
|
11
11
|
var ColorPicker = require('../ColorPicker-Dh58otnF.js');
|
|
12
12
|
var DataTable = require('../DataTable-BXNU34g-.js');
|
|
13
13
|
var DatePicker = require('../DatePicker-Da8-hSjF.js');
|
|
14
|
-
var Dialog = require('../Dialog-
|
|
14
|
+
var Dialog = require('../Dialog-B_FZwr_u.js');
|
|
15
15
|
var Empty = require('../Empty-DGvhPdiG.js');
|
|
16
16
|
var Input = require('../Input-DFvMBpiU.js');
|
|
17
17
|
var Kbd = require('../Kbd--A8Gl8TV.js');
|
|
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var formik = require('formik');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var reactRouterDom = require('react-router-dom');
|
|
7
|
-
var Dialog = require('../Dialog-
|
|
7
|
+
var Dialog = require('../Dialog-B_FZwr_u.js');
|
|
8
8
|
var Button = require('../Button-BQ4rpzsl.js');
|
|
9
9
|
require('../utils-BhM0B89p.js');
|
|
10
10
|
require('../primitives/Dialog.js');
|
package/dist/cjs/formik/index.js
CHANGED
|
@@ -97,7 +97,7 @@ require('../Tree-BCeV70TF.js');
|
|
|
97
97
|
require('../chevron-right-0jNdwX2Q.js');
|
|
98
98
|
require('../redux-DEF7lAd1.js');
|
|
99
99
|
require('../MultiEmailInput-N9amBO6Q.js');
|
|
100
|
-
require('../Dialog-
|
|
100
|
+
require('../Dialog-B_FZwr_u.js');
|
|
101
101
|
require('../primitives/Dialog.js');
|
|
102
102
|
require('../dialog-Bnk4GUFC.js');
|
|
103
103
|
require('../DialogTrigger-B0Q6yIrx.js');
|
package/dist/cjs/index.js
CHANGED
|
@@ -6,7 +6,7 @@ var components_DropdownMenu = require('./components/DropdownMenu.js');
|
|
|
6
6
|
var useMobile = require('./use-mobile-Be9CI6km.js');
|
|
7
7
|
var utils = require('./utils-BhM0B89p.js');
|
|
8
8
|
var Accordion = require('./Accordion-D75SDnkY.js');
|
|
9
|
-
var Alert = require('./Alert-
|
|
9
|
+
var Alert = require('./Alert-BUPMvhfY.js');
|
|
10
10
|
var Avatar = require('./Avatar-D2k6WnzD.js');
|
|
11
11
|
var Badge = require('./Badge-DAm1E10J.js');
|
|
12
12
|
var Button = require('./Button-BQ4rpzsl.js');
|
|
@@ -15,7 +15,7 @@ var Checkbox = require('./Checkbox-83g1FDsc.js');
|
|
|
15
15
|
var ColorPicker = require('./ColorPicker-Dh58otnF.js');
|
|
16
16
|
var DataTable = require('./DataTable-BXNU34g-.js');
|
|
17
17
|
var DatePicker = require('./DatePicker-Da8-hSjF.js');
|
|
18
|
-
var Dialog = require('./Dialog-
|
|
18
|
+
var Dialog = require('./Dialog-B_FZwr_u.js');
|
|
19
19
|
var DirectionProvider = require('./DirectionProvider-BTtE4FcN.js');
|
|
20
20
|
var Empty = require('./Empty-DGvhPdiG.js');
|
|
21
21
|
var Input = require('./Input-DFvMBpiU.js');
|
|
@@ -6,7 +6,10 @@ type InitialFocusElement = "submit" | "cancel";
|
|
|
6
6
|
/** Radix Dialog.Content props we forward via ...otherProps. */
|
|
7
7
|
type DialogContentProps = React.ComponentProps<typeof DialogContent>;
|
|
8
8
|
export interface AlertProps extends Omit<DialogContentProps, "children" | "role" | "showCloseButton" | "className" | "style" | "onEscapeKeyDown" | "onInteractOutside"> {
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Size of the alert dialog.
|
|
11
|
+
* @default "medium"
|
|
12
|
+
*/
|
|
10
13
|
size?: AlertSize;
|
|
11
14
|
/** Whether the alert is open. */
|
|
12
15
|
isOpen?: boolean;
|
package/dist/components/Alert.js
CHANGED
|
@@ -4,7 +4,10 @@ export type DialogSize = "small" | "medium" | "large" | "fullScreen";
|
|
|
4
4
|
/** Radix Dialog.Content props we forward via ...otherProps. */
|
|
5
5
|
type DialogContentProps = React.ComponentProps<typeof PrimitiveDialogContent>;
|
|
6
6
|
export interface DialogProps extends Omit<DialogContentProps, "children" | "className" | "showCloseButton" | "onEscapeKeyDown" | "onInteractOutside"> {
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Size of the dialog.
|
|
9
|
+
* @default "medium"
|
|
10
|
+
*/
|
|
8
11
|
size?: DialogSize;
|
|
9
12
|
/** Whether the dialog is open. */
|
|
10
13
|
isOpen?: boolean;
|
package/dist/components/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { DropdownMenu } from './DropdownMenu.js';
|
|
2
2
|
export { A as Accordion } from '../Accordion-DVMgPBum.js';
|
|
3
|
-
export { A as Alert } from '../Alert-
|
|
3
|
+
export { A as Alert } from '../Alert-DWdha6In.js';
|
|
4
4
|
export { A as Avatar } from '../Avatar-Dg5-X_dH.js';
|
|
5
5
|
export { B as BUTTON_SIZES, a as BUTTON_VARIANTS, b as Button } from '../Button-ZssOVkG0.js';
|
|
6
6
|
export { B as Badge } from '../Badge-ChmtKioK.js';
|
|
@@ -9,7 +9,7 @@ export { C as Checkbox } from '../Checkbox-BalUzegZ.js';
|
|
|
9
9
|
export { C as ColorPicker } from '../ColorPicker-BvWNd8Tp.js';
|
|
10
10
|
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from '../DataTable-DKYkrFfk.js';
|
|
11
11
|
export { D as DatePicker } from '../DatePicker-B3kUEuKH.js';
|
|
12
|
-
export { D as Dialog } from '../Dialog-
|
|
12
|
+
export { D as Dialog } from '../Dialog-ZTcfRPwU.js';
|
|
13
13
|
export { E as Empty } from '../Empty-XqdCD2dj.js';
|
|
14
14
|
export { I as Input } from '../Input-Dm5ILPH3.js';
|
|
15
15
|
export { K as Kbd } from '../Kbd-CKfR8HlC.js';
|
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useFormikContext } from 'formik';
|
|
3
3
|
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
4
4
|
import { useHistory } from 'react-router-dom';
|
|
5
|
-
import { D as Dialog } from '../Dialog-
|
|
5
|
+
import { D as Dialog } from '../Dialog-ZTcfRPwU.js';
|
|
6
6
|
import { b as Button } from '../Button-ZssOVkG0.js';
|
|
7
7
|
import '../utils-BJnb9o5c.js';
|
|
8
8
|
import '../primitives/Dialog.js';
|
package/dist/formik/index.js
CHANGED
|
@@ -95,7 +95,7 @@ import '../Tree-D95PpI3W.js';
|
|
|
95
95
|
import '../chevron-right-DQnrO-ek.js';
|
|
96
96
|
import '../redux-BKH6DnBB.js';
|
|
97
97
|
import '../MultiEmailInput-CLBZnyXh.js';
|
|
98
|
-
import '../Dialog-
|
|
98
|
+
import '../Dialog-ZTcfRPwU.js';
|
|
99
99
|
import '../primitives/Dialog.js';
|
|
100
100
|
import '../dialog-BG8Tjl78.js';
|
|
101
101
|
import '../DialogTrigger-a3diAOif.js';
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ export { DropdownMenu } from './components/DropdownMenu.js';
|
|
|
5
5
|
export { u as useIsMobile } from './use-mobile-QbHL72cX.js';
|
|
6
6
|
export { c as cn } from './utils-BJnb9o5c.js';
|
|
7
7
|
export { A as Accordion } from './Accordion-DVMgPBum.js';
|
|
8
|
-
export { A as Alert } from './Alert-
|
|
8
|
+
export { A as Alert } from './Alert-DWdha6In.js';
|
|
9
9
|
export { A as Avatar } from './Avatar-Dg5-X_dH.js';
|
|
10
10
|
export { B as Badge } from './Badge-ChmtKioK.js';
|
|
11
11
|
export { b as Button } from './Button-ZssOVkG0.js';
|
|
@@ -14,7 +14,7 @@ export { C as Checkbox } from './Checkbox-BalUzegZ.js';
|
|
|
14
14
|
export { C as ColorPicker } from './ColorPicker-BvWNd8Tp.js';
|
|
15
15
|
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from './DataTable-DKYkrFfk.js';
|
|
16
16
|
export { D as DatePicker } from './DatePicker-B3kUEuKH.js';
|
|
17
|
-
export { D as Dialog } from './Dialog-
|
|
17
|
+
export { D as Dialog } from './Dialog-ZTcfRPwU.js';
|
|
18
18
|
export { D as DirectionProvider } from './DirectionProvider-weqLz_BJ.js';
|
|
19
19
|
export { E as Empty } from './Empty-XqdCD2dj.js';
|
|
20
20
|
export { I as Input } from './Input-Dm5ILPH3.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-atoms",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.135-beta2",
|
|
4
4
|
"author": "BigBinary",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
@@ -209,4 +209,4 @@
|
|
|
209
209
|
"react-router-dom": "^5.3.3"
|
|
210
210
|
},
|
|
211
211
|
"packageManager": "yarn@4.9.2"
|
|
212
|
-
}
|
|
212
|
+
}
|
package/CHANGELOG.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Alert-DYROpfTf.js","sources":["../src/components/Alert/constants.ts","../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { AlertSize, AlertStyle } from \"./Alert\";\n\nexport const SIZE_CLASS_MAP: Record<AlertSize, string> = {\n small: \"sm:max-w-xs\",\n medium: \"sm:max-w-sm\",\n large: \"sm:max-w-md\",\n};\n\nexport const STYLE_VARIANT_MAP: Record<AlertStyle, \"destructive\" | \"default\"> =\n {\n danger: \"destructive\",\n warning: \"default\",\n };\n","import {\n forwardRef,\n useId,\n useRef,\n type ReactNode,\n type RefObject,\n} from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"src/primitives/Dialog\";\nimport { Button } from \"src/components/Button\";\n\nimport { SIZE_CLASS_MAP, STYLE_VARIANT_MAP } from \"./constants\";\n\nexport type AlertStyle = \"danger\" | \"warning\";\nexport type AlertSize = \"small\" | \"medium\" | \"large\";\ntype InitialFocusElement = \"submit\" | \"cancel\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof DialogContent>;\n\nexport interface AlertProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"role\"\n | \"showCloseButton\"\n | \"className\"\n | \"style\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /** Size of the alert dialog. */\n size?: AlertSize;\n /** Whether the alert is open. */\n isOpen?: boolean;\n /** Whether the submit action is in progress. */\n isSubmitting?: boolean;\n /** Additional CSS class names applied to the dialog content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the dialog. */\n closeOnOutsideClick?: boolean;\n /** Callback invoked when the alert is closed. */\n onClose?: () => void;\n /** Callback invoked when the submit button is clicked. */\n onSubmit?: () => void;\n /** Title text of the alert. */\n title?: string;\n /** Message content of the alert. */\n message?: ReactNode;\n /** Label for the submit button. */\n submitButtonLabel?: string;\n /** Label for the cancel button. */\n cancelButtonLabel?: string;\n /** Hide the cancel button. */\n hideCancelButton?: boolean;\n /** Visual style of the submit button. */\n style?: AlertStyle;\n /** Ref of the element to receive focus when the alert opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Which built-in button receives focus on open: \"submit\" or \"cancel\". */\n initialFocusElement?: InitialFocusElement;\n /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\nconst Alert = forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n size = \"medium\",\n isOpen = false,\n isSubmitting = false,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n onClose = () => {},\n onSubmit = () => {},\n title = \"\",\n message = \"\",\n submitButtonLabel: submitButtonLabelProp,\n cancelButtonLabel: cancelButtonLabelProp,\n hideCancelButton = false,\n style = \"danger\",\n initialFocusRef,\n initialFocusElement,\n modal,\n defaultOpen,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const submitButtonLabel =\n submitButtonLabelProp ?? t(\"neetoatoms.alert.continue\", \"Continue\");\n const cancelButtonLabel =\n cancelButtonLabelProp ?? t(\"neetoatoms.alert.cancel\", \"Cancel\");\n const baseId = useId();\n const titleId = `alert-title-${baseId}`;\n const messageId = `alert-message-${baseId}`;\n const submitButtonRef = useRef<HTMLButtonElement>(null);\n const cancelButtonRef = useRef<HTMLButtonElement>(null);\n\n // Base UI consolidates the per-interaction dismiss callbacks into\n // onOpenChange's eventDetails, and takes initial focus as a ref.\n const handleOpenChange: React.ComponentProps<\n typeof Dialog\n >[\"onOpenChange\"] = (open, eventDetails) => {\n if (open) return;\n if (\n (eventDetails.reason === \"escape-key\" && !closeOnEsc) ||\n (eventDetails.reason === \"outside-press\" && !closeOnOutsideClick)\n ) {\n eventDetails.cancel();\n\n return;\n }\n onClose();\n };\n\n // Custom focus ref takes highest priority, then the named button\n const initialFocus =\n initialFocusRef ??\n (initialFocusElement === \"submit\"\n ? submitButtonRef\n : initialFocusElement === \"cancel\"\n ? cancelButtonRef\n : undefined);\n\n return (\n <Dialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={modal}\n defaultOpen={defaultOpen}\n >\n <DialogContent\n ref={ref}\n role=\"alertdialog\"\n aria-labelledby={title ? titleId : undefined}\n aria-describedby={message ? messageId : undefined}\n showCloseButton={closeButton}\n overlayClassName={backdropClassName}\n initialFocus={initialFocus ?? undefined}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"alert-box\"\n {...otherProps}\n >\n <DialogHeader>\n <DialogTitle\n id={titleId}\n data-testid=\"alert-title\"\n className=\"text-2xl font-semibold\"\n >\n {title}\n </DialogTitle>\n {message && (\n <DialogDescription id={messageId} data-testid=\"alert-message\">\n {message}\n </DialogDescription>\n )}\n </DialogHeader>\n <DialogFooter>\n {!hideCancelButton && (\n <Button\n ref={cancelButtonRef}\n variant=\"outline\"\n label={cancelButtonLabel}\n onClick={onClose}\n data-testid=\"alert-cancel-button\"\n />\n )}\n <Button\n ref={submitButtonRef}\n variant={STYLE_VARIANT_MAP[style]}\n label={submitButtonLabel}\n loading={isSubmitting}\n disabled={isSubmitting || !isOpen}\n onClick={onSubmit}\n data-testid=\"alert-submit-button\"\n />\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n }\n);\n\nAlert.displayName = \"Alert\";\n\nexport { Alert };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog-Yw34WDqY.js","sources":["../src/components/Dialog/constants.ts","../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import type { DialogSize } from \"./Dialog\";\n\nexport const SIZE_CLASS_MAP: Record<DialogSize, string> = {\n small: \"sm:max-w-sm\",\n medium: \"sm:max-w-md\",\n large: \"sm:max-w-lg\",\n fullScreen: \"h-screen w-screen max-w-none rounded-none sm:max-w-none\",\n};\n","import React, { forwardRef, type ReactNode, type RefObject } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog as PrimitiveDialog,\n DialogContent as PrimitiveDialogContent,\n DialogDescription,\n DialogFooter as PrimitiveDialogFooter,\n DialogHeader as PrimitiveDialogHeader,\n DialogTitle as PrimitiveDialogTitle,\n} from \"src/primitives/Dialog\";\n\nimport { SIZE_CLASS_MAP } from \"./constants\";\n\nexport type DialogSize = \"small\" | \"medium\" | \"large\" | \"fullScreen\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof PrimitiveDialogContent>;\n\nexport interface DialogProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"className\"\n | \"showCloseButton\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /** Size of the dialog. */\n size?: DialogSize;\n /** Whether the dialog is open. */\n isOpen?: boolean;\n /** Callback invoked when the dialog is closed. */\n onClose?: () => void;\n /** Content rendered inside the dialog. */\n children?: ReactNode;\n /** Additional CSS class names applied to the dialog content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the dialog. */\n closeOnOutsideClick?: boolean;\n /** Ref of the element to receive focus when the dialog opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Ref of the element to receive focus when the dialog closes. */\n finalFocusRef?: RefObject<HTMLElement | null>;\n /** Whether to block body scroll when the dialog is mounted. Maps to Radix `modal` prop. */\n blockScrollOnMount?: boolean;\n /** Force children to re-render even when the dialog is closed. */\n forceRender?: boolean;\n /** Radix Dialog `modal` prop — takes precedence over blockScrollOnMount. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\ninterface DialogSubcomponentProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n /** Custom data-testid attribute. */\n dataTestid?: string;\n}\n\nconst DialogHeader = forwardRef<\n HTMLDivElement,\n DialogSubcomponentProps & { description?: string }\n>(({ children, className, description, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogHeader\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-header\"}\n {...otherProps}\n >\n {children}\n {description && (\n <DialogDescription data-testid=\"dialog-header-desc\">\n {description}\n </DialogDescription>\n )}\n </PrimitiveDialogHeader>\n));\nDialogHeader.displayName = \"Dialog.Header\";\n\nconst DialogBody = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <div\n ref={ref}\n data-slot=\"dialog-body\"\n data-testid={dataTestid ?? \"dialog-body\"}\n className={cn(\"text-sm text-foreground\", className)}\n {...otherProps}\n >\n {children}\n </div>\n )\n);\nDialogBody.displayName = \"Dialog.Body\";\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogFooter\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-footer\"}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogFooter>\n )\n);\nDialogFooter.displayName = \"Dialog.Footer\";\n\nconst DialogTitle = forwardRef<\n HTMLHeadingElement,\n React.ComponentProps<typeof PrimitiveDialogTitle>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveDialogTitle\n ref={ref}\n className={cn(\"text-2xl font-semibold\", className)}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogTitle>\n));\nDialogTitle.displayName = \"Dialog.Title\";\n\nconst Dialog = forwardRef<HTMLDivElement, DialogProps>(\n (\n {\n size = \"medium\",\n isOpen = false,\n onClose = () => {},\n children,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n blockScrollOnMount = true,\n forceRender = false,\n modal: modalProp,\n defaultOpen,\n ...otherContentProps\n },\n ref\n ) => {\n // Base UI consolidates the per-interaction dismiss callbacks\n // (onEscapeKeyDown / onInteractOutside) into onOpenChange's eventDetails.\n const handleOpenChange: React.ComponentProps<\n typeof PrimitiveDialog\n >[\"onOpenChange\"] = (open, eventDetails) => {\n if (open) return;\n if (\n (eventDetails.reason === \"escape-key\" && !closeOnEsc) ||\n (eventDetails.reason === \"outside-press\" && !closeOnOutsideClick)\n ) {\n eventDetails.cancel();\n\n return;\n }\n onClose();\n };\n\n // `modal` prop takes precedence; fall back to blockScrollOnMount\n const resolvedModal = modalProp ?? blockScrollOnMount;\n\n return (\n <PrimitiveDialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={resolvedModal}\n defaultOpen={defaultOpen}\n >\n <PrimitiveDialogContent\n ref={ref}\n showCloseButton={closeButton}\n keepMounted={forceRender || undefined}\n overlayClassName={backdropClassName}\n initialFocus={initialFocusRef ?? undefined}\n finalFocus={finalFocusRef ?? undefined}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"dialog-wrapper\"\n {...otherContentProps}\n >\n {children}\n </PrimitiveDialogContent>\n </PrimitiveDialog>\n );\n }\n) as React.ForwardRefExoticComponent<\n DialogProps & React.RefAttributes<HTMLDivElement>\n> & {\n Header: typeof DialogHeader;\n Body: typeof DialogBody;\n Footer: typeof DialogFooter;\n Title: typeof DialogTitle;\n};\n\nDialog.displayName = \"Dialog\";\nDialog.Header = DialogHeader;\nDialog.Body = DialogBody;\nDialog.Footer = DialogFooter;\nDialog.Title = DialogTitle;\n\nexport { Dialog };\n"],"names":["PrimitiveDialogHeader","PrimitiveDialogFooter","PrimitiveDialogTitle","PrimitiveDialog","PrimitiveDialogContent"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Alert-D_2cJF7J.js","sources":["../../src/components/Alert/constants.ts","../../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { AlertSize, AlertStyle } from \"./Alert\";\n\nexport const SIZE_CLASS_MAP: Record<AlertSize, string> = {\n small: \"sm:max-w-xs\",\n medium: \"sm:max-w-sm\",\n large: \"sm:max-w-md\",\n};\n\nexport const STYLE_VARIANT_MAP: Record<AlertStyle, \"destructive\" | \"default\"> =\n {\n danger: \"destructive\",\n warning: \"default\",\n };\n","import {\n forwardRef,\n useId,\n useRef,\n type ReactNode,\n type RefObject,\n} from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"src/primitives/Dialog\";\nimport { Button } from \"src/components/Button\";\n\nimport { SIZE_CLASS_MAP, STYLE_VARIANT_MAP } from \"./constants\";\n\nexport type AlertStyle = \"danger\" | \"warning\";\nexport type AlertSize = \"small\" | \"medium\" | \"large\";\ntype InitialFocusElement = \"submit\" | \"cancel\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof DialogContent>;\n\nexport interface AlertProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"role\"\n | \"showCloseButton\"\n | \"className\"\n | \"style\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /** Size of the alert dialog. */\n size?: AlertSize;\n /** Whether the alert is open. */\n isOpen?: boolean;\n /** Whether the submit action is in progress. */\n isSubmitting?: boolean;\n /** Additional CSS class names applied to the dialog content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the dialog. */\n closeOnOutsideClick?: boolean;\n /** Callback invoked when the alert is closed. */\n onClose?: () => void;\n /** Callback invoked when the submit button is clicked. */\n onSubmit?: () => void;\n /** Title text of the alert. */\n title?: string;\n /** Message content of the alert. */\n message?: ReactNode;\n /** Label for the submit button. */\n submitButtonLabel?: string;\n /** Label for the cancel button. */\n cancelButtonLabel?: string;\n /** Hide the cancel button. */\n hideCancelButton?: boolean;\n /** Visual style of the submit button. */\n style?: AlertStyle;\n /** Ref of the element to receive focus when the alert opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Which built-in button receives focus on open: \"submit\" or \"cancel\". */\n initialFocusElement?: InitialFocusElement;\n /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\nconst Alert = forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n size = \"medium\",\n isOpen = false,\n isSubmitting = false,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n onClose = () => {},\n onSubmit = () => {},\n title = \"\",\n message = \"\",\n submitButtonLabel: submitButtonLabelProp,\n cancelButtonLabel: cancelButtonLabelProp,\n hideCancelButton = false,\n style = \"danger\",\n initialFocusRef,\n initialFocusElement,\n modal,\n defaultOpen,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const submitButtonLabel =\n submitButtonLabelProp ?? t(\"neetoatoms.alert.continue\", \"Continue\");\n const cancelButtonLabel =\n cancelButtonLabelProp ?? t(\"neetoatoms.alert.cancel\", \"Cancel\");\n const baseId = useId();\n const titleId = `alert-title-${baseId}`;\n const messageId = `alert-message-${baseId}`;\n const submitButtonRef = useRef<HTMLButtonElement>(null);\n const cancelButtonRef = useRef<HTMLButtonElement>(null);\n\n // Base UI consolidates the per-interaction dismiss callbacks into\n // onOpenChange's eventDetails, and takes initial focus as a ref.\n const handleOpenChange: React.ComponentProps<\n typeof Dialog\n >[\"onOpenChange\"] = (open, eventDetails) => {\n if (open) return;\n if (\n (eventDetails.reason === \"escape-key\" && !closeOnEsc) ||\n (eventDetails.reason === \"outside-press\" && !closeOnOutsideClick)\n ) {\n eventDetails.cancel();\n\n return;\n }\n onClose();\n };\n\n // Custom focus ref takes highest priority, then the named button\n const initialFocus =\n initialFocusRef ??\n (initialFocusElement === \"submit\"\n ? submitButtonRef\n : initialFocusElement === \"cancel\"\n ? cancelButtonRef\n : undefined);\n\n return (\n <Dialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={modal}\n defaultOpen={defaultOpen}\n >\n <DialogContent\n ref={ref}\n role=\"alertdialog\"\n aria-labelledby={title ? titleId : undefined}\n aria-describedby={message ? messageId : undefined}\n showCloseButton={closeButton}\n overlayClassName={backdropClassName}\n initialFocus={initialFocus ?? undefined}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"alert-box\"\n {...otherProps}\n >\n <DialogHeader>\n <DialogTitle\n id={titleId}\n data-testid=\"alert-title\"\n className=\"text-2xl font-semibold\"\n >\n {title}\n </DialogTitle>\n {message && (\n <DialogDescription id={messageId} data-testid=\"alert-message\">\n {message}\n </DialogDescription>\n )}\n </DialogHeader>\n <DialogFooter>\n {!hideCancelButton && (\n <Button\n ref={cancelButtonRef}\n variant=\"outline\"\n label={cancelButtonLabel}\n onClick={onClose}\n data-testid=\"alert-cancel-button\"\n />\n )}\n <Button\n ref={submitButtonRef}\n variant={STYLE_VARIANT_MAP[style]}\n label={submitButtonLabel}\n loading={isSubmitting}\n disabled={isSubmitting || !isOpen}\n onClick={onSubmit}\n data-testid=\"alert-submit-button\"\n />\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n }\n);\n\nAlert.displayName = \"Alert\";\n\nexport { Alert };\n"],"names":["forwardRef","useTranslation","useId","useRef","jsx","Dialog","jsxs","DialogContent","cn","DialogHeader","DialogTitle","DialogDescription","DialogFooter","Button"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog-ZUHGaoAE.js","sources":["../../src/components/Dialog/constants.ts","../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import type { DialogSize } from \"./Dialog\";\n\nexport const SIZE_CLASS_MAP: Record<DialogSize, string> = {\n small: \"sm:max-w-sm\",\n medium: \"sm:max-w-md\",\n large: \"sm:max-w-lg\",\n fullScreen: \"h-screen w-screen max-w-none rounded-none sm:max-w-none\",\n};\n","import React, { forwardRef, type ReactNode, type RefObject } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog as PrimitiveDialog,\n DialogContent as PrimitiveDialogContent,\n DialogDescription,\n DialogFooter as PrimitiveDialogFooter,\n DialogHeader as PrimitiveDialogHeader,\n DialogTitle as PrimitiveDialogTitle,\n} from \"src/primitives/Dialog\";\n\nimport { SIZE_CLASS_MAP } from \"./constants\";\n\nexport type DialogSize = \"small\" | \"medium\" | \"large\" | \"fullScreen\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof PrimitiveDialogContent>;\n\nexport interface DialogProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"className\"\n | \"showCloseButton\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /** Size of the dialog. */\n size?: DialogSize;\n /** Whether the dialog is open. */\n isOpen?: boolean;\n /** Callback invoked when the dialog is closed. */\n onClose?: () => void;\n /** Content rendered inside the dialog. */\n children?: ReactNode;\n /** Additional CSS class names applied to the dialog content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the dialog. */\n closeOnOutsideClick?: boolean;\n /** Ref of the element to receive focus when the dialog opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Ref of the element to receive focus when the dialog closes. */\n finalFocusRef?: RefObject<HTMLElement | null>;\n /** Whether to block body scroll when the dialog is mounted. Maps to Radix `modal` prop. */\n blockScrollOnMount?: boolean;\n /** Force children to re-render even when the dialog is closed. */\n forceRender?: boolean;\n /** Radix Dialog `modal` prop — takes precedence over blockScrollOnMount. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\ninterface DialogSubcomponentProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n /** Custom data-testid attribute. */\n dataTestid?: string;\n}\n\nconst DialogHeader = forwardRef<\n HTMLDivElement,\n DialogSubcomponentProps & { description?: string }\n>(({ children, className, description, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogHeader\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-header\"}\n {...otherProps}\n >\n {children}\n {description && (\n <DialogDescription data-testid=\"dialog-header-desc\">\n {description}\n </DialogDescription>\n )}\n </PrimitiveDialogHeader>\n));\nDialogHeader.displayName = \"Dialog.Header\";\n\nconst DialogBody = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <div\n ref={ref}\n data-slot=\"dialog-body\"\n data-testid={dataTestid ?? \"dialog-body\"}\n className={cn(\"text-sm text-foreground\", className)}\n {...otherProps}\n >\n {children}\n </div>\n )\n);\nDialogBody.displayName = \"Dialog.Body\";\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogFooter\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-footer\"}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogFooter>\n )\n);\nDialogFooter.displayName = \"Dialog.Footer\";\n\nconst DialogTitle = forwardRef<\n HTMLHeadingElement,\n React.ComponentProps<typeof PrimitiveDialogTitle>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveDialogTitle\n ref={ref}\n className={cn(\"text-2xl font-semibold\", className)}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogTitle>\n));\nDialogTitle.displayName = \"Dialog.Title\";\n\nconst Dialog = forwardRef<HTMLDivElement, DialogProps>(\n (\n {\n size = \"medium\",\n isOpen = false,\n onClose = () => {},\n children,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n blockScrollOnMount = true,\n forceRender = false,\n modal: modalProp,\n defaultOpen,\n ...otherContentProps\n },\n ref\n ) => {\n // Base UI consolidates the per-interaction dismiss callbacks\n // (onEscapeKeyDown / onInteractOutside) into onOpenChange's eventDetails.\n const handleOpenChange: React.ComponentProps<\n typeof PrimitiveDialog\n >[\"onOpenChange\"] = (open, eventDetails) => {\n if (open) return;\n if (\n (eventDetails.reason === \"escape-key\" && !closeOnEsc) ||\n (eventDetails.reason === \"outside-press\" && !closeOnOutsideClick)\n ) {\n eventDetails.cancel();\n\n return;\n }\n onClose();\n };\n\n // `modal` prop takes precedence; fall back to blockScrollOnMount\n const resolvedModal = modalProp ?? blockScrollOnMount;\n\n return (\n <PrimitiveDialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={resolvedModal}\n defaultOpen={defaultOpen}\n >\n <PrimitiveDialogContent\n ref={ref}\n showCloseButton={closeButton}\n keepMounted={forceRender || undefined}\n overlayClassName={backdropClassName}\n initialFocus={initialFocusRef ?? undefined}\n finalFocus={finalFocusRef ?? undefined}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"dialog-wrapper\"\n {...otherContentProps}\n >\n {children}\n </PrimitiveDialogContent>\n </PrimitiveDialog>\n );\n }\n) as React.ForwardRefExoticComponent<\n DialogProps & React.RefAttributes<HTMLDivElement>\n> & {\n Header: typeof DialogHeader;\n Body: typeof DialogBody;\n Footer: typeof DialogFooter;\n Title: typeof DialogTitle;\n};\n\nDialog.displayName = \"Dialog\";\nDialog.Header = DialogHeader;\nDialog.Body = DialogBody;\nDialog.Footer = DialogFooter;\nDialog.Title = DialogTitle;\n\nexport { Dialog };\n"],"names":["forwardRef","jsxs","PrimitiveDialogHeader","cn","jsx","DialogDescription","PrimitiveDialogFooter","PrimitiveDialogTitle","PrimitiveDialog","PrimitiveDialogContent"],"mappings":"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"}
|