@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,5 +1,74 @@
1
+ /**
2
+ * A single segment in a controller path.
3
+ *
4
+ * - `string` represents a named property (e.g., `'name'`, `'address'`)
5
+ * - `number` represents an array index (e.g., `0`, `1`)
6
+ */
1
7
  export type PathSegment = string | number;
8
+ /**
9
+ * An array of path segments representing the location of a value within a nested data structure.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const path: Path = ['users', 0, 'name']
14
+ * // Represents: users[0].name
15
+ * ```
16
+ */
2
17
  export type Path = PathSegment[];
18
+ /**
19
+ * Parses a dot-separated path string into an array of path segments.
20
+ *
21
+ * String segments are treated as property names. Segments matching the pattern
22
+ * `[n]` (where `n` is a number) are parsed as numeric array indices.
23
+ *
24
+ * @param path - The dot-separated path string to parse (e.g., `'users.[0].name'`)
25
+ * @returns An array of path segments
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * parsePath('users.[0].name')
30
+ * // => ['users', 0, 'name']
31
+ *
32
+ * parsePath('settings.theme')
33
+ * // => ['settings', 'theme']
34
+ * ```
35
+ */
3
36
  export declare function parsePath(path: string): Path;
37
+ /**
38
+ * Wraps a single path segment into its string representation for path serialization.
39
+ *
40
+ * - Numeric segments are wrapped in brackets: `0` becomes `[0]`
41
+ * - String segments are prefixed with a dot: `'name'` becomes `.name`
42
+ *
43
+ * @param v - The path segment to wrap
44
+ * @returns The formatted segment string
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * wrapSegment(0) // => '[0]'
49
+ * wrapSegment('name') // => '.name'
50
+ * ```
51
+ */
4
52
  export declare function wrapSegment(v: number | string): string;
53
+ /**
54
+ * Converts an array of path segments into a human-readable string representation.
55
+ *
56
+ * The first segment is rendered without a leading dot. Subsequent segments use
57
+ * {@link wrapSegment} formatting.
58
+ *
59
+ * @param path - The path segments to serialize
60
+ * @returns The string representation of the path, or an empty string if the path is empty
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * pathToString(['users', 0, 'name'])
65
+ * // => 'users[0].name'
66
+ *
67
+ * pathToString(['settings', 'theme'])
68
+ * // => 'settings.theme'
69
+ *
70
+ * pathToString([])
71
+ * // => ''
72
+ * ```
73
+ */
5
74
  export declare function pathToString(path: Path): string;
@@ -3,51 +3,146 @@ import { Path } from './path';
3
3
  import { Controller } from './controller';
4
4
  import { ControllerValidation } from './controller-validation';
5
5
  /**
6
- * Union type definition for the controller
6
+ * Defines a single branch (variant) within a union type for use with {@link UnionController}.
7
+ *
8
+ * Each branch has a unique key, a display label, a detection predicate, an optional
9
+ * conversion function for migrating values between branches, and a factory for default values.
10
+ *
11
+ * @typeParam T - The value type produced by this branch
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const stringBranch: UnionBranch<string> = {
16
+ * key: 'string',
17
+ * label: 'Text',
18
+ * detect: (v) => typeof v === 'string',
19
+ * defaultValue: () => '',
20
+ * }
21
+ *
22
+ * const numberBranch: UnionBranch<number> = {
23
+ * key: 'number',
24
+ * label: 'Number',
25
+ * detect: (v) => typeof v === 'number',
26
+ * convert: (v) => {
27
+ * const n = Number(v)
28
+ * return isNaN(n) ? { ok: false } : { ok: true, value: n }
29
+ * },
30
+ * defaultValue: () => 0,
31
+ * }
32
+ * ```
7
33
  */
8
34
  export interface UnionBranch<T = unknown> {
9
- /** Unique identifier for this branch */
35
+ /** Unique identifier for this branch (used as path segment and lookup key) */
10
36
  key: string;
11
- /** Display label for this branch */
37
+ /** Human-readable display label for this branch, shown in UI selectors */
12
38
  label: string;
13
- /** Type guard function to detect if a value belongs to this branch */
39
+ /** Type guard function that returns `true` if a value belongs to this branch */
14
40
  detect: (value: unknown) => boolean;
15
- /** Function to convert a value to this branch type */
41
+ /** Optional function to convert a value from another branch to this branch's type. Returns `{ ok: true, value }` on success or `{ ok: false }` on failure. */
16
42
  convert?: (value: unknown) => {
17
43
  ok: true;
18
44
  value: T;
19
45
  } | {
20
46
  ok: false;
21
47
  };
22
- /** Default value for this branch when switching to it */
48
+ /** Factory function that produces the default value when switching to this branch */
23
49
  defaultValue: () => T;
24
50
  }
