asterui 0.12.1 → 0.12.2

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 (293) hide show
  1. package/dist/components/Calendar.d.ts +23 -0
  2. package/dist/components/Checkbox.d.ts +10 -0
  3. package/dist/components/Dock.d.ts +38 -0
  4. package/dist/components/Mask.d.ts +14 -0
  5. package/dist/index.css +1 -0
  6. package/dist/index.d.ts +8 -1
  7. package/dist/index.js +203 -194
  8. package/dist/index.js.map +1 -1
  9. package/dist/index10.js +85 -59
  10. package/dist/index10.js.map +1 -1
  11. package/dist/index100.js +45 -7
  12. package/dist/index100.js.map +1 -1
  13. package/dist/index101.js +11 -11
  14. package/dist/index101.js.map +1 -1
  15. package/dist/index102.js +12 -28
  16. package/dist/index102.js.map +1 -1
  17. package/dist/index103.js +7 -17
  18. package/dist/index103.js.map +1 -1
  19. package/dist/index104.js +12 -10792
  20. package/dist/index104.js.map +1 -1
  21. package/dist/index105.js +31 -5
  22. package/dist/index105.js.map +1 -1
  23. package/dist/index106.js +16 -40
  24. package/dist/index106.js.map +1 -1
  25. package/dist/index107.js +174 -2
  26. package/dist/index107.js.map +1 -1
  27. package/dist/index109.js +10788 -147
  28. package/dist/index109.js.map +1 -1
  29. package/dist/index110.js +5 -30
  30. package/dist/index110.js.map +1 -1
  31. package/dist/index111.js +39 -27
  32. package/dist/index111.js.map +1 -1
  33. package/dist/index113.js +6 -71
  34. package/dist/index113.js.map +1 -1
  35. package/dist/index114.js +147 -34
  36. package/dist/index114.js.map +1 -1
  37. package/dist/index115.js +28 -24
  38. package/dist/index115.js.map +1 -1
  39. package/dist/index116.js +28 -19
  40. package/dist/index116.js.map +1 -1
  41. package/dist/index117.js +2 -24
  42. package/dist/index117.js.map +1 -1
  43. package/dist/index118.js +71 -19
  44. package/dist/index118.js.map +1 -1
  45. package/dist/index119.js +33 -94
  46. package/dist/index119.js.map +1 -1
  47. package/dist/index120.js +24 -358
  48. package/dist/index120.js.map +1 -1
  49. package/dist/index121.js +19 -23
  50. package/dist/index121.js.map +1 -1
  51. package/dist/index122.js +22 -71
  52. package/dist/index122.js.map +1 -1
  53. package/dist/index123.js +18 -14
  54. package/dist/index123.js.map +1 -1
  55. package/dist/index124.js +92 -58
  56. package/dist/index124.js.map +1 -1
  57. package/dist/index125.js +357 -141
  58. package/dist/index125.js.map +1 -1
  59. package/dist/index126.js +25 -2
  60. package/dist/index126.js.map +1 -1
  61. package/dist/index127.js +70 -53
  62. package/dist/index127.js.map +1 -1
  63. package/dist/index128.js +16 -2
  64. package/dist/index128.js.map +1 -1
  65. package/dist/index129.js +66 -2
  66. package/dist/index129.js.map +1 -1
  67. package/dist/index13.js +35 -95
  68. package/dist/index13.js.map +1 -1
  69. package/dist/index130.js +144 -2
  70. package/dist/index130.js.map +1 -1
  71. package/dist/index131.js +2 -2
  72. package/dist/index132.js +56 -2
  73. package/dist/index132.js.map +1 -1
  74. package/dist/index133.js +2 -2
  75. package/dist/index134.js +2 -2
  76. package/dist/index136.js +2 -32
  77. package/dist/index136.js.map +1 -1
  78. package/dist/index137.js +2 -2
  79. package/dist/index138.js +2 -8
  80. package/dist/index138.js.map +1 -1
  81. package/dist/index139.js +2 -2
  82. package/dist/index14.js +90 -153
  83. package/dist/index14.js.map +1 -1
  84. package/dist/index140.js +2 -2
  85. package/dist/index141.js +31 -20
  86. package/dist/index141.js.map +1 -1
  87. package/dist/index142.js +2 -2
  88. package/dist/index143.js +7 -23
  89. package/dist/index143.js.map +1 -1
  90. package/dist/index144.js +2 -71
  91. package/dist/index144.js.map +1 -1
  92. package/dist/index145.js +2 -21
  93. package/dist/index145.js.map +1 -1
  94. package/dist/index146.js +20 -33
  95. package/dist/index146.js.map +1 -1
  96. package/dist/index147.js +2 -70
  97. package/dist/index147.js.map +1 -1
  98. package/dist/index148.js +24 -2
  99. package/dist/index148.js.map +1 -1
  100. package/dist/index149.js +70 -21
  101. package/dist/index149.js.map +1 -1
  102. package/dist/index15.js +154 -146
  103. package/dist/index15.js.map +1 -1
  104. package/dist/index150.js +21 -2
  105. package/dist/index150.js.map +1 -1
  106. package/dist/index151.js +34 -2
  107. package/dist/index151.js.map +1 -1
  108. package/dist/index152.js +70 -2
  109. package/dist/index152.js.map +1 -1
  110. package/dist/index153.js +2 -2
  111. package/dist/index154.js +21 -3
  112. package/dist/index154.js.map +1 -1
  113. package/dist/index155.js +5 -0
  114. package/dist/index155.js.map +1 -0
  115. package/dist/index156.js +5 -0
  116. package/dist/index156.js.map +1 -0
  117. package/dist/index157.js +5 -0
  118. package/dist/index157.js.map +1 -0
  119. package/dist/index158.js +5 -0
  120. package/dist/index158.js.map +1 -0
  121. package/dist/index159.js +7 -0
  122. package/dist/index159.js.map +1 -0
  123. package/dist/index16.js +150 -5
  124. package/dist/index16.js.map +1 -1
  125. package/dist/index17.js +5 -71
  126. package/dist/index17.js.map +1 -1
  127. package/dist/index18.js +71 -17
  128. package/dist/index18.js.map +1 -1
  129. package/dist/index19.js +15 -96
  130. package/dist/index19.js.map +1 -1
  131. package/dist/index20.js +89 -105
  132. package/dist/index20.js.map +1 -1
  133. package/dist/index21.js +107 -177
  134. package/dist/index21.js.map +1 -1
  135. package/dist/index22.js +181 -107
  136. package/dist/index22.js.map +1 -1
  137. package/dist/index23.js +110 -19
  138. package/dist/index23.js.map +1 -1
  139. package/dist/index24.js +19 -32
  140. package/dist/index24.js.map +1 -1
  141. package/dist/index25.js +42 -40
  142. package/dist/index25.js.map +1 -1
  143. package/dist/index26.js +31 -11
  144. package/dist/index26.js.map +1 -1
  145. package/dist/index27.js +41 -33
  146. package/dist/index27.js.map +1 -1
  147. package/dist/index28.js +12 -63
  148. package/dist/index28.js.map +1 -1
  149. package/dist/index29.js +33 -80
  150. package/dist/index29.js.map +1 -1
  151. package/dist/index30.js +63 -18
  152. package/dist/index30.js.map +1 -1
  153. package/dist/index31.js +79 -219
  154. package/dist/index31.js.map +1 -1
  155. package/dist/index32.js +16 -1080
  156. package/dist/index32.js.map +1 -1
  157. package/dist/index33.js +218 -16
  158. package/dist/index33.js.map +1 -1
  159. package/dist/index34.js +1081 -121
  160. package/dist/index34.js.map +1 -1
  161. package/dist/index35.js +17 -39
  162. package/dist/index35.js.map +1 -1
  163. package/dist/index36.js +121 -190
  164. package/dist/index36.js.map +1 -1
  165. package/dist/index37.js +37 -94
  166. package/dist/index37.js.map +1 -1
  167. package/dist/index38.js +186 -157
  168. package/dist/index38.js.map +1 -1
  169. package/dist/index39.js +89 -138
  170. package/dist/index39.js.map +1 -1
  171. package/dist/index40.js +161 -14
  172. package/dist/index40.js.map +1 -1
  173. package/dist/index41.js +146 -18
  174. package/dist/index41.js.map +1 -1
  175. package/dist/index42.js +14 -20
  176. package/dist/index42.js.map +1 -1
  177. package/dist/index43.js +15 -116
  178. package/dist/index43.js.map +1 -1
  179. package/dist/index44.js +18 -10
  180. package/dist/index44.js.map +1 -1
  181. package/dist/index45.js +119 -35
  182. package/dist/index45.js.map +1 -1
  183. package/dist/index46.js +12 -115
  184. package/dist/index46.js.map +1 -1
  185. package/dist/index47.js +33 -174
  186. package/dist/index47.js.map +1 -1
  187. package/dist/index48.js +10 -147
  188. package/dist/index48.js.map +1 -1
  189. package/dist/index49.js +116 -12
  190. package/dist/index49.js.map +1 -1
  191. package/dist/index50.js +176 -22
  192. package/dist/index50.js.map +1 -1
  193. package/dist/index51.js +147 -14
  194. package/dist/index51.js.map +1 -1
  195. package/dist/index52.js +10 -5
  196. package/dist/index52.js.map +1 -1
  197. package/dist/index53.js +21 -265
  198. package/dist/index53.js.map +1 -1
  199. package/dist/index54.js +10 -13
  200. package/dist/index54.js.map +1 -1
  201. package/dist/index55.js +7 -122
  202. package/dist/index55.js.map +1 -1
  203. package/dist/index56.js +262 -106
  204. package/dist/index56.js.map +1 -1
  205. package/dist/index57.js +14 -167
  206. package/dist/index57.js.map +1 -1
  207. package/dist/index58.js +121 -31
  208. package/dist/index58.js.map +1 -1
  209. package/dist/index59.js +107 -119
  210. package/dist/index59.js.map +1 -1
  211. package/dist/index60.js +161 -77
  212. package/dist/index60.js.map +1 -1
  213. package/dist/index61.js +31 -19
  214. package/dist/index61.js.map +1 -1
  215. package/dist/index62.js +117 -69
  216. package/dist/index62.js.map +1 -1
  217. package/dist/index63.js +82 -53
  218. package/dist/index63.js.map +1 -1
  219. package/dist/index64.js +19 -44
  220. package/dist/index64.js.map +1 -1
  221. package/dist/index65.js +70 -48
  222. package/dist/index65.js.map +1 -1
  223. package/dist/index66.js +55 -60
  224. package/dist/index66.js.map +1 -1
  225. package/dist/index67.js +39 -101
  226. package/dist/index67.js.map +1 -1
  227. package/dist/index68.js +52 -41
  228. package/dist/index68.js.map +1 -1
  229. package/dist/index69.js +58 -64
  230. package/dist/index69.js.map +1 -1
  231. package/dist/index70.js +105 -19
  232. package/dist/index70.js.map +1 -1
  233. package/dist/index71.js +41 -46
  234. package/dist/index71.js.map +1 -1
  235. package/dist/index72.js +63 -129
  236. package/dist/index72.js.map +1 -1
  237. package/dist/index73.js +19 -50
  238. package/dist/index73.js.map +1 -1
  239. package/dist/index74.js +46 -22
  240. package/dist/index74.js.map +1 -1
  241. package/dist/index75.js +132 -29
  242. package/dist/index75.js.map +1 -1
  243. package/dist/index76.js +52 -22
  244. package/dist/index76.js.map +1 -1
  245. package/dist/index77.js +19 -326
  246. package/dist/index77.js.map +1 -1
  247. package/dist/index78.js +31 -56
  248. package/dist/index78.js.map +1 -1
  249. package/dist/index79.js +22 -40
  250. package/dist/index79.js.map +1 -1
  251. package/dist/index80.js +328 -22
  252. package/dist/index80.js.map +1 -1
  253. package/dist/index81.js +55 -94
  254. package/dist/index81.js.map +1 -1
  255. package/dist/index82.js +38 -128
  256. package/dist/index82.js.map +1 -1
  257. package/dist/index83.js +20 -158
  258. package/dist/index83.js.map +1 -1
  259. package/dist/index84.js +93 -63
  260. package/dist/index84.js.map +1 -1
  261. package/dist/index85.js +128 -33
  262. package/dist/index85.js.map +1 -1
  263. package/dist/index86.js +152 -225
  264. package/dist/index86.js.map +1 -1
  265. package/dist/index87.js +63 -32
  266. package/dist/index87.js.map +1 -1
  267. package/dist/index88.js +35 -210
  268. package/dist/index88.js.map +1 -1
  269. package/dist/index89.js +229 -208
  270. package/dist/index89.js.map +1 -1
  271. package/dist/index90.js +34 -295
  272. package/dist/index90.js.map +1 -1
  273. package/dist/index91.js +200 -168
  274. package/dist/index91.js.map +1 -1
  275. package/dist/index92.js +198 -243
  276. package/dist/index92.js.map +1 -1
  277. package/dist/index93.js +293 -12
  278. package/dist/index93.js.map +1 -1
  279. package/dist/index94.js +174 -29
  280. package/dist/index94.js.map +1 -1
  281. package/dist/index95.js +258 -6
  282. package/dist/index95.js.map +1 -1
  283. package/dist/index96.js +13 -13
  284. package/dist/index96.js.map +1 -1
  285. package/dist/index97.js +32 -45
  286. package/dist/index97.js.map +1 -1
  287. package/dist/index98.js +5 -12
  288. package/dist/index98.js.map +1 -1
  289. package/dist/index99.js +13 -14
  290. package/dist/index99.js.map +1 -1
  291. package/package.json +2 -1
  292. package/dist/index108.js +0 -10
  293. package/dist/index108.js.map +0 -1
