@fangxinyan/lumina 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Drawer-IPGB4CXH.css +101 -0
- package/dist/Drawer.cjs +13 -0
- package/dist/Drawer.cjs.map +1 -0
- package/dist/Drawer.d.cts +45 -0
- package/dist/Drawer.d.ts +45 -0
- package/dist/Drawer.js +4 -0
- package/dist/Drawer.js.map +1 -0
- package/dist/Modal-N4YVLEWW.css +72 -0
- package/dist/Modal.cjs +2 -6
- package/dist/Modal.d.cts +37 -8
- package/dist/Modal.d.ts +37 -8
- package/dist/Modal.js +1 -1
- package/dist/chunk-AEJJGUEN.cjs +127 -0
- package/dist/chunk-AEJJGUEN.cjs.map +1 -0
- package/dist/chunk-IWVKITPN.js +102 -0
- package/dist/chunk-IWVKITPN.js.map +1 -0
- package/dist/chunk-OOBSH7EL.js +125 -0
- package/dist/chunk-OOBSH7EL.js.map +1 -0
- package/dist/chunk-QQXIWOI3.cjs +150 -0
- package/dist/chunk-QQXIWOI3.cjs.map +1 -0
- package/dist/index.cjs +22 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/styles.css +111 -20
- package/package.json +1 -1
- package/dist/Modal-AYKNIWWQ.css +0 -79
- package/dist/chunk-KF4MCHZL.cjs +0 -105
- package/dist/chunk-KF4MCHZL.cjs.map +0 -1
- package/dist/chunk-Q33V7MSK.js +0 -79
- package/dist/chunk-Q33V7MSK.js.map +0 -1
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Icon } from './chunk-GEYMWUW6.js';
|
|
2
|
+
import './tokens-HWQ7KWPG.css';
|
|
3
|
+
import './shared-NJHRNLRH.css';
|
|
4
|
+
import './Drawer-IPGB4CXH.css';
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
import ReactDOM from 'react-dom';
|
|
7
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
var ANIM_MS = 280;
|
|
10
|
+
var Drawer = ({
|
|
11
|
+
open,
|
|
12
|
+
onClose,
|
|
13
|
+
placement = "right",
|
|
14
|
+
size = 380,
|
|
15
|
+
title,
|
|
16
|
+
extra,
|
|
17
|
+
footer,
|
|
18
|
+
children,
|
|
19
|
+
mask = true,
|
|
20
|
+
maskClosable = true,
|
|
21
|
+
keyboard = true,
|
|
22
|
+
closable = true,
|
|
23
|
+
closeIcon,
|
|
24
|
+
destroyOnClose = false,
|
|
25
|
+
afterOpenChange,
|
|
26
|
+
zIndex,
|
|
27
|
+
className = ""
|
|
28
|
+
}) => {
|
|
29
|
+
const [hasOpenedOnce, setHasOpenedOnce] = React.useState(open);
|
|
30
|
+
React.useEffect(() => {
|
|
31
|
+
if (open) setHasOpenedOnce(true);
|
|
32
|
+
}, [open]);
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
if (!open || !keyboard) return;
|
|
35
|
+
const h = (e) => e.key === "Escape" && onClose?.();
|
|
36
|
+
window.addEventListener("keydown", h);
|
|
37
|
+
return () => window.removeEventListener("keydown", h);
|
|
38
|
+
}, [open, keyboard, onClose]);
|
|
39
|
+
const prevOpen = React.useRef(open);
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
if (prevOpen.current !== open) {
|
|
42
|
+
prevOpen.current = open;
|
|
43
|
+
if (afterOpenChange) {
|
|
44
|
+
const id = window.setTimeout(() => afterOpenChange(open), ANIM_MS);
|
|
45
|
+
return () => window.clearTimeout(id);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}, [open, afterOpenChange]);
|
|
49
|
+
if (typeof document === "undefined") return null;
|
|
50
|
+
if (!hasOpenedOnce) return null;
|
|
51
|
+
if (!open && destroyOnClose) return null;
|
|
52
|
+
const isV = placement === "left" || placement === "right";
|
|
53
|
+
const style = isV ? { width: size } : { height: size };
|
|
54
|
+
if (zIndex != null) style.zIndex = zIndex;
|
|
55
|
+
return ReactDOM.createPortal(
|
|
56
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
57
|
+
mask && /* @__PURE__ */ jsx(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
className: `drawer-overlay ${open ? "" : "hidden"}`,
|
|
61
|
+
style: zIndex != null ? { zIndex: zIndex - 1 } : void 0,
|
|
62
|
+
onClick: () => maskClosable && onClose?.()
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
/* @__PURE__ */ jsxs(
|
|
66
|
+
"div",
|
|
67
|
+
{
|
|
68
|
+
className: `drawer ${placement} ${open ? "" : "hidden"} ${className}`,
|
|
69
|
+
style,
|
|
70
|
+
onClick: (e) => e.stopPropagation(),
|
|
71
|
+
role: "dialog",
|
|
72
|
+
"aria-hidden": !open,
|
|
73
|
+
children: [
|
|
74
|
+
(title || extra || closable) && /* @__PURE__ */ jsxs("div", { className: "drawer-head", children: [
|
|
75
|
+
/* @__PURE__ */ jsx("div", { className: "drawer-title", children: title }),
|
|
76
|
+
/* @__PURE__ */ jsxs("div", { className: "drawer-head-right", children: [
|
|
77
|
+
extra,
|
|
78
|
+
closable && /* @__PURE__ */ jsx(
|
|
79
|
+
"button",
|
|
80
|
+
{
|
|
81
|
+
type: "button",
|
|
82
|
+
className: "drawer-close",
|
|
83
|
+
onClick: onClose,
|
|
84
|
+
"aria-label": "Close",
|
|
85
|
+
children: closeIcon ?? /* @__PURE__ */ jsx(Icon, { name: "x", size: 16 })
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
] })
|
|
89
|
+
] }),
|
|
90
|
+
/* @__PURE__ */ jsx("div", { className: "drawer-body", children }),
|
|
91
|
+
footer && /* @__PURE__ */ jsx("div", { className: "drawer-foot", children: footer })
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
] }),
|
|
96
|
+
document.body
|
|
97
|
+
);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export { Drawer };
|
|
101
|
+
//# sourceMappingURL=chunk-IWVKITPN.js.map
|
|
102
|
+
//# sourceMappingURL=chunk-IWVKITPN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"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","file":"chunk-IWVKITPN.js","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Drawer.css\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Icon } from \"../Icon\";\n\nexport interface DrawerProps {\n /** Whether the drawer is visible. */\n open: boolean;\n /** Close callback (triggered by mask click / close button / Esc). */\n onClose?: () => void;\n /** Which edge the drawer slides from. */\n placement?: \"left\" | \"right\" | \"top\" | \"bottom\";\n /** Width (for left/right) or height (for top/bottom). Number → px. */\n size?: number | string;\n /** Header title. */\n title?: React.ReactNode;\n /** Extra content rendered to the right of the title (e.g. action buttons). */\n extra?: React.ReactNode;\n /** Footer content. */\n footer?: React.ReactNode;\n /** Drawer body. */\n children?: React.ReactNode;\n /** Render the mask overlay. Default true. Set `false` for a non-blocking drawer. */\n mask?: boolean;\n /** Close when clicking the mask. Default true. Ignored when `mask` is false. */\n maskClosable?: boolean;\n /** Close on Escape key. Default true. */\n keyboard?: boolean;\n /** Show the close (×) button in the header. Default true. */\n closable?: boolean;\n /** Override the close icon node. */\n closeIcon?: React.ReactNode;\n /**\n * When true the drawer's children are unmounted every time it closes.\n * Default `false` — children stay mounted across open/close cycles so\n * internal state (form fields, scroll position) is preserved.\n */\n destroyOnClose?: boolean;\n /** Fires after the open/close animation finishes. */\n afterOpenChange?: (open: boolean) => void;\n /** Stack index for nested drawers. */\n zIndex?: number;\n className?: string;\n}\n\nconst ANIM_MS = 280;\n\n/** `Drawer` — slide-in panel from an edge. */\nexport const Drawer: React.FC<DrawerProps> = ({\n open,\n onClose,\n placement = \"right\",\n size = 380,\n title,\n extra,\n footer,\n children,\n mask = true,\n maskClosable = true,\n keyboard = true,\n closable = true,\n closeIcon,\n destroyOnClose = false,\n afterOpenChange,\n zIndex,\n className = \"\",\n}) => {\n const [hasOpenedOnce, setHasOpenedOnce] = React.useState(open);\n React.useEffect(() => {\n if (open) setHasOpenedOnce(true);\n }, [open]);\n\n React.useEffect(() => {\n if (!open || !keyboard) return;\n const h = (e: KeyboardEvent) => e.key === \"Escape\" && onClose?.();\n window.addEventListener(\"keydown\", h);\n return () => window.removeEventListener(\"keydown\", h);\n }, [open, keyboard, onClose]);\n\n const prevOpen = React.useRef(open);\n React.useEffect(() => {\n if (prevOpen.current !== open) {\n prevOpen.current = open;\n if (afterOpenChange) {\n const id = window.setTimeout(() => afterOpenChange(open), ANIM_MS);\n return () => window.clearTimeout(id);\n }\n }\n }, [open, afterOpenChange]);\n\n if (typeof document === \"undefined\") return null;\n if (!hasOpenedOnce) return null;\n if (!open && destroyOnClose) return null;\n\n const isV = placement === \"left\" || placement === \"right\";\n const style: React.CSSProperties = isV ? { width: size } : { height: size };\n if (zIndex != null) style.zIndex = zIndex;\n\n return ReactDOM.createPortal(\n <>\n {mask && (\n <div\n className={`drawer-overlay ${open ? \"\" : \"hidden\"}`}\n style={zIndex != null ? { zIndex: zIndex - 1 } : undefined}\n onClick={() => maskClosable && onClose?.()}\n />\n )}\n <div\n className={`drawer ${placement} ${open ? \"\" : \"hidden\"} ${className}`}\n style={style}\n onClick={(e) => e.stopPropagation()}\n role=\"dialog\"\n aria-hidden={!open}\n >\n {(title || extra || closable) && (\n <div className=\"drawer-head\">\n <div className=\"drawer-title\">{title}</div>\n <div className=\"drawer-head-right\">\n {extra}\n {closable && (\n <button\n type=\"button\"\n className=\"drawer-close\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n {closeIcon ?? <Icon name=\"x\" size={16} />}\n </button>\n )}\n </div>\n </div>\n )}\n <div className=\"drawer-body\">{children}</div>\n {footer && <div className=\"drawer-foot\">{footer}</div>}\n </div>\n </>,\n document.body\n );\n};\n"]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Button } from './chunk-5EYI27B6.js';
|
|
2
|
+
import { Icon } from './chunk-GEYMWUW6.js';
|
|
3
|
+
import './tokens-HWQ7KWPG.css';
|
|
4
|
+
import './shared-NJHRNLRH.css';
|
|
5
|
+
import './Modal-N4YVLEWW.css';
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import ReactDOM from 'react-dom';
|
|
8
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
9
|
+
|
|
10
|
+
var ANIM_MS = 280;
|
|
11
|
+
var Modal = ({
|
|
12
|
+
open,
|
|
13
|
+
onClose,
|
|
14
|
+
onCancel,
|
|
15
|
+
onOk,
|
|
16
|
+
title,
|
|
17
|
+
description,
|
|
18
|
+
footer,
|
|
19
|
+
children,
|
|
20
|
+
width = 440,
|
|
21
|
+
closable = true,
|
|
22
|
+
closeIcon,
|
|
23
|
+
maskClosable = true,
|
|
24
|
+
escClosable = true,
|
|
25
|
+
okText = "\u786E\u5B9A",
|
|
26
|
+
cancelText = "\u53D6\u6D88",
|
|
27
|
+
okButtonProps,
|
|
28
|
+
cancelButtonProps,
|
|
29
|
+
confirmLoading,
|
|
30
|
+
destroyOnClose = false,
|
|
31
|
+
afterOpenChange,
|
|
32
|
+
zIndex,
|
|
33
|
+
className = ""
|
|
34
|
+
}) => {
|
|
35
|
+
const [hasOpenedOnce, setHasOpenedOnce] = React.useState(open);
|
|
36
|
+
React.useEffect(() => {
|
|
37
|
+
if (open) setHasOpenedOnce(true);
|
|
38
|
+
}, [open]);
|
|
39
|
+
const handleCancel = React.useCallback(() => {
|
|
40
|
+
if (onCancel) onCancel();
|
|
41
|
+
else onClose?.();
|
|
42
|
+
}, [onCancel, onClose]);
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
if (!open || !escClosable) return;
|
|
45
|
+
const h = (e) => {
|
|
46
|
+
if (e.key === "Escape") handleCancel();
|
|
47
|
+
};
|
|
48
|
+
window.addEventListener("keydown", h);
|
|
49
|
+
return () => window.removeEventListener("keydown", h);
|
|
50
|
+
}, [open, escClosable, handleCancel]);
|
|
51
|
+
const prevOpen = React.useRef(open);
|
|
52
|
+
React.useEffect(() => {
|
|
53
|
+
if (prevOpen.current !== open) {
|
|
54
|
+
prevOpen.current = open;
|
|
55
|
+
if (afterOpenChange) {
|
|
56
|
+
const id = window.setTimeout(() => afterOpenChange(open), ANIM_MS);
|
|
57
|
+
return () => window.clearTimeout(id);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}, [open, afterOpenChange]);
|
|
61
|
+
if (typeof document === "undefined") return null;
|
|
62
|
+
if (!hasOpenedOnce) return null;
|
|
63
|
+
if (!open && destroyOnClose) return null;
|
|
64
|
+
const overlayStyle = zIndex != null ? { zIndex } : void 0;
|
|
65
|
+
const defaultFooter = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
66
|
+
/* @__PURE__ */ jsx(Button, { variant: "ghost", onClick: handleCancel, ...cancelButtonProps, children: cancelText }),
|
|
67
|
+
/* @__PURE__ */ jsx(
|
|
68
|
+
Button,
|
|
69
|
+
{
|
|
70
|
+
variant: "primary",
|
|
71
|
+
loading: confirmLoading,
|
|
72
|
+
onClick: () => onOk?.(),
|
|
73
|
+
...okButtonProps,
|
|
74
|
+
children: okText
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
] });
|
|
78
|
+
return ReactDOM.createPortal(
|
|
79
|
+
/* @__PURE__ */ jsx(
|
|
80
|
+
"div",
|
|
81
|
+
{
|
|
82
|
+
className: `modal-overlay ${open ? "" : "hidden"} ${className}`,
|
|
83
|
+
style: overlayStyle,
|
|
84
|
+
onClick: () => maskClosable && handleCancel(),
|
|
85
|
+
role: "presentation",
|
|
86
|
+
children: /* @__PURE__ */ jsxs(
|
|
87
|
+
"div",
|
|
88
|
+
{
|
|
89
|
+
className: "modal",
|
|
90
|
+
style: { width },
|
|
91
|
+
onClick: (e) => e.stopPropagation(),
|
|
92
|
+
role: "dialog",
|
|
93
|
+
"aria-modal": true,
|
|
94
|
+
"aria-hidden": !open,
|
|
95
|
+
children: [
|
|
96
|
+
(title || description || closable) && /* @__PURE__ */ jsxs("div", { className: "modal-head", children: [
|
|
97
|
+
/* @__PURE__ */ jsxs("div", { className: "modal-titles", children: [
|
|
98
|
+
title && /* @__PURE__ */ jsx("div", { className: "modal-title", children: title }),
|
|
99
|
+
description && /* @__PURE__ */ jsx("div", { className: "modal-desc", children: description })
|
|
100
|
+
] }),
|
|
101
|
+
closable && /* @__PURE__ */ jsx(
|
|
102
|
+
"button",
|
|
103
|
+
{
|
|
104
|
+
type: "button",
|
|
105
|
+
className: "modal-close",
|
|
106
|
+
onClick: handleCancel,
|
|
107
|
+
"aria-label": "Close",
|
|
108
|
+
children: closeIcon ?? /* @__PURE__ */ jsx(Icon, { name: "x", size: 16 })
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
] }),
|
|
112
|
+
/* @__PURE__ */ jsx("div", { className: "modal-body", children }),
|
|
113
|
+
footer === null ? null : /* @__PURE__ */ jsx("div", { className: "modal-foot", children: footer ?? defaultFooter })
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
),
|
|
119
|
+
document.body
|
|
120
|
+
);
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
export { Modal };
|
|
124
|
+
//# sourceMappingURL=chunk-OOBSH7EL.js.map
|
|
125
|
+
//# sourceMappingURL=chunk-OOBSH7EL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Modal/Modal.tsx"],"names":[],"mappings":"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","file":"chunk-OOBSH7EL.js","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Modal.css\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Icon } from \"../Icon\";\nimport { Button, type ButtonProps } from \"../Button\";\n\nexport interface ModalProps {\n /** Whether the modal is visible. */\n open: boolean;\n /** Fired by mask click / close button / Esc. Also the fallback for cancel. */\n onClose?: () => void;\n /** Dedicated Cancel callback. Falls back to `onClose` when omitted. */\n onCancel?: () => void;\n /** Fired when the default OK button is clicked. */\n onOk?: () => void;\n title?: React.ReactNode;\n description?: React.ReactNode;\n /**\n * Footer content. Pass `null` to hide the footer, or a custom node to\n * replace the default OK / Cancel buttons.\n */\n footer?: React.ReactNode;\n children?: React.ReactNode;\n width?: number | string;\n /** Show the close (×) button. Default true. */\n closable?: boolean;\n /** Override the close icon node. */\n closeIcon?: React.ReactNode;\n /** Close when clicking the mask. Default true. */\n maskClosable?: boolean;\n /** Close on Escape key. Default true. */\n escClosable?: boolean;\n /** Label for the default OK button. */\n okText?: React.ReactNode;\n /** Label for the default Cancel button. */\n cancelText?: React.ReactNode;\n /** Extra props forwarded to the default OK button. */\n okButtonProps?: Partial<ButtonProps>;\n /** Extra props forwarded to the default Cancel button. */\n cancelButtonProps?: Partial<ButtonProps>;\n /** Show a spinner on the OK button (e.g. while an async submit is running). */\n confirmLoading?: boolean;\n /**\n * When true the modal's children are unmounted every time it closes.\n * Default `false` — children stay mounted so internal state survives\n * reopens, matching antd's default.\n */\n destroyOnClose?: boolean;\n /** Fires after the open/close animation finishes. */\n afterOpenChange?: (open: boolean) => void;\n /** Override the z-index of the overlay. */\n zIndex?: number;\n className?: string;\n}\n\nconst ANIM_MS = 280;\n\n/** `Modal` — centered dialog with mask. Renders into `document.body`. */\nexport const Modal: React.FC<ModalProps> = ({\n open,\n onClose,\n onCancel,\n onOk,\n title,\n description,\n footer,\n children,\n width = 440,\n closable = true,\n closeIcon,\n maskClosable = true,\n escClosable = true,\n okText = \"确定\",\n cancelText = \"取消\",\n okButtonProps,\n cancelButtonProps,\n confirmLoading,\n destroyOnClose = false,\n afterOpenChange,\n zIndex,\n className = \"\",\n}) => {\n const [hasOpenedOnce, setHasOpenedOnce] = React.useState(open);\n React.useEffect(() => {\n if (open) setHasOpenedOnce(true);\n }, [open]);\n\n const handleCancel = React.useCallback(() => {\n if (onCancel) onCancel();\n else onClose?.();\n }, [onCancel, onClose]);\n\n React.useEffect(() => {\n if (!open || !escClosable) return;\n const h = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") handleCancel();\n };\n window.addEventListener(\"keydown\", h);\n return () => window.removeEventListener(\"keydown\", h);\n }, [open, escClosable, handleCancel]);\n\n const prevOpen = React.useRef(open);\n React.useEffect(() => {\n if (prevOpen.current !== open) {\n prevOpen.current = open;\n if (afterOpenChange) {\n const id = window.setTimeout(() => afterOpenChange(open), ANIM_MS);\n return () => window.clearTimeout(id);\n }\n }\n }, [open, afterOpenChange]);\n\n if (typeof document === \"undefined\") return null;\n if (!hasOpenedOnce) return null;\n if (!open && destroyOnClose) return null;\n\n const overlayStyle: React.CSSProperties | undefined =\n zIndex != null ? { zIndex } : undefined;\n\n const defaultFooter = (\n <>\n <Button variant=\"ghost\" onClick={handleCancel} {...cancelButtonProps}>\n {cancelText}\n </Button>\n <Button\n variant=\"primary\"\n loading={confirmLoading}\n onClick={() => onOk?.()}\n {...okButtonProps}\n >\n {okText}\n </Button>\n </>\n );\n\n return ReactDOM.createPortal(\n <div\n className={`modal-overlay ${open ? \"\" : \"hidden\"} ${className}`}\n style={overlayStyle}\n onClick={() => maskClosable && handleCancel()}\n role=\"presentation\"\n >\n <div\n className=\"modal\"\n style={{ width }}\n onClick={(e) => e.stopPropagation()}\n role=\"dialog\"\n aria-modal\n aria-hidden={!open}\n >\n {(title || description || closable) && (\n <div className=\"modal-head\">\n <div className=\"modal-titles\">\n {title && <div className=\"modal-title\">{title}</div>}\n {description && <div className=\"modal-desc\">{description}</div>}\n </div>\n {closable && (\n <button\n type=\"button\"\n className=\"modal-close\"\n onClick={handleCancel}\n aria-label=\"Close\"\n >\n {closeIcon ?? <Icon name=\"x\" size={16} />}\n </button>\n )}\n </div>\n )}\n <div className=\"modal-body\">{children}</div>\n {footer === null ? null : (\n <div className=\"modal-foot\">{footer ?? defaultFooter}</div>\n )}\n </div>\n </div>,\n document.body\n );\n};\n"]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkAAMYURWQ_cjs = require('./chunk-AAMYURWQ.cjs');
|
|
4
|
+
var chunkYVO7XO4W_cjs = require('./chunk-YVO7XO4W.cjs');
|
|
5
|
+
require('./tokens-HWQ7KWPG.css');
|
|
6
|
+
require('./shared-NJHRNLRH.css');
|
|
7
|
+
require('./Modal-N4YVLEWW.css');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var ReactDOM = require('react-dom');
|
|
10
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
11
|
+
|
|
12
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
function _interopNamespace(e) {
|
|
15
|
+
if (e && e.__esModule) return e;
|
|
16
|
+
var n = Object.create(null);
|
|
17
|
+
if (e) {
|
|
18
|
+
Object.keys(e).forEach(function (k) {
|
|
19
|
+
if (k !== 'default') {
|
|
20
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
21
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return e[k]; }
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
n.default = e;
|
|
29
|
+
return Object.freeze(n);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
33
|
+
var ReactDOM__default = /*#__PURE__*/_interopDefault(ReactDOM);
|
|
34
|
+
|
|
35
|
+
var ANIM_MS = 280;
|
|
36
|
+
var Modal = ({
|
|
37
|
+
open,
|
|
38
|
+
onClose,
|
|
39
|
+
onCancel,
|
|
40
|
+
onOk,
|
|
41
|
+
title,
|
|
42
|
+
description,
|
|
43
|
+
footer,
|
|
44
|
+
children,
|
|
45
|
+
width = 440,
|
|
46
|
+
closable = true,
|
|
47
|
+
closeIcon,
|
|
48
|
+
maskClosable = true,
|
|
49
|
+
escClosable = true,
|
|
50
|
+
okText = "\u786E\u5B9A",
|
|
51
|
+
cancelText = "\u53D6\u6D88",
|
|
52
|
+
okButtonProps,
|
|
53
|
+
cancelButtonProps,
|
|
54
|
+
confirmLoading,
|
|
55
|
+
destroyOnClose = false,
|
|
56
|
+
afterOpenChange,
|
|
57
|
+
zIndex,
|
|
58
|
+
className = ""
|
|
59
|
+
}) => {
|
|
60
|
+
const [hasOpenedOnce, setHasOpenedOnce] = React__namespace.useState(open);
|
|
61
|
+
React__namespace.useEffect(() => {
|
|
62
|
+
if (open) setHasOpenedOnce(true);
|
|
63
|
+
}, [open]);
|
|
64
|
+
const handleCancel = React__namespace.useCallback(() => {
|
|
65
|
+
if (onCancel) onCancel();
|
|
66
|
+
else onClose?.();
|
|
67
|
+
}, [onCancel, onClose]);
|
|
68
|
+
React__namespace.useEffect(() => {
|
|
69
|
+
if (!open || !escClosable) return;
|
|
70
|
+
const h = (e) => {
|
|
71
|
+
if (e.key === "Escape") handleCancel();
|
|
72
|
+
};
|
|
73
|
+
window.addEventListener("keydown", h);
|
|
74
|
+
return () => window.removeEventListener("keydown", h);
|
|
75
|
+
}, [open, escClosable, handleCancel]);
|
|
76
|
+
const prevOpen = React__namespace.useRef(open);
|
|
77
|
+
React__namespace.useEffect(() => {
|
|
78
|
+
if (prevOpen.current !== open) {
|
|
79
|
+
prevOpen.current = open;
|
|
80
|
+
if (afterOpenChange) {
|
|
81
|
+
const id = window.setTimeout(() => afterOpenChange(open), ANIM_MS);
|
|
82
|
+
return () => window.clearTimeout(id);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}, [open, afterOpenChange]);
|
|
86
|
+
if (typeof document === "undefined") return null;
|
|
87
|
+
if (!hasOpenedOnce) return null;
|
|
88
|
+
if (!open && destroyOnClose) return null;
|
|
89
|
+
const overlayStyle = zIndex != null ? { zIndex } : void 0;
|
|
90
|
+
const defaultFooter = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
91
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAAMYURWQ_cjs.Button, { variant: "ghost", onClick: handleCancel, ...cancelButtonProps, children: cancelText }),
|
|
92
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
93
|
+
chunkAAMYURWQ_cjs.Button,
|
|
94
|
+
{
|
|
95
|
+
variant: "primary",
|
|
96
|
+
loading: confirmLoading,
|
|
97
|
+
onClick: () => onOk?.(),
|
|
98
|
+
...okButtonProps,
|
|
99
|
+
children: okText
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
] });
|
|
103
|
+
return ReactDOM__default.default.createPortal(
|
|
104
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
"div",
|
|
106
|
+
{
|
|
107
|
+
className: `modal-overlay ${open ? "" : "hidden"} ${className}`,
|
|
108
|
+
style: overlayStyle,
|
|
109
|
+
onClick: () => maskClosable && handleCancel(),
|
|
110
|
+
role: "presentation",
|
|
111
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
112
|
+
"div",
|
|
113
|
+
{
|
|
114
|
+
className: "modal",
|
|
115
|
+
style: { width },
|
|
116
|
+
onClick: (e) => e.stopPropagation(),
|
|
117
|
+
role: "dialog",
|
|
118
|
+
"aria-modal": true,
|
|
119
|
+
"aria-hidden": !open,
|
|
120
|
+
children: [
|
|
121
|
+
(title || description || closable) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "modal-head", children: [
|
|
122
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "modal-titles", children: [
|
|
123
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "modal-title", children: title }),
|
|
124
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "modal-desc", children: description })
|
|
125
|
+
] }),
|
|
126
|
+
closable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
127
|
+
"button",
|
|
128
|
+
{
|
|
129
|
+
type: "button",
|
|
130
|
+
className: "modal-close",
|
|
131
|
+
onClick: handleCancel,
|
|
132
|
+
"aria-label": "Close",
|
|
133
|
+
children: closeIcon ?? /* @__PURE__ */ jsxRuntime.jsx(chunkYVO7XO4W_cjs.Icon, { name: "x", size: 16 })
|
|
134
|
+
}
|
|
135
|
+
)
|
|
136
|
+
] }),
|
|
137
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "modal-body", children }),
|
|
138
|
+
footer === null ? null : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "modal-foot", children: footer ?? defaultFooter })
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
),
|
|
144
|
+
document.body
|
|
145
|
+
);
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
exports.Modal = Modal;
|
|
149
|
+
//# sourceMappingURL=chunk-QQXIWOI3.cjs.map
|
|
150
|
+
//# sourceMappingURL=chunk-QQXIWOI3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Modal/Modal.tsx"],"names":["React","jsxs","Fragment","jsx","Button","ReactDOM","Icon"],"mappings":"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","file":"chunk-QQXIWOI3.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Modal.css\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Icon } from \"../Icon\";\nimport { Button, type ButtonProps } from \"../Button\";\n\nexport interface ModalProps {\n /** Whether the modal is visible. */\n open: boolean;\n /** Fired by mask click / close button / Esc. Also the fallback for cancel. */\n onClose?: () => void;\n /** Dedicated Cancel callback. Falls back to `onClose` when omitted. */\n onCancel?: () => void;\n /** Fired when the default OK button is clicked. */\n onOk?: () => void;\n title?: React.ReactNode;\n description?: React.ReactNode;\n /**\n * Footer content. Pass `null` to hide the footer, or a custom node to\n * replace the default OK / Cancel buttons.\n */\n footer?: React.ReactNode;\n children?: React.ReactNode;\n width?: number | string;\n /** Show the close (×) button. Default true. */\n closable?: boolean;\n /** Override the close icon node. */\n closeIcon?: React.ReactNode;\n /** Close when clicking the mask. Default true. */\n maskClosable?: boolean;\n /** Close on Escape key. Default true. */\n escClosable?: boolean;\n /** Label for the default OK button. */\n okText?: React.ReactNode;\n /** Label for the default Cancel button. */\n cancelText?: React.ReactNode;\n /** Extra props forwarded to the default OK button. */\n okButtonProps?: Partial<ButtonProps>;\n /** Extra props forwarded to the default Cancel button. */\n cancelButtonProps?: Partial<ButtonProps>;\n /** Show a spinner on the OK button (e.g. while an async submit is running). */\n confirmLoading?: boolean;\n /**\n * When true the modal's children are unmounted every time it closes.\n * Default `false` — children stay mounted so internal state survives\n * reopens, matching antd's default.\n */\n destroyOnClose?: boolean;\n /** Fires after the open/close animation finishes. */\n afterOpenChange?: (open: boolean) => void;\n /** Override the z-index of the overlay. */\n zIndex?: number;\n className?: string;\n}\n\nconst ANIM_MS = 280;\n\n/** `Modal` — centered dialog with mask. Renders into `document.body`. */\nexport const Modal: React.FC<ModalProps> = ({\n open,\n onClose,\n onCancel,\n onOk,\n title,\n description,\n footer,\n children,\n width = 440,\n closable = true,\n closeIcon,\n maskClosable = true,\n escClosable = true,\n okText = \"确定\",\n cancelText = \"取消\",\n okButtonProps,\n cancelButtonProps,\n confirmLoading,\n destroyOnClose = false,\n afterOpenChange,\n zIndex,\n className = \"\",\n}) => {\n const [hasOpenedOnce, setHasOpenedOnce] = React.useState(open);\n React.useEffect(() => {\n if (open) setHasOpenedOnce(true);\n }, [open]);\n\n const handleCancel = React.useCallback(() => {\n if (onCancel) onCancel();\n else onClose?.();\n }, [onCancel, onClose]);\n\n React.useEffect(() => {\n if (!open || !escClosable) return;\n const h = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") handleCancel();\n };\n window.addEventListener(\"keydown\", h);\n return () => window.removeEventListener(\"keydown\", h);\n }, [open, escClosable, handleCancel]);\n\n const prevOpen = React.useRef(open);\n React.useEffect(() => {\n if (prevOpen.current !== open) {\n prevOpen.current = open;\n if (afterOpenChange) {\n const id = window.setTimeout(() => afterOpenChange(open), ANIM_MS);\n return () => window.clearTimeout(id);\n }\n }\n }, [open, afterOpenChange]);\n\n if (typeof document === \"undefined\") return null;\n if (!hasOpenedOnce) return null;\n if (!open && destroyOnClose) return null;\n\n const overlayStyle: React.CSSProperties | undefined =\n zIndex != null ? { zIndex } : undefined;\n\n const defaultFooter = (\n <>\n <Button variant=\"ghost\" onClick={handleCancel} {...cancelButtonProps}>\n {cancelText}\n </Button>\n <Button\n variant=\"primary\"\n loading={confirmLoading}\n onClick={() => onOk?.()}\n {...okButtonProps}\n >\n {okText}\n </Button>\n </>\n );\n\n return ReactDOM.createPortal(\n <div\n className={`modal-overlay ${open ? \"\" : \"hidden\"} ${className}`}\n style={overlayStyle}\n onClick={() => maskClosable && handleCancel()}\n role=\"presentation\"\n >\n <div\n className=\"modal\"\n style={{ width }}\n onClick={(e) => e.stopPropagation()}\n role=\"dialog\"\n aria-modal\n aria-hidden={!open}\n >\n {(title || description || closable) && (\n <div className=\"modal-head\">\n <div className=\"modal-titles\">\n {title && <div className=\"modal-title\">{title}</div>}\n {description && <div className=\"modal-desc\">{description}</div>}\n </div>\n {closable && (\n <button\n type=\"button\"\n className=\"modal-close\"\n onClick={handleCancel}\n aria-label=\"Close\"\n >\n {closeIcon ?? <Icon name=\"x\" size={16} />}\n </button>\n )}\n </div>\n )}\n <div className=\"modal-body\">{children}</div>\n {footer === null ? null : (\n <div className=\"modal-foot\">{footer ?? defaultFooter}</div>\n )}\n </div>\n </div>,\n document.body\n );\n};\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunkALFDP5WX_cjs = require('./chunk-ALFDP5WX.cjs');
|
|
3
4
|
var chunk2VA2HSL4_cjs = require('./chunk-2VA2HSL4.cjs');
|
|
4
5
|
var chunkITGCHU3Y_cjs = require('./chunk-ITGCHU3Y.cjs');
|
|
5
6
|
var chunk7U6I44RV_cjs = require('./chunk-7U6I44RV.cjs');
|
|
6
7
|
var chunkIKI5CS4L_cjs = require('./chunk-IKI5CS4L.cjs');
|
|
7
8
|
var chunk3UFU63X7_cjs = require('./chunk-3UFU63X7.cjs');
|
|
8
9
|
var chunk5WF6M47X_cjs = require('./chunk-5WF6M47X.cjs');
|
|
10
|
+
var chunkQT7SJITQ_cjs = require('./chunk-QT7SJITQ.cjs');
|
|
9
11
|
var chunk7H453VPW_cjs = require('./chunk-7H453VPW.cjs');
|
|
10
|
-
var
|
|
12
|
+
var chunkQQXIWOI3_cjs = require('./chunk-QQXIWOI3.cjs');
|
|
11
13
|
var chunkIGHLSNXT_cjs = require('./chunk-IGHLSNXT.cjs');
|
|
12
14
|
var chunkHKAQILD2_cjs = require('./chunk-HKAQILD2.cjs');
|
|
13
15
|
var chunkNXOAYNG2_cjs = require('./chunk-NXOAYNG2.cjs');
|
|
14
16
|
var chunkKGYLUZOU_cjs = require('./chunk-KGYLUZOU.cjs');
|
|
15
17
|
var chunkVMHNKD3N_cjs = require('./chunk-VMHNKD3N.cjs');
|
|
16
18
|
var chunkIBZAGURN_cjs = require('./chunk-IBZAGURN.cjs');
|
|
17
|
-
var chunkALFDP5WX_cjs = require('./chunk-ALFDP5WX.cjs');
|
|
18
19
|
var chunkTWBJCFEJ_cjs = require('./chunk-TWBJCFEJ.cjs');
|
|
19
20
|
var chunkC5TGQ7CV_cjs = require('./chunk-C5TGQ7CV.cjs');
|
|
20
21
|
var chunkQTGDYQOT_cjs = require('./chunk-QTGDYQOT.cjs');
|
|
21
22
|
require('./chunk-RZ2E3XEU.cjs');
|
|
22
23
|
var chunkNZPJ7BUB_cjs = require('./chunk-NZPJ7BUB.cjs');
|
|
24
|
+
var chunkAEJJGUEN_cjs = require('./chunk-AEJJGUEN.cjs');
|
|
23
25
|
var chunkK67KIKX4_cjs = require('./chunk-K67KIKX4.cjs');
|
|
24
26
|
var chunkQESLHLTG_cjs = require('./chunk-QESLHLTG.cjs');
|
|
25
|
-
var chunkQT7SJITQ_cjs = require('./chunk-QT7SJITQ.cjs');
|
|
26
27
|
var chunk77NP67ML_cjs = require('./chunk-77NP67ML.cjs');
|
|
27
28
|
var chunkJNFCTYJT_cjs = require('./chunk-JNFCTYJT.cjs');
|
|
28
29
|
var chunkFI7QO3I5_cjs = require('./chunk-FI7QO3I5.cjs');
|
|
@@ -33,8 +34,12 @@ var chunkYVO7XO4W_cjs = require('./chunk-YVO7XO4W.cjs');
|
|
|
33
34
|
var chunkI2ERCHFV_cjs = require('./chunk-I2ERCHFV.cjs');
|
|
34
35
|
|
|
35
36
|
// src/index.ts
|
|
36
|
-
var VERSION = "0.1.
|
|
37
|
+
var VERSION = "0.1.6";
|
|
37
38
|
|
|
39
|
+
Object.defineProperty(exports, "Switch", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () { return chunkALFDP5WX_cjs.Switch; }
|
|
42
|
+
});
|
|
38
43
|
Object.defineProperty(exports, "Table", {
|
|
39
44
|
enumerable: true,
|
|
40
45
|
get: function () { return chunk2VA2HSL4_cjs.Table; }
|
|
@@ -119,17 +124,21 @@ Object.defineProperty(exports, "Typography", {
|
|
|
119
124
|
enumerable: true,
|
|
120
125
|
get: function () { return chunk5WF6M47X_cjs.Typography; }
|
|
121
126
|
});
|
|
122
|
-
Object.defineProperty(exports, "
|
|
127
|
+
Object.defineProperty(exports, "Input", {
|
|
123
128
|
enumerable: true,
|
|
124
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunkQT7SJITQ_cjs.Input; }
|
|
125
130
|
});
|
|
126
|
-
Object.defineProperty(exports, "
|
|
131
|
+
Object.defineProperty(exports, "Textarea", {
|
|
132
|
+
enumerable: true,
|
|
133
|
+
get: function () { return chunkQT7SJITQ_cjs.Textarea; }
|
|
134
|
+
});
|
|
135
|
+
Object.defineProperty(exports, "List", {
|
|
127
136
|
enumerable: true,
|
|
128
|
-
get: function () { return
|
|
137
|
+
get: function () { return chunk7H453VPW_cjs.List; }
|
|
129
138
|
});
|
|
130
139
|
Object.defineProperty(exports, "Modal", {
|
|
131
140
|
enumerable: true,
|
|
132
|
-
get: function () { return
|
|
141
|
+
get: function () { return chunkQQXIWOI3_cjs.Modal; }
|
|
133
142
|
});
|
|
134
143
|
Object.defineProperty(exports, "Pagination", {
|
|
135
144
|
enumerable: true,
|
|
@@ -163,10 +172,6 @@ Object.defineProperty(exports, "Slider", {
|
|
|
163
172
|
enumerable: true,
|
|
164
173
|
get: function () { return chunkIBZAGURN_cjs.Slider; }
|
|
165
174
|
});
|
|
166
|
-
Object.defineProperty(exports, "Switch", {
|
|
167
|
-
enumerable: true,
|
|
168
|
-
get: function () { return chunkALFDP5WX_cjs.Switch; }
|
|
169
|
-
});
|
|
170
175
|
Object.defineProperty(exports, "Cascader", {
|
|
171
176
|
enumerable: true,
|
|
172
177
|
get: function () { return chunkTWBJCFEJ_cjs.Cascader; }
|
|
@@ -187,6 +192,10 @@ Object.defineProperty(exports, "Divider", {
|
|
|
187
192
|
enumerable: true,
|
|
188
193
|
get: function () { return chunkNZPJ7BUB_cjs.Divider; }
|
|
189
194
|
});
|
|
195
|
+
Object.defineProperty(exports, "Drawer", {
|
|
196
|
+
enumerable: true,
|
|
197
|
+
get: function () { return chunkAEJJGUEN_cjs.Drawer; }
|
|
198
|
+
});
|
|
190
199
|
Object.defineProperty(exports, "Empty", {
|
|
191
200
|
enumerable: true,
|
|
192
201
|
get: function () { return chunkK67KIKX4_cjs.Empty; }
|
|
@@ -207,14 +216,6 @@ Object.defineProperty(exports, "ImageGrid", {
|
|
|
207
216
|
enumerable: true,
|
|
208
217
|
get: function () { return chunkQESLHLTG_cjs.ImageGrid; }
|
|
209
218
|
});
|
|
210
|
-
Object.defineProperty(exports, "Input", {
|
|
211
|
-
enumerable: true,
|
|
212
|
-
get: function () { return chunkQT7SJITQ_cjs.Input; }
|
|
213
|
-
});
|
|
214
|
-
Object.defineProperty(exports, "Textarea", {
|
|
215
|
-
enumerable: true,
|
|
216
|
-
get: function () { return chunkQT7SJITQ_cjs.Textarea; }
|
|
217
|
-
});
|
|
218
219
|
Object.defineProperty(exports, "Accordion", {
|
|
219
220
|
enumerable: true,
|
|
220
221
|
get: function () { return chunk77NP67ML_cjs.Accordion; }
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,IAAM,OAAA,GAAU","file":"index.cjs","sourcesContent":["/* lumina — public exports */\n\nexport * from \"./components/Icon\";\nexport * from \"./components/Button\";\nexport * from \"./components/Input\";\nexport * from \"./components/Switch\";\nexport * from \"./components/Checkbox\";\nexport * from \"./components/Slider\";\nexport * from \"./components/Select\";\nexport * from \"./components/Tabs\";\nexport * from \"./components/Accordion\";\nexport * from \"./components/Card\";\nexport * from \"./components/Tag\";\nexport * from \"./components/Avatar\";\nexport * from \"./components/Divider\";\nexport * from \"./components/Progress\";\nexport * from \"./components/Modal\";\nexport * from \"./components/Toast\";\nexport * from \"./components/Tooltip\";\nexport * from \"./components/Popover\";\nexport * from \"./components/Alert\";\nexport * from \"./components/Table\";\nexport * from \"./components/Pagination\";\nexport * from \"./components/Calendar\";\nexport * from \"./components/List\";\nexport * from \"./components/AppShell\";\nexport * from \"./components/Empty\";\nexport * from \"./components/Image\";\nexport * from \"./components/Cascader\";\nexport * from \"./components/Typography\";\nexport * from \"./components/ColorPicker\";\nexport * from \"./components/Drawer\";\nexport * from \"./components/Theme\";\n\n/** Package version — bumped by release scripts. */\nexport const VERSION = \"0.1.6\";\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -12,7 +12,7 @@ export { Badge, BadgeProps, Tag, TagProps, TagTone } from './Tag.cjs';
|
|
|
12
12
|
export { Avatar, AvatarProps } from './Avatar.cjs';
|
|
13
13
|
export { Divider, DividerProps } from './Divider.cjs';
|
|
14
14
|
export { Progress, ProgressProps, Ring, RingProps } from './Progress.cjs';
|
|
15
|
-
export {
|
|
15
|
+
export { Modal, ModalProps } from './Modal.cjs';
|
|
16
16
|
export { ToastContainer, ToastContainerProps, ToastItem, ToastType, toast } from './Toast.cjs';
|
|
17
17
|
export { Tooltip, TooltipProps } from './Tooltip.cjs';
|
|
18
18
|
export { Popover, PopoverProps } from './Popover.cjs';
|
|
@@ -27,11 +27,12 @@ export { Image, ImageGrid, ImageGridProps, ImageProps } from './Image.cjs';
|
|
|
27
27
|
export { Cascader, CascaderOption, CascaderProps } from './Cascader.cjs';
|
|
28
28
|
export { BaseTypographyProps, CopyableConfig, EditableConfig, EllipsisConfig, Link, LinkProps, Paragraph, ParagraphProps, Text, TextProps, Title, TitleLevel, TitleProps, Typography, TypographyProps, TypographyType } from './Typography.cjs';
|
|
29
29
|
export { ColorPicker, ColorPickerProps } from './ColorPicker.cjs';
|
|
30
|
+
export { Drawer, DrawerProps } from './Drawer.cjs';
|
|
30
31
|
export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, AccentKey, AccentPalette, CustomAccentInput, DensityMode, FONT_STACKS, FontConfig, FontKey, ResolvedThemeMode, ThemeConfig, ThemeMode, ThemeProvider, ThemeProviderProps, ThemeTokens, ThemeValue, applyTheme, normalizeAccentInput, resolveThemeMode, useTheme, useThemeOptional } from './Theme.cjs';
|
|
31
32
|
import 'react';
|
|
32
33
|
import 'react/jsx-runtime';
|
|
33
34
|
|
|
34
35
|
/** Package version — bumped by release scripts. */
|
|
35
|
-
declare const VERSION = "0.1.
|
|
36
|
+
declare const VERSION = "0.1.6";
|
|
36
37
|
|
|
37
38
|
export { VERSION };
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { Badge, BadgeProps, Tag, TagProps, TagTone } from './Tag.js';
|
|
|
12
12
|
export { Avatar, AvatarProps } from './Avatar.js';
|
|
13
13
|
export { Divider, DividerProps } from './Divider.js';
|
|
14
14
|
export { Progress, ProgressProps, Ring, RingProps } from './Progress.js';
|
|
15
|
-
export {
|
|
15
|
+
export { Modal, ModalProps } from './Modal.js';
|
|
16
16
|
export { ToastContainer, ToastContainerProps, ToastItem, ToastType, toast } from './Toast.js';
|
|
17
17
|
export { Tooltip, TooltipProps } from './Tooltip.js';
|
|
18
18
|
export { Popover, PopoverProps } from './Popover.js';
|
|
@@ -27,11 +27,12 @@ export { Image, ImageGrid, ImageGridProps, ImageProps } from './Image.js';
|
|
|
27
27
|
export { Cascader, CascaderOption, CascaderProps } from './Cascader.js';
|
|
28
28
|
export { BaseTypographyProps, CopyableConfig, EditableConfig, EllipsisConfig, Link, LinkProps, Paragraph, ParagraphProps, Text, TextProps, Title, TitleLevel, TitleProps, Typography, TypographyProps, TypographyType } from './Typography.js';
|
|
29
29
|
export { ColorPicker, ColorPickerProps } from './ColorPicker.js';
|
|
30
|
+
export { Drawer, DrawerProps } from './Drawer.js';
|
|
30
31
|
export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, AccentKey, AccentPalette, CustomAccentInput, DensityMode, FONT_STACKS, FontConfig, FontKey, ResolvedThemeMode, ThemeConfig, ThemeMode, ThemeProvider, ThemeProviderProps, ThemeTokens, ThemeValue, applyTheme, normalizeAccentInput, resolveThemeMode, useTheme, useThemeOptional } from './Theme.js';
|
|
31
32
|
import 'react';
|
|
32
33
|
import 'react/jsx-runtime';
|
|
33
34
|
|
|
34
35
|
/** Package version — bumped by release scripts. */
|
|
35
|
-
declare const VERSION = "0.1.
|
|
36
|
+
declare const VERSION = "0.1.6";
|
|
36
37
|
|
|
37
38
|
export { VERSION };
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
|
+
export { Switch } from './chunk-HTP6UEVR.js';
|
|
1
2
|
export { Table, TablePro } from './chunk-2W2AJUZW.js';
|
|
2
3
|
export { Segmented, Tabs } from './chunk-G3UWXSNQ.js';
|
|
3
4
|
export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, FONT_STACKS, ThemeProvider, applyTheme, normalizeAccentInput, resolveThemeMode, useTheme, useThemeOptional } from './chunk-I7SSCSFH.js';
|
|
4
5
|
export { ToastContainer, toast } from './chunk-QPZZNSRB.js';
|
|
5
6
|
export { Tooltip } from './chunk-WNGG25QX.js';
|
|
6
7
|
export { Link, Paragraph, Text, Title, Typography } from './chunk-GZGZR4FT.js';
|
|
8
|
+
export { Input, Textarea } from './chunk-7NM5BRUX.js';
|
|
7
9
|
export { List } from './chunk-4GT5TOHP.js';
|
|
8
|
-
export {
|
|
10
|
+
export { Modal } from './chunk-OOBSH7EL.js';
|
|
9
11
|
export { Pagination } from './chunk-XFRP2MBR.js';
|
|
10
12
|
export { Popover } from './chunk-NE4YEBFH.js';
|
|
11
13
|
export { Progress, Ring } from './chunk-VJN637MT.js';
|
|
12
14
|
export { Select } from './chunk-OYH6A7IQ.js';
|
|
13
15
|
export { Badge, Tag } from './chunk-3QWHDCHJ.js';
|
|
14
16
|
export { Slider } from './chunk-7UJI437T.js';
|
|
15
|
-
export { Switch } from './chunk-HTP6UEVR.js';
|
|
16
17
|
export { Cascader } from './chunk-OEHCA5IV.js';
|
|
17
18
|
export { Checkbox, RadioGroup } from './chunk-M6CGYGEO.js';
|
|
18
19
|
export { ColorPicker } from './chunk-RPD2OIIP.js';
|
|
19
20
|
import './chunk-V2DIQ3RH.js';
|
|
20
21
|
export { Divider } from './chunk-F3NHM4GX.js';
|
|
22
|
+
export { Drawer } from './chunk-IWVKITPN.js';
|
|
21
23
|
export { Empty, Skeleton, Spinner } from './chunk-4AA22BOG.js';
|
|
22
24
|
export { Image, ImageGrid } from './chunk-K5MHL732.js';
|
|
23
|
-
export { Input, Textarea } from './chunk-7NM5BRUX.js';
|
|
24
25
|
export { Accordion } from './chunk-M6OTFXZA.js';
|
|
25
26
|
export { Alert } from './chunk-NWJW5KLN.js';
|
|
26
27
|
export { AppShell, Sidebar, TitleBar, WindowControls } from './chunk-3WAFIUDQ.js';
|
|
@@ -31,7 +32,7 @@ export { ICON_NAMES, Icon } from './chunk-GEYMWUW6.js';
|
|
|
31
32
|
export { Card, Panel } from './chunk-OXYFB2ZI.js';
|
|
32
33
|
|
|
33
34
|
// src/index.ts
|
|
34
|
-
var VERSION = "0.1.
|
|
35
|
+
var VERSION = "0.1.6";
|
|
35
36
|
|
|
36
37
|
export { VERSION };
|
|
37
38
|
//# sourceMappingURL=index.js.map
|