asterui 0.12.25 → 0.12.27
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/Cascader.d.ts +2 -0
- package/dist/components/Descriptions.d.ts +35 -3
- package/dist/components/Empty.d.ts +10 -1
- package/dist/components/Image.d.ts +13 -1
- package/dist/components/List.d.ts +74 -8
- package/dist/components/Table.d.ts +64 -10
- package/dist/components/Tag.d.ts +16 -4
- package/dist/components/Timeline.d.ts +62 -7
- package/dist/components/Tree.d.ts +2 -0
- package/dist/index.d.ts +6 -8
- package/dist/index.js +151 -152
- package/dist/index.js.map +1 -1
- package/dist/index10.js +1 -1
- package/dist/index100.js +5 -32
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +13 -5
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +43 -11
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +11 -44
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +12 -10
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +7 -14
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +12 -7
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +29 -11
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +16 -29
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +31 -16
- package/dist/index109.js.map +1 -1
- package/dist/index110.js +517 -30
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +45 -515
- package/dist/index111.js.map +1 -1
- package/dist/index15.js.map +1 -1
- package/dist/index22.js +1 -1
- package/dist/index23.js +127 -93
- package/dist/index23.js.map +1 -1
- package/dist/index39.js +162 -115
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +398 -40
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +132 -389
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +252 -91
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +143 -247
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +15 -154
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +17 -15
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +136 -16
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +118 -133
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +35 -13
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +34 -35
- package/dist/index49.js.map +1 -1
- package/dist/index50.js +81 -34
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +166 -71
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +144 -167
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +11 -152
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +55 -10
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +12 -55
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +7 -14
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +333 -6
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +47 -334
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +122 -47
- package/dist/index59.js.map +1 -1
- package/dist/index60.js +108 -120
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +167 -107
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +29 -167
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +120 -30
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +80 -116
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +19 -85
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +73 -19
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +54 -71
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +44 -56
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +49 -42
- package/dist/index69.js.map +1 -1
- package/dist/index70.js +121 -50
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +102 -118
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +72 -105
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +67 -73
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +19 -66
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +55 -18
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +251 -55
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +22 -254
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +31 -22
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +93 -30
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +626 -86
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +73 -322
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +39 -79
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +23 -40
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +207 -23
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +149 -122
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +152 -147
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +143 -156
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +35 -65
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +234 -35
- package/dist/index89.js.map +1 -1
- package/dist/index90.js +31 -231
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +210 -34
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +418 -187
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +686 -376
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +165 -738
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +253 -173
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +64 -256
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +121 -61
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +14 -126
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +31 -12
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/Indicator.d.ts +0 -7
- package/dist/index112.js +0 -53
- package/dist/index112.js.map +0 -1
package/dist/index70.js
CHANGED
|
@@ -1,55 +1,126 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
const
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
import { jsxs as G, Fragment as F, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import L, { useState as _, useId as O, createContext as P, useContext as S } from "react";
|
|
3
|
+
const M = P(null);
|
|
4
|
+
function q({
|
|
5
|
+
children: n,
|
|
6
|
+
value: i,
|
|
7
|
+
defaultValue: v = 0,
|
|
8
|
+
onChange: x,
|
|
9
|
+
onHoverChange: g,
|
|
10
|
+
count: d = 5,
|
|
11
|
+
size: e,
|
|
12
|
+
gap: l = "md",
|
|
13
|
+
color: o = "bg-warning",
|
|
14
|
+
mask: u = "star-2",
|
|
15
|
+
allowClear: h = !0,
|
|
16
|
+
allowHalf: s = !1,
|
|
17
|
+
disabled: m = !1,
|
|
18
|
+
className: f = "",
|
|
19
|
+
...C
|
|
20
|
+
}) {
|
|
21
|
+
const [j, R] = _(v), [p, k] = _(0), V = i !== void 0 ? i : j, N = O(), $ = (r) => {
|
|
22
|
+
if (m) return;
|
|
23
|
+
const a = h && r === V ? 0 : r;
|
|
24
|
+
i === void 0 && R(a), k(0), x?.(a);
|
|
25
|
+
}, I = (r) => {
|
|
26
|
+
m || (k(r), g?.(r));
|
|
27
|
+
}, y = {
|
|
28
|
+
xs: "rating-xs",
|
|
29
|
+
sm: "rating-sm",
|
|
30
|
+
md: "rating-md",
|
|
31
|
+
lg: "rating-lg",
|
|
32
|
+
xl: "rating-xl"
|
|
33
|
+
}, A = {
|
|
34
|
+
none: "gap-0",
|
|
35
|
+
xs: "gap-0.5",
|
|
36
|
+
sm: "gap-1",
|
|
37
|
+
md: "gap-2",
|
|
38
|
+
lg: "gap-3"
|
|
39
|
+
}, B = [
|
|
40
|
+
"rating",
|
|
41
|
+
// Half-star mode requires a size class to render correctly, default to md
|
|
42
|
+
s ? y[e || "md"] : e && y[e],
|
|
43
|
+
s ? "rating-half" : l && A[l],
|
|
44
|
+
f
|
|
45
|
+
].filter(Boolean).join(" "), b = s ? "star-2" : u, E = n || /* @__PURE__ */ G(F, { children: [
|
|
46
|
+
h && /* @__PURE__ */ t(c, { value: 0, hidden: !0 }),
|
|
47
|
+
s ? (
|
|
48
|
+
// Half-star mode: each star is two inputs
|
|
49
|
+
Array.from({ length: d }, (r, a) => /* @__PURE__ */ G(L.Fragment, { children: [
|
|
50
|
+
/* @__PURE__ */ t(c, { value: a + 0.5, mask: b, color: o, half: "first" }),
|
|
51
|
+
/* @__PURE__ */ t(c, { value: a + 1, mask: b, color: o, half: "second" })
|
|
52
|
+
] }, a + 1))
|
|
53
|
+
) : (
|
|
54
|
+
// Standard mode: one input per star
|
|
55
|
+
Array.from({ length: d }, (r, a) => /* @__PURE__ */ t(c, { value: a + 1, mask: b, color: o }, a + 1))
|
|
56
|
+
)
|
|
57
|
+
] });
|
|
58
|
+
return /* @__PURE__ */ t(M.Provider, { value: { name: N, currentValue: V, hoverValue: p, onChange: $, onHover: I, size: e, disabled: m, halfGap: s ? l : void 0 }, children: /* @__PURE__ */ t(
|
|
59
|
+
"div",
|
|
60
|
+
{
|
|
61
|
+
role: "radiogroup",
|
|
62
|
+
"aria-label": "Rating",
|
|
63
|
+
className: B,
|
|
64
|
+
"data-value": V,
|
|
65
|
+
onMouseLeave: () => I(0),
|
|
66
|
+
...C,
|
|
67
|
+
children: E
|
|
68
|
+
}
|
|
69
|
+
) });
|
|
70
|
+
}
|
|
71
|
+
function c({ value: n, mask: i = "star-2", color: v = "bg-warning", hidden: x = !1, half: g, className: d = "" }) {
|
|
72
|
+
const e = S(M);
|
|
73
|
+
if (!e)
|
|
74
|
+
throw new Error("Rating.Item must be used within Rating");
|
|
75
|
+
const { name: l, currentValue: o, hoverValue: u, onChange: h, onHover: s, disabled: m, halfGap: f } = e, C = {
|
|
76
|
+
star: "mask-star",
|
|
77
|
+
"star-2": "mask-star-2",
|
|
78
|
+
heart: "mask-heart"
|
|
79
|
+
}, R = {
|
|
80
|
+
first: "mask-half-1",
|
|
81
|
+
second: `mask-half-2 ${f ? {
|
|
82
|
+
none: "",
|
|
83
|
+
xs: "mr-0.5",
|
|
84
|
+
sm: "mr-1",
|
|
85
|
+
md: "mr-2",
|
|
86
|
+
lg: "mr-3"
|
|
87
|
+
}[f] : ""}`.trim()
|
|
88
|
+
}, p = x ? "rating-hidden" : [
|
|
89
|
+
"mask",
|
|
90
|
+
C[i],
|
|
91
|
+
g && R[g],
|
|
92
|
+
v,
|
|
93
|
+
d
|
|
94
|
+
].filter(Boolean).join(" ");
|
|
95
|
+
if (m)
|
|
96
|
+
return /* @__PURE__ */ t(
|
|
97
|
+
"div",
|
|
37
98
|
{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
step: t,
|
|
42
|
-
value: g,
|
|
43
|
-
onChange: C,
|
|
44
|
-
disabled: u,
|
|
45
|
-
className: `range ${N} ${V}`
|
|
99
|
+
className: p,
|
|
100
|
+
"aria-current": o === n ? "true" : void 0,
|
|
101
|
+
"aria-label": `Rating ${n}`
|
|
46
102
|
}
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
103
|
+
);
|
|
104
|
+
const k = u > 0 ? u : o;
|
|
105
|
+
return /* @__PURE__ */ t(
|
|
106
|
+
"input",
|
|
107
|
+
{
|
|
108
|
+
type: "radio",
|
|
109
|
+
name: l,
|
|
110
|
+
className: p,
|
|
111
|
+
checked: k === n,
|
|
112
|
+
onChange: () => {
|
|
113
|
+
},
|
|
114
|
+
onClick: () => h(n),
|
|
115
|
+
onMouseEnter: () => s(n),
|
|
116
|
+
"aria-label": `Rating ${n}`
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
const J = Object.assign(q, {
|
|
121
|
+
Item: c
|
|
122
|
+
});
|
|
52
123
|
export {
|
|
53
|
-
|
|
124
|
+
J as Rating
|
|
54
125
|
};
|
|
55
126
|
//# sourceMappingURL=index70.js.map
|
package/dist/index70.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index70.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index70.js","sources":["../src/components/Rating.tsx"],"sourcesContent":["import React, { createContext, useContext, useId, useState } from 'react'\n\nexport interface RatingProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {\n children?: React.ReactNode\n value?: number\n defaultValue?: number\n onChange?: (value: number) => void\n onHoverChange?: (value: number) => void\n count?: number\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg'\n color?: string\n mask?: 'star' | 'star-2' | 'heart'\n allowClear?: boolean\n allowHalf?: boolean\n disabled?: boolean\n}\n\nexport interface RatingItemProps {\n value: number\n mask?: 'star' | 'star-2' | 'heart'\n color?: string\n hidden?: boolean\n half?: 'first' | 'second'\n className?: string\n}\n\ninterface RatingContextValue {\n name: string\n currentValue: number\n hoverValue: number\n onChange: (value: number) => void\n onHover: (value: number) => void\n size?: string\n disabled?: boolean\n halfGap?: 'none' | 'xs' | 'sm' | 'md' | 'lg'\n}\n\nconst RatingContext = createContext<RatingContextValue | null>(null)\n\nfunction RatingRoot({\n children,\n value,\n defaultValue = 0,\n onChange,\n onHoverChange,\n count = 5,\n size,\n gap = 'md',\n color = 'bg-warning',\n mask = 'star-2',\n allowClear = true,\n allowHalf = false,\n disabled = false,\n className = '',\n ...rest\n}: RatingProps) {\n const [internalValue, setInternalValue] = useState(defaultValue)\n const [hoverValue, setHoverValue] = useState(0)\n const currentValue = value !== undefined ? value : internalValue\n const name = useId()\n\n const handleChange = (newValue: number) => {\n if (disabled) return\n // Allow clearing if clicking the same value and allowClear is true\n const finalValue = allowClear && newValue === currentValue ? 0 : newValue\n if (value === undefined) {\n setInternalValue(finalValue)\n }\n // Clear hover state so the clicked value shows immediately\n setHoverValue(0)\n onChange?.(finalValue)\n }\n\n const handleHover = (hoverVal: number) => {\n if (disabled) return\n setHoverValue(hoverVal)\n onHoverChange?.(hoverVal)\n }\n\n const sizeClasses = {\n xs: 'rating-xs',\n sm: 'rating-sm',\n md: 'rating-md',\n lg: 'rating-lg',\n xl: 'rating-xl',\n }\n\n const gapClasses = {\n none: 'gap-0',\n xs: 'gap-0.5',\n sm: 'gap-1',\n md: 'gap-2',\n lg: 'gap-3',\n }\n\n const classes = [\n 'rating',\n // Half-star mode requires a size class to render correctly, default to md\n allowHalf ? sizeClasses[size || 'md'] : (size && sizeClasses[size]),\n allowHalf ? 'rating-half' : (gap && gapClasses[gap]),\n className,\n ].filter(Boolean).join(' ')\n\n // Auto-generate items if no children provided\n // Note: half-star mode requires mask-star-2 per DaisyUI\n const effectiveMask = allowHalf ? 'star-2' : mask\n const items = children || (\n <>\n {allowClear && <RatingItem value={0} hidden />}\n {allowHalf ? (\n // Half-star mode: each star is two inputs\n Array.from({ length: count }, (_, i) => (\n <React.Fragment key={i + 1}>\n <RatingItem value={i + 0.5} mask={effectiveMask} color={color} half=\"first\" />\n <RatingItem value={i + 1} mask={effectiveMask} color={color} half=\"second\" />\n </React.Fragment>\n ))\n ) : (\n // Standard mode: one input per star\n Array.from({ length: count }, (_, i) => (\n <RatingItem key={i + 1} value={i + 1} mask={effectiveMask} color={color} />\n ))\n )}\n </>\n )\n\n return (\n <RatingContext.Provider value={{ name, currentValue, hoverValue, onChange: handleChange, onHover: handleHover, size, disabled, halfGap: allowHalf ? gap : undefined }}>\n <div\n role=\"radiogroup\"\n aria-label=\"Rating\"\n className={classes}\n data-value={currentValue}\n onMouseLeave={() => handleHover(0)}\n {...rest}\n >\n {items}\n </div>\n </RatingContext.Provider>\n )\n}\n\nfunction RatingItem({ value, mask = 'star-2', color = 'bg-warning', hidden = false, half, className = '' }: RatingItemProps) {\n const context = useContext(RatingContext)\n if (!context) {\n throw new Error('Rating.Item must be used within Rating')\n }\n\n const { name, currentValue, hoverValue, onChange, onHover, disabled, halfGap } = context\n\n const maskClasses = {\n star: 'mask-star',\n 'star-2': 'mask-star-2',\n heart: 'mask-heart',\n }\n\n const halfGapClasses = {\n none: '',\n xs: 'mr-0.5',\n sm: 'mr-1',\n md: 'mr-2',\n lg: 'mr-3',\n }\n\n const halfClasses = {\n first: 'mask-half-1',\n second: `mask-half-2 ${halfGap ? halfGapClasses[halfGap] : ''}`.trim(),\n }\n\n // Hidden items only get rating-hidden class (no mask)\n // Visible items get mask classes - DaisyUI CSS handles filled/unfilled state\n const classes = hidden\n ? 'rating-hidden'\n : [\n 'mask',\n maskClasses[mask],\n half && halfClasses[half],\n color,\n className,\n ].filter(Boolean).join(' ')\n\n if (disabled) {\n return (\n <div\n className={classes}\n aria-current={currentValue === value ? 'true' : undefined}\n aria-label={`Rating ${value}`}\n />\n )\n }\n\n // Use hoverValue for checked state when hovering (for visual preview)\n // DaisyUI CSS fills all stars up to the checked one\n const displayValue = hoverValue > 0 ? hoverValue : currentValue\n\n return (\n <input\n type=\"radio\"\n name={name}\n className={classes}\n checked={displayValue === value}\n onChange={() => {}} // Controlled by onClick\n onClick={() => onChange(value)}\n onMouseEnter={() => onHover(value)}\n aria-label={`Rating ${value}`}\n />\n )\n}\n\nexport const Rating = Object.assign(RatingRoot, {\n Item: RatingItem,\n})\n"],"names":["RatingContext","createContext","RatingRoot","children","value","defaultValue","onChange","onHoverChange","count","size","gap","color","mask","allowClear","allowHalf","disabled","className","rest","internalValue","setInternalValue","useState","hoverValue","setHoverValue","currentValue","name","useId","handleChange","newValue","finalValue","handleHover","hoverVal","sizeClasses","gapClasses","classes","effectiveMask","items","jsxs","Fragment","jsx","RatingItem","_","i","React","hidden","half","context","useContext","onHover","halfGap","maskClasses","halfClasses","displayValue","Rating"],"mappings":"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"}
|
package/dist/index71.js
CHANGED
|
@@ -1,126 +1,110 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
// Half-star mode requires a size class to render correctly, default to md
|
|
42
|
-
s ? y[e || "md"] : e && y[e],
|
|
43
|
-
s ? "rating-half" : l && A[l],
|
|
44
|
-
f
|
|
45
|
-
].filter(Boolean).join(" "), b = s ? "star-2" : u, E = n || /* @__PURE__ */ G(F, { children: [
|
|
46
|
-
h && /* @__PURE__ */ t(c, { value: 0, hidden: !0 }),
|
|
47
|
-
s ? (
|
|
48
|
-
// Half-star mode: each star is two inputs
|
|
49
|
-
Array.from({ length: d }, (r, a) => /* @__PURE__ */ G(L.Fragment, { children: [
|
|
50
|
-
/* @__PURE__ */ t(c, { value: a + 0.5, mask: b, color: o, half: "first" }),
|
|
51
|
-
/* @__PURE__ */ t(c, { value: a + 1, mask: b, color: o, half: "second" })
|
|
52
|
-
] }, a + 1))
|
|
53
|
-
) : (
|
|
54
|
-
// Standard mode: one input per star
|
|
55
|
-
Array.from({ length: d }, (r, a) => /* @__PURE__ */ t(c, { value: a + 1, mask: b, color: o }, a + 1))
|
|
56
|
-
)
|
|
57
|
-
] });
|
|
58
|
-
return /* @__PURE__ */ t(M.Provider, { value: { name: N, currentValue: V, hoverValue: p, onChange: $, onHover: I, size: e, disabled: m, halfGap: s ? l : void 0 }, children: /* @__PURE__ */ t(
|
|
59
|
-
"div",
|
|
1
|
+
import { jsxs as d, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
const m = {
|
|
3
|
+
success: /* @__PURE__ */ e(
|
|
4
|
+
"svg",
|
|
5
|
+
{
|
|
6
|
+
className: "w-16 h-16 text-success",
|
|
7
|
+
fill: "none",
|
|
8
|
+
viewBox: "0 0 24 24",
|
|
9
|
+
stroke: "currentColor",
|
|
10
|
+
children: /* @__PURE__ */ e(
|
|
11
|
+
"path",
|
|
12
|
+
{
|
|
13
|
+
strokeLinecap: "round",
|
|
14
|
+
strokeLinejoin: "round",
|
|
15
|
+
strokeWidth: 2,
|
|
16
|
+
d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
17
|
+
}
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
),
|
|
21
|
+
error: /* @__PURE__ */ e(
|
|
22
|
+
"svg",
|
|
23
|
+
{
|
|
24
|
+
className: "w-16 h-16 text-error",
|
|
25
|
+
fill: "none",
|
|
26
|
+
viewBox: "0 0 24 24",
|
|
27
|
+
stroke: "currentColor",
|
|
28
|
+
children: /* @__PURE__ */ e(
|
|
29
|
+
"path",
|
|
30
|
+
{
|
|
31
|
+
strokeLinecap: "round",
|
|
32
|
+
strokeLinejoin: "round",
|
|
33
|
+
strokeWidth: 2,
|
|
34
|
+
d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
info: /* @__PURE__ */ e(
|
|
40
|
+
"svg",
|
|
60
41
|
{
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
42
|
+
className: "w-16 h-16 text-info",
|
|
43
|
+
fill: "none",
|
|
44
|
+
viewBox: "0 0 24 24",
|
|
45
|
+
stroke: "currentColor",
|
|
46
|
+
children: /* @__PURE__ */ e(
|
|
47
|
+
"path",
|
|
48
|
+
{
|
|
49
|
+
strokeLinecap: "round",
|
|
50
|
+
strokeLinejoin: "round",
|
|
51
|
+
strokeWidth: 2,
|
|
52
|
+
d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
53
|
+
}
|
|
54
|
+
)
|
|
68
55
|
}
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const e = S(M);
|
|
73
|
-
if (!e)
|
|
74
|
-
throw new Error("Rating.Item must be used within Rating");
|
|
75
|
-
const { name: l, currentValue: o, hoverValue: u, onChange: h, onHover: s, disabled: m, halfGap: f } = e, C = {
|
|
76
|
-
star: "mask-star",
|
|
77
|
-
"star-2": "mask-star-2",
|
|
78
|
-
heart: "mask-heart"
|
|
79
|
-
}, R = {
|
|
80
|
-
first: "mask-half-1",
|
|
81
|
-
second: `mask-half-2 ${f ? {
|
|
82
|
-
none: "",
|
|
83
|
-
xs: "mr-0.5",
|
|
84
|
-
sm: "mr-1",
|
|
85
|
-
md: "mr-2",
|
|
86
|
-
lg: "mr-3"
|
|
87
|
-
}[f] : ""}`.trim()
|
|
88
|
-
}, p = x ? "rating-hidden" : [
|
|
89
|
-
"mask",
|
|
90
|
-
C[i],
|
|
91
|
-
g && R[g],
|
|
92
|
-
v,
|
|
93
|
-
d
|
|
94
|
-
].filter(Boolean).join(" ");
|
|
95
|
-
if (m)
|
|
96
|
-
return /* @__PURE__ */ t(
|
|
97
|
-
"div",
|
|
98
|
-
{
|
|
99
|
-
className: p,
|
|
100
|
-
"aria-current": o === n ? "true" : void 0,
|
|
101
|
-
"aria-label": `Rating ${n}`
|
|
102
|
-
}
|
|
103
|
-
);
|
|
104
|
-
const k = u > 0 ? u : o;
|
|
105
|
-
return /* @__PURE__ */ t(
|
|
106
|
-
"input",
|
|
56
|
+
),
|
|
57
|
+
warning: /* @__PURE__ */ e(
|
|
58
|
+
"svg",
|
|
107
59
|
{
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
60
|
+
className: "w-16 h-16 text-warning",
|
|
61
|
+
fill: "none",
|
|
62
|
+
viewBox: "0 0 24 24",
|
|
63
|
+
stroke: "currentColor",
|
|
64
|
+
children: /* @__PURE__ */ e(
|
|
65
|
+
"path",
|
|
66
|
+
{
|
|
67
|
+
strokeLinecap: "round",
|
|
68
|
+
strokeLinejoin: "round",
|
|
69
|
+
strokeWidth: 2,
|
|
70
|
+
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"
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
404: /* @__PURE__ */ e("div", { className: "text-6xl font-bold text-base-content/40", children: "404" }),
|
|
76
|
+
403: /* @__PURE__ */ e("div", { className: "text-6xl font-bold text-base-content/40", children: "403" }),
|
|
77
|
+
500: /* @__PURE__ */ e("div", { className: "text-6xl font-bold text-base-content/40", children: "500" })
|
|
78
|
+
}, x = ({
|
|
79
|
+
status: t = "info",
|
|
80
|
+
title: n,
|
|
81
|
+
subTitle: s,
|
|
82
|
+
icon: o,
|
|
83
|
+
extra: r,
|
|
84
|
+
children: l,
|
|
85
|
+
className: i = "",
|
|
86
|
+
...c
|
|
87
|
+
}) => {
|
|
88
|
+
const a = o !== void 0 ? o : m[t];
|
|
89
|
+
return /* @__PURE__ */ d(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
className: `w-full flex flex-col items-center justify-center text-center p-8 ${i}`,
|
|
93
|
+
"data-status": t,
|
|
94
|
+
...c,
|
|
95
|
+
children: [
|
|
96
|
+
a && /* @__PURE__ */ e("div", { className: "mb-6", children: a }),
|
|
97
|
+
n && /* @__PURE__ */ e("div", { className: "text-2xl font-semibold mb-2 text-base-content", children: n }),
|
|
98
|
+
s && /* @__PURE__ */ e("div", { className: "text-base text-base-content/70 mb-6 max-w-md", children: s }),
|
|
99
|
+
l && /* @__PURE__ */ e("div", { className: "mb-6 max-w-2xl", children: l }),
|
|
100
|
+
r && /* @__PURE__ */ e("div", { className: "flex gap-2", children: r })
|
|
101
|
+
]
|
|
117
102
|
}
|
|
118
103
|
);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
Item: c
|
|
122
|
-
});
|
|
104
|
+
};
|
|
105
|
+
x.displayName = "Result";
|
|
123
106
|
export {
|
|
124
|
-
|
|
107
|
+
x as Result,
|
|
108
|
+
x as default
|
|
125
109
|
};
|
|
126
110
|
//# sourceMappingURL=index71.js.map
|
package/dist/index71.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index71.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index71.js","sources":["../src/components/Result.tsx"],"sourcesContent":["import React from 'react'\n\nexport type ResultStatus = 'success' | 'error' | 'info' | 'warning' | '404' | '403' | '500'\n\nexport interface ResultProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n status?: ResultStatus\n title?: React.ReactNode\n subTitle?: React.ReactNode\n icon?: React.ReactNode\n extra?: React.ReactNode\n children?: React.ReactNode\n}\n\nconst defaultIcons: Record<ResultStatus, React.ReactNode> = {\n success: (\n <svg\n className=\"w-16 h-16 text-success\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n error: (\n <svg\n className=\"w-16 h-16 text-error\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n info: (\n <svg\n className=\"w-16 h-16 text-info\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n warning: (\n <svg\n className=\"w-16 h-16 text-warning\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\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 '404': (\n <div className=\"text-6xl font-bold text-base-content/40\">404</div>\n ),\n '403': (\n <div className=\"text-6xl font-bold text-base-content/40\">403</div>\n ),\n '500': (\n <div className=\"text-6xl font-bold text-base-content/40\">500</div>\n ),\n}\n\nexport const Result: React.FC<ResultProps> = ({\n status = 'info',\n title,\n subTitle,\n icon,\n extra,\n children,\n className = '',\n ...rest\n}) => {\n const displayIcon = icon !== undefined ? icon : defaultIcons[status]\n\n return (\n <div\n className={`w-full flex flex-col items-center justify-center text-center p-8 ${className}`}\n data-status={status}\n {...rest}\n >\n {displayIcon && <div className=\"mb-6\">{displayIcon}</div>}\n\n {title && (\n <div className=\"text-2xl font-semibold mb-2 text-base-content\">\n {title}\n </div>\n )}\n\n {subTitle && (\n <div className=\"text-base text-base-content/70 mb-6 max-w-md\">\n {subTitle}\n </div>\n )}\n\n {children && <div className=\"mb-6 max-w-2xl\">{children}</div>}\n\n {extra && <div className=\"flex gap-2\">{extra}</div>}\n </div>\n )\n}\n\nResult.displayName = 'Result'\n\nexport default Result\n"],"names":["defaultIcons","jsx","Result","status","title","subTitle","icon","extra","children","className","rest","displayIcon","jsxs"],"mappings":";AAaA,MAAMA,IAAsD;AAAA,EAC1D,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MAEP,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;AAAA,EAGJ,OACE,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MAEP,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;AAAA,EAGJ,MACE,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MAEP,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;AAAA,EAGJ,SACE,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MAEP,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;AAAA,EAGJ,KACE,gBAAAA,EAAC,OAAA,EAAI,WAAU,2CAA0C,UAAA,OAAG;AAAA,EAE9D,KACE,gBAAAA,EAAC,OAAA,EAAI,WAAU,2CAA0C,UAAA,OAAG;AAAA,EAE9D,KACE,gBAAAA,EAAC,OAAA,EAAI,WAAU,2CAA0C,UAAA,MAAA,CAAG;AAEhE,GAEaC,IAAgC,CAAC;AAAA,EAC5C,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAcL,MAAS,SAAYA,IAAON,EAAaG,CAAM;AAEnE,SACE,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,oEAAoEH,CAAS;AAAA,MACxF,eAAaN;AAAA,MACZ,GAAGO;AAAA,MAEH,UAAA;AAAA,QAAAC,KAAe,gBAAAV,EAAC,OAAA,EAAI,WAAU,QAAQ,UAAAU,GAAY;AAAA,QAElDP,KACC,gBAAAH,EAAC,OAAA,EAAI,WAAU,iDACZ,UAAAG,GACH;AAAA,QAGDC,KACC,gBAAAJ,EAAC,OAAA,EAAI,WAAU,gDACZ,UAAAI,GACH;AAAA,QAGDG,KAAY,gBAAAP,EAAC,OAAA,EAAI,WAAU,kBAAkB,UAAAO,GAAS;AAAA,QAEtDD,KAAS,gBAAAN,EAAC,OAAA,EAAI,WAAU,cAAc,UAAAM,EAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnD;AAEAL,EAAO,cAAc;"}
|