51
+ /**
52
+ * Determines when validation errors are displayed.
53
+ *
54
+ * - `'onSubmit'` - Errors shown only after form submission
55
+ * - `'eager'` - Errors shown immediately as values change
56
+ * - `'onTouched'` - Errors shown after the field has been touched/blurred
57
+ */
25
58
  export type ValidationMode = 'onSubmit' | 'eager' | 'onTouched';
26
59
  /**
27
- * Controller for union types that manages multiple possible value types
60
+ * Controller for union/discriminated types that manages multiple possible value branches.
61
+ *
62
+ * Extends `Controller<T>` to support values that can be one of several types.
63
+ * Automatically detects which branch is active based on the current value,
64
+ * creates per-branch sub-controllers lazily, and supports switching between branches
65
+ * with optional value conversion.
66
+ *
67
+ * @typeParam T - The union type representing all possible value shapes
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * import { UnionController, UnionBranch } from '@tempots/beatui'
72
+ *
73
+ * type Value = string | number
74
+ *
75
+ * const branches: UnionBranch[] = [
76
+ * { key: 'string', label: 'Text', detect: v => typeof v === 'string', defaultValue: () => '' },
77
+ * { key: 'number', label: 'Number', detect: v => typeof v === 'number', defaultValue: () => 0 },
78
+ * ]
79
+ *
80
+ * // The active branch is automatically detected from the current value
81
+ * console.log(unionCtrl.activeBranch.value) // 'string' or 'number'
82
+ *
83
+ * // Switch to a different branch
84
+ * unionCtrl.switchToBranch('number')
85
+ * ```
28
86
  */
29
87
  export declare class UnionController<T> extends Controller<T> {
30
88
  #private;
89
+ /** The immutable list of branch definitions for this union */
31
90
  readonly branches: readonly UnionBranch[];
91
+ /** Reactive signal containing the key of the currently active branch */
32
92
  readonly activeBranch: Signal<string>;
93
+ /**
94
+ * Creates a new UnionController.
95
+ *
96
+ * @param path - The path segments identifying this controller in the form tree
97
+ * @param change - Callback to propagate value changes to the parent
98
+ * @param signal - Reactive signal holding the current union value
99
+ * @param status - Reactive signal holding the current validation status
100
+ * @param parent - Parent context providing disabled state and optional validation mode
101
+ * @param branches - Array of branch definitions describing the possible value types
102
+ * @param equals - Optional equality function for comparing values. Defaults to `strictEqual`.
103
+ */
33
104
  constructor(path: Path, change: (value: T) => void, signal: Signal<T>, status: Signal<ControllerValidation>, parent: {
34
105
  disabled: Signal<boolean>;
35
106
  validationMode?: Signal<ValidationMode>;
36
107
  }, branches: UnionBranch[], equals?: (a: T, b: T) => boolean);
37
108
  /**
38
- * Get the controller for the currently active branch
109
+ * Gets the controller for the currently active branch.
110
+ *
111
+ * The returned controller's value and type correspond to the branch that
112
+ * matches the current union value.
113
+ *
114
+ * @returns The `Controller<unknown>` for the active branch
39
115
  */
40
116
  get activeController(): Controller<unknown>;
41
117
  /**
42
- * Get a controller for a specific branch
118
+ * Gets or creates a controller for a specific branch by key.
119
+ *
120
+ * Controllers are created lazily and cached for subsequent calls.
121
+ *
122
+ * @param branchKey - The unique key of the branch to get a controller for
123
+ * @returns The `Controller<unknown>` for the specified branch
124
+ * @throws Error if the branch key is not found in the branches array
43
125
  */
44
126
  getBranchController(branchKey: string): Controller<unknown>;
45
127
  /**
46
- * Switch to a different branch
128
+ * Switches the union value to a different branch.
129
+ *
130
+ * Attempts the following in order:
131
+ * 1. If already on the target branch, returns `true` immediately
132
+ * 2. If the branch has a `convert` function, tries to convert the current value
133
+ * 3. If conversion fails and `confirmChange` is true, prompts the user with `window.confirm`
134
+ * 4. Sets the value to the branch's default value
135
+ *
136
+ * @param branchKey - The key of the branch to switch to
137
+ * @param confirmChange - If true, prompts the user before losing the current value when conversion fails
138
+ * @returns `true` if the switch was successful, `false` if the user cancelled
139
+ * @throws Error if the branch key is not found in the branches array
47
140
  */
48
141
  switchToBranch(branchKey: string, confirmChange?: boolean): boolean;
49
142
  /**
50
- * Get the current active branch definition
143
+ * Gets the {@link UnionBranch} definition for the currently active branch.
144
+ *
145
+ * @returns The active branch definition, or `undefined` if no branch matches
51
146
  */
52
147
  get activeBranchDefinition(): UnionBranch | undefined;
53
148
  }
