@tempots/beatui 0.82.1 → 0.83.3

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 (462) hide show
  1. package/dist/ar-CBrjAlIY.cjs +1 -0
  2. package/dist/ar-DjMvIww5.js +175 -0
  3. package/dist/{ar-NCCPhOpI.js → ar-DwDxAANU.js} +16 -1
  4. package/dist/ar-kZBzg02I.cjs +1 -0
  5. package/dist/auth/index.cjs.js +1 -1
  6. package/dist/auth/index.es.js +33 -32
  7. package/dist/{auth-divider-Wr-S16kF.js → auth-divider-C3_CgC0l.js} +589 -569
  8. package/dist/auth-divider-C4WTL71M.cjs +1 -0
  9. package/dist/beatui.css +5678 -1438
  10. package/dist/beatui.tailwind.css +5662 -1422
  11. package/dist/better-auth/index.cjs.js +1 -1
  12. package/dist/better-auth/index.es.js +18 -31
  13. package/dist/{colors-B2yrgHSW.cjs → colors-BI0YhONJ.cjs} +1 -1
  14. package/dist/{colors-DPo9GEJR.js → colors-BmLYKmoH.js} +38 -30
  15. package/dist/de-B03SM9eF.cjs +1 -0
  16. package/dist/{de-BVK2MkCk.js → de-CSGSC0xX.js} +18 -3
  17. package/dist/de-CrBw41po.cjs +1 -0
  18. package/dist/{de-f2xcEb34.js → de-wChFYqM4.js} +79 -5
  19. package/dist/deep-merge-CmQoIYPC.js +1689 -0
  20. package/dist/deep-merge-UghuPcyW.cjs +1 -0
  21. package/dist/{duration-input-B9UNmUCh.cjs → duration-input-BJzKgI15.cjs} +1 -1
  22. package/dist/{duration-input-DqcJbxKD.js → duration-input-DaB6s0rL.js} +4 -4
  23. package/dist/editor-toolbar-group-BslfdazC.js +32 -0
  24. package/dist/editor-toolbar-group-_V1rDM-1.cjs +1 -0
  25. package/dist/{es-BxBeTRCv.cjs → es-BRa0hV-7.cjs} +1 -1
  26. package/dist/es-Ca5xT3NE.cjs +1 -0
  27. package/dist/es-CmPF3IGl.js +175 -0
  28. package/dist/{es-BQS8PL9j.js → es-dR46FTMF.js} +16 -1
  29. package/dist/{fa-DxPseW3g.cjs → fa-BxCSKn9j.cjs} +1 -1
  30. package/dist/fa-D696e75R.js +175 -0
  31. package/dist/fa-DhZJYuC6.cjs +1 -0
  32. package/dist/{fa-T-tkJSJr.js → fa-FsHBFjdY.js} +16 -1
  33. package/dist/fr-1nSKSIlw.cjs +1 -0
  34. package/dist/{fr-yOW_68YY.js → fr-B0jeX1Hx.js} +83 -9
  35. package/dist/{fr-CSRRhyCG.js → fr-Di6BT9_V.js} +18 -3
  36. package/dist/fr-Dq6RAY9s.cjs +1 -0
  37. package/dist/he-BBX1h9uD.cjs +1 -0
  38. package/dist/{he-Bxdc4M08.js → he-CXujw1Lw.js} +16 -1
  39. package/dist/he-DhcurPt5.cjs +1 -0
  40. package/dist/he-SgAsIYJA.js +175 -0
  41. package/dist/{hi-CJeFvTBe.js → hi-Bvh4d9bO.js} +16 -1
  42. package/dist/hi-Cd0YQZTU.cjs +1 -0
  43. package/dist/hi-CxsIxbfM.cjs +1 -0
  44. package/dist/hi-s9oiIihq.js +175 -0
  45. package/dist/{index-Bt7FYl80.cjs → index-Bm43lZqE.cjs} +2 -2
  46. package/dist/{index-05UbKOYe.cjs → index-C2_iX1um.cjs} +1 -1
  47. package/dist/{index-C2Lq1m45.js → index-C32iUFIr.js} +5 -5
  48. package/dist/{index-lYhXnu6I.js → index-CEqc0H3v.js} +1 -1
  49. package/dist/index-DH37GTQj.cjs +1 -0
  50. package/dist/{index-DklKfzD4.js → index-Di1_W_7Q.js} +351 -361
  51. package/dist/index.cjs.js +4 -4
  52. package/dist/index.es.js +6220 -3084
  53. package/dist/input-container-CSi72GI1.cjs +1 -0
  54. package/dist/{input-container-DiCjOzR2.js → input-container-Nx0gMAzS.js} +86 -75
  55. package/dist/it-ByIEk5Cq.cjs +1 -0
  56. package/dist/it-D_IcaYxp.cjs +1 -0
  57. package/dist/{it-6e6X-4BB.js → it-Dc4IMciD.js} +80 -6
  58. package/dist/{it-Zmp0BhIj.js → it-EWhykhHv.js} +18 -3
  59. package/dist/ja-CMGqpPo7.cjs +1 -0
  60. package/dist/{ja-BxNuNo2H.js → ja-D2t2g5xj.js} +85 -11
  61. package/dist/ja-DV6Fpp18.cjs +1 -0
  62. package/dist/{ja-DWjoA-hQ.js → ja-YZ0P5woj.js} +16 -1
  63. package/dist/json-schema/index.cjs.js +1 -1
  64. package/dist/json-schema/index.es.js +191 -185
  65. package/dist/json-schema-display/index.cjs.js +1 -1
  66. package/dist/json-schema-display/index.es.js +1 -1
  67. package/dist/json-structure/index.cjs.js +1 -1
  68. package/dist/json-structure/index.es.js +679 -660
  69. package/dist/ko-BPl5rP97.cjs +1 -0
  70. package/dist/ko-BRylA5JZ.js +175 -0
  71. package/dist/ko-DR1f0as8.cjs +1 -0
  72. package/dist/{ko-BOlI-33h.js → ko-U7BSUAxZ.js} +16 -1
  73. package/dist/lexical/index.cjs.js +31 -31
  74. package/dist/lexical/index.es.js +5248 -5221
  75. package/dist/lexical.css +5 -7
  76. package/dist/menu-CX72LaZ3.cjs +1 -0
  77. package/dist/menu-D_slbwl8.js +374 -0
  78. package/dist/{modal-v3u2Fpnd.js → modal-DaI1jH-X.js} +4 -4
  79. package/dist/{modal-I5srcntN.cjs → modal-kyZfvVZb.cjs} +1 -1
  80. package/dist/nl-BSfaHFt0.cjs +1 -0
  81. package/dist/{nl-Dr-l6zUy.cjs → nl-CQF0N7Mc.cjs} +1 -1
  82. package/dist/{nl-kQNcAdY1.js → nl-CqAxoB4J.js} +18 -3
  83. package/dist/nl-Dh7LUWAn.js +176 -0
  84. package/dist/{notice-CLDdy1MW.cjs → notice-Bc1L4Zpr.cjs} +1 -1
  85. package/dist/{notice-BuZvdvZh.js → notice-Dz4nX57_.js} +4 -4
  86. package/dist/{oneof-branch-detection-Dt8ss9lc.js → oneof-branch-detection-BED_n2MT.js} +522 -519
  87. package/dist/{oneof-branch-detection-DsM1K5xc.cjs → oneof-branch-detection-Vov_e3kI.cjs} +4 -4
  88. package/dist/{pl-CKyPFvss.js → pl-C-weXGCB.js} +16 -1
  89. package/dist/pl-D-O4sCnr.cjs +1 -0
  90. package/dist/{pl-Bs4nLJ__.js → pl-XEG-p1Q9.js} +77 -3
  91. package/dist/{pl-BK0i_yvq.cjs → pl-y_w3DWF3.cjs} +1 -1
  92. package/dist/prosemirror/index.cjs.js +1 -1
  93. package/dist/prosemirror/index.es.js +1 -1
  94. package/dist/{pt-DBmUhaNI.js → pt-BjNGOoZH.js} +18 -3
  95. package/dist/pt-DYsDA2sZ.js +175 -0
  96. package/dist/pt-DqaZWmbG.cjs +1 -0
  97. package/dist/pt-chEEYLlt.cjs +1 -0
  98. package/dist/ru-B46hVpFF.cjs +1 -0
  99. package/dist/{ru-Bi1_DEKM.js → ru-BTKBykp-.js} +86 -12
  100. package/dist/{ru-CsJ_yT-7.js → ru-CFmeZBXK.js} +16 -1
  101. package/dist/ru-CISMzCHR.cjs +1 -0
  102. package/dist/{styles-url-B2dzXrYt.cjs → styles-url-CVCcF0ra.cjs} +1 -1
  103. package/dist/{styles-url-Cw_mxshe.js → styles-url-DUdp56Ts.js} +1 -1
  104. package/dist/tailwind/index.cjs.js +1 -1
  105. package/dist/tailwind/index.es.js +3 -3
  106. package/dist/tailwind/preset.cjs.js +1 -1
  107. package/dist/tailwind/preset.es.js +74 -4
  108. package/dist/tailwind/vite-plugin.cjs.js +10 -10
  109. package/dist/tailwind/vite-plugin.es.js +294 -410
  110. package/dist/text-input-8v79fzEy.cjs +1 -0
  111. package/dist/text-input-CPJzUC2r.js +45 -0
  112. package/dist/{toolbar-D994_E_s.js → toolbar-CjQG7l7X.js} +1 -1
  113. package/dist/{toolbar-x0_8lmKu.cjs → toolbar-D3ZsC0g_.cjs} +1 -1
  114. package/dist/{tr-Bn5ldVJs.js → tr-C5X2gFZS.js} +17 -2
  115. package/dist/tr-CaMaflJL.cjs +1 -0
  116. package/dist/{tr-DiYB-FwX.js → tr-Cp8ZCUic.js} +77 -3
  117. package/dist/{tr-CgJ8uhZu.cjs → tr-mWu2E__o.cjs} +1 -1
  118. package/dist/{translations-Cq8bUKJP.js → translations-BGblCUBj.js} +144 -70
  119. package/dist/translations-CZ0KOii3.cjs +1 -0
  120. package/dist/translations-gVgMyNno.cjs +1 -0
  121. package/dist/translations-jUYta1_1.js +87 -0
  122. package/dist/types/auth/index.d.ts +13 -0
  123. package/dist/types/auth-i18n/default.d.ts +14 -0
  124. package/dist/types/auth-i18n/locales/ar.d.ts +14 -0
  125. package/dist/types/auth-i18n/locales/de.d.ts +14 -0
  126. package/dist/types/auth-i18n/locales/en.d.ts +14 -0
  127. package/dist/types/auth-i18n/locales/es.d.ts +14 -0
  128. package/dist/types/auth-i18n/locales/fa.d.ts +14 -0
  129. package/dist/types/auth-i18n/locales/fr.d.ts +14 -0
  130. package/dist/types/auth-i18n/locales/he.d.ts +14 -0
  131. package/dist/types/auth-i18n/locales/hi.d.ts +14 -0
  132. package/dist/types/auth-i18n/locales/it.d.ts +14 -0
  133. package/dist/types/auth-i18n/locales/ja.d.ts +14 -0
  134. package/dist/types/auth-i18n/locales/ko.d.ts +14 -0
  135. package/dist/types/auth-i18n/locales/nl.d.ts +14 -0
  136. package/dist/types/auth-i18n/locales/pl.d.ts +14 -0
  137. package/dist/types/auth-i18n/locales/pt.d.ts +14 -0
  138. package/dist/types/auth-i18n/locales/ru.d.ts +14 -0
  139. package/dist/types/auth-i18n/locales/tr.d.ts +14 -0
  140. package/dist/types/auth-i18n/locales/ur.d.ts +14 -0
  141. package/dist/types/auth-i18n/locales/vi.d.ts +14 -0
  142. package/dist/types/auth-i18n/locales/zh.d.ts +14 -0
  143. package/dist/types/auth-i18n/translations.d.ts +14 -0
  144. package/dist/types/beatui-i18n/default.d.ts +99 -0
  145. package/dist/types/beatui-i18n/index.d.ts +11 -0
  146. package/dist/types/beatui-i18n/locales/en.d.ts +63 -0
  147. package/dist/types/beatui-i18n/translations.d.ts +87 -0
  148. package/dist/types/better-auth/components/authenticated.d.ts +2 -2
  149. package/dist/types/better-auth/components/better-auth-container.d.ts +1 -1
  150. package/dist/types/better-auth/components/better-auth-modal.d.ts +1 -1
  151. package/dist/types/better-auth/index.d.ts +13 -0
  152. package/dist/types/better-auth/provider.d.ts +33 -0
  153. package/dist/types/better-auth/types.d.ts +112 -0
  154. package/dist/types/components/auth/auth-container.d.ts +63 -2
  155. package/dist/types/components/auth/auth-divider.d.ts +30 -0
  156. package/dist/types/components/auth/auth-email-prop.d.ts +25 -0
  157. package/dist/types/components/auth/index.d.ts +9 -0
  158. package/dist/types/components/auth/password-strength-indicator.d.ts +58 -0
  159. package/dist/types/components/auth/reset-password-form.d.ts +33 -0
  160. package/dist/types/components/auth/schemas.d.ts +183 -5
  161. package/dist/types/components/auth/signin-form.d.ts +33 -0
  162. package/dist/types/components/auth/signup-form.d.ts +36 -0
  163. package/dist/types/components/auth/social-login-button.d.ts +213 -0
  164. package/dist/types/components/auth/social-providers.d.ts +27 -1
  165. package/dist/types/components/auth/types.d.ts +299 -0
  166. package/dist/types/components/auth/utils.d.ts +198 -0
  167. package/dist/types/components/beatui.d.ts +35 -0
  168. package/dist/types/components/button/button.d.ts +61 -0
  169. package/dist/types/components/button/close-button.d.ts +32 -1
  170. package/dist/types/components/button/index.d.ts +2 -0
  171. package/dist/types/components/button/toggle-button-group.d.ts +95 -0
  172. package/dist/types/components/button/toggle-button.d.ts +60 -0
  173. package/dist/types/components/data/avatar-group.d.ts +74 -0
  174. package/dist/types/components/data/avatar.d.ts +62 -0
  175. package/dist/types/components/data/badge.d.ts +49 -2
  176. package/dist/types/components/data/calendar-shared.d.ts +59 -0
  177. package/dist/types/components/data/calendar.d.ts +107 -0
  178. package/dist/types/components/data/history-timeline.d.ts +35 -0
  179. package/dist/types/components/data/icon-badge.d.ts +14 -0
  180. package/dist/types/components/data/icon.d.ts +55 -4
  181. package/dist/types/components/data/index.d.ts +9 -0
  182. package/dist/types/components/data/page-drop-zone.d.ts +61 -8
  183. package/dist/types/components/data/presence-overlay.d.ts +26 -0
  184. package/dist/types/components/data/progress-bar.d.ts +81 -0
  185. package/dist/types/components/data/range-calendar.d.ts +104 -0
  186. package/dist/types/components/data/skeleton.d.ts +70 -0
  187. package/dist/types/components/data/table.d.ts +38 -11
  188. package/dist/types/components/data/tag.d.ts +40 -0
  189. package/dist/types/components/data/unstyled-drop-zone.d.ts +73 -0
  190. package/dist/types/components/form/control/control.d.ts +155 -0
  191. package/dist/types/components/form/control/date-utils.d.ts +81 -0
  192. package/dist/types/components/form/control/ensure-control.d.ts +28 -0
  193. package/dist/types/components/form/control/form-status.d.ts +63 -0
  194. package/dist/types/components/form/control/index.d.ts +10 -0
  195. package/dist/types/components/form/control/list-control.d.ts +100 -1
  196. package/dist/types/components/form/control/list-item-controls.d.ts +65 -0
  197. package/dist/types/components/form/controller/color-controller.d.ts +29 -1
  198. package/dist/types/components/form/controller/controller-validation.d.ts +31 -0
  199. package/dist/types/components/form/controller/controller.d.ts +286 -0
  200. package/dist/types/components/form/controller/index.d.ts +12 -0
  201. package/dist/types/components/form/controller/path.d.ts +69 -0
  202. package/dist/types/components/form/controller/union-controller.d.ts +106 -11
  203. package/dist/types/components/form/controller/utils.d.ts +67 -0
  204. package/dist/types/components/form/input/advanced-slider.d.ts +143 -0
  205. package/dist/types/components/form/input/appearance-selector.d.ts +39 -0
  206. package/dist/types/components/form/input/base64-input.d.ts +34 -0
  207. package/dist/types/components/form/input/base64s-input.d.ts +47 -0
  208. package/dist/types/components/form/input/bigint-input.d.ts +27 -0
  209. package/dist/types/components/form/input/checkbox-input.d.ts +46 -0
  210. package/dist/types/components/form/input/color-input.d.ts +42 -0
  211. package/dist/types/components/form/input/color-swatch-input.d.ts +53 -0
  212. package/dist/types/components/form/input/combobox-input.d.ts +73 -0
  213. package/dist/types/components/form/input/combobox-tags-input.d.ts +54 -0
  214. package/dist/types/components/form/input/date-input.d.ts +33 -0
  215. package/dist/types/components/form/input/date-time-input.d.ts +34 -0
  216. package/dist/types/components/form/input/dropdown-base.d.ts +52 -0
  217. package/dist/types/components/form/input/dropdown-input.d.ts +86 -0
  218. package/dist/types/components/form/input/duration-input.d.ts +18 -0
  219. package/dist/types/components/form/input/duration-mask.d.ts +24 -0
  220. package/dist/types/components/form/input/editable-text.d.ts +33 -0
  221. package/dist/types/components/form/input/email-input.d.ts +34 -0
  222. package/dist/types/components/form/input/file-input.d.ts +33 -0
  223. package/dist/types/components/form/input/files-input.d.ts +44 -0
  224. package/dist/types/components/form/input/index.d.ts +5 -0
  225. package/dist/types/components/form/input/input-adornment.d.ts +38 -0
  226. package/dist/types/components/form/input/input-container.d.ts +65 -0
  227. package/dist/types/components/form/input/input-options.d.ts +70 -0
  228. package/dist/types/components/form/input/input-wrapper.d.ts +78 -0
  229. package/dist/types/components/form/input/instant-input.d.ts +18 -0
  230. package/dist/types/components/form/input/lazy-native-select.d.ts +43 -0
  231. package/dist/types/components/form/input/list-input.d.ts +50 -0
  232. package/dist/types/components/form/input/mask-input.d.ts +158 -0
  233. package/dist/types/components/form/input/native-select.d.ts +50 -0
  234. package/dist/types/components/form/input/nullable-base64-input.d.ts +25 -0
  235. package/dist/types/components/form/input/nullable-bigint-input.d.ts +26 -0
  236. package/dist/types/components/form/input/nullable-date-input.d.ts +18 -0
  237. package/dist/types/components/form/input/nullable-date-time-input.d.ts +19 -0
  238. package/dist/types/components/form/input/nullable-duration-input.d.ts +19 -0
  239. package/dist/types/components/form/input/nullable-email-input.d.ts +18 -0
  240. package/dist/types/components/form/input/nullable-instant-input.d.ts +19 -0
  241. package/dist/types/components/form/input/nullable-mask-input.d.ts +24 -0
  242. package/dist/types/components/form/input/nullable-number-input.d.ts +29 -0
  243. package/dist/types/components/form/input/nullable-password-input.d.ts +18 -0
  244. package/dist/types/components/form/input/nullable-plain-date-input.d.ts +18 -0
  245. package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +18 -0
  246. package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +18 -0
  247. package/dist/types/components/form/input/nullable-plain-time-input.d.ts +18 -0
  248. package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +18 -0
  249. package/dist/types/components/form/input/nullable-rating-input.d.ts +33 -0
  250. package/dist/types/components/form/input/nullable-text-area.d.ts +27 -0
  251. package/dist/types/components/form/input/nullable-text-input.d.ts +18 -0
  252. package/dist/types/components/form/input/nullable-url-input.d.ts +18 -0
  253. package/dist/types/components/form/input/nullable-utils.d.ts +22 -2
  254. package/dist/types/components/form/input/nullable-uuid-input.d.ts +18 -0
  255. package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +20 -0
  256. package/dist/types/components/form/input/number-input.d.ts +49 -0
  257. package/dist/types/components/form/input/option.d.ts +165 -0
  258. package/dist/types/components/form/input/otp-input.d.ts +77 -0
  259. package/dist/types/components/form/input/password-input.d.ts +39 -0
  260. package/dist/types/components/form/input/plain-date-input.d.ts +17 -0
  261. package/dist/types/components/form/input/plain-date-time-input.d.ts +17 -0
  262. package/dist/types/components/form/input/plain-month-day-input.d.ts +18 -0
  263. package/dist/types/components/form/input/plain-time-input.d.ts +17 -0
  264. package/dist/types/components/form/input/plain-year-month-input.d.ts +17 -0
  265. package/dist/types/components/form/input/radio-group.d.ts +108 -0
  266. package/dist/types/components/form/input/rating-input.d.ts +57 -0
  267. package/dist/types/components/form/input/segmented-input.d.ts +70 -1
  268. package/dist/types/components/form/input/select-tags-input.d.ts +69 -0
  269. package/dist/types/components/form/input/slider-input.d.ts +82 -0
  270. package/dist/types/components/form/input/switch.d.ts +59 -1
  271. package/dist/types/components/form/input/tag-input.d.ts +19 -0
  272. package/dist/types/components/form/input/tag-utils.d.ts +111 -0
  273. package/dist/types/components/form/input/tags-input.d.ts +18 -0
  274. package/dist/types/components/form/input/text-area.d.ts +42 -0
  275. package/dist/types/components/form/input/text-input.d.ts +63 -1
  276. package/dist/types/components/form/input/url-input.d.ts +34 -0
  277. package/dist/types/components/form/input/uuid-input.d.ts +19 -0
  278. package/dist/types/components/form/input/zoned-date-time-input.d.ts +20 -0
  279. package/dist/types/components/form/schema/standard-schema-v1.d.ts +98 -23
  280. package/dist/types/components/form/use-form.d.ts +146 -2
  281. package/dist/types/components/i18n/index.d.ts +9 -0
  282. package/dist/types/components/i18n/locale-direction.d.ts +21 -1
  283. package/dist/types/components/i18n/locale-selector.d.ts +45 -0
  284. package/dist/types/components/i18n/make-i18nprovider.d.ts +42 -0
  285. package/dist/types/components/json-schema/schema-types.d.ts +133 -0
  286. package/dist/types/components/json-structure/controls/deprecation-utils.d.ts +2 -3
  287. package/dist/types/components/json-structure/structure-types.d.ts +473 -19
  288. package/dist/types/components/layout/accordion.d.ts +77 -0
  289. package/dist/types/components/layout/action-card.d.ts +90 -2
  290. package/dist/types/components/layout/app-shell.d.ts +76 -0
  291. package/dist/types/components/layout/card.d.ts +27 -0
  292. package/dist/types/components/layout/center.d.ts +39 -0
  293. package/dist/types/components/layout/collapse.d.ts +28 -0
  294. package/dist/types/components/layout/divider.d.ts +84 -0
  295. package/dist/types/components/layout/group.d.ts +15 -0
  296. package/dist/types/components/layout/index.d.ts +2 -0
  297. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +105 -0
  298. package/dist/types/components/layout/scrollable-panel.d.ts +54 -0
  299. package/dist/types/components/layout/sink.d.ts +46 -0
  300. package/dist/types/components/layout/stack.d.ts +16 -0
  301. package/dist/types/components/layout/with-breakpoint.d.ts +194 -0
  302. package/dist/types/components/lexical/code/language-selector.d.ts +2 -2
  303. package/dist/types/components/lexical/floating/block-handle.d.ts +2 -2
  304. package/dist/types/components/lexical/floating/floating-toolbar.d.ts +2 -2
  305. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
  306. package/dist/types/components/lexical/table/table-controls.d.ts +2 -2
  307. package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +2 -2
  308. package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +4 -2
  309. package/dist/types/components/misc/empty-state.d.ts +86 -0
  310. package/dist/types/components/misc/expando.d.ts +81 -0
  311. package/dist/types/components/misc/index.d.ts +2 -1
  312. package/dist/types/components/misc/link-portal.d.ts +40 -2
  313. package/dist/types/components/misc/notice.d.ts +93 -0
  314. package/dist/types/components/misc/notification-panel.d.ts +21 -0
  315. package/dist/types/components/misc/notification-provider.d.ts +141 -0
  316. package/dist/types/components/misc/notification.d.ts +93 -0
  317. package/dist/types/components/misc/style-portal.d.ts +31 -1
  318. package/dist/types/components/monaco/monaco-editor-input.d.ts +59 -2
  319. package/dist/types/components/navigation/breadcrumbs.d.ts +96 -0
  320. package/dist/types/components/navigation/flyout.d.ts +118 -16
  321. package/dist/types/components/navigation/index.d.ts +3 -0
  322. package/dist/types/components/navigation/link/link.d.ts +100 -0
  323. package/dist/types/components/navigation/menu.d.ts +155 -35
  324. package/dist/types/components/navigation/pagination.d.ts +82 -0
  325. package/dist/types/components/navigation/sidebar/sidebar-group.d.ts +42 -0
  326. package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +101 -0
  327. package/dist/types/components/navigation/sidebar/sidebar-separator.d.ts +17 -0
  328. package/dist/types/components/navigation/sidebar/sidebar.d.ts +57 -0
  329. package/dist/types/components/navigation/tabs/tabs.d.ts +3 -2
  330. package/dist/types/components/navigation/toolbar/toolbar.d.ts +125 -0
  331. package/dist/types/components/navigation/tree-view.d.ts +95 -0
  332. package/dist/types/components/overlay/announcement-bar.d.ts +41 -2
  333. package/dist/types/components/overlay/block-command-palette.d.ts +25 -0
  334. package/dist/types/components/overlay/command-palette.d.ts +17 -0
  335. package/dist/types/components/overlay/dialogs.d.ts +213 -0
  336. package/dist/types/components/overlay/drawer.d.ts +76 -12
  337. package/dist/types/components/overlay/index.d.ts +4 -0
  338. package/dist/types/components/overlay/lightbox.d.ts +53 -10
  339. package/dist/types/components/overlay/modal.d.ts +113 -13
  340. package/dist/types/components/overlay/overlay.d.ts +61 -0
  341. package/dist/types/components/overlay/popover.d.ts +100 -0
  342. package/dist/types/components/overlay/ribbon.d.ts +58 -9
  343. package/dist/types/components/prosemirror/etoolbar-button.d.ts +10 -0
  344. package/dist/types/components/prosemirror/etoolbar-group.d.ts +10 -0
  345. package/dist/types/components/prosemirror/link-control.d.ts +43 -2
  346. package/dist/types/components/prosemirror/prosemirror-toolbar.d.ts +46 -6
  347. package/dist/types/components/prosemirror/utils.d.ts +113 -1
  348. package/dist/types/components/theme/style-utils.d.ts +95 -0
  349. package/dist/types/components/theme/theme.d.ts +39 -0
  350. package/dist/types/components/theme/types.d.ts +133 -1
  351. package/dist/types/components/typography/index.d.ts +1 -0
  352. package/dist/types/components/typography/kbd.d.ts +48 -0
  353. package/dist/types/components/typography/label.d.ts +45 -0
  354. package/dist/types/index.d.ts +14 -0
  355. package/dist/types/json-schema/index.d.ts +13 -0
  356. package/dist/types/json-schema-display/index.d.ts +12 -0
  357. package/dist/types/json-structure/index.d.ts +9 -4
  358. package/dist/types/markdown/index.d.ts +13 -0
  359. package/dist/types/monaco/index.d.ts +17 -0
  360. package/dist/types/monaco/lazy-loader.d.ts +79 -0
  361. package/dist/types/monaco/styles-url.d.ts +11 -0
  362. package/dist/types/monaco/styles.d.ts +11 -0
  363. package/dist/types/monaco/types.d.ts +47 -0
  364. package/dist/types/prosemirror/index.d.ts +12 -0
  365. package/dist/types/prosemirror/styles-url.d.ts +11 -0
  366. package/dist/types/prosemirror/styles.d.ts +10 -0
  367. package/dist/types/tailwind/google-fonts.d.ts +15 -0
  368. package/dist/types/tailwind/index.d.ts +13 -0
  369. package/dist/types/tailwind/preset.d.ts +111 -0
  370. package/dist/types/tailwind/vite-plugin.d.ts +39 -4
  371. package/dist/types/tokens/base-colors.d.ts +21 -0
  372. package/dist/types/tokens/breakpoints.d.ts +67 -0
  373. package/dist/types/tokens/colors.d.ts +213 -4
  374. package/dist/types/tokens/motion.d.ts +142 -3
  375. package/dist/types/tokens/radius.d.ts +99 -0
  376. package/dist/types/tokens/shadows.d.ts +85 -0
  377. package/dist/types/tokens/spacing.d.ts +111 -0
  378. package/dist/types/tokens/text-shadows.d.ts +82 -0
  379. package/dist/types/tokens/typography.d.ts +313 -25
  380. package/dist/types/tokens/z-index.d.ts +62 -0
  381. package/dist/types/utils/color.d.ts +297 -28
  382. package/dist/types/utils/download.d.ts +92 -0
  383. package/dist/types/utils/focus-trap.d.ts +67 -11
  384. package/dist/types/utils/format-file-size.d.ts +44 -0
  385. package/dist/ur-B6yB2JQ7.cjs +1 -0
  386. package/dist/ur-CvGP14xo.cjs +1 -0
  387. package/dist/{ur-Bg9eX81v.js → ur-Deo004ME.js} +16 -1
  388. package/dist/{ur-B69X-xNs.js → ur-DkIYJxsF.js} +82 -8
  389. package/dist/use-animated-toggle-89fKlXxy.js +195 -0
  390. package/dist/use-animated-toggle-DrqK7nUS.cjs +1 -0
  391. package/dist/{use-form-B56E_x5Y.js → use-form-BurzbPVV.js} +190 -2
  392. package/dist/{use-form-Cnp3XQ5X.cjs → use-form-Uree6QFy.cjs} +1 -1
  393. package/dist/vi-BYk1rJDv.js +53 -0
  394. package/dist/vi-DKw6PBja.js +175 -0
  395. package/dist/vi-Df4WZe9y.cjs +1 -0
  396. package/dist/vi-DneuUbkq.cjs +1 -0
  397. package/dist/{widget-customization-Ds9sicAg.js → widget-customization-0is7oTeP.js} +205 -204
  398. package/dist/widget-customization-B-LmxkPE.cjs +1 -0
  399. package/dist/zh-C5a9NGFW.cjs +1 -0
  400. package/dist/zh-CaKHseXJ.js +175 -0
  401. package/dist/zh-DFHuW_5g.cjs +1 -0
  402. package/dist/{zh-BIykcEu9.js → zh-DR7QaM65.js} +16 -1
  403. package/package.json +1 -1
  404. package/dist/ar-BsUm-TCn.cjs +0 -1
  405. package/dist/ar-D7CXDmVZ.cjs +0 -1
  406. package/dist/ar-nOSKXpIW.js +0 -101
  407. package/dist/auth-divider-BqZPH1-z.cjs +0 -1
  408. package/dist/de-BUFLEyKr.cjs +0 -1
  409. package/dist/de-WzsOu9Gn.cjs +0 -1
  410. package/dist/deep-merge-BYm0y62g.js +0 -1620
  411. package/dist/deep-merge-d7sf0xmN.cjs +0 -1
  412. package/dist/editor-toolbar-group--a-xgsJw.cjs +0 -1
  413. package/dist/editor-toolbar-group-CVpl5mxF.js +0 -31
  414. package/dist/es-CDqqzpCw.js +0 -101
  415. package/dist/es-Ds2Xf3wV.cjs +0 -1
  416. package/dist/fa-C7tE_hR3.js +0 -101
  417. package/dist/fa-Ct1UtDB7.cjs +0 -1
  418. package/dist/fr-Cdyopuz3.cjs +0 -1
  419. package/dist/fr-CzAkRFed.cjs +0 -1
  420. package/dist/he-D2oUloCJ.js +0 -101
  421. package/dist/he-DarDNPn0.cjs +0 -1
  422. package/dist/he-DlXALrK7.cjs +0 -1
  423. package/dist/hi-3dBhLwDs.cjs +0 -1
  424. package/dist/hi-D5ZlZoQq.js +0 -101
  425. package/dist/hi-tATwsXJ6.cjs +0 -1
  426. package/dist/index-DE2tjivA.cjs +0 -1
  427. package/dist/input-container-C6qEIjcA.cjs +0 -1
  428. package/dist/it-BmFag7j0.cjs +0 -1
  429. package/dist/it-DohtcWi9.cjs +0 -1
  430. package/dist/ja-Dj-bAKLf.cjs +0 -1
  431. package/dist/ja-eyTArrgS.cjs +0 -1
  432. package/dist/ko-BFLCDMMs.cjs +0 -1
  433. package/dist/ko-BomUE-yQ.cjs +0 -1
  434. package/dist/ko-Ch0jFsBV.js +0 -101
  435. package/dist/menu-CZzRsQP_.js +0 -372
  436. package/dist/menu-ClrU72xH.cjs +0 -1
  437. package/dist/nl-Bx2ACvr4.cjs +0 -1
  438. package/dist/nl-NuTdZO1s.js +0 -102
  439. package/dist/pl-QHl6sl8f.cjs +0 -1
  440. package/dist/pt-BETjHZrL.js +0 -101
  441. package/dist/pt-DZGw2Z-1.cjs +0 -1
  442. package/dist/pt-oBMmVYcu.cjs +0 -1
  443. package/dist/ru-CtxMmoa6.cjs +0 -1
  444. package/dist/ru-D03IuLqh.cjs +0 -1
  445. package/dist/text-input-B3VBat1k.js +0 -44
  446. package/dist/text-input-Ds8e7Z1G.cjs +0 -1
  447. package/dist/tr-B_-_1wua.cjs +0 -1
  448. package/dist/translations-B4-Zd2LM.cjs +0 -1
  449. package/dist/translations-D62qqNV9.cjs +0 -1
  450. package/dist/translations-DPr6c05Z.js +0 -67
  451. package/dist/ur-DvqAg9gW.cjs +0 -1
  452. package/dist/ur-DyUSmIbo.cjs +0 -1
  453. package/dist/use-animated-toggle-ChycsEoj.js +0 -175
  454. package/dist/use-animated-toggle-DR6CyMac.cjs +0 -1
  455. package/dist/vi-BdzxA60L.js +0 -101
  456. package/dist/vi-CBmPaHxg.cjs +0 -1
  457. package/dist/vi-D5R3YcU0.cjs +0 -1
  458. package/dist/vi-DhdsHHf_.js +0 -38
  459. package/dist/widget-customization-Dk7XcVly.cjs +0 -1
  460. package/dist/zh-CCGXcj5r.cjs +0 -1
  461. package/dist/zh-Cb1b8uik.cjs +0 -1
  462. package/dist/zh-Dn1UJiZa.js +0 -101
