asterui 0.12.16 → 0.12.17

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.
Files changed (140) hide show
  1. package/dist/components/Checkbox.d.ts +3 -1
  2. package/dist/components/Form.d.ts +7 -1
  3. package/dist/components/Input.d.ts +10 -2
  4. package/dist/index.d.ts +0 -2
  5. package/dist/index.js +134 -136
  6. package/dist/index.js.map +1 -1
  7. package/dist/index10.js +70 -65
  8. package/dist/index10.js.map +1 -1
  9. package/dist/index100.js +43 -11
  10. package/dist/index100.js.map +1 -1
  11. package/dist/index101.js +11 -44
  12. package/dist/index101.js.map +1 -1
  13. package/dist/index102.js +12 -10
  14. package/dist/index102.js.map +1 -1
  15. package/dist/index103.js +7 -14
  16. package/dist/index103.js.map +1 -1
  17. package/dist/index104.js +12 -7
  18. package/dist/index104.js.map +1 -1
  19. package/dist/index105.js +29 -11
  20. package/dist/index105.js.map +1 -1
  21. package/dist/index106.js +16 -29
  22. package/dist/index106.js.map +1 -1
  23. package/dist/index34.js +198 -158
  24. package/dist/index34.js.map +1 -1
  25. package/dist/index42.js +185 -148
  26. package/dist/index42.js.map +1 -1
  27. package/dist/index43.js +19 -19
  28. package/dist/index43.js.map +1 -1
  29. package/dist/index46.js +134 -18
  30. package/dist/index46.js.map +1 -1
  31. package/dist/index47.js +10 -134
  32. package/dist/index47.js.map +1 -1
  33. package/dist/index48.js +35 -13
  34. package/dist/index48.js.map +1 -1
  35. package/dist/index49.js +34 -35
  36. package/dist/index49.js.map +1 -1
  37. package/dist/index50.js +81 -34
  38. package/dist/index50.js.map +1 -1
  39. package/dist/index51.js +166 -71
  40. package/dist/index51.js.map +1 -1
  41. package/dist/index52.js +144 -167
  42. package/dist/index52.js.map +1 -1
  43. package/dist/index53.js +11 -152
  44. package/dist/index53.js.map +1 -1
  45. package/dist/index54.js +20 -10
  46. package/dist/index54.js.map +1 -1
  47. package/dist/index55.js +14 -22
  48. package/dist/index55.js.map +1 -1
  49. package/dist/index56.js +7 -14
  50. package/dist/index56.js.map +1 -1
  51. package/dist/index57.js +333 -6
  52. package/dist/index57.js.map +1 -1
  53. package/dist/index58.js +47 -334
  54. package/dist/index58.js.map +1 -1
  55. package/dist/index59.js +122 -47
  56. package/dist/index59.js.map +1 -1
  57. package/dist/index60.js +108 -120
  58. package/dist/index60.js.map +1 -1
  59. package/dist/index61.js +167 -107
  60. package/dist/index61.js.map +1 -1
  61. package/dist/index62.js +29 -167
  62. package/dist/index62.js.map +1 -1
  63. package/dist/index63.js +120 -30
  64. package/dist/index63.js.map +1 -1
  65. package/dist/index64.js +80 -116
  66. package/dist/index64.js.map +1 -1
  67. package/dist/index65.js +19 -85
  68. package/dist/index65.js.map +1 -1
  69. package/dist/index66.js +73 -19
  70. package/dist/index66.js.map +1 -1
  71. package/dist/index67.js +54 -71
  72. package/dist/index67.js.map +1 -1
  73. package/dist/index68.js +44 -56
  74. package/dist/index68.js.map +1 -1
  75. package/dist/index69.js +49 -42
  76. package/dist/index69.js.map +1 -1
  77. package/dist/index70.js +121 -50
  78. package/dist/index70.js.map +1 -1
  79. package/dist/index71.js +102 -118
  80. package/dist/index71.js.map +1 -1
  81. package/dist/index72.js +41 -107
  82. package/dist/index72.js.map +1 -1
  83. package/dist/index73.js +68 -41
  84. package/dist/index73.js.map +1 -1
  85. package/dist/index74.js +19 -66
  86. package/dist/index74.js.map +1 -1
  87. package/dist/index75.js +55 -18
  88. package/dist/index75.js.map +1 -1
  89. package/dist/index76.js +251 -55
  90. package/dist/index76.js.map +1 -1
  91. package/dist/index77.js +22 -254
  92. package/dist/index77.js.map +1 -1
  93. package/dist/index78.js +31 -22
  94. package/dist/index78.js.map +1 -1
  95. package/dist/index79.js +93 -30
  96. package/dist/index79.js.map +1 -1
  97. package/dist/index80.js +324 -89
  98. package/dist/index80.js.map +1 -1
  99. package/dist/index81.js +73 -322
  100. package/dist/index81.js.map +1 -1
  101. package/dist/index82.js +39 -79
  102. package/dist/index82.js.map +1 -1
  103. package/dist/index83.js +23 -40
  104. package/dist/index83.js.map +1 -1
  105. package/dist/index84.js +93 -21
  106. package/dist/index84.js.map +1 -1
  107. package/dist/index85.js +148 -87
  108. package/dist/index85.js.map +1 -1
  109. package/dist/index86.js +152 -147
  110. package/dist/index86.js.map +1 -1
  111. package/dist/index87.js +63 -159
  112. package/dist/index87.js.map +1 -1
  113. package/dist/index88.js +35 -65
  114. package/dist/index88.js.map +1 -1
  115. package/dist/index89.js +234 -35
  116. package/dist/index89.js.map +1 -1
  117. package/dist/index90.js +31 -231
  118. package/dist/index90.js.map +1 -1
  119. package/dist/index91.js +210 -34
  120. package/dist/index91.js.map +1 -1
  121. package/dist/index92.js +198 -195
  122. package/dist/index92.js.map +1 -1
  123. package/dist/index93.js +241 -159
  124. package/dist/index93.js.map +1 -1
  125. package/dist/index94.js +166 -283
  126. package/dist/index94.js.map +1 -1
  127. package/dist/index95.js +253 -173
  128. package/dist/index95.js.map +1 -1
  129. package/dist/index96.js +14 -258
  130. package/dist/index96.js.map +1 -1
  131. package/dist/index97.js +31 -12
  132. package/dist/index97.js.map +1 -1
  133. package/dist/index98.js +5 -32
  134. package/dist/index98.js.map +1 -1
  135. package/dist/index99.js +13 -5
  136. package/dist/index99.js.map +1 -1
  137. package/package.json +1 -1
  138. package/dist/components/Label.d.ts +0 -15
  139. package/dist/index107.js +0 -21
  140. package/dist/index107.js.map +0 -1
