asterui 0.10.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 (366) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +214 -0
  3. package/dist/components/Affix.d.ts +14 -0
  4. package/dist/components/Alert.d.ts +10 -0
  5. package/dist/components/Autocomplete.d.ts +18 -0
  6. package/dist/components/Avatar.d.ts +28 -0
  7. package/dist/components/Badge.d.ts +20 -0
  8. package/dist/components/Breadcrumb.d.ts +15 -0
  9. package/dist/components/Browser.d.ts +7 -0
  10. package/dist/components/Button.d.ts +23 -0
  11. package/dist/components/Card.d.ts +26 -0
  12. package/dist/components/Carousel.d.ts +14 -0
  13. package/dist/components/Cascader.d.ts +19 -0
  14. package/dist/components/Chart.d.ts +19 -0
  15. package/dist/components/Chat.d.ts +11 -0
  16. package/dist/components/Checkbox.d.ts +27 -0
  17. package/dist/components/Code.d.ts +14 -0
  18. package/dist/components/Collapse.d.ts +25 -0
  19. package/dist/components/ColorPicker.d.ts +10 -0
  20. package/dist/components/Container.d.ts +6 -0
  21. package/dist/components/ContextMenu.d.ts +23 -0
  22. package/dist/components/Countdown.d.ts +27 -0
  23. package/dist/components/DatePicker.d.ts +11 -0
  24. package/dist/components/Descriptions.d.ts +34 -0
  25. package/dist/components/Divider.d.ts +8 -0
  26. package/dist/components/Drawer.d.ts +10 -0
  27. package/dist/components/Dropdown.d.ts +39 -0
  28. package/dist/components/Empty.d.ts +8 -0
  29. package/dist/components/Fieldset.d.ts +15 -0
  30. package/dist/components/FileInput.d.ts +9 -0
  31. package/dist/components/Flex.d.ts +14 -0
  32. package/dist/components/FloatButton.d.ts +34 -0
  33. package/dist/components/Footer.d.ts +16 -0
  34. package/dist/components/Form.d.ts +66 -0
  35. package/dist/components/Grid.d.ts +26 -0
  36. package/dist/components/Hero.d.ts +9 -0
  37. package/dist/components/Image.d.ts +14 -0
  38. package/dist/components/Indicator.d.ts +7 -0
  39. package/dist/components/Input.d.ts +14 -0
  40. package/dist/components/InputNumber.d.ts +19 -0
  41. package/dist/components/Join.d.ts +6 -0
  42. package/dist/components/Label.d.ts +15 -0
  43. package/dist/components/Layout.d.ts +59 -0
  44. package/dist/components/List.d.ts +13 -0
  45. package/dist/components/Loading.d.ts +9 -0
  46. package/dist/components/Masonry.d.ts +15 -0
  47. package/dist/components/Mention.d.ts +30 -0
  48. package/dist/components/Menu.d.ts +45 -0
  49. package/dist/components/Modal.d.ts +42 -0
  50. package/dist/components/Navbar.d.ts +8 -0
  51. package/dist/components/Notification.d.ts +43 -0
  52. package/dist/components/OTPInput.d.ts +32 -0
  53. package/dist/components/PageLayout.d.ts +9 -0
  54. package/dist/components/Pagination.d.ts +18 -0
  55. package/dist/components/Phone.d.ts +8 -0
  56. package/dist/components/Popconfirm.d.ts +17 -0
  57. package/dist/components/Popover.d.ts +15 -0
  58. package/dist/components/Progress.d.ts +5 -0
  59. package/dist/components/QRCode.d.ts +19 -0
  60. package/dist/components/RadialProgress.d.ts +10 -0
  61. package/dist/components/Radio.d.ts +20 -0
  62. package/dist/components/Range.d.ts +16 -0
  63. package/dist/components/Rating.d.ts +22 -0
  64. package/dist/components/Responsive.d.ts +18 -0
  65. package/dist/components/Result.d.ts +12 -0
  66. package/dist/components/Select.d.ts +10 -0
  67. package/dist/components/Skeleton.d.ts +9 -0
  68. package/dist/components/Space.d.ts +10 -0
  69. package/dist/components/Splitter.d.ts +27 -0
  70. package/dist/components/Stack.d.ts +10 -0
  71. package/dist/components/Stat.d.ts +18 -0
  72. package/dist/components/Steps.d.ts +16 -0
  73. package/dist/components/Table.d.ts +51 -0
  74. package/dist/components/Tabs.d.ts +21 -0
  75. package/dist/components/Tag.d.ts +18 -0
  76. package/dist/components/Textarea.d.ts +9 -0
  77. package/dist/components/ThemeController.d.ts +20 -0
  78. package/dist/components/TimePicker.d.ts +12 -0
  79. package/dist/components/Timeline.d.ts +24 -0
  80. package/dist/components/Toggle.d.ts +7 -0
  81. package/dist/components/Tooltip.d.ts +9 -0
  82. package/dist/components/Transfer.d.ts +22 -0
  83. package/dist/components/Tree.d.ts +40 -0
  84. package/dist/components/TreeSelect.d.ts +20 -0
  85. package/dist/components/Typography.d.ts +53 -0
  86. package/dist/components/Upload.d.ts +38 -0
  87. package/dist/components/Window.d.ts +7 -0
  88. package/dist/hooks/useBreakpoint.d.ts +10 -0
  89. package/dist/index.d.ts +172 -0
  90. package/dist/index.js +182 -0
  91. package/dist/index.js.map +1 -0
  92. package/dist/index10.js +33 -0
  93. package/dist/index10.js.map +1 -0
  94. package/dist/index100.js +24 -0
  95. package/dist/index100.js.map +1 -0
  96. package/dist/index101.js +27 -0
  97. package/dist/index101.js.map +1 -0
  98. package/dist/index102.js +23 -0
  99. package/dist/index102.js.map +1 -0
  100. package/dist/index103.js +103 -0
  101. package/dist/index103.js.map +1 -0
  102. package/dist/index104.js +363 -0
  103. package/dist/index104.js.map +1 -0
  104. package/dist/index105.js +28 -0
  105. package/dist/index105.js.map +1 -0
  106. package/dist/index106.js +76 -0
  107. package/dist/index106.js.map +1 -0
  108. package/dist/index107.js +19 -0
  109. package/dist/index107.js.map +1 -0
  110. package/dist/index108.js +69 -0
  111. package/dist/index108.js.map +1 -0
  112. package/dist/index109.js +147 -0
  113. package/dist/index109.js.map +1 -0
  114. package/dist/index11.js +268 -0
  115. package/dist/index11.js.map +1 -0
  116. package/dist/index110.js +5 -0
  117. package/dist/index110.js.map +1 -0
  118. package/dist/index111.js +59 -0
  119. package/dist/index111.js.map +1 -0
  120. package/dist/index112.js +5 -0
  121. package/dist/index112.js.map +1 -0
  122. package/dist/index113.js +5 -0
  123. package/dist/index113.js.map +1 -0
  124. package/dist/index114.js +5 -0
  125. package/dist/index114.js.map +1 -0
  126. package/dist/index115.js +5 -0
  127. package/dist/index115.js.map +1 -0
  128. package/dist/index116.js +5 -0
  129. package/dist/index116.js.map +1 -0
  130. package/dist/index117.js +5 -0
  131. package/dist/index117.js.map +1 -0
  132. package/dist/index118.js +5 -0
  133. package/dist/index118.js.map +1 -0
  134. package/dist/index119.js +5 -0
  135. package/dist/index119.js.map +1 -0
  136. package/dist/index12.js +98 -0
  137. package/dist/index12.js.map +1 -0
  138. package/dist/index120.js +35 -0
  139. package/dist/index120.js.map +1 -0
  140. package/dist/index121.js +5 -0
  141. package/dist/index121.js.map +1 -0
  142. package/dist/index122.js +11 -0
  143. package/dist/index122.js.map +1 -0
  144. package/dist/index123.js +5 -0
  145. package/dist/index123.js.map +1 -0
  146. package/dist/index124.js +5 -0
  147. package/dist/index124.js.map +1 -0
  148. package/dist/index125.js +24 -0
  149. package/dist/index125.js.map +1 -0
  150. package/dist/index126.js +5 -0
  151. package/dist/index126.js.map +1 -0
  152. package/dist/index127.js +27 -0
  153. package/dist/index127.js.map +1 -0
  154. package/dist/index128.js +74 -0
  155. package/dist/index128.js.map +1 -0
  156. package/dist/index129.js +24 -0
  157. package/dist/index129.js.map +1 -0
  158. package/dist/index13.js +161 -0
  159. package/dist/index13.js.map +1 -0
  160. package/dist/index130.js +37 -0
  161. package/dist/index130.js.map +1 -0
  162. package/dist/index131.js +73 -0
  163. package/dist/index131.js.map +1 -0
  164. package/dist/index132.js +5 -0
  165. package/dist/index132.js.map +1 -0
  166. package/dist/index133.js +25 -0
  167. package/dist/index133.js.map +1 -0
  168. package/dist/index134.js +5 -0
  169. package/dist/index134.js.map +1 -0
  170. package/dist/index135.js +5 -0
  171. package/dist/index135.js.map +1 -0
  172. package/dist/index136.js +5 -0
  173. package/dist/index136.js.map +1 -0
  174. package/dist/index137.js +5 -0
  175. package/dist/index137.js.map +1 -0
  176. package/dist/index138.js +7 -0
  177. package/dist/index138.js.map +1 -0
  178. package/dist/index14.js +153 -0
  179. package/dist/index14.js.map +1 -0
  180. package/dist/index15.js +8 -0
  181. package/dist/index15.js.map +1 -0
  182. package/dist/index16.js +74 -0
  183. package/dist/index16.js.map +1 -0
  184. package/dist/index17.js +20 -0
  185. package/dist/index17.js.map +1 -0
  186. package/dist/index18.js +101 -0
  187. package/dist/index18.js.map +1 -0
  188. package/dist/index19.js +117 -0
  189. package/dist/index19.js.map +1 -0
  190. package/dist/index2.js +50 -0
  191. package/dist/index2.js.map +1 -0
  192. package/dist/index20.js +187 -0
  193. package/dist/index20.js.map +1 -0
  194. package/dist/index21.js +113 -0
  195. package/dist/index21.js.map +1 -0
  196. package/dist/index22.js +35 -0
  197. package/dist/index22.js.map +1 -0
  198. package/dist/index23.js +44 -0
  199. package/dist/index23.js.map +1 -0
  200. package/dist/index24.js +15 -0
  201. package/dist/index24.js.map +1 -0
  202. package/dist/index25.js +36 -0
  203. package/dist/index25.js.map +1 -0
  204. package/dist/index26.js +66 -0
  205. package/dist/index26.js.map +1 -0
  206. package/dist/index27.js +83 -0
  207. package/dist/index27.js.map +1 -0
  208. package/dist/index28.js +21 -0
  209. package/dist/index28.js.map +1 -0
  210. package/dist/index29.js +164 -0
  211. package/dist/index29.js.map +1 -0
  212. package/dist/index3.js +31 -0
  213. package/dist/index3.js.map +1 -0
  214. package/dist/index30.js +1085 -0
  215. package/dist/index30.js.map +1 -0
  216. package/dist/index31.js +21 -0
  217. package/dist/index31.js.map +1 -0
  218. package/dist/index32.js +125 -0
  219. package/dist/index32.js.map +1 -0
  220. package/dist/index33.js +43 -0
  221. package/dist/index33.js.map +1 -0
  222. package/dist/index34.js +194 -0
  223. package/dist/index34.js.map +1 -0
  224. package/dist/index35.js +100 -0
  225. package/dist/index35.js.map +1 -0
  226. package/dist/index36.js +165 -0
  227. package/dist/index36.js.map +1 -0
  228. package/dist/index37.js +149 -0
  229. package/dist/index37.js.map +1 -0
  230. package/dist/index38.js +18 -0
  231. package/dist/index38.js.map +1 -0
  232. package/dist/index39.js +24 -0
  233. package/dist/index39.js.map +1 -0
  234. package/dist/index4.js +104 -0
  235. package/dist/index4.js.map +1 -0
  236. package/dist/index40.js +122 -0
  237. package/dist/index40.js.map +1 -0
  238. package/dist/index41.js +16 -0
  239. package/dist/index41.js.map +1 -0
  240. package/dist/index42.js +38 -0
  241. package/dist/index42.js.map +1 -0
  242. package/dist/index43.js +119 -0
  243. package/dist/index43.js.map +1 -0
  244. package/dist/index44.js +179 -0
  245. package/dist/index44.js.map +1 -0
  246. package/dist/index45.js +150 -0
  247. package/dist/index45.js.map +1 -0
  248. package/dist/index46.js +15 -0
  249. package/dist/index46.js.map +1 -0
  250. package/dist/index47.js +25 -0
  251. package/dist/index47.js.map +1 -0
  252. package/dist/index48.js +17 -0
  253. package/dist/index48.js.map +1 -0
  254. package/dist/index49.js +10 -0
  255. package/dist/index49.js.map +1 -0
  256. package/dist/index5.js +64 -0
  257. package/dist/index5.js.map +1 -0
  258. package/dist/index50.js +269 -0
  259. package/dist/index50.js.map +1 -0
  260. package/dist/index51.js +20 -0
  261. package/dist/index51.js.map +1 -0
  262. package/dist/index52.js +125 -0
  263. package/dist/index52.js.map +1 -0
  264. package/dist/index53.js +113 -0
  265. package/dist/index53.js.map +1 -0
  266. package/dist/index54.js +173 -0
  267. package/dist/index54.js.map +1 -0
  268. package/dist/index55.js +35 -0
  269. package/dist/index55.js.map +1 -0
  270. package/dist/index56.js +125 -0
  271. package/dist/index56.js.map +1 -0
  272. package/dist/index57.js +89 -0
  273. package/dist/index57.js.map +1 -0
  274. package/dist/index58.js +23 -0
  275. package/dist/index58.js.map +1 -0
  276. package/dist/index59.js +77 -0
  277. package/dist/index59.js.map +1 -0
  278. package/dist/index6.js +133 -0
  279. package/dist/index6.js.map +1 -0
  280. package/dist/index60.js +60 -0
  281. package/dist/index60.js.map +1 -0
  282. package/dist/index61.js +48 -0
  283. package/dist/index61.js.map +1 -0
  284. package/dist/index62.js +55 -0
  285. package/dist/index62.js.map +1 -0
  286. package/dist/index63.js +65 -0
  287. package/dist/index63.js.map +1 -0
  288. package/dist/index64.js +110 -0
  289. package/dist/index64.js.map +1 -0
  290. package/dist/index65.js +44 -0
  291. package/dist/index65.js.map +1 -0
  292. package/dist/index66.js +24 -0
  293. package/dist/index66.js.map +1 -0
  294. package/dist/index67.js +49 -0
  295. package/dist/index67.js.map +1 -0
  296. package/dist/index68.js +137 -0
  297. package/dist/index68.js.map +1 -0
  298. package/dist/index69.js +55 -0
  299. package/dist/index69.js.map +1 -0
  300. package/dist/index7.js +14 -0
  301. package/dist/index7.js.map +1 -0
  302. package/dist/index70.js +25 -0
  303. package/dist/index70.js.map +1 -0
  304. package/dist/index71.js +25 -0
  305. package/dist/index71.js.map +1 -0
  306. package/dist/index72.js +332 -0
  307. package/dist/index72.js.map +1 -0
  308. package/dist/index73.js +59 -0
  309. package/dist/index73.js.map +1 -0
  310. package/dist/index74.js +43 -0
  311. package/dist/index74.js.map +1 -0
  312. package/dist/index75.js +98 -0
  313. package/dist/index75.js.map +1 -0
  314. package/dist/index76.js +133 -0
  315. package/dist/index76.js.map +1 -0
  316. package/dist/index77.js +164 -0
  317. package/dist/index77.js.map +1 -0
  318. package/dist/index78.js +68 -0
  319. package/dist/index78.js.map +1 -0
  320. package/dist/index79.js +38 -0
  321. package/dist/index79.js.map +1 -0
  322. package/dist/index8.js +73 -0
  323. package/dist/index8.js.map +1 -0
  324. package/dist/index80.js +37 -0
  325. package/dist/index80.js.map +1 -0
  326. package/dist/index81.js +213 -0
  327. package/dist/index81.js.map +1 -0
  328. package/dist/index82.js +216 -0
  329. package/dist/index82.js.map +1 -0
  330. package/dist/index83.js +298 -0
  331. package/dist/index83.js.map +1 -0
  332. package/dist/index84.js +181 -0
  333. package/dist/index84.js.map +1 -0
  334. package/dist/index85.js +261 -0
  335. package/dist/index85.js.map +1 -0
  336. package/dist/index86.js +17 -0
  337. package/dist/index86.js.map +1 -0
  338. package/dist/index87.js +36 -0
  339. package/dist/index87.js.map +1 -0
  340. package/dist/index88.js +10796 -0
  341. package/dist/index88.js.map +1 -0
  342. package/dist/index89.js +8 -0
  343. package/dist/index89.js.map +1 -0
  344. package/dist/index9.js +95 -0
  345. package/dist/index9.js.map +1 -0
  346. package/dist/index90.js +45 -0
  347. package/dist/index90.js.map +1 -0
  348. package/dist/index91.js +5 -0
  349. package/dist/index91.js.map +1 -0
  350. package/dist/index92.js +10 -0
  351. package/dist/index92.js.map +1 -0
  352. package/dist/index93.js +155 -0
  353. package/dist/index93.js.map +1 -0
  354. package/dist/index94.js +33 -0
  355. package/dist/index94.js.map +1 -0
  356. package/dist/index95.js +33 -0
  357. package/dist/index95.js.map +1 -0
  358. package/dist/index96.js +5 -0
  359. package/dist/index96.js.map +1 -0
  360. package/dist/index97.js +75 -0
  361. package/dist/index97.js.map +1 -0
  362. package/dist/index98.js +42 -0
  363. package/dist/index98.js.map +1 -0
  364. package/dist/index99.js +29 -0
  365. package/dist/index99.js.map +1 -0
  366. package/package.json +71 -0
