@tempots/beatui 0.82.1 → 0.83.0

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 +289 -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,36 +1,120 @@
1
1
  import { Signal, Value } from '@tempots/dom';
2
2
  import { StandardSchemaV1 } from './schema/standard-schema-v1';
3
3
  import { ControllerValidation, Controller, ObjectController } from './controller';
4
+ /**
5
+ * Configuration options for creating a form with useForm.
6
+ *
7
+ * @template T - The form data type (must be an object)
8
+ */
4
9
  export interface UseFormOptions<T> {
10
+ /** Optional schema for validation (supports Standard Schema v1, including Zod schemas). */
5
11
  schema?: StandardSchemaV1<T, T>;
12
+ /** Initial form values (can be a static value or a reactive Signal). */
6
13
  initialValue?: Value<T>;
14
+ /** Optional async submit handler that can return validation errors. */
7
15
  onSubmit?: (value: T) => Promise<ControllerValidation>;
16
+ /** When to show validation errors: 'onSubmit' (default), 'eager' (immediately), or 'onTouched' (after blur). */
8
17
  validationMode?: 'onSubmit' | 'eager' | 'onTouched';
18
+ /** Debounce delay in milliseconds for validation (useful for 'eager' mode). */
9
19
  validateDebounceMs?: number;
10
20
  }
21
+ /**
22
+ * Configuration options for creating a standalone controller with useController.
23
+ *
24
+ * @template T - The controller value type
25
+ */
11
26
  export interface UseControllerOptions<T> {
27
+ /** Initial controller value (can be a static value or a reactive Signal). */
12
28
  initialValue: Value<T>;
29
+ /** Optional callback invoked when the value changes. */
13
30
  onChange?: (value: T) => void;
31
+ /** Optional validation function (sync or async). */
14
32
  validate?: (value: T) => Promise<ControllerValidation> | ControllerValidation;
33
+ /** Equality function for dirty tracking (defaults to strictEqual). */
15
34
  equals?: (a: T, b: T) => boolean;
35
+ /** When to show validation errors: 'onSubmit', 'eager', or 'onTouched' (default). */
16
36
  validationMode?: 'onSubmit' | 'eager' | 'onTouched';
37
+ /** Debounce delay in milliseconds for validation. */
17
38
  validateDebounceMs?: number;
18
39
  }
19
40
  /**
20
- * Creates a Controller instance with automatic resource cleanup.
21
- * The controller will be automatically disposed when the component unmounts.
41
+ * Creates a standalone reactive controller for managing a single form field or value.
42
+ * Provides reactive state management, validation, and touched/dirty tracking.
43
+ *
44
+ * @template T - The value type managed by the controller
45
+ * @param options - Controller configuration options
46
+ * @returns An object with the controller instance and a setStatus function for manual validation updates
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * import { useController, Control, TextInput } from '@tempots/beatui'
51
+ * import { html } from '@tempots/dom'
52
+ * import { z } from 'zod'
53
+ * import { Validation } from '@tempots/std'
54
+ *
55
+ * const emailSchema = z.string().email()
56
+ *
57
+ * const { controller } = useController({
58
+ * initialValue: '',
59
+ * validate: async (value) => {
60
+ * const result = emailSchema.safeParse(value)
61
+ * return result.success
62
+ * ? Validation.valid
63
+ * : Validation.invalid({ message: result.error.errors[0].message })
64
+ * },
65
+ * validationMode: 'onTouched',
66
+ * })
67
+ *
68
+ * const emailInput = Control(TextInput, {
69
+ * controller,
70
+ * label: 'Email',
71
+ * placeholder: 'you@example.com',
72
+ * })
73
+ * ```
22
74
  */
23
75
  export declare function useController<T>({ initialValue, onChange, validate, equals, validationMode, validateDebounceMs, }: UseControllerOptions<T>): {
24
76
  controller: Controller<T>;
25
77
  setStatus: (result: ControllerValidation) => void;
26
78
  };