package/dist/index22.js CHANGED
@@ -1,113 +1,187 @@
1
- import { jsxs as h, jsx as s, Fragment as L } from "react/jsx-runtime";
2
- import m from "react";
3
- function _(d) {
4
- return null;
1
+ import { jsxs as m, jsx as n } from "react/jsx-runtime";
2
+ import { useState as h, useRef as j, useEffect as y } from "react";
3
+ import { Input as T } from "./index40.js";
4
+ const $ = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], I = [
5
+ "January",
6
+ "February",
7
+ "March",
8
+ "April",
9
+ "May",
10
+ "June",
11
+ "July",
12
+ "August",
13
+ "September",
14
+ "October",
15
+ "November",
16
+ "December"
17
+ ];
18
+ function L(t, l = "MM/DD/YYYY") {
19
+ if (!t) return "";
20
+ const u = t.getFullYear(), f = String(t.getMonth() + 1).padStart(2, "0"), g = String(t.getDate()).padStart(2, "0");
21
+ return l.replace("YYYY", String(u)).replace("MM", f).replace("DD", g);
5
22
  }
6
- function B({
7
- title: d,
8
- bordered: a = !1,
9
- column: l = 3,
10
- size: v = "default",
11
- layout: w = "horizontal",
12
- colon: x = !0,
13
- labelStyle: N,
14
- contentStyle: $,
15
- className: j = "",
16
- style: F,
17
- children: M,
18
- ...D
19
- }) {
20
- const R = {
21
- small: "text-sm",
22
- default: "text-base",
23
- large: "text-lg"
24
- }, y = m.Children.toArray(M).filter(
25
- (p) => m.isValidElement(p)
26
- ), e = typeof l == "number" ? l : l.md || l.sm || l.xs || 3, z = () => {
27
- if (w === "vertical")
28
- return y.map((r, t) => {
29
- const o = r.props.span || 1, b = Math.min(o, e), f = r.props.labelStyle || N;
30
- return /* @__PURE__ */ h(m.Fragment, { children: [
31
- /* @__PURE__ */ h(
32
- "th",
33
- {
34
- className: `${a ? "border border-base-content/10" : ""} bg-base-200/50 font-semibold text-left px-4 py-2`,
35
- style: f,
36
- colSpan: b,
37
- children: [
38
- r.props.label,
39
- x && r.props.label && ":"
40
- ]
41
- }
42
- ),
43
- t % e === e - 1 && /* @__PURE__ */ s(L, { children: Array.from({ length: e - ((t + 1) % e || e) }).map((n, i) => /* @__PURE__ */ s("th", { className: `${a ? "border border-base-content/10" : ""}` }, `empty-${i}`)) }),
44
- (t + 1) % e === 0 && /* @__PURE__ */ s("tr", { children: y.slice(t - e + 1, t + 1).map((n, i) => {
45
- const g = n.props.span || 1, u = Math.min(g, e), C = n.props.contentStyle || $;
46
- return /* @__PURE__ */ s(
47
- "td",
23
+ function q(t, l) {
24
+ return new Date(t, l + 1, 0).getDate();
25
+ }
26
+ function z(t, l) {
27
+ return new Date(t, l, 1).getDay();
28
+ }
29
+ const B = ({
30
+ value: t,
31
+ defaultValue: l,
32
+ onChange: u,
33
+ format: f,
34
+ placeholder: g = "Select date",
35
+ disabled: v = !1,
36
+ className: x = "",
37
+ size: N = "md",
38
+ ...Y
39
+ }) => {
40
+ const [o, b] = h(
41
+ t || l || null
42
+ ), [c, d] = h(!1), [r, i] = h(
43
+ o ? o.getMonth() : (/* @__PURE__ */ new Date()).getMonth()
44
+ ), [a, p] = h(
45
+ o ? o.getFullYear() : (/* @__PURE__ */ new Date()).getFullYear()
46
+ ), w = j(null);
47
+ y(() => {
48
+ t !== void 0 && b(t);
49
+ }, [t]), y(() => {
50
+ function e(s) {
51
+ w.current && !w.current.contains(s.target) && d(!1);
52
+ }
53
+ if (c)
54
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
55
+ }, [c]);
56
+ const S = (e) => {
57
+ const s = new Date(a, r, e);
58
+ b(s), u?.(s), d(!1);
59
+ }, F = () => {
60
+ r === 0 ? (i(11), p(a - 1)) : i(r - 1);
61
+ }, O = () => {
62
+ r === 11 ? (i(0), p(a + 1)) : i(r + 1);
63
+ }, k = q(a, r), C = z(a, r), D = [];
64
+ for (let e = 0; e < C; e++)
65
+ D.push(null);
66
+ for (let e = 1; e <= k; e++)
67
+ D.push(e);
68
+ const M = (e) => !e || !o ? !1 : o.getDate() === e && o.getMonth() === r && o.getFullYear() === a, R = (e) => {
69
+ if (!e) return !1;
70
+ const s = /* @__PURE__ */ new Date();
71
+ return s.getDate() === e && s.getMonth() === r && s.getFullYear() === a;
72
+ };
73
+ return /* @__PURE__ */ m("div", { ref: w, className: `relative ${x}`, "data-state": c ? "open" : "closed", ...Y, children: [
74
+ /* @__PURE__ */ n(
75
+ T,
76
+ {
77
+ value: L(o, f),
78
+ placeholder: g,
79
+ disabled: v,
80
+ size: N,
81
+ readOnly: !0,
82
+ onClick: () => !v && d(!c),
83
+ className: "cursor-pointer"
84
+ }
85
+ ),
86
+ c && /* @__PURE__ */ m("div", { className: "absolute top-full left-0 mt-2 bg-base-100 border border-base-300 rounded-lg shadow-lg p-4 z-50 w-80", children: [
87
+ /* @__PURE__ */ m("div", { className: "flex items-center justify-between mb-4", children: [
88
+ /* @__PURE__ */ n(
89
+ "button",
90
+ {
91
+ type: "button",
92
+ onClick: F,
93
+ className: "btn btn-ghost btn-sm btn-square",
94
+ children: /* @__PURE__ */ n(
95
+ "svg",
96
+ {
97
+ xmlns: "http://www.w3.org/2000/svg",
98
+ className: "h-5 w-5",
99
+ viewBox: "0 0 20 20",
100
+ fill: "currentColor",
101
+ children: /* @__PURE__ */ n(
102
+ "path",
103
+ {
104
+ fillRule: "evenodd",
105
+ d: "M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",
106
+ clipRule: "evenodd"
107
+ }
108
+ )
109
+ }
110
+ )
111
+ }
112
+ ),
113
+ /* @__PURE__ */ m("div", { className: "text-base font-semibold", children: [
114
+ I[r],
115
+ " ",
116
+ a
117
+ ] }),
118
+ /* @__PURE__ */ n(
119
+ "button",
120
+ {
121
+ type: "button",
122
+ onClick: O,
123
+ className: "btn btn-ghost btn-sm btn-square",
124
+ children: /* @__PURE__ */ n(
125
+ "svg",
48
126
  {
49
- className: `${a ? "border border-base-content/10" : ""} px-4 py-2`,
50
- style: C,
51
- colSpan: u,
52
- children: n.props.children
53
- },
54
- i
55
- );
56
- }) }, `content-row-${t}`)
57
- ] }, t);
58
- });
59
- const p = [];
60
- let c = [], S = 0;
61
- return y.forEach((r) => {
62
- const t = r.props.span || 1, o = Math.min(t, e);
63
- S + o > e ? (p.push(c), c = [r], S = o) : (c.push(r), S += o);
64
- }), c.length > 0 && p.push(c), p.map((r, t) => {
65
- let o = 0;
66
- const b = r.map((n, i) => {
67
- const g = n.props.span || 1, u = Math.min(g, e), C = n.props.labelStyle || N, E = n.props.contentStyle || $;
68
- return o += u, /* @__PURE__ */ h(m.Fragment, { children: [
69
- /* @__PURE__ */ h(
70
- "th",
71
- {
72
- className: `${a ? "border border-base-content/10" : ""} bg-base-200/50 font-semibold text-left px-4 py-2 whitespace-nowrap`,
73
- style: C,
74
- children: [
75
- n.props.label,
76
- x && n.props.label && ":"
77
- ]
78
- }
79
- ),
80
- /* @__PURE__ */ s(
81
- "td",
82
- {
83
- className: `${a ? "border border-base-content/10" : ""} px-4 py-2`,
84
- style: E,
85
- colSpan: u * 2 - 1,
86
- children: n.props.children
87
- }
88
- )
89
- ] }, i);
90
- }), f = e - o;
91
- return f > 0 && b.push(
92
- /* @__PURE__ */ s(m.Fragment, { children: /* @__PURE__ */ s("th", { className: `${a ? "border border-base-content/10" : ""}`, colSpan: f * 2 }) }, "empty")
93
- ), /* @__PURE__ */ s("tr", { children: b }, t);
94
- });
95
- }, A = [
96
- "w-full",
97
- a && "border-collapse",
98
- R[v],
99
- j
100
- ].filter(Boolean).join(" ");
101
- return /* @__PURE__ */ h("div", { style: F, ...D, children: [
102
- d && /* @__PURE__ */ s("div", { className: "text-lg font-semibold mb-4", children: d }),
103
- /* @__PURE__ */ s("table", { className: A, children: /* @__PURE__ */ s("tbody", { children: z() }) })
127
+ xmlns: "http://www.w3.org/2000/svg",
128
+ className: "h-5 w-5",
129
+ viewBox: "0 0 20 20",
130
+ fill: "currentColor",
131
+ children: /* @__PURE__ */ n(
132
+ "path",
133
+ {
134
+ fillRule: "evenodd",
135
+ d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
136
+ clipRule: "evenodd"
137
+ }
138
+ )
139
+ }
140
+ )
141
+ }
142
+ )
143
+ ] }),
144
+ /* @__PURE__ */ n("div", { className: "grid grid-cols-7 gap-1 mb-2", children: $.map((e) => /* @__PURE__ */ n(
145
+ "div",
146
+ {
147
+ className: "text-center text-xs font-semibold text-base-content/60 py-2",
148
+ children: e
149
+ },
150
+ e
151
+ )) }),
152
+ /* @__PURE__ */ n("div", { className: "grid grid-cols-7 gap-1", children: D.map((e, s) => /* @__PURE__ */ n(
153
+ "button",
154
+ {
155
+ type: "button",
156
+ disabled: !e,
157
+ onClick: () => e && S(e),
158
+ className: `
159
+ aspect-square flex items-center justify-center text-sm rounded-lg
160
+ ${e ? "hover:bg-base-200" : "invisible"}
161
+ ${M(e) ? "bg-primary text-primary-content hover:bg-primary/90" : ""}
162
+ ${R(e) && !M(e) ? "border border-primary" : ""}
163
+ ${e ? "cursor-pointer" : ""}
164
+ `,
165
+ children: e
166
+ },
167
+ s
168
+ )) }),
169
+ /* @__PURE__ */ n("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ n(
170
+ "button",
171
+ {
172
+ type: "button",
173
+ onClick: () => {
174
+ const e = /* @__PURE__ */ new Date();
175
+ b(e), i(e.getMonth()), p(e.getFullYear()), u?.(e), d(!1);
176
+ },
177
+ className: "btn btn-ghost btn-sm",
178
+ children: "Today"
179
+ }
180
+ ) })
181
+ ] })
104
182
  ] });
105
- }
106
- const k = Object.assign(B, {
107
- Item: _
108
- });
183
+ };
109
184
  export {
110
- k as Descriptions,
111
- k as default
185
+ B as DatePicker
112
186
  };