@@ -1,4 +1,71 @@
1
1
  import { Controller } from './controller';
2
+ /**
3
+ * Transforms a controller that uses `undefined` for absent values into one that uses `null`.
4
+ *
5
+ * Useful for bridging between APIs that represent missing values differently.
6
+ * The returned controller exposes `null` to consumers while the underlying controller stores `undefined`.
7
+ *
8
+ * @typeParam T - The non-nullable base value type
9
+ *
10
+ * @param controller - A controller whose value is `NonNullable<T> | undefined`
11
+ * @returns A new controller whose value is `NonNullable<T> | null`
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { transformNullToUndefined } from '@tempots/beatui'
16
+ *
17
+ * // Original controller uses undefined for absent values
18
+ * const undefinedCtrl: Controller<string | undefined> = ...
19
+ *
20
+ * // Transform to use null instead
21
+ * const nullCtrl = transformNullToUndefined(undefinedCtrl)
22
+ * // nullCtrl.signal.value is string | null
23
+ * ```
24
+ */
2
25
  export declare function transformNullToUndefined<T>(controller: Controller<NonNullable<T> | undefined>): Controller<NonNullable<T> | null>;
26
+ /**
27
+ * Transforms a controller that uses `undefined` for absent values into one that uses empty strings.
28
+ *
29
+ * Maps `undefined` to `''` when reading and `''` to `undefined` when writing.
30
+ * Useful for text inputs that need to represent "no value" as an empty string.
31
+ *
32
+ * @param controller - A controller whose value is `string | undefined`
33
+ * @returns A new controller whose value is always `string` (never undefined)
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * import { transformEmptyStringToUndefined } from '@tempots/beatui'
38
+ *
39
+ * // Original controller uses undefined for empty
40
+ * const optionalCtrl: Controller<string | undefined> = ...
41
+ *
42
+ * // Transform so empty string maps to undefined
43
+ * const stringCtrl = transformEmptyStringToUndefined(optionalCtrl)
44
+ * // stringCtrl.signal.value is always string
45
+ * ```
46
+ */
3
47
  export declare function transformEmptyStringToUndefined(controller: Controller<NonNullable<string> | undefined>): Controller<NonNullable<string>>;
48
+ /**
49
+ * Transforms a controller that uses `null` for absent values into one that uses `undefined`.
50
+ *
51
+ * The inverse of {@link transformNullToUndefined}. Maps `null` to `undefined` when reading
52
+ * and `undefined` to `null` when writing.
53
+ *
54
+ * @typeParam T - The non-nullable base value type
55
+ *
56
+ * @param controller - A controller whose value is `NonNullable<T> | null`
57
+ * @returns A new controller whose value is `NonNullable<T> | undefined`
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * import { transformUndefinedToNull } from '@tempots/beatui'
62
+ *
63
+ * // Original controller uses null for absent values
64
+ * const nullCtrl: Controller<string | null> = ...
65
+ *
66
+ * // Transform to use undefined instead
67
+ * const undefinedCtrl = transformUndefinedToNull(nullCtrl)
68
+ * // undefinedCtrl.signal.value is string | undefined
69
+ * ```
70
+ */
4
71
  export declare function transformUndefinedToNull<T>(controller: Controller<NonNullable<T> | null>): Controller<NonNullable<T> | undefined>;