79
+ /**
80
+ * Connects common HTML attributes (disabled, name) from a controller to a DOM element.
81
+ * This is a lower-level utility; most users should use Control/BaseControl instead.
82
+ *
83
+ * @template T - The controller value type
84
+ * @param value - The controller to connect
85
+ * @returns A Fragment with attribute bindings
86
+ */
27
87
  export declare function connectCommonAttributes<T>(value: Controller<T>): import("@tempots/dom").Renderable<import("@tempots/dom").DOMContext>;
88
+ /**
89
+ * Connects a string controller to a text input element with value binding and event handlers.
90
+ * This is a lower-level utility; most users should use Control/BaseControl instead.
91
+ *
92
+ * @param value - The string controller to connect
93
+ * @param options - Configuration for when to trigger updates
94
+ * @returns A Fragment with attribute and event bindings
95
+ */
28
96
  export declare function connectStringInput(value: Controller<string>, { triggerOn, }?: {
29
97
  triggerOn?: 'change' | 'input';
30
98
  }): import("@tempots/dom").Renderable<import("@tempots/dom").DOMContext>;
99
+ /**
100
+ * Connects a number controller to a number input element with value binding and event handlers.
101
+ * This is a lower-level utility; most users should use Control/BaseControl instead.
102
+ *
103
+ * @param value - The number controller to connect
104
+ * @param options - Configuration for when to trigger updates
105
+ * @returns A Fragment with attribute and event bindings
106
+ */
31
107
  export declare function connectNumberInput(value: Controller<number>, { triggerOn, }?: {
32
108
  triggerOn?: 'change' | 'input';
33
109
  }): import("@tempots/dom").Renderable<import("@tempots/dom").DOMContext>;
110
+ /**
111
+ * Converts a Standard Schema v1 validation result into a ControllerValidation.
112
+ * Used internally to integrate Standard Schema validators (including Zod) with the form system.
113
+ *
114
+ * @template Out - The validated output type
115
+ * @param result - The Standard Schema validation result
116
+ * @returns A ControllerValidation representing the result
117
+ */
34
118
  export declare function standardSchemaResultToValidation<Out>(result: StandardSchemaV1.Result<Out>): ControllerValidation;
35
119
  /**
36
120
  * Wraps an async operation and converts any thrown errors into a ControllerValidation.
@@ -56,10 +140,70 @@ export declare function taskToValidation<T>({ task, errorMessage, errorPath, val
56
140
  errorPath?: string[];
57
141
  validation?: (result: T) => ControllerValidation;
58
142
  }): Promise<ControllerValidation>;
143
+ /**
144
+ * The result returned by useForm, providing form state management and submission handling.
145
+ *
146
+ * @template T - The form data type
147
+ */
59
148
  export type UseFormResult<T extends object> = {
149
+ /** The root ObjectController for accessing form fields via controller.field(). */
60
150
  controller: ObjectController<T>;
151
+ /** Manually set the form's validation status (useful for server-side errors). */
61
152
  setStatus: (result: ControllerValidation) => void;
153
+ /** Submit handler to attach to form onSubmit event. */
62
154
  submit: (e?: Event) => Promise<void>;
155
+ /** Reactive signal indicating whether the form is currently submitting. */
63
156
  submitting: Signal<boolean>;
64
157
  };