113
187
  //# sourceMappingURL=index22.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index22.js","sources":["../src/components/Descriptions.tsx"],"sourcesContent":["import React from 'react'\n\nexport type DescriptionsSize = 'small' | 'default' | 'large'\nexport type DescriptionsLayout = 'horizontal' | 'vertical'\n\nexport interface DescriptionsItemProps {\n label?: React.ReactNode\n span?: number\n children?: React.ReactNode\n labelStyle?: React.CSSProperties\n contentStyle?: React.CSSProperties\n}\n\nexport interface DescriptionsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n title?: React.ReactNode\n bordered?: boolean\n column?: number | {\n xs?: number\n sm?: number\n md?: number\n lg?: number\n xl?: number\n '2xl'?: number\n }\n size?: DescriptionsSize\n layout?: DescriptionsLayout\n colon?: boolean\n labelStyle?: React.CSSProperties\n contentStyle?: React.CSSProperties\n children?: React.ReactNode\n}\n\nfunction DescriptionsItem(_props: DescriptionsItemProps) {\n return null\n}\n\nfunction DescriptionsRoot({\n title,\n bordered = false,\n column = 3,\n size = 'default',\n layout = 'horizontal',\n colon = true,\n labelStyle,\n contentStyle,\n className = '',\n style,\n children,\n ...rest\n}: DescriptionsProps) {\n const sizeClasses: Record<DescriptionsSize, string> = {\n small: 'text-sm',\n default: 'text-base',\n large: 'text-lg',\n }\n\n const items = React.Children.toArray(children).filter(\n (child): child is React.ReactElement<DescriptionsItemProps> =>\n React.isValidElement(child)\n )\n\n const getColumnCount = () => {\n if (typeof column === 'number') {\n return column\n }\n // For responsive columns, default to md value or 3\n return column.md || column.sm || column.xs || 3\n }\n\n const columnCount = getColumnCount()\n\n const renderItems = () => {\n if (layout === 'vertical') {\n return items.map((item, index) => {\n const span = item.props.span || 1\n const effectiveSpan = Math.min(span, columnCount)\n const itemLabelStyle = item.props.labelStyle || labelStyle\n\n return (\n <React.Fragment key={index}>\n <th\n className={`${bordered ? 'border border-base-content/10' : ''} bg-base-200/50 font-semibold text-left px-4 py-2`}\n style={itemLabelStyle}\n colSpan={effectiveSpan}\n >\n {item.props.label}\n {colon && item.props.label && ':'}\n </th>\n {index % columnCount === columnCount - 1 && (\n <>\n {Array.from({ length: columnCount - ((index + 1) % columnCount || columnCount) }).map((_, i) => (\n <th key={`empty-${i}`} className={`${bordered ? 'border border-base-content/10' : ''}`} />\n ))}\n </>\n )}\n {(index + 1) % columnCount === 0 && (\n <tr key={`content-row-${index}`}>\n {items.slice(index - columnCount + 1, index + 1).map((contentItem, ci) => {\n const contentSpan = contentItem.props.span || 1\n const effectiveContentSpan = Math.min(contentSpan, columnCount)\n const itemContentStyle2 = contentItem.props.contentStyle || contentStyle\n\n return (\n <td\n key={ci}\n className={`${bordered ? 'border border-base-content/10' : ''} px-4 py-2`}\n style={itemContentStyle2}\n colSpan={effectiveContentSpan}\n >\n {contentItem.props.children}\n </td>\n )\n })}\n </tr>\n )}\n </React.Fragment>\n )\n })\n }\n\n // Horizontal layout\n const rows: React.ReactElement<DescriptionsItemProps>[][] = []\n let currentRow: React.ReactElement<DescriptionsItemProps>[] = []\n let currentSpan = 0\n\n items.forEach((item) => {\n const span = item.props.span || 1\n const effectiveSpan = Math.min(span, columnCount)\n\n if (currentSpan + effectiveSpan > columnCount) {\n rows.push(currentRow)\n currentRow = [item]\n currentSpan = effectiveSpan\n } else {\n currentRow.push(item)\n currentSpan += effectiveSpan\n }\n })\n\n if (currentRow.length > 0) {\n rows.push(currentRow)\n }\n\n return rows.map((row, rowIndex) => {\n let usedSpan = 0\n const cells = row.map((item, cellIndex) => {\n const span = item.props.span || 1\n const effectiveSpan = Math.min(span, columnCount)\n const itemLabelStyle = item.props.labelStyle || labelStyle\n const itemContentStyle = item.props.contentStyle || contentStyle\n usedSpan += effectiveSpan\n\n return (\n <React.Fragment key={cellIndex}>\n <th\n className={`${bordered ? 'border border-base-content/10' : ''} bg-base-200/50 font-semibold text-left px-4 py-2 whitespace-nowrap`}\n style={itemLabelStyle}\n >\n {item.props.label}\n {colon && item.props.label && ':'}\n </th>\n <td\n className={`${bordered ? 'border border-base-content/10' : ''} px-4 py-2`}\n style={itemContentStyle}\n colSpan={effectiveSpan * 2 - 1}\n >\n {item.props.children}\n </td>\n </React.Fragment>\n )\n })\n\n // Fill remaining columns\n const remainingSpan = columnCount - usedSpan\n if (remainingSpan > 0) {\n cells.push(\n <React.Fragment key=\"empty\">\n <th className={`${bordered ? 'border border-base-content/10' : ''}`} colSpan={remainingSpan * 2} />\n </React.Fragment>\n )\n }\n\n return <tr key={rowIndex}>{cells}</tr>\n })\n }\n\n const containerClasses = [\n 'w-full',\n bordered && 'border-collapse',\n sizeClasses[size],\n className,\n ].filter(Boolean).join(' ')\n\n return (\n <div style={style} {...rest}>\n {title && (\n <div className=\"text-lg font-semibold mb-4\">\n {title}\n </div>\n )}\n <table className={containerClasses}>\n <tbody>\n {renderItems()}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport const Descriptions = Object.assign(DescriptionsRoot, {\n Item: DescriptionsItem,\n})\n\nexport default Descriptions\n"],"names":["DescriptionsItem","_props","DescriptionsRoot","title","bordered","column","size","layout","colon","labelStyle","contentStyle","className","style","children","rest","sizeClasses","items","React","child","columnCount","renderItems","item","index","span","effectiveSpan","itemLabelStyle","jsxs","_","jsx","contentItem","ci","contentSpan","effectiveContentSpan","itemContentStyle2","rows","currentRow","currentSpan","row","rowIndex","usedSpan","cells","cellIndex","itemContentStyle","remainingSpan","containerClasses","Descriptions"],"mappings":"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"}
