@bioturing/components 0.18.0 → 0.20.0
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/components/{Badge → badge}/component.js.map +1 -1
- package/dist/components/{Breadcrumb → breadcrumb}/component.js.map +1 -1
- package/dist/components/{Breadcrumb → breadcrumb}/useItemRender.js +6 -5
- package/dist/components/breadcrumb/useItemRender.js.map +1 -0
- package/dist/components/button/component.js +46 -0
- package/dist/components/button/component.js.map +1 -0
- package/dist/components/{Button → button}/style.css +1 -1
- package/dist/components/{Checkbox → checkbox}/component.js +1 -0
- package/dist/components/checkbox/component.js.map +1 -0
- package/dist/components/choice-list/component.js +54 -0
- package/dist/components/choice-list/component.js.map +1 -0
- package/dist/components/choice-list/style.css +1 -0
- package/dist/components/cmdk/command-score.js +48 -0
- package/dist/components/cmdk/command-score.js.map +1 -0
- package/dist/components/cmdk/index.js +611 -0
- package/dist/components/cmdk/index.js.map +1 -0
- package/dist/components/{CodeBlock → code-block}/component.js +4 -4
- package/dist/components/code-block/component.js.map +1 -0
- package/dist/components/{Collapse → collapse}/component.js.map +1 -1
- package/dist/components/{ColorSelect → color-select}/component.js +10 -10
- package/dist/components/color-select/component.js.map +1 -0
- package/dist/components/drag-drop/context.js.map +1 -0
- package/dist/components/drag-drop/draggable.js.map +1 -0
- package/dist/components/drag-drop/droppable.js.map +1 -0
- package/dist/components/{DragDrop → drag-drop}/hooks.js +1 -0
- package/dist/components/drag-drop/hooks.js.map +1 -0
- package/dist/components/drag-drop/index.js.map +1 -0
- package/dist/components/{DragDrop → drag-drop}/value.js +4 -4
- package/dist/components/drag-drop/value.js.map +1 -0
- package/dist/components/dropdown-menu/component.js +199 -0
- package/dist/components/dropdown-menu/component.js.map +1 -0
- package/dist/components/dropdown-menu/style.css +1 -0
- package/dist/components/{DSRoot → ds-root}/component.js +3 -3
- package/dist/components/ds-root/component.js.map +1 -0
- package/dist/components/ds-root/context.js.map +1 -0
- package/dist/components/{Empty → empty}/component.js +6 -5
- package/dist/components/empty/component.js.map +1 -0
- package/dist/components/{Field → field}/component.js.map +1 -1
- package/dist/components/{Form → form}/component.js.map +1 -1
- package/dist/components/{Form → form}/item.js +1 -1
- package/dist/components/form/item.js.map +1 -0
- package/dist/components/hooks/useCSSVariables.js +12 -0
- package/dist/components/hooks/useCSSVariables.js.map +1 -0
- package/dist/components/hooks/useCharts.js +1 -1
- package/dist/components/hooks/useCharts.js.map +1 -1
- package/dist/components/{IconButton → icon-button}/component.js +2 -2
- package/dist/components/icon-button/component.js.map +1 -0
- package/dist/components/input/component.js +26 -0
- package/dist/components/input/component.js.map +1 -0
- package/dist/components/{Modal → modal}/Modal.js +3 -3
- package/dist/components/modal/Modal.js.map +1 -0
- package/dist/components/{Modal → modal}/ModalProvider.js.map +1 -1
- package/dist/components/{Modal → modal}/ModalService.js +3 -2
- package/dist/components/modal/ModalService.js.map +1 -0
- package/dist/components/{Modal → modal}/constants.js.map +1 -1
- package/dist/components/{Modal → modal}/functions.js +8 -7
- package/dist/components/modal/functions.js.map +1 -0
- package/dist/components/{Modal → modal}/index.js.map +1 -1
- package/dist/components/{Nav → nav}/context.js.map +1 -1
- package/dist/components/{Nav → nav}/group.js.map +1 -1
- package/dist/components/{Nav → nav}/heading.js.map +1 -1
- package/dist/components/{Nav → nav}/index.js +3 -2
- package/dist/components/nav/index.js.map +1 -0
- package/dist/components/nav/item.js +36 -0
- package/dist/components/nav/item.js.map +1 -0
- package/dist/components/{Popover → popover}/component.js.map +1 -1
- package/dist/components/{PopupPanel → popup-panel}/component.js +47 -47
- package/dist/components/popup-panel/component.js.map +1 -0
- package/dist/components/popup-panel/constants.js.map +1 -0
- package/dist/components/{Radio → radio}/component.js +6 -5
- package/dist/components/radio/component.js.map +1 -0
- package/dist/components/scroll-area/component.js.map +1 -0
- package/dist/components/{Segmented → segmented}/component.js +3 -2
- package/dist/components/segmented/component.js.map +1 -0
- package/dist/components/{Select → select}/component.js +7 -6
- package/dist/components/select/component.js.map +1 -0
- package/dist/components/{Slider → slider}/component.js.map +1 -1
- package/dist/components/{Spin → spin}/component.js +5 -4
- package/dist/components/spin/component.js.map +1 -0
- package/dist/components/{Splitter → splitter}/component.js.map +1 -1
- package/dist/components/{Stack → stack}/Stack.js.map +1 -1
- package/dist/components/stack/StackChild.js +65 -0
- package/dist/components/{Stack → stack}/StackChild.js.map +1 -1
- package/dist/components/{Stack → stack}/index.js.map +1 -1
- package/dist/components/{Switch → switch}/component.js +3 -2
- package/dist/components/switch/component.js.map +1 -0
- package/dist/components/{Table → table}/component.js +1 -1
- package/dist/components/{Table → table}/component.js.map +1 -1
- package/dist/components/{Tag → tag}/component.js.map +1 -1
- package/dist/components/theme-provider/component.js.map +1 -0
- package/dist/components/{Toast → toast}/component.js +14 -14
- package/dist/components/toast/component.js.map +1 -0
- package/dist/components/{Toast → toast}/function.js.map +1 -1
- package/dist/components/{Toast → toast}/style.css +1 -1
- package/dist/components/{Tooltip → tooltip}/component.js.map +1 -1
- package/dist/components/{Tour → tour}/component.js.map +1 -1
- package/dist/components/{Transition → transition}/component.js.map +1 -1
- package/dist/components/{Tree → tree}/components.js.map +1 -1
- package/dist/components/{Tree → tree}/helpers.js.map +1 -1
- package/dist/components/{Tree → tree}/useTreeCommon.js.map +1 -1
- package/dist/components/{Tree → tree}/useUniqueKeysTree.js.map +1 -1
- package/dist/components/{Truncate → truncate}/component.js.map +1 -1
- package/dist/components/{Truncate → truncate}/helpers.js.map +1 -1
- package/dist/components/{Upload → upload}/component.js +1 -1
- package/dist/components/{Upload → upload}/component.js.map +1 -1
- package/dist/components/{Upload → upload}/dragger.js.map +1 -1
- package/dist/components/{Upload → upload}/hooks.js.map +1 -1
- package/dist/components/{Upload → upload}/item.js +7 -6
- package/dist/components/upload/item.js.map +1 -0
- package/dist/components/{Upload → upload}/utils.js.map +1 -1
- package/dist/components/utils/WithRenderProp.js +15 -0
- package/dist/components/utils/WithRenderProp.js.map +1 -0
- package/dist/components/{VerticalCollapsiblePanel → vertical-collapsible-panel}/component.js +9 -9
- package/dist/components/vertical-collapsible-panel/component.js.map +1 -0
- package/dist/index.d.ts +249 -3
- package/dist/index.js +164 -158
- package/dist/index.js.map +1 -1
- package/dist/metadata.js +14 -0
- package/dist/metadata.js.map +1 -1
- package/dist/tokens/and-theme/tokens.js +12 -12
- package/dist/tokens/and-theme/tokens.js.map +1 -1
- package/package.json +6 -2
- package/dist/components/Breadcrumb/useItemRender.js.map +0 -1
- package/dist/components/Button/component.js +0 -36
- package/dist/components/Button/component.js.map +0 -1
- package/dist/components/Checkbox/component.js.map +0 -1
- package/dist/components/CodeBlock/component.js.map +0 -1
- package/dist/components/ColorSelect/component.js.map +0 -1
- package/dist/components/DSRoot/component.js.map +0 -1
- package/dist/components/DSRoot/context.js.map +0 -1
- package/dist/components/DragDrop/context.js.map +0 -1
- package/dist/components/DragDrop/draggable.js.map +0 -1
- package/dist/components/DragDrop/droppable.js.map +0 -1
- package/dist/components/DragDrop/hooks.js.map +0 -1
- package/dist/components/DragDrop/index.js.map +0 -1
- package/dist/components/DragDrop/value.js.map +0 -1
- package/dist/components/DropdownMenu/component.js +0 -156
- package/dist/components/DropdownMenu/component.js.map +0 -1
- package/dist/components/DropdownMenu/style.css +0 -1
- package/dist/components/Empty/component.js.map +0 -1
- package/dist/components/Form/item.js.map +0 -1
- package/dist/components/IconButton/component.js.map +0 -1
- package/dist/components/Input/component.js +0 -25
- package/dist/components/Input/component.js.map +0 -1
- package/dist/components/Modal/Modal.js.map +0 -1
- package/dist/components/Modal/ModalService.js.map +0 -1
- package/dist/components/Modal/functions.js.map +0 -1
- package/dist/components/Nav/index.js.map +0 -1
- package/dist/components/Nav/item.js +0 -36
- package/dist/components/Nav/item.js.map +0 -1
- package/dist/components/PopupPanel/component.js.map +0 -1
- package/dist/components/PopupPanel/constants.js.map +0 -1
- package/dist/components/Radio/component.js.map +0 -1
- package/dist/components/ScrollArea/component.js.map +0 -1
- package/dist/components/Segmented/component.js.map +0 -1
- package/dist/components/Select/component.js.map +0 -1
- package/dist/components/Spin/component.js.map +0 -1
- package/dist/components/Stack/StackChild.js +0 -65
- package/dist/components/Switch/component.js.map +0 -1
- package/dist/components/ThemeProvider/component.js.map +0 -1
- package/dist/components/Toast/component.js.map +0 -1
- package/dist/components/Upload/item.js.map +0 -1
- package/dist/components/VerticalCollapsiblePanel/component.js.map +0 -1
- /package/dist/components/{Badge → badge}/component.js +0 -0
- /package/dist/components/{Badge → badge}/style.css +0 -0
- /package/dist/components/{Breadcrumb → breadcrumb}/component.js +0 -0
- /package/dist/components/{Breadcrumb → breadcrumb}/style.css +0 -0
- /package/dist/components/{Checkbox → checkbox}/style.css +0 -0
- /package/dist/components/{CodeBlock → code-block}/style.css +0 -0
- /package/dist/components/{Collapse → collapse}/component.js +0 -0
- /package/dist/components/{Collapse → collapse}/style.css +0 -0
- /package/dist/components/{ColorSelect → color-select}/style.css +0 -0
- /package/dist/components/{DragDrop → drag-drop}/context.js +0 -0
- /package/dist/components/{DragDrop → drag-drop}/draggable.js +0 -0
- /package/dist/components/{DragDrop → drag-drop}/droppable.js +0 -0
- /package/dist/components/{DragDrop → drag-drop}/index.js +0 -0
- /package/dist/components/{DragDrop → drag-drop}/style.css +0 -0
- /package/dist/components/{DSRoot → ds-root}/context.js +0 -0
- /package/dist/components/{DSRoot → ds-root}/style.css +0 -0
- /package/dist/components/{Empty → empty}/style.css +0 -0
- /package/dist/components/{Field → field}/component.js +0 -0
- /package/dist/components/{Field → field}/style.css +0 -0
- /package/dist/components/{Form → form}/component.js +0 -0
- /package/dist/components/{Form → form}/style.css +0 -0
- /package/dist/components/{IconButton → icon-button}/style.css +0 -0
- /package/dist/components/{Modal → modal}/ModalProvider.js +0 -0
- /package/dist/components/{Modal → modal}/constants.js +0 -0
- /package/dist/components/{Modal → modal}/index.js +0 -0
- /package/dist/components/{Modal → modal}/style.css +0 -0
- /package/dist/components/{Nav → nav}/context.js +0 -0
- /package/dist/components/{Nav → nav}/group.js +0 -0
- /package/dist/components/{Nav → nav}/heading.js +0 -0
- /package/dist/components/{Nav → nav}/style.css +0 -0
- /package/dist/components/{Popover → popover}/component.js +0 -0
- /package/dist/components/{PopupPanel → popup-panel}/constants.js +0 -0
- /package/dist/components/{PopupPanel → popup-panel}/style.css +0 -0
- /package/dist/components/{Radio → radio}/style.css +0 -0
- /package/dist/components/{ScrollArea → scroll-area}/component.js +0 -0
- /package/dist/components/{ScrollArea → scroll-area}/style.css +0 -0
- /package/dist/components/{Segmented → segmented}/style.css +0 -0
- /package/dist/components/{Select → select}/style.css +0 -0
- /package/dist/components/{Slider → slider}/component.js +0 -0
- /package/dist/components/{Spin → spin}/style.css +0 -0
- /package/dist/components/{Splitter → splitter}/component.js +0 -0
- /package/dist/components/{Splitter → splitter}/style.css +0 -0
- /package/dist/components/{Stack → stack}/Stack.js +0 -0
- /package/dist/components/{Stack → stack}/index.js +0 -0
- /package/dist/components/{Stack → stack}/style.css +0 -0
- /package/dist/components/{Switch → switch}/style.css +0 -0
- /package/dist/components/{Table → table}/style.css +0 -0
- /package/dist/components/{Tag → tag}/component.js +0 -0
- /package/dist/components/{Tag → tag}/style.css +0 -0
- /package/dist/components/{ThemeProvider → theme-provider}/component.js +0 -0
- /package/dist/components/{ThemeProvider → theme-provider}/style.css +0 -0
- /package/dist/components/{Toast → toast}/function.js +0 -0
- /package/dist/components/{Tooltip → tooltip}/component.js +0 -0
- /package/dist/components/{Tooltip → tooltip}/style.css +0 -0
- /package/dist/components/{Tour → tour}/component.js +0 -0
- /package/dist/components/{Tour → tour}/style.css +0 -0
- /package/dist/components/{Transition → transition}/component.js +0 -0
- /package/dist/components/{Tree → tree}/components.js +0 -0
- /package/dist/components/{Tree → tree}/helpers.js +0 -0
- /package/dist/components/{Tree → tree}/style.css +0 -0
- /package/dist/components/{Tree → tree}/useTreeCommon.js +0 -0
- /package/dist/components/{Tree → tree}/useUniqueKeysTree.js +0 -0
- /package/dist/components/{Truncate → truncate}/component.js +0 -0
- /package/dist/components/{Truncate → truncate}/helpers.js +0 -0
- /package/dist/components/{Truncate → truncate}/style.css +0 -0
- /package/dist/components/{Upload → upload}/dragger.js +0 -0
- /package/dist/components/{Upload → upload}/hooks.js +0 -0
- /package/dist/components/{Upload → upload}/style.css +0 -0
- /package/dist/components/{Upload → upload}/utils.js +0 -0
- /package/dist/components/{VerticalCollapsiblePanel → vertical-collapsible-panel}/style.css +0 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs as g, jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { Menu as l } from "@base-ui-components/react/menu";
|
|
4
|
+
import { useCallback as M, useRef as F } from "react";
|
|
5
|
+
import { useControlled as H } from "@base-ui-components/react/utils";
|
|
6
|
+
import { Command as i } from "../cmdk/index.js";
|
|
7
|
+
import './style.css';/* empty css */
|
|
8
|
+
import { Popover as J } from "@base-ui-components/react";
|
|
9
|
+
import { PopupPanelSize as A } from "../popup-panel/constants.js";
|
|
10
|
+
import { useCls as K, useAntdCssVarClassname as Q, parseAntdPlacement as W } from "../utils/antdUtils.js";
|
|
11
|
+
import { Input as X } from "../input/component.js";
|
|
12
|
+
import { clsx as p } from "../utils/cn.js";
|
|
13
|
+
const no = ({
|
|
14
|
+
children: j,
|
|
15
|
+
items: x,
|
|
16
|
+
placement: z,
|
|
17
|
+
openOnHover: B,
|
|
18
|
+
open: D,
|
|
19
|
+
onOpenChange: m,
|
|
20
|
+
className: R,
|
|
21
|
+
itemRender: w,
|
|
22
|
+
classNames: r,
|
|
23
|
+
size: y = "auto",
|
|
24
|
+
showSearch: f,
|
|
25
|
+
searchProps: C = {
|
|
26
|
+
placeholder: "Search..."
|
|
27
|
+
}
|
|
28
|
+
}) => {
|
|
29
|
+
const [T, I] = H({
|
|
30
|
+
controlled: D,
|
|
31
|
+
default: !1,
|
|
32
|
+
name: "open"
|
|
33
|
+
}), U = M(
|
|
34
|
+
(o) => {
|
|
35
|
+
I(o), m == null || m(o);
|
|
36
|
+
},
|
|
37
|
+
[I, m]
|
|
38
|
+
), n = K(), G = Q(), L = W(z), V = F(null), v = x.reduce((o, e) => (o.length === 0 && e.type !== "header" && o.push({
|
|
39
|
+
label: null,
|
|
40
|
+
items: []
|
|
41
|
+
}), e.type === "header" ? o.push({
|
|
42
|
+
label: e.title,
|
|
43
|
+
items: []
|
|
44
|
+
}) : (e.type === "item" || e.type === "divider") && o.length > 0 && o[o.length - 1].items.push(e), o), []), P = f ? i.Item : l.Item, k = f ? i.Separator : l.Separator, h = M(
|
|
45
|
+
(o, e, d) => o.type === "item" ? /* @__PURE__ */ g(
|
|
46
|
+
P,
|
|
47
|
+
{
|
|
48
|
+
className: p(n("dropdown-menu-item"), r == null ? void 0 : r.item),
|
|
49
|
+
disabled: o.disabled,
|
|
50
|
+
"data-danger": o.danger,
|
|
51
|
+
ref: o.ref,
|
|
52
|
+
onClick: o.onClick,
|
|
53
|
+
onMouseEnter: o.onMouseEnter,
|
|
54
|
+
onMouseLeave: o.onMouseLeave,
|
|
55
|
+
onMouseOver: o.onMouseOver,
|
|
56
|
+
onMouseOut: o.onMouseOut,
|
|
57
|
+
render: w ? (u) => w(o, u) : void 0,
|
|
58
|
+
children: [
|
|
59
|
+
o.icon && /* @__PURE__ */ t(
|
|
60
|
+
"span",
|
|
61
|
+
{
|
|
62
|
+
className: p(
|
|
63
|
+
n("dropdown-menu-item-icon"),
|
|
64
|
+
r == null ? void 0 : r.itemIcon
|
|
65
|
+
),
|
|
66
|
+
children: o.icon
|
|
67
|
+
}
|
|
68
|
+
),
|
|
69
|
+
/* @__PURE__ */ t("span", { children: o.label })
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
e + "-" + d
|
|
73
|
+
) : o.type === "divider" ? /* @__PURE__ */ t(
|
|
74
|
+
k,
|
|
75
|
+
{
|
|
76
|
+
className: p(
|
|
77
|
+
n("dropdown-menu-divider"),
|
|
78
|
+
r == null ? void 0 : r.separator
|
|
79
|
+
)
|
|
80
|
+
},
|
|
81
|
+
e + "-" + d
|
|
82
|
+
) : null,
|
|
83
|
+
[n, r, w, P, k]
|
|
84
|
+
), E = M(
|
|
85
|
+
(o, e) => /* @__PURE__ */ g(
|
|
86
|
+
l.Group,
|
|
87
|
+
{
|
|
88
|
+
className: p(n("dropdown-menu-group"), r == null ? void 0 : r.group),
|
|
89
|
+
children: [
|
|
90
|
+
o.label && /* @__PURE__ */ t(
|
|
91
|
+
l.GroupLabel,
|
|
92
|
+
{
|
|
93
|
+
className: p(
|
|
94
|
+
n("dropdown-menu-header"),
|
|
95
|
+
r == null ? void 0 : r.groupLabel
|
|
96
|
+
),
|
|
97
|
+
children: /* @__PURE__ */ t("span", { children: o.label })
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
o.items.map((d, u) => h(d, e, u))
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"group" + e
|
|
104
|
+
),
|
|
105
|
+
[n, r, h]
|
|
106
|
+
), S = M(
|
|
107
|
+
(o, e) => o.label ? /* @__PURE__ */ t(
|
|
108
|
+
i.Group,
|
|
109
|
+
{
|
|
110
|
+
className: p(n("dropdown-menu-group"), r == null ? void 0 : r.group),
|
|
111
|
+
heading: /* @__PURE__ */ t(
|
|
112
|
+
l.GroupLabel,
|
|
113
|
+
{
|
|
114
|
+
className: p(
|
|
115
|
+
n("dropdown-menu-header"),
|
|
116
|
+
r == null ? void 0 : r.groupLabel
|
|
117
|
+
),
|
|
118
|
+
children: /* @__PURE__ */ t("span", { children: o.label })
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
children: o.items.map((d, u) => h(d, e, u))
|
|
122
|
+
},
|
|
123
|
+
"group" + e
|
|
124
|
+
) : o.items.map((d, u) => h(d, e, u)),
|
|
125
|
+
[n, r, h]
|
|
126
|
+
), q = M(
|
|
127
|
+
() => f ? /* @__PURE__ */ g(i, { children: [
|
|
128
|
+
/* @__PURE__ */ t(
|
|
129
|
+
i.Input,
|
|
130
|
+
{
|
|
131
|
+
...C,
|
|
132
|
+
render: /* @__PURE__ */ t(X, { allowClear: !0, className: n("dropdown-menu-search") })
|
|
133
|
+
}
|
|
134
|
+
),
|
|
135
|
+
/* @__PURE__ */ g(i.List, { children: [
|
|
136
|
+
/* @__PURE__ */ t(i.Empty, { className: n("dropdown-menu-empty"), children: "No results found." }),
|
|
137
|
+
v.map(S)
|
|
138
|
+
] })
|
|
139
|
+
] }) : v.map(E),
|
|
140
|
+
[
|
|
141
|
+
f,
|
|
142
|
+
v,
|
|
143
|
+
S,
|
|
144
|
+
E,
|
|
145
|
+
C,
|
|
146
|
+
n
|
|
147
|
+
]
|
|
148
|
+
), b = f ? J : l;
|
|
149
|
+
return /* @__PURE__ */ g(
|
|
150
|
+
b.Root,
|
|
151
|
+
{
|
|
152
|
+
openOnHover: B,
|
|
153
|
+
open: T,
|
|
154
|
+
onOpenChange: U,
|
|
155
|
+
children: [
|
|
156
|
+
/* @__PURE__ */ t(
|
|
157
|
+
b.Trigger,
|
|
158
|
+
{
|
|
159
|
+
render: j,
|
|
160
|
+
ref: V,
|
|
161
|
+
className: p(
|
|
162
|
+
n("dropdown-menu-trigger"),
|
|
163
|
+
r == null ? void 0 : r.trigger,
|
|
164
|
+
G
|
|
165
|
+
)
|
|
166
|
+
}
|
|
167
|
+
),
|
|
168
|
+
/* @__PURE__ */ t(b.Portal, { children: /* @__PURE__ */ t(
|
|
169
|
+
b.Positioner,
|
|
170
|
+
{
|
|
171
|
+
side: L.placement,
|
|
172
|
+
align: L.align,
|
|
173
|
+
sideOffset: 4,
|
|
174
|
+
className: p(n("dropdown-menu-root"), r == null ? void 0 : r.root),
|
|
175
|
+
children: /* @__PURE__ */ t(
|
|
176
|
+
b.Popup,
|
|
177
|
+
{
|
|
178
|
+
className: p(
|
|
179
|
+
n("dropdown-menu"),
|
|
180
|
+
R,
|
|
181
|
+
r == null ? void 0 : r.popup,
|
|
182
|
+
G
|
|
183
|
+
),
|
|
184
|
+
style: {
|
|
185
|
+
"--size-width": y in A ? A[y] : void 0
|
|
186
|
+
},
|
|
187
|
+
children: q()
|
|
188
|
+
}
|
|
189
|
+
)
|
|
190
|
+
}
|
|
191
|
+
) })
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
);
|
|
195
|
+
};
|
|
196
|
+
export {
|
|
197
|
+
no as DropdownMenu
|
|
198
|
+
};
|
|
199
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/dropdown-menu/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n useCls,\n clsx,\n useAntdCssVarClassname,\n parseAntdPlacement,\n WithRenderPropProps,\n} from \"../utils\";\nimport { Menu } from \"@base-ui-components/react/menu\";\nimport { type PopoverProps } from \"antd/es/popover\";\nimport { Ref, useCallback, useRef } from \"react\";\nimport { useControlled } from \"@base-ui-components/react/utils\";\nimport { Command } from \"../cmdk\";\n\n// Import component-specific styles\nimport \"./style.css\";\nimport { Popover } from \"@base-ui-components/react\";\nimport { PopupPanelSize } from \"../popup-panel/constants\";\nimport { Input } from \"../input\";\n\nexport type DropdownMenuItemType =\n | {\n type: \"item\";\n label?: React.ReactNode;\n disabled?: boolean;\n icon?: React.ReactNode;\n key: React.Key;\n onClick?: React.HTMLAttributes<HTMLElement>[\"onClick\"];\n onMouseEnter?: React.HTMLAttributes<HTMLElement>[\"onMouseEnter\"];\n onMouseLeave?: React.HTMLAttributes<HTMLElement>[\"onMouseLeave\"];\n onMouseOver?: React.HTMLAttributes<HTMLElement>[\"onMouseOver\"];\n onMouseOut?: React.HTMLAttributes<HTMLElement>[\"onMouseOut\"];\n danger?: boolean;\n ref?: React.Ref<HTMLElement>;\n }\n | {\n type: \"divider\";\n }\n | {\n type: \"header\";\n title?: React.ReactNode;\n };\n\nexport interface DropdownMenuProps {\n /** Array of menu items to be displayed in the dropdown */\n items: DropdownMenuItemType[];\n /** Custom render function for the trigger element */\n children?: React.ComponentProps<typeof Menu.Trigger>[\"render\"];\n /**\n * Placement of the dropdown relative to the trigger element\n * @default \"bottomLeft\"\n */\n placement?: PopoverProps[\"placement\"];\n /**\n * Whether to open the dropdown on hover instead of click\n * @default false\n */\n openOnHover?: boolean;\n /**\n * Controlled open state of the dropdown\n */\n open?: boolean;\n /**\n * Callback fired when the dropdown open state changes\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Additional CSS class for the dropdown component\n */\n className?: string;\n /**\n * Custom class names for different parts of the dropdown\n * @default {}\n */\n classNames?: {\n root?: string;\n trigger?: string;\n popup?: string;\n group?: string;\n groupLabel?: string;\n item?: string;\n itemIcon?: string;\n itemText?: string;\n separator?: string;\n positioner?: string;\n };\n /**\n * Custom render function for menu items\n */\n itemRender?: (\n item: DropdownMenuItemType,\n props: React.HTMLAttributes<HTMLElement>\n ) => React.ReactElement;\n /**\n * Whether to show search input\n * @default false\n */\n showSearch?: boolean;\n /**\n * Size of the dropdown menu\n * @default \"auto\"\n */\n size?: \"auto\" | keyof typeof PopupPanelSize;\n /**\n * Search placeholder\n */\n searchProps?: Omit<\n React.ComponentProps<typeof Command.Input>,\n \"size\" | \"ref\"\n >;\n}\n\ninterface DropdownMenuGroup {\n label: React.ReactNode | null;\n items: DropdownMenuItemType[];\n}\n\nexport const DropdownMenu = ({\n children,\n items,\n placement,\n openOnHover,\n open: outsideOpen,\n onOpenChange: outsideOnOpenChange,\n className,\n itemRender,\n classNames,\n size = \"auto\",\n showSearch,\n searchProps = {\n placeholder: \"Search...\",\n },\n}: DropdownMenuProps) => {\n const [open, setOpen] = useControlled({\n controlled: outsideOpen,\n default: false,\n name: \"open\",\n });\n const onOpenChange = useCallback(\n (newValue: boolean) => {\n setOpen(newValue);\n outsideOnOpenChange?.(newValue);\n },\n [setOpen, outsideOnOpenChange]\n );\n const cls = useCls();\n const antdCssVarClassname = useAntdCssVarClassname();\n const headlessUIPlacement = parseAntdPlacement(placement);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const itemGroups = items.reduce<DropdownMenuGroup[]>((acc, current) => {\n // If no groups exist yet and current item is not a header, create default group\n if (acc.length === 0 && current.type !== \"header\") {\n acc.push({\n label: null,\n items: [],\n });\n }\n\n // If it's a header, create a new group\n if (current.type === \"header\") {\n acc.push({\n label: current.title,\n items: [],\n });\n }\n // If it's an item and we have at least one group, add it to the last group's items\n else if (\n (current.type === \"item\" || current.type === \"divider\") &&\n acc.length > 0\n ) {\n acc[acc.length - 1].items.push(current);\n }\n // Skip dividers\n return acc;\n }, []);\n\n const MenuItem = showSearch ? Command.Item : Menu.Item;\n const MenuSeparator = showSearch ? Command.Separator : Menu.Separator;\n\n const renderMenuItem = useCallback(\n (item: DropdownMenuItemType, i: number, j: number) => {\n if (item.type === \"item\") {\n return (\n <MenuItem\n key={i + \"-\" + j}\n className={clsx(cls(\"dropdown-menu-item\"), classNames?.item)}\n disabled={item.disabled}\n data-danger={item.danger}\n ref={item.ref as Ref<HTMLDivElement>}\n onClick={item.onClick}\n onMouseEnter={item.onMouseEnter}\n onMouseLeave={item.onMouseLeave}\n onMouseOver={item.onMouseOver}\n onMouseOut={item.onMouseOut}\n render={\n itemRender\n ? (itemProps) => itemRender(item, itemProps)\n : undefined\n }\n >\n {item.icon && (\n <span\n className={clsx(\n cls(\"dropdown-menu-item-icon\"),\n classNames?.itemIcon\n )}\n >\n {item.icon}\n </span>\n )}\n <span>{item.label}</span>\n </MenuItem>\n );\n } else if (item.type === \"divider\") {\n return (\n <MenuSeparator\n key={i + \"-\" + j}\n className={clsx(\n cls(\"dropdown-menu-divider\"),\n classNames?.separator\n )}\n />\n );\n }\n\n // else if (item.type === \"header\") {\n // return (\n // <Menu.GroupLabel\n // key={i + \"-\" + j}\n // className={clsx(\n // cls(\"dropdown-menu-header\"),\n // classNames?.groupLabel\n // )}\n // >\n // <span>{item.title}</span>\n // </Menu.GroupLabel>\n // );\n // }\n return null;\n },\n [cls, classNames, itemRender, MenuItem, MenuSeparator]\n );\n\n const renderGroup = useCallback(\n (group: DropdownMenuGroup, index: number) => (\n <Menu.Group\n key={\"group\" + index}\n className={clsx(cls(\"dropdown-menu-group\"), classNames?.group)}\n >\n {group.label && (\n <Menu.GroupLabel\n className={clsx(\n cls(\"dropdown-menu-header\"),\n classNames?.groupLabel\n )}\n >\n <span>{group.label}</span>\n </Menu.GroupLabel>\n )}\n {group.items.map((item, j) => renderMenuItem(item, index, j))}\n </Menu.Group>\n ),\n [cls, classNames, renderMenuItem]\n );\n\n const renderGroupShowSearch = useCallback(\n (group: DropdownMenuGroup, index: number) =>\n group.label ? (\n <Command.Group\n key={\"group\" + index}\n className={clsx(cls(\"dropdown-menu-group\"), classNames?.group)}\n heading={\n <Menu.GroupLabel\n className={clsx(\n cls(\"dropdown-menu-header\"),\n classNames?.groupLabel\n )}\n >\n <span>{group.label}</span>\n </Menu.GroupLabel>\n }\n >\n {group.items.map((item, j) => renderMenuItem(item, index, j))}\n </Command.Group>\n ) : (\n group.items.map((item, j) => renderMenuItem(item, index, j))\n ),\n [cls, classNames, renderMenuItem]\n );\n\n const renderMenuInner = useCallback(\n () =>\n showSearch ? (\n <Command>\n <Command.Input\n {...searchProps}\n render={\n <Input allowClear className={cls(\"dropdown-menu-search\")} />\n }\n />\n <Command.List>\n <Command.Empty className={cls(\"dropdown-menu-empty\")}>\n No results found.\n </Command.Empty>\n {itemGroups.map(renderGroupShowSearch)}\n </Command.List>\n </Command>\n ) : (\n itemGroups.map(renderGroup)\n ),\n [\n showSearch,\n itemGroups,\n renderGroupShowSearch,\n renderGroup,\n searchProps,\n cls,\n ]\n );\n\n const BaseComponent = showSearch ? Popover : Menu;\n\n return (\n <BaseComponent.Root\n openOnHover={openOnHover}\n open={open}\n onOpenChange={onOpenChange}\n >\n <BaseComponent.Trigger\n render={children}\n ref={buttonRef}\n className={clsx(\n cls(\"dropdown-menu-trigger\"),\n classNames?.trigger,\n antdCssVarClassname\n )}\n />\n <BaseComponent.Portal>\n <BaseComponent.Positioner\n side={headlessUIPlacement.placement}\n align={headlessUIPlacement.align}\n sideOffset={4}\n className={clsx(cls(\"dropdown-menu-root\"), classNames?.root)}\n >\n <BaseComponent.Popup\n className={clsx(\n cls(\"dropdown-menu\"),\n className,\n classNames?.popup,\n antdCssVarClassname\n )}\n style={\n {\n \"--size-width\":\n size in PopupPanelSize ? PopupPanelSize[size] : undefined,\n } as React.CSSProperties\n }\n >\n {renderMenuInner()}\n </BaseComponent.Popup>\n </BaseComponent.Positioner>\n </BaseComponent.Portal>\n </BaseComponent.Root>\n );\n};\n"],"names":["DropdownMenu","children","items","placement","openOnHover","outsideOpen","outsideOnOpenChange","className","itemRender","classNames","size","showSearch","searchProps","open","setOpen","useControlled","onOpenChange","useCallback","newValue","cls","useCls","antdCssVarClassname","useAntdCssVarClassname","headlessUIPlacement","parseAntdPlacement","buttonRef","useRef","itemGroups","acc","current","MenuItem","Command","Menu","MenuSeparator","renderMenuItem","item","i","j","jsxs","clsx","itemProps","jsx","renderGroup","group","index","renderGroupShowSearch","renderMenuInner","Input","BaseComponent","Popover","PopupPanelSize"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer components{.ds-dropdown-menu-root{z-index:2000}.ds-dropdown-menu{box-shadow:var(--ds-box-shadow-secondary);border-radius:var(--ds-border-radius);background:var(--ds-color-bg-elevated);list-style:none;padding:.25rem;color:var(--ds-color-text);font-size:var(--ds-font-size);font-family:var(--ds-font-family);transition-property:transform,scale,opacity;transition-duration:.2s;transition-timing-function:var(--ds-motion-ease-out);transform-origin:var(--transform-origin);max-width:min(var(--size-width),var(--available-width))}.ds-dropdown-menu[data-ending-style],.ds-dropdown-menu[data-starting-style]{transform:scale(.9);opacity:0}.ds-dropdown-menu:focus{outline:none}.ds-dropdown-menu-item{padding:.375rem .75rem;border-radius:var(--ds-border-radius-sm);transition:all .3s var(--ds-motion-ease-out);cursor:pointer;display:flex;align-items:center}.ds-dropdown-menu-item:focus{outline:none}.ds-dropdown-menu-item:hover{background:var(--ds-control-item-bg-hover)}.ds-dropdown-menu-item:active,.ds-dropdown-menu-item:focus,.ds-dropdown-menu-item[data-focus=true],.ds-dropdown-menu-item[data-selected=true]{background:var(--ds-control-item-bg-active)}.ds-dropdown-menu-item[data-disabled=true]{pointer-events:none;color:var(--ds-color-text-disabled)}.ds-dropdown-menu-item[data-danger=true]{color:var(--ds-color-error)}.ds-dropdown-menu-item[data-danger=true]:hover{background:var(--ds-color-error-bg)}.ds-dropdown-menu-item[data-danger=true]:active,.ds-dropdown-menu-item[data-danger=true]:focus,.ds-dropdown-menu-item[data-danger=true][data-focus=true]{background:var(--ds-color-error-bg-hover)}.ds-dropdown-menu-search{margin-bottom:.25rem}.ds-dropdown-menu-item-icon{display:flex;align-items:center;justify-content:center;margin-right:.5rem;font-size:1rem;color:var(--ds-color-icon)}[data-danger=true] .ds-dropdown-menu-item-icon{color:var(--ds-color-error)}.ds-dropdown-menu-divider{border-bottom:1px solid var(--ds-color-split);margin:.25rem 0}.ds-dropdown-menu-header{font-size:.75rem;font-weight:500;line-height:1rem;text-transform:uppercase;color:var(--ds-color-text-tertiary);padding:.75rem .75rem .25rem}.ds-dropdown-menu-header:first-child{padding-top:.5rem}.ds-dropdown-menu-empty{padding:.375rem .75rem;color:var(--ds-color-text-tertiary)}}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as r, jsxs as p } from "react/jsx-runtime";
|
|
3
|
-
import { ThemeProvider as l } from "../
|
|
4
|
-
import { Modal as n } from "../
|
|
3
|
+
import { ThemeProvider as l } from "../theme-provider/component.js";
|
|
4
|
+
import { Modal as n } from "../modal/index.js";
|
|
5
5
|
import c from "antd/es/app/App";
|
|
6
6
|
import { DSRootContextProvider as s } from "./context.js";
|
|
7
7
|
import './style.css';/* empty css */
|
|
8
|
-
import { Toast as i } from "../
|
|
8
|
+
import { Toast as i } from "../toast/component.js";
|
|
9
9
|
const j = ({
|
|
10
10
|
className: t,
|
|
11
11
|
appendClassesTo: e = "html",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/ds-root/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n ThemeProvider,\n type ThemeProviderProps,\n} from \"../theme-provider/component\";\nimport { Toast } from \"../toast\";\nimport { Modal } from \"../modal\";\nimport App from \"antd/es/app/App\";\nimport { DSRootContextProvider } from \"./context\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport interface DSRootProps extends ThemeProviderProps {\n /**\n * Classname passed to App component\n */\n className?: string;\n\n /**\n * Element to which the theme classes are appended\n * @default \"html\"\n */\n appendClassesTo?: string | HTMLElement;\n}\n\nexport const DSRoot = ({\n className,\n appendClassesTo = \"html\",\n children,\n theme,\n ...props\n}: DSRootProps) => {\n return (\n <DSRootContextProvider value={{ theme: theme }}>\n <ThemeProvider theme={theme} {...props} appendClassesTo={appendClassesTo}>\n <App className={className}>\n <Toast.Provider>\n <Modal.Provider>\n <Toast.List />\n {children}\n </Modal.Provider>\n </Toast.Provider>\n </App>\n </ThemeProvider>\n </DSRootContextProvider>\n );\n};\n"],"names":["DSRoot","className","appendClassesTo","children","theme","props","jsx","DSRootContextProvider","ThemeProvider","App","Toast","jsxs","Modal"],"mappings":";;;;;;;;AA0BO,MAAMA,IAAS,CAAC;AAAA,EACrB,WAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC,EAACC,KAAsB,OAAO,EAAE,OAAAH,EAC9B,GAAA,UAAA,gBAAAE,EAACE,GAAc,EAAA,OAAAJ,GAAe,GAAGC,GAAO,iBAAAH,GACtC,UAAC,gBAAAI,EAAAG,GAAA,EAAI,WAAAR,GACH,UAAC,gBAAAK,EAAAI,EAAM,UAAN,EACC,UAAA,gBAAAC,EAACC,EAAM,UAAN,EACC,UAAA;AAAA,EAAC,gBAAAN,EAAAI,EAAM,MAAN,EAAW;AAAA,EACXP;AACH,EAAA,CAAA,EACF,CAAA,GACF,EAAA,CACF,EACF,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/components/ds-root/context.ts"],"sourcesContent":["\"use client\";\nimport React from \"react\";\n\nconst DSRootContext = React.createContext<{\n theme: \"light\" | \"dark\";\n}>({\n theme: \"light\",\n});\n\nexport const DSRootContextProvider = DSRootContext.Provider;\n\nexport const useDS = () => React.useContext(DSRootContext);\n"],"names":["DSRootContext","React","DSRootContextProvider","useDS"],"mappings":";;AAGA,MAAMA,IAAgBC,EAAM,cAEzB;AAAA,EACD,OAAO;AACT,CAAC,GAEYC,IAAwBF,EAAc,UAEtCG,IAAQ,MAAMF,EAAM,WAAWD,CAAa;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
3
|
import n from "antd/es/empty";
|
|
3
4
|
import './style.css';/* empty css */
|
|
4
5
|
import { useCls as p } from "../utils/antdUtils.js";
|
|
5
6
|
import { clsx as a } from "../utils/cn.js";
|
|
6
|
-
const c = (
|
|
7
|
+
const c = (e) => /* @__PURE__ */ t(
|
|
7
8
|
"svg",
|
|
8
9
|
{
|
|
9
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -11,7 +12,7 @@ const c = (o) => /* @__PURE__ */ t(
|
|
|
11
12
|
height: "1em",
|
|
12
13
|
fill: "none",
|
|
13
14
|
viewBox: "0 0 32 32",
|
|
14
|
-
...
|
|
15
|
+
...e,
|
|
15
16
|
children: /* @__PURE__ */ t(
|
|
16
17
|
"path",
|
|
17
18
|
{
|
|
@@ -25,17 +26,17 @@ const c = (o) => /* @__PURE__ */ t(
|
|
|
25
26
|
)
|
|
26
27
|
}
|
|
27
28
|
), f = ({
|
|
28
|
-
image:
|
|
29
|
+
image: e,
|
|
29
30
|
size: m = "medium",
|
|
30
31
|
className: r,
|
|
31
32
|
...s
|
|
32
33
|
}) => {
|
|
33
|
-
const
|
|
34
|
+
const o = p(), i = e || /* @__PURE__ */ t(c, { className: o("empty-icon") });
|
|
34
35
|
return /* @__PURE__ */ t(
|
|
35
36
|
n,
|
|
36
37
|
{
|
|
37
38
|
image: i,
|
|
38
|
-
className: a(
|
|
39
|
+
className: a(o("empty", `empty-${m}`), r),
|
|
39
40
|
...s
|
|
40
41
|
}
|
|
41
42
|
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/empty/component.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport {\n default as AntEmpty,\n type EmptyProps as AntEmptyProps,\n} from \"antd/es/empty\";\nimport { useCls, clsx } from \"../utils\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport interface EmptyProps extends AntEmptyProps {\n /**\n * Empty icon size\n * @default 'medium'\n */\n size?: \"small\" | \"medium\" | \"large\";\n}\n\nexport const EmptyIcon: React.FC<React.ComponentPropsWithRef<\"svg\">> = (\n props\n) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n fill=\"none\"\n viewBox=\"0 0 32 32\"\n {...props}\n >\n <path\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeOpacity={\"0.3\"}\n strokeWidth=\"0.05em\"\n d=\"m4 26 3.773-11.316A1 1 0 0 1 8.72 14H29a1 1 0 0 1 .949 1.316L26.386 26zm0 0V8a1 1 0 0 1 1-1h6.666a1 1 0 0 1 .6.2L16 10h9a1 1 0 0 1 1 1v3\"\n ></path>\n </svg>\n);\n\nexport const Empty = ({\n image,\n size = \"medium\",\n className,\n ...rest\n}: EmptyProps) => {\n const cls = useCls();\n const emptyImage = image || <EmptyIcon className={cls(\"empty-icon\")} />;\n return (\n <AntEmpty\n image={emptyImage}\n className={clsx(cls(\"empty\", `empty-${size}`), className)}\n {...rest}\n />\n );\n};\n\nexport default Empty;\n"],"names":["EmptyIcon","props","jsx","Empty","image","size","className","rest","cls","useCls","emptyImage","AntEmpty","clsx"],"mappings":";;;;;;AAmBa,MAAAA,IAA0D,CACrEC,MAEA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,MAAK;AAAA,IACL,SAAQ;AAAA,IACP,GAAGD;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAO;AAAA,QACP,eAAc;AAAA,QACd,gBAAe;AAAA,QACf,eAAe;AAAA,QACf,aAAY;AAAA,QACZ,GAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACH,GAGWC,IAAQ,CAAC;AAAA,EACpB,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,WAAAC;AAAA,EACA,GAAGC;AACL,MAAkB;AAChB,QAAMC,IAAMC,EAAO,GACbC,IAAaN,KAAS,gBAAAF,EAACF,KAAU,WAAWQ,EAAI,YAAY,GAAG;AAEnE,SAAA,gBAAAN;AAAA,IAACS;AAAA,IAAA;AAAA,MACC,OAAOD;AAAA,MACP,WAAWE,EAAKJ,EAAI,SAAS,SAASH,CAAI,EAAE,GAAGC,CAAS;AAAA,MACvD,GAAGC;AAAA,IAAA;AAAA,EACN;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/field/component.tsx"],"sourcesContent":["\"use client\";\nimport type { InputProps, InputRef, SelectProps } from \"antd\";\nimport { Input, Select } from \"antd\";\nimport { SizeType } from \"antd/es/config-provider/SizeContext\";\nimport { RefSelectProps } from \"antd/es/select\";\nimport { ForwardedRef, forwardRef, useId } from \"react\";\nimport { clsx, useCls, useAntdCssVarClassname } from \"../utils\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type FieldType = \"input\" | \"select\";\n\ntype RefType<T extends FieldType> = T extends \"input\"\n ? InputRef\n : T extends \"select\"\n ? RefSelectProps\n : never;\n\ninterface BaseFieldProps extends React.HTMLAttributes<HTMLDivElement> {\n label?: React.ReactNode;\n /**\n * Block or inline display\n * @default false\n */\n block?: boolean;\n /**\n * Size of the field\n * @default \"small\"\n */\n size?: SizeType;\n /**\n * Colon after label\n * @default true\n */\n colon?: boolean;\n}\n\ntype InputFieldProps = BaseFieldProps & {\n type?: \"input\";\n inputProps: InputProps;\n};\n\ntype SelectFieldProps = BaseFieldProps & {\n type: \"select\";\n selectProps: SelectProps;\n};\n\nexport type FieldProps<T extends FieldType = \"input\"> = T extends \"input\"\n ? InputFieldProps\n : SelectFieldProps;\n\n/**\n * Generic Field component that forwards ref to Input or Select\n */\nconst FieldInner = <T extends FieldType>(\n {\n label,\n className,\n size = \"small\",\n colon = true,\n type = \"input\",\n ...rest\n }: FieldProps<T>,\n ref: ForwardedRef<RefType<T>>\n) => {\n const cls = useCls();\n const id = useId();\n const cssVarClassname = useAntdCssVarClassname();\n const renderInputOrSelect = () => {\n if (type === \"select\") {\n return (\n // @ts-expect-error: this is a workaround for the type error\n <Select id={id} ref={ref} size={size} {...(rest.selectProps || {})} />\n );\n }\n // @ts-expect-error: this is a workaround for the type error\n return <Input id={id} ref={ref} size={size} {...(rest.inputProps || {})} />;\n };\n return (\n <div className={clsx(cls(\"field\"), cssVarClassname, className)}>\n {label && (\n <label htmlFor={id} className={cls(\"field-label\")}>\n {label}\n {colon ? \":\" : \"\"}\n </label>\n )}\n {renderInputOrSelect()}\n </div>\n );\n};\n\nexport const Field = forwardRef(FieldInner) as <T extends FieldType>(\n props: FieldProps<T> & { ref?: ForwardedRef<RefType<T>> }\n) => ReturnType<typeof FieldInner<T>>;\n"],"names":["FieldInner","label","className","size","colon","type","rest","ref","cls","useCls","id","useId","cssVarClassname","useAntdCssVarClassname","renderInputOrSelect","jsx","Select","Input","jsxs","clsx","Field","forwardRef"],"mappings":";;;;;;;AAuDA,MAAMA,IAAa,CACjB;AAAA,EACE,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GACAC,MACG;AACH,QAAMC,IAAMC,EAAO,GACbC,IAAKC,EAAM,GACXC,IAAkBC,EAAuB,GACzCC,IAAsB,MACtBT,MAAS;AAAA;AAAA,IAGT,gBAAAU,EAACC,KAAO,IAAAN,GAAQ,KAAAH,GAAU,MAAAJ,GAAa,GAAIG,EAAK,eAAe,GAAK,CAAA;AAAA,MAIjE,gBAAAS,EAACE,KAAM,IAAAP,GAAQ,KAAAH,GAAU,MAAAJ,GAAa,GAAIG,EAAK,cAAc,CAAA,GAAK;AAGzE,SAAA,gBAAAY,EAAC,SAAI,WAAWC,EAAKX,EAAI,OAAO,GAAGI,GAAiBV,CAAS,GAC1D,UAAA;AAAA,IAAAD,uBACE,SAAM,EAAA,SAASS,GAAI,WAAWF,EAAI,aAAa,GAC7C,UAAA;AAAA,MAAAP;AAAA,MACAG,IAAQ,MAAM;AAAA,IAAA,GACjB;AAAA,IAEDU,EAAoB;AAAA,EAAA,GACvB;AAEJ,GAEaM,IAAQC,EAAWrB,CAAU;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/form/component.tsx"],"sourcesContent":["\"use client\";\nimport ErrorList from \"antd/es/form/ErrorList\";\nimport {\n FormProps as AntdFormProps,\n default as AntdInternalForm,\n useForm,\n useWatch,\n} from \"antd/es/form/Form\";\nimport FormList from \"antd/es/form/FormList\";\nimport { FormProvider } from \"antd/es/form/context\";\nimport useFormInstance from \"antd/es/form/hooks/useFormInstance\";\nimport * as React from \"react\";\nimport { FormItem, type FormItemProps } from \"./item\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport interface FormProps<Values = any> extends AntdFormProps<Values> {}\n\ninterface InternalFormProps<Values = any>\n extends React.ComponentProps<typeof AntdInternalForm<Values>> {}\n\nconst InternalForm = <Values = any,>({\n ...rest\n}: InternalFormProps<Values>) => {\n return <AntdInternalForm {...rest} />;\n};\n\nexport const Form = Object.assign(InternalForm, {\n useForm,\n useFormInstance,\n useWatch,\n Item: FormItem,\n List: FormList,\n ErrorList,\n Provider: FormProvider,\n});\n\nexport type { FormItemProps };\n"],"names":["InternalForm","rest","jsx","AntdInternalForm","Form","useForm","useFormInstance","useWatch","FormItem","FormList","ErrorList","FormProvider"],"mappings":";;;;;;;;;AAsBA,MAAMA,IAAe,CAAgB;AAAA,EACnC,GAAGC;AACL,MACS,gBAAAC,EAACC,GAAkB,EAAA,GAAGF,EAAM,CAAA,GAGxBG,IAAO,OAAO,OAAOJ,GAAc;AAAA,EAC9C,SAAAK;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAMC;AAAA,EACN,MAAMC;AAAA,EACN,WAAAC;AAAA,EACA,UAAUC;AACZ,CAAC;"}
|
|
@@ -4,7 +4,7 @@ import { isValidElement as l } from "react";
|
|
|
4
4
|
import a from "antd/es/form/FormItem";
|
|
5
5
|
import { Question as c } from "@bioturing/assets";
|
|
6
6
|
import { useCls as f } from "../utils/antdUtils.js";
|
|
7
|
-
import { IconButton as d } from "../
|
|
7
|
+
import { IconButton as d } from "../icon-button/component.js";
|
|
8
8
|
const N = ({
|
|
9
9
|
tooltip: e,
|
|
10
10
|
label: o,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../src/components/form/item.tsx"],"sourcesContent":["\"use client\";\nimport { isValidElement } from \"react\";\nimport {\n default as AntdFormItem,\n type FormItemProps as AntdFormItemProps,\n} from \"antd/es/form/FormItem\";\nimport { Question } from \"@bioturing/assets\";\nimport { IconButton } from \"../icon-button\";\nimport { useCls } from \"../utils\";\n\nexport interface FormItemProps<Values = unknown>\n extends AntdFormItemProps<Values> {\n // tooltip?: React.ReactNode | TooltipProps;\n optionalMark?: boolean | React.ReactNode;\n}\n\nexport const FormItem = <Values = unknown,>({\n tooltip,\n label,\n optionalMark,\n ...rest\n}: FormItemProps<Values>) => {\n const cls = useCls();\n const renderedLabel =\n tooltip || optionalMark ? (\n <span className={cls(\"form-item-label-inner\")}>\n {label}\n {tooltip && (\n <IconButton\n className={cls(\"form-item-explaination-icon\")}\n label={\n typeof tooltip == \"string\" || isValidElement(tooltip)\n ? tooltip\n : undefined\n }\n >\n <Question />\n </IconButton>\n )}\n {optionalMark && (\n <span className={cls(\"form-item-label-optional-mark\")}>\n {typeof optionalMark == \"boolean\" ? \"(optional)\" : optionalMark}\n </span>\n )}\n </span>\n ) : (\n label\n );\n return <AntdFormItem label={renderedLabel} {...rest} />;\n};\n"],"names":["FormItem","tooltip","label","optionalMark","rest","cls","useCls","renderedLabel","jsxs","jsx","IconButton","isValidElement","Question","AntdFormItem"],"mappings":";;;;;;;AAgBO,MAAMA,IAAW,CAAoB;AAAA,EAC1C,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAA6B;AAC3B,QAAMC,IAAMC,EAAO,GACbC,IACJN,KAAWE,IACT,gBAAAK,EAAC,UAAK,WAAWH,EAAI,uBAAuB,GACzC,UAAA;AAAA,IAAAH;AAAA,IACAD,KACC,gBAAAQ;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAWL,EAAI,6BAA6B;AAAA,QAC5C,OACE,OAAOJ,KAAW,YAAYU,EAAeV,CAAO,IAChDA,IACA;AAAA,QAGN,4BAACW,GAAS,CAAA,CAAA;AAAA,MAAA;AAAA,IACZ;AAAA,IAEDT,KACE,gBAAAM,EAAA,QAAA,EAAK,WAAWJ,EAAI,+BAA+B,GACjD,UAAO,OAAAF,KAAgB,YAAY,eAAeA,EACrD,CAAA;AAAA,EAAA,EAAA,CAEJ,IAEAD;AAEJ,SAAQ,gBAAAO,EAAAI,GAAA,EAAa,OAAON,GAAgB,GAAGH,GAAM;AACvD;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const u = (t) => {
|
|
3
|
+
const s = Array.isArray(t) ? t : [t], n = window.getComputedStyle(document.body);
|
|
4
|
+
return s.reduce((r, e) => {
|
|
5
|
+
const o = e.startsWith("--") ? e : `--${e}`;
|
|
6
|
+
return r[o] = n.getPropertyValue(o), r;
|
|
7
|
+
}, {});
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
u as useCSSVariables
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useCSSVariables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCSSVariables.js","sources":["../../../src/components/hooks/useCSSVariables.ts"],"sourcesContent":["\"use client\";\n\n/**\n * Get CSS variables from the document\n * @param variables CSS variable names\n * @returns CSS variable values\n */\nexport const useCSSVariables = (variables: string | string[]) => {\n const variablesList = Array.isArray(variables) ? variables : [variables];\n const el = window.getComputedStyle(document.body);\n return variablesList.reduce((acc, variable) => {\n const variableName = variable.startsWith(\"--\") ? variable : `--${variable}`;\n acc[variableName] = el.getPropertyValue(variableName);\n return acc;\n }, {} as Record<string, string>);\n};\n"],"names":["useCSSVariables","variables","variablesList","el","acc","variable","variableName"],"mappings":";AAOa,MAAAA,IAAkB,CAACC,MAAiC;AAC/D,QAAMC,IAAgB,MAAM,QAAQD,CAAS,IAAIA,IAAY,CAACA,CAAS,GACjEE,IAAK,OAAO,iBAAiB,SAAS,IAAI;AAChD,SAAOD,EAAc,OAAO,CAACE,GAAKC,MAAa;AAC7C,UAAMC,IAAeD,EAAS,WAAW,IAAI,IAAIA,IAAW,KAAKA,CAAQ;AACzE,WAAAD,EAAIE,CAAY,IAAIH,EAAG,iBAAiBG,CAAY,GAC7CF;AAAA,EACT,GAAG,EAA4B;AACjC;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useDS as c } from "../
|
|
1
|
+
import { useDS as c } from "../ds-root/context.js";
|
|
2
2
|
import { getTokensByTheme as C } from "../../tokens/utils.js";
|
|
3
3
|
import { chartColorTokens as h } from "../../tokens/charts/palettes/cloudscape.js";
|
|
4
4
|
import { CATEGORICAL_PALETTE_NAMES as m, getCategoricalChartColors as L, SEQUENTIAL_PALETTE_NAMES as A, getSequentialChartColors as p } from "../../tokens/charts/palettes/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCharts.js","sources":["../../../src/components/hooks/useCharts.ts"],"sourcesContent":["import { useDS } from \"../
|
|
1
|
+
{"version":3,"file":"useCharts.js","sources":["../../../src/components/hooks/useCharts.ts"],"sourcesContent":["import { useDS } from \"../ds-root/context\";\nimport { getTokensByTheme } from \"../../tokens/utils\";\nimport { chartColorTokens } from \"../../tokens/charts/palettes/cloudscape\";\n\nimport {\n SequentialPaletteName,\n CategoricalPaletteName,\n CATEGORICAL_PALETTE_NAMES,\n getCategoricalChartColors,\n getSequentialChartColors,\n SEQUENTIAL_PALETTE_NAMES,\n Theme,\n} from \"../../tokens\";\n\nexport interface UseChartsOptions {\n /**\n * The palette to use for the charts.\n * @default \"cloudscape\"\n */\n palette?: SequentialPaletteName | CategoricalPaletteName;\n /**\n * The theme to use for the charts.\n * @default \"light\"\n */\n theme?: Theme;\n}\n\n/**\n * Get chart colors and axis configuration based on the current theme.\n * @param options\n * @returns\n */\nexport const useCharts = (\n options: UseChartsOptions = {\n palette: \"cloudscape\",\n theme: undefined,\n }\n) => {\n const { theme: themeContext } = useDS();\n const theme = options.theme || themeContext;\n const themedChartColorTokens = getTokensByTheme(chartColorTokens, theme);\n const axisLineColor = themedChartColorTokens[\"colorChartsLineAxis\"];\n const splitLineColor = themedChartColorTokens[\"colorChartsLineGrid\"];\n const axisLabelColor = themedChartColorTokens[\"colorChartsLabelAxis\"];\n\n const palette = options.palette;\n\n const chartColors = CATEGORICAL_PALETTE_NAMES.includes(\n palette as CategoricalPaletteName\n )\n ? getCategoricalChartColors(palette as CategoricalPaletteName, theme)\n : SEQUENTIAL_PALETTE_NAMES.includes(palette as SequentialPaletteName)\n ? getSequentialChartColors(palette as SequentialPaletteName, theme)\n : [];\n const echartsAxisConfig = {\n axisLine: { lineStyle: { color: axisLineColor } },\n splitLine: { lineStyle: { color: splitLineColor } },\n axisLabel: {\n color: axisLabelColor,\n fontFamily: \"InterVariable, Inter, Helvetica, Arial, sans-serif\",\n },\n };\n\n return {\n axisLineColor,\n splitLineColor,\n axisLabelColor,\n chartColors,\n echartsAxisConfig,\n };\n};\n"],"names":["useCharts","options","themeContext","useDS","theme","themedChartColorTokens","getTokensByTheme","chartColorTokens","axisLineColor","splitLineColor","axisLabelColor","palette","chartColors","CATEGORICAL_PALETTE_NAMES","getCategoricalChartColors","SEQUENTIAL_PALETTE_NAMES","getSequentialChartColors"],"mappings":";;;;AAgCa,MAAAA,IAAY,CACvBC,IAA4B;AAAA,EAC1B,SAAS;AAAA,EACT,OAAO;AACT,MACG;AACH,QAAM,EAAE,OAAOC,EAAa,IAAIC,EAAM,GAChCC,IAAQH,EAAQ,SAASC,GACzBG,IAAyBC,EAAiBC,GAAkBH,CAAK,GACjEI,IAAgBH,EAAuB,qBACvCI,IAAiBJ,EAAuB,qBACxCK,IAAiBL,EAAuB,sBAExCM,IAAUV,EAAQ,SAElBW,IAAcC,EAA0B;AAAA,IAC5CF;AAAA,EAEE,IAAAG,EAA0BH,GAAmCP,CAAK,IAClEW,EAAyB,SAASJ,CAAgC,IAClEK,EAAyBL,GAAkCP,CAAK,IAChE,CAAC;AAUE,SAAA;AAAA,IACL,eAAAI;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAE;AAAA,IACA,mBAdwB;AAAA,MACxB,UAAU,EAAE,WAAW,EAAE,OAAOJ,IAAgB;AAAA,MAChD,WAAW,EAAE,WAAW,EAAE,OAAOC,IAAiB;AAAA,MAClD,WAAW;AAAA,QACT,OAAOC;AAAA,QACP,YAAY;AAAA,MAAA;AAAA,IAEhB;AAAA,EAQA;AACF;"}
|
|
@@ -3,8 +3,8 @@ import { jsx as m } from "react/jsx-runtime";
|
|
|
3
3
|
import { forwardRef as w } from "react";
|
|
4
4
|
import { useRender as N } from "@base-ui-components/react/use-render";
|
|
5
5
|
import './style.css';/* empty css */
|
|
6
|
-
import { Tooltip as S } from "../
|
|
7
|
-
import { Spin as T } from "../
|
|
6
|
+
import { Tooltip as S } from "../tooltip/component.js";
|
|
7
|
+
import { Spin as T } from "../spin/component.js";
|
|
8
8
|
import { useCls as $ } from "../utils/antdUtils.js";
|
|
9
9
|
import { clsx as k } from "../utils/cn.js";
|
|
10
10
|
const q = ({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/icon-button/component.tsx"],"sourcesContent":["\"use client\";\nimport React, {\n forwardRef,\n type ElementType,\n type ComponentPropsWithoutRef,\n type ReactElement,\n type Ref,\n type AnchorHTMLAttributes,\n ComponentPropsWithRef,\n} from \"react\";\nimport { Tooltip, TooltipProps } from \"../tooltip\";\nimport { useCls, clsx } from \"../utils\";\nimport { useRender } from \"@base-ui-components/react/use-render\";\nimport { Spin } from \"../spin\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Base props without href/as handling\ntype IconButtonBaseProps = {\n /**\n * Label text or element to display within tooltip\n * @default undefined\n */\n label?: React.ReactNode;\n /**\n * Size of the icon button: small (1.25rem) or medium (1.5rem)\n * @default medium\n */\n size?: \"small\" | \"medium\";\n /**\n * Whether to apply negative margin for better visual alignment\n * @default true\n */\n negativeMargin?: boolean;\n /**\n * Whether to show loading state\n * @default false\n */\n loading?: boolean;\n /**\n * Props to pass to the Tooltip component when wrapping the button\n */\n tooltipProps?: TooltipProps;\n /**\n * Custom render function for the button\n */\n render?: useRender.RenderProp<{ loading: boolean }>;\n};\n\n// Extract anchor-specific props we want to automatically handle\ntype AnchorSpecificProps = Pick<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n \"target\" | \"rel\" | \"download\" | \"hrefLang\" | \"referrerPolicy\"\n>;\n\n// Props when href is provided - as defaults to 'a' and includes anchor-specific props\ntype WithHrefProps<E extends ElementType = \"a\"> = IconButtonBaseProps & {\n href: string;\n as?: E;\n} & AnchorSpecificProps;\n\n// Props when href is not provided - as defaults to 'button'\ntype WithoutHrefProps<E extends ElementType = \"button\"> =\n IconButtonBaseProps & {\n href?: undefined;\n as?: E;\n } & {\n [K in keyof AnchorSpecificProps]?: never;\n };\n\n// Combined props type with conditional behavior\ntype IconButtonOwnProps<E extends ElementType = ElementType> =\n | WithHrefProps<E>\n | WithoutHrefProps<E>;\n\nexport type IconButtonProps<E extends ElementType = \"button\"> =\n IconButtonOwnProps<E> &\n Omit<ComponentPropsWithoutRef<E>, keyof IconButtonOwnProps<E>>;\n\n/**\n * A type-safe polymorphic component pattern\n */\ninterface PolymorphicComponentProps<E extends ElementType = \"button\"> {\n as?: E;\n href?: string;\n}\n\n/**\n * Type for wrapping the forwardRef implementation\n */\ntype IconButtonComponent = <E extends ElementType = \"button\">(\n props: IconButtonProps<E> & { ref?: ComponentPropsWithRef<E>[\"ref\"] }\n) => ReactElement;\n\n/**\n * Implementation of the IconButton component\n */\nconst IconButtonImpl = <E extends ElementType = \"button\">(\n {\n label,\n size = \"medium\",\n negativeMargin = true,\n children,\n className,\n tooltipProps = {},\n as,\n href,\n // Extract anchor-specific props\n target,\n rel,\n download,\n hrefLang,\n referrerPolicy,\n loading,\n render,\n ...rest\n }: IconButtonProps<E> & PolymorphicComponentProps<E>,\n ref: Ref<Element>\n) => {\n const cls = useCls();\n const buttonClasses = clsx(\n cls(\"icon-button\"),\n cls(`icon-button-${size}`),\n cls(negativeMargin ? \"icon-button-negative-margin\" : \"\"),\n className\n );\n\n // Use a type assertion for the component to avoid TypeScript errors\n const Component = (as || (href ? \"a\" : \"button\")) as ElementType;\n\n const elementProps = {\n ref,\n className: buttonClasses,\n ...(Component === \"button\" && { type: \"button\" }),\n ...(Component === \"a\"\n ? {\n ...(href && { href }),\n ...(target !== undefined && { target }),\n ...(rel !== undefined && { rel }),\n ...(download !== undefined && { download }),\n ...(hrefLang !== undefined && { hrefLang }),\n ...(referrerPolicy !== undefined && { referrerPolicy }),\n }\n : {}),\n \"data-loading\": loading,\n children: loading ? <Spin /> : children,\n ...rest,\n };\n\n const element = useRender({\n ref,\n render: render || <Component />,\n props: elementProps,\n state: {\n loading,\n },\n });\n\n return label ? (\n <Tooltip title={label} arrow={false} {...tooltipProps}>\n {element}\n </Tooltip>\n ) : (\n element\n );\n};\n\n// Export with correct typing\nexport const IconButton = forwardRef(IconButtonImpl) as IconButtonComponent;\n"],"names":["IconButtonImpl","label","size","negativeMargin","children","className","tooltipProps","as","href","target","rel","download","hrefLang","referrerPolicy","loading","render","rest","ref","cls","useCls","buttonClasses","clsx","Component","elementProps","jsx","Spin","element","useRender","Tooltip","IconButton","forwardRef"],"mappings":";;;;;;;;;AAkGA,MAAMA,IAAiB,CACrB;AAAA,EACE,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,gBAAAC,IAAiB;AAAA,EACjB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC,IAAe,CAAC;AAAA,EAChB,IAAAC;AAAA,EACA,MAAAC;AAAA;AAAA,EAEA,QAAAC;AAAA,EACA,KAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,GAAGC;AACL,GACAC,MACG;AACH,QAAMC,IAAMC,EAAO,GACbC,IAAgBC;AAAA,IACpBH,EAAI,aAAa;AAAA,IACjBA,EAAI,eAAehB,CAAI,EAAE;AAAA,IACzBgB,EAAIf,IAAiB,gCAAgC,EAAE;AAAA,IACvDE;AAAA,EACF,GAGMiB,IAAaf,MAAOC,IAAO,MAAM,WAEjCe,IAAe;AAAA,IACnB,KAAAN;AAAA,IACA,WAAWG;AAAA,IACX,GAAIE,MAAc,YAAY,EAAE,MAAM,SAAS;AAAA,IAC/C,GAAIA,MAAc,MACd;AAAA,MACE,GAAId,KAAQ,EAAE,MAAAA,EAAK;AAAA,MACnB,GAAIC,MAAW,UAAa,EAAE,QAAAA,EAAO;AAAA,MACrC,GAAIC,MAAQ,UAAa,EAAE,KAAAA,EAAI;AAAA,MAC/B,GAAIC,MAAa,UAAa,EAAE,UAAAA,EAAS;AAAA,MACzC,GAAIC,MAAa,UAAa,EAAE,UAAAA,EAAS;AAAA,MACzC,GAAIC,MAAmB,UAAa,EAAE,gBAAAA,EAAe;AAAA,IAAA,IAEvD,CAAC;AAAA,IACL,gBAAgBC;AAAA,IAChB,UAAUA,IAAW,gBAAAU,EAAAC,GAAA,CAAA,CAAK,IAAKrB;AAAA,IAC/B,GAAGY;AAAA,EACL,GAEMU,IAAUC,EAAU;AAAA,IACxB,KAAAV;AAAA,IACA,QAAQF,KAAU,gBAAAS,EAACF,GAAU,CAAA,CAAA;AAAA,IAC7B,OAAOC;AAAA,IACP,OAAO;AAAA,MACL,SAAAT;AAAA,IAAA;AAAA,EACF,CACD;AAEM,SAAAb,IACJ,gBAAAuB,EAAAI,GAAA,EAAQ,OAAO3B,GAAO,OAAO,IAAQ,GAAGK,GACtC,UAAAoB,EAAA,CACH,IAEAA;AAEJ,GAGaG,IAAaC,EAAW9B,CAAc;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { MagnifyingGlass as a, Eye as i, EyeClosed as u } from "@bioturing/assets";
|
|
4
|
+
import { Input as r } from "antd";
|
|
5
|
+
import { forwardRef as o } from "react";
|
|
6
|
+
const m = (n, e) => /* @__PURE__ */ t(r, { ref: e, ...n }), I = (n, e) => {
|
|
7
|
+
const s = {
|
|
8
|
+
iconRender: (c) => c ? /* @__PURE__ */ t(i, { size: 16 }) : /* @__PURE__ */ t(u, { size: 16 }),
|
|
9
|
+
...n
|
|
10
|
+
};
|
|
11
|
+
return /* @__PURE__ */ t(r.Password, { ref: e, ...s });
|
|
12
|
+
}, d = (n, e) => {
|
|
13
|
+
const s = {
|
|
14
|
+
enterButton: n.enterButton === !0 ? /* @__PURE__ */ t(a, { size: 16 }) : n.enterButton,
|
|
15
|
+
...n
|
|
16
|
+
};
|
|
17
|
+
return /* @__PURE__ */ t(r.Search, { ref: e, ...s });
|
|
18
|
+
}, p = (n, e) => /* @__PURE__ */ t(r.TextArea, { ref: e, ...n }), f = o(m), g = o(I), x = o(d), P = o(p), z = Object.assign(f, {
|
|
19
|
+
Password: g,
|
|
20
|
+
Search: x,
|
|
21
|
+
TextArea: P
|
|
22
|
+
});
|
|
23
|
+
export {
|
|
24
|
+
z as Input
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/input/component.tsx"],"sourcesContent":["\"use client\";\nimport { Eye, EyeClosed, MagnifyingGlass } from \"@bioturing/assets\";\nimport {\n Input as AntInput,\n type InputProps as AntInputProps,\n type InputRef,\n} from \"antd\";\nimport { type PasswordProps as AntPasswordProps } from \"antd/es/input\";\nimport { type SearchProps as AntSearchProps } from \"antd/es/input\";\nimport { type TextAreaProps as AntTextAreaProps } from \"antd/es/input\";\nimport { forwardRef } from \"react\";\n\n// Define props interfaces\nexport interface InputProps extends AntInputProps {}\nexport interface PasswordProps extends AntPasswordProps {}\nexport interface TextAreaProps extends AntTextAreaProps {}\nexport interface SearchProps extends AntSearchProps {}\n\n// Create inner function for main Input\nconst MainInputInner = (props: InputProps, ref: React.Ref<InputRef>) => {\n return <AntInput ref={ref} {...props} />;\n};\n\n// Create inner function for Password\nconst PasswordInner = (props: PasswordProps, ref: React.Ref<InputRef>) => {\n // Apply default iconRender unless overridden by props\n const mergedProps = {\n iconRender: (visible: boolean) =>\n visible ? <Eye size={16} /> : <EyeClosed size={16} />,\n ...props,\n };\n\n return <AntInput.Password ref={ref} {...mergedProps} />;\n};\n\n// Create inner function for Search\nconst SearchInner = (props: SearchProps, ref: React.Ref<InputRef>) => {\n // Apply default enterButton unless overridden\n const mergedProps = {\n enterButton:\n props.enterButton === true ? (\n <MagnifyingGlass size={16} />\n ) : (\n props.enterButton\n ),\n ...props,\n };\n\n return <AntInput.Search ref={ref} {...mergedProps} />;\n};\n\n// Create inner function for TextArea\nconst TextAreaInner = (\n props: TextAreaProps,\n ref: React.Ref<HTMLTextAreaElement>\n) => {\n return <AntInput.TextArea ref={ref} {...props} />;\n};\n\n// Use forwardRef with type assertion for main Input\nconst MainInput = forwardRef(MainInputInner) as (\n props: InputProps & {\n ref?: React.ForwardedRef<InputRef>;\n }\n) => ReturnType<typeof MainInputInner>;\n\n// Use forwardRef with type assertion for Password\nconst Password = forwardRef(PasswordInner) as (\n props: PasswordProps & {\n ref?: React.ForwardedRef<InputRef>;\n }\n) => ReturnType<typeof PasswordInner>;\n\n// Use forwardRef with type assertion for Search\nconst Search = forwardRef(SearchInner) as (\n props: SearchProps & {\n ref?: React.ForwardedRef<InputRef>;\n }\n) => ReturnType<typeof SearchInner>;\n\n// Use forwardRef with type assertion for TextArea\nconst TextArea = forwardRef(TextAreaInner) as (\n props: TextAreaProps & {\n ref?: React.ForwardedRef<HTMLTextAreaElement>;\n }\n) => ReturnType<typeof TextAreaInner>;\n\n// Export the final composed component\nexport const Input = Object.assign(MainInput, {\n Password,\n Search,\n TextArea,\n});\n"],"names":["MainInputInner","props","ref","jsx","AntInput","PasswordInner","mergedProps","visible","Eye","EyeClosed","SearchInner","MagnifyingGlass","TextAreaInner","MainInput","forwardRef","Password","Search","TextArea","Input"],"mappings":";;;;;AAmBA,MAAMA,IAAiB,CAACC,GAAmBC,MACjC,gBAAAC,EAAAC,GAAA,EAAS,KAAAF,GAAW,GAAGD,EAAO,CAAA,GAIlCI,IAAgB,CAACJ,GAAsBC,MAA6B;AAExE,QAAMI,IAAc;AAAA,IAClB,YAAY,CAACC,MACXA,IAAW,gBAAAJ,EAAAK,GAAA,EAAI,MAAM,GAAI,CAAA,IAAK,gBAAAL,EAACM,GAAU,EAAA,MAAM,GAAI,CAAA;AAAA,IACrD,GAAGR;AAAA,EACL;AAEA,2BAAQG,EAAS,UAAT,EAAkB,KAAAF,GAAW,GAAGI,GAAa;AACvD,GAGMI,IAAc,CAACT,GAAoBC,MAA6B;AAEpE,QAAMI,IAAc;AAAA,IAClB,aACEL,EAAM,gBAAgB,uBACnBU,GAAgB,EAAA,MAAM,IAAI,IAE3BV,EAAM;AAAA,IAEV,GAAGA;AAAA,EACL;AAEA,2BAAQG,EAAS,QAAT,EAAgB,KAAAF,GAAW,GAAGI,GAAa;AACrD,GAGMM,IAAgB,CACpBX,GACAC,wBAEQE,EAAS,UAAT,EAAkB,KAAAF,GAAW,GAAGD,GAAO,GAI3CY,IAAYC,EAAWd,CAAc,GAOrCe,IAAWD,EAAWT,CAAa,GAOnCW,IAASF,EAAWJ,CAAW,GAO/BO,IAAWH,EAAWF,CAAa,GAO5BM,IAAQ,OAAO,OAAOL,GAAW;AAAA,EAC5C,UAAAE;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AACF,CAAC;"}
|
|
@@ -9,9 +9,9 @@ import C from "antd/es/modal/components/NormalOkBtn";
|
|
|
9
9
|
import { getConfirmLocale as ge } from "antd/es/modal/locale";
|
|
10
10
|
import { useLocale as ve } from "antd/es/locale";
|
|
11
11
|
import { ModalSize as f } from "./constants.js";
|
|
12
|
-
import { Stack as h } from "../
|
|
13
|
-
import { Truncate as ye } from "../
|
|
14
|
-
import { IconButton as we } from "../
|
|
12
|
+
import { Stack as h } from "../stack/index.js";
|
|
13
|
+
import { Truncate as ye } from "../truncate/component.js";
|
|
14
|
+
import { IconButton as we } from "../icon-button/component.js";
|
|
15
15
|
import { useCls as xe } from "../utils/antdUtils.js";
|
|
16
16
|
const We = ({
|
|
17
17
|
open: b,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntModal,\n type ModalProps as AntModalProps,\n} from \"antd/es/modal\";\nimport { XIcon } from \"@bioturing/assets\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useCls } from \"../utils\";\nimport { ModalContextProvider } from \"antd/es/modal/context\";\nimport NormalCancelBtn from \"antd/es/modal/components/NormalCancelBtn\";\nimport NormalOkBtn from \"antd/es/modal/components/NormalOkBtn\";\nimport { getConfirmLocale } from \"antd/es/modal/locale\";\nimport { useLocale } from \"antd/es/locale\";\nimport { IconButton } from \"../icon-button\";\nimport { ModalSize } from \"./constants\";\nimport { ModalType } from \"./functions\";\nimport { Truncate } from \"../truncate\";\nimport { Stack } from \"../stack\";\n\n// Define props interface extending Ant Design's ModalProps\nexport interface ModalProps extends Omit<AntModalProps, \"centered\"> {\n /**\n * Predefined sizes for the modal\n * - xsmall: 400px\n * - small: 520px\n * - medium: 640px (default)\n * - large: 840px\n * - xlarge: 1024px\n * - fullscreen: 100vw (takes full screen width with margins)\n * @default \"medium\" for default type, \"xsmall\" for other types\n */\n size?:\n | \"xsmall\"\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xlarge\"\n | \"xxlarge\"\n | \"fullscreen\";\n /**\n * Mark modal as loading\n * @default false\n */\n loading?: boolean;\n /**\n * Hide Ok button\n * @default false\n */\n hideOkButton?: boolean;\n /**\n * Hide Cancel button\n * @default false\n */\n hideCancelButton?: boolean;\n /**\n * Custom Content Padding\n * @default \"24px\"\n */\n contentPadding?: number | string | boolean;\n /**\n * Add more content below the title\n */\n afterTitle?: React.ReactNode;\n /**\n * Add more actions before close button\n */\n beforeCloseButton?: React.ReactNode;\n /**\n * Add more actions after close button\n */\n afterCloseButton?: React.ReactNode;\n /**\n * Set header and footer to fixed position\n * @default false\n */\n defaultFixedHeaderFooter?: boolean;\n /**\n * Centered Modal\n * @default true\n */\n centered?: boolean;\n /**\n * Modal type\n * @default \"default\"\n */\n type?: ModalType;\n /**\n * Default open state for uncontrolled modal\n * @default true\n */\n defaultOpen?: boolean;\n /**\n * Modal background\n * @default \"elevated\" if size smaller than \"medium\", otherwise \"container\"\n */\n background?: \"elevated\" | \"container\";\n /**\n * Modal old close callback\n * @deprecated use onCancel instead\n */\n onClose?: () => void;\n /**\n * Make modal body scrollable\n * @default true\n */\n bodyScrollable?: boolean;\n}\n\n// Create Modal component\nexport const Modal = ({\n open: externalOpen,\n closeIcon,\n children,\n size: sizeProp,\n footer,\n width,\n style,\n styles,\n classNames,\n okButtonProps,\n cancelButtonProps,\n loading,\n onOk,\n onCancel,\n okText,\n okType = \"primary\",\n confirmLoading,\n cancelText = \"Close\",\n hideOkButton = false,\n hideCancelButton = false,\n contentPadding,\n title,\n afterTitle,\n beforeCloseButton,\n afterCloseButton,\n defaultFixedHeaderFooter = false,\n centered = true,\n type = \"default\",\n defaultOpen = true,\n background: backgroundProp,\n bodyScrollable = true,\n ...rest\n}: ModalProps) => {\n // Default close icon with Phosphor icon\n const defaultCloseIcon =\n closeIcon === undefined ? <XIcon size={16} weight=\"bold\" /> : closeIcon;\n\n // Use custom width if provided, otherwise use the size from the map\n const defaultModalSize = type === \"default\" ? \"medium\" : \"xsmall\";\n\n const size: keyof typeof ModalSize = sizeProp || defaultModalSize;\n const modalWidth = width || ModalSize[size];\n\n const background =\n backgroundProp ||\n (size &&\n size in ModalSize &&\n parseInt(ModalSize[size]) <= parseInt(ModalSize.medium)\n ? \"elevated\"\n : \"container\");\n\n // Apply additional styles for fullscreen mode\n const modalStyle = {\n \"--ds-modal-bg\": `var(--ds-color-bg-${background})`,\n ...style,\n ...(size === \"fullscreen\"\n ? { top: 0, maxWidth: \"100%\", height: \"100%\" }\n : {}),\n };\n\n const modalStyles = {\n ...styles,\n body: {\n ...((typeof contentPadding != \"undefined\"\n ? {\n \"--ds-modal-content-padding\":\n contentPadding === false || contentPadding === 0\n ? \"0\"\n : typeof contentPadding == \"number\"\n ? `${contentPadding}px`\n : contentPadding,\n }\n : {}) as React.CSSProperties),\n ...styles?.body,\n },\n };\n\n const [isContentOverflow, setIsContentOverflow] = useState(false);\n\n const cls = useCls();\n\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n\n const modalInnerRef = useCallback(\n (node: HTMLElement | null) => {\n // If the node is null (component unmounting), just return\n if (!node) return;\n\n const modalBody = node.querySelector(\".\" + cls(\"modal-body\"));\n if (!(modalBody instanceof HTMLElement)) return;\n\n // Create ResizeObserver to detect overflow\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;\n setIsContentOverflow(hasOverflow);\n });\n\n // Store reference to the observer\n resizeObserverRef.current = resizeObserver;\n\n // Start observing\n resizeObserver.observe(modalBody);\n\n // Initial check\n const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;\n setIsContentOverflow(hasOverflow);\n },\n [cls]\n );\n\n // clean up resize observer\n useEffect(() => {\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n };\n }, []);\n\n const [locale] = useLocale(\"Modal\", getConfirmLocale());\n\n const okTextLocale: React.ReactNode = okText || locale?.okText;\n const cancelTextLocale = cancelText || locale?.cancelText;\n\n const modalOkButtonProps = {\n loading: loading,\n ...okButtonProps,\n };\n\n const modalCancelButtonProps = {\n ...cancelButtonProps,\n };\n\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const uncontrolledOpen = typeof externalOpen === \"undefined\";\n\n const open = uncontrolledOpen ? internalOpen : externalOpen;\n\n const defaultFooter = (\n <ModalContextProvider\n value={{\n okButtonProps: modalOkButtonProps,\n cancelButtonProps: modalCancelButtonProps,\n onCancel,\n onOk,\n okType,\n confirmLoading,\n okTextLocale,\n cancelTextLocale,\n }}\n >\n {hideOkButton ? (\n <NormalCancelBtn />\n ) : hideCancelButton ? (\n <NormalOkBtn />\n ) : (\n <>\n <NormalCancelBtn />\n <NormalOkBtn />\n </>\n )}\n </ModalContextProvider>\n );\n const renderTitle = () => {\n return (\n <>\n <Stack align=\"center\" gap={8} className={cls(\"modal-title-wrapper\")}>\n <Stack.Child grow>\n {typeof title === \"string\" ? <Truncate>{title}</Truncate> : title}\n </Stack.Child>\n <Stack.Child stack hug align=\"center\" gap={8}>\n {beforeCloseButton}\n <IconButton\n onClick={(e: React.MouseEvent<HTMLButtonElement>) =>\n onCancel?.(e)\n }\n >\n {defaultCloseIcon}\n </IconButton>\n {afterCloseButton}\n </Stack.Child>\n {}\n </Stack>\n {afterTitle ? afterTitle : null}\n </>\n );\n };\n return (\n <AntModal\n closeIcon={false}\n open={open}\n width={modalWidth}\n style={modalStyle}\n title={renderTitle()}\n classNames={{\n ...classNames,\n wrapper: cls(\n \"modal-wrap\",\n size == \"fullscreen\" && \"modal-fullscreen\",\n isContentOverflow && \"modal-content-overflow\",\n bodyScrollable === false && \"modal-no-body-scroll\",\n defaultFixedHeaderFooter || isContentOverflow || size == \"fullscreen\"\n ? \"modal-fixed\"\n : \"\"\n ),\n }}\n styles={modalStyles}\n modalRender={(modal) => (\n <div ref={modalInnerRef} className={cls(\"modal-inner\")}>\n {modal}\n </div>\n )}\n okButtonProps={modalOkButtonProps}\n cancelButtonProps={modalCancelButtonProps}\n onOk={(e) => {\n if (uncontrolledOpen) setInternalOpen(false);\n onOk?.(e);\n }}\n onCancel={(e) => {\n if (uncontrolledOpen) setInternalOpen(false);\n onCancel?.(e);\n }}\n okText={okText}\n cancelText={cancelText}\n okType=\"primary\"\n confirmLoading={confirmLoading}\n footer={\n typeof footer === \"undefined\"\n ? hideOkButton && hideCancelButton\n ? null\n : defaultFooter\n : footer\n }\n centered={centered}\n {...rest}\n >\n {children}\n </AntModal>\n );\n};\n"],"names":["Modal","externalOpen","closeIcon","children","sizeProp","footer","width","style","styles","classNames","okButtonProps","cancelButtonProps","loading","onOk","onCancel","okText","okType","confirmLoading","cancelText","hideOkButton","hideCancelButton","contentPadding","title","afterTitle","beforeCloseButton","afterCloseButton","defaultFixedHeaderFooter","centered","type","defaultOpen","backgroundProp","bodyScrollable","rest","defaultCloseIcon","jsx","XIcon","size","modalWidth","ModalSize","modalStyle","modalStyles","isContentOverflow","setIsContentOverflow","useState","cls","useCls","resizeObserverRef","useRef","modalInnerRef","useCallback","node","modalBody","resizeObserver","hasOverflow","useEffect","locale","useLocale","getConfirmLocale","okTextLocale","cancelTextLocale","modalOkButtonProps","modalCancelButtonProps","internalOpen","setInternalOpen","uncontrolledOpen","open","defaultFooter","ModalContextProvider","NormalCancelBtn","NormalOkBtn","jsxs","Fragment","AntModal","Stack","Truncate","IconButton","e","modal"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalProvider.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"ModalProvider.js","sources":["../../../src/components/modal/ModalProvider.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useState } from \"react\";\nimport { Modal } from \"./Modal\";\nimport { modalManager } from \"./ModalService\";\nimport type { ModalConfig, ModalEvent } from \"./ModalService\";\n\nexport interface ModalProviderProps {\n children?: React.ReactNode;\n}\n\nexport const ModalProvider: React.FC<ModalProviderProps> = ({ children }) => {\n const [modals, setModals] = useState<ModalConfig[]>([]);\n\n useEffect(() => {\n const unsubscribe = modalManager.subscribe((event: ModalEvent) => {\n setModals((prev) => {\n switch (event.type) {\n case \"add\":\n return [...prev, event.payload];\n case \"update\":\n return prev.map((m) => {\n if (m.id === event.payload.id) {\n const cfg = event.payload.config;\n const merged =\n typeof cfg === \"function\" ? cfg(m) : { ...m, ...cfg };\n return { ...m, ...merged };\n }\n return m;\n });\n case \"destroy\":\n return prev.filter((m) => m.id !== event.payload.id);\n case \"destroyAll\":\n return [];\n default:\n return prev;\n }\n });\n });\n return unsubscribe;\n }, []);\n\n return (\n <>\n {children}\n {modals.map((modal) => {\n const {\n id,\n content,\n children,\n onOk,\n onCancel,\n trigger,\n ...modalProps\n } = modal;\n return (\n <Modal\n {...modalProps}\n key={id}\n // control visibility for transitions\n open={modalProps.open}\n onOk={(e) => {\n onOk?.(e);\n modalManager.emit({\n type: \"update\",\n payload: { id, config: { open: false } },\n });\n }}\n onCancel={(e) => {\n onCancel?.(e);\n modalManager.emit({\n type: \"update\",\n payload: { id, config: { open: false } },\n });\n }}\n afterClose={() => {\n // destroy and restore focus\n modalManager.emit({ type: \"destroy\", payload: { id } });\n if (trigger instanceof HTMLElement) {\n trigger.focus();\n }\n }}\n >\n {content || children}\n </Modal>\n );\n })}\n </>\n );\n};\n"],"names":["ModalProvider","children","modals","setModals","useState","useEffect","modalManager","event","prev","m","cfg","merged","jsxs","Fragment","modal","id","content","onOk","onCancel","trigger","modalProps","createElement","Modal","e"],"mappings":";;;;;AAUO,MAAMA,IAA8C,CAAC,EAAE,UAAAC,QAAe;AAC3E,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAwB,CAAA,CAAE;AAEtD,SAAAC,EAAU,MACYC,EAAa,UAAU,CAACC,MAAsB;AAChE,IAAAJ,EAAU,CAACK,MAAS;AAClB,cAAQD,EAAM,MAAM;AAAA,QAClB,KAAK;AACH,iBAAO,CAAC,GAAGC,GAAMD,EAAM,OAAO;AAAA,QAChC,KAAK;AACI,iBAAAC,EAAK,IAAI,CAACC,MAAM;AACrB,gBAAIA,EAAE,OAAOF,EAAM,QAAQ,IAAI;AACvB,oBAAAG,IAAMH,EAAM,QAAQ,QACpBI,IACJ,OAAOD,KAAQ,aAAaA,EAAID,CAAC,IAAI,EAAE,GAAGA,GAAG,GAAGC,EAAI;AACtD,qBAAO,EAAE,GAAGD,GAAG,GAAGE,EAAO;AAAA,YAAA;AAEpB,mBAAAF;AAAA,UAAA,CACR;AAAA,QACH,KAAK;AACI,iBAAAD,EAAK,OAAO,CAACC,MAAMA,EAAE,OAAOF,EAAM,QAAQ,EAAE;AAAA,QACrD,KAAK;AACH,iBAAO,CAAC;AAAA,QACV;AACS,iBAAAC;AAAA,MAAA;AAAA,IACX,CACD;AAAA,EAAA,CACF,GAEA,EAAE,GAIA,gBAAAI,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAAZ;AAAA,IACAC,EAAO,IAAI,CAACY,MAAU;AACf,YAAA;AAAA,QACJ,IAAAC;AAAA,QACA,SAAAC;AAAA,QACA,UAAAf;AAAAA,QACA,MAAAgB;AAAA,QACA,UAAAC;AAAA,QACA,SAAAC;AAAA,QACA,GAAGC;AAAA,MAAA,IACDN;AAEF,aAAA,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UACE,GAAGF;AAAA,UACJ,KAAKL;AAAA,UAEL,MAAMK,EAAW;AAAA,UACjB,MAAM,CAACG,MAAM;AACX,YAAAN,KAAA,QAAAA,EAAOM,IACPjB,EAAa,KAAK;AAAA,cAChB,MAAM;AAAA,cACN,SAAS,EAAE,IAAAS,GAAI,QAAQ,EAAE,MAAM,GAAQ,EAAA;AAAA,YAAA,CACxC;AAAA,UACH;AAAA,UACA,UAAU,CAACQ,MAAM;AACf,YAAAL,KAAA,QAAAA,EAAWK,IACXjB,EAAa,KAAK;AAAA,cAChB,MAAM;AAAA,cACN,SAAS,EAAE,IAAAS,GAAI,QAAQ,EAAE,MAAM,GAAQ,EAAA;AAAA,YAAA,CACxC;AAAA,UACH;AAAA,UACA,YAAY,MAAM;AAEH,YAAAT,EAAA,KAAK,EAAE,MAAM,WAAW,SAAS,EAAE,IAAAS,EAAA,GAAM,GAClDI,aAAmB,eACrBA,EAAQ,MAAM;AAAA,UAChB;AAAA,QACF;AAAA,QAECH,KAAWf;AAAAA,MACd;AAAA,IAEH,CAAA;AAAA,EAAA,GACH;AAEJ;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
var n = Object.defineProperty;
|
|
2
3
|
var i = (t, e, s) => e in t ? n(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
|
|
3
4
|
var r = (t, e, s) => i(t, typeof e != "symbol" ? e + "" : e, s);
|
|
@@ -18,8 +19,8 @@ class a {
|
|
|
18
19
|
return this.counter += 1, `modal_${this.counter}_${Date.now()}`;
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
|
-
const
|
|
22
|
+
const o = new a();
|
|
22
23
|
export {
|
|
23
|
-
|
|
24
|
+
o as modalManager
|
|
24
25
|
};
|
|
25
26
|
//# sourceMappingURL=ModalService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalService.js","sources":["../../../src/components/modal/ModalService.ts"],"sourcesContent":["\"use client\";\nimport type { ModalFuncProps } from \"./functions\";\n\nexport type ModalConfig = ModalFuncProps & {\n id: string;\n trigger?: HTMLElement;\n};\n\nexport type UpdateConfig =\n | Partial<ModalFuncProps>\n | ((prev: ModalFuncProps) => ModalFuncProps);\n\nexport type ModalEvent =\n | { type: \"add\"; payload: ModalConfig }\n | { type: \"update\"; payload: { id: string; config: UpdateConfig } }\n | { type: \"destroy\"; payload: { id: string } }\n | { type: \"destroyAll\" };\n\ntype Listener = (event: ModalEvent) => void;\n\nclass ModalManager {\n private listeners: Listener[] = [];\n private counter = 0;\n\n subscribe(listener: Listener) {\n this.listeners.push(listener);\n return () => {\n this.listeners = this.listeners.filter((l) => l !== listener);\n };\n }\n\n emit(event: ModalEvent) {\n this.listeners.forEach((l) => l(event));\n }\n\n generateId() {\n this.counter += 1;\n return `modal_${this.counter}_${Date.now()}`;\n }\n}\n\nexport const modalManager = new ModalManager();\n"],"names":["ModalManager","__publicField","listener","l","event","modalManager"],"mappings":";;;;AAoBA,MAAMA,EAAa;AAAA,EAAnB;AACU,IAAAC,EAAA,mBAAwB,CAAC;AACzB,IAAAA,EAAA,iBAAU;AAAA;AAAA,EAElB,UAAUC,GAAoB;AACvB,gBAAA,UAAU,KAAKA,CAAQ,GACrB,MAAM;AACX,WAAK,YAAY,KAAK,UAAU,OAAO,CAACC,MAAMA,MAAMD,CAAQ;AAAA,IAC9D;AAAA,EAAA;AAAA,EAGF,KAAKE,GAAmB;AACtB,SAAK,UAAU,QAAQ,CAACD,MAAMA,EAAEC,CAAK,CAAC;AAAA,EAAA;AAAA,EAGxC,aAAa;AACX,gBAAK,WAAW,GACT,SAAS,KAAK,OAAO,IAAI,KAAK,KAAK;AAAA,EAAA;AAE9C;AAEa,MAAAC,IAAe,IAAIL,EAAa;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/components/modal/constants.ts"],"sourcesContent":["// Size map for predefined modal sizes\nexport enum ModalSize {\n xsmall = \"400px\",\n small = \"520px\",\n medium = \"640px\",\n large = \"840px\",\n xlarge = \"1024px\",\n xxlarge = \"1280px\",\n fullscreen = \"100%\",\n}\n"],"names":["ModalSize"],"mappings":"AACY,IAAAA,sBAAAA,OACVA,EAAA,SAAS,SACTA,EAAA,QAAQ,SACRA,EAAA,SAAS,SACTA,EAAA,QAAQ,SACRA,EAAA,SAAS,UACTA,EAAA,UAAU,UACVA,EAAA,aAAa,QAPHA,IAAAA,KAAA,CAAA,CAAA;"}
|