@@ -0,0 +1,143 @@
1
+ import { Value, TNode } from '@tempots/dom';
2
+ import { ControlSize } from '../../theme';
3
+ import { ThemeColorName } from '../../../tokens';
4
+ /**
5
+ * Definition of a tick mark on the slider track.
6
+ */
7
+ export interface SliderTick {
8
+ /** The numeric value where this tick appears */
9
+ value: number;
10
+ /** Optional label displayed below the tick mark */
11
+ label?: string;
12
+ }
13
+ /**
14
+ * Configuration options for the {@link AdvancedSlider} component.
15
+ *
16
+ * Supports single value, range (two thumbs), and multi-point (arbitrary number
17
+ * of thumbs) modes. Features tick marks, value labels, and customizable colors.
18
+ */
19
+ export interface AdvancedSliderOptions {
20
+ /** Minimum value of the slider range */
21
+ min?: number;
22
+ /** Maximum value of the slider range */
23
+ max?: number;
24
+ /** Step increment between valid values. @default 1 */
25
+ step?: number;
26
+ /** Whether the slider is disabled. @default false */
27
+ disabled?: Value<boolean>;
28
+ /** Visual size of the slider. @default 'md' */
29
+ size?: Value<ControlSize>;
30
+ /** Theme color for the filled track and thumbs. @default 'primary' */
31
+ color?: Value<ThemeColorName>;
32
+ /**
33
+ * Single value mode: the current slider value.
34
+ * Use this for a simple single-thumb slider.
35
+ */
36
+ value?: Value<number>;
37
+ /** Callback for single-value mode changes */
38
+ onChange?: (value: number) => void;
39
+ /**
40
+ * Range mode: a two-element array `[low, high]`.
41
+ * When provided, two thumbs are rendered.
42
+ */
43
+ range?: Value<[number, number]>;
44
+ /** Callback for range mode changes */
45
+ onRangeChange?: (range: [number, number]) => void;
46
+ /**
47
+ * Multi-point mode: an array of values, each getting its own thumb.
48
+ * When provided, multiple thumbs are rendered at initialization time.
49
+ * The number of points is fixed after component creation.
50
+ */
51
+ points?: Value<number[]>;
52
+ /** Callback for multi-point mode changes */
53
+ onPointsChange?: (points: number[]) => void;
54
+ /**
55
+ * Tick marks along the slider track.
56
+ * Can be `true` for automatic step-based ticks, or an array of custom tick definitions.
57
+ */
58
+ ticks?: boolean | SliderTick[];
59
+ /**
60
+ * Whether to show the current value label(s) above the thumb(s).
61
+ * @default false
62
+ */
63
+ showValue?: boolean;
64
+ /**
65
+ * Custom formatter for the displayed value labels.
66
+ * @default (v) => String(v)
67
+ */
68
+ formatValue?: (value: number) => string;
69
+ /**
70
+ * Colors for individual segments between consecutive thumbs in multi-point mode.
71
+ * Each entry corresponds to the segment between thumb[i] and thumb[i+1].
72
+ * If fewer colors than segments are provided, remaining segments use the default color.
73
+ * If not provided, a single fill spanning all thumbs is used (existing behavior).
74
+ */
75
+ segmentColors?: ThemeColorName[];
76
+ /**
77
+ * Custom renderer for the thumb element. When provided, replaces the default
78
+ * circular thumb with your custom content. The rendered content is placed
79
+ * inside the thumb container that handles positioning, ARIA attributes,
80
+ * keyboard navigation, and pointer events.
81
+ *
82
+ * @param index - The zero-based index of the thumb
83
+ * @param value - A reactive value holding the current thumb position
84
+ * @returns A TNode to render as the thumb
85
+ */
86
+ renderThumb?: (index: number, value: Value<number>) => TNode;
87
+ }
88
+ /**
89
+ * An advanced slider component supporting single value, range selection,
90
+ * and multi-point modes with tick marks and value display.
91
+ *
92
+ * - **Single mode**: Pass `value` and `onChange` for a standard single-thumb slider.
93
+ * - **Range mode**: Pass `range` and `onRangeChange` for a two-thumb range selector.
94
+ * - **Multi-point mode**: Pass `points` and `onPointsChange` for arbitrary number of thumbs.
95
+ *
96
+ * Additional features include configurable tick marks (automatic or custom),
97
+ * value labels above the thumbs, step snapping, and theme-aware coloring.
98
+ *
99
+ * @param options - Configuration for the slider
100
+ * @returns A styled slider element
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * // Simple slider with value display
105
+ * const vol = prop(50)
106
+ * AdvancedSlider({
107
+ * value: vol, onChange: vol.set,
108
+ * min: 0, max: 100,
109
+ * showValue: true,
110
+ * ticks: true,
111
+ * })
112
+ * ```
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * // Range slider
117
+ * const priceRange = prop<[number, number]>([20, 80])
118
+ * AdvancedSlider({
119
+ * range: priceRange, onRangeChange: priceRange.set,
120
+ * min: 0, max: 100, step: 5,
121
+ * ticks: [
122
+ * { value: 0, label: '$0' },
123
+ * { value: 50, label: '$50' },
124
+ * { value: 100, label: '$100' },
125
+ * ],
126
+ * showValue: true,
127
+ * formatValue: v => `$${v}`,
128
+ * })
129
+ * ```
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * // Multi-point slider
134
+ * const pts = prop([10, 40, 70])
135
+ * AdvancedSlider({
136
+ * points: pts, onPointsChange: pts.set,
137
+ * min: 0, max: 100,
138
+ * showValue: true,
139
+ * color: 'green',
140
+ * })
141
+ * ```
142
+ */
143
+ export declare function AdvancedSlider({ min, max, step, disabled, size, color, value, onChange, range, points, onRangeChange, onPointsChange, ticks, showValue, formatValue, segmentColors, renderThumb, }: AdvancedSliderOptions): import("@tempots/dom").Renderable;
@@ -1,9 +1,48 @@
1
1
  import { AppearancePreference } from '../../theme';
