@oneplatformdev/ui 0.1.99-beta.23 → 0.1.99-beta.230
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/Accordion/Accordion.d.ts +1 -1
- package/Accordion/Accordion.d.ts.map +1 -1
- package/Accordion/Accordion.js +48 -26
- package/Accordion/Accordion.js.map +1 -1
- package/AlertDialog/AlertDialog.stories.js +3 -2
- package/AlertDialog/AlertDialog.stories.js.map +1 -1
- package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
- package/AlertDialog/AlertDialogRoot.js +26 -24
- package/AlertDialog/AlertDialogRoot.js.map +1 -1
- package/Button/Button.d.ts.map +1 -1
- package/Button/Button.js +43 -43
- package/Button/Button.js.map +1 -1
- package/Button/Button.utils.d.ts +3 -0
- package/Button/Button.utils.d.ts.map +1 -0
- package/Button/Button.utils.js +14 -0
- package/Button/Button.utils.js.map +1 -0
- package/Button/buttonVariants.d.ts.map +1 -1
- package/Button/buttonVariants.js +2 -1
- package/Button/buttonVariants.js.map +1 -1
- package/Button/index.d.ts +1 -0
- package/Button/index.d.ts.map +1 -1
- package/Button/index.js +8 -6
- package/Button/index.js.map +1 -1
- package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
- package/ButtonIcon/ButtonIcon.js +41 -39
- package/ButtonIcon/ButtonIcon.js.map +1 -1
- package/ButtonIcon/ButtonIcon.stories.js +35 -33
- package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
- package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
- package/ButtonIcon/buttonIconVariants.js +2 -1
- package/ButtonIcon/buttonIconVariants.js.map +1 -1
- package/CHANGELOG.md +1270 -0
- package/Calendar/Calendar.js +5 -4
- package/Calendar/Calendar.js.map +1 -1
- package/Checkbox/Checkbox.d.ts.map +1 -1
- package/Checkbox/Checkbox.js +36 -34
- package/Checkbox/Checkbox.js.map +1 -1
- package/Checkbox/Checkbox.stories.js +108 -0
- package/Checkbox/Checkbox.stories.js.map +1 -0
- package/Combobox/Combobox.d.ts +4 -2
- package/Combobox/Combobox.d.ts.map +1 -1
- package/Combobox/Combobox.js +173 -195
- package/Combobox/Combobox.js.map +1 -1
- package/Combobox/Combobox.stories.js +293 -0
- package/Combobox/Combobox.stories.js.map +1 -0
- package/Combobox/Combobox.types.d.ts +68 -24
- package/Combobox/Combobox.types.d.ts.map +1 -1
- package/Combobox/Combobox.types.js +4 -1
- package/Combobox/Combobox.types.js.map +1 -1
- package/Combobox/ComboboxOptionItem.d.ts +5 -3
- package/Combobox/ComboboxOptionItem.d.ts.map +1 -1
- package/Combobox/ComboboxOptionItem.js +79 -23
- package/Combobox/ComboboxOptionItem.js.map +1 -1
- package/Combobox/ComboboxRenderContent.d.ts +23 -0
- package/Combobox/ComboboxRenderContent.d.ts.map +1 -0
- package/Combobox/ComboboxRenderContent.js +117 -0
- package/Combobox/ComboboxRenderContent.js.map +1 -0
- package/Combobox/ComboboxRenderOptions.d.ts +4 -0
- package/Combobox/ComboboxRenderOptions.d.ts.map +1 -0
- package/Combobox/ComboboxRenderOptions.js +53 -0
- package/Combobox/ComboboxRenderOptions.js.map +1 -0
- package/Combobox/ComboboxRenderTrigger.d.ts +18 -0
- package/Combobox/ComboboxRenderTrigger.d.ts.map +1 -0
- package/Combobox/ComboboxRenderTrigger.js +120 -0
- package/Combobox/ComboboxRenderTrigger.js.map +1 -0
- package/Command/Command.d.ts +6 -1
- package/Command/Command.d.ts.map +1 -1
- package/Command/Command.js +61 -43
- package/Command/Command.js.map +1 -1
- package/DataTable/DataTable.js +16 -15
- package/DataTable/DataTable.js.map +1 -1
- package/Dialog/Dialog.d.ts +4 -1
- package/Dialog/Dialog.d.ts.map +1 -1
- package/Dialog/Dialog.js +68 -34
- package/Dialog/Dialog.js.map +1 -1
- package/Dialog/Dialog.stories.js +102 -0
- package/Dialog/Dialog.stories.js.map +1 -0
- package/Dialog/Dialog.types.d.ts +4 -0
- package/Dialog/Dialog.types.d.ts.map +1 -0
- package/Dialog/Dialog.types.js +2 -0
- package/Dialog/Dialog.types.js.map +1 -0
- package/Dialog/index.d.ts +1 -0
- package/Dialog/index.d.ts.map +1 -1
- package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/DropdownMenu/DropdownMenu.js +33 -20
- package/DropdownMenu/DropdownMenu.js.map +1 -1
- package/Dropzone/Dropzone.d.ts.map +1 -1
- package/Dropzone/Dropzone.js +46 -28
- package/Dropzone/Dropzone.js.map +1 -1
- package/Dropzone/Dropzone.stories.js +100 -0
- package/Dropzone/Dropzone.stories.js.map +1 -0
- package/Dropzone/Dropzone.types.js +6 -6
- package/Dropzone/Dropzone.types.js.map +1 -1
- package/Form/Form.d.ts.map +1 -1
- package/Form/Form.js.map +1 -1
- package/Form/FormRenderControl.d.ts +1 -1
- package/Form/FormRenderControl.d.ts.map +1 -1
- package/Form/FormRenderControl.js +54 -14
- package/Form/FormRenderControl.js.map +1 -1
- package/Form/FormRenderControl.types.d.ts +4 -1
- package/Form/FormRenderControl.types.d.ts.map +1 -1
- package/FormCombobox/FormCombobox.d.ts +4 -2
- package/FormCombobox/FormCombobox.d.ts.map +1 -1
- package/FormCombobox/FormCombobox.js +30 -17
- package/FormCombobox/FormCombobox.js.map +1 -1
- package/FormCombobox/FormCombobox.types.d.ts +6 -2
- package/FormCombobox/FormCombobox.types.d.ts.map +1 -1
- package/FormDatePicker/FormDatePicker.d.ts.map +1 -1
- package/FormDatePicker/FormDatePicker.js +18 -16
- package/FormDatePicker/FormDatePicker.js.map +1 -1
- package/FormDropzone/FormDropzone.d.ts.map +1 -1
- package/FormDropzone/FormDropzone.js +11 -9
- package/FormDropzone/FormDropzone.js.map +1 -1
- package/FormInput/FormInput.d.ts.map +1 -1
- package/FormInput/FormInput.js +47 -27
- package/FormInput/FormInput.js.map +1 -1
- package/FormInput/FormInput.stories.js +61 -0
- package/FormInput/FormInput.stories.js.map +1 -0
- package/FormInput/FormInput.types.d.ts +1 -0
- package/FormInput/FormInput.types.d.ts.map +1 -1
- package/FormSelect/FormSelect.d.ts.map +1 -1
- package/FormSelect/FormSelect.js +21 -17
- package/FormSelect/FormSelect.js.map +1 -1
- package/FormTextarea/FormTextarea.d.ts.map +1 -1
- package/FormTextarea/FormTextarea.js +15 -12
- package/FormTextarea/FormTextarea.js.map +1 -1
- package/InfoBlock/InfoBlock.d.ts +7 -0
- package/InfoBlock/InfoBlock.d.ts.map +1 -0
- package/InfoBlock/InfoBlock.js +28 -0
- package/InfoBlock/InfoBlock.js.map +1 -0
- package/InfoBlock/InfoBlock.stories.js +50 -0
- package/InfoBlock/InfoBlock.stories.js.map +1 -0
- package/InfoBlock/InfoBlock.types.d.ts +9 -0
- package/InfoBlock/InfoBlock.types.d.ts.map +1 -0
- package/InfoBlock/InfoBlock.types.js +2 -0
- package/InfoBlock/InfoBlock.types.js.map +1 -0
- package/InfoBlock/index.d.ts +3 -0
- package/InfoBlock/index.d.ts.map +1 -0
- package/InfoBlock/index.js +5 -0
- package/InfoBlock/index.js.map +1 -0
- package/InfoBlock/infoBlockVariants.d.ts +6 -0
- package/InfoBlock/infoBlockVariants.d.ts.map +1 -0
- package/InfoBlock/infoBlockVariants.js +27 -0
- package/InfoBlock/infoBlockVariants.js.map +1 -0
- package/Input/Input.d.ts.map +1 -1
- package/Input/Input.js +65 -51
- package/Input/Input.js.map +1 -1
- package/Input/Input.types.d.ts +1 -0
- package/Input/Input.types.d.ts.map +1 -1
- package/LoadingMask/LoadingMask.d.ts +1 -2
- package/LoadingMask/LoadingMask.d.ts.map +1 -1
- package/LoadingMask/LoadingMask.js +8 -8
- package/LoadingMask/LoadingMask.js.map +1 -1
- package/LoadingMask/LoadingMask.types.d.ts +1 -0
- package/LoadingMask/LoadingMask.types.d.ts.map +1 -1
- package/Popover/Popover.d.ts.map +1 -1
- package/Popover/Popover.js +9 -5
- package/Popover/Popover.js.map +1 -1
- package/ScrollArea/ScrollArea.d.ts +5 -1
- package/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/ScrollArea/ScrollArea.js +23 -17
- package/ScrollArea/ScrollArea.js.map +1 -1
- package/Search/Search.d.ts.map +1 -1
- package/Search/Search.js +40 -31
- package/Search/Search.js.map +1 -1
- package/Select/Select.d.ts.map +1 -1
- package/Select/Select.js +53 -48
- package/Select/Select.js.map +1 -1
- package/Select/Select.types.d.ts +4 -0
- package/Select/Select.types.d.ts.map +1 -1
- package/Select/SelectRoot.js +1 -1
- package/Select/SelectRoot.js.map +1 -1
- package/TablePagination/TablePagination.js +9 -8
- package/TablePagination/TablePagination.js.map +1 -1
- package/Textarea/Textarea.d.ts.map +1 -1
- package/Textarea/Textarea.js +50 -45
- package/Textarea/Textarea.js.map +1 -1
- package/Textarea/Textarea.types.d.ts +3 -1
- package/Textarea/Textarea.types.d.ts.map +1 -1
- package/Toast/Toast.d.ts +1 -1
- package/Toast/toastVariants.d.ts +1 -1
- package/Tooltip/Tooltip.d.ts.map +1 -1
- package/Tooltip/Tooltip.js +41 -29
- package/Tooltip/Tooltip.js.map +1 -1
- package/Tooltip/Tooltip.types.d.ts +1 -0
- package/Tooltip/Tooltip.types.d.ts.map +1 -1
- package/Tooltip/tooltipVariants.d.ts +4 -0
- package/Tooltip/tooltipVariants.d.ts.map +1 -0
- package/Tooltip/tooltipVariants.js +23 -0
- package/Tooltip/tooltipVariants.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +332 -328
- package/index.js.map +1 -1
- package/package.json +6 -5
- package/Combobox/ComboboxOptions.d.ts +0 -4
- package/Combobox/ComboboxOptions.d.ts.map +0 -1
- package/Combobox/ComboboxOptions.js +0 -65
- package/Combobox/ComboboxOptions.js.map +0 -1
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsx as o, jsxs as e } from "react/jsx-runtime";
|
|
2
|
+
import { Dialog as b, DialogTrigger as O, DialogContent as B, DialogHeader as v, DialogTitle as w, DialogDescription as T, DialogFooter as F, DialogClose as L } from "./Dialog.js";
|
|
3
|
+
import { Button as l } from "../Button/Button.js";
|
|
4
|
+
import "../Button/buttonVariants.js";
|
|
5
|
+
import { useState as N, useCallback as S } from "react";
|
|
6
|
+
function I(p) {
|
|
7
|
+
const {
|
|
8
|
+
open: i,
|
|
9
|
+
onOpenChange: r,
|
|
10
|
+
title: h,
|
|
11
|
+
description: a,
|
|
12
|
+
showCloseButton: u = !0,
|
|
13
|
+
withFooter: m = !0,
|
|
14
|
+
initialOpen: f = !1,
|
|
15
|
+
triggerLabel: C = "Open dialog",
|
|
16
|
+
bodyText: s = "Some content inside dialog…",
|
|
17
|
+
longBody: c = !1
|
|
18
|
+
} = p, [D, x] = N(f), t = i !== void 0, y = t ? i : D, d = S((n) => {
|
|
19
|
+
t || x(n), r?.(n);
|
|
20
|
+
}, [t, r]);
|
|
21
|
+
return /* @__PURE__ */ o("div", { className: "p-10", children: /* @__PURE__ */ e(b, { open: y, onOpenChange: d, children: [
|
|
22
|
+
/* @__PURE__ */ o(O, { asChild: !0, children: /* @__PURE__ */ o(l, { variant: "outlined", children: C }) }),
|
|
23
|
+
/* @__PURE__ */ e(B, { showCloseButton: u, children: [
|
|
24
|
+
/* @__PURE__ */ e(v, { children: [
|
|
25
|
+
/* @__PURE__ */ e(w, { children: [
|
|
26
|
+
h,
|
|
27
|
+
" 123"
|
|
28
|
+
] }),
|
|
29
|
+
a ? /* @__PURE__ */ o(T, { children: a }) : null
|
|
30
|
+
] }),
|
|
31
|
+
/* @__PURE__ */ o("div", { className: c ? "max-h-[50vh] overflow-auto pr-1" : void 0, children: c ? /* @__PURE__ */ o("div", { className: "space-y-3 text-sm leading-6", children: Array.from({ length: 30 }).map((n, g) => /* @__PURE__ */ e("p", { children: [
|
|
32
|
+
"#",
|
|
33
|
+
g + 1,
|
|
34
|
+
". ",
|
|
35
|
+
s,
|
|
36
|
+
" Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
|
37
|
+
] }, g)) }) : /* @__PURE__ */ o("p", { className: "text-sm leading-6", children: s }) }),
|
|
38
|
+
m ? /* @__PURE__ */ e(F, { children: [
|
|
39
|
+
/* @__PURE__ */ o(L, { asChild: !0, children: /* @__PURE__ */ o(l, { color: "secondary", children: "Cancel" }) }),
|
|
40
|
+
/* @__PURE__ */ o(l, { onClick: () => d(!1), children: "Save" })
|
|
41
|
+
] }) : null
|
|
42
|
+
] })
|
|
43
|
+
] }) });
|
|
44
|
+
}
|
|
45
|
+
const W = {
|
|
46
|
+
title: "UI/Dialog",
|
|
47
|
+
component: I,
|
|
48
|
+
parameters: {
|
|
49
|
+
layout: "fullscreen"
|
|
50
|
+
},
|
|
51
|
+
argTypes: {
|
|
52
|
+
title: { control: "text" },
|
|
53
|
+
description: { control: "text" },
|
|
54
|
+
showCloseButton: { control: "boolean" },
|
|
55
|
+
withFooter: { control: "boolean" },
|
|
56
|
+
initialOpen: { control: "boolean" },
|
|
57
|
+
triggerLabel: { control: "text" },
|
|
58
|
+
bodyText: { control: "text" },
|
|
59
|
+
longBody: { control: "boolean" }
|
|
60
|
+
},
|
|
61
|
+
args: {
|
|
62
|
+
title: "Dialog title",
|
|
63
|
+
description: "Dialog description",
|
|
64
|
+
showCloseButton: !0,
|
|
65
|
+
withFooter: !0,
|
|
66
|
+
initialOpen: !1,
|
|
67
|
+
triggerLabel: "Open dialog",
|
|
68
|
+
bodyText: "Some content inside dialog…",
|
|
69
|
+
longBody: !1
|
|
70
|
+
}
|
|
71
|
+
}, _ = {}, q = {
|
|
72
|
+
args: {
|
|
73
|
+
description: ""
|
|
74
|
+
}
|
|
75
|
+
}, z = {
|
|
76
|
+
args: {
|
|
77
|
+
showCloseButton: !1
|
|
78
|
+
}
|
|
79
|
+
}, E = {
|
|
80
|
+
args: {
|
|
81
|
+
withFooter: !1
|
|
82
|
+
}
|
|
83
|
+
}, G = {
|
|
84
|
+
args: {
|
|
85
|
+
longBody: !0,
|
|
86
|
+
bodyText: "Long text line"
|
|
87
|
+
}
|
|
88
|
+
}, J = {
|
|
89
|
+
args: {
|
|
90
|
+
initialOpen: !0
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
export {
|
|
94
|
+
_ as Default,
|
|
95
|
+
J as InitiallyOpen,
|
|
96
|
+
G as LongContentScrollable,
|
|
97
|
+
z as NoCloseButton,
|
|
98
|
+
E as NoFooter,
|
|
99
|
+
q as WithoutDescription,
|
|
100
|
+
W as default
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=Dialog.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.stories.js","sources":["../../src/Dialog/Dialog.stories.tsx"],"sourcesContent":["import * as React from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\n\nimport {\n Dialog,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogFooter,\n DialogClose,\n} from \"./Dialog\";\nimport { Button } from \"../Button\";\nimport { useCallback, useState } from \"react\";\nimport { DialogControlsProps } from \"./Dialog.types\";\n\ntype DialogDemoProps = DialogControlsProps & {\n title: string;\n description?: string;\n showCloseButton?: boolean;\n withFooter?: boolean;\n initialOpen?: boolean;\n triggerLabel?: string;\n bodyText?: string;\n longBody?: boolean;\n};\n\n// TODO: create cmp like alert\nfunction DialogDemo(props: DialogDemoProps) {\n const {\n open: controlledOpen,\n onOpenChange,\n title,\n description,\n showCloseButton = true,\n withFooter = true,\n initialOpen = false,\n triggerLabel = \"Open dialog\",\n bodyText = \"Some content inside dialog…\",\n longBody = false,\n } = props;\n\n const [ internalOpen, setInternalOpen ] = useState(initialOpen);\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n const setOpen = useCallback((next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n }, [ isControlled, onOpenChange ]);\n\n return (\n <div className=\"p-10\">\n <Dialog open={open} onOpenChange={setOpen}>\n <DialogTrigger asChild>\n <Button variant='outlined'>\n {triggerLabel}\n </Button>\n </DialogTrigger>\n\n <DialogContent showCloseButton={showCloseButton}>\n <DialogHeader>\n <DialogTitle>{title} 123</DialogTitle>\n {description ? <DialogDescription>{description}</DialogDescription> : null}\n </DialogHeader>\n\n <div className={longBody ? \"max-h-[50vh] overflow-auto pr-1\" : undefined}>\n {longBody ? (\n <div className=\"space-y-3 text-sm leading-6\">\n {Array.from({ length: 30 }).map((_, i) => (\n <p key={i}>\n #{i + 1}. {bodyText} Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n </p>\n ))}\n </div>\n ) : (\n <p className=\"text-sm leading-6\">{bodyText}</p>\n )}\n </div>\n\n {withFooter ? (\n <DialogFooter>\n <DialogClose asChild>\n <Button color='secondary'>\n Cancel\n </Button>\n </DialogClose>\n\n <Button onClick={() => setOpen(false)}>\n Save\n </Button>\n </DialogFooter>\n ) : null}\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nconst meta: Meta<typeof DialogDemo> = {\n title: \"UI/Dialog\",\n component: DialogDemo,\n parameters: {\n layout: \"fullscreen\",\n },\n argTypes: {\n title: { control: \"text\" },\n description: { control: \"text\" },\n showCloseButton: { control: \"boolean\" },\n withFooter: { control: \"boolean\" },\n initialOpen: { control: \"boolean\" },\n triggerLabel: { control: \"text\" },\n bodyText: { control: \"text\" },\n longBody: { control: \"boolean\" },\n },\n args: {\n title: \"Dialog title\",\n description: \"Dialog description\",\n showCloseButton: true,\n withFooter: true,\n initialOpen: false,\n triggerLabel: \"Open dialog\",\n bodyText: \"Some content inside dialog…\",\n longBody: false,\n },\n};\nexport default meta;\n\ntype Story = StoryObj<typeof DialogDemo>;\n\nexport const Default: Story = {};\n\nexport const WithoutDescription: Story = {\n args: {\n description: \"\",\n },\n};\n\nexport const NoCloseButton: Story = {\n args: {\n showCloseButton: false,\n },\n};\n\nexport const NoFooter: Story = {\n args: {\n withFooter: false,\n },\n};\n\nexport const LongContentScrollable: Story = {\n args: {\n longBody: true,\n bodyText: \"Long text line\",\n },\n};\n\nexport const InitiallyOpen: Story = {\n args: {\n initialOpen: true,\n },\n};\n"],"names":["DialogDemo","props","controlledOpen","onOpenChange","title","description","showCloseButton","withFooter","initialOpen","triggerLabel","bodyText","longBody","internalOpen","setInternalOpen","useState","isControlled","open","setOpen","useCallback","next","jsx","Dialog","DialogTrigger","Button","jsxs","DialogContent","DialogHeader","DialogTitle","DialogDescription","_","i","DialogFooter","DialogClose","meta","Default","WithoutDescription","NoCloseButton","NoFooter","LongContentScrollable","InitiallyOpen"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.types.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/Dialog/index.d.ts
CHANGED
package/Dialog/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAA;AACpC,mBAAmB,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAA;AAKtE,iBAAS,YAAY,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,IAAI,CAAC,2CAE/E;AAED,iBAAS,kBAAkB,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,MAAM,CAAC,2CAIvF;AAED,iBAAS,mBAAmB,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,OAAO,CAAC,2CAOzF;AAED,iBAAS,mBAAmB,CAAC,EACE,SAAS,EACT,UAAc,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ function g({
|
|
|
12
12
|
}) {
|
|
13
13
|
return /* @__PURE__ */ t(n.Portal, { "data-slot": "dropdown-menu-portal", ...e });
|
|
14
14
|
}
|
|
15
|
-
function
|
|
15
|
+
function x({
|
|
16
16
|
...e
|
|
17
17
|
}) {
|
|
18
18
|
return /* @__PURE__ */ t(
|
|
@@ -23,7 +23,7 @@ function v({
|
|
|
23
23
|
}
|
|
24
24
|
);
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function v({
|
|
27
27
|
className: e,
|
|
28
28
|
sideOffset: o = 4,
|
|
29
29
|
...a
|
|
@@ -34,19 +34,24 @@ function x({
|
|
|
34
34
|
"data-slot": "dropdown-menu-content",
|
|
35
35
|
sideOffset: o,
|
|
36
36
|
className: r(
|
|
37
|
-
"
|
|
37
|
+
"rounded-lg border border-[#EBEBEB] p-1",
|
|
38
|
+
"bg-[#FCFCFC] shadow-[1px_1px_10px_rgba(6,8,13,0.06)]",
|
|
39
|
+
"text-sm text-[#06080D] font-medium leading-[1.25]",
|
|
40
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50",
|
|
41
|
+
"max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
42
|
+
"overflow-x-hidden overflow-y-auto",
|
|
38
43
|
e
|
|
39
44
|
),
|
|
40
45
|
...a
|
|
41
46
|
}
|
|
42
47
|
) });
|
|
43
48
|
}
|
|
44
|
-
function
|
|
49
|
+
function b({
|
|
45
50
|
...e
|
|
46
51
|
}) {
|
|
47
52
|
return /* @__PURE__ */ t(n.Group, { "data-slot": "dropdown-menu-group", ...e });
|
|
48
53
|
}
|
|
49
|
-
function
|
|
54
|
+
function w({
|
|
50
55
|
className: e,
|
|
51
56
|
inset: o,
|
|
52
57
|
variant: a = "default",
|
|
@@ -59,7 +64,15 @@ function b({
|
|
|
59
64
|
"data-inset": o,
|
|
60
65
|
"data-variant": a,
|
|
61
66
|
className: r(
|
|
62
|
-
"
|
|
67
|
+
"relative flex items-center gap-1 rounded-md p-1",
|
|
68
|
+
"text-sm text-[#06080D] font-medium leading-[1.25]",
|
|
69
|
+
"[&_svg:not([class*='text-'])]:text-[#06080D]",
|
|
70
|
+
"outline-hidden select-none",
|
|
71
|
+
"focus:bg-accent focus:text-accent-foreground ",
|
|
72
|
+
"data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive",
|
|
73
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6",
|
|
74
|
+
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8",
|
|
75
|
+
"cursor-pointer",
|
|
63
76
|
e
|
|
64
77
|
),
|
|
65
78
|
...d
|
|
@@ -89,7 +102,7 @@ function h({
|
|
|
89
102
|
}
|
|
90
103
|
);
|
|
91
104
|
}
|
|
92
|
-
function
|
|
105
|
+
function D({
|
|
93
106
|
...e
|
|
94
107
|
}) {
|
|
95
108
|
return /* @__PURE__ */ t(
|
|
@@ -100,7 +113,7 @@ function z({
|
|
|
100
113
|
}
|
|
101
114
|
);
|
|
102
115
|
}
|
|
103
|
-
function
|
|
116
|
+
function z({
|
|
104
117
|
className: e,
|
|
105
118
|
children: o,
|
|
106
119
|
...a
|
|
@@ -168,12 +181,12 @@ function I({
|
|
|
168
181
|
}
|
|
169
182
|
);
|
|
170
183
|
}
|
|
171
|
-
function
|
|
184
|
+
function _({
|
|
172
185
|
...e
|
|
173
186
|
}) {
|
|
174
187
|
return /* @__PURE__ */ t(n.Sub, { "data-slot": "dropdown-menu-sub", ...e });
|
|
175
188
|
}
|
|
176
|
-
function
|
|
189
|
+
function C({
|
|
177
190
|
className: e,
|
|
178
191
|
inset: o,
|
|
179
192
|
children: a,
|
|
@@ -196,7 +209,7 @@ function _({
|
|
|
196
209
|
}
|
|
197
210
|
);
|
|
198
211
|
}
|
|
199
|
-
function
|
|
212
|
+
function y({
|
|
200
213
|
className: e,
|
|
201
214
|
...o
|
|
202
215
|
}) {
|
|
@@ -215,19 +228,19 @@ function k({
|
|
|
215
228
|
export {
|
|
216
229
|
f as DropdownMenu,
|
|
217
230
|
h as DropdownMenuCheckboxItem,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
231
|
+
v as DropdownMenuContent,
|
|
232
|
+
b as DropdownMenuGroup,
|
|
233
|
+
w as DropdownMenuItem,
|
|
221
234
|
M as DropdownMenuLabel,
|
|
222
235
|
g as DropdownMenuPortal,
|
|
223
236
|
n as DropdownMenuPrimitive,
|
|
224
|
-
|
|
225
|
-
|
|
237
|
+
D as DropdownMenuRadioGroup,
|
|
238
|
+
z as DropdownMenuRadioItem,
|
|
226
239
|
N as DropdownMenuSeparator,
|
|
227
240
|
I as DropdownMenuShortcut,
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
241
|
+
_ as DropdownMenuSub,
|
|
242
|
+
y as DropdownMenuSubContent,
|
|
243
|
+
C as DropdownMenuSubTrigger,
|
|
244
|
+
x as DropdownMenuTrigger
|
|
232
245
|
};
|
|
233
246
|
//# sourceMappingURL=DropdownMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction DropdownMenu({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n DropdownMenuPrimitive\n}\n"],"names":["DropdownMenu","props","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","jsx","DropdownMenuContent","className","sideOffset","cn","DropdownMenuGroup","DropdownMenuItem","inset","variant","DropdownMenuCheckboxItem","children","checked","jsxs","CheckIcon","DropdownMenuRadioGroup","DropdownMenuRadioItem","CircleIcon","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRightIcon","DropdownMenuSubContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction DropdownMenu({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n 'rounded-lg border border-[#EBEBEB] p-1',\n \"bg-[#FCFCFC] shadow-[1px_1px_10px_rgba(6,8,13,0.06)]\",\n 'text-sm text-[#06080D] font-medium leading-[1.25]',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50',\n 'max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin)',\n 'overflow-x-hidden overflow-y-auto',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n 'relative flex items-center gap-1 rounded-md p-1',\n 'text-sm text-[#06080D] font-medium leading-[1.25]',\n \"[&_svg:not([class*='text-'])]:text-[#06080D]\",\n 'outline-hidden select-none',\n 'focus:bg-accent focus:text-accent-foreground ',\n \"data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6\",\n 'data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8',\n 'cursor-pointer',\n className\n )}\n {...props}\n />\n )\n}\n\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n DropdownMenuPrimitive\n}\n"],"names":["DropdownMenu","props","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","jsx","DropdownMenuContent","className","sideOffset","cn","DropdownMenuGroup","DropdownMenuItem","inset","variant","DropdownMenuCheckboxItem","children","checked","jsxs","CheckIcon","DropdownMenuRadioGroup","DropdownMenuRadioItem","CircleIcon","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRightIcon","DropdownMenuSubContent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropzone.d.ts","sourceRoot":"","sources":["../../src/Dropzone/Dropzone.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEL,eAAe,EACf,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAK1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"Dropzone.d.ts","sourceRoot":"","sources":["../../src/Dropzone/Dropzone.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEL,eAAe,EACf,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAK1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ,2GA0MpB,CAAC"}
|
package/Dropzone/Dropzone.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsxs as t, jsx as l, Fragment as j } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { forwardRef as
|
|
4
|
-
import { useDropzone as
|
|
2
|
+
import { FileDownIcon as H, X as O } from "lucide-react";
|
|
3
|
+
import { forwardRef as X, useState as g, useImperativeHandle as Y } from "react";
|
|
4
|
+
import { useDropzone as q } from "react-dropzone";
|
|
5
5
|
import { cn as n } from "@oneplatformdev/utils";
|
|
6
|
-
import { Card as
|
|
7
|
-
import { DEFAULT_FILE_TYPES as
|
|
8
|
-
import { FilePreview as
|
|
9
|
-
import { DropzoneSinglePickPreview as
|
|
10
|
-
import {
|
|
11
|
-
const Z =
|
|
6
|
+
import { Card as G } from "../Card/Card.js";
|
|
7
|
+
import { DEFAULT_FILE_TYPES as J } from "./Dropzone.types.js";
|
|
8
|
+
import { FilePreview as K } from "./DropzoneFilePreview.js";
|
|
9
|
+
import { DropzoneSinglePickPreview as Q } from "./DropzoneSinglePickPreview.js";
|
|
10
|
+
import { isFile as v, extractName as R } from "./DropzoneUtils.js";
|
|
11
|
+
const Z = X(
|
|
12
12
|
({
|
|
13
|
-
acceptTypes: w =
|
|
13
|
+
acceptTypes: w = J,
|
|
14
14
|
maxSizeMB: N,
|
|
15
15
|
maxFiles: x = 1,
|
|
16
16
|
onErrors: E,
|
|
@@ -19,11 +19,11 @@ const Z = O(
|
|
|
19
19
|
classNames: m,
|
|
20
20
|
value: F = [],
|
|
21
21
|
onChangeValue: h,
|
|
22
|
-
className:
|
|
23
|
-
labelDropzonePrompt:
|
|
24
|
-
labelDropzoneSubPrompt:
|
|
22
|
+
className: b,
|
|
23
|
+
labelDropzonePrompt: z = "Drop files here or click to select",
|
|
24
|
+
labelDropzoneSubPrompt: D = "",
|
|
25
25
|
labelOrClickToSelect: $ = "Click to select files",
|
|
26
|
-
labelSelectedFiles:
|
|
26
|
+
labelSelectedFiles: I = "Selected Files",
|
|
27
27
|
labelUploadErrors: S = "Upload Errors",
|
|
28
28
|
labelFileTooLarge: C = "File is too large",
|
|
29
29
|
labelInvalidFileType: W = "Invalid file type",
|
|
@@ -41,17 +41,17 @@ const Z = O(
|
|
|
41
41
|
e.stopPropagation();
|
|
42
42
|
const r = s.filter((c, f) => f !== o);
|
|
43
43
|
d(r), h?.(r);
|
|
44
|
-
}, { getRootProps: M, getInputProps: P, isDragActive: U } =
|
|
44
|
+
}, { getRootProps: M, getInputProps: P, isDragActive: U } = q({
|
|
45
45
|
onDrop: L,
|
|
46
46
|
accept: w.reduce((e, o) => (e[o] = [], e), {}),
|
|
47
47
|
maxSize: N * 1024 * 1024,
|
|
48
48
|
maxFiles: i ? 1 : x,
|
|
49
49
|
disabled: a
|
|
50
50
|
});
|
|
51
|
-
return
|
|
51
|
+
return Y(_, () => ({
|
|
52
52
|
setItems: d
|
|
53
53
|
}), []), /* @__PURE__ */ t(
|
|
54
|
-
|
|
54
|
+
G,
|
|
55
55
|
{
|
|
56
56
|
...M(),
|
|
57
57
|
...T,
|
|
@@ -62,7 +62,7 @@ const Z = O(
|
|
|
62
62
|
U && "bg-gray-100",
|
|
63
63
|
i && "shadow-none!",
|
|
64
64
|
i && s.length > 0 && "p-0! shadow-none!",
|
|
65
|
-
|
|
65
|
+
b
|
|
66
66
|
),
|
|
67
67
|
children: [
|
|
68
68
|
/* @__PURE__ */ l("input", { ...P() }),
|
|
@@ -70,15 +70,33 @@ const Z = O(
|
|
|
70
70
|
"div",
|
|
71
71
|
{
|
|
72
72
|
className: n(
|
|
73
|
-
"flex flex-col items-center
|
|
73
|
+
"flex flex-col items-center",
|
|
74
74
|
m?.idleWrapper
|
|
75
75
|
),
|
|
76
76
|
children: [
|
|
77
|
-
/* @__PURE__ */ l(
|
|
78
|
-
!a && /* @__PURE__ */ t(j, { children: [
|
|
79
|
-
/* @__PURE__ */ l(
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
/* @__PURE__ */ l(H, { className: "mb-4" }),
|
|
78
|
+
/* @__PURE__ */ l("div", { className: "flex flex-col items-center gap-1", children: !a && /* @__PURE__ */ t(j, { children: [
|
|
79
|
+
/* @__PURE__ */ l(
|
|
80
|
+
"span",
|
|
81
|
+
{
|
|
82
|
+
className: n(
|
|
83
|
+
"font-medium text-base text-foreground max-w-[264px]",
|
|
84
|
+
k
|
|
85
|
+
),
|
|
86
|
+
children: z
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
/* @__PURE__ */ l(
|
|
90
|
+
"span",
|
|
91
|
+
{
|
|
92
|
+
className: n(
|
|
93
|
+
"font-normal text-sm text-foreground max-w-[264px]",
|
|
94
|
+
B
|
|
95
|
+
),
|
|
96
|
+
children: D
|
|
97
|
+
}
|
|
98
|
+
)
|
|
99
|
+
] }) })
|
|
82
100
|
]
|
|
83
101
|
}
|
|
84
102
|
),
|
|
@@ -100,7 +118,7 @@ const Z = O(
|
|
|
100
118
|
] }, o)) })
|
|
101
119
|
] }),
|
|
102
120
|
!!(i && s.length) && /* @__PURE__ */ l(
|
|
103
|
-
|
|
121
|
+
Q,
|
|
104
122
|
{
|
|
105
123
|
item: s[0],
|
|
106
124
|
onRemoveClick: (e) => u(e, 0),
|
|
@@ -109,7 +127,7 @@ const Z = O(
|
|
|
109
127
|
),
|
|
110
128
|
!i && s.length > 0 && /* @__PURE__ */ t("div", { className: n("w-full mt-2", m?.previewWrapper), children: [
|
|
111
129
|
/* @__PURE__ */ t("pre", { className: "font-semibold text-gray-600", children: [
|
|
112
|
-
|
|
130
|
+
I,
|
|
113
131
|
":"
|
|
114
132
|
] }),
|
|
115
133
|
/* @__PURE__ */ l("ul", { className: "mt-2 text-sm text-gray-500 flex flex-wrap gap-4 items-start justify-center", children: s.map((e, o) => {
|
|
@@ -120,13 +138,13 @@ const Z = O(
|
|
|
120
138
|
className: "flex flex-col items-center gap-2 relative",
|
|
121
139
|
children: [
|
|
122
140
|
/* @__PURE__ */ t("div", { className: "relative", children: [
|
|
123
|
-
/* @__PURE__ */ l(
|
|
141
|
+
/* @__PURE__ */ l(K, { item: e, styles: m }),
|
|
124
142
|
/* @__PURE__ */ l(
|
|
125
143
|
"div",
|
|
126
144
|
{
|
|
127
145
|
className: "absolute top-0 right-0 cursor-pointer bg-gray-300 rounded-sm",
|
|
128
146
|
onClick: (f) => u(f, o),
|
|
129
|
-
children: /* @__PURE__ */ l(
|
|
147
|
+
children: /* @__PURE__ */ l(O, { size: 16, strokeWidth: 1, color: "black" })
|
|
130
148
|
}
|
|
131
149
|
)
|
|
132
150
|
] }),
|
package/Dropzone/Dropzone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropzone.js","sources":["../../src/Dropzone/Dropzone.tsx"],"sourcesContent":["import { X } from 'lucide-react';\nimport { forwardRef, useImperativeHandle, useState } from 'react';\nimport { FileRejection, useDropzone } from 'react-dropzone';\n\nimport { cn } from '@oneplatformdev/utils';\n\nimport { Card } from '../Card/Card';\n\nimport {\n DEFAULT_FILE_TYPES,\n DropzoneControl,\n DropzoneProps,\n DropzoneValueItem\n} from './Dropzone.types';\nimport { FilePreview } from './DropzoneFilePreview';\nimport { DropzoneSinglePickPreview } from './DropzoneSinglePickPreview';\nimport { DefaultFileIcon, extractName, isFile } from './DropzoneUtils';\n\n/**\n * Dropzone component - A drag-and-drop file upload area with image previews, error handling, and localization.\n *\n * @component\n * @param {DropzoneProps} props - The props for the Dropzone component.\n * @param {string[]} [props.acceptTypes=DEFAULT_FILE_TYPES] - Allowed file MIME types.\n * @param {number} props.maxSizeMB - Maximum allowed file size in megabytes.\n * @param {number} [props.maxFiles=1] - Maximum number of files that can be uploaded.\n * @param {DropzoneTranslations} props.translations - Translations for text labels.\n * @param {(errors: FileRejection[]) => void} [props.onErrors] - Callback triggered when file errors occur.\n * @param {boolean} [props.hideErrors=false] - Whether to hide error messages.\n * @param {boolean} [props.disabled=false] - Whether the dropzone is disabled.\n * @param {DropzoneStyles} [props.classNames] - Custom classNames for different dropzone states.\n * @param {DropzoneValueItem[]} [props.value=[]] - Current selected files or URLs.\n * @param {(items: DropzoneValueItem[]) => void} [props.onChangeValue] - Callback triggered when file selection changes.\n * @param {string} [props.className] - Additional class names for styling.\n * @param {React.Ref<HTMLDivElement>} ref - Ref for the root dropzone container.\n * @returns {JSX.Element} The rendered Dropzone component.\n */\nexport const Dropzone = forwardRef<DropzoneControl, DropzoneProps>(\n (\n {\n acceptTypes = DEFAULT_FILE_TYPES,\n maxSizeMB,\n maxFiles = 1,\n onErrors,\n hideErrors = false,\n disabled = false,\n classNames,\n value = [],\n onChangeValue,\n className,\n labelDropzonePrompt = 'Drop files here or click to select',\n labelDropzoneSubPrompt = '',\n labelOrClickToSelect = 'Click to select files',\n labelSelectedFiles = 'Selected Files',\n labelUploadErrors = 'Upload Errors',\n labelFileTooLarge = 'File is too large',\n labelInvalidFileType = 'Invalid file type',\n singlePick = false,\n labelDropzoneClassname,\n labelDropzoneSubClassname,\n ...restProps\n },\n ref\n ) => {\n const [items, setItems] = useState<DropzoneValueItem[]>(value);\n const [fileErrors, setFileErrors] = useState<FileRejection[]>([]);\n\n const onDrop = (acceptedFiles: File[], fileRejections: FileRejection[]) => {\n setFileErrors(fileRejections);\n onErrors?.(fileRejections);\n\n const newItems = singlePick\n ? acceptedFiles.slice(0, 1)\n : [...items, ...acceptedFiles].slice(0, maxFiles);\n\n setItems(newItems);\n onChangeValue?.(newItems);\n };\n\n const removeItem = (\n event: React.MouseEvent<HTMLDivElement>,\n index: number\n ) => {\n if (disabled) return;\n event.stopPropagation();\n\n const newItems = items.filter((_, i) => i !== index);\n setItems(newItems);\n onChangeValue?.(newItems);\n };\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: acceptTypes.reduce((acc, fileType) => {\n acc[fileType] = [];\n return acc;\n }, {} as Record<string, string[]>),\n maxSize: maxSizeMB * 1024 * 1024,\n maxFiles: singlePick ? 1 : maxFiles,\n disabled,\n });\n\n useImperativeHandle(ref, () => {\n return {\n setItems,\n };\n }, []);\n\n\n return (\n <Card\n {...getRootProps()}\n {...restProps}\n className={cn(\n `border-dashed p-2 text-center flex flex-col items-center justify-center cursor-pointer`,\n disabled && 'border-[#E4E4E7] pointer-events-none',\n fileErrors.length > 0 ? 'border-red-500' : 'border-[#E4E4E7]!',\n isDragActive && 'bg-gray-100',\n singlePick && 'shadow-none!',\n singlePick && items.length > 0 && 'p-0! shadow-none!',\n className\n )}\n >\n <input {...getInputProps()} />\n\n {items.length === 0 && fileErrors.length === 0 && (\n <div\n className={cn(\n 'flex flex-col items-center gap-1',\n classNames?.idleWrapper\n )}\n >\n <DefaultFileIcon />\n\n {!disabled && (\n <>\n <span className={cn(\"font-medium text-md text-foreground max-w-[200px]\", labelDropzoneClassname)}>\n {labelDropzonePrompt}\n </span>\n <span className={cn(\"font-normal text-xs text-foreground max-w-[250px]\", labelDropzoneSubClassname)}>\n {labelDropzoneSubPrompt}\n </span>\n </>\n )}\n </div>\n )}\n\n {fileErrors.length > 0 && (\n <div className={cn('w-full mt-4', classNames?.errorWrapper)}>\n <span className=\"font-semibold text-red-500\">\n {labelUploadErrors}:\n </span>\n <ul className=\"mt-2 text-sm text-red-500 list-disc list-inside\">\n {fileErrors.map((fileRejection, index) => (\n <li key={index}>\n {fileRejection.file.name} (\n {(fileRejection.file.size / (1024 * 1024)).toFixed(2)} MB)\n {!hideErrors && (\n <ul className=\"ml-4 list-disc list-inside\">\n {fileRejection.errors.map((error, errorIndex) => (\n <li key={errorIndex}>\n {error.code === 'file-too-large' && labelFileTooLarge}\n {error.code === 'file-invalid-type' &&\n labelInvalidFileType}\n {error.code !== 'file-too-large' &&\n error.code !== 'file-invalid-type' &&\n error.message}\n </li>\n ))}\n </ul>\n )}\n </li>\n ))}\n </ul>\n </div>\n )}\n\n {Boolean(singlePick && items.length) && (\n <DropzoneSinglePickPreview\n item={items[0]}\n onRemoveClick={(e) => removeItem(e, 0)}\n disabled={disabled}\n />\n )}\n\n {!singlePick && items.length > 0 && (\n <div className={cn('w-full mt-2', classNames?.previewWrapper)}>\n <pre className=\"font-semibold text-gray-600\">\n {labelSelectedFiles}:\n </pre>\n <ul className=\"mt-2 text-sm text-gray-500 flex flex-wrap gap-4 items-start justify-center\">\n {items.map((item, index) => {\n const fileName = isFile(item) ? item.name : extractName(item);\n const fileSize = isFile(item)\n ? (item.size / (1024 * 1024)).toFixed(2) + ' MB'\n : '';\n\n return (\n <li\n key={index}\n className=\"flex flex-col items-center gap-2 relative\"\n >\n <div className=\"relative\">\n <FilePreview item={item} styles={classNames} />\n <div\n className=\"absolute top-0 right-0 cursor-pointer bg-gray-300 rounded-sm\"\n onClick={(event) => removeItem(event, index)}\n >\n <X size={16} strokeWidth={1} color=\"black\" />\n </div>\n </div>\n <span className=\"inline-flex flex-col items-center\">\n <span className=\"max-w-[80px] text-ellipsis overflow-hidden whitespace-nowrap\">\n {fileName}\n </span>\n {fileSize && <span>({fileSize})</span>}\n </span>\n </li>\n );\n })}\n </ul>\n </div>\n )}\n </Card>\n );\n }\n);\n\nDropzone.displayName = 'Dropzone';\n"],"names":["Dropzone","forwardRef","acceptTypes","DEFAULT_FILE_TYPES","maxSizeMB","maxFiles","onErrors","hideErrors","disabled","classNames","value","onChangeValue","className","labelDropzonePrompt","labelDropzoneSubPrompt","labelOrClickToSelect","labelSelectedFiles","labelUploadErrors","labelFileTooLarge","labelInvalidFileType","singlePick","labelDropzoneClassname","labelDropzoneSubClassname","restProps","ref","items","setItems","useState","fileErrors","setFileErrors","onDrop","acceptedFiles","fileRejections","newItems","removeItem","event","index","_","i","getRootProps","getInputProps","isDragActive","useDropzone","acc","fileType","useImperativeHandle","jsxs","Card","cn","jsx","DefaultFileIcon","Fragment","fileRejection","error","errorIndex","DropzoneSinglePickPreview","item","fileName","isFile","extractName","fileSize","FilePreview","X"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropzone.js","sources":["../../src/Dropzone/Dropzone.tsx"],"sourcesContent":["import { FileDownIcon, X } from 'lucide-react';\nimport { forwardRef, useImperativeHandle, useState } from 'react';\nimport { FileRejection, useDropzone } from 'react-dropzone';\n\nimport { cn } from '@oneplatformdev/utils';\n\nimport { Card } from '../Card/Card';\n\nimport {\n DEFAULT_FILE_TYPES,\n DropzoneControl,\n DropzoneProps,\n DropzoneValueItem\n} from './Dropzone.types';\nimport { FilePreview } from './DropzoneFilePreview';\nimport { DropzoneSinglePickPreview } from './DropzoneSinglePickPreview';\nimport { DefaultFileIcon, extractName, isFile } from './DropzoneUtils';\n\n/**\n * Dropzone component - A drag-and-drop file upload area with image previews, error handling, and localization.\n *\n * @component\n * @param {DropzoneProps} props - The props for the Dropzone component.\n * @param {string[]} [props.acceptTypes=DEFAULT_FILE_TYPES] - Allowed file MIME types.\n * @param {number} props.maxSizeMB - Maximum allowed file size in megabytes.\n * @param {number} [props.maxFiles=1] - Maximum number of files that can be uploaded.\n * @param {DropzoneTranslations} props.translations - Translations for text labels.\n * @param {(errors: FileRejection[]) => void} [props.onErrors] - Callback triggered when file errors occur.\n * @param {boolean} [props.hideErrors=false] - Whether to hide error messages.\n * @param {boolean} [props.disabled=false] - Whether the dropzone is disabled.\n * @param {DropzoneStyles} [props.classNames] - Custom classNames for different dropzone states.\n * @param {DropzoneValueItem[]} [props.value=[]] - Current selected files or URLs.\n * @param {(items: DropzoneValueItem[]) => void} [props.onChangeValue] - Callback triggered when file selection changes.\n * @param {string} [props.className] - Additional class names for styling.\n * @param {React.Ref<HTMLDivElement>} ref - Ref for the root dropzone container.\n * @returns {JSX.Element} The rendered Dropzone component.\n */\nexport const Dropzone = forwardRef<DropzoneControl, DropzoneProps>(\n (\n {\n acceptTypes = DEFAULT_FILE_TYPES,\n maxSizeMB,\n maxFiles = 1,\n onErrors,\n hideErrors = false,\n disabled = false,\n classNames,\n value = [],\n onChangeValue,\n className,\n labelDropzonePrompt = 'Drop files here or click to select',\n labelDropzoneSubPrompt = '',\n labelOrClickToSelect = 'Click to select files',\n labelSelectedFiles = 'Selected Files',\n labelUploadErrors = 'Upload Errors',\n labelFileTooLarge = 'File is too large',\n labelInvalidFileType = 'Invalid file type',\n singlePick = false,\n labelDropzoneClassname,\n labelDropzoneSubClassname,\n ...restProps\n },\n ref\n ) => {\n const [items, setItems] = useState<DropzoneValueItem[]>(value);\n const [fileErrors, setFileErrors] = useState<FileRejection[]>([]);\n\n const onDrop = (acceptedFiles: File[], fileRejections: FileRejection[]) => {\n setFileErrors(fileRejections);\n onErrors?.(fileRejections);\n\n const newItems = singlePick\n ? acceptedFiles.slice(0, 1)\n : [...items, ...acceptedFiles].slice(0, maxFiles);\n\n setItems(newItems);\n onChangeValue?.(newItems);\n };\n\n const removeItem = (\n event: React.MouseEvent<HTMLDivElement>,\n index: number\n ) => {\n if (disabled) return;\n event.stopPropagation();\n\n const newItems = items.filter((_, i) => i !== index);\n setItems(newItems);\n onChangeValue?.(newItems);\n };\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: acceptTypes.reduce((acc, fileType) => {\n acc[fileType] = [];\n return acc;\n }, {} as Record<string, string[]>),\n maxSize: maxSizeMB * 1024 * 1024,\n maxFiles: singlePick ? 1 : maxFiles,\n disabled,\n });\n\n useImperativeHandle(ref, () => {\n return {\n setItems,\n };\n }, []);\n\n\n return (\n <Card\n {...getRootProps()}\n {...restProps}\n className={cn(\n `border-dashed p-2 text-center flex flex-col items-center justify-center cursor-pointer`,\n disabled && 'border-[#E4E4E7] pointer-events-none',\n fileErrors.length > 0 ? 'border-red-500' : 'border-[#E4E4E7]!',\n isDragActive && 'bg-gray-100',\n singlePick && 'shadow-none!',\n singlePick && items.length > 0 && 'p-0! shadow-none!',\n className\n )}\n >\n <input {...getInputProps()} />\n\n {items.length === 0 && fileErrors.length === 0 && (\n <div\n className={cn(\n 'flex flex-col items-center',\n classNames?.idleWrapper\n )}\n >\n <FileDownIcon className=\"mb-4\" />\n\n <div className=\"flex flex-col items-center gap-1\">\n {!disabled && (\n <>\n <span\n className={cn(\n \"font-medium text-base text-foreground max-w-[264px]\",\n labelDropzoneClassname\n )}\n >\n {labelDropzonePrompt}\n </span>\n\n <span\n className={cn(\n \"font-normal text-sm text-foreground max-w-[264px]\",\n labelDropzoneSubClassname\n )}\n >\n {labelDropzoneSubPrompt}\n </span>\n </>\n )}\n </div>\n </div>\n )}\n\n {fileErrors.length > 0 && (\n <div className={cn('w-full mt-4', classNames?.errorWrapper)}>\n <span className=\"font-semibold text-red-500\">\n {labelUploadErrors}:\n </span>\n <ul className=\"mt-2 text-sm text-red-500 list-disc list-inside\">\n {fileErrors.map((fileRejection, index) => (\n <li key={index}>\n {fileRejection.file.name} (\n {(fileRejection.file.size / (1024 * 1024)).toFixed(2)} MB)\n {!hideErrors && (\n <ul className=\"ml-4 list-disc list-inside\">\n {fileRejection.errors.map((error, errorIndex) => (\n <li key={errorIndex}>\n {error.code === 'file-too-large' && labelFileTooLarge}\n {error.code === 'file-invalid-type' &&\n labelInvalidFileType}\n {error.code !== 'file-too-large' &&\n error.code !== 'file-invalid-type' &&\n error.message}\n </li>\n ))}\n </ul>\n )}\n </li>\n ))}\n </ul>\n </div>\n )}\n\n {Boolean(singlePick && items.length) && (\n <DropzoneSinglePickPreview\n item={items[0]}\n onRemoveClick={(e) => removeItem(e, 0)}\n disabled={disabled}\n />\n )}\n\n {!singlePick && items.length > 0 && (\n <div className={cn('w-full mt-2', classNames?.previewWrapper)}>\n <pre className=\"font-semibold text-gray-600\">\n {labelSelectedFiles}:\n </pre>\n <ul className=\"mt-2 text-sm text-gray-500 flex flex-wrap gap-4 items-start justify-center\">\n {items.map((item, index) => {\n const fileName = isFile(item) ? item.name : extractName(item);\n const fileSize = isFile(item)\n ? (item.size / (1024 * 1024)).toFixed(2) + ' MB'\n : '';\n\n return (\n <li\n key={index}\n className=\"flex flex-col items-center gap-2 relative\"\n >\n <div className=\"relative\">\n <FilePreview item={item} styles={classNames} />\n <div\n className=\"absolute top-0 right-0 cursor-pointer bg-gray-300 rounded-sm\"\n onClick={(event) => removeItem(event, index)}\n >\n <X size={16} strokeWidth={1} color=\"black\" />\n </div>\n </div>\n <span className=\"inline-flex flex-col items-center\">\n <span className=\"max-w-[80px] text-ellipsis overflow-hidden whitespace-nowrap\">\n {fileName}\n </span>\n {fileSize && <span>({fileSize})</span>}\n </span>\n </li>\n );\n })}\n </ul>\n </div>\n )}\n </Card>\n );\n }\n);\n\nDropzone.displayName = 'Dropzone';\n"],"names":["Dropzone","forwardRef","acceptTypes","DEFAULT_FILE_TYPES","maxSizeMB","maxFiles","onErrors","hideErrors","disabled","classNames","value","onChangeValue","className","labelDropzonePrompt","labelDropzoneSubPrompt","labelOrClickToSelect","labelSelectedFiles","labelUploadErrors","labelFileTooLarge","labelInvalidFileType","singlePick","labelDropzoneClassname","labelDropzoneSubClassname","restProps","ref","items","setItems","useState","fileErrors","setFileErrors","onDrop","acceptedFiles","fileRejections","newItems","removeItem","event","index","_","i","getRootProps","getInputProps","isDragActive","useDropzone","acc","fileType","useImperativeHandle","jsxs","Card","cn","jsx","FileDownIcon","Fragment","fileRejection","error","errorIndex","DropzoneSinglePickPreview","item","fileName","isFile","extractName","fileSize","FilePreview","X"],"mappings":"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"}
|