asterui 0.12.49 → 0.12.51
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/Alert.js +18 -18
- package/dist/components/Alert.js.map +1 -1
- package/dist/components/Autocomplete.js +115 -114
- package/dist/components/Autocomplete.js.map +1 -1
- package/dist/components/Avatar.js +33 -32
- package/dist/components/Avatar.js.map +1 -1
- package/dist/components/Badge.js +99 -99
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Breadcrumb.js +12 -11
- package/dist/components/Breadcrumb.js.map +1 -1
- package/dist/components/Browser.js +10 -10
- package/dist/components/Browser.js.map +1 -1
- package/dist/components/Button.js +80 -79
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Card.d.ts +2 -0
- package/dist/components/Card.js +111 -110
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Carousel.js +59 -59
- package/dist/components/Carousel.js.map +1 -1
- package/dist/components/Cascader.js +175 -174
- package/dist/components/Cascader.js.map +1 -1
- package/dist/components/Chat.js +27 -27
- package/dist/components/Chat.js.map +1 -1
- package/dist/components/Checkbox.js +98 -97
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/Code.js +11 -11
- package/dist/components/Code.js.map +1 -1
- package/dist/components/Collapse.js +46 -46
- package/dist/components/Collapse.js.map +1 -1
- package/dist/components/ColorPicker.d.ts +1 -1
- package/dist/components/ColorPicker.js +93 -91
- package/dist/components/ColorPicker.js.map +1 -1
- package/dist/components/Command.js +120 -120
- package/dist/components/Command.js.map +1 -1
- package/dist/components/ConfigProvider.d.ts +1 -1
- package/dist/components/ConfigProvider.js +9 -9
- package/dist/components/ConfigProvider.js.map +1 -1
- package/dist/components/ContextMenu.js +33 -33
- package/dist/components/ContextMenu.js.map +1 -1
- package/dist/components/CopyButton.js +74 -73
- package/dist/components/CopyButton.js.map +1 -1
- package/dist/components/Countdown.js +60 -59
- package/dist/components/Countdown.js.map +1 -1
- package/dist/components/DatePicker.d.ts +1 -1
- package/dist/components/DatePicker.js +54 -53
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/Diff.js +10 -10
- package/dist/components/Diff.js.map +1 -1
- package/dist/components/Divider.js +21 -20
- package/dist/components/Divider.js.map +1 -1
- package/dist/components/Dock.js +28 -27
- package/dist/components/Dock.js.map +1 -1
- package/dist/components/Drawer.js +43 -43
- package/dist/components/Drawer.js.map +1 -1
- package/dist/components/Dropdown.js +127 -127
- package/dist/components/Dropdown.js.map +1 -1
- package/dist/components/Empty.js +16 -15
- package/dist/components/Empty.js.map +1 -1
- package/dist/components/Fieldset.js +11 -10
- package/dist/components/Fieldset.js.map +1 -1
- package/dist/components/FileInput.js +30 -29
- package/dist/components/FileInput.js.map +1 -1
- package/dist/components/Filter.d.ts +1 -1
- package/dist/components/Filter.js +32 -30
- package/dist/components/Filter.js.map +1 -1
- package/dist/components/FloatButton.js +83 -83
- package/dist/components/FloatButton.js.map +1 -1
- package/dist/components/Footer.js +14 -13
- package/dist/components/Footer.js.map +1 -1
- package/dist/components/Form.js +133 -132
- package/dist/components/Form.js.map +1 -1
- package/dist/components/Hero.js +12 -11
- package/dist/components/Hero.js.map +1 -1
- package/dist/components/HoverGallery.js +7 -7
- package/dist/components/HoverGallery.js.map +1 -1
- package/dist/components/Image.js +40 -40
- package/dist/components/Image.js.map +1 -1
- package/dist/components/Input.js +171 -169
- package/dist/components/Input.js.map +1 -1
- package/dist/components/InputNumber.js +84 -83
- package/dist/components/InputNumber.js.map +1 -1
- package/dist/components/Join.js +11 -10
- package/dist/components/Join.js.map +1 -1
- package/dist/components/Kbd.js +15 -15
- package/dist/components/Kbd.js.map +1 -1
- package/dist/components/List.d.ts +1 -1
- package/dist/components/List.js +75 -72
- package/dist/components/List.js.map +1 -1
- package/dist/components/Loading.d.ts +1 -1
- package/dist/components/Loading.js +31 -29
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/Mask.js +31 -31
- package/dist/components/Mask.js.map +1 -1
- package/dist/components/Mention.js +61 -61
- package/dist/components/Mention.js.map +1 -1
- package/dist/components/Menu.js +84 -84
- package/dist/components/Menu.js.map +1 -1
- package/dist/components/Message.js +30 -29
- package/dist/components/Message.js.map +1 -1
- package/dist/components/Modal.js +117 -116
- package/dist/components/Modal.js.map +1 -1
- package/dist/components/MonthCalendar.d.ts +31 -0
- package/dist/components/MonthCalendar.js +205 -0
- package/dist/components/MonthCalendar.js.map +1 -0
- package/dist/components/Navbar.js +25 -25
- package/dist/components/Navbar.js.map +1 -1
- package/dist/components/Notification.js +56 -55
- package/dist/components/Notification.js.map +1 -1
- package/dist/components/OTPInput.js +69 -68
- package/dist/components/OTPInput.js.map +1 -1
- package/dist/components/Pagination.d.ts +1 -1
- package/dist/components/Pagination.js +60 -58
- package/dist/components/Pagination.js.map +1 -1
- package/dist/components/Phone.js +10 -10
- package/dist/components/Phone.js.map +1 -1
- package/dist/components/Popconfirm.js +60 -60
- package/dist/components/Popconfirm.js.map +1 -1
- package/dist/components/Progress.js +17 -17
- package/dist/components/Progress.js.map +1 -1
- package/dist/components/QRCode.js +23 -23
- package/dist/components/QRCode.js.map +1 -1
- package/dist/components/RadialProgress.js +17 -17
- package/dist/components/RadialProgress.js.map +1 -1
- package/dist/components/Radio.js +41 -40
- package/dist/components/Radio.js.map +1 -1
- package/dist/components/Range.d.ts +1 -1
- package/dist/components/Range.js +39 -37
- package/dist/components/Range.js.map +1 -1
- package/dist/components/Rating.js +79 -78
- package/dist/components/Rating.js.map +1 -1
- package/dist/components/ResponsiveDrawer.js +27 -27
- package/dist/components/ResponsiveDrawer.js.map +1 -1
- package/dist/components/RichTextEditor.d.ts +32 -0
- package/dist/components/RichTextEditor.js +335 -0
- package/dist/components/RichTextEditor.js.map +1 -0
- package/dist/components/Segmented.d.ts +1 -1
- package/dist/components/Segmented.js +48 -46
- package/dist/components/Segmented.js.map +1 -1
- package/dist/components/Select.js +55 -54
- package/dist/components/Select.js.map +1 -1
- package/dist/components/Skeleton.js +9 -9
- package/dist/components/Skeleton.js.map +1 -1
- package/dist/components/Splitter.js +1 -3
- package/dist/components/Splitter.js.map +1 -1
- package/dist/components/Stat.js +17 -16
- package/dist/components/Stat.js.map +1 -1
- package/dist/components/Status.js +29 -29
- package/dist/components/Status.js.map +1 -1
- package/dist/components/Steps.js +61 -61
- package/dist/components/Steps.js.map +1 -1
- package/dist/components/Table.js +256 -256
- package/dist/components/Table.js.map +1 -1
- package/dist/components/Tabs.js +65 -65
- package/dist/components/Tabs.js.map +1 -1
- package/dist/components/Tag.js +147 -147
- package/dist/components/Tag.js.map +1 -1
- package/dist/components/TextRotate.js +6 -6
- package/dist/components/TextRotate.js.map +1 -1
- package/dist/components/Textarea.js +35 -34
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/ThemeController.d.ts +1 -1
- package/dist/components/ThemeController.js +71 -68
- package/dist/components/ThemeController.js.map +1 -1
- package/dist/components/TimePicker.d.ts +1 -1
- package/dist/components/TimePicker.js +133 -129
- package/dist/components/TimePicker.js.map +1 -1
- package/dist/components/Timeline.js +79 -79
- package/dist/components/Timeline.js.map +1 -1
- package/dist/components/Toggle.js +33 -32
- package/dist/components/Toggle.js.map +1 -1
- package/dist/components/Tooltip.js +25 -25
- package/dist/components/Tooltip.js.map +1 -1
- package/dist/components/Tour.js +126 -126
- package/dist/components/Tour.js.map +1 -1
- package/dist/components/Transfer.js +93 -92
- package/dist/components/Transfer.js.map +1 -1
- package/dist/components/Tree.js +200 -200
- package/dist/components/Tree.js.map +1 -1
- package/dist/components/TreeSelect.js +255 -254
- package/dist/components/TreeSelect.js.map +1 -1
- package/dist/components/Typography.js +71 -70
- package/dist/components/Typography.js.map +1 -1
- package/dist/components/Upload.js +81 -81
- package/dist/components/Upload.js.map +1 -1
- package/dist/components/WeekCalendar.d.ts +35 -0
- package/dist/components/WeekCalendar.js +204 -0
- package/dist/components/WeekCalendar.js.map +1 -0
- package/dist/components/Window.js +7 -7
- package/dist/components/Window.js.map +1 -1
- package/dist/editor.d.ts +1 -0
- package/dist/editor.js +5 -0
- package/dist/editor.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +211 -207
- package/dist/index.js.map +1 -1
- package/package.json +30 -1
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
const
|
|
4
|
-
children:
|
|
5
|
-
title:
|
|
1
|
+
import { jsxs as s, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import G, { useState as b, useRef as h, useEffect as K } from "react";
|
|
3
|
+
const x = "btn", v = "btn-sm", M = "btn-primary", T = "btn-secondary", X = "btn-accent", q = "btn-success", D = "btn-warning", F = "btn-error", H = "btn-info", J = "btn-ghost", Q = "loading", U = "loading-spinner", V = "loading-xs", _ = ({
|
|
4
|
+
children: i,
|
|
5
|
+
title: C,
|
|
6
6
|
description: d,
|
|
7
7
|
onConfirm: m,
|
|
8
|
-
onCancel:
|
|
9
|
-
okText:
|
|
10
|
-
cancelText:
|
|
11
|
-
okType:
|
|
12
|
-
cancelType:
|
|
8
|
+
onCancel: y,
|
|
9
|
+
okText: w = "OK",
|
|
10
|
+
cancelText: N = "Cancel",
|
|
11
|
+
okType: k = "primary",
|
|
12
|
+
cancelType: $ = "ghost",
|
|
13
13
|
placement: f = "top",
|
|
14
|
-
disabled:
|
|
14
|
+
disabled: B = !1,
|
|
15
15
|
icon: p,
|
|
16
16
|
showCancel: L = !0,
|
|
17
|
-
className:
|
|
17
|
+
className: E,
|
|
18
18
|
...O
|
|
19
19
|
}) => {
|
|
20
|
-
const [
|
|
21
|
-
|
|
22
|
-
const t = (
|
|
23
|
-
r.current && !r.current.contains(
|
|
20
|
+
const [o, a] = b(!1), [l, u] = b(!1), r = h(null), c = h(null);
|
|
21
|
+
K(() => {
|
|
22
|
+
const t = (e) => {
|
|
23
|
+
r.current && !r.current.contains(e.target) && c.current && !c.current.contains(e.target) && a(!1);
|
|
24
24
|
};
|
|
25
|
-
if (
|
|
25
|
+
if (o)
|
|
26
26
|
return document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
|
|
27
|
-
}, [
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
},
|
|
27
|
+
}, [o]);
|
|
28
|
+
const P = (t) => {
|
|
29
|
+
B || (t.stopPropagation(), a(!o));
|
|
30
|
+
}, S = async () => {
|
|
31
31
|
if (m) {
|
|
32
32
|
u(!0);
|
|
33
33
|
try {
|
|
34
|
-
await m(),
|
|
34
|
+
await m(), a(!1);
|
|
35
35
|
} finally {
|
|
36
36
|
u(!1);
|
|
37
37
|
}
|
|
38
38
|
} else
|
|
39
|
-
|
|
40
|
-
},
|
|
41
|
-
|
|
39
|
+
a(!1);
|
|
40
|
+
}, j = () => {
|
|
41
|
+
y?.(), a(!1);
|
|
42
42
|
}, R = () => `absolute z-50 ${{
|
|
43
43
|
top: "bottom-full left-1/2 -translate-x-1/2 mb-3",
|
|
44
44
|
bottom: "top-full left-1/2 -translate-x-1/2 mt-3",
|
|
45
45
|
left: "right-full top-1/2 -translate-y-1/2 mr-3",
|
|
46
46
|
right: "left-full top-1/2 -translate-y-1/2 ml-3"
|
|
47
|
-
}[f]}`, z = () => "bg-base-100 rounded-lg p-4 min-w-[200px] max-w-[300px] shadow-lg",
|
|
47
|
+
}[f]}`, z = () => "bg-base-100 rounded-lg p-4 min-w-[200px] max-w-[300px] shadow-lg", I = () => `absolute w-2.5 h-2.5 bg-base-100 rotate-45 shadow-lg ${{
|
|
48
48
|
top: "bottom-[-5px] left-1/2 -translate-x-1/2",
|
|
49
49
|
bottom: "top-[-5px] left-1/2 -translate-x-1/2",
|
|
50
50
|
left: "right-[-5px] top-1/2 -translate-y-1/2",
|
|
51
51
|
right: "left-[-5px] top-1/2 -translate-y-1/2"
|
|
52
|
-
}[f]}`,
|
|
53
|
-
primary:
|
|
54
|
-
secondary:
|
|
55
|
-
accent:
|
|
56
|
-
success:
|
|
57
|
-
warning:
|
|
58
|
-
error:
|
|
59
|
-
info:
|
|
60
|
-
ghost:
|
|
61
|
-
},
|
|
52
|
+
}[f]}`, A = {
|
|
53
|
+
primary: M,
|
|
54
|
+
secondary: T,
|
|
55
|
+
accent: X,
|
|
56
|
+
success: q,
|
|
57
|
+
warning: D,
|
|
58
|
+
error: F,
|
|
59
|
+
info: H,
|
|
60
|
+
ghost: J
|
|
61
|
+
}, g = (t) => A[t], W = /* @__PURE__ */ n(
|
|
62
62
|
"svg",
|
|
63
63
|
{
|
|
64
64
|
className: "w-5 h-5 text-warning",
|
|
65
65
|
fill: "none",
|
|
66
66
|
stroke: "currentColor",
|
|
67
67
|
viewBox: "0 0 24 24",
|
|
68
|
-
children: /* @__PURE__ */
|
|
68
|
+
children: /* @__PURE__ */ n(
|
|
69
69
|
"path",
|
|
70
70
|
{
|
|
71
71
|
strokeLinecap: "round",
|
|
@@ -76,50 +76,50 @@ const W = ({
|
|
|
76
76
|
)
|
|
77
77
|
}
|
|
78
78
|
);
|
|
79
|
-
return /* @__PURE__ */
|
|
80
|
-
|
|
79
|
+
return /* @__PURE__ */ s("div", { ref: r, className: `relative inline-block ${E || ""}`, "data-state": o ? "open" : "closed", ...O, children: [
|
|
80
|
+
G.cloneElement(i, {
|
|
81
81
|
onClick: (t) => {
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
82
|
+
P(t);
|
|
83
|
+
const e = i.props?.onClick;
|
|
84
|
+
e && e(t);
|
|
85
85
|
}
|
|
86
86
|
}),
|
|
87
|
-
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
/* @__PURE__ */
|
|
90
|
-
/* @__PURE__ */
|
|
91
|
-
/* @__PURE__ */
|
|
92
|
-
d && /* @__PURE__ */
|
|
93
|
-
/* @__PURE__ */
|
|
94
|
-
L && /* @__PURE__ */
|
|
87
|
+
o && /* @__PURE__ */ n("div", { className: R(), children: /* @__PURE__ */ s("div", { ref: c, className: z(), children: [
|
|
88
|
+
/* @__PURE__ */ s("div", { className: "flex gap-3 relative z-10", children: [
|
|
89
|
+
/* @__PURE__ */ n("div", { className: "flex-shrink-0 mt-0.5", children: p !== void 0 ? p : W }),
|
|
90
|
+
/* @__PURE__ */ s("div", { className: "flex-1", children: [
|
|
91
|
+
/* @__PURE__ */ n("div", { className: "font-semibold text-base-content mb-1", children: C }),
|
|
92
|
+
d && /* @__PURE__ */ n("div", { className: "text-sm text-base-content/70 mb-3", children: d }),
|
|
93
|
+
/* @__PURE__ */ s("div", { className: "flex justify-end gap-2 mt-3", children: [
|
|
94
|
+
L && /* @__PURE__ */ n(
|
|
95
95
|
"button",
|
|
96
96
|
{
|
|
97
|
-
className:
|
|
98
|
-
onClick:
|
|
97
|
+
className: `${x} ${v} ${g($)}`,
|
|
98
|
+
onClick: j,
|
|
99
99
|
disabled: l,
|
|
100
|
-
children:
|
|
100
|
+
children: N
|
|
101
101
|
}
|
|
102
102
|
),
|
|
103
|
-
/* @__PURE__ */
|
|
103
|
+
/* @__PURE__ */ s(
|
|
104
104
|
"button",
|
|
105
105
|
{
|
|
106
|
-
className:
|
|
107
|
-
onClick:
|
|
106
|
+
className: `${x} ${v} ${g(k)}`,
|
|
107
|
+
onClick: S,
|
|
108
108
|
disabled: l,
|
|
109
109
|
children: [
|
|
110
|
-
l && /* @__PURE__ */
|
|
111
|
-
|
|
110
|
+
l && /* @__PURE__ */ n("span", { className: `${Q} ${U} ${V}` }),
|
|
111
|
+
w
|
|
112
112
|
]
|
|
113
113
|
}
|
|
114
114
|
)
|
|
115
115
|
] })
|
|
116
116
|
] })
|
|
117
117
|
] }),
|
|
118
|
-
/* @__PURE__ */
|
|
118
|
+
/* @__PURE__ */ n("div", { className: I() })
|
|
119
119
|
] }) })
|
|
120
120
|
] });
|
|
121
121
|
};
|
|
122
122
|
export {
|
|
123
|
-
|
|
123
|
+
_ as Popconfirm
|
|
124
124
|
};
|
|
125
125
|
//# sourceMappingURL=Popconfirm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popconfirm.js","sources":["../../src/components/Popconfirm.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react'\n\nexport interface PopconfirmProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n children: React.ReactElement\n title: React.ReactNode\n description?: React.ReactNode\n onConfirm?: () => void | Promise<void>\n onCancel?: () => void\n okText?: string\n cancelText?: string\n okType?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info'\n cancelType?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'ghost'\n placement?: 'top' | 'bottom' | 'left' | 'right'\n disabled?: boolean\n icon?: React.ReactNode\n showCancel?: boolean\n}\n\nexport const Popconfirm: React.FC<PopconfirmProps> = ({\n children,\n title,\n description,\n onConfirm,\n onCancel,\n okText = 'OK',\n cancelText = 'Cancel',\n okType = 'primary',\n cancelType = 'ghost',\n placement = 'top',\n disabled = false,\n icon,\n showCancel = true,\n className,\n ...rest\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [loading, setLoading] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n const popupRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(event.target as Node) &&\n popupRef.current &&\n !popupRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [isOpen])\n\n const handleTriggerClick = (e: React.MouseEvent) => {\n if (disabled) return\n e.stopPropagation()\n setIsOpen(!isOpen)\n }\n\n const handleConfirm = async () => {\n if (onConfirm) {\n setLoading(true)\n try {\n await onConfirm()\n setIsOpen(false)\n } finally {\n setLoading(false)\n }\n } else {\n setIsOpen(false)\n }\n }\n\n const handleCancel = () => {\n onCancel?.()\n setIsOpen(false)\n }\n\n const getPopupContainerClasses = () => {\n const positions = {\n top: 'bottom-full left-1/2 -translate-x-1/2 mb-3',\n bottom: 'top-full left-1/2 -translate-x-1/2 mt-3',\n left: 'right-full top-1/2 -translate-y-1/2 mr-3',\n right: 'left-full top-1/2 -translate-y-1/2 ml-3',\n }\n\n return `absolute z-50 ${positions[placement]}`\n }\n\n const getPopupClasses = () => {\n return 'bg-base-100 rounded-lg p-4 min-w-[200px] max-w-[300px] shadow-lg'\n }\n\n const getArrowClasses = () => {\n const base = 'absolute w-2.5 h-2.5 bg-base-100 rotate-45 shadow-lg'\n\n const positions = {\n top: 'bottom-[-5px] left-1/2 -translate-x-1/2',\n bottom: 'top-[-5px] left-1/2 -translate-x-1/2',\n left: 'right-[-5px] top-1/2 -translate-y-1/2',\n right: 'left-[-5px] top-1/2 -translate-y-1/2',\n }\n\n return `${base} ${positions[placement]}`\n }\n\n const buttonClasses = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n accent: 'btn-accent',\n success: 'btn-success',\n warning: 'btn-warning',\n error: 'btn-error',\n info: 'btn-info',\n ghost: 'btn-ghost',\n } as const\n\n const getButtonClass = (type: keyof typeof buttonClasses) => {\n return buttonClasses[type]\n }\n\n const defaultIcon = (\n <svg\n className=\"w-5 h-5 text-warning\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n )\n\n return (\n <div ref={containerRef} className={`relative inline-block ${className || ''}`} data-state={isOpen ? 'open' : 'closed'} {...rest}>\n {React.cloneElement(children, {\n onClick: (e: React.MouseEvent) => {\n handleTriggerClick(e)\n const originalOnClick = (children.props as any)?.onClick\n if (originalOnClick) {\n originalOnClick(e)\n }\n },\n } as any)}\n\n {isOpen && (\n <div className={getPopupContainerClasses()}>\n <div ref={popupRef} className={getPopupClasses()}>\n <div className=\"flex gap-3 relative z-10\">\n <div className=\"flex-shrink-0 mt-0.5\">\n {icon !== undefined ? icon : defaultIcon}\n </div>\n <div className=\"flex-1\">\n <div className=\"font-semibold text-base-content mb-1\">{title}</div>\n {description && (\n <div className=\"text-sm text-base-content/70 mb-3\">{description}</div>\n )}\n <div className=\"flex justify-end gap-2 mt-3\">\n {showCancel && (\n <button\n className={`btn btn-sm ${getButtonClass(cancelType)}`}\n onClick={handleCancel}\n disabled={loading}\n >\n {cancelText}\n </button>\n )}\n <button\n className={`btn btn-sm ${getButtonClass(okType)}`}\n onClick={handleConfirm}\n disabled={loading}\n >\n {loading && <span className=\"loading loading-spinner loading-xs\"></span>}\n {okText}\n </button>\n </div>\n </div>\n </div>\n <div className={getArrowClasses()} />\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["Popconfirm","children","title","description","onConfirm","onCancel","okText","cancelText","okType","cancelType","placement","disabled","icon","showCancel","className","rest","isOpen","setIsOpen","useState","loading","setLoading","containerRef","useRef","popupRef","useEffect","handleClickOutside","event","handleTriggerClick","e","handleConfirm","handleCancel","getPopupContainerClasses","getPopupClasses","getArrowClasses","buttonClasses","getButtonClass","type","defaultIcon","jsx","jsxs","React","originalOnClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popconfirm.js","sources":["../../src/components/Popconfirm.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react'\n\n// DaisyUI classes\nconst dBtn = 'btn'\nconst dBtnSm = 'btn-sm'\nconst dBtnPrimary = 'btn-primary'\nconst dBtnSecondary = 'btn-secondary'\nconst dBtnAccent = 'btn-accent'\nconst dBtnSuccess = 'btn-success'\nconst dBtnWarning = 'btn-warning'\nconst dBtnError = 'btn-error'\nconst dBtnInfo = 'btn-info'\nconst dBtnGhost = 'btn-ghost'\nconst dLoading = 'loading'\nconst dLoadingSpinner = 'loading-spinner'\nconst dLoadingXs = 'loading-xs'\n\nexport interface PopconfirmProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n children: React.ReactElement\n title: React.ReactNode\n description?: React.ReactNode\n onConfirm?: () => void | Promise<void>\n onCancel?: () => void\n okText?: string\n cancelText?: string\n okType?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info'\n cancelType?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'ghost'\n placement?: 'top' | 'bottom' | 'left' | 'right'\n disabled?: boolean\n icon?: React.ReactNode\n showCancel?: boolean\n}\n\nexport const Popconfirm: React.FC<PopconfirmProps> = ({\n children,\n title,\n description,\n onConfirm,\n onCancel,\n okText = 'OK',\n cancelText = 'Cancel',\n okType = 'primary',\n cancelType = 'ghost',\n placement = 'top',\n disabled = false,\n icon,\n showCancel = true,\n className,\n ...rest\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [loading, setLoading] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n const popupRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(event.target as Node) &&\n popupRef.current &&\n !popupRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [isOpen])\n\n const handleTriggerClick = (e: React.MouseEvent) => {\n if (disabled) return\n e.stopPropagation()\n setIsOpen(!isOpen)\n }\n\n const handleConfirm = async () => {\n if (onConfirm) {\n setLoading(true)\n try {\n await onConfirm()\n setIsOpen(false)\n } finally {\n setLoading(false)\n }\n } else {\n setIsOpen(false)\n }\n }\n\n const handleCancel = () => {\n onCancel?.()\n setIsOpen(false)\n }\n\n const getPopupContainerClasses = () => {\n const positions = {\n top: 'bottom-full left-1/2 -translate-x-1/2 mb-3',\n bottom: 'top-full left-1/2 -translate-x-1/2 mt-3',\n left: 'right-full top-1/2 -translate-y-1/2 mr-3',\n right: 'left-full top-1/2 -translate-y-1/2 ml-3',\n }\n\n return `absolute z-50 ${positions[placement]}`\n }\n\n const getPopupClasses = () => {\n return 'bg-base-100 rounded-lg p-4 min-w-[200px] max-w-[300px] shadow-lg'\n }\n\n const getArrowClasses = () => {\n const base = 'absolute w-2.5 h-2.5 bg-base-100 rotate-45 shadow-lg'\n\n const positions = {\n top: 'bottom-[-5px] left-1/2 -translate-x-1/2',\n bottom: 'top-[-5px] left-1/2 -translate-x-1/2',\n left: 'right-[-5px] top-1/2 -translate-y-1/2',\n right: 'left-[-5px] top-1/2 -translate-y-1/2',\n }\n\n return `${base} ${positions[placement]}`\n }\n\n const buttonClasses = {\n primary: dBtnPrimary,\n secondary: dBtnSecondary,\n accent: dBtnAccent,\n success: dBtnSuccess,\n warning: dBtnWarning,\n error: dBtnError,\n info: dBtnInfo,\n ghost: dBtnGhost,\n } as const\n\n const getButtonClass = (type: keyof typeof buttonClasses) => {\n return buttonClasses[type]\n }\n\n const defaultIcon = (\n <svg\n className=\"w-5 h-5 text-warning\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n )\n\n return (\n <div ref={containerRef} className={`relative inline-block ${className || ''}`} data-state={isOpen ? 'open' : 'closed'} {...rest}>\n {React.cloneElement(children, {\n onClick: (e: React.MouseEvent) => {\n handleTriggerClick(e)\n const originalOnClick = (children.props as any)?.onClick\n if (originalOnClick) {\n originalOnClick(e)\n }\n },\n } as any)}\n\n {isOpen && (\n <div className={getPopupContainerClasses()}>\n <div ref={popupRef} className={getPopupClasses()}>\n <div className=\"flex gap-3 relative z-10\">\n <div className=\"flex-shrink-0 mt-0.5\">\n {icon !== undefined ? icon : defaultIcon}\n </div>\n <div className=\"flex-1\">\n <div className=\"font-semibold text-base-content mb-1\">{title}</div>\n {description && (\n <div className=\"text-sm text-base-content/70 mb-3\">{description}</div>\n )}\n <div className=\"flex justify-end gap-2 mt-3\">\n {showCancel && (\n <button\n className={`${dBtn} ${dBtnSm} ${getButtonClass(cancelType)}`}\n onClick={handleCancel}\n disabled={loading}\n >\n {cancelText}\n </button>\n )}\n <button\n className={`${dBtn} ${dBtnSm} ${getButtonClass(okType)}`}\n onClick={handleConfirm}\n disabled={loading}\n >\n {loading && <span className={`${dLoading} ${dLoadingSpinner} ${dLoadingXs}`}></span>}\n {okText}\n </button>\n </div>\n </div>\n </div>\n <div className={getArrowClasses()} />\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["dBtn","dBtnSm","dBtnPrimary","dBtnSecondary","dBtnAccent","dBtnSuccess","dBtnWarning","dBtnError","dBtnInfo","dBtnGhost","dLoading","dLoadingSpinner","dLoadingXs","Popconfirm","children","title","description","onConfirm","onCancel","okText","cancelText","okType","cancelType","placement","disabled","icon","showCancel","className","rest","isOpen","setIsOpen","useState","loading","setLoading","containerRef","useRef","popupRef","useEffect","handleClickOutside","event","handleTriggerClick","e","handleConfirm","handleCancel","getPopupContainerClasses","getPopupClasses","getArrowClasses","buttonClasses","getButtonClass","type","defaultIcon","jsx","jsxs","React","originalOnClick"],"mappings":";;AAGA,MAAMA,IAAO,OACPC,IAAS,UACTC,IAAc,eACdC,IAAgB,iBAChBC,IAAa,cACbC,IAAc,eACdC,IAAc,eACdC,IAAY,aACZC,IAAW,YACXC,IAAY,aACZC,IAAW,WACXC,IAAkB,mBAClBC,IAAa,cAkBNC,IAAwC,CAAC;AAAA,EACpD,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,YAAAC,IAAa;AAAA,EACb,QAAAC,IAAS;AAAA,EACT,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,MAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,WAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpC,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GACtCG,IAAeC,EAAuB,IAAI,GAC1CC,IAAWD,EAAuB,IAAI;AAE5C,EAAAE,EAAU,MAAM;AACd,UAAMC,IAAqB,CAACC,MAAsB;AAChD,MACEL,EAAa,WACb,CAACA,EAAa,QAAQ,SAASK,EAAM,MAAc,KACnDH,EAAS,WACT,CAACA,EAAS,QAAQ,SAASG,EAAM,MAAc,KAE/CT,EAAU,EAAK;AAAA,IAEnB;AAEA,QAAID;AACF,sBAAS,iBAAiB,aAAaS,CAAkB,GAClD,MAAM,SAAS,oBAAoB,aAAaA,CAAkB;AAAA,EAE7E,GAAG,CAACT,CAAM,CAAC;AAEX,QAAMW,IAAqB,CAACC,MAAwB;AAClD,IAAIjB,MACJiB,EAAE,gBAAA,GACFX,EAAU,CAACD,CAAM;AAAA,EACnB,GAEMa,IAAgB,YAAY;AAChC,QAAIzB,GAAW;AACb,MAAAgB,EAAW,EAAI;AACf,UAAI;AACF,cAAMhB,EAAA,GACNa,EAAU,EAAK;AAAA,MACjB,UAAA;AACE,QAAAG,EAAW,EAAK;AAAA,MAClB;AAAA,IACF;AACE,MAAAH,EAAU,EAAK;AAAA,EAEnB,GAEMa,IAAe,MAAM;AACzB,IAAAzB,IAAA,GACAY,EAAU,EAAK;AAAA,EACjB,GAEMc,IAA2B,MAQxB,iBAPW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EAAA,EAGyBrB,CAAS,CAAC,IAGxCsB,IAAkB,MACf,oEAGHC,IAAkB,MAUf,wDAPW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EAAA,EAGmBvB,CAAS,CAAC,IAGlCwB,IAAgB;AAAA,IACpB,SAAS7C;AAAA,IACT,WAAWC;AAAA,IACX,QAAQC;AAAA,IACR,SAASC;AAAA,IACT,SAASC;AAAA,IACT,OAAOC;AAAA,IACP,MAAMC;AAAA,IACN,OAAOC;AAAA,EAAA,GAGHuC,IAAiB,CAACC,MACfF,EAAcE,CAAI,GAGrBC,IACJ,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,QAAO;AAAA,MACP,SAAQ;AAAA,MAER,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,aAAa;AAAA,UACb,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAIJ,SACE,gBAAAC,EAAC,OAAA,EAAI,KAAKlB,GAAc,WAAW,yBAAyBP,KAAa,EAAE,IAAI,cAAYE,IAAS,SAAS,UAAW,GAAGD,GACxH,UAAA;AAAA,IAAAyB,EAAM,aAAavC,GAAU;AAAA,MAC5B,SAAS,CAAC2B,MAAwB;AAChC,QAAAD,EAAmBC,CAAC;AACpB,cAAMa,IAAmBxC,EAAS,OAAe;AACjD,QAAIwC,KACFA,EAAgBb,CAAC;AAAA,MAErB;AAAA,IAAA,CACM;AAAA,IAEPZ,KACC,gBAAAsB,EAAC,OAAA,EAAI,WAAWP,EAAA,GACd,UAAA,gBAAAQ,EAAC,OAAA,EAAI,KAAKhB,GAAU,WAAWS,EAAA,GAC7B,UAAA;AAAA,MAAA,gBAAAO,EAAC,OAAA,EAAI,WAAU,4BACb,UAAA;AAAA,QAAA,gBAAAD,EAAC,SAAI,WAAU,wBACZ,UAAA1B,MAAS,SAAYA,IAAOyB,GAC/B;AAAA,QACA,gBAAAE,EAAC,OAAA,EAAI,WAAU,UACb,UAAA;AAAA,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,wCAAwC,UAAApC,GAAM;AAAA,UAC5DC,KACC,gBAAAmC,EAAC,OAAA,EAAI,WAAU,qCAAqC,UAAAnC,GAAY;AAAA,UAElE,gBAAAoC,EAAC,OAAA,EAAI,WAAU,+BACZ,UAAA;AAAA,YAAA1B,KACC,gBAAAyB;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW,GAAGnD,CAAI,IAAIC,CAAM,IAAI+C,EAAe1B,CAAU,CAAC;AAAA,gBAC1D,SAASqB;AAAA,gBACT,UAAUX;AAAA,gBAET,UAAAZ;AAAA,cAAA;AAAA,YAAA;AAAA,YAGL,gBAAAgC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW,GAAGpD,CAAI,IAAIC,CAAM,IAAI+C,EAAe3B,CAAM,CAAC;AAAA,gBACtD,SAASqB;AAAA,gBACT,UAAUV;AAAA,gBAET,UAAA;AAAA,kBAAAA,KAAW,gBAAAmB,EAAC,UAAK,WAAW,GAAGzC,CAAQ,IAAIC,CAAe,IAAIC,CAAU,GAAA,CAAI;AAAA,kBAC5EO;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACH,EAAA,CACF;AAAA,QAAA,EAAA,CACF;AAAA,MAAA,GACF;AAAA,MACA,gBAAAgC,EAAC,OAAA,EAAI,WAAWL,EAAA,EAAgB,CAAG;AAAA,IAAA,EAAA,CACrC,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
const p = {
|
|
3
|
-
neutral:
|
|
4
|
-
primary:
|
|
5
|
-
secondary:
|
|
6
|
-
accent:
|
|
7
|
-
info:
|
|
8
|
-
success:
|
|
9
|
-
warning:
|
|
10
|
-
error:
|
|
1
|
+
import { jsx as g } from "react/jsx-runtime";
|
|
2
|
+
const t = "progress", a = "progress-neutral", p = "progress-primary", d = "progress-secondary", i = "progress-accent", P = "progress-info", l = "progress-success", u = "progress-warning", f = "progress-error", m = {
|
|
3
|
+
neutral: a,
|
|
4
|
+
primary: p,
|
|
5
|
+
secondary: d,
|
|
6
|
+
accent: i,
|
|
7
|
+
info: P,
|
|
8
|
+
success: l,
|
|
9
|
+
warning: u,
|
|
10
|
+
error: f
|
|
11
11
|
};
|
|
12
|
-
function
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
r &&
|
|
16
|
-
|
|
12
|
+
function j({ value: s, max: o = 100, type: r, className: e = "", ...n }) {
|
|
13
|
+
const c = [
|
|
14
|
+
t,
|
|
15
|
+
r && m[r],
|
|
16
|
+
e
|
|
17
17
|
].filter(Boolean).join(" ");
|
|
18
|
-
return /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ g("progress", { className: c, value: s, max: o, ...n });
|
|
19
19
|
}
|
|
20
20
|
export {
|
|
21
|
-
|
|
21
|
+
j as Progress
|
|
22
22
|
};
|
|
23
23
|
//# sourceMappingURL=Progress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Progress.js","sources":["../../src/components/Progress.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface ProgressProps extends React.ProgressHTMLAttributes<HTMLProgressElement> {\n type?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n}\n\nconst typeClasses = {\n neutral:
|
|
1
|
+
{"version":3,"file":"Progress.js","sources":["../../src/components/Progress.tsx"],"sourcesContent":["import React from 'react'\n\n// DaisyUI classes\nconst dProgress = 'progress'\nconst dProgressNeutral = 'progress-neutral'\nconst dProgressPrimary = 'progress-primary'\nconst dProgressSecondary = 'progress-secondary'\nconst dProgressAccent = 'progress-accent'\nconst dProgressInfo = 'progress-info'\nconst dProgressSuccess = 'progress-success'\nconst dProgressWarning = 'progress-warning'\nconst dProgressError = 'progress-error'\n\nexport interface ProgressProps extends React.ProgressHTMLAttributes<HTMLProgressElement> {\n type?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n}\n\nconst typeClasses = {\n neutral: dProgressNeutral,\n primary: dProgressPrimary,\n secondary: dProgressSecondary,\n accent: dProgressAccent,\n info: dProgressInfo,\n success: dProgressSuccess,\n warning: dProgressWarning,\n error: dProgressError,\n} as const\n\nexport function Progress({ value, max = 100, type, className = '', ...rest }: ProgressProps) {\n const classes = [\n dProgress,\n type && typeClasses[type],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return <progress className={classes} value={value} max={max} {...rest} />\n}\n"],"names":["dProgress","dProgressNeutral","dProgressPrimary","dProgressSecondary","dProgressAccent","dProgressInfo","dProgressSuccess","dProgressWarning","dProgressError","typeClasses","Progress","value","max","type","className","rest","classes"],"mappings":";AAGA,MAAMA,IAAY,YACZC,IAAmB,oBACnBC,IAAmB,oBACnBC,IAAqB,sBACrBC,IAAkB,mBAClBC,IAAgB,iBAChBC,IAAmB,oBACnBC,IAAmB,oBACnBC,IAAiB,kBAMjBC,IAAc;AAAA,EAClB,SAASR;AAAA,EACT,SAASC;AAAA,EACT,WAAWC;AAAA,EACX,QAAQC;AAAA,EACR,MAAMC;AAAA,EACN,SAASC;AAAA,EACT,SAASC;AAAA,EACT,OAAOC;AACT;AAEO,SAASE,EAAS,EAAE,OAAAC,GAAO,KAAAC,IAAM,KAAK,MAAAC,GAAM,WAAAC,IAAY,IAAI,GAAGC,KAAuB;AAC3F,QAAMC,IAAU;AAAA,IACdhB;AAAA,IACAa,KAAQJ,EAAYI,CAAI;AAAA,IACxBC;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,2BAAQ,YAAA,EAAS,WAAWE,GAAS,OAAAL,GAAc,KAAAC,GAAW,GAAGG,GAAM;AACzE;"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { jsx as e, jsxs as b } from "react/jsx-runtime";
|
|
2
2
|
import { useRef as R, useEffect as C } from "react";
|
|
3
3
|
import w from "qrcode";
|
|
4
|
-
const Q = ({
|
|
4
|
+
const Q = "loading", j = "loading-spinner", F = "loading-lg", L = "btn", $ = "btn-sm", k = "btn-primary", B = ({
|
|
5
5
|
value: o,
|
|
6
|
-
size:
|
|
7
|
-
errorLevel:
|
|
6
|
+
size: t = 160,
|
|
7
|
+
errorLevel: g = "M",
|
|
8
8
|
icon: m,
|
|
9
|
-
iconSize:
|
|
9
|
+
iconSize: n = 40,
|
|
10
10
|
type: f = "canvas",
|
|
11
|
-
color:
|
|
11
|
+
color: v = "#000000",
|
|
12
12
|
bgColor: h = "#FFFFFF",
|
|
13
|
-
bordered:
|
|
13
|
+
bordered: a = !0,
|
|
14
14
|
status: s = "active",
|
|
15
15
|
onRefresh: x,
|
|
16
16
|
className: y = "",
|
|
17
|
-
...
|
|
17
|
+
...r
|
|
18
18
|
}) => {
|
|
19
19
|
const c = R(null);
|
|
20
20
|
C(() => {
|
|
@@ -23,20 +23,20 @@ const Q = ({
|
|
|
23
23
|
if (c.current)
|
|
24
24
|
try {
|
|
25
25
|
if (await w.toCanvas(c.current, o, {
|
|
26
|
-
width:
|
|
26
|
+
width: t,
|
|
27
27
|
margin: 1,
|
|
28
28
|
color: {
|
|
29
|
-
dark:
|
|
29
|
+
dark: v,
|
|
30
30
|
light: h
|
|
31
31
|
},
|
|
32
|
-
errorCorrectionLevel:
|
|
32
|
+
errorCorrectionLevel: g
|
|
33
33
|
}), m && c.current) {
|
|
34
34
|
const i = c.current.getContext("2d");
|
|
35
35
|
if (i) {
|
|
36
36
|
const d = new Image();
|
|
37
37
|
d.crossOrigin = "anonymous", d.onload = () => {
|
|
38
|
-
const u = (
|
|
39
|
-
i.fillStyle = h, i.fillRect(u - 4, N - 4,
|
|
38
|
+
const u = (t - n) / 2, N = (t - n) / 2;
|
|
39
|
+
i.fillStyle = h, i.fillRect(u - 4, N - 4, n + 8, n + 8), i.drawImage(d, u, N, n, n);
|
|
40
40
|
}, d.src = m;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -44,17 +44,17 @@ const Q = ({
|
|
|
44
44
|
console.error("QR Code generation error:", p);
|
|
45
45
|
}
|
|
46
46
|
})();
|
|
47
|
-
}, [o,
|
|
48
|
-
const
|
|
47
|
+
}, [o, t, g, m, n, f, v, h, s]);
|
|
48
|
+
const l = [
|
|
49
49
|
"inline-flex items-center justify-center",
|
|
50
|
-
|
|
50
|
+
a && "border border-base-content/20 p-3",
|
|
51
51
|
"bg-base-100",
|
|
52
52
|
y
|
|
53
53
|
].filter(Boolean).join(" ");
|
|
54
|
-
return s === "loading" ? /* @__PURE__ */ e("div", { className:
|
|
55
|
-
/* @__PURE__ */ e("span", { className:
|
|
54
|
+
return s === "loading" ? /* @__PURE__ */ e("div", { className: l, style: { width: t + (a ? 24 : 0), height: t + (a ? 24 : 0) }, "data-state": "loading", ...r, children: /* @__PURE__ */ b("div", { className: "flex flex-col items-center justify-center gap-2", children: [
|
|
55
|
+
/* @__PURE__ */ e("span", { className: `${Q} ${j} ${F}` }),
|
|
56
56
|
/* @__PURE__ */ e("span", { className: "text-sm text-base-content/70", children: "Loading..." })
|
|
57
|
-
] }) }) : s === "expired" ? /* @__PURE__ */ e("div", { className:
|
|
57
|
+
] }) }) : s === "expired" ? /* @__PURE__ */ e("div", { className: l, style: { width: t + (a ? 24 : 0), height: t + (a ? 24 : 0) }, "data-state": "expired", ...r, children: /* @__PURE__ */ b("div", { className: "flex flex-col items-center justify-center gap-2", children: [
|
|
58
58
|
/* @__PURE__ */ e("svg", { className: "w-12 h-12 text-base-content/30", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ e(
|
|
59
59
|
"path",
|
|
60
60
|
{
|
|
@@ -64,12 +64,12 @@ const Q = ({
|
|
|
64
64
|
}
|
|
65
65
|
) }),
|
|
66
66
|
/* @__PURE__ */ e("span", { className: "text-sm text-base-content/70", children: "QR Code Expired" }),
|
|
67
|
-
x && /* @__PURE__ */ e("button", { className:
|
|
68
|
-
] }) }) : f === "canvas" ? /* @__PURE__ */ e("div", { className: "inline-block", "data-state": "active", ...
|
|
67
|
+
x && /* @__PURE__ */ e("button", { className: `${L} ${$} ${k}`, onClick: x, children: "Refresh" })
|
|
68
|
+
] }) }) : f === "canvas" ? /* @__PURE__ */ e("div", { className: "inline-block", "data-state": "active", ...r, children: /* @__PURE__ */ e("div", { className: l, children: /* @__PURE__ */ e("canvas", { ref: c, style: { display: "block" } }) }) }) : /* @__PURE__ */ e("div", { className: "inline-block", "data-state": "active", ...r, children: /* @__PURE__ */ e("div", { className: l, children: /* @__PURE__ */ e("div", { style: { width: t, height: t }, className: "bg-base-content/5", children: /* @__PURE__ */ e("span", { className: "text-xs text-base-content/50", children: "SVG mode placeholder" }) }) }) });
|
|
69
69
|
};
|
|
70
|
-
|
|
70
|
+
B.displayName = "QRCode";
|
|
71
71
|
export {
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
B as QRCode,
|
|
73
|
+
B as default
|
|
74
74
|
};
|
|
75
75
|
//# sourceMappingURL=QRCode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QRCode.js","sources":["../../src/components/QRCode.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport QRCodeLib from 'qrcode'\n\nexport type QRCodeErrorLevel = 'L' | 'M' | 'Q' | 'H'\nexport type QRCodeType = 'canvas' | 'svg'\nexport type QRCodeStatus = 'active' | 'loading' | 'expired'\n\nexport interface QRCodeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {\n value: string\n size?: number\n errorLevel?: QRCodeErrorLevel\n icon?: string\n iconSize?: number\n type?: QRCodeType\n color?: string\n bgColor?: string\n bordered?: boolean\n status?: QRCodeStatus\n onRefresh?: () => void\n}\n\nexport const QRCode: React.FC<QRCodeProps> = ({\n value,\n size = 160,\n errorLevel = 'M',\n icon,\n iconSize = 40,\n type = 'canvas',\n color = '#000000',\n bgColor = '#FFFFFF',\n bordered = true,\n status = 'active',\n onRefresh,\n className = '',\n ...rest\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null)\n\n useEffect(() => {\n if (status !== 'active' || !value || type !== 'canvas') return\n\n const generateQRCode = async () => {\n if (!canvasRef.current) return\n\n try {\n await QRCodeLib.toCanvas(canvasRef.current, value, {\n width: size,\n margin: 1,\n color: {\n dark: color,\n light: bgColor,\n },\n errorCorrectionLevel: errorLevel,\n })\n\n if (icon && canvasRef.current) {\n const canvas = canvasRef.current\n const ctx = canvas.getContext('2d')\n if (ctx) {\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.onload = () => {\n const iconX = (size - iconSize) / 2\n const iconY = (size - iconSize) / 2\n ctx.fillStyle = bgColor\n ctx.fillRect(iconX - 4, iconY - 4, iconSize + 8, iconSize + 8)\n ctx.drawImage(img, iconX, iconY, iconSize, iconSize)\n }\n img.src = icon\n }\n }\n } catch (error) {\n console.error('QR Code generation error:', error)\n }\n }\n\n generateQRCode()\n }, [value, size, errorLevel, icon, iconSize, type, color, bgColor, status])\n\n // Download functionality can be implemented by consumers\n // by accessing the canvas ref and converting to data URL\n\n const containerClasses = [\n 'inline-flex items-center justify-center',\n bordered && 'border border-base-content/20 p-3',\n 'bg-base-100',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n if (status === 'loading') {\n return (\n <div className={containerClasses} style={{ width: size + (bordered ? 24 : 0), height: size + (bordered ? 24 : 0) }} data-state=\"loading\" {...rest}>\n <div className=\"flex flex-col items-center justify-center gap-2\">\n <span className
|
|
1
|
+
{"version":3,"file":"QRCode.js","sources":["../../src/components/QRCode.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport QRCodeLib from 'qrcode'\n\n// DaisyUI classes\nconst dLoading = 'loading'\nconst dLoadingSpinner = 'loading-spinner'\nconst dLoadingLg = 'loading-lg'\nconst dBtn = 'btn'\nconst dBtnSm = 'btn-sm'\nconst dBtnPrimary = 'btn-primary'\n\nexport type QRCodeErrorLevel = 'L' | 'M' | 'Q' | 'H'\nexport type QRCodeType = 'canvas' | 'svg'\nexport type QRCodeStatus = 'active' | 'loading' | 'expired'\n\nexport interface QRCodeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {\n value: string\n size?: number\n errorLevel?: QRCodeErrorLevel\n icon?: string\n iconSize?: number\n type?: QRCodeType\n color?: string\n bgColor?: string\n bordered?: boolean\n status?: QRCodeStatus\n onRefresh?: () => void\n}\n\nexport const QRCode: React.FC<QRCodeProps> = ({\n value,\n size = 160,\n errorLevel = 'M',\n icon,\n iconSize = 40,\n type = 'canvas',\n color = '#000000',\n bgColor = '#FFFFFF',\n bordered = true,\n status = 'active',\n onRefresh,\n className = '',\n ...rest\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null)\n\n useEffect(() => {\n if (status !== 'active' || !value || type !== 'canvas') return\n\n const generateQRCode = async () => {\n if (!canvasRef.current) return\n\n try {\n await QRCodeLib.toCanvas(canvasRef.current, value, {\n width: size,\n margin: 1,\n color: {\n dark: color,\n light: bgColor,\n },\n errorCorrectionLevel: errorLevel,\n })\n\n if (icon && canvasRef.current) {\n const canvas = canvasRef.current\n const ctx = canvas.getContext('2d')\n if (ctx) {\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.onload = () => {\n const iconX = (size - iconSize) / 2\n const iconY = (size - iconSize) / 2\n ctx.fillStyle = bgColor\n ctx.fillRect(iconX - 4, iconY - 4, iconSize + 8, iconSize + 8)\n ctx.drawImage(img, iconX, iconY, iconSize, iconSize)\n }\n img.src = icon\n }\n }\n } catch (error) {\n console.error('QR Code generation error:', error)\n }\n }\n\n generateQRCode()\n }, [value, size, errorLevel, icon, iconSize, type, color, bgColor, status])\n\n // Download functionality can be implemented by consumers\n // by accessing the canvas ref and converting to data URL\n\n const containerClasses = [\n 'inline-flex items-center justify-center',\n bordered && 'border border-base-content/20 p-3',\n 'bg-base-100',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n if (status === 'loading') {\n return (\n <div className={containerClasses} style={{ width: size + (bordered ? 24 : 0), height: size + (bordered ? 24 : 0) }} data-state=\"loading\" {...rest}>\n <div className=\"flex flex-col items-center justify-center gap-2\">\n <span className={`${dLoading} ${dLoadingSpinner} ${dLoadingLg}`}></span>\n <span className=\"text-sm text-base-content/70\">Loading...</span>\n </div>\n </div>\n )\n }\n\n if (status === 'expired') {\n return (\n <div className={containerClasses} style={{ width: size + (bordered ? 24 : 0), height: size + (bordered ? 24 : 0) }} data-state=\"expired\" {...rest}>\n <div className=\"flex flex-col items-center justify-center gap-2\">\n <svg className=\"w-12 h-12 text-base-content/30\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span className=\"text-sm text-base-content/70\">QR Code Expired</span>\n {onRefresh && (\n <button className={`${dBtn} ${dBtnSm} ${dBtnPrimary}`} onClick={onRefresh}>\n Refresh\n </button>\n )}\n </div>\n </div>\n )\n }\n\n if (type === 'canvas') {\n return (\n <div className=\"inline-block\" data-state=\"active\" {...rest}>\n <div className={containerClasses}>\n <canvas ref={canvasRef} style={{ display: 'block' }} />\n </div>\n </div>\n )\n }\n\n return (\n <div className=\"inline-block\" data-state=\"active\" {...rest}>\n <div className={containerClasses}>\n <div style={{ width: size, height: size }} className=\"bg-base-content/5\">\n <span className=\"text-xs text-base-content/50\">SVG mode placeholder</span>\n </div>\n </div>\n </div>\n )\n}\n\nQRCode.displayName = 'QRCode'\n\nexport default QRCode\n"],"names":["dLoading","dLoadingSpinner","dLoadingLg","dBtn","dBtnSm","dBtnPrimary","QRCode","value","size","errorLevel","icon","iconSize","type","color","bgColor","bordered","status","onRefresh","className","rest","canvasRef","useRef","useEffect","QRCodeLib","ctx","img","iconX","iconY","error","containerClasses","jsx","jsxs"],"mappings":";;;AAIA,MAAMA,IAAW,WACXC,IAAkB,mBAClBC,IAAa,cACbC,IAAO,OACPC,IAAS,UACTC,IAAc,eAoBPC,IAAgC,CAAC;AAAA,EAC5C,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,YAAAC,IAAa;AAAA,EACb,MAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,SAAAC,IAAU;AAAA,EACV,UAAAC,IAAW;AAAA,EACX,QAAAC,IAAS;AAAA,EACT,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAYC,EAA0B,IAAI;AAEhD,EAAAC,EAAU,MAAM;AACd,QAAIN,MAAW,YAAY,CAACT,KAASK,MAAS,SAAU;AAqCxD,KAnCuB,YAAY;AACjC,UAAKQ,EAAU;AAEf,YAAI;AAWF,cAVA,MAAMG,EAAU,SAASH,EAAU,SAASb,GAAO;AAAA,YACjD,OAAOC;AAAA,YACP,QAAQ;AAAA,YACR,OAAO;AAAA,cACL,MAAMK;AAAA,cACN,OAAOC;AAAA,YAAA;AAAA,YAET,sBAAsBL;AAAA,UAAA,CACvB,GAEGC,KAAQU,EAAU,SAAS;AAE7B,kBAAMI,IADSJ,EAAU,QACN,WAAW,IAAI;AAClC,gBAAII,GAAK;AACP,oBAAMC,IAAM,IAAI,MAAA;AAChB,cAAAA,EAAI,cAAc,aAClBA,EAAI,SAAS,MAAM;AACjB,sBAAMC,KAASlB,IAAOG,KAAY,GAC5BgB,KAASnB,IAAOG,KAAY;AAClC,gBAAAa,EAAI,YAAYV,GAChBU,EAAI,SAASE,IAAQ,GAAGC,IAAQ,GAAGhB,IAAW,GAAGA,IAAW,CAAC,GAC7Da,EAAI,UAAUC,GAAKC,GAAOC,GAAOhB,GAAUA,CAAQ;AAAA,cACrD,GACAc,EAAI,MAAMf;AAAA,YACZ;AAAA,UACF;AAAA,QACF,SAASkB,GAAO;AACd,kBAAQ,MAAM,6BAA6BA,CAAK;AAAA,QAClD;AAAA,IACF,GAEA;AAAA,EACF,GAAG,CAACrB,GAAOC,GAAMC,GAAYC,GAAMC,GAAUC,GAAMC,GAAOC,GAASE,CAAM,CAAC;AAK1E,QAAMa,IAAmB;AAAA,IACvB;AAAA,IACAd,KAAY;AAAA,IACZ;AAAA,IACAG;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SAAIF,MAAW,YAEX,gBAAAc,EAAC,OAAA,EAAI,WAAWD,GAAkB,OAAO,EAAE,OAAOrB,KAAQO,IAAW,KAAK,IAAI,QAAQP,KAAQO,IAAW,KAAK,GAAA,GAAM,cAAW,WAAW,GAAGI,GAC3I,UAAA,gBAAAY,EAAC,OAAA,EAAI,WAAU,mDACb,UAAA;AAAA,IAAA,gBAAAD,EAAC,QAAA,EAAK,WAAW,GAAG9B,CAAQ,IAAIC,CAAe,IAAIC,CAAU,GAAA,CAAI;AAAA,IACjE,gBAAA4B,EAAC,QAAA,EAAK,WAAU,gCAA+B,UAAA,aAAA,CAAU;AAAA,EAAA,EAAA,CAC3D,EAAA,CACF,IAIAd,MAAW,YAEX,gBAAAc,EAAC,OAAA,EAAI,WAAWD,GAAkB,OAAO,EAAE,OAAOrB,KAAQO,IAAW,KAAK,IAAI,QAAQP,KAAQO,IAAW,KAAK,GAAA,GAAM,cAAW,WAAW,GAAGI,GAC3I,UAAA,gBAAAY,EAAC,OAAA,EAAI,WAAU,mDACb,UAAA;AAAA,IAAA,gBAAAD,EAAC,SAAI,WAAU,kCAAiC,MAAK,gBAAe,SAAQ,aAC1E,UAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,QACF,UAAS;AAAA,MAAA;AAAA,IAAA,GAEb;AAAA,IACA,gBAAAA,EAAC,QAAA,EAAK,WAAU,gCAA+B,UAAA,mBAAe;AAAA,IAC7Db,KACC,gBAAAa,EAAC,UAAA,EAAO,WAAW,GAAG3B,CAAI,IAAIC,CAAM,IAAIC,CAAW,IAAI,SAASY,GAAW,UAAA,UAAA,CAE3E;AAAA,EAAA,EAAA,CAEJ,EAAA,CACF,IAIAL,MAAS,WAET,gBAAAkB,EAAC,SAAI,WAAU,gBAAe,cAAW,UAAU,GAAGX,GACpD,UAAA,gBAAAW,EAAC,OAAA,EAAI,WAAWD,GACd,UAAA,gBAAAC,EAAC,UAAA,EAAO,KAAKV,GAAW,OAAO,EAAE,SAAS,QAAA,GAAW,EAAA,CACvD,EAAA,CACF,IAKF,gBAAAU,EAAC,OAAA,EAAI,WAAU,gBAAe,cAAW,UAAU,GAAGX,GACpD,UAAA,gBAAAW,EAAC,OAAA,EAAI,WAAWD,GACd,4BAAC,OAAA,EAAI,OAAO,EAAE,OAAOrB,GAAM,QAAQA,EAAA,GAAQ,WAAU,qBACnD,UAAA,gBAAAsB,EAAC,QAAA,EAAK,WAAU,gCAA+B,UAAA,uBAAA,CAAoB,EAAA,CACrE,GACF,GACF;AAEJ;AAEAxB,EAAO,cAAc;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
const f = {
|
|
1
|
+
import { jsx as x } from "react/jsx-runtime";
|
|
2
|
+
const p = "radial-progress", f = "--value", m = "--size", y = "--thickness", g = {
|
|
3
3
|
primary: "text-primary",
|
|
4
4
|
secondary: "text-secondary",
|
|
5
5
|
accent: "text-accent",
|
|
@@ -8,41 +8,41 @@ const f = {
|
|
|
8
8
|
error: "text-error",
|
|
9
9
|
info: "text-info",
|
|
10
10
|
neutral: "text-neutral"
|
|
11
|
-
},
|
|
12
|
-
value:
|
|
11
|
+
}, C = ({
|
|
12
|
+
value: t,
|
|
13
13
|
size: e,
|
|
14
|
-
thickness:
|
|
15
|
-
color:
|
|
14
|
+
thickness: s,
|
|
15
|
+
color: o,
|
|
16
16
|
showValue: i = !0,
|
|
17
|
-
children:
|
|
17
|
+
children: a,
|
|
18
18
|
className: n = "",
|
|
19
19
|
style: c,
|
|
20
20
|
...l
|
|
21
21
|
}) => {
|
|
22
22
|
const u = () => {
|
|
23
|
-
const r = [
|
|
24
|
-
return
|
|
25
|
-
},
|
|
23
|
+
const r = [p];
|
|
24
|
+
return o && r.push(g[o]), n && r.push(n), r.join(" ");
|
|
25
|
+
}, d = () => {
|
|
26
26
|
const r = {
|
|
27
|
-
|
|
27
|
+
[f]: t
|
|
28
28
|
};
|
|
29
|
-
return e !== void 0 && (r[
|
|
29
|
+
return e !== void 0 && (r[m] = typeof e == "number" ? `${e}rem` : e), s !== void 0 && (r[y] = typeof s == "number" ? `${s}px` : s), r;
|
|
30
30
|
};
|
|
31
|
-
return /* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ x(
|
|
32
32
|
"div",
|
|
33
33
|
{
|
|
34
34
|
className: u(),
|
|
35
|
-
style: { ...
|
|
35
|
+
style: { ...d(), ...c },
|
|
36
36
|
role: "progressbar",
|
|
37
|
-
"aria-valuenow":
|
|
37
|
+
"aria-valuenow": t,
|
|
38
38
|
"aria-valuemin": 0,
|
|
39
39
|
"aria-valuemax": 100,
|
|
40
40
|
...l,
|
|
41
|
-
children:
|
|
41
|
+
children: a !== void 0 ? a : i ? `${t}%` : null
|
|
42
42
|
}
|
|
43
43
|
);
|
|
44
44
|
};
|
|
45
45
|
export {
|
|
46
|
-
|
|
46
|
+
C as RadialProgress
|
|
47
47
|
};
|
|
48
48
|
//# sourceMappingURL=RadialProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialProgress.js","sources":["../../src/components/RadialProgress.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface RadialProgressProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {\n value: number\n size?: string | number\n thickness?: string | number\n color?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'neutral'\n showValue?: boolean\n children?: React.ReactNode\n}\n\nconst colorClasses = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n warning: 'text-warning',\n error: 'text-error',\n info: 'text-info',\n neutral: 'text-neutral',\n} as const\n\nexport const RadialProgress: React.FC<RadialProgressProps> = ({\n value,\n size,\n thickness,\n color,\n showValue = true,\n children,\n className = '',\n style,\n ...rest\n}) => {\n const getClasses = () => {\n const classes = [
|
|
1
|
+
{"version":3,"file":"RadialProgress.js","sources":["../../src/components/RadialProgress.tsx"],"sourcesContent":["import React from 'react'\n\n// DaisyUI classes\nconst dRadialProgress = 'radial-progress'\nconst dCssValue = '--value'\nconst dCssSize = '--size'\nconst dCssThickness = '--thickness'\n\nexport interface RadialProgressProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {\n value: number\n size?: string | number\n thickness?: string | number\n color?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'neutral'\n showValue?: boolean\n children?: React.ReactNode\n}\n\nconst colorClasses = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n warning: 'text-warning',\n error: 'text-error',\n info: 'text-info',\n neutral: 'text-neutral',\n} as const\n\nexport const RadialProgress: React.FC<RadialProgressProps> = ({\n value,\n size,\n thickness,\n color,\n showValue = true,\n children,\n className = '',\n style,\n ...rest\n}) => {\n const getClasses = () => {\n const classes = [dRadialProgress]\n\n if (color) {\n classes.push(colorClasses[color])\n }\n\n if (className) {\n classes.push(className)\n }\n\n return classes.join(' ')\n }\n\n const getStyle = (): React.CSSProperties => {\n const style: Record<string, string | number> = {\n [dCssValue]: value,\n }\n\n if (size !== undefined) {\n style[dCssSize] = typeof size === 'number' ? `${size}rem` : size\n }\n\n if (thickness !== undefined) {\n style[dCssThickness] = typeof thickness === 'number' ? `${thickness}px` : thickness\n }\n\n return style as React.CSSProperties\n }\n\n return (\n <div\n className={getClasses()}\n style={{ ...getStyle(), ...style }}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={100}\n {...rest}\n >\n {children !== undefined ? children : showValue ? `${value}%` : null}\n </div>\n )\n}\n"],"names":["dRadialProgress","dCssValue","dCssSize","dCssThickness","colorClasses","RadialProgress","value","size","thickness","color","showValue","children","className","style","rest","getClasses","classes","getStyle","jsx"],"mappings":";AAGA,MAAMA,IAAkB,mBAClBC,IAAY,WACZC,IAAW,UACXC,IAAgB,eAWhBC,IAAe;AAAA,EACnB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AACX,GAEaC,IAAgD,CAAC;AAAA,EAC5D,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAa,MAAM;AACvB,UAAMC,IAAU,CAAChB,CAAe;AAEhC,WAAIS,KACFO,EAAQ,KAAKZ,EAAaK,CAAK,CAAC,GAG9BG,KACFI,EAAQ,KAAKJ,CAAS,GAGjBI,EAAQ,KAAK,GAAG;AAAA,EACzB,GAEMC,IAAW,MAA2B;AAC1C,UAAMJ,IAAyC;AAAA,MAC7C,CAACZ,CAAS,GAAGK;AAAA,IAAA;AAGf,WAAIC,MAAS,WACXM,EAAMX,CAAQ,IAAI,OAAOK,KAAS,WAAW,GAAGA,CAAI,QAAQA,IAG1DC,MAAc,WAChBK,EAAMV,CAAa,IAAI,OAAOK,KAAc,WAAW,GAAGA,CAAS,OAAOA,IAGrEK;AAAAA,EACT;AAEA,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWH,EAAA;AAAA,MACX,OAAO,EAAE,GAAGE,EAAA,GAAY,GAAGJ,EAAA;AAAA,MAC3B,MAAK;AAAA,MACL,iBAAeP;AAAA,MACf,iBAAe;AAAA,MACf,iBAAe;AAAA,MACd,GAAGQ;AAAA,MAEH,gBAAa,SAAYH,IAAWD,IAAY,GAAGJ,CAAK,MAAM;AAAA,IAAA;AAAA,EAAA;AAGrE;"}
|