2
2
  import { Value } from '@tempots/dom';
3
+ /**
4
+ * Options for the {@link AppearanceSelector} component.
5
+ */
3
6
  export type AppearanceSelectorOptions = {
7
+ /** The current appearance preference value. */
4
8
  value: Value<AppearancePreference>;
9
+ /** Callback invoked when the user selects a different appearance. */
5
10
  onChange?: (value: AppearancePreference) => void;
11
+ /**
12
+ * Whether the selector is disabled.
13
+ * @default false
14
+ */
6
15
  disabled?: Value<boolean>;
7
16
  };
17
+ /**
18
+ * A segmented input for selecting the application appearance (light, dark, or system).
19
+ *
20
+ * Renders three icon segments for system (laptop), light (sun), and dark (moon) modes
21
+ * using the {@link SegmentedInput} component.
22
+ *
23
+ * @param options - Configuration options for the appearance selector.
24
+ * @returns A renderable segmented appearance selector component.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * AppearanceSelector({
29
+ * value: prop<AppearancePreference>('system'),
30
+ * onChange: pref => console.log('Appearance:', pref),
31
+ * })
32
+ * ```
33
+ */
8
34
  export declare function AppearanceSelector({ value, onChange, disabled, }: AppearanceSelectorOptions): import("@tempots/dom").Renderable;
35
+ /**
36
+ * A standalone appearance selector that automatically connects to the application's
37
+ * {@link Theme} provider. Reads and writes the appearance preference from the
38
+ * current theme context without requiring manual wiring.
39
+ *
40
+ * @returns A renderable standalone appearance selector component.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * // Just drop it in -- no props needed
45
+ * StandaloneAppearanceSelector()
46
+ * ```
47
+ */
9
48
  export declare function StandaloneAppearanceSelector(): import("@tempots/dom").Renderable;
@@ -1,10 +1,44 @@
1
1
  import { Merge, Value } from '@tempots/dom';
2
2
  import { InputOptions } from './input-options';
3
3
  import { FileInputMode } from './files-input';
4
+ /**
5
+ * Options for the {@link Base64Input} component.
6
+ * Extends standard `InputOptions` for a single base64-encoded file string.
7
+ */
4
8
  export type Base64InputOptions = Merge<InputOptions<string | undefined>, {
9
+ /** Comma-separated list of accepted MIME types or file extensions. */
5
10
  accept?: Value<string>;
11
+ /** Maximum allowed file size in bytes. */
6
12
  maxFileSize?: Value<number>;
13
+ /**
14
+ * Display mode for the file input.
15
+ * @default 'default'
16
+ */
7
17
  mode?: Value<FileInputMode>;
18
+ /**
19
+ * Whether to show the selected file in a list below the drop zone.
20
+ * @default true
21
+ */
8
22
  showFileList?: Value<boolean>;
9
23
  }>;