1
+ {"version":3,"file":"index22.js","sources":["../src/components/DatePicker.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react'\nimport { Input } from './Input'\n\nexport interface DatePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {\n value?: Date | null\n defaultValue?: Date | null\n onChange?: (date: Date | null) => void\n format?: string\n placeholder?: string\n disabled?: boolean\n size?: 'xs' | 'sm' | 'md' | 'lg'\n}\n\nconst DAYS = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n]\n\nfunction formatDate(date: Date | null, format: string = 'MM/DD/YYYY'): string {\n if (!date) return ''\n\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n\n return format\n .replace('YYYY', String(year))\n .replace('MM', month)\n .replace('DD', day)\n}\n\nfunction getDaysInMonth(year: number, month: number): number {\n return new Date(year, month + 1, 0).getDate()\n}\n\nfunction getFirstDayOfMonth(year: number, month: number): number {\n return new Date(year, month, 1).getDay()\n}\n\nexport const DatePicker: React.FC<DatePickerProps> = ({\n value,\n defaultValue,\n onChange,\n format,\n placeholder = 'Select date',\n disabled = false,\n className = '',\n size = 'md',\n ...rest\n}) => {\n const [selectedDate, setSelectedDate] = useState<Date | null>(\n value || defaultValue || null\n )\n const [isOpen, setIsOpen] = useState(false)\n const [viewMonth, setViewMonth] = useState(\n selectedDate ? selectedDate.getMonth() : new Date().getMonth()\n )\n const [viewYear, setViewYear] = useState(\n selectedDate ? selectedDate.getFullYear() : new Date().getFullYear()\n )\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (value !== undefined) {\n setSelectedDate(value)\n }\n }, [value])\n\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [isOpen])\n\n const handleDateSelect = (day: number) => {\n const newDate = new Date(viewYear, viewMonth, day)\n setSelectedDate(newDate)\n onChange?.(newDate)\n setIsOpen(false)\n }\n\n const handlePrevMonth = () => {\n if (viewMonth === 0) {\n setViewMonth(11)\n setViewYear(viewYear - 1)\n } else {\n setViewMonth(viewMonth - 1)\n }\n }\n\n const handleNextMonth = () => {\n if (viewMonth === 11) {\n setViewMonth(0)\n setViewYear(viewYear + 1)\n } else {\n setViewMonth(viewMonth + 1)\n }\n }\n\n const daysInMonth = getDaysInMonth(viewYear, viewMonth)\n const firstDayOfMonth = getFirstDayOfMonth(viewYear, viewMonth)\n\n const calendarDays: (number | null)[] = []\n for (let i = 0; i < firstDayOfMonth; i++) {\n calendarDays.push(null)\n }\n for (let i = 1; i <= daysInMonth; i++) {\n calendarDays.push(i)\n }\n\n const isSelectedDay = (day: number | null): boolean => {\n if (!day || !selectedDate) return false\n return (\n selectedDate.getDate() === day &&\n selectedDate.getMonth() === viewMonth &&\n selectedDate.getFullYear() === viewYear\n )\n }\n\n const isToday = (day: number | null): boolean => {\n if (!day) return false\n const today = new Date()\n return (\n today.getDate() === day &&\n today.getMonth() === viewMonth &&\n today.getFullYear() === viewYear\n )\n }\n\n return (\n <div ref={containerRef} className={`relative ${className}`} data-state={isOpen ? 'open' : 'closed'} {...rest}>\n <Input\n value={formatDate(selectedDate, format)}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n readOnly\n onClick={() => !disabled && setIsOpen(!isOpen)}\n className=\"cursor-pointer\"\n />\n\n {isOpen && (\n <div className=\"absolute top-full left-0 mt-2 bg-base-100 border border-base-300 rounded-lg shadow-lg p-4 z-50 w-80\">\n {/* Header */}\n <div className=\"flex items-center justify-between mb-4\">\n <button\n type=\"button\"\n onClick={handlePrevMonth}\n className=\"btn btn-ghost btn-sm btn-square\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n\n <div className=\"text-base font-semibold\">\n {MONTHS[viewMonth]} {viewYear}\n </div>\n\n <button\n type=\"button\"\n onClick={handleNextMonth}\n className=\"btn btn-ghost btn-sm btn-square\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n </div>\n\n {/* Days of week */}\n <div className=\"grid grid-cols-7 gap-1 mb-2\">\n {DAYS.map((day) => (\n <div\n key={day}\n className=\"text-center text-xs font-semibold text-base-content/60 py-2\"\n >\n {day}\n </div>\n ))}\n </div>\n\n {/* Calendar grid */}\n <div className=\"grid grid-cols-7 gap-1\">\n {calendarDays.map((day, index) => (\n <button\n key={index}\n type=\"button\"\n disabled={!day}\n onClick={() => day && handleDateSelect(day)}\n className={`\n aspect-square flex items-center justify-center text-sm rounded-lg\n ${!day ? 'invisible' : 'hover:bg-base-200'}\n ${isSelectedDay(day) ? 'bg-primary text-primary-content hover:bg-primary/90' : ''}\n ${isToday(day) && !isSelectedDay(day) ? 'border border-primary' : ''}\n ${day ? 'cursor-pointer' : ''}\n `}\n >\n {day}\n </button>\n ))}\n </div>\n\n {/* Today button */}\n <div className=\"mt-4 flex justify-end\">\n <button\n type=\"button\"\n onClick={() => {\n const today = new Date()\n setSelectedDate(today)\n setViewMonth(today.getMonth())\n setViewYear(today.getFullYear())\n onChange?.(today)\n setIsOpen(false)\n }}\n className=\"btn btn-ghost btn-sm\"\n >\n Today\n </button>\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["DAYS","MONTHS","formatDate","date","format","year","month","day","getDaysInMonth","getFirstDayOfMonth","DatePicker","value","defaultValue","onChange","placeholder","disabled","className","size","rest","selectedDate","setSelectedDate","useState","isOpen","setIsOpen","viewMonth","setViewMonth","viewYear","setViewYear","containerRef","useRef","useEffect","handleClickOutside","event","handleDateSelect","newDate","handlePrevMonth","handleNextMonth","daysInMonth","firstDayOfMonth","calendarDays","i","isSelectedDay","isToday","today","jsxs","jsx","Input","index"],"mappings":"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"}
package/dist/index23.js CHANGED
@@ -1,22 +1,113 @@
1
- import { jsxs as f, jsx as e } from "react/jsx-runtime";
2
- const m = ({
3
- left: i,
4
- right: r,
5
- aspect: s = "aspect-16/9",
6
- className: d = ""
7
- }) => /* @__PURE__ */ f(
8
- "figure",
9
- {
10
- className: `diff ${s} ${d}`.trim(),
11
- tabIndex: 0,
12
- children: [
13
- /* @__PURE__ */ e("div", { className: "diff-item-1", role: "img", tabIndex: 0, children: i }),
14
- /* @__PURE__ */ e("div", { className: "diff-item-2", role: "img", children: r }),
15
- /* @__PURE__ */ e("div", { className: "diff-resizer" })
16
- ]
17
- }
18
- );
1
+ import { jsxs as h, jsx as s, Fragment as L } from "react/jsx-runtime";
2
+ import m from "react";
3
+ function _(d) {
4
+ return null;
5
+ }
6
+ function B({
7
+ title: d,
8
+ bordered: a = !1,
9
+ column: l = 3,
10
+ size: v = "default",
11
+ layout: w = "horizontal",
12
+ colon: x = !0,
13
+ labelStyle: N,
14
+ contentStyle: $,
15
+ className: j = "",
16
+ style: F,
17
+ children: M,
18
+ ...D
19
+ }) {
20
+ const R = {
21
+ small: "text-sm",
22
+ default: "text-base",
23
+ large: "text-lg"
24
+ }, y = m.Children.toArray(M).filter(
25
+ (p) => m.isValidElement(p)
26
+ ), e = typeof l == "number" ? l : l.md || l.sm || l.xs || 3, z = () => {
27
+ if (w === "vertical")
28
+ return y.map((r, t) => {
29
+ const o = r.props.span || 1, b = Math.min(o, e), f = r.props.labelStyle || N;
30
+ return /* @__PURE__ */ h(m.Fragment, { children: [
31
+ /* @__PURE__ */ h(
32
+ "th",
33
+ {
34
+ className: `${a ? "border border-base-content/10" : ""} bg-base-200/50 font-semibold text-left px-4 py-2`,
35
+ style: f,
36
+ colSpan: b,
37
+ children: [
38
+ r.props.label,
39
+ x && r.props.label && ":"
40
+ ]
41
+ }
42
+ ),
43
+ t % e === e - 1 && /* @__PURE__ */ s(L, { children: Array.from({ length: e - ((t + 1) % e || e) }).map((n, i) => /* @__PURE__ */ s("th", { className: `${a ? "border border-base-content/10" : ""}` }, `empty-${i}`)) }),
44
+ (t + 1) % e === 0 && /* @__PURE__ */ s("tr", { children: y.slice(t - e + 1, t + 1).map((n, i) => {
45
+ const g = n.props.span || 1, u = Math.min(g, e), C = n.props.contentStyle || $;
46
+ return /* @__PURE__ */ s(
47
+ "td",
48
+ {
49
+ className: `${a ? "border border-base-content/10" : ""} px-4 py-2`,
50
+ style: C,
51
+ colSpan: u,
52
+ children: n.props.children
53
+ },
54
+ i
55
+ );
56
+ }) }, `content-row-${t}`)
57
+ ] }, t);
58
+ });
59
+ const p = [];
60
+ let c = [], S = 0;
61
+ return y.forEach((r) => {
62
+ const t = r.props.span || 1, o = Math.min(t, e);
63
+ S + o > e ? (p.push(c), c = [r], S = o) : (c.push(r), S += o);
64
+ }), c.length > 0 && p.push(c), p.map((r, t) => {
65
+ let o = 0;
66
+ const b = r.map((n, i) => {
67
+ const g = n.props.span || 1, u = Math.min(g, e), C = n.props.labelStyle || N, E = n.props.contentStyle || $;
68
+ return o += u, /* @__PURE__ */ h(m.Fragment, { children: [
69
+ /* @__PURE__ */ h(
70
+ "th",
71
+ {
72
+ className: `${a ? "border border-base-content/10" : ""} bg-base-200/50 font-semibold text-left px-4 py-2 whitespace-nowrap`,
73
+ style: C,
74
+ children: [
75
+ n.props.label,
76
+ x && n.props.label && ":"
77
+ ]
78
+ }
79
+ ),
80
+ /* @__PURE__ */ s(
81
+ "td",
82
+ {
83
+ className: `${a ? "border border-base-content/10" : ""} px-4 py-2`,
84
+ style: E,
85
+ colSpan: u * 2 - 1,
86
+ children: n.props.children
87
+ }
88
+ )
89
+ ] }, i);
90
+ }), f = e - o;
91
+ return f > 0 && b.push(
92
+ /* @__PURE__ */ s(m.Fragment, { children: /* @__PURE__ */ s("th", { className: `${a ? "border border-base-content/10" : ""}`, colSpan: f * 2 }) }, "empty")
93
+ ), /* @__PURE__ */ s("tr", { children: b }, t);
94
+ });
95
+ }, A = [
96
+ "w-full",
97
+ a && "border-collapse",
98
+ R[v],
99
+ j
100
+ ].filter(Boolean).join(" ");
101
+ return /* @__PURE__ */ h("div", { style: F, ...D, children: [
102
+ d && /* @__PURE__ */ s("div", { className: "text-lg font-semibold mb-4", children: d }),
103
+ /* @__PURE__ */ s("table", { className: A, children: /* @__PURE__ */ s("tbody", { children: z() }) })
104
+ ] });
105
+ }
106
+ const k = Object.assign(B, {
107
+ Item: _
108
+ });
19
109
  export {
20
- m as Diff
110
+ k as Descriptions,
111
+ k as default
21
112
  };
22
113
  //# sourceMappingURL=index23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index23.js","sources":["../src/components/Diff.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface DiffProps {\n /** Left side content (revealed when dragging) */\n left: React.ReactNode\n /** Right side content (hidden when dragging) */\n right: React.ReactNode\n /** Aspect ratio class (e.g., \"aspect-16/9\", \"aspect-4/3\", \"aspect-square\") */\n aspect?: string\n /** Additional CSS classes */\n className?: string\n}\n\nexport const Diff: React.FC<DiffProps> = ({\n left,\n right,\n aspect = 'aspect-16/9',\n className = '',\n}) => {\n return (\n <figure\n className={`diff ${aspect} ${className}`.trim()}\n tabIndex={0}\n >\n <div className=\"diff-item-1\" role=\"img\" tabIndex={0}>\n {left}\n </div>\n <div className=\"diff-item-2\" role=\"img\">\n {right}\n </div>\n <div className=\"diff-resizer\" />\n </figure>\n )\n}\n"],"names":["Diff","left","right","aspect","className","jsxs","jsx"],"mappings":";AAaO,MAAMA,IAA4B,CAAC;AAAA,EACxC,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC,IAAY;AACd,MAEI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,QAAQF,CAAM,IAAIC,CAAS,GAAG,KAAA;AAAA,IACzC,UAAU;AAAA,IAEV,UAAA;AAAA,MAAA,gBAAAE,EAAC,SAAI,WAAU,eAAc,MAAK,OAAM,UAAU,GAC/C,UAAAL,EAAA,CACH;AAAA,wBACC,OAAA,EAAI,WAAU,eAAc,MAAK,OAC/B,UAAAC,GACH;AAAA,MACA,gBAAAI,EAAC,OAAA,EAAI,WAAU,eAAA,CAAe;AAAA,IAAA;AAAA,EAAA;AAAA;"}
1
+ {"version":3,"file":"index23.js","sources":["../src/components/Descriptions.tsx"],"sourcesContent":["import React from 'react'\n\nexport type DescriptionsSize = 'small' | 'default' | 'large'\nexport type DescriptionsLayout = 'horizontal' | 'vertical'\n\nexport interface DescriptionsItemProps {\n label?: React.ReactNode\n span?: number\n children?: React.ReactNode\n labelStyle?: React.CSSProperties\n contentStyle?: React.CSSProperties\n}\n\nexport interface DescriptionsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n title?: React.ReactNode\n bordered?: boolean\n column?: number | {\n xs?: number\n sm?: number\n md?: number\n lg?: number\n xl?: number\n '2xl'?: number\n }\n size?: DescriptionsSize\n layout?: DescriptionsLayout\n colon?: boolean\n labelStyle?: React.CSSProperties\n contentStyle?: React.CSSProperties\n children?: React.ReactNode\n}\n\nfunction DescriptionsItem(_props: DescriptionsItemProps) {\n return null\n}\n\nfunction DescriptionsRoot({\n title,\n bordered = false,\n column = 3,\n size = 'default',\n layout = 'horizontal',\n colon = true,\n labelStyle,\n contentStyle,\n className = '',\n style,\n children,\n ...rest\n}: DescriptionsProps) {\n const sizeClasses: Record<DescriptionsSize, string> = {\n small: 'text-sm',\n default: 'text-base',\n large: 'text-lg',\n }\n\n const items = React.Children.toArray(children).filter(\n (child): child is React.ReactElement<DescriptionsItemProps> =>\n React.isValidElement(child)\n )\n\n const getColumnCount = () => {\n if (typeof column === 'number') {\n return column\n }\n // For responsive columns, default to md value or 3\n return column.md || column.sm || column.xs || 3\n }\n\n const columnCount = getColumnCount()\n\n const renderItems = () => {\n if (layout === 'vertical') {\n return items.map((item, index) => {\n const span = item.props.span || 1\n const effectiveSpan = Math.min(span, columnCount)\n const itemLabelStyle = item.props.labelStyle || labelStyle\n\n return (\n <React.Fragment key={index}>\n <th\n className={`${bordered ? 'border border-base-content/10' : ''} bg-base-200/50 font-semibold text-left px-4 py-2`}\n style={itemLabelStyle}\n colSpan={effectiveSpan}\n >\n {item.props.label}\n {colon && item.props.label && ':'}\n </th>\n {index % columnCount === columnCount - 1 && (\n <>\n {Array.from({ length: columnCount - ((index + 1) % columnCount || columnCount) }).map((_, i) => (\n <th key={`empty-${i}`} className={`${bordered ? 'border border-base-content/10' : ''}`} />\n ))}\n </>\n )}\n {(index + 1) % columnCount === 0 && (\n <tr key={`content-row-${index}`}>\n {items.slice(index - columnCount + 1, index + 1).map((contentItem, ci) => {\n const contentSpan = contentItem.props.span || 1\n const effectiveContentSpan = Math.min(contentSpan, columnCount)\n const itemContentStyle2 = contentItem.props.contentStyle || contentStyle\n\n return (\n <td\n key={ci}\n className={`${bordered ? 'border border-base-content/10' : ''} px-4 py-2`}\n style={itemContentStyle2}\n colSpan={effectiveContentSpan}\n >\n {contentItem.props.children}\n </td>\n )\n })}\n </tr>\n )}\n </React.Fragment>\n )\n })\n }\n\n // Horizontal layout\n const rows: React.ReactElement<DescriptionsItemProps>[][] = []\n let currentRow: React.ReactElement<DescriptionsItemProps>[] = []\n let currentSpan = 0\n\n items.forEach((item) => {\n const span = item.props.span || 1\n const effectiveSpan = Math.min(span, columnCount)\n\n if (currentSpan + effectiveSpan > columnCount) {\n rows.push(currentRow)\n currentRow = [item]\n currentSpan = effectiveSpan\n } else {\n currentRow.push(item)\n currentSpan += effectiveSpan\n }\n })\n\n if (currentRow.length > 0) {\n rows.push(currentRow)\n }\n\n return rows.map((row, rowIndex) => {\n let usedSpan = 0\n const cells = row.map((item, cellIndex) => {\n const span = item.props.span || 1\n const effectiveSpan = Math.min(span, columnCount)\n const itemLabelStyle = item.props.labelStyle || labelStyle\n const itemContentStyle = item.props.contentStyle || contentStyle\n usedSpan += effectiveSpan\n\n return (\n <React.Fragment key={cellIndex}>\n <th\n className={`${bordered ? 'border border-base-content/10' : ''} bg-base-200/50 font-semibold text-left px-4 py-2 whitespace-nowrap`}\n style={itemLabelStyle}\n >\n {item.props.label}\n {colon && item.props.label && ':'}\n </th>\n <td\n className={`${bordered ? 'border border-base-content/10' : ''} px-4 py-2`}\n style={itemContentStyle}\n colSpan={effectiveSpan * 2 - 1}\n >\n {item.props.children}\n </td>\n </React.Fragment>\n )\n })\n\n // Fill remaining columns\n const remainingSpan = columnCount - usedSpan\n if (remainingSpan > 0) {\n cells.push(\n <React.Fragment key=\"empty\">\n <th className={`${bordered ? 'border border-base-content/10' : ''}`} colSpan={remainingSpan * 2} />\n </React.Fragment>\n )\n }\n\n return <tr key={rowIndex}>{cells}</tr>\n })\n }\n\n const containerClasses = [\n 'w-full',\n bordered && 'border-collapse',\n sizeClasses[size],\n className,\n ].filter(Boolean).join(' ')\n\n return (\n <div style={style} {...rest}>\n {title && (\n <div className=\"text-lg font-semibold mb-4\">\n {title}\n </div>\n )}\n <table className={containerClasses}>\n <tbody>\n {renderItems()}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport const Descriptions = Object.assign(DescriptionsRoot, {\n Item: DescriptionsItem,\n})\n\nexport default Descriptions\n"],"names":["DescriptionsItem","_props","DescriptionsRoot","title","bordered","column","size","layout","colon","labelStyle","contentStyle","className","style","children","rest","sizeClasses","items","React","child","columnCount","renderItems","item","index","span","effectiveSpan","itemLabelStyle","jsxs","_","jsx","contentItem","ci","contentSpan","effectiveContentSpan","itemContentStyle2","rows","currentRow","currentSpan","row","rowIndex","usedSpan","cells","cellIndex","itemContentStyle","remainingSpan","containerClasses","Descriptions"],"mappings":"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"}
package/dist/index24.js CHANGED
@@ -1,35 +1,22 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- function l({
3
- children: r,
4
- orientation: e = "horizontal",
5
- position: d = "center",
6
- type: i,
7
- className: n = "",
8
- ...s
9
- }) {
10
- const t = {
11
- start: "divider-start",
12
- center: "",
13
- end: "divider-end"
14
- }, a = {
15
- neutral: "divider-neutral",
16
- primary: "divider-primary",
17
- secondary: "divider-secondary",
18
- accent: "divider-accent",
19
- success: "divider-success",
20
- warning: "divider-warning",
21
- info: "divider-info",
22
- error: "divider-error"
23
- }, c = [
24
- "divider",
25
- e === "vertical" && "divider-vertical",
26
- t[d],
27
- i && a[i],
28
- n
29
- ].filter(Boolean).join(" ");
30
- return /* @__PURE__ */ o("div", { className: c, ...s, children: r });
31
- }
1
+ import { jsxs as f, jsx as e } from "react/jsx-runtime";
2
+ const m = ({
3
+ left: i,
4
+ right: r,
5
+ aspect: s = "aspect-16/9",
6
+ className: d = ""
7
+ }) => /* @__PURE__ */ f(
8
+ "figure",
9
+ {
10
+ className: `diff ${s} ${d}`.trim(),
11
+ tabIndex: 0,
12
+ children: [
13
+ /* @__PURE__ */ e("div", { className: "diff-item-1", role: "img", tabIndex: 0, children: i }),
14
+ /* @__PURE__ */ e("div", { className: "diff-item-2", role: "img", children: r }),
15
+ /* @__PURE__ */ e("div", { className: "diff-resizer" })
16
+ ]
17
+ }
18
+ );
32
19
  export {
33
- l as Divider
20
+ m as Diff
34
21
  };
35
22
  //# sourceMappingURL=index24.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index24.js","sources":["../src/components/Divider.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode\n orientation?: 'horizontal' | 'vertical'\n position?: 'start' | 'center' | 'end'\n type?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error'\n}\n\nexport function Divider({\n children,\n orientation = 'horizontal',\n position = 'center',\n type,\n className = '',\n ...rest\n}: DividerProps) {\n const positionClasses: Record<string, string> = {\n start: 'divider-start',\n center: '',\n end: 'divider-end',\n }\n\n const typeClasses: Record<string, string> = {\n neutral: 'divider-neutral',\n primary: 'divider-primary',\n secondary: 'divider-secondary',\n accent: 'divider-accent',\n success: 'divider-success',\n warning: 'divider-warning',\n info: 'divider-info',\n error: 'divider-error',\n }\n\n const classes = [\n 'divider',\n orientation === 'vertical' && 'divider-vertical',\n positionClasses[position],\n type && typeClasses[type],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return <div className={classes} {...rest}>{children}</div>\n}\n"],"names":["Divider","children","orientation","position","type","className","rest","positionClasses","typeClasses","classes"],"mappings":";AASO,SAASA,EAAQ;AAAA,EACtB,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC,IAAW;AAAA,EACX,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,GAAiB;AACf,QAAMC,IAA0C;AAAA,IAC9C,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,KAAK;AAAA,EAAA,GAGDC,IAAsC;AAAA,IAC1C,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EAAA,GAGHC,IAAU;AAAA,IACd;AAAA,IACAP,MAAgB,cAAc;AAAA,IAC9BK,EAAgBJ,CAAQ;AAAA,IACxBC,KAAQI,EAAYJ,CAAI;AAAA,IACxBC;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,2BAAQ,OAAA,EAAI,WAAWI,GAAU,GAAGH,GAAO,UAAAL,GAAS;AACtD;"}
1
+ {"version":3,"file":"index24.js","sources":["../src/components/Diff.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface DiffProps {\n /** Left side content (revealed when dragging) */\n left: React.ReactNode\n /** Right side content (hidden when dragging) */\n right: React.ReactNode\n /** Aspect ratio class (e.g., \"aspect-16/9\", \"aspect-4/3\", \"aspect-square\") */\n aspect?: string\n /** Additional CSS classes */\n className?: string\n}\n\nexport const Diff: React.FC<DiffProps> = ({\n left,\n right,\n aspect = 'aspect-16/9',\n className = '',\n}) => {\n return (\n <figure\n className={`diff ${aspect} ${className}`.trim()}\n tabIndex={0}\n >\n <div className=\"diff-item-1\" role=\"img\" tabIndex={0}>\n {left}\n </div>\n <div className=\"diff-item-2\" role=\"img\">\n {right}\n </div>\n <div className=\"diff-resizer\" />\n </figure>\n )\n}\n"],"names":["Diff","left","right","aspect","className","jsxs","jsx"],"mappings":";AAaO,MAAMA,IAA4B,CAAC;AAAA,EACxC,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC,IAAY;AACd,MAEI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,QAAQF,CAAM,IAAIC,CAAS,GAAG,KAAA;AAAA,IACzC,UAAU;AAAA,IAEV,UAAA;AAAA,MAAA,gBAAAE,EAAC,SAAI,WAAU,eAAc,MAAK,OAAM,UAAU,GAC/C,UAAAL,EAAA,CACH;AAAA,wBACC,OAAA,EAAI,WAAU,eAAc,MAAK,OAC/B,UAAAC,GACH;AAAA,MACA,gBAAAI,EAAC,OAAA,EAAI,WAAU,eAAA,CAAe;AAAA,IAAA;AAAA,EAAA;AAAA;"}