158
+ /**
159
+ * Creates a complete form with validation, submission handling, and reactive state management.
160
+ * Returns an ObjectController that provides field-level access and form-wide operations.
161
+ *
162
+ * @template T - The form data type (must be an object)
163
+ * @param options - Form configuration options
164
+ * @returns An object with controller, setStatus, submit handler, and submitting signal
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * import { useForm, Control, TextInput, Button } from '@tempots/beatui'
169
+ * import { html, on } from '@tempots/dom'
170
+ * import { z } from 'zod'
171
+ *
172
+ * const loginSchema = z.object({
173
+ * email: z.string().email('Invalid email address'),
174
+ * password: z.string().min(8, 'Password must be at least 8 characters'),
175
+ * })
176
+ *
177
+ * const { controller, submit, submitting } = useForm({
178
+ * initialValue: { email: '', password: '' },
179
+ * schema: loginSchema,
180
+ * validationMode: 'onTouched',
181
+ * onSubmit: async (data) => {
182
+ * const response = await fetch('/api/login', {
183
+ * method: 'POST',
184
+ * body: JSON.stringify(data),
185
+ * })
186
+ * if (!response.ok) {
187
+ * return Validation.invalid({ message: 'Login failed' })
188
+ * }
189
+ * return Validation.valid
190
+ * },
191
+ * })
192
+ *
193
+ * const loginForm = html.form(
194
+ * on.submit(submit),
195
+ * Control(TextInput, {
196
+ * controller: controller.field('email'),
197
+ * label: 'Email',
198
+ * type: 'email',
199
+ * }),
200
+ * Control(TextInput, {
201
+ * controller: controller.field('password'),
202
+ * label: 'Password',
203
+ * type: 'password',
204
+ * }),
205
+ * Button({ type: 'submit', disabled: submitting }, 'Sign In')
206
+ * )
207
+ * ```
208
+ */
65
209
  export declare function useForm<T extends object>({ initialValue, schema, onSubmit, validationMode, validateDebounceMs, }: UseFormOptions<T>): UseFormResult<T>;
@@ -1,3 +1,12 @@
1
+ /**
2
+ * @fileoverview BeatUI i18n Component Module
3
+ *
4
+ * Exports locale management components and utilities:
5
+ * - {@link Locale} - Provider for managing the current locale and text direction
6
+ * - {@link LocaleSelector} - Dropdown component for locale selection
7
+ * - {@link makeI18nProvider} - Factory for creating i18n providers with dynamic translation loading
8
+ * - {@link LocaleDirection} - Component that applies text direction class to the body element
9
+ */
1
10
  export * from './locale';
2
11
  export * from './locale-selector';
3
12
  export * from './make-i18nprovider';
@@ -1,4 +1,24 @@
1
1
  /**
2
- * Combined theme and direction component that applies both appearance and direction classes to body
2
+ * Component that applies the current text direction class to the document body.
3
+ *
4
+ * Reads the `direction` signal from the `Locale` provider and applies a CSS class
5
+ * of the form `b-ltr` or `b-rtl` to the `<body>` element via a Portal. This enables
6
+ * CSS rules to respond to text direction changes throughout the application.
7
+ *
8
+ * Must be used within a `Provide(Locale, ...)` context.
9
+ *
10
+ * @returns A renderable TNode that manages the body direction class
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { Provide } from '@tempots/dom'
15
+ * import { Locale, LocaleDirection } from '@tempots/beatui'
16
+ *
17
+ * // Include in your app root to enable automatic direction management
18
+ * Provide(Locale, {}, () => Fragment(
19
+ * LocaleDirection(),
20
+ * // ... rest of app
21
+ * ))
22
+ * ```
3
23
  */
4
24
  export declare const LocaleDirection: () => import("@tempots/dom").Renderable;
@@ -1,12 +1,57 @@
1
1
  import { Value } from '@tempots/dom';
2
+ /**
3
+ * Represents a single locale entry for display in the locale selector.
4
+ */
2
5
  export type LocaleItem = {
6
+ /** The locale code (e.g., `'en'`, `'es'`, `'fr'`) */
3
7
  code: string;
8
+ /** The display name of the locale in the application's current language (e.g., `'Spanish'`) */
4
9
  name: string;
10
+ /** The native name of the locale in its own language (e.g., `'Espanol'`). Shown in parentheses after the name if different. */
5
11
  nativeName?: string;
6
12
  };
