@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,3 +1,21 @@
1
+ /**
2
+ * A nullable variant of {@link PlainYearMonthInput} for `PlainYearMonth | null` values.
3
+ *
4
+ * Renders a native HTML `month` input that can be cleared to `null`.
5
+ * Created via {@link createNullableTemporalInput} with `PlainYearMonth` serialization.
6
+ * Includes a reset button to clear the value. Requires the Temporal polyfill.
7
+ *
8
+ * @param options - Standard input options for a `PlainYearMonth | null` value.
9
+ * @returns A renderable nullable plain year-month input component.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * NullablePlainYearMonthInput({
14
+ * value: prop<PlainYearMonth | null>(null),
15
+ * onChange: ym => console.log('YearMonth:', ym?.toString() ?? 'null'),
16
+ * })
17
+ * ```
18
+ */
1
19
  export declare const NullablePlainYearMonthInput: (options: {
2
20
  autocomplete?: import("@tempots/dom").Value<string> | undefined;
3
21
  autofocus?: import("@tempots/dom").Value<boolean> | undefined;
@@ -2,13 +2,46 @@ import { Value } from '@tempots/dom';
2
2
  import { InputOptions } from './input-options';
3
3
  import { ThemeColorName } from '../../../tokens';
4
4
  import { ControlSize } from '../../theme/types';
5
+ /**
6
+ * Options for the {@link NullableRatingInput} component.
7
+ * Extends standard `InputOptions` for `number | null` values with rating-specific settings.
8
+ */
5
9
  export type NullableRatingInputOptions = InputOptions<number | null> & {
10
+ /**
11
+ * Maximum number of rating stars/items.
12
+ * @default 5
13
+ */
6
14
  max?: Value<number>;
15
+ /** Color name for filled rating icons. */
7
16
  fullColor?: Value<ThemeColorName>;
17
+ /** Color name for empty rating icons. */
8
18
  emptyColor?: Value<ThemeColorName>;
19
+ /** Icon identifier for filled rating items. */
9
20
  fullIcon?: Value<string>;
21
+ /** Icon identifier for empty rating items. */
10
22
  emptyIcon?: Value<string>;
23
+ /** Size of the rating icons. */
11
24
  size?: Value<ControlSize>;
25
+ /** Rounding precision for fractional ratings (e.g., `0.5` for half stars). */
12
26
  rounding?: Value<number>;
13
27
  };
28
+ /**
29
+ * A nullable variant of {@link RatingInput} for `number | null` values.
30
+ *
31
+ * Displays as a standard rating input where `null` values show as zero stars.
32
+ * Includes a reset button to clear the value back to `null`. Supports all
33
+ * rating options like custom icons, colors, and rounding.
34
+ *
35
+ * @param options - Configuration options for the nullable rating input.
36
+ * @returns A renderable nullable rating input component.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * NullableRatingInput({
41
+ * value: prop<number | null>(null),
42
+ * max: 5,
43
+ * onChange: v => console.log('Rating:', v), // null or number
44
+ * })
45
+ * ```
46
+ */
14
47
  export declare const NullableRatingInput: (options: NullableRatingInputOptions) => import("@tempots/dom").Renderable;
@@ -1,9 +1,36 @@
1
1
  import { Value } from '@tempots/dom';
2
2
  import { Merge } from '@tempots/std';
3
3
  import { TextArea, TextAreaOptions } from './text-area';
4
+ /**
5
+ * Options for the {@link NullableTextArea} component.
6
+ * Extends `TextAreaOptions` but accepts `null | string` for value and callbacks.
7
+ */
4
8
  export type NullableTextAreaOptions = Merge<Omit<TextAreaOptions, 'value' | 'onChange' | 'onInput'>, {
9
+ /** The current value, which may be `null` (empty/unset) or a `string`. */
5
10
  value: Value<null | string>;
11
+ /** Callback invoked on change with `null` (if emptied) or the new string value. */
6
12
  onChange?: (value: null | string) => void;
13
+ /** Callback invoked on input with `null` (if emptied) or the new string value. */
7
14
  onInput?: (value: null | string) => void;
8
15
  }>;
16
+ /**
17
+ * A nullable variant of {@link TextArea} that maps between `string | null` and `string`.
18
+ *
19
+ * Empty strings are converted to `null` on change, and `null` values are displayed
20
+ * as empty strings. Includes a reset button to clear the value back to `null`.
21
+ * Preserves all `TextAreaOptions` like `rows`, `cols`, and `autoResize`.
22
+ *
23
+ * @param options - Nullable text area options.
24
+ * @returns A renderable nullable text area component.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * NullableTextArea({
29
+ * value: prop<string | null>(null),
30
+ * rows: 4,
31
+ * placeholder: 'Enter text or leave empty...',
32
+ * onChange: v => console.log('Value:', v), // null or string
33
+ * })
34
+ * ```
35
+ */
9
36
  export declare const NullableTextArea: (options: NullableTextAreaOptions) => ReturnType<typeof TextArea>;
@@ -1,3 +1,21 @@
1
1
  import { emptyToNull, nullToEmpty } from './create-nullable-string-input';
2
2
  export { emptyToNull, nullToEmpty };
3
+ /**
4
+ * A nullable variant of {@link TextInput} that maps between `string | null` and `string`.
5
+ *
6
+ * Empty strings are converted to `null` on change, and `null` values are displayed
7
+ * as empty strings. Includes a reset button to clear the value back to `null`.
8
+ *
9
+ * @param options - Standard input options for a `string | null` value.
10
+ * @returns A renderable nullable text input component.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * NullableTextInput({
15
+ * value: prop<string | null>(null),
16
+ * placeholder: 'Enter text or leave empty...',
17
+ * onChange: v => console.log('Value:', v), // null or string
18
+ * })
19
+ * ```
20
+ */
3
21
  export declare const NullableTextInput: (options: import("./input-options").InputOptions<null | string>) => import("@tempots/dom").Renderable;
@@ -1 +1,19 @@
1
+ /**
2
+ * A nullable variant of {@link UrlInput} that maps between `string | null` and `string`.
3
+ *
4
+ * Empty strings are converted to `null` on change, and `null` values are displayed
5
+ * as empty strings. Includes a reset button to clear the value back to `null`.
6
+ *
7
+ * @param options - Standard input options for a `string | null` value.
8
+ * @returns A renderable nullable URL input component.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * NullableUrlInput({
13
+ * value: prop<string | null>(null),
14
+ * placeholder: 'Enter URL or leave empty...',
15
+ * onChange: v => console.log('URL:', v), // null or string
16
+ * })
17
+ * ```
18
+ */
1
19
  export declare const NullableUrlInput: (options: import("./input-options").InputOptions<null | string>) => import("@tempots/dom").Renderable;
@@ -1,2 +1,22 @@
1
- import { TNode, Value } from '@tempots/dom';
2
- export declare function NullableResetAfter<V>(value: Value<V | null>, disabled?: Value<boolean>, onChange?: (v: V | null) => void): TNode;
1
+ import { Value } from '@tempots/dom';
2
+ /**
3
+ * Creates a small reset (clear) button for nullable input fields.
4
+ *
5
+ * The button is rendered in the `after` slot of an `InputContainer` and allows
6
+ * users to clear the current value back to `null`. It is automatically disabled
7
+ * when the value is already `null` or the input is disabled.
8
+ *
9
+ * @typeParam V - The non-null value type of the input.
10
+ * @param value - Reactive value that may be `V` or `null`.
11
+ * @param disabled - Optional reactive boolean indicating whether the input is disabled.
12
+ * @param onChange - Optional callback invoked with `null` when the reset button is clicked.
13
+ * @returns A DOM node representing the reset button.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const resetAfter = NullableResetAfter(value, disabled, onChange)
18
+ * // Use in InputContainer:
19
+ * InputContainer({ ...options, after: resetAfter })
20
+ * ```
21
+ */
22
+ export declare function NullableResetAfter<V>(value: Value<V | null>, disabled?: Value<boolean>, onChange?: (v: V | null) => void): import("@tempots/dom").Renderable;
@@ -1 +1,19 @@
1
+ /**
2
+ * A nullable variant of {@link UUIDInput} that maps between `string | null` and `string`.
3
+ *
4
+ * Empty strings are converted to `null` on change, and `null` values are displayed
5
+ * as empty strings. Includes a reset button to clear the value back to `null`.
6
+ * Retains the 8-4-4-4-12 hex digit mask from `UUIDInput`.
7
+ *
8
+ * @param options - Standard input options for a `string | null` value.
9
+ * @returns A renderable nullable UUID input component.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * NullableUUIDInput({
14
+ * value: prop<string | null>(null),
15
+ * onChange: v => console.log('UUID:', v), // null or string
16
+ * })
17
+ * ```
18
+ */
1
19
  export declare const NullableUUIDInput: (options: import("./input-options").InputOptions<null | string>) => import("@tempots/dom").Renderable;
@@ -1,3 +1,23 @@
1
1
  import { InputOptions } from './input-options';
2
2
  import { ZonedDateTime } from '../../../temporal';
3
+ /**
4
+ * A nullable variant of {@link ZonedDateTimeInput} for `ZonedDateTime | null` values.
5
+ *
6
+ * Renders a `datetime-local` HTML input that can be cleared to `null`. The time
7
+ * zone is inferred from the `placeholder` option or defaults to the user's local
8
+ * time zone. Includes a reset button to clear the value. Requires the Temporal polyfill.
9
+ *
10
+ * @param options - Standard input options for a `ZonedDateTime | null` value.
11
+ * The `placeholder` option can be used to specify a time zone string.
12
+ * @returns A renderable nullable zoned date-time input component.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * NullableZonedDateTimeInput({
17
+ * value: prop<ZonedDateTime | null>(null),
18
+ * placeholder: 'America/New_York',
19
+ * onChange: zdt => console.log('ZonedDateTime:', zdt?.toString() ?? 'null'),
20
+ * })
21
+ * ```
22
+ */
3
23
  export declare const NullableZonedDateTimeInput: (options: InputOptions<ZonedDateTime | null>) => import("@tempots/dom").Renderable;
@@ -1,9 +1,58 @@
1
1
  import { Value } from '@tempots/dom';
2
2
  import { InputOptions } from './input-options';
3
3
  import { Merge } from '@tempots/std';
4
+ /**
5
+ * Configuration options for the {@link NumberInput} component.
6
+ *
7
+ * Extends {@link InputOptions} for numeric values with additional properties for
8
+ * step increment, minimum and maximum bounds. When `step` is provided, stepper
9
+ * buttons and mouse wheel support are automatically enabled.
10
+ */
4
11
  export type NumberInputOptions = Merge<InputOptions<number>, {
12
+ /** Step increment for stepper buttons and wheel interactions. When set, enables +/- buttons and scroll-to-step. Hold Shift for 10x multiplier. */
5
13
  step?: Value<number>;
14
+ /** Minimum allowed value. Disables decrement when reached. */
6
15
  min?: Value<number>;
16
+ /** Maximum allowed value. Disables increment when reached. */
7
17
  max?: Value<number>;
8
18
  }>;
19
+ /**
20
+ * A numeric input component wrapping a native `<input type="number">` with optional stepper buttons.
21
+ *
22
+ * Renders a styled number field inside an {@link InputContainer} with support for
23
+ * reactive values, min/max constraints, and an optional step increment. When `step`
24
+ * is provided, increment/decrement buttons appear alongside the input, and mouse
25
+ * wheel scrolling adjusts the value. Holding Shift while clicking steppers or
26
+ * scrolling applies a 10x multiplier to the step value.
27
+ *
28
+ * @param options - Configuration options for the number input
29
+ * @returns A styled number input element with optional stepper buttons, wrapped in an InputContainer
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * import { prop } from '@tempots/dom'
34
+ * import { NumberInput } from '@tempots/beatui'
35
+ *
36
+ * const quantity = prop(1)
37
+ * NumberInput({
38
+ * value: quantity,
39
+ * onChange: quantity.set,
40
+ * min: 0,
41
+ * max: 100,
42
+ * step: 1,
43
+ * placeholder: 'Quantity',
44
+ * })
45
+ * ```
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * // Without stepper buttons (no step provided)
50
+ * NumberInput({
51
+ * value: prop(0),
52
+ * onChange: (v) => console.log('Value:', v),
53
+ * min: -10,
54
+ * max: 10,
55
+ * })
56
+ * ```
57
+ */
9
58
  export declare const NumberInput: (options: NumberInputOptions) => import("@tempots/dom").Renderable;
@@ -1,38 +1,203 @@
1
1
  import { TNode } from '@tempots/dom';
2
+ /**
3
+ * Represents a single selectable option with a value and label.
4
+ *
5
+ * This is the primary option type used in dropdowns, select inputs, and comboboxes.
6
+ * Each option has a unique value and a human-readable label, with optional decorations
7
+ * (before/after nodes) and disabled state.
8
+ *
9
+ * @template T - The type of the option's value
10
+ */
2
11
  export type ValueOption<T> = {
12
+ /** Discriminator for option type */
3
13
  type: 'value';
14
+ /** The actual value of the option (returned on selection) */
4
15
  value: T;
16
+ /** Display label shown to the user */
5
17
  label: string;
18
+ /** Whether the option is disabled and cannot be selected */
6
19
  disabled?: boolean;
20
+ /** Optional node to render before the label (e.g., icon) */
7
21
  before?: TNode;
22
+ /** Optional node to render after the label (e.g., badge) */
8
23
  after?: TNode;
9
24
  };
25
+ /**
26
+ * Represents a group of options with a header label.
27
+ *
28
+ * Used to organize options into logical sections in dropdowns and selects.
29
+ * The group itself cannot be selected, but contains a list of selectable options.
30
+ *
31
+ * @template T - The type of the option values within the group
32
+ */
10
33
  export type GroupOption<T> = {
34
+ /** Discriminator for option type */
11
35
  type: 'group';
36
+ /** Header label for the group */
12
37
  group: string;
38
+ /** Array of options within this group */
13
39
  options: ValueOption<T>[];
40
+ /** Whether all options in the group are disabled */
14
41
  disabled?: boolean;
42
+ /** Optional node to render before the group label */
15
43
  before?: TNode;
44
+ /** Optional node to render after the group label */
16
45
  after?: TNode;
17
46
  };
47
+ /**
48
+ * Represents a visual separator (divider) in the option list.
49
+ *
50
+ * Used to add visual breaks between sections of options without creating a labeled group.
51
+ */
18
52
  export type BreakOption = {
19
53
  type: 'break';
20
54
  };
55
+ /**
56
+ * Union type for all option types that can be used in select inputs.
57
+ *
58
+ * @template T - The type of the option values
59
+ */
21
60
  export type SelectOption<T> = ValueOption<T> | GroupOption<T> | BreakOption;
61
+ /**
62
+ * Union type for all option types that can be used in dropdown and combobox inputs.
63
+ *
64
+ * This is a discriminated union that allows type-safe handling of different option kinds:
65
+ * - `ValueOption<T>` - A selectable option with value and label
66
+ * - `GroupOption<T>` - A group header containing multiple options
67
+ * - `BreakOption` - A visual separator
68
+ *
69
+ * @template T - The type of the option values
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * const options: DropdownOption<string>[] = [
74
+ * Option.value('red', 'Red'),
75
+ * Option.value('blue', 'Blue'),
76
+ * Option.break,
77
+ * Option.group('Advanced', [
78
+ * Option.value('cyan', 'Cyan'),
79
+ * Option.value('magenta', 'Magenta')
80
+ * ])
81
+ * ]
82
+ * ```
83
+ */
22
84
  export type DropdownOption<T> = ValueOption<T> | GroupOption<T> | BreakOption;
85
+ /**
86
+ * Generic union of all option types for maximum flexibility.
87
+ *
88
+ * @template T - The type of the option values
89
+ */
23
90
  export type AnyOption<T> = SelectOption<T> | DropdownOption<T>;
91
+ /**
92
+ * Utility namespace for creating and manipulating option structures.
93
+ *
94
+ * Provides factory functions for creating options, groups, and breaks, as well as
95
+ * helper methods for extracting values and checking option membership.
96
+ */
24
97
  export declare const Option: {
98
+ /**
99
+ * Creates a value option.
100
+ *
101
+ * @template T - The type of the option value
102
+ * @param value - The option's value
103
+ * @param label - Display label for the option
104
+ * @param options - Additional configuration (disabled, before, after)
105
+ * @returns A ValueOption object
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * Option.value('red', 'Red', {
110
+ * before: Icon({ icon: 'circle', color: 'red' }),
111
+ * disabled: false
112
+ * })
113
+ * ```
114
+ */
25
115
  value: <T>(value: T, label: string, { disabled, before, after, }?: {
26
116
  disabled?: boolean;
27
117
  before?: TNode;
28
118
  after?: TNode;
29
119
  }) => ValueOption<T>;
120
+ /**
121
+ * Creates a group option containing multiple value options.
122
+ *
123
+ * @template T - The type of the option values
124
+ * @param group - Header label for the group
125
+ * @param options - Array of value options or breaks within the group
126
+ * @param config - Additional configuration (disabled, before, after)
127
+ * @returns A GroupOption object
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * Option.group('Colors', [
132
+ * Option.value('red', 'Red'),
133
+ * Option.value('blue', 'Blue'),
134
+ * Option.break,
135
+ * Option.value('green', 'Green')
136
+ * ])
137
+ * ```
138
+ */
30
139
  group: <T>(group: string, options: (ValueOption<T> | BreakOption)[], { disabled, before, after, }?: {
31
140
  disabled?: boolean;
32
141
  before?: TNode;
33
142
  after?: TNode;
34
143
  }) => GroupOption<T>;
144
+ /**
145
+ * A visual separator for breaking up option lists.
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * const options = [
150
+ * Option.value(1, 'One'),
151
+ * Option.value(2, 'Two'),
152
+ * Option.break,
153
+ * Option.value(3, 'Three')
154
+ * ]
155
+ * ```
156
+ */
35
157
  break: BreakOption;
158
+ /**
159
+ * Extracts all values from an array of options, flattening groups.
160
+ *
161
+ * This recursively walks through the option structure and returns only the
162
+ * actual values (ignoring groups and breaks).
163
+ *
164
+ * @template T - The type of the option values
165
+ * @param options - Array of options to extract values from
166
+ * @returns Array of all values in the option structure
167
+ *
168
+ * @example
169
+ * ```ts
170
+ * const options = [
171
+ * Option.value(1, 'One'),
172
+ * Option.group('Group', [Option.value(2, 'Two')]),
173
+ * Option.break
174
+ * ]
175
+ * Option.getValues(options) // Returns [1, 2]
176
+ * ```
177
+ */
36
178
  getValues: <T>(options: AnyOption<T>[]) => T[];
179
+ /**
180
+ * Checks if a value exists within an array of options.
181
+ *
182
+ * This is useful for validating whether a selected value is actually present
183
+ * in the available options. Uses a custom equality function for complex types.
184
+ *
185
+ * @template T - The type of the option values
186
+ * @param options - Array of options to search
187
+ * @param value - Value to search for
188
+ * @param equality - Optional custom equality function (defaults to strict equality)
189
+ * @returns True if the value exists in the options, false otherwise
190
+ *
191
+ * @example
192
+ * ```ts
193
+ * const options = [Option.value(1, 'One'), Option.value(2, 'Two')]
194
+ * Option.contains(options, 1) // Returns true
195
+ * Option.contains(options, 3) // Returns false
196
+ *
197
+ * // Custom equality for objects
198
+ * const objOptions = [Option.value({ id: 1 }, 'Item 1')]
199
+ * Option.contains(objOptions, { id: 1 }, (a, b) => a.id === b.id) // Returns true
200
+ * ```
201
+ */
37
202
  contains: <T>(options: AnyOption<T>[], value: T, equality?: (a: T, b: T) => boolean) => boolean;
38
203
  };
@@ -0,0 +1,77 @@
1
+ import { Value } from '@tempots/dom';
2
+ import { ControlSize } from '../../theme';
3
+ import { ThemeColorName } from '../../../tokens';
4
+ /**
5
+ * Configuration options for the {@link OTPInput} component.
6
+ */
7
+ export interface OTPInputOptions {
8
+ /** Number of input digits/characters. @default 6 */
9
+ length?: number;
10
+ /** The current OTP value as a string */
11
+ value?: Value<string>;
12
+ /** Callback invoked on every input change */
13
+ onChange?: (value: string) => void;
14
+ /** Callback invoked when all digits have been entered */
15
+ onComplete?: (value: string) => void;
16
+ /** Whether the input is disabled. @default false */
17
+ disabled?: Value<boolean>;
18
+ /**
19
+ * Whether to mask the input characters (like a password).
20
+ * @default false
21
+ */
22
+ mask?: boolean;
23
+ /**
24
+ * Allowed input type.
25
+ * - `'numeric'` allows only digits 0-9
26
+ * - `'alphanumeric'` allows letters and digits
27
+ * @default 'numeric'
28
+ */
29
+ type?: 'numeric' | 'alphanumeric';
30
+ /** Visual size of the input cells. @default 'md' */
31
+ size?: Value<ControlSize>;
32
+ /** Theme color for the focused input border. @default 'primary' */
33
+ color?: Value<ThemeColorName>;
34
+ /** Placeholder character shown in empty cells. @default '' */
35
+ placeholder?: string;
36
+ /** Whether to auto-focus the first cell on mount. @default false */
37
+ autoFocus?: boolean;
38
+ }
39
+ /**
40
+ * A one-time password (OTP) / PIN input component.
41
+ *
42
+ * Renders a row of individual input cells for entering verification codes,
43
+ * PINs, or any fixed-length token. Features automatic focus advancement
44
+ * between cells, paste support, keyboard navigation (arrow keys, backspace),
45
+ * and optional character masking.
46
+ *
47
+ * @param options - Configuration for the OTP input
48
+ * @returns A row of input cells for OTP entry
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * import { prop } from '@tempots/dom'
53
+ * import { OTPInput } from '@tempots/beatui'
54
+ *
55
+ * const code = prop('')
56
+ * OTPInput({
57
+ * value: code,
58
+ * onChange: code.set,
59
+ * onComplete: (v) => console.log('Code entered:', v),
60
+ * length: 6,
61
+ * })
62
+ * ```
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * // Masked 4-digit PIN
67
+ * OTPInput({
68
+ * value: prop(''),
69
+ * onChange: (v) => console.log(v),
70
+ * length: 4,
71
+ * mask: true,
72
+ * type: 'numeric',
73
+ * size: 'lg',
74
+ * })
75
+ * ```
76
+ */
77
+ export declare function OTPInput({ length, value, onChange, onComplete, disabled, mask, type, size, color, placeholder, autoFocus, }?: OTPInputOptions): import("@tempots/dom").Renderable;
@@ -1,2 +1,41 @@
1
1
  import { InputOptions } from './input-options';
2
+ /**
3
+ * A password input component with a built-in visibility toggle button.
4
+ *
5
+ * Renders a styled password field inside an {@link InputContainer} that switches
6
+ * between `type="password"` and `type="text"` when the user clicks the eye icon
7
+ * toggle. The placeholder automatically shows bullet characters when the password
8
+ * is hidden. Autocomplete defaults to `'current-password'` when hidden and `'off'`
9
+ * when visible.
10
+ *
11
+ * The component uses the BeatUI i18n system for localized placeholder text and
12
+ * toggle button aria labels.
13
+ *
14
+ * @param options - Configuration options following the {@link InputOptions} pattern for string values
15
+ * @returns A styled password input element with visibility toggle, wrapped in an InputContainer
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * import { prop } from '@tempots/dom'
20
+ * import { PasswordInput } from '@tempots/beatui'
21
+ *
22
+ * const password = prop('')
23
+ * PasswordInput({
24
+ * value: password,
25
+ * onChange: password.set,
26
+ * placeholder: 'Enter password',
27
+ * })
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * // With custom before icon and additional after content
33
+ * PasswordInput({
34
+ * value: prop(''),
35
+ * onChange: (v) => console.log('Password:', v),
36
+ * before: Icon({ icon: 'line-md:lock' }),
37
+ * after: html.span('Strength: weak'),
38
+ * })
39
+ * ```
40
+ */
2
41
  export declare const PasswordInput: (options: InputOptions<string>) => import("@tempots/dom").Renderable;
@@ -1,3 +1,20 @@
1
+ /**
2
+ * An input component for `Temporal.PlainDate` values.
3
+ *
4
+ * Renders a native HTML `date` input. Created via {@link createTemporalInput}
5
+ * with `PlainDate` serialization. Requires the Temporal polyfill.
6
+ *
7
+ * @param options - Standard input options for a `PlainDate` value.
8
+ * @returns A renderable plain date input component.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * PlainDateInput({
13
+ * value: prop(Temporal.PlainDate.from('2024-01-15')),
14
+ * onChange: date => console.log('Date:', date.toString()),
15
+ * })
16
+ * ```
17
+ */
1
18
  export declare const PlainDateInput: (options: {
2
19
  autocomplete?: import("@tempots/dom").Value<string> | undefined;
3
20
  autofocus?: import("@tempots/dom").Value<boolean> | undefined;
@@ -1,3 +1,20 @@
1
+ /**
2
+ * An input component for `Temporal.PlainDateTime` values.
3
+ *
4
+ * Renders a native HTML `datetime-local` input. Created via {@link createTemporalInput}
5
+ * with `PlainDateTime` serialization. Requires the Temporal polyfill.
6
+ *
7
+ * @param options - Standard input options for a `PlainDateTime` value.
8
+ * @returns A renderable plain date-time input component.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * PlainDateTimeInput({
13
+ * value: prop(Temporal.PlainDateTime.from('2024-01-15T14:30')),
14
+ * onChange: dt => console.log('DateTime:', dt.toString()),
15
+ * })
16
+ * ```
17
+ */
1
18
  export declare const PlainDateTimeInput: (options: {
2
19
  autocomplete?: import("@tempots/dom").Value<string> | undefined;
3
20
  autofocus?: import("@tempots/dom").Value<boolean> | undefined;
@@ -1,3 +1,21 @@
1
1
  import { InputOptions } from './input-options';
2
2
  import { PlainMonthDay } from '../../../temporal';
3
+ /**
4
+ * An input component for `Temporal.PlainMonthDay` values.
5
+ *
6
+ * Uses a masked text input with the pattern `MM-DD`. The value is displayed
7
+ * without the leading `--` prefix and parsed back with it. Requires the
8
+ * Temporal polyfill.
9
+ *
10
+ * @param options - Standard input options for a `PlainMonthDay` value.
11
+ * @returns A renderable plain month-day input component.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * PlainMonthDayInput({
16
+ * value: prop(Temporal.PlainMonthDay.from('--12-25')),
17
+ * onChange: md => console.log('MonthDay:', md.toString()),
18
+ * })
19
+ * ```
20
+ */
3
21
  export declare const PlainMonthDayInput: (options: InputOptions<PlainMonthDay>) => import("@tempots/dom").Renderable;