@@ -0,0 +1,164 @@
1
+ import { jsx as n, jsxs as I } from "react/jsx-runtime";
2
+ import { createContext as Z, useId as C, isValidElement as k, cloneElement as T, useContext as _ } from "react";
3
+ import { useForm as q, useFieldArray as B, Controller as D } from "react-hook-form";
4
+ const j = Z(void 0), $ = {
5
+ email: {
6
+ value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,
7
+ message: "Please enter a valid email address"
8
+ },
9
+ url: {
10
+ value: /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$/,
11
+ message: "Please enter a valid URL"
12
+ },
13
+ number: {
14
+ value: /^-?\d+(\.\d+)?$/,
15
+ message: "Please enter a valid number"
16
+ }
17
+ };
18
+ function S() {
19
+ const t = _(j);
20
+ if (!t)
21
+ throw new Error("Form compound components must be used within Form");
22
+ return t;
23
+ }
24
+ function H({
25
+ form: t,
26
+ onFinish: a,
27
+ initialValues: r,
28
+ layout: i = "vertical",
29
+ size: c,
30
+ children: x,
31
+ className: m = "",
32
+ noValidate: h = !0,
33
+ ...l
34
+ }) {
35
+ const p = q({
36
+ defaultValues: r
37
+ }), d = t || p, v = (F) => {
38
+ F.preventDefault(), a && d.handleSubmit(a)(F);
39
+ };
40
+ return /* @__PURE__ */ n(j.Provider, { value: { form: d, layout: i, size: c }, children: /* @__PURE__ */ n("form", { onSubmit: v, className: m, noValidate: h, ...l, children: x }) });
41
+ }
42
+ function U({
43
+ name: t,
44
+ label: a,
45
+ help: r,
46
+ required: i = !1,
47
+ rules: c,
48
+ valuePropName: x = "value",
49
+ inline: m = !1,
50
+ className: h = "",
51
+ children: l
52
+ }) {
53
+ const { form: p, size: d, listName: v, layout: F } = S(), z = C(), V = C();
54
+ if (!t)
55
+ return /* @__PURE__ */ n("div", { className: `form-control ${m ? "w-auto" : "w-full"} ${h}`, children: l });
56
+ let N;
57
+ Array.isArray(t) ? N = (v ? [v, ...t] : t).join(".") : N = t;
58
+ const A = ((e) => {
59
+ const o = e.split(".");
60
+ let s = p.formState.errors;
61
+ for (const E of o) {
62
+ if (!s) break;
63
+ s = s[E];
64
+ }
65
+ return s;
66
+ })(N), b = A?.message, L = c ? Array.isArray(c) ? c : [c] : [], u = {}, P = [], w = [];
67
+ i && (u.required = "This field is required");
68
+ for (const e of L) {
69
+ if (e.required && (u.required = typeof e.required == "string" ? e.required : e.message || "This field is required"), e.type && $[e.type] && P.push({
70
+ pattern: $[e.type].value,
71
+ message: e.message || $[e.type].message
72
+ }), e.min !== void 0) {
73
+ const o = typeof e.min == "object" ? e.min.value : e.min, s = typeof e.min == "object" ? e.min.message : e.message || `Minimum length is ${o} characters`;
74
+ u.minLength = { value: o, message: s };
75
+ }
76
+ if (e.max !== void 0) {
77
+ const o = typeof e.max == "object" ? e.max.value : e.max, s = typeof e.max == "object" ? e.max.message : e.message || `Maximum length is ${o} characters`;
78
+ u.maxLength = { value: o, message: s };
79
+ }
80
+ if (e.pattern) {
81
+ const o = e.pattern instanceof RegExp ? e.pattern : e.pattern.value, s = e.pattern instanceof RegExp ? e.message || "Invalid format" : e.pattern.message;
82
+ P.push({ pattern: o, message: s });
83
+ }
84
+ e.validate && w.push(e.validate);
85
+ }
86
+ return (P.length > 0 || w.length > 0) && (u.validate = async (e) => {
87
+ if (!e && !u.required) return !0;
88
+ for (const { pattern: o, message: s } of P)
89
+ if (e && !o.test(e))
90
+ return s;
91
+ for (const o of w) {
92
+ const s = await o(e);
93
+ if (s !== !0)
94
+ return s;
95
+ }
96
+ return !0;
97
+ }), /* @__PURE__ */ n(
98
+ D,
99
+ {
100
+ name: N,
101
+ control: p.control,
102
+ rules: u,
103
+ render: ({ field: e }) => {
104
+ const { value: o, onChange: s, onBlur: E, ref: M } = e, f = {
105
+ id: z,
106
+ ref: M,
107
+ onBlur: E,
108
+ "aria-invalid": A ? !0 : void 0,
109
+ "aria-describedby": A ? V : void 0
110
+ };
111
+ x === "checked" ? (f.checked = o, f.onChange = (g) => s(g.target.checked)) : (f.value = o || "", f.onChange = (g) => {
112
+ g && g.target !== void 0 ? s(g.target.value) : s(g);
113
+ }), d && k(l) && (l.props.size || (f.size = d)), A && (f.color = "error");
114
+ const R = k(l) ? T(l, f) : l, y = F === "horizontal";
115
+ return /* @__PURE__ */ I("div", { className: `form-control ${m ? "w-auto" : "w-full"} ${h}`, children: [
116
+ /* @__PURE__ */ I("div", { className: y ? "flex items-center gap-4" : "", children: [
117
+ a && /* @__PURE__ */ n("label", { htmlFor: z, className: `label ${y ? "flex-shrink-0" : "mb-2"}`, children: /* @__PURE__ */ I("span", { className: "label-text", children: [
118
+ a,
119
+ i && /* @__PURE__ */ n("span", { className: "text-error ml-1", children: "*" })
120
+ ] }) }),
121
+ /* @__PURE__ */ n("div", { className: y ? "flex-1" : "", children: R })
122
+ ] }),
123
+ !y && !m && /* @__PURE__ */ n("div", { className: "label", children: /* @__PURE__ */ n("span", { id: V, className: "label-text-alt text-error min-h-[1.25rem]", role: b ? "alert" : void 0, children: b || r && /* @__PURE__ */ n("span", { className: "text-base-content/70", children: r }) || " " }) }),
124
+ y && (b || r) && /* @__PURE__ */ n("div", { className: "label", children: /* @__PURE__ */ n("span", { id: V, className: "label-text-alt text-error min-h-[1.25rem] ml-auto", role: b ? "alert" : void 0, children: b || r && /* @__PURE__ */ n("span", { className: "text-base-content/70", children: r }) }) })
125
+ ] });
126
+ }
127
+ }
128
+ );
129
+ }
130
+ function W({
131
+ name: t,
132
+ children: a
133
+ }) {
134
+ const { form: r, layout: i, size: c } = S(), { fields: x, append: m, remove: h, move: l } = B({
135
+ control: r.control,
136
+ name: t
137
+ }), p = x.map((d, v) => ({
138
+ ...d,
139
+ name: v
140
+ }));
141
+ return /* @__PURE__ */ n(j.Provider, { value: { form: r, layout: i, size: c, listName: t }, children: a(p, {
142
+ add: m,
143
+ remove: h,
144
+ move: l
145
+ }) });
146
+ }
147
+ function Y() {
148
+ const t = q(), a = t;
149
+ return a.setFieldValue = t.setValue, a.getFieldValue = (r) => t.getValues(r), a.getFieldsValue = t.getValues, a.setFieldsValue = (r) => {
150
+ Object.keys(r).forEach((i) => {
151
+ t.setValue(i, r[i]);
152
+ });
153
+ }, a.validateFields = t.trigger, a.resetFields = t.reset, a.isFieldTouched = (r) => !!t.formState.touchedFields[r], a.getFieldError = (r) => t.formState.errors[r]?.message, a;
154
+ }
155
+ const Q = Object.assign(H, {
156
+ Item: U,
157
+ List: W,
158
+ useForm: Y
159
+ });
160
+ export {
161
+ Q as Form,
162
+ Y as useFormInstance
163
+ };
164
+ //# sourceMappingURL=index29.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index29.js","sources":["../src/components/Form.tsx"],"sourcesContent":["import React, { createContext, useContext, cloneElement, isValidElement, useId } from 'react'\nimport { useForm, UseFormReturn, FieldValues, SubmitHandler, UseFormProps, Controller, useFieldArray, FieldArrayPath, FieldArray } from 'react-hook-form'\n\ninterface FormContextValue {\n form: UseFormReturn<any>\n layout?: 'vertical' | 'horizontal' | 'inline'\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n listName?: string\n}\n\nconst FormContext = createContext<FormContextValue | undefined>(undefined)\n\n// Built-in type validators\nconst TYPE_VALIDATORS = {\n email: {\n value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i,\n message: 'Please enter a valid email address',\n },\n url: {\n value: /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$/,\n message: 'Please enter a valid URL',\n },\n number: {\n value: /^-?\\d+(\\.\\d+)?$/,\n message: 'Please enter a valid number',\n },\n}\n\nexport interface FormProps<TFieldValues extends FieldValues = FieldValues>\n extends Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> {\n form?: UseFormReturn<TFieldValues>\n onFinish?: SubmitHandler<TFieldValues>\n initialValues?: UseFormProps<TFieldValues>['defaultValues']\n layout?: 'vertical' | 'horizontal' | 'inline'\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n children: React.ReactNode\n}\n\nexport interface FormRule {\n required?: boolean | string\n type?: 'email' | 'url' | 'number'\n min?: number | { value: number; message: string }\n max?: number | { value: number; message: string }\n pattern?: RegExp | { value: RegExp; message: string }\n message?: string\n validate?: (value: any) => boolean | string | Promise<boolean | string>\n}\n\nexport interface FormItemProps {\n name?: string | string[]\n label?: string\n help?: string\n required?: boolean\n rules?: FormRule | FormRule[]\n valuePropName?: string\n inline?: boolean\n className?: string\n children: React.ReactElement\n}\n\nexport interface FormListProps<TFieldValues extends FieldValues = FieldValues> {\n name: FieldArrayPath<TFieldValues>\n children: (\n fields: FieldArray<TFieldValues>[],\n operations: {\n add: (value?: any) => void\n remove: (index: number) => void\n move: (from: number, to: number) => void\n }\n ) => React.ReactNode\n}\n\nfunction useFormContext() {\n const context = useContext(FormContext)\n if (!context) {\n throw new Error('Form compound components must be used within Form')\n }\n return context\n}\n\nfunction FormRoot<TFieldValues extends FieldValues = FieldValues>({\n form: externalForm,\n onFinish,\n initialValues,\n layout = 'vertical',\n size,\n children,\n className = '',\n noValidate = true,\n ...props\n}: FormProps<TFieldValues>) {\n const internalForm = useForm<TFieldValues>({\n defaultValues: initialValues,\n })\n\n const form = externalForm || internalForm\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n if (onFinish) {\n form.handleSubmit(onFinish)(e)\n }\n }\n\n return (\n <FormContext.Provider value={{ form, layout, size }}>\n <form onSubmit={handleSubmit} className={className} noValidate={noValidate} {...props}>\n {children}\n </form>\n </FormContext.Provider>\n )\n}\n\nfunction FormItem({\n name,\n label,\n help,\n required = false,\n rules,\n valuePropName = 'value',\n inline = false,\n className = '',\n children,\n}: FormItemProps) {\n const { form, size, listName, layout } = useFormContext()\n const inputId = useId()\n const errorId = useId()\n\n if (!name) {\n // Render without form control if no name provided\n return <div className={`form-control ${inline ? 'w-auto' : 'w-full'} ${className}`}>{children}</div>\n }\n\n // Handle nested field names (for Form.List)\n let fieldName: string\n if (Array.isArray(name)) {\n // If we're inside a Form.List, prepend the list name\n const fullPath = listName ? [listName, ...name] : name\n fieldName = fullPath.join('.')\n } else {\n fieldName = name\n }\n\n // Get error by traversing the error object path\n const getErrorByPath = (path: string) => {\n const keys = path.split('.')\n let error: any = form.formState.errors\n for (const key of keys) {\n if (!error) break\n error = error[key]\n }\n return error\n }\n\n const error = getErrorByPath(fieldName)\n const errorMessage = error?.message as string | undefined\n\n // Normalize rules to array\n const rulesArray: FormRule[] = rules\n ? Array.isArray(rules) ? rules : [rules]\n : []\n\n // Build validation rules\n const validationRules: any = {}\n const patternValidators: Array<{ pattern: RegExp; message: string }> = []\n const customValidators: Array<(value: any) => boolean | string | Promise<boolean | string>> = []\n\n // Handle top-level required prop\n if (required) {\n validationRules.required = 'This field is required'\n }\n\n // Process each rule\n for (const rule of rulesArray) {\n // Required\n if (rule.required) {\n validationRules.required = typeof rule.required === 'string'\n ? rule.required\n : rule.message || 'This field is required'\n }\n\n // Type validator\n if (rule.type && TYPE_VALIDATORS[rule.type]) {\n patternValidators.push({\n pattern: TYPE_VALIDATORS[rule.type].value,\n message: rule.message || TYPE_VALIDATORS[rule.type].message,\n })\n }\n\n // Min length\n if (rule.min !== undefined) {\n const minValue = typeof rule.min === 'object' ? rule.min.value : rule.min\n const minMessage = typeof rule.min === 'object'\n ? rule.min.message\n : rule.message || `Minimum length is ${minValue} characters`\n validationRules.minLength = { value: minValue, message: minMessage }\n }\n\n // Max length\n if (rule.max !== undefined) {\n const maxValue = typeof rule.max === 'object' ? rule.max.value : rule.max\n const maxMessage = typeof rule.max === 'object'\n ? rule.max.message\n : rule.message || `Maximum length is ${maxValue} characters`\n validationRules.maxLength = { value: maxValue, message: maxMessage }\n }\n\n // Pattern - collect all patterns\n if (rule.pattern) {\n const patternValue = rule.pattern instanceof RegExp ? rule.pattern : rule.pattern.value\n const patternMessage = rule.pattern instanceof RegExp\n ? rule.message || 'Invalid format'\n : rule.pattern.message\n patternValidators.push({ pattern: patternValue, message: patternMessage })\n }\n\n // Custom validator\n if (rule.validate) {\n customValidators.push(rule.validate)\n }\n }\n\n // Combine all pattern and custom validators into a single validate function\n if (patternValidators.length > 0 || customValidators.length > 0) {\n validationRules.validate = async (value: any) => {\n // Skip validation if empty (required rule handles that)\n if (!value && !validationRules.required) return true\n\n // Check all patterns\n for (const { pattern, message } of patternValidators) {\n if (value && !pattern.test(value)) {\n return message\n }\n }\n\n // Run all custom validators\n for (const validator of customValidators) {\n const result = await validator(value)\n if (result !== true) {\n return result\n }\n }\n\n return true\n }\n }\n\n return (\n <Controller\n name={fieldName}\n control={form.control}\n rules={validationRules}\n render={({ field }) => {\n const { value, onChange, onBlur, ref } = field\n\n // Clone the child element and inject form control props\n const childProps: any = {\n id: inputId,\n ref,\n onBlur,\n 'aria-invalid': error ? true : undefined,\n 'aria-describedby': error ? errorId : undefined,\n }\n\n // Handle different value prop names (e.g., 'checked' for checkboxes)\n if (valuePropName === 'checked') {\n childProps.checked = value\n childProps.onChange = (e: React.ChangeEvent<HTMLInputElement>) => onChange(e.target.checked)\n } else {\n childProps.value = value || ''\n childProps.onChange = (eventOrValue: any) => {\n // Handle components that pass value directly (e.g., Range, Rating)\n // vs components that pass event object (e.g., Input, Select)\n if (eventOrValue && eventOrValue.target !== undefined) {\n onChange(eventOrValue.target.value)\n } else {\n onChange(eventOrValue)\n }\n }\n }\n\n // Apply size if specified at form level\n if (size && isValidElement(children)) {\n const existingProps = children.props as any\n if (!existingProps.size) {\n childProps.size = size\n }\n }\n\n // Apply error styling\n if (error) {\n childProps.color = 'error'\n }\n\n const enhancedChild = isValidElement(children)\n ? cloneElement(children as React.ReactElement<any>, childProps)\n : children\n\n const isHorizontal = layout === 'horizontal'\n\n return (\n <div className={`form-control ${inline ? 'w-auto' : 'w-full'} ${className}`}>\n <div className={isHorizontal ? 'flex items-center gap-4' : ''}>\n {label && (\n <label htmlFor={inputId} className={`label ${isHorizontal ? 'flex-shrink-0' : 'mb-2'}`}>\n <span className=\"label-text\">\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </span>\n </label>\n )}\n <div className={isHorizontal ? 'flex-1' : ''}>\n {enhancedChild}\n </div>\n </div>\n {!isHorizontal && !inline && (\n <div className=\"label\">\n <span id={errorId} className=\"label-text-alt text-error min-h-[1.25rem]\" role={errorMessage ? 'alert' : undefined}>\n {errorMessage || (help && <span className=\"text-base-content/70\">{help}</span>) || '\\u00A0'}\n </span>\n </div>\n )}\n {isHorizontal && (errorMessage || help) && (\n <div className=\"label\">\n <span id={errorId} className=\"label-text-alt text-error min-h-[1.25rem] ml-auto\" role={errorMessage ? 'alert' : undefined}>\n {errorMessage || (help && <span className=\"text-base-content/70\">{help}</span>)}\n </span>\n </div>\n )}\n </div>\n )\n }}\n />\n )\n}\n\nfunction FormList<TFieldValues extends FieldValues = FieldValues>({\n name,\n children,\n}: FormListProps<TFieldValues>) {\n const { form, layout, size } = useFormContext()\n\n const { fields, append, remove, move } = useFieldArray({\n control: form.control,\n name,\n })\n\n // Add name (index) to each field for proper path construction\n const fieldsWithName = fields.map((field, index) => ({\n ...field,\n name: index,\n }))\n\n return (\n <FormContext.Provider value={{ form, layout, size, listName: name as string }}>\n {children(fieldsWithName as any, {\n add: append,\n remove,\n move,\n })}\n </FormContext.Provider>\n )\n}\n\n// Enhanced hook to expose full form API\nexport function useFormInstance<TFieldValues extends FieldValues = FieldValues>() {\n const formInstance = useForm<TFieldValues>()\n\n // Add convenience methods to the instance\n const enhancedInstance = formInstance as typeof formInstance & {\n setFieldValue: typeof formInstance.setValue\n getFieldValue: (name: any) => any\n getFieldsValue: typeof formInstance.getValues\n setFieldsValue: (values: any) => void\n validateFields: typeof formInstance.trigger\n resetFields: typeof formInstance.reset\n isFieldTouched: (name: string) => boolean\n getFieldError: (name: string) => string | undefined\n }\n\n // Add the alias methods\n enhancedInstance.setFieldValue = formInstance.setValue\n enhancedInstance.getFieldValue = (name: any) => formInstance.getValues(name)\n enhancedInstance.getFieldsValue = formInstance.getValues\n enhancedInstance.setFieldsValue = (values: any) => {\n Object.keys(values).forEach((key) => {\n formInstance.setValue(key as any, values[key])\n })\n }\n enhancedInstance.validateFields = formInstance.trigger\n enhancedInstance.resetFields = formInstance.reset\n enhancedInstance.isFieldTouched = (name: string) => {\n const touched = formInstance.formState.touchedFields as any\n return !!touched[name]\n }\n enhancedInstance.getFieldError = (name: string) => {\n const errors = formInstance.formState.errors as any\n return errors[name]?.message as string | undefined\n }\n\n return enhancedInstance\n}\n\nexport const Form = Object.assign(FormRoot, {\n Item: FormItem,\n List: FormList,\n useForm: useFormInstance,\n})\n\nexport type { UseFormReturn as FormInstance }\n"],"names":["FormContext","createContext","TYPE_VALIDATORS","useFormContext","context","useContext","FormRoot","externalForm","onFinish","initialValues","layout","size","children","className","noValidate","props","internalForm","useForm","form","handleSubmit","e","jsx","FormItem","name","label","help","required","rules","valuePropName","inline","listName","inputId","useId","errorId","fieldName","error","path","keys","key","errorMessage","rulesArray","validationRules","patternValidators","customValidators","rule","minValue","minMessage","maxValue","maxMessage","patternValue","patternMessage","value","pattern","message","validator","result","Controller","field","onChange","onBlur","ref","childProps","eventOrValue","isValidElement","enhancedChild","cloneElement","isHorizontal","jsxs","FormList","fields","append","remove","move","useFieldArray","fieldsWithName","index","useFormInstance","formInstance","enhancedInstance","values","Form"],"mappings":"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"}
package/dist/index3.js ADDED
@@ -0,0 +1,31 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ const m = ({
3
+ children: r,
4
+ className: s = "",
5
+ type: e,
6
+ outline: a = !1,
7
+ dash: l = !1,
8
+ soft: t = !1,
9
+ vertical: o = !1,
10
+ ...n
11
+ }) => {
12
+ const c = [
13
+ "alert",
14
+ e && {
15
+ info: "alert-info",
16
+ success: "alert-success",
17
+ warning: "alert-warning",
18
+ error: "alert-error"
19
+ }[e],
20
+ a && "alert-outline",
21
+ l && "alert-dash",
22
+ t && "alert-soft",
23
+ o && "alert-vertical",
24
+ s
25
+ ].filter(Boolean).join(" ");
26
+ return /* @__PURE__ */ i("div", { role: "alert", className: c, ...n, children: r });
27
+ };
28
+ export {
29
+ m as Alert
30
+ };
31
+ //# sourceMappingURL=index3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index3.js","sources":["../src/components/Alert.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n type?: 'info' | 'success' | 'warning' | 'error'\n outline?: boolean\n dash?: boolean\n soft?: boolean\n vertical?: boolean\n}\n\nexport const Alert: React.FC<AlertProps> = ({\n children,\n className = '',\n type,\n outline = false,\n dash = false,\n soft = false,\n vertical = false,\n ...rest\n}) => {\n const typeClasses = {\n info: 'alert-info',\n success: 'alert-success',\n warning: 'alert-warning',\n error: 'alert-error',\n }\n\n const classes = [\n 'alert',\n type && typeClasses[type],\n outline && 'alert-outline',\n dash && 'alert-dash',\n soft && 'alert-soft',\n vertical && 'alert-vertical',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div role=\"alert\" className={classes} {...rest}>\n {children}\n </div>\n )\n}\n"],"names":["Alert","children","className","type","outline","dash","soft","vertical","rest","classes","jsx"],"mappings":";AAWO,MAAMA,IAA8B,CAAC;AAAA,EAC1C,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,MAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,GAAGC;AACL,MAAM;AAQJ,QAAMC,IAAU;AAAA,IACd;AAAA,IACAN,KATkB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA,EAKaA,CAAI;AAAA,IACxBC,KAAW;AAAA,IACXC,KAAQ;AAAA,IACRC,KAAQ;AAAA,IACRC,KAAY;AAAA,IACZL;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAQ,EAAC,SAAI,MAAK,SAAQ,WAAWD,GAAU,GAAGD,GACvC,UAAAP,GACH;AAEJ;"}