13
+ /**
14
+ * Configuration options for the {@link LocaleSelector} component.
15
+ */
7
16
  export type LocaleSelectorOptions = {
17
+ /** Reactive list of available locales to display in the dropdown */
8
18
  locales: Value<LocaleItem[]>;
19
+ /** Optional callback invoked when the user selects a different locale */
9
20
  onChange?: (locale: string) => void;
21
+ /**
22
+ * Whether to automatically update the `Locale` provider when the selection changes.
23
+ * @default true
24
+ */
10
25
  updateLocale?: boolean;
11
26
  };
27
+ /**
28
+ * A dropdown component for selecting the application locale.
29
+ *
30
+ * Renders a native `<select>` element wrapped in an `InputWrapper` with a language icon.
31
+ * The component reads the current locale from the `Locale` provider and optionally updates it
32
+ * when the user makes a selection.
33
+ *
34
+ * @param options - Configuration options for the locale selector
35
+ * @param options.locales - Reactive list of available locales
36
+ * @param options.onChange - Optional callback invoked on locale change
37
+ * @param options.updateLocale - Whether to update the Locale provider automatically
38
+ *
39
+ * @returns A renderable TNode representing the locale selector component
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * import { LocaleSelector, LocaleItem } from '@tempots/beatui'
44
+ *
45
+ * const locales: LocaleItem[] = [
46
+ * { code: 'en', name: 'English' },
47
+ * { code: 'es', name: 'Spanish', nativeName: 'Espanol' },
48
+ * { code: 'fr', name: 'French', nativeName: 'Francais' },
49
+ * ]
50
+ *
51
+ * LocaleSelector({
52
+ * locales,
53
+ * onChange: (locale) => console.log('Selected:', locale),
54
+ * })
55
+ * ```
56
+ */
12
57
  export declare function LocaleSelector({ locales, onChange, updateLocale, }: LocaleSelectorOptions): import("@tempots/dom").Renderable;
@@ -1,7 +1,49 @@
1
1
  import { Provider, Signal } from '@tempots/dom';
2
+ /**
3
+ * Creates an i18n provider that manages reactive translations for a given message type.
4
+ *
5
+ * The factory creates a `Provider` that automatically hooks into the `Locale` provider
6
+ * to detect locale changes and dynamically load the corresponding translation messages.
7
+ * It uses `makeMessages` internally for reactive translation management with fallback support.
8
+ *
9
+ * @typeParam M - The shape of the messages object (must extend `object`)
10
+ *
11
+ * @param config - Configuration object for the i18n provider
12
+ * @param config.defaultLocale - The default locale code to use as fallback (e.g., `'en'`)
13
+ * @param config.defaultMessages - The default messages object used before any locale is loaded
14
+ * @param config.localeLoader - Async function that loads messages for a given locale string
15
+ * @param config.providerName - Optional name for the provider mark, used for debugging
16
+ * @default config.providerName `'I18nProvider'`
17
+ *
18
+ * @returns A `Provider<Signal<M>, object>` that provides a reactive signal of the current messages
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { makeI18nProvider } from '@tempots/beatui'
23
+ *
24
+ * type MyMessages = { greeting: string; farewell: string }
25
+ *
26
+ * const MyI18n = makeI18nProvider<MyMessages>({
27
+ * defaultLocale: 'en',
28
+ * defaultMessages: { greeting: 'Hello', farewell: 'Goodbye' },
29
+ * localeLoader: async (locale) => {
30
+ * const mod = await import(`./locales/${locale}.ts`)
31
+ * return mod.default
32
+ * },
33
+ * providerName: 'MyI18n',
34
+ * })
35
+ *
36
+ * // Use in a component
37
+ * Use(MyI18n, t => html.p(t.$.greeting))
38
+ * ```
39
+ */
2
40
  export declare function makeI18nProvider<M extends object>({ defaultLocale, defaultMessages, localeLoader, providerName, }: {
41
+ /** The default locale code to use as fallback (e.g., `'en'`) */
3
42
  defaultLocale: string;
43
+ /** The default messages object used before any locale is loaded */
4
44
  defaultMessages: M;
45
+ /** Async function that loads messages for a given locale string */
5
46
  localeLoader: (locale: string) => Promise<M>;
47
+ /** Optional name for the provider mark, used for debugging. @default 'I18nProvider' */
6
48
  providerName?: string;
7
49
  }): Provider<Signal<M>, object>;
