asterui 0.12.15 → 0.12.16
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/README.md +1 -1
- package/dist/components/HoverGallery.d.ts +10 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +156 -154
- package/dist/index.js.map +1 -1
- package/dist/index100.js +11 -43
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +44 -11
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +10 -12
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +14 -7
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +7 -12
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +11 -29
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +29 -16
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +21 -0
- package/dist/index107.js.map +1 -0
- package/dist/index21.js +1 -1
- package/dist/index37.js +15 -120
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +119 -37
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +40 -398
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +390 -89
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +90 -215
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +211 -144
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +155 -15
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +15 -17
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +17 -21
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +18 -134
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +134 -10
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +13 -35
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +35 -34
- package/dist/index49.js.map +1 -1
- package/dist/index50.js +34 -81
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +71 -166
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +167 -144
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +152 -11
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +10 -20
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +22 -14
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +14 -7
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +6 -333
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +334 -47
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +47 -122
- package/dist/index59.js.map +1 -1
- package/dist/index60.js +120 -108
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +107 -167
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +167 -29
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +30 -120
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +116 -80
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +85 -19
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +19 -73
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +71 -54
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +56 -44
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +42 -49
- package/dist/index69.js.map +1 -1
- package/dist/index70.js +50 -121
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +118 -102
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +107 -41
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +41 -68
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +66 -19
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +18 -55
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +55 -251
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +254 -22
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +22 -31
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +30 -93
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +89 -324
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +322 -73
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +79 -39
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +40 -23
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +21 -93
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +87 -148
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +147 -152
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +159 -63
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +65 -35
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +35 -234
- package/dist/index89.js.map +1 -1
- package/dist/index90.js +231 -31
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +34 -210
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +195 -198
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +159 -241
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +283 -166
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +173 -253
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +258 -14
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +12 -31
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +32 -5
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +5 -13
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
package/dist/index67.js
CHANGED
|
@@ -1,60 +1,77 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
import { jsx as e, jsxs as y } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as Q, useState as j, useEffect as R } from "react";
|
|
3
|
+
import F from "qrcode";
|
|
4
|
+
const k = ({
|
|
5
|
+
value: m,
|
|
6
|
+
size: a = 160,
|
|
7
|
+
errorLevel: v = "M",
|
|
8
|
+
icon: f,
|
|
9
|
+
iconSize: t = 40,
|
|
10
|
+
type: h = "canvas",
|
|
11
|
+
color: x = "#000000",
|
|
12
|
+
bgColor: g = "#FFFFFF",
|
|
13
|
+
bordered: l = !0,
|
|
14
|
+
status: n = "active",
|
|
15
|
+
onRefresh: p,
|
|
16
|
+
className: C = "",
|
|
17
|
+
...c
|
|
18
|
+
}) => {
|
|
19
|
+
const s = Q(null), [w, i] = j(n === "loading");
|
|
20
|
+
R(() => {
|
|
21
|
+
i(n === "loading");
|
|
22
|
+
}, [n]), R(() => {
|
|
23
|
+
if (n !== "active" || !m) return;
|
|
24
|
+
(async () => {
|
|
25
|
+
try {
|
|
26
|
+
if (i(!0), h === "canvas" && s.current && (await F.toCanvas(s.current, m, {
|
|
27
|
+
width: a,
|
|
28
|
+
margin: 1,
|
|
29
|
+
color: {
|
|
30
|
+
dark: x,
|
|
31
|
+
light: g
|
|
32
|
+
},
|
|
33
|
+
errorCorrectionLevel: v
|
|
34
|
+
}), f)) {
|
|
35
|
+
const o = s.current.getContext("2d");
|
|
36
|
+
if (o) {
|
|
37
|
+
const d = new Image();
|
|
38
|
+
d.crossOrigin = "anonymous", d.onload = () => {
|
|
39
|
+
const u = (a - t) / 2, b = (a - t) / 2;
|
|
40
|
+
o.fillStyle = g, o.fillRect(u - 4, b - 4, t + 8, t + 8), o.drawImage(d, u, b, t, t);
|
|
41
|
+
}, d.src = f;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
i(!1);
|
|
45
|
+
} catch (N) {
|
|
46
|
+
console.error("QR Code generation error:", N), i(!1);
|
|
31
47
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
48
|
+
})();
|
|
49
|
+
}, [m, a, v, f, t, h, x, g, n]);
|
|
50
|
+
const r = [
|
|
51
|
+
"inline-flex items-center justify-center",
|
|
52
|
+
l && "border border-base-content/20 p-3",
|
|
53
|
+
"bg-base-100",
|
|
54
|
+
C
|
|
55
|
+
].filter(Boolean).join(" ");
|
|
56
|
+
return n === "loading" || w ? /* @__PURE__ */ e("div", { className: r, style: { width: a + (l ? 24 : 0), height: a + (l ? 24 : 0) }, "data-state": "loading", ...c, children: /* @__PURE__ */ y("div", { className: "flex flex-col items-center justify-center gap-2", children: [
|
|
57
|
+
/* @__PURE__ */ e("span", { className: "loading loading-spinner loading-lg" }),
|
|
58
|
+
/* @__PURE__ */ e("span", { className: "text-sm text-base-content/70", children: "Loading..." })
|
|
59
|
+
] }) }) : n === "expired" ? /* @__PURE__ */ e("div", { className: r, style: { width: a + (l ? 24 : 0), height: a + (l ? 24 : 0) }, "data-state": "expired", ...c, children: /* @__PURE__ */ y("div", { className: "flex flex-col items-center justify-center gap-2", children: [
|
|
60
|
+
/* @__PURE__ */ e("svg", { className: "w-12 h-12 text-base-content/30", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ e(
|
|
61
|
+
"path",
|
|
35
62
|
{
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
value: o,
|
|
40
|
-
checked: p,
|
|
41
|
-
onChange: y,
|
|
42
|
-
name: R,
|
|
43
|
-
"data-state": p ? "checked" : "unchecked",
|
|
44
|
-
...l
|
|
63
|
+
fillRule: "evenodd",
|
|
64
|
+
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",
|
|
65
|
+
clipRule: "evenodd"
|
|
45
66
|
}
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
);
|
|
53
|
-
f.displayName = "Radio";
|
|
54
|
-
const I = Object.assign(f, {
|
|
55
|
-
Group: w
|
|
56
|
-
});
|
|
67
|
+
) }),
|
|
68
|
+
/* @__PURE__ */ e("span", { className: "text-sm text-base-content/70", children: "QR Code Expired" }),
|
|
69
|
+
p && /* @__PURE__ */ e("button", { className: "btn btn-sm btn-primary", onClick: p, children: "Refresh" })
|
|
70
|
+
] }) }) : h === "canvas" ? /* @__PURE__ */ e("div", { className: "inline-block", "data-state": "active", ...c, children: /* @__PURE__ */ e("div", { className: r, children: /* @__PURE__ */ e("canvas", { ref: s, style: { display: "block" } }) }) }) : /* @__PURE__ */ e("div", { className: "inline-block", "data-state": "active", ...c, children: /* @__PURE__ */ e("div", { className: r, children: /* @__PURE__ */ e("div", { style: { width: a, height: a }, className: "bg-base-content/5", children: /* @__PURE__ */ e("span", { className: "text-xs text-base-content/50", children: "SVG mode placeholder" }) }) }) });
|
|
71
|
+
};
|
|
72
|
+
k.displayName = "QRCode";
|
|
57
73
|
export {
|
|
58
|
-
|
|
74
|
+
k as QRCode,
|
|
75
|
+
k as default
|
|
59
76
|
};
|
|
60
77
|
//# sourceMappingURL=index67.js.map
|
package/dist/index67.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index67.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index67.js","sources":["../src/components/QRCode.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } 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 const [loading, setLoading] = useState(status === 'loading')\n\n useEffect(() => {\n setLoading(status === 'loading')\n }, [status])\n\n useEffect(() => {\n if (status !== 'active' || !value) return\n\n const generateQRCode = async () => {\n try {\n setLoading(true)\n\n if (type === 'canvas' && canvasRef.current) {\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) {\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 }\n\n setLoading(false)\n } catch (error) {\n console.error('QR Code generation error:', error)\n setLoading(false)\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' || 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=\"loading loading-spinner loading-lg\"></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=\"btn btn-sm btn-primary\" 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":["QRCode","value","size","errorLevel","icon","iconSize","type","color","bgColor","bordered","status","onRefresh","className","rest","canvasRef","useRef","loading","setLoading","useState","useEffect","QRCodeLib","ctx","img","iconX","iconY","error","containerClasses","jsx","jsxs"],"mappings":"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"}
|
package/dist/index68.js
CHANGED
|
@@ -1,48 +1,60 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
warning: "text-warning",
|
|
8
|
-
error: "text-error",
|
|
9
|
-
info: "text-info",
|
|
10
|
-
neutral: "text-neutral"
|
|
11
|
-
}, y = ({
|
|
12
|
-
value: s,
|
|
13
|
-
size: e,
|
|
14
|
-
thickness: t,
|
|
15
|
-
color: a,
|
|
16
|
-
showValue: i = !0,
|
|
17
|
-
children: o,
|
|
18
|
-
className: n = "",
|
|
19
|
-
style: c,
|
|
20
|
-
...l
|
|
21
|
-
}) => {
|
|
22
|
-
const u = () => {
|
|
23
|
-
const r = ["radial-progress"];
|
|
24
|
-
return a && r.push(f[a]), n && r.push(n), r.join(" ");
|
|
25
|
-
}, x = () => {
|
|
26
|
-
const r = {
|
|
27
|
-
"--value": s
|
|
28
|
-
};
|
|
29
|
-
return e !== void 0 && (r["--size"] = typeof e == "number" ? `${e}rem` : e), t !== void 0 && (r["--thickness"] = typeof t == "number" ? `${t}px` : t), r;
|
|
1
|
+
import { jsx as r, jsxs as N } from "react/jsx-runtime";
|
|
2
|
+
import S, { forwardRef as b, useContext as G, createContext as V } from "react";
|
|
3
|
+
const g = V(null);
|
|
4
|
+
function w({ children: n, value: e, defaultValue: i, onChange: o, name: t, className: c = "" }) {
|
|
5
|
+
const [d, s] = S.useState(i), l = e !== void 0 ? e : d, u = (a) => {
|
|
6
|
+
e === void 0 && s(a), o?.({ target: { value: a, name: t } });
|
|
30
7
|
};
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
8
|
+
return /* @__PURE__ */ r(g.Provider, { value: { value: l, onChange: u, name: t }, children: /* @__PURE__ */ r("div", { role: "radiogroup", className: c, children: n }) });
|
|
9
|
+
}
|
|
10
|
+
const f = b(
|
|
11
|
+
({ size: n, color: e, className: i = "", value: o, checked: t, onChange: c, name: d, children: s, ...l }, u) => {
|
|
12
|
+
const a = G(g), h = {
|
|
13
|
+
xs: "radio-xs",
|
|
14
|
+
sm: "radio-sm",
|
|
15
|
+
md: "radio-md",
|
|
16
|
+
lg: "radio-lg",
|
|
17
|
+
xl: "radio-xl"
|
|
18
|
+
}, x = {
|
|
19
|
+
neutral: "radio-neutral",
|
|
20
|
+
primary: "radio-primary",
|
|
21
|
+
secondary: "radio-secondary",
|
|
22
|
+
accent: "radio-accent",
|
|
23
|
+
info: "radio-info",
|
|
24
|
+
success: "radio-success",
|
|
25
|
+
warning: "radio-warning",
|
|
26
|
+
error: "radio-error"
|
|
27
|
+
}, C = ["radio", n && h[n], e && x[e]].filter(Boolean).join(" "), p = a ? a.value === o : t, y = (k) => {
|
|
28
|
+
if (a && o !== void 0) {
|
|
29
|
+
const j = typeof o == "string" || typeof o == "number" ? o : String(o);
|
|
30
|
+
a.onChange?.(j);
|
|
31
|
+
}
|
|
32
|
+
c?.(k);
|
|
33
|
+
}, R = a?.name || d, m = /* @__PURE__ */ r(
|
|
34
|
+
"input",
|
|
35
|
+
{
|
|
36
|
+
ref: u,
|
|
37
|
+
type: "radio",
|
|
38
|
+
className: C,
|
|
39
|
+
value: o,
|
|
40
|
+
checked: p,
|
|
41
|
+
onChange: y,
|
|
42
|
+
name: R,
|
|
43
|
+
"data-state": p ? "checked" : "unchecked",
|
|
44
|
+
...l
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
return s ? /* @__PURE__ */ N("label", { className: `flex items-center gap-2 cursor-pointer ${i}`, children: [
|
|
48
|
+
/* @__PURE__ */ r("span", { className: "flex-shrink-0", children: m }),
|
|
49
|
+
/* @__PURE__ */ r("span", { children: s })
|
|
50
|
+
] }) : m;
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
f.displayName = "Radio";
|
|
54
|
+
const I = Object.assign(f, {
|
|
55
|
+
Group: w
|
|
56
|
+
});
|
|
45
57
|
export {
|
|
46
|
-
|
|
58
|
+
I as Radio
|
|
47
59
|
};
|
|
48
60
|
//# sourceMappingURL=index68.js.map
|
package/dist/index68.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index68.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index68.js","sources":["../src/components/Radio.tsx"],"sourcesContent":["import React, { forwardRef, createContext, useContext } from 'react'\n\nexport interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n className?: string\n children?: React.ReactNode\n}\n\nexport interface RadioGroupChangeEvent {\n target: {\n value: string | number\n name?: string\n }\n}\n\nexport interface RadioGroupProps {\n children: React.ReactNode\n value?: string | number\n defaultValue?: string | number\n onChange?: (e: RadioGroupChangeEvent) => void\n name?: string\n className?: string\n}\n\ninterface RadioGroupContextValue {\n value?: string | number\n onChange?: (value: string | number) => void\n name?: string\n}\n\nconst RadioGroupContext = createContext<RadioGroupContextValue | null>(null)\n\nfunction RadioGroup({ children, value, defaultValue, onChange, name, className = '' }: RadioGroupProps) {\n const [internalValue, setInternalValue] = React.useState(defaultValue)\n const currentValue = value !== undefined ? value : internalValue\n\n const handleChange = (newValue: string | number) => {\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.({ target: { value: newValue, name } })\n }\n\n return (\n <RadioGroupContext.Provider value={{ value: currentValue, onChange: handleChange, name }}>\n <div role=\"radiogroup\" className={className}>{children}</div>\n </RadioGroupContext.Provider>\n )\n}\n\nconst RadioRoot = forwardRef<HTMLInputElement, RadioProps>(\n ({ size, color, className = '', value, checked, onChange, name: nameProp, children, ...props }, ref) => {\n const groupContext = useContext(RadioGroupContext)\n\n const sizeClasses = {\n xs: 'radio-xs',\n sm: 'radio-sm',\n md: 'radio-md',\n lg: 'radio-lg',\n xl: 'radio-xl',\n }\n\n const colorClasses = {\n neutral: 'radio-neutral',\n primary: 'radio-primary',\n secondary: 'radio-secondary',\n accent: 'radio-accent',\n info: 'radio-info',\n success: 'radio-success',\n warning: 'radio-warning',\n error: 'radio-error',\n }\n\n const radioClasses = ['radio', size && sizeClasses[size], color && colorClasses[color]]\n .filter(Boolean)\n .join(' ')\n\n // If in a group, use group's value and onChange\n const isChecked = groupContext ? groupContext.value === value : checked\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (groupContext && value !== undefined) {\n const normalizedValue = typeof value === 'string' || typeof value === 'number' ? value : String(value)\n groupContext.onChange?.(normalizedValue)\n }\n onChange?.(e)\n }\n const name = groupContext?.name || nameProp\n\n const dataState = isChecked ? 'checked' : 'unchecked'\n\n const input = (\n <input\n ref={ref}\n type=\"radio\"\n className={radioClasses}\n value={value}\n checked={isChecked}\n onChange={handleChange}\n name={name}\n data-state={dataState}\n {...props}\n />\n )\n\n // If children are provided, wrap in a label\n if (children) {\n return (\n <label className={`flex items-center gap-2 cursor-pointer ${className}`}>\n <span className=\"flex-shrink-0\">{input}</span>\n <span>{children}</span>\n </label>\n )\n }\n\n return input\n }\n)\n\nRadioRoot.displayName = 'Radio'\n\nexport const Radio = Object.assign(RadioRoot, {\n Group: RadioGroup,\n})\n"],"names":["RadioGroupContext","createContext","RadioGroup","children","value","defaultValue","onChange","name","className","internalValue","setInternalValue","React","currentValue","handleChange","newValue","jsx","RadioRoot","forwardRef","size","color","checked","nameProp","props","ref","groupContext","useContext","sizeClasses","colorClasses","radioClasses","isChecked","e","normalizedValue","input","jsxs","Radio"],"mappings":";;AA+BA,MAAMA,IAAoBC,EAA6C,IAAI;AAE3E,SAASC,EAAW,EAAE,UAAAC,GAAU,OAAAC,GAAO,cAAAC,GAAc,UAAAC,GAAU,MAAAC,GAAM,WAAAC,IAAY,MAAuB;AACtG,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAM,SAASN,CAAY,GAC/DO,IAAeR,MAAU,SAAYA,IAAQK,GAE7CI,IAAe,CAACC,MAA8B;AAClD,IAAIV,MAAU,UACZM,EAAiBI,CAAQ,GAE3BR,IAAW,EAAE,QAAQ,EAAE,OAAOQ,GAAU,MAAAP,EAAA,GAAQ;AAAA,EAClD;AAEA,2BACGP,EAAkB,UAAlB,EAA2B,OAAO,EAAE,OAAOY,GAAc,UAAUC,GAAc,MAAAN,EAAA,GAChF,UAAA,gBAAAQ,EAAC,OAAA,EAAI,MAAK,cAAa,WAAAP,GAAuB,UAAAL,GAAS,GACzD;AAEJ;AAEA,MAAMa,IAAYC;AAAA,EAChB,CAAC,EAAE,MAAAC,GAAM,OAAAC,GAAO,WAAAX,IAAY,IAAI,OAAAJ,GAAO,SAAAgB,GAAS,UAAAd,GAAU,MAAMe,GAAU,UAAAlB,GAAU,GAAGmB,EAAA,GAASC,MAAQ;AACtG,UAAMC,IAAeC,EAAWzB,CAAiB,GAE3C0B,IAAc;AAAA,MAClB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA,GAGAC,IAAe;AAAA,MACnB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA,GAGHC,IAAe,CAAC,SAASV,KAAQQ,EAAYR,CAAI,GAAGC,KAASQ,EAAaR,CAAK,CAAC,EACnF,OAAO,OAAO,EACd,KAAK,GAAG,GAGLU,IAAYL,IAAeA,EAAa,UAAUpB,IAAQgB,GAC1DP,IAAe,CAACiB,MAA2C;AAC/D,UAAIN,KAAgBpB,MAAU,QAAW;AACvC,cAAM2B,IAAkB,OAAO3B,KAAU,YAAY,OAAOA,KAAU,WAAWA,IAAQ,OAAOA,CAAK;AACrG,QAAAoB,EAAa,WAAWO,CAAe;AAAA,MACzC;AACA,MAAAzB,IAAWwB,CAAC;AAAA,IACd,GACMvB,IAAOiB,GAAc,QAAQH,GAI7BW,IACJ,gBAAAjB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAQ;AAAA,QACA,MAAK;AAAA,QACL,WAAWK;AAAA,QACX,OAAAxB;AAAA,QACA,SAASyB;AAAA,QACT,UAAUhB;AAAA,QACV,MAAAN;AAAA,QACA,cAXcsB,IAAY,YAAY;AAAA,QAYrC,GAAGP;AAAA,MAAA;AAAA,IAAA;AAKR,WAAInB,IAEA,gBAAA8B,EAAC,SAAA,EAAM,WAAW,0CAA0CzB,CAAS,IACnE,UAAA;AAAA,MAAA,gBAAAO,EAAC,QAAA,EAAK,WAAU,iBAAiB,UAAAiB,GAAM;AAAA,MACvC,gBAAAjB,EAAC,UAAM,UAAAZ,EAAA,CAAS;AAAA,IAAA,GAClB,IAIG6B;AAAA,EACT;AACF;AAEAhB,EAAU,cAAc;AAEjB,MAAMkB,IAAQ,OAAO,OAAOlB,GAAW;AAAA,EAC5C,OAAOd;AACT,CAAC;"}
|
package/dist/index69.js
CHANGED
|
@@ -1,55 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
2
|
+
const f = {
|
|
3
|
+
primary: "text-primary",
|
|
4
|
+
secondary: "text-secondary",
|
|
5
|
+
accent: "text-accent",
|
|
6
|
+
success: "text-success",
|
|
7
|
+
warning: "text-warning",
|
|
8
|
+
error: "text-error",
|
|
9
|
+
info: "text-info",
|
|
10
|
+
neutral: "text-neutral"
|
|
11
|
+
}, y = ({
|
|
4
12
|
value: s,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
showValue: x = !1,
|
|
14
|
-
showSteps: o = !1,
|
|
15
|
-
className: h = ""
|
|
13
|
+
size: e,
|
|
14
|
+
thickness: t,
|
|
15
|
+
color: a,
|
|
16
|
+
showValue: i = !0,
|
|
17
|
+
children: o,
|
|
18
|
+
className: n = "",
|
|
19
|
+
style: c,
|
|
20
|
+
...l
|
|
16
21
|
}) => {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
min: r,
|
|
40
|
-
max: c,
|
|
41
|
-
step: t,
|
|
42
|
-
value: g,
|
|
43
|
-
onChange: C,
|
|
44
|
-
disabled: u,
|
|
45
|
-
className: `range ${N} ${V}`
|
|
46
|
-
}
|
|
47
|
-
),
|
|
48
|
-
o && i.length > 0 && /* @__PURE__ */ a("div", { className: "w-full flex justify-between text-xs px-2 mt-2", children: i.map((e) => /* @__PURE__ */ a("span", { className: "text-base-content/60", children: "|" }, e)) }),
|
|
49
|
-
x && /* @__PURE__ */ a("div", { className: "text-center mt-2 text-sm font-medium text-base-content", children: g })
|
|
50
|
-
] });
|
|
22
|
+
const u = () => {
|
|
23
|
+
const r = ["radial-progress"];
|
|
24
|
+
return a && r.push(f[a]), n && r.push(n), r.join(" ");
|
|
25
|
+
}, x = () => {
|
|
26
|
+
const r = {
|
|
27
|
+
"--value": s
|
|
28
|
+
};
|
|
29
|
+
return e !== void 0 && (r["--size"] = typeof e == "number" ? `${e}rem` : e), t !== void 0 && (r["--thickness"] = typeof t == "number" ? `${t}px` : t), r;
|
|
30
|
+
};
|
|
31
|
+
return /* @__PURE__ */ p(
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
className: u(),
|
|
35
|
+
style: { ...x(), ...c },
|
|
36
|
+
role: "progressbar",
|
|
37
|
+
"aria-valuenow": s,
|
|
38
|
+
"aria-valuemin": 0,
|
|
39
|
+
"aria-valuemax": 100,
|
|
40
|
+
...l,
|
|
41
|
+
children: o !== void 0 ? o : i ? `${s}%` : null
|
|
42
|
+
}
|
|
43
|
+
);
|
|
51
44
|
};
|
|
52
45
|
export {
|
|
53
|
-
|
|
46
|
+
y as RadialProgress
|
|
54
47
|
};
|
|
55
48
|
//# sourceMappingURL=index69.js.map
|
package/dist/index69.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index69.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index69.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 = ['radial-progress']\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 '--value': value,\n }\n\n if (size !== undefined) {\n style['--size'] = typeof size === 'number' ? `${size}rem` : size\n }\n\n if (thickness !== undefined) {\n style['--thickness'] = 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":["colorClasses","RadialProgress","value","size","thickness","color","showValue","children","className","style","rest","getClasses","classes","getStyle","jsx"],"mappings":";AAWA,MAAMA,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,CAAC,iBAAiB;AAElC,WAAIP,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,WAAWP;AAAA,IAAA;AAGb,WAAIC,MAAS,WACXM,EAAM,QAAQ,IAAI,OAAON,KAAS,WAAW,GAAGA,CAAI,QAAQA,IAG1DC,MAAc,WAChBK,EAAM,aAAa,IAAI,OAAOL,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;"}
|