package/dist/index70.js CHANGED
@@ -1,55 +1,126 @@
1
- import { jsxs as b, jsx as a } from "react/jsx-runtime";
2
- import { useState as j } from "react";
3
- const A = ({
4
- value: s,
5
- defaultValue: m = 50,
6
- onChange: d,
7
- min: r = 0,
8
- max: c = 100,
9
- step: t = 1,
10
- size: f = "md",
11
- color: l,
12
- disabled: u = !1,
13
- showValue: x = !1,
14
- showSteps: o = !1,
15
- className: h = ""
16
- }) => {
17
- const [p, y] = j(m), g = s !== void 0 ? s : p, C = (e) => {
18
- const n = parseFloat(e.target.value);
19
- s === void 0 && y(n), d?.(n);
20
- }, v = {
21
- xs: "range-xs",
22
- sm: "range-sm",
23
- md: "range-md",
24
- lg: "range-lg"
25
- }, w = {
26
- primary: "range-primary",
27
- secondary: "range-secondary",
28
- accent: "range-accent",
29
- success: "range-success",
30
- warning: "range-warning",
31
- info: "range-info",
32
- error: "range-error"
33
- }, N = v[f], V = l ? w[l] : "", i = o ? Array.from({ length: Math.floor((c - r) / t) + 1 }, (e, n) => r + n * t) : [];
34
- return /* @__PURE__ */ b("div", { className: h, children: [
35
- /* @__PURE__ */ a(
36
- "input",
1
+ import { jsxs as G, Fragment as _, jsx as t } from "react/jsx-runtime";
2
+ import L, { useState as M, useId as O, createContext as P, useContext as S } from "react";
3
+ const N = 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: h = "star-2",
15
+ allowClear: u = !0,
16
+ allowHalf: s = !1,
17
+ disabled: m = !1,
18
+ className: f = "",
19
+ ...C
20
+ }) {
21
+ const [j, R] = M(v), [p, k] = M(0), V = i !== void 0 ? i : j, $ = O(), A = (r) => {
22
+ if (m) return;
23
+ const a = u && 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
+ }, B = {
34
+ none: "gap-0",
35
+ xs: "gap-0.5",
36
+ sm: "gap-1",
37
+ md: "gap-2",
38
+ lg: "gap-3"
39
+ }, E = [
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 && B[l],
44
+ f
45
+ ].filter(Boolean).join(" "), b = s ? "star-2" : h, F = n || /* @__PURE__ */ G(_, { children: [
46
+ u && /* @__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(N.Provider, { value: { name: $, currentValue: V, hoverValue: p, onChange: A, 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: E,
64
+ "data-value": V,
65
+ onMouseLeave: () => I(0),
66
+ ...C,
67
+ children: F
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(N);
73
+ if (!e)
74
+ throw new Error("Rating.Item must be used within Rating");
75
+ const { name: l, currentValue: o, hoverValue: h, onChange: u, 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
- type: "range",
39
- min: r,
40
- max: c,
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
- 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
- ] });
51
- };
103
+ );
104
+ const k = h > 0 ? h : 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: () => u(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
- A as Range
124
+ J as Rating
54
125
  };
55
126
  //# sourceMappingURL=index70.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index70.js","sources":["../src/components/Range.tsx"],"sourcesContent":["import React, { useState } from 'react'\n\nexport interface RangeProps {\n value?: number\n defaultValue?: number\n onChange?: (value: number) => void\n min?: number\n max?: number\n step?: number\n size?: 'xs' | 'sm' | 'md' | 'lg'\n color?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error'\n disabled?: boolean\n showValue?: boolean\n showSteps?: boolean\n className?: string\n}\n\nexport const Range: React.FC<RangeProps> = ({\n value,\n defaultValue = 50,\n onChange,\n min = 0,\n max = 100,\n step = 1,\n size = 'md',\n color,\n disabled = false,\n showValue = false,\n showSteps = false,\n className = '',\n}) => {\n const [internalValue, setInternalValue] = useState(defaultValue)\n const currentValue = value !== undefined ? value : internalValue\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = parseFloat(e.target.value)\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n }\n\n const sizeClasses = {\n xs: 'range-xs',\n sm: 'range-sm',\n md: 'range-md',\n lg: 'range-lg',\n } as const\n\n const colorClasses = {\n primary: 'range-primary',\n secondary: 'range-secondary',\n accent: 'range-accent',\n success: 'range-success',\n warning: 'range-warning',\n info: 'range-info',\n error: 'range-error',\n } as const\n\n const sizeClass = sizeClasses[size]\n const colorClass = color ? colorClasses[color] : ''\n\n // Calculate steps for visual markers\n const steps = showSteps\n ? Array.from({ length: Math.floor((max - min) / step) + 1 }, (_, i) => min + i * step)\n : []\n\n return (\n <div className={className}>\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={currentValue}\n onChange={handleChange}\n disabled={disabled}\n className={`range ${sizeClass} ${colorClass}`}\n />\n {showSteps && steps.length > 0 && (\n <div className=\"w-full flex justify-between text-xs px-2 mt-2\">\n {steps.map((stepValue) => (\n <span key={stepValue} className=\"text-base-content/60\">\n |\n </span>\n ))}\n </div>\n )}\n {showValue && (\n <div className=\"text-center mt-2 text-sm font-medium text-base-content\">\n {currentValue}\n </div>\n )}\n </div>\n )\n}\n"],"names":["Range","value","defaultValue","onChange","min","max","step","size","color","disabled","showValue","showSteps","className","internalValue","setInternalValue","useState","currentValue","handleChange","newValue","sizeClasses","colorClasses","sizeClass","colorClass","steps","_","i","jsxs","jsx","stepValue"],"mappings":";;AAiBO,MAAMA,IAA8B,CAAC;AAAA,EAC1C,OAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,UAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,KAAAC,IAAM;AAAA,EACN,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AACd,MAAM;AACJ,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAASb,CAAY,GACzDc,IAAef,MAAU,SAAYA,IAAQY,GAE7CI,IAAe,CAAC,MAA2C;AAC/D,UAAMC,IAAW,WAAW,EAAE,OAAO,KAAK;AAC1C,IAAIjB,MAAU,UACZa,EAAiBI,CAAQ,GAE3Bf,IAAWe,CAAQ;AAAA,EACrB,GAEMC,IAAc;AAAA,IAClB,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAe;AAAA,IACnB,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EAAA,GAGHC,IAAYF,EAAYZ,CAAI,GAC5Be,IAAad,IAAQY,EAAaZ,CAAK,IAAI,IAG3Ce,IAAQZ,IACV,MAAM,KAAK,EAAE,QAAQ,KAAK,OAAON,IAAMD,KAAOE,CAAI,IAAI,EAAA,GAAK,CAACkB,GAAGC,MAAMrB,IAAMqB,IAAInB,CAAI,IACnF,CAAA;AAEJ,SACE,gBAAAoB,EAAC,SAAI,WAAAd,GACH,UAAA;AAAA,IAAA,gBAAAe;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,KAAAvB;AAAA,QACA,KAAAC;AAAA,QACA,MAAAC;AAAA,QACA,OAAOU;AAAA,QACP,UAAUC;AAAA,QACV,UAAAR;AAAA,QACA,WAAW,SAASY,CAAS,IAAIC,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAE5CX,KAAaY,EAAM,SAAS,KAC3B,gBAAAI,EAAC,OAAA,EAAI,WAAU,iDACZ,UAAAJ,EAAM,IAAI,CAACK,wBACT,QAAA,EAAqB,WAAU,wBAAuB,UAAA,IAAA,GAA5CA,CAEX,CACD,GACH;AAAA,IAEDlB,KACC,gBAAAiB,EAAC,OAAA,EAAI,WAAU,0DACZ,UAAAX,EAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;"}
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 G, Fragment as _, jsx as t } from "react/jsx-runtime";
2
- import L, { useState as M, useId as O, createContext as P, useContext as S } from "react";
3
- const N = 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: h = "star-2",
15
- allowClear: u = !0,
16
- allowHalf: s = !1,
17
- disabled: m = !1,
18
- className: f = "",
19
- ...C
20
- }) {
21
- const [j, R] = M(v), [p, k] = M(0), V = i !== void 0 ? i : j, $ = O(), A = (r) => {
22
- if (m) return;
23
- const a = u && 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
- }, B = {
34
- none: "gap-0",
35
- xs: "gap-0.5",
36
- sm: "gap-1",
37
- md: "gap-2",
38
- lg: "gap-3"
39
- }, E = [
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 && B[l],
44
- f
45
- ].filter(Boolean).join(" "), b = s ? "star-2" : h, F = n || /* @__PURE__ */ G(_, { children: [
46
- u && /* @__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(N.Provider, { value: { name: $, currentValue: V, hoverValue: p, onChange: A, 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
- role: "radiogroup",
62
- "aria-label": "Rating",
63
- className: E,
64
- "data-value": V,
65
- onMouseLeave: () => I(0),
66
- ...C,
67
- children: F
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
- function c({ value: n, mask: i = "star-2", color: v = "bg-warning", hidden: x = !1, half: g, className: d = "" }) {
72
- const e = S(N);
73
- if (!e)
74
- throw new Error("Rating.Item must be used within Rating");
75
- const { name: l, currentValue: o, hoverValue: h, onChange: u, 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 = h > 0 ? h : o;
105
- return /* @__PURE__ */ t(
106
- "input",
56
+ ),
57
+ warning: /* @__PURE__ */ e(
58
+ "svg",
107
59
  {
108
- type: "radio",
109
- name: l,
110
- className: p,
111
- checked: k === n,
112
- onChange: () => {
113
- },
114
- onClick: () => u(n),
115
- onMouseEnter: () => s(n),
116
- "aria-label": `Rating ${n}`
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
- const J = Object.assign(q, {
121
- Item: c
122
- });
104
+ };
105
+ x.displayName = "Result";
123
106
  export {
124
- J as Rating
107
+ x as Result,
108
+ x as default
125
109
  };
126
110
  //# sourceMappingURL=index71.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index71.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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"}
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;"}