@@ -1,85 +1,218 @@
1
1
  import type Ajv from 'ajv';
2
+ /**
3
+ * Universal JSON Schema type identifiers that work across draft-07, 2019-09, and 2020-12.
4
+ *
5
+ * These represent the fundamental data types recognized by all JSON Schema drafts.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const schema: JSONSchema = { type: 'string' }
10
+ * const multiType: JSONSchema = { type: ['string', 'null'] }
11
+ * ```
12
+ */
2
13
  export type JSONSchemaType = 'null' | 'boolean' | 'object' | 'array' | 'number' | 'string' | 'integer';
14
+ /**
15
+ * A JSON Schema definition, which can be either a full schema object or a boolean.
16
+ *
17
+ * When `true`, it accepts any value. When `false`, it rejects all values.
18
+ * This is used in subschema positions like `additionalProperties`, `items`, etc.
19
+ */
3
20
  export type JSONSchemaDefinition = JSONSchema | boolean;
21
+ /**
22
+ * Represents a complete JSON Schema object supporting draft-07, 2019-09, and 2020-12 keywords.
23
+ *
24
+ * This interface provides a unified type covering all standard JSON Schema keywords across
25
+ * multiple specification drafts. It serves as the primary schema representation used throughout
26
+ * the BeatUI JSON Schema form generation system.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const userSchema: JSONSchema = {
31
+ * type: 'object',
32
+ * title: 'User',
33
+ * properties: {
34
+ * name: { type: 'string', minLength: 1 },
35
+ * age: { type: 'integer', minimum: 0 },
36
+ * },
37
+ * required: ['name'],
38
+ * }
39
+ * ```
40
+ */
4
41
  export interface JSONSchema {
42
+ /** Unique identifier for the schema */
5
43
  $id?: string;
44
+ /** URI identifying the JSON Schema draft version */
6
45
  $schema?: string;
46
+ /** Reference to another schema by URI */
7
47
  $ref?: string;
48
+ /** Human-readable comment for schema maintainers */
8
49
  $comment?: string;
50
+ /** Human-readable title for the schema */
9
51
  title?: string;
52
+ /** Human-readable description of the schema's purpose */
10
53
  description?: string;
54
+ /** Default value for the schema */
11
55
  default?: unknown;
56
+ /** Example values conforming to this schema */
12
57
  examples?: unknown[];
58
+ /** Whether the value is read-only (informational, not enforced) */
13
59
  readOnly?: boolean;
60
+ /** Whether the value is write-only (e.g., passwords) */
14
61
  writeOnly?: boolean;
62
+ /** Whether the schema is deprecated */
15
63
  deprecated?: boolean;
64
+ /** The data type(s) allowed by this schema */
16
65
  type?: JSONSchemaType | JSONSchemaType[];
66
+ /** Array of allowed values */
17
67
  enum?: unknown[];
68
+ /** The exact value required */
18
69
  const?: unknown;
70
+ /** Number must be a multiple of this value */
19
71
  multipleOf?: number;
72
+ /** Maximum allowed value (inclusive) */
20
73
  maximum?: number;
74
+ /** Maximum allowed value (exclusive) */
21
75
  exclusiveMaximum?: number;
76
+ /** Minimum allowed value (inclusive) */
22
77
  minimum?: number;
78
+ /** Minimum allowed value (exclusive) */
23
79
  exclusiveMinimum?: number;
80
+ /** Maximum allowed string length */
24
81
  maxLength?: number;
82
+ /** Minimum required string length */
25
83
  minLength?: number;
84
+ /** Regular expression pattern the string must match */
26
85
  pattern?: string;
86
+ /** Semantic format identifier (e.g., 'email', 'date-time', 'uri') */
27
87
  format?: string;
88
+ /** Schema(s) for array items; a single schema applies to all items */
28
89
  items?: JSONSchemaDefinition | JSONSchemaDefinition[];
90
+ /** Schema for items beyond those specified in tuple-style `items` */
29
91
  additionalItems?: JSONSchemaDefinition;
92
+ /** Maximum allowed array length */
30
93
  maxItems?: number;
94
+ /** Minimum required array length */
31
95
  minItems?: number;
96
+ /** Whether all array items must be unique */
32
97
  uniqueItems?: boolean;
98
+ /** Schema that at least one array item must match */
33
99
  contains?: JSONSchemaDefinition;
100
+ /** Minimum number of items matching `contains` (2019-09+) */
34
101
  minContains?: number;
102
+ /** Maximum number of items matching `contains` (2019-09+) */
35
103
  maxContains?: number;
104
+ /** Maximum allowed number of properties */
36
105
  maxProperties?: number;
106
+ /** Minimum required number of properties */
37
107
  minProperties?: number;
108
+ /** List of required property names */
38
109
  required?: string[];
110
+ /** Schemas for known properties by name */
39
111
  properties?: Record<string, JSONSchemaDefinition>;
112
+ /** Schemas for properties matching regex patterns */
40
113
  patternProperties?: Record<string, JSONSchemaDefinition>;
114
+ /** Schema for properties not covered by `properties` or `patternProperties` */
41
115
  additionalProperties?: JSONSchemaDefinition;
116
+ /** Property dependencies (draft-07): maps property name to required properties or subschema */
42
117
  dependencies?: Record<string, JSONSchemaDefinition | string[]>;
118
+ /** Schema that property names must conform to */
43
119
  propertyNames?: JSONSchemaDefinition;
120
+ /** Conditional schema: if the value matches this, apply `then`; otherwise apply `else` */
44
121
  if?: JSONSchemaDefinition;
122
+ /** Schema applied when `if` matches */
45
123
  then?: JSONSchemaDefinition;
124
+ /** Schema applied when `if` does not match */
46
125
  else?: JSONSchemaDefinition;
126
+ /** Value must match all of these schemas */
47
127
  allOf?: JSONSchemaDefinition[];
128
+ /** Value must match at least one of these schemas */
48
129
  anyOf?: JSONSchemaDefinition[];
130
+ /** Value must match exactly one of these schemas */
49
131
  oneOf?: JSONSchemaDefinition[];
132
+ /** Value must not match this schema */
50
133
  not?: JSONSchemaDefinition;
134
+ /** Maps property name to list of other required properties when that property is present */
51
135
  dependentRequired?: Record<string, string[]>;
136
+ /** Maps property name to additional schema applied when that property is present */
52
137
  dependentSchemas?: Record<string, JSONSchemaDefinition>;
138
+ /** Schema for items not evaluated by other keywords (2019-09+) */
53
139
  unevaluatedItems?: JSONSchemaDefinition;
140
+ /** Schema for properties not evaluated by other keywords (2019-09+) */
54
141
  unevaluatedProperties?: JSONSchemaDefinition;
142
+ /** Tuple-style item schemas for array positions (2020-12; replaces tuple-style `items`) */
55
143
  prefixItems?: JSONSchemaDefinition[];
144
+ /** Encoding used for content (e.g., 'base64') */
56
145
  contentEncoding?: string;
146
+ /** MIME type of the content */
57
147
  contentMediaType?: string;
148
+ /** Schema describing the decoded content */
58
149
  contentSchema?: JSONSchemaDefinition;
150
+ /** Reusable schema definitions (draft-07: `definitions`) */
59
151
  definitions?: Record<string, JSONSchemaDefinition>;
152
+ /** Reusable schema definitions (2019-09+: `$defs`) */
60
153
  $defs?: Record<string, JSONSchemaDefinition>;
154
+ /** Extension point for custom keywords */
61
155
  [key: string]: unknown;
62
156
  }