@@ -1,27 +1,54 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize } from '../theme';
3
+ /**
4
+ * Configuration options for the {@link Table} component.
5
+ * Controls visual presentation including size, borders, hover effects, and sticky headers.
6
+ */
3
7
  export interface TableOptions {
4
- /** Size of the table (affects padding and spacing) */
8
+ /** Size of the table affecting cell padding and font size. @default 'md' */
5
9
  size?: Value<ControlSize>;
6
- /** Enable hover effect on rows */
10
+ /** Enable background color change on row hover. @default false */
7
11
  hoverable?: Value<boolean>;
8
- /** Make the header sticky when scrolling */
12
+ /** Make the header row sticky when scrolling vertically. @default false */
9
13
  stickyHeader?: Value<boolean>;
10
- /** Table takes full width of container */
14
+ /** Whether the table takes the full width of its container. @default false */
11
15
  fullWidth?: Value<boolean>;
12
- /** Stripe rows for better readability */
16
+ /** Alternate row background colors for improved readability. @default false */
13
17
  withStripedRows?: Value<boolean>;
14
- /** Show outer table border */
18
+ /** Show a border around the entire table container. @default true */
15
19
  withTableBorder?: Value<boolean>;
16
- /** Show vertical borders between columns */
20
+ /** Show vertical borders between columns. @default false */
17
21
  withColumnBorders?: Value<boolean>;
18
- /** Show horizontal borders between rows */
22
+ /** Show horizontal borders between rows. @default true */
19
23
  withRowBorders?: Value<boolean>;
20
- /** Custom border radius (CSS value) */
24
+ /** Border radius of the table container. @default undefined */
21
25
  borderRadius?: Value<'none' | 'sm' | 'md' | 'lg' | 'xl'>;
22
26
  }
23
27
  /**
24
- * Table component with styling variants
25
- * Focused on presentation, not data management
28
+ * A styled table component focused on presentation with configurable borders,
29
+ * hover effects, sticky headers, and striped rows. Wraps a standard HTML table
30
+ * in a container that handles overflow scrolling and border radius.
31
+ *
32
+ * This component provides styling only — data management and row rendering
33
+ * are handled by the caller using standard `html.thead`, `html.tbody`, `html.tr`,
34
+ * `html.th`, and `html.td` elements.
35
+ *
36
+ * @param options - Visual configuration for the table
37
+ * @param children - Table content (thead, tbody, tfoot elements)
38
+ * @returns A container div wrapping a styled table element
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * Table(
43
+ * { hoverable: true, withStripedRows: true, fullWidth: true },
44
+ * html.thead(
45
+ * html.tr(html.th('Name'), html.th('Email'), html.th('Role'))
46
+ * ),
47
+ * html.tbody(
48
+ * html.tr(html.td('Alice'), html.td('alice@example.com'), html.td('Admin')),
49
+ * html.tr(html.td('Bob'), html.td('bob@example.com'), html.td('User'))
50
+ * )
51
+ * )
52
+ * ```
26
53
  */
27
54
  export declare function Table({ size, hoverable, stickyHeader, fullWidth, withStripedRows, withTableBorder, withColumnBorders, withRowBorders, borderRadius, }?: TableOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -1,11 +1,51 @@
1
1
  import { Value } from '@tempots/dom';
2
2
  import { ThemeColorName } from '../../tokens';
3
3
  import { ControlSize } from '../theme';
4
+ /**
5
+ * A small label component for categorization, filtering, or displaying metadata.
6
+ * Supports optional close button for removable tags and theme-aware color styling.
7
+ *
8
+ * When an `onClose` callback is provided, a close button is rendered alongside the tag text.
9
+ * The tag automatically adapts to light and dark themes using CSS custom properties.
10
+ *
11
+ * @param options - Tag configuration
12
+ * @param options.value - Reactive string displayed as the tag label
13
+ * @param options.color - Theme color for the tag background and text (default: 'base')
14
+ * @param options.onClose - Callback when the close button is clicked; receives the current tag value
15
+ * @param options.size - Size of the tag (default: 'md')
16
+ * @param options.class - Additional CSS class(es) to apply
17
+ * @param options.disabled - Whether the tag and its close button are disabled
18
+ * @returns A styled span element representing the tag
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * Tag({ value: 'TypeScript', color: 'primary' })
23
+ * ```
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Removable tag
28
+ * const tags = prop(['React', 'Vue', 'Solid'])
29
+ * ForEach(tags, tag =>
30
+ * Tag({
31
+ * value: tag,
32
+ * color: 'info',
33
+ * onClose: (v) => tags.set(tags.value.filter(t => t !== v))
34
+ * })
35
+ * )
36
+ * ```
37
+ */
4
38
  export declare const Tag: ({ value, color, onClose, size, class: cls, disabled, }: {
39
+ /** Reactive string displayed as the tag label. */
5
40
  value: Value<string>;
41
+ /** Theme color for the tag background and text. @default 'base' */
6
42
  color?: Value<ThemeColorName>;
43
+ /** Callback when the close button is clicked; receives the current tag value. */
7
44
  onClose?: (value: string) => void;
45
+ /** Size of the tag. @default 'md' */
8
46
  size?: Value<ControlSize>;
47
+ /** Additional CSS class(es) to apply. */
9
48
  class?: Value<string>;
49
+ /** Whether the tag and its close button are disabled. */
10
50
  disabled?: Value<boolean>;
11
51
  }) => import("@tempots/dom").Renderable;
@@ -1,15 +1,88 @@
1
1
  import { TNode, Value, Signal } from '@tempots/dom';
2
+ /**
3
+ * Configuration options for the {@link UnstyledDropZone} component.
4
+ */
2
5
  export type DropZoneOptions = {
6
+ /**
7
+ * Callback invoked when files are selected, either via drag-and-drop
8
+ * or the file picker dialog. The `via` parameter indicates the selection method.
9
+ */
3
10
  onChange: (files: File[], via: 'dragdrop' | 'click') => void;
11
+ /**
12
+ * Optional external reactive file list. When provided, the drop zone
13
+ * derives its internal file state from this value.
14
+ */
4
15
  value?: Value<File[]>;
16
+ /**
17
+ * MIME type filter for accepted files (e.g., `'image/*'`, `'application/pdf'`).
18
+ * Passed to the hidden `<input type="file">` element.
19
+ * @default '*\/*'
20
+ */
5
21
  accept?: Value<string>;
22
+ /**
23
+ * Whether clicking the drop zone opens the native file picker dialog.
24
+ * @default true
25
+ */
6
26
  enableClick?: Value<boolean>;
27
+ /**
28
+ * Render function for the drop zone content. Receives reactive state
29
+ * and control functions to build a custom UI.
30
+ *
31
+ * @param options.files - Reactive signal containing the current file list.
32
+ * @param options.clear - Clears the current file selection.
33
+ * @param options.change - Programmatically sets the file list.
34
+ */
7
35
  content: (options: {
8
36
  files: Signal<File[]>;
9
37
  clear: () => void;
10
38
  change: (files: File[]) => void;
11
39
  }) => TNode;
40
+ /**
41
+ * Whether the drop zone is disabled. Disabled zones do not accept drops or clicks.
42
+ * @default false
43
+ */
12
44
  disabled?: Value<boolean>;
45
+ /**
46
+ * Whether multiple files can be selected at once.
47
+ */
13
48
  allowMultiple?: Value<boolean>;
14
49
  };
50
+ /**
51
+ * Renders an unstyled file drop zone that supports both drag-and-drop and
52
+ * click-to-browse file selection. This component provides the behavior
53
+ * and accessibility without any visual styling, allowing complete UI
54
+ * customization through the `content` render function.
55
+ *
56
+ * The component:
57
+ * - Handles `dragover`, `dragleave`, and `drop` events
58
+ * - Opens a native file picker on click (when `enableClick` is `true`)
59
+ * - Supports keyboard activation (Enter/Space)
60
+ * - Applies `role="button"` and ARIA labels for accessibility
61
+ * - Synchronizes a hidden `<input type="file">` with the reactive file state
62
+ *
63
+ * @param options - Configuration options for the drop zone.
64
+ * @returns A renderable drop zone container.
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * UnstyledDropZone({
69
+ * accept: 'image/*',
70
+ * allowMultiple: true,
71
+ * onChange: (files, via) => {
72
+ * console.log(`${files.length} files selected via ${via}`)
73
+ * },
74
+ * content: ({ files, clear }) =>
75
+ * html.div(
76
+ * attr.class('drop-area'),
77
+ * files.map(f => f.length > 0
78
+ * ? html.div(
79
+ * `${f.length} file(s) selected`,
80
+ * html.button(on.click(clear), 'Clear')
81
+ * )
82
+ * : html.div('Drop files here or click to browse')
83
+ * )
84
+ * ),
85
+ * })
86
+ * ```
87
+ */
15
88
  export declare function UnstyledDropZone({ onChange, value, accept, enableClick, content, disabled, allowMultiple, }: DropZoneOptions): import("@tempots/dom").Renderable;
@@ -2,23 +2,178 @@ import { Merge, TNode } from '@tempots/dom';
2
2
  import { InputOptions } from '../input/input-options';
3
3
  import { Controller } from '../controller';
4
4
  import { InputWrapperOptions } from '../input';
5
+ /**
6
+ * Creates a blur event handler that marks the controller as touched.
7
+ *
8
+ * @param _controller - The controller to mark as touched
9
+ * @param onBlur - Optional additional blur handler to invoke
10
+ * @returns A blur event handler function
11
+ */
5
12
  export declare const makeOnBlurHandler: (_controller: Controller<any>, onBlur?: () => void) => () => void;
13
+ /**
14
+ * Creates a change event handler that updates the controller value.
15
+ *
16
+ * @template T - The value type
17
+ * @param controller - The controller to update
18
+ * @param onChange - Optional additional change handler to invoke
19
+ * @returns A change event handler function
20
+ */
6
21
  export declare const makeOnChangeHandler: <T>(controller: Controller<T>, onChange?: (value: T) => void) => (value: T) => void;
22
+ /**
23
+ * Base options type for any input component, derived from InputOptions.
24
+ */
7
25
  export type BaseControlOptions = InputOptions<any>;
26
+ /**
27
+ * Options for a control that includes both input and wrapper options.
28
+ */
8
29
  export type ControlOptions = Merge<BaseControlOptions, InputWrapperOptions>;
30
+ /**
31
+ * Options for connecting a controller to an input component without a wrapper.
32
+ *
33
+ * @template T - The controller value type
34
+ * @template O - The input component options type
35
+ */
9
36
  export type BaseControllerOptions<T, O extends BaseControlOptions> = Merge<Omit<O, 'value'>, {
10
37
  controller: Controller<T>;
11
38
  triggerOn?: 'input' | 'change';
12
39
  }>;
40
+ /**
41
+ * Options for connecting a controller to an input component with a wrapper.
42
+ *
43
+ * @template T - The controller value type
44
+ * @template O - The input component options type
45
+ */
13
46
  export type ControllerOptions<T, O extends BaseControlOptions> = Merge<Omit<InputWrapperOptions, 'content'>, Merge<Omit<O, 'value'>, {
14
47
  controller: Controller<T>;
15
48
  triggerOn?: 'input' | 'change';
16
49
  }>>;
50
+ /**
51
+ * Options for connecting a controller to an input with bidirectional value transformation.
52
+ *
53
+ * @template T - The controller value type
54
+ * @template U - The input component value type
55
+ * @template O - The input component options type
56
+ */
17
57
  export type MappedControllerOptions<T, U, O extends BaseControlOptions> = Merge<ControllerOptions<T, O>, {
58
+ /** Transforms controller value to input value. */
18
59
  toInput: (value: T) => U;
60
+ /** Transforms input value back to controller value. */
19
61
  fromInput: (value: U) => T;
20
62
  }>;
63
+ /**
64
+ * Connects an input component to a controller without a wrapper (no label, error display, etc.).
65
+ * Automatically binds the controller's value, disabled state, error state, and event handlers.
66
+ *
67
+ * @template T - The controller value type
68
+ * @template O - The input component options type
69
+ * @param InputComponent - The input component factory function
70
+ * @param options - Controller connection options including the controller and optional event handlers
71
+ * @returns A TNode representing the connected input
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * import { BaseControl, useController } from '@tempots/beatui'
76
+ * import { TextInput } from '@tempots/beatui'
77
+ * import { prop } from '@tempots/dom'
78
+ *
79
+ * const { controller } = useController({
80
+ * initialValue: 'Hello',
81
+ * })
82
+ *
83
+ * const input = BaseControl(TextInput, {
84
+ * controller,
85
+ * placeholder: 'Enter text...',
86
+ * })
87
+ * ```
88
+ */
21
89
  export declare function BaseControl<T, O extends BaseControlOptions>(InputComponent: (options: O) => TNode, options: BaseControllerOptions<T, O>): any;
90
+ /**
91
+ * Connects an input component to a controller with a wrapper that provides label, error display, and layout.
92
+ * Automatically binds the controller's value, disabled state, error state, and event handlers.
93
+ *
94
+ * @template T - The controller value type
95
+ * @template O - The input component options type
96
+ * @param InputComponent - The input component factory function
97
+ * @param options - Controller connection options including wrapper options (label, error display, etc.)
98
+ * @param children - Optional child nodes to render alongside the input
99
+ * @returns A TNode representing the wrapped input with label and error display
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * import { Control, useForm } from '@tempots/beatui'
104
+ * import { TextInput } from '@tempots/beatui'
105
+ * import { html } from '@tempots/dom'
106
+ *
107
+ * const { controller } = useForm({
108
+ * initialValue: { email: '' },
109
+ * })
110
+ *
111
+ * const emailControl = Control(TextInput, {
112
+ * controller: controller.field('email'),
113
+ * label: 'Email Address',
114
+ * placeholder: 'you@example.com',
115
+ * triggerOn: 'input',
116
+ * })
117
+ * ```
118
+ */
22
119
  export declare function Control<T, O extends BaseControlOptions>(InputComponent: (options: O) => TNode, { id: idArg, labelFor: labelForArg, ...options }: ControllerOptions<T, O>, ...children: TNode[]): import("@tempots/dom").Renderable;
120
+ /**
121
+ * Connects an input component to a controller with bidirectional value transformation, without a wrapper.
122
+ * Useful when the controller value type differs from the input component's expected value type.
123
+ *
124
+ * @template T - The controller value type
125
+ * @template U - The input component value type
126
+ * @template O - The input component options type
127
+ * @param InputComponent - The input component factory function
128
+ * @param options - Controller connection options including transform functions
129
+ * @returns A TNode representing the connected input with value transformation
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * import { BaseMappedControl, useController } from '@tempots/beatui'
134
+ * import { TextInput } from '@tempots/beatui'
135
+ *
136
+ * const { controller } = useController({
137
+ * initialValue: 42, // number
138
+ * })
139
+ *
140
+ * const input = BaseMappedControl(TextInput, {
141
+ * controller,
142
+ * toInput: (n) => n.toString(),
143
+ * fromInput: (s) => parseFloat(s) || 0,
144
+ * placeholder: 'Enter a number...',
145
+ * })
146
+ * ```
147
+ */
23
148
  export declare function BaseMappedControl<T, U, O extends BaseControlOptions>(InputComponent: (options: O) => TNode, options: MappedControllerOptions<T, U, O>): any;
149
+ /**
150
+ * Connects an input component to a controller with bidirectional value transformation and a wrapper.
151
+ * Combines value transformation with label, error display, and layout features.
152
+ *
153
+ * @template T - The controller value type
154
+ * @template U - The input component value type
155
+ * @template O - The input component options type
156
+ * @param InputComponent - The input component factory function
157
+ * @param options - Controller connection options including transform functions and wrapper options
158
+ * @param children - Optional child nodes to render alongside the input
159
+ * @returns A TNode representing the wrapped input with value transformation
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * import { MappedControl, useForm } from '@tempots/beatui'
164
+ * import { TextInput } from '@tempots/beatui'
165
+ *
166
+ * const { controller } = useForm({
167
+ * initialValue: { age: 25 },
168
+ * })
169
+ *
170
+ * const ageControl = MappedControl(TextInput, {
171
+ * controller: controller.field('age'),
172
+ * toInput: (n) => n.toString(),
173
+ * fromInput: (s) => parseInt(s, 10) || 0,
174
+ * label: 'Age',
175
+ * placeholder: 'Enter your age',
176
+ * })
177
+ * ```
178
+ */
24
179
  export declare function MappedControl<T, U, O extends BaseControlOptions>(InputComponent: (options: O) => TNode, { id: idArg, labelFor: labelForArg, ...options }: MappedControllerOptions<T, U, O>, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -1,6 +1,87 @@
1
+ /**
2
+ * Converts a `Date` to a full ISO 8601 date-time string (e.g., `'2024-01-15T10:30:00.000Z'`).
3
+ *
4
+ * @param date - The Date object to convert
5
+ * @returns The ISO 8601 date-time string representation
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * dateTimeToISO(new Date('2024-01-15T10:30:00Z'))
10
+ * // => '2024-01-15T10:30:00.000Z'
11
+ * ```
12
+ */
1
13
  export declare const dateTimeToISO: (date: Date) => string;
14
+ /**
15
+ * Converts a `Date` to an ISO 8601 date-only string (e.g., `'2024-01-15'`).
16
+ *
17
+ * Strips the time portion from the ISO string, returning only the `YYYY-MM-DD` part.
18
+ *
19
+ * @param date - The Date object to convert
20
+ * @returns The ISO 8601 date-only string (YYYY-MM-DD)
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * dateToISO(new Date('2024-01-15T10:30:00Z'))
25
+ * // => '2024-01-15'
26
+ * ```
27
+ */
2
28
  export declare const dateToISO: (date: Date) => string;
29
+ /**
30
+ * Parses a date string into a `Date` object.
31
+ *
32
+ * @param value - The date string to parse (any format accepted by `new Date()`)
33
+ * @returns A new Date object
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * stringToDate('2024-01-15')
38
+ * // => Date Mon Jan 15 2024 ...
39
+ * ```
40
+ */
3
41
  export declare const stringToDate: (value: string) => Date;
42
+ /**
43
+ * Parses a nullable date string into a `Date` or `null`.
44
+ *
45
+ * Returns `null` if the input is `null` or an empty string.
46
+ *
47
+ * @param value - The date string to parse, or `null`
48
+ * @returns A Date object if the value is a non-empty string, otherwise `null`
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * nullableStringToDate('2024-01-15') // => Date
53
+ * nullableStringToDate(null) // => null
54
+ * nullableStringToDate('') // => null
55
+ * ```
56
+ */
4
57
  export declare const nullableStringToDate: (value: string | null) => Date | null;
58
+ /**
59
+ * Converts a nullable `Date` to a full ISO 8601 date-time string, or `null`.
60
+ *
61
+ * @param date - The Date object to convert, or `null`
62
+ * @returns The ISO 8601 date-time string, or `null` if the input is `null`
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * nullableDateTimeToISO(new Date('2024-01-15T10:30:00Z'))
67
+ * // => '2024-01-15T10:30:00.000Z'
68
+ * nullableDateTimeToISO(null)
69
+ * // => null
70
+ * ```
71
+ */
5
72
  export declare const nullableDateTimeToISO: (date: Date | null) => string | null;
73
+ /**
74
+ * Converts a nullable `Date` to an ISO 8601 date-only string, or `null`.
75
+ *
76
+ * @param date - The Date object to convert, or `null`
77
+ * @returns The ISO 8601 date-only string (YYYY-MM-DD), or `null` if the input is `null`
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * nullableDateToISO(new Date('2024-01-15T10:30:00Z'))
82
+ * // => '2024-01-15'
83
+ * nullableDateToISO(null)
84
+ * // => null
85
+ * ```
86
+ */
6
87
  export declare const nullableDateToISO: (date: Date | null) => string | null;
@@ -1,3 +1,31 @@
1
1
  import { TNode } from '@tempots/dom';
2
2
  import { Controller } from '../controller/controller';
3
+ /**
4
+ * Conditionally renders content only when a controller's value is non-null and non-undefined.
5
+ *
6
+ * Similar to the `Ensure` primitive from `@tempots/dom`, but works with `Controller` instances.
7
+ * When the controller's signal holds a non-nullish value, it creates a transformed controller
8
+ * with `NonNullable<T>` type and passes it to the `then` callback. When the value is null or
9
+ * undefined, it renders the optional `otherwise` fallback.
10
+ *
11
+ * @typeParam T - The non-nullable base type of the controller's value
12
+ *
13
+ * @param controller - A controller whose value may be `null`, `undefined`, or `T`
14
+ * @param then - Callback invoked with a `Controller<NonNullable<T>>` when the value is present
15
+ * @param otherwise - Optional callback invoked when the value is null or undefined
16
+ *
17
+ * @returns A renderable TNode that conditionally renders based on the controller's value
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { EnsureControl } from '@tempots/beatui'
22
+ *
23
+ * // Only render the text input when the controller value is non-null
24
+ * EnsureControl(
25
+ * nullableStringController,
26
+ * (ctrl) => TextInput({ value: ctrl.signal, onChange: ctrl.change }),
27
+ * () => html.p('No value set')
28
+ * )
29
+ * ```
30
+ */
3
31
  export declare function EnsureControl<T>(controller: Controller<T | null | undefined> | Controller<T | null> | Controller<T | undefined>, then: (controller: Controller<NonNullable<T>>) => TNode, otherwise?: () => TNode): import("@tempots/dom").Renderable;
@@ -1,20 +1,83 @@
1
+ /**
2
+ * Status indicating the form is being filled out by the user.
3
+ */
1
4
  export type FormFilling = {
2
5
  type: 'filling';
3
6
  };
7
+ /**
8
+ * Status indicating the form is currently being submitted.
9
+ */
4
10
  export type FormSubmitting = {
5
11
  type: 'submitting';
6
12
  };
13
+ /**
14
+ * Status indicating the form submission encountered an error.
15
+ */
7
16
  export type FormError = {
17
+ /** Discriminant for the error status */
8
18
  type: 'error';
19
+ /** The error message describing what went wrong */
9
20
  error: string;
10
21
  };
22
+ /**
23
+ * Status indicating the form was submitted successfully.
24
+ */
11
25
  export type FormSuccess = {
12
26
  type: 'success';
13
27
  };
28
+ /**
29
+ * Discriminated union representing the current state of a form.
30
+ *
31
+ * The form progresses through these states during its lifecycle:
32
+ * 1. `'filling'` - User is entering data
33
+ * 2. `'submitting'` - Form is being submitted (e.g., API call in progress)
34
+ * 3. `'success'` or `'error'` - Submission result
35
+ *
36
+ * Use the `type` discriminant to narrow the union in conditional logic.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * import { FormStatus } from '@tempots/beatui'
41
+ *
42
+ * const status: FormStatus = FormStatus.filling
43
+ *
44
+ * switch (status.type) {
45
+ * case 'filling': // show form
46
+ * case 'submitting': // show spinner
47
+ * case 'success': // show success message
48
+ * case 'error': // show error: status.error
49
+ * }
50
+ * ```
51
+ */
14
52
  export type FormStatus = FormFilling | FormSubmitting | FormError | FormSuccess;
53
+ /**
54
+ * Factory object for creating {@link FormStatus} values.
55
+ *
56
+ * Provides pre-built instances for `filling`, `submitting`, and `success`,
57
+ * and a factory function for creating `error` statuses with a message.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * import { FormStatus } from '@tempots/beatui'
62
+ *
63
+ * const initial = FormStatus.filling
64
+ * const loading = FormStatus.submitting
65
+ * const done = FormStatus.success
66
+ * const failed = FormStatus.error('Network timeout')
67
+ * ```
68
+ */
15
69
  export declare const FormStatus: {
70
+ /** A pre-built `FormFilling` status instance */
16
71
  filling: FormStatus;
72
+ /** A pre-built `FormSubmitting` status instance */
17
73
  submitting: FormStatus;
74
+ /**
75
+ * Creates a `FormError` status with the given error message.
76
+ *
77
+ * @param error - The error message describing what went wrong
78
+ * @returns A `FormStatus` of type `'error'`
79
+ */
18
80
  error: (error: string) => FormStatus;
81
+ /** A pre-built `FormSuccess` status instance */
19
82
  success: FormStatus;
20
83
  };
@@ -1,4 +1,14 @@
1
+ /**
2
+ * @fileoverview Form Control Module
3
+ *
4
+ * Exports form control components and utilities:
5
+ * - {@link Control} - Base form control wrapper
6
+ * - {@link EnsureControl} - Conditional rendering for nullable controllers
7
+ * - {@link BaseListControl} / {@link ListControl} - List management with add/remove/reorder
8
+ * - {@link FormStatus} - Form submission state management
9
+ */
1
10
  export * from './control';
2
11
  export * from './ensure-control';
12
+ export * from './list-item-controls';
3
13
  export * from './list-control';
4
14
  export * from './form-status';