24
+ /**
25
+ * A single-file input component that produces a base64-encoded string value.
26
+ *
27
+ * Wraps {@link Base64sInput} with `maxFiles: 1`, providing a file upload interface
28
+ * that converts the selected file to a base64 string. Useful for embedding small
29
+ * files (images, documents) directly as base64 data.
30
+ *
31
+ * @param options - Configuration options for the base64 file input.
32
+ * @returns A renderable base64 file input component.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * Base64Input({
37
+ * value: prop<string | undefined>(undefined),
38
+ * accept: 'image/png,image/jpeg',
39
+ * maxFileSize: 2 * 1024 * 1024, // 2 MB
40
+ * onChange: base64 => console.log('Base64 length:', base64?.length),
41
+ * })
42
+ * ```
43
+ */
10
44
  export declare function Base64Input(options: Base64InputOptions): import("@tempots/dom").Renderable;
@@ -1,12 +1,59 @@
1
1
  import { Merge, Value } from '@tempots/dom';
2
2
  import { FileInputMode } from './files-input';
3
3
  import { InputOptions } from './input-options';
4
+ /**
5
+ * Options for the {@link Base64sInput} component.
6
+ * Extends standard `InputOptions` for multiple base64-encoded file strings.
7
+ */
4
8
  export type Base64sInputOptions = Merge<InputOptions<string[]>, {
9
+ /** Comma-separated list of accepted MIME types or file extensions. */
5
10
  accept?: Value<string>;
11
+ /** Maximum number of files that can be selected. */
6
12
  maxFiles?: Value<number>;
13
+ /** Maximum allowed file size in bytes per file. */
7
14
  maxFileSize?: Value<number>;
15
+ /**
16
+ * Display mode for the file input.
17
+ * @default 'default'
18
+ */
8
19
  mode?: Value<FileInputMode>;
20
+ /**
21
+ * Whether to show the selected files in a list below the drop zone.
22
+ * @default true
23
+ */
9
24
  showFileList?: Value<boolean>;
10
25
  }>;
26
+ /**
27
+ * Converts a `File` object to a base64-encoded string (without the data URL prefix).
28
+ *
29
+ * @param file - The file to convert.
30
+ * @returns A promise that resolves with the base64-encoded string content.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const base64 = await fileToBase64(myFile)
35
+ * console.log(base64) // 'iVBORw0KGgoAAAANSUhEUg...'
36
+ * ```
37
+ */
11
38
  export declare function fileToBase64(file: File): Promise<string>;
39
+ /**
40
+ * A multi-file input component that produces an array of base64-encoded strings.
41
+ *
42
+ * Wraps {@link FilesInput}, converting selected files to base64 and reconstructing
43
+ * `File` objects from base64 strings for display. Automatically detects MIME types
44
+ * from file magic bytes for proper thumbnail rendering.
45
+ *
46
+ * @param options - Configuration options for the multi-file base64 input.
47
+ * @returns A renderable multi-file base64 input component.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * Base64sInput({
52
+ * value: prop<string[]>([]),
53
+ * accept: 'image/*',
54
+ * maxFiles: 3,
55
+ * onChange: base64s => console.log('Files:', base64s.length),
56
+ * })
57
+ * ```
58
+ */
12
59
  export declare function Base64sInput(options: Base64sInputOptions): 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 { InputOptions } from './input-options';
4
+ /**
5
+ * Options for the {@link BigintInput} component.
6
+ * Extends standard `InputOptions` for `bigint` values with stepper and range constraints.
7
+ */
4
8
  export type BigintInputOptions = Merge<InputOptions<bigint>, {
9
+ /** Step value for increment/decrement buttons. If provided, stepper buttons are shown. */
5
10
  step?: Value<bigint>;
11
+ /** Minimum allowed value. Values below this are clamped. */
6
12
  min?: Value<bigint>;
13
+ /** Maximum allowed value. Values above this are clamped. */
7
14
  max?: Value<bigint>;
8
15
  }>;
16
+ /**
17
+ * A numeric input component for `bigint` values with optional stepper buttons.
18
+ *
19
+ * Uses a masked input that only allows digit characters. Supports min/max
20
+ * clamping and increment/decrement buttons (with Shift+click for 10x step).
21
+ *
22
+ * @param options - Configuration options for the bigint input.
23
+ * @returns A renderable bigint input component.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * BigintInput({
28
+ * value: prop(0n),
29
+ * step: 1n,
30
+ * min: 0n,
31
+ * max: 1000n,
32
+ * onChange: v => console.log('Value:', v),
33
+ * })
34
+ * ```
35
+ */
9
36
  export declare const BigintInput: (options: BigintInputOptions) => import("@tempots/dom").Renderable;