157
+ /**
158
+ * Represents a conflict discovered when merging schemas in an `allOf` composition.
159
+ *
160
+ * Schema conflicts occur when two or more subschemas in an `allOf` specify
161
+ * incompatible constraints for the same property or keyword.
162
+ */
63
163
  export type SchemaConflict = {
164
+ /** JSON path segments identifying the location of the conflict */
64
165
  readonly path: ReadonlyArray<PropertyKey>;
166
+ /** Human-readable description of the conflict */
65
167
  readonly message: string;
168
+ /** The conflicting values from different subschemas */
66
169
  readonly conflictingValues: readonly unknown[];
67
170
  };
171
+ /**
172
+ * Result of merging multiple schemas via `allOf` composition.
173
+ *
174
+ * Contains the successfully merged schema along with any conflicts
175
+ * that were encountered during the merge process.
176
+ */
68
177
  export type AllOfMergeResult = {
178
+ /** The merged schema combining all `allOf` subschemas */
69
179
  readonly mergedSchema: JSONSchema;
180
+ /** Any conflicts discovered during the merge */
70
181
  readonly conflicts: readonly SchemaConflict[];
71
182
  };
183
+ /**
184
+ * Represents a violation of a `not` schema constraint.
185
+ *
186
+ * A not violation occurs when the current value matches a schema
187
+ * specified in the `not` keyword, meaning the value is disallowed.
188
+ */
72
189
  export type NotViolation = {
190
+ /** JSON path segments identifying the location of the violation */
73
191
  readonly path: ReadonlyArray<PropertyKey>;
192
+ /** Human-readable description of the violation */
74
193
  readonly message: string;
194
+ /** The `not` schema that the value incorrectly matches */
75
195
  readonly notSchema: JSONSchema;
76
196
  };
197
+ /**
198
+ * Configuration options for creating a {@link SchemaContext}.
199
+ *
200
+ * These options define the complete state needed to render a JSON Schema form control,
201
+ * including the root schema, current definition, navigation path, and validation support.
202
+ */
77
203
  export type SchemaContextOptions = {
204
+ /** The root JSON Schema document */
78
205
  schema: JSONSchemaDefinition;
206
+ /** The current schema definition being rendered */
79
207
  definition: JSONSchemaDefinition;
208
+ /** Path segments from root to the current position in the schema tree */
80
209
  path: ReadonlyArray<PropertyKey>;
210
+ /** Path segments for the parent of the current position */
81
211
  parentPath: ReadonlyArray<PropertyKey>;
212
+ /** Name of the current property (if inside an object) */
82
213
  propertyName: PropertyKey | undefined;
214
+ /** Whether the current field is required */
83
215
  required: boolean;
216
+ /** AJV instance for schema compilation and validation */
84
217
  ajv: Ajv | undefined;
85
218
  };
@@ -3,12 +3,11 @@
3
3
  *
4
4
  * Helper functions for displaying deprecation indicators on deprecated fields
5
5
  */
6
- import { type TNode } from '@tempots/dom';
7
6
  /**
8
7
  * Create a deprecation indicator badge
9
8
  */
10
- export declare function DeprecationBadge(): TNode;
9
+ export declare function DeprecationBadge(): import("@tempots/dom").Renderable;
11
10
  /**
12
11
  * Wrap label with deprecation indicator if field is deprecated
13
12
  */
14
- export declare function withDeprecationBadge(label: string | undefined, isDeprecated: boolean): TNode;
13
+ export declare function withDeprecationBadge(label: string | undefined, isDeprecated: boolean): string | import("@tempots/dom").Renderable;