@tempots/beatui 0.82.1 → 0.83.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/dist/ar-CBrjAlIY.cjs +1 -0
  2. package/dist/ar-DjMvIww5.js +175 -0
  3. package/dist/{ar-NCCPhOpI.js → ar-DwDxAANU.js} +16 -1
  4. package/dist/ar-kZBzg02I.cjs +1 -0
  5. package/dist/auth/index.cjs.js +1 -1
  6. package/dist/auth/index.es.js +33 -32
  7. package/dist/{auth-divider-Wr-S16kF.js → auth-divider-C3_CgC0l.js} +589 -569
  8. package/dist/auth-divider-C4WTL71M.cjs +1 -0
  9. package/dist/beatui.css +5678 -1438
  10. package/dist/beatui.tailwind.css +5662 -1422
  11. package/dist/better-auth/index.cjs.js +1 -1
  12. package/dist/better-auth/index.es.js +18 -31
  13. package/dist/{colors-B2yrgHSW.cjs → colors-BI0YhONJ.cjs} +1 -1
  14. package/dist/{colors-DPo9GEJR.js → colors-BmLYKmoH.js} +38 -30
  15. package/dist/de-B03SM9eF.cjs +1 -0
  16. package/dist/{de-BVK2MkCk.js → de-CSGSC0xX.js} +18 -3
  17. package/dist/de-CrBw41po.cjs +1 -0
  18. package/dist/{de-f2xcEb34.js → de-wChFYqM4.js} +79 -5
  19. package/dist/deep-merge-CmQoIYPC.js +1689 -0
  20. package/dist/deep-merge-UghuPcyW.cjs +1 -0
  21. package/dist/{duration-input-B9UNmUCh.cjs → duration-input-BJzKgI15.cjs} +1 -1
  22. package/dist/{duration-input-DqcJbxKD.js → duration-input-DaB6s0rL.js} +4 -4
  23. package/dist/editor-toolbar-group-BslfdazC.js +32 -0
  24. package/dist/editor-toolbar-group-_V1rDM-1.cjs +1 -0
  25. package/dist/{es-BxBeTRCv.cjs → es-BRa0hV-7.cjs} +1 -1
  26. package/dist/es-Ca5xT3NE.cjs +1 -0
  27. package/dist/es-CmPF3IGl.js +175 -0
  28. package/dist/{es-BQS8PL9j.js → es-dR46FTMF.js} +16 -1
  29. package/dist/{fa-DxPseW3g.cjs → fa-BxCSKn9j.cjs} +1 -1
  30. package/dist/fa-D696e75R.js +175 -0
  31. package/dist/fa-DhZJYuC6.cjs +1 -0
  32. package/dist/{fa-T-tkJSJr.js → fa-FsHBFjdY.js} +16 -1
  33. package/dist/fr-1nSKSIlw.cjs +1 -0
  34. package/dist/{fr-yOW_68YY.js → fr-B0jeX1Hx.js} +83 -9
  35. package/dist/{fr-CSRRhyCG.js → fr-Di6BT9_V.js} +18 -3
  36. package/dist/fr-Dq6RAY9s.cjs +1 -0
  37. package/dist/he-BBX1h9uD.cjs +1 -0
  38. package/dist/{he-Bxdc4M08.js → he-CXujw1Lw.js} +16 -1
  39. package/dist/he-DhcurPt5.cjs +1 -0
  40. package/dist/he-SgAsIYJA.js +175 -0
  41. package/dist/{hi-CJeFvTBe.js → hi-Bvh4d9bO.js} +16 -1
  42. package/dist/hi-Cd0YQZTU.cjs +1 -0
  43. package/dist/hi-CxsIxbfM.cjs +1 -0
  44. package/dist/hi-s9oiIihq.js +175 -0
  45. package/dist/{index-Bt7FYl80.cjs → index-Bm43lZqE.cjs} +2 -2
  46. package/dist/{index-05UbKOYe.cjs → index-C2_iX1um.cjs} +1 -1
  47. package/dist/{index-C2Lq1m45.js → index-C32iUFIr.js} +5 -5
  48. package/dist/{index-lYhXnu6I.js → index-CEqc0H3v.js} +1 -1
  49. package/dist/index-DH37GTQj.cjs +1 -0
  50. package/dist/{index-DklKfzD4.js → index-Di1_W_7Q.js} +351 -361
  51. package/dist/index.cjs.js +4 -4
  52. package/dist/index.es.js +6220 -3084
  53. package/dist/input-container-CSi72GI1.cjs +1 -0
  54. package/dist/{input-container-DiCjOzR2.js → input-container-Nx0gMAzS.js} +86 -75
  55. package/dist/it-ByIEk5Cq.cjs +1 -0
  56. package/dist/it-D_IcaYxp.cjs +1 -0
  57. package/dist/{it-6e6X-4BB.js → it-Dc4IMciD.js} +80 -6
  58. package/dist/{it-Zmp0BhIj.js → it-EWhykhHv.js} +18 -3
  59. package/dist/ja-CMGqpPo7.cjs +1 -0
  60. package/dist/{ja-BxNuNo2H.js → ja-D2t2g5xj.js} +85 -11
  61. package/dist/ja-DV6Fpp18.cjs +1 -0
  62. package/dist/{ja-DWjoA-hQ.js → ja-YZ0P5woj.js} +16 -1
  63. package/dist/json-schema/index.cjs.js +1 -1
  64. package/dist/json-schema/index.es.js +191 -185
  65. package/dist/json-schema-display/index.cjs.js +1 -1
  66. package/dist/json-schema-display/index.es.js +1 -1
  67. package/dist/json-structure/index.cjs.js +1 -1
  68. package/dist/json-structure/index.es.js +679 -660
  69. package/dist/ko-BPl5rP97.cjs +1 -0
  70. package/dist/ko-BRylA5JZ.js +175 -0
  71. package/dist/ko-DR1f0as8.cjs +1 -0
  72. package/dist/{ko-BOlI-33h.js → ko-U7BSUAxZ.js} +16 -1
  73. package/dist/lexical/index.cjs.js +31 -31
  74. package/dist/lexical/index.es.js +5248 -5221
  75. package/dist/lexical.css +5 -7
  76. package/dist/menu-CX72LaZ3.cjs +1 -0
  77. package/dist/menu-D_slbwl8.js +374 -0
  78. package/dist/{modal-v3u2Fpnd.js → modal-DaI1jH-X.js} +4 -4
  79. package/dist/{modal-I5srcntN.cjs → modal-kyZfvVZb.cjs} +1 -1
  80. package/dist/nl-BSfaHFt0.cjs +1 -0
  81. package/dist/{nl-Dr-l6zUy.cjs → nl-CQF0N7Mc.cjs} +1 -1
  82. package/dist/{nl-kQNcAdY1.js → nl-CqAxoB4J.js} +18 -3
  83. package/dist/nl-Dh7LUWAn.js +176 -0
  84. package/dist/{notice-CLDdy1MW.cjs → notice-Bc1L4Zpr.cjs} +1 -1
  85. package/dist/{notice-BuZvdvZh.js → notice-Dz4nX57_.js} +4 -4
  86. package/dist/{oneof-branch-detection-Dt8ss9lc.js → oneof-branch-detection-BED_n2MT.js} +522 -519
  87. package/dist/{oneof-branch-detection-DsM1K5xc.cjs → oneof-branch-detection-Vov_e3kI.cjs} +4 -4
  88. package/dist/{pl-CKyPFvss.js → pl-C-weXGCB.js} +16 -1
  89. package/dist/pl-D-O4sCnr.cjs +1 -0
  90. package/dist/{pl-Bs4nLJ__.js → pl-XEG-p1Q9.js} +77 -3
  91. package/dist/{pl-BK0i_yvq.cjs → pl-y_w3DWF3.cjs} +1 -1
  92. package/dist/prosemirror/index.cjs.js +1 -1
  93. package/dist/prosemirror/index.es.js +1 -1
  94. package/dist/{pt-DBmUhaNI.js → pt-BjNGOoZH.js} +18 -3
  95. package/dist/pt-DYsDA2sZ.js +175 -0
  96. package/dist/pt-DqaZWmbG.cjs +1 -0
  97. package/dist/pt-chEEYLlt.cjs +1 -0
  98. package/dist/ru-B46hVpFF.cjs +1 -0
  99. package/dist/{ru-Bi1_DEKM.js → ru-BTKBykp-.js} +86 -12
  100. package/dist/{ru-CsJ_yT-7.js → ru-CFmeZBXK.js} +16 -1
  101. package/dist/ru-CISMzCHR.cjs +1 -0
  102. package/dist/{styles-url-B2dzXrYt.cjs → styles-url-CVCcF0ra.cjs} +1 -1
  103. package/dist/{styles-url-Cw_mxshe.js → styles-url-DUdp56Ts.js} +1 -1
  104. package/dist/tailwind/index.cjs.js +1 -1
  105. package/dist/tailwind/index.es.js +3 -3
  106. package/dist/tailwind/preset.cjs.js +1 -1
  107. package/dist/tailwind/preset.es.js +74 -4
  108. package/dist/tailwind/vite-plugin.cjs.js +10 -10
  109. package/dist/tailwind/vite-plugin.es.js +294 -410
  110. package/dist/text-input-8v79fzEy.cjs +1 -0
  111. package/dist/text-input-CPJzUC2r.js +45 -0
  112. package/dist/{toolbar-D994_E_s.js → toolbar-CjQG7l7X.js} +1 -1
  113. package/dist/{toolbar-x0_8lmKu.cjs → toolbar-D3ZsC0g_.cjs} +1 -1
  114. package/dist/{tr-Bn5ldVJs.js → tr-C5X2gFZS.js} +17 -2
  115. package/dist/tr-CaMaflJL.cjs +1 -0
  116. package/dist/{tr-DiYB-FwX.js → tr-Cp8ZCUic.js} +77 -3
  117. package/dist/{tr-CgJ8uhZu.cjs → tr-mWu2E__o.cjs} +1 -1
  118. package/dist/{translations-Cq8bUKJP.js → translations-BGblCUBj.js} +144 -70
  119. package/dist/translations-CZ0KOii3.cjs +1 -0
  120. package/dist/translations-gVgMyNno.cjs +1 -0
  121. package/dist/translations-jUYta1_1.js +87 -0
  122. package/dist/types/auth/index.d.ts +13 -0
  123. package/dist/types/auth-i18n/default.d.ts +14 -0
  124. package/dist/types/auth-i18n/locales/ar.d.ts +14 -0
  125. package/dist/types/auth-i18n/locales/de.d.ts +14 -0
  126. package/dist/types/auth-i18n/locales/en.d.ts +14 -0
  127. package/dist/types/auth-i18n/locales/es.d.ts +14 -0
  128. package/dist/types/auth-i18n/locales/fa.d.ts +14 -0
  129. package/dist/types/auth-i18n/locales/fr.d.ts +14 -0
  130. package/dist/types/auth-i18n/locales/he.d.ts +14 -0
  131. package/dist/types/auth-i18n/locales/hi.d.ts +14 -0
  132. package/dist/types/auth-i18n/locales/it.d.ts +14 -0
  133. package/dist/types/auth-i18n/locales/ja.d.ts +14 -0
  134. package/dist/types/auth-i18n/locales/ko.d.ts +14 -0
  135. package/dist/types/auth-i18n/locales/nl.d.ts +14 -0
  136. package/dist/types/auth-i18n/locales/pl.d.ts +14 -0
  137. package/dist/types/auth-i18n/locales/pt.d.ts +14 -0
  138. package/dist/types/auth-i18n/locales/ru.d.ts +14 -0
  139. package/dist/types/auth-i18n/locales/tr.d.ts +14 -0
  140. package/dist/types/auth-i18n/locales/ur.d.ts +14 -0
  141. package/dist/types/auth-i18n/locales/vi.d.ts +14 -0
  142. package/dist/types/auth-i18n/locales/zh.d.ts +14 -0
  143. package/dist/types/auth-i18n/translations.d.ts +14 -0
  144. package/dist/types/beatui-i18n/default.d.ts +99 -0
  145. package/dist/types/beatui-i18n/index.d.ts +11 -0
  146. package/dist/types/beatui-i18n/locales/en.d.ts +63 -0
  147. package/dist/types/beatui-i18n/translations.d.ts +87 -0
  148. package/dist/types/better-auth/components/authenticated.d.ts +2 -2
  149. package/dist/types/better-auth/components/better-auth-container.d.ts +1 -1
  150. package/dist/types/better-auth/components/better-auth-modal.d.ts +1 -1
  151. package/dist/types/better-auth/index.d.ts +13 -0
  152. package/dist/types/better-auth/provider.d.ts +33 -0
  153. package/dist/types/better-auth/types.d.ts +112 -0
  154. package/dist/types/components/auth/auth-container.d.ts +63 -2
  155. package/dist/types/components/auth/auth-divider.d.ts +30 -0
  156. package/dist/types/components/auth/auth-email-prop.d.ts +25 -0
  157. package/dist/types/components/auth/index.d.ts +9 -0
  158. package/dist/types/components/auth/password-strength-indicator.d.ts +58 -0
  159. package/dist/types/components/auth/reset-password-form.d.ts +33 -0
  160. package/dist/types/components/auth/schemas.d.ts +183 -5
  161. package/dist/types/components/auth/signin-form.d.ts +33 -0
  162. package/dist/types/components/auth/signup-form.d.ts +36 -0
  163. package/dist/types/components/auth/social-login-button.d.ts +213 -0
  164. package/dist/types/components/auth/social-providers.d.ts +27 -1
  165. package/dist/types/components/auth/types.d.ts +299 -0
  166. package/dist/types/components/auth/utils.d.ts +198 -0
  167. package/dist/types/components/beatui.d.ts +35 -0
  168. package/dist/types/components/button/button.d.ts +61 -0
  169. package/dist/types/components/button/close-button.d.ts +32 -1
  170. package/dist/types/components/button/index.d.ts +2 -0
  171. package/dist/types/components/button/toggle-button-group.d.ts +95 -0
  172. package/dist/types/components/button/toggle-button.d.ts +60 -0
  173. package/dist/types/components/data/avatar-group.d.ts +74 -0
  174. package/dist/types/components/data/avatar.d.ts +62 -0
  175. package/dist/types/components/data/badge.d.ts +49 -2
  176. package/dist/types/components/data/calendar-shared.d.ts +59 -0
  177. package/dist/types/components/data/calendar.d.ts +107 -0
  178. package/dist/types/components/data/history-timeline.d.ts +35 -0
  179. package/dist/types/components/data/icon-badge.d.ts +14 -0
  180. package/dist/types/components/data/icon.d.ts +55 -4
  181. package/dist/types/components/data/index.d.ts +9 -0
  182. package/dist/types/components/data/page-drop-zone.d.ts +61 -8
  183. package/dist/types/components/data/presence-overlay.d.ts +26 -0
  184. package/dist/types/components/data/progress-bar.d.ts +81 -0
  185. package/dist/types/components/data/range-calendar.d.ts +104 -0
  186. package/dist/types/components/data/skeleton.d.ts +70 -0
  187. package/dist/types/components/data/table.d.ts +38 -11
  188. package/dist/types/components/data/tag.d.ts +40 -0
  189. package/dist/types/components/data/unstyled-drop-zone.d.ts +73 -0
  190. package/dist/types/components/form/control/control.d.ts +155 -0
  191. package/dist/types/components/form/control/date-utils.d.ts +81 -0
  192. package/dist/types/components/form/control/ensure-control.d.ts +28 -0
  193. package/dist/types/components/form/control/form-status.d.ts +63 -0
  194. package/dist/types/components/form/control/index.d.ts +10 -0
  195. package/dist/types/components/form/control/list-control.d.ts +100 -1
  196. package/dist/types/components/form/control/list-item-controls.d.ts +65 -0
  197. package/dist/types/components/form/controller/color-controller.d.ts +29 -1
  198. package/dist/types/components/form/controller/controller-validation.d.ts +31 -0
  199. package/dist/types/components/form/controller/controller.d.ts +286 -0
  200. package/dist/types/components/form/controller/index.d.ts +12 -0
  201. package/dist/types/components/form/controller/path.d.ts +69 -0
  202. package/dist/types/components/form/controller/union-controller.d.ts +106 -11
  203. package/dist/types/components/form/controller/utils.d.ts +67 -0
  204. package/dist/types/components/form/input/advanced-slider.d.ts +143 -0
  205. package/dist/types/components/form/input/appearance-selector.d.ts +39 -0
  206. package/dist/types/components/form/input/base64-input.d.ts +34 -0
  207. package/dist/types/components/form/input/base64s-input.d.ts +47 -0
  208. package/dist/types/components/form/input/bigint-input.d.ts +27 -0
  209. package/dist/types/components/form/input/checkbox-input.d.ts +46 -0
  210. package/dist/types/components/form/input/color-input.d.ts +42 -0
  211. package/dist/types/components/form/input/color-swatch-input.d.ts +53 -0
  212. package/dist/types/components/form/input/combobox-input.d.ts +73 -0
  213. package/dist/types/components/form/input/combobox-tags-input.d.ts +54 -0
  214. package/dist/types/components/form/input/date-input.d.ts +33 -0
  215. package/dist/types/components/form/input/date-time-input.d.ts +34 -0
  216. package/dist/types/components/form/input/dropdown-base.d.ts +52 -0
  217. package/dist/types/components/form/input/dropdown-input.d.ts +86 -0
  218. package/dist/types/components/form/input/duration-input.d.ts +18 -0
  219. package/dist/types/components/form/input/duration-mask.d.ts +24 -0
  220. package/dist/types/components/form/input/editable-text.d.ts +33 -0
  221. package/dist/types/components/form/input/email-input.d.ts +34 -0
  222. package/dist/types/components/form/input/file-input.d.ts +33 -0
  223. package/dist/types/components/form/input/files-input.d.ts +44 -0
  224. package/dist/types/components/form/input/index.d.ts +5 -0
  225. package/dist/types/components/form/input/input-adornment.d.ts +38 -0
  226. package/dist/types/components/form/input/input-container.d.ts +65 -0
  227. package/dist/types/components/form/input/input-options.d.ts +70 -0
  228. package/dist/types/components/form/input/input-wrapper.d.ts +78 -0
  229. package/dist/types/components/form/input/instant-input.d.ts +18 -0
  230. package/dist/types/components/form/input/lazy-native-select.d.ts +43 -0
  231. package/dist/types/components/form/input/list-input.d.ts +50 -0
  232. package/dist/types/components/form/input/mask-input.d.ts +158 -0
  233. package/dist/types/components/form/input/native-select.d.ts +50 -0
  234. package/dist/types/components/form/input/nullable-base64-input.d.ts +25 -0
  235. package/dist/types/components/form/input/nullable-bigint-input.d.ts +26 -0
  236. package/dist/types/components/form/input/nullable-date-input.d.ts +18 -0
  237. package/dist/types/components/form/input/nullable-date-time-input.d.ts +19 -0
  238. package/dist/types/components/form/input/nullable-duration-input.d.ts +19 -0
  239. package/dist/types/components/form/input/nullable-email-input.d.ts +18 -0
  240. package/dist/types/components/form/input/nullable-instant-input.d.ts +19 -0
  241. package/dist/types/components/form/input/nullable-mask-input.d.ts +24 -0
  242. package/dist/types/components/form/input/nullable-number-input.d.ts +29 -0
  243. package/dist/types/components/form/input/nullable-password-input.d.ts +18 -0
  244. package/dist/types/components/form/input/nullable-plain-date-input.d.ts +18 -0
  245. package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +18 -0
  246. package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +18 -0
  247. package/dist/types/components/form/input/nullable-plain-time-input.d.ts +18 -0
  248. package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +18 -0
  249. package/dist/types/components/form/input/nullable-rating-input.d.ts +33 -0
  250. package/dist/types/components/form/input/nullable-text-area.d.ts +27 -0
  251. package/dist/types/components/form/input/nullable-text-input.d.ts +18 -0
  252. package/dist/types/components/form/input/nullable-url-input.d.ts +18 -0
  253. package/dist/types/components/form/input/nullable-utils.d.ts +22 -2
  254. package/dist/types/components/form/input/nullable-uuid-input.d.ts +18 -0
  255. package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +20 -0
  256. package/dist/types/components/form/input/number-input.d.ts +49 -0
  257. package/dist/types/components/form/input/option.d.ts +165 -0
  258. package/dist/types/components/form/input/otp-input.d.ts +77 -0
  259. package/dist/types/components/form/input/password-input.d.ts +39 -0
  260. package/dist/types/components/form/input/plain-date-input.d.ts +17 -0
  261. package/dist/types/components/form/input/plain-date-time-input.d.ts +17 -0
  262. package/dist/types/components/form/input/plain-month-day-input.d.ts +18 -0
  263. package/dist/types/components/form/input/plain-time-input.d.ts +17 -0
  264. package/dist/types/components/form/input/plain-year-month-input.d.ts +17 -0
  265. package/dist/types/components/form/input/radio-group.d.ts +108 -0
  266. package/dist/types/components/form/input/rating-input.d.ts +57 -0
  267. package/dist/types/components/form/input/segmented-input.d.ts +70 -1
  268. package/dist/types/components/form/input/select-tags-input.d.ts +69 -0
  269. package/dist/types/components/form/input/slider-input.d.ts +82 -0
  270. package/dist/types/components/form/input/switch.d.ts +59 -1
  271. package/dist/types/components/form/input/tag-input.d.ts +19 -0
  272. package/dist/types/components/form/input/tag-utils.d.ts +111 -0
  273. package/dist/types/components/form/input/tags-input.d.ts +18 -0
  274. package/dist/types/components/form/input/text-area.d.ts +42 -0
  275. package/dist/types/components/form/input/text-input.d.ts +63 -1
  276. package/dist/types/components/form/input/url-input.d.ts +34 -0
  277. package/dist/types/components/form/input/uuid-input.d.ts +19 -0
  278. package/dist/types/components/form/input/zoned-date-time-input.d.ts +20 -0
  279. package/dist/types/components/form/schema/standard-schema-v1.d.ts +98 -23
  280. package/dist/types/components/form/use-form.d.ts +146 -2
  281. package/dist/types/components/i18n/index.d.ts +9 -0
  282. package/dist/types/components/i18n/locale-direction.d.ts +21 -1
  283. package/dist/types/components/i18n/locale-selector.d.ts +45 -0
  284. package/dist/types/components/i18n/make-i18nprovider.d.ts +42 -0
  285. package/dist/types/components/json-schema/schema-types.d.ts +133 -0
  286. package/dist/types/components/json-structure/controls/deprecation-utils.d.ts +2 -3
  287. package/dist/types/components/json-structure/structure-types.d.ts +473 -19
  288. package/dist/types/components/layout/accordion.d.ts +77 -0
  289. package/dist/types/components/layout/action-card.d.ts +90 -2
  290. package/dist/types/components/layout/app-shell.d.ts +76 -0
  291. package/dist/types/components/layout/card.d.ts +27 -0
  292. package/dist/types/components/layout/center.d.ts +39 -0
  293. package/dist/types/components/layout/collapse.d.ts +28 -0
  294. package/dist/types/components/layout/divider.d.ts +84 -0
  295. package/dist/types/components/layout/group.d.ts +15 -0
  296. package/dist/types/components/layout/index.d.ts +2 -0
  297. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +105 -0
  298. package/dist/types/components/layout/scrollable-panel.d.ts +54 -0
  299. package/dist/types/components/layout/sink.d.ts +46 -0
  300. package/dist/types/components/layout/stack.d.ts +16 -0
  301. package/dist/types/components/layout/with-breakpoint.d.ts +194 -0
  302. package/dist/types/components/lexical/code/language-selector.d.ts +2 -2
  303. package/dist/types/components/lexical/floating/block-handle.d.ts +2 -2
  304. package/dist/types/components/lexical/floating/floating-toolbar.d.ts +2 -2
  305. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
  306. package/dist/types/components/lexical/table/table-controls.d.ts +2 -2
  307. package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +2 -2
  308. package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +4 -2
  309. package/dist/types/components/misc/empty-state.d.ts +86 -0
  310. package/dist/types/components/misc/expando.d.ts +81 -0
  311. package/dist/types/components/misc/index.d.ts +2 -1
  312. package/dist/types/components/misc/link-portal.d.ts +40 -2
  313. package/dist/types/components/misc/notice.d.ts +93 -0
  314. package/dist/types/components/misc/notification-panel.d.ts +21 -0
  315. package/dist/types/components/misc/notification-provider.d.ts +141 -0
  316. package/dist/types/components/misc/notification.d.ts +93 -0
  317. package/dist/types/components/misc/style-portal.d.ts +31 -1
  318. package/dist/types/components/monaco/monaco-editor-input.d.ts +59 -2
  319. package/dist/types/components/navigation/breadcrumbs.d.ts +96 -0
  320. package/dist/types/components/navigation/flyout.d.ts +118 -16
  321. package/dist/types/components/navigation/index.d.ts +3 -0
  322. package/dist/types/components/navigation/link/link.d.ts +100 -0
  323. package/dist/types/components/navigation/menu.d.ts +155 -35
  324. package/dist/types/components/navigation/pagination.d.ts +82 -0
  325. package/dist/types/components/navigation/sidebar/sidebar-group.d.ts +42 -0
  326. package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +101 -0
  327. package/dist/types/components/navigation/sidebar/sidebar-separator.d.ts +17 -0
  328. package/dist/types/components/navigation/sidebar/sidebar.d.ts +57 -0
  329. package/dist/types/components/navigation/tabs/tabs.d.ts +3 -2
  330. package/dist/types/components/navigation/toolbar/toolbar.d.ts +125 -0
  331. package/dist/types/components/navigation/tree-view.d.ts +95 -0
  332. package/dist/types/components/overlay/announcement-bar.d.ts +41 -2
  333. package/dist/types/components/overlay/block-command-palette.d.ts +25 -0
  334. package/dist/types/components/overlay/command-palette.d.ts +17 -0
  335. package/dist/types/components/overlay/dialogs.d.ts +213 -0
  336. package/dist/types/components/overlay/drawer.d.ts +76 -12
  337. package/dist/types/components/overlay/index.d.ts +4 -0
  338. package/dist/types/components/overlay/lightbox.d.ts +53 -10
  339. package/dist/types/components/overlay/modal.d.ts +113 -13
  340. package/dist/types/components/overlay/overlay.d.ts +61 -0
  341. package/dist/types/components/overlay/popover.d.ts +100 -0
  342. package/dist/types/components/overlay/ribbon.d.ts +58 -9
  343. package/dist/types/components/prosemirror/etoolbar-button.d.ts +10 -0
  344. package/dist/types/components/prosemirror/etoolbar-group.d.ts +10 -0
  345. package/dist/types/components/prosemirror/link-control.d.ts +43 -2
  346. package/dist/types/components/prosemirror/prosemirror-toolbar.d.ts +46 -6
  347. package/dist/types/components/prosemirror/utils.d.ts +113 -1
  348. package/dist/types/components/theme/style-utils.d.ts +95 -0
  349. package/dist/types/components/theme/theme.d.ts +39 -0
  350. package/dist/types/components/theme/types.d.ts +133 -1
  351. package/dist/types/components/typography/index.d.ts +1 -0
  352. package/dist/types/components/typography/kbd.d.ts +48 -0
  353. package/dist/types/components/typography/label.d.ts +45 -0
  354. package/dist/types/index.d.ts +14 -0
  355. package/dist/types/json-schema/index.d.ts +13 -0
  356. package/dist/types/json-schema-display/index.d.ts +12 -0
  357. package/dist/types/json-structure/index.d.ts +9 -4
  358. package/dist/types/markdown/index.d.ts +13 -0
  359. package/dist/types/monaco/index.d.ts +17 -0
  360. package/dist/types/monaco/lazy-loader.d.ts +79 -0
  361. package/dist/types/monaco/styles-url.d.ts +11 -0
  362. package/dist/types/monaco/styles.d.ts +11 -0
  363. package/dist/types/monaco/types.d.ts +47 -0
  364. package/dist/types/prosemirror/index.d.ts +12 -0
  365. package/dist/types/prosemirror/styles-url.d.ts +11 -0
  366. package/dist/types/prosemirror/styles.d.ts +10 -0
  367. package/dist/types/tailwind/google-fonts.d.ts +15 -0
  368. package/dist/types/tailwind/index.d.ts +13 -0
  369. package/dist/types/tailwind/preset.d.ts +111 -0
  370. package/dist/types/tailwind/vite-plugin.d.ts +39 -4
  371. package/dist/types/tokens/base-colors.d.ts +21 -0
  372. package/dist/types/tokens/breakpoints.d.ts +67 -0
  373. package/dist/types/tokens/colors.d.ts +213 -4
  374. package/dist/types/tokens/motion.d.ts +142 -3
  375. package/dist/types/tokens/radius.d.ts +99 -0
  376. package/dist/types/tokens/shadows.d.ts +85 -0
  377. package/dist/types/tokens/spacing.d.ts +111 -0
  378. package/dist/types/tokens/text-shadows.d.ts +82 -0
  379. package/dist/types/tokens/typography.d.ts +313 -25
  380. package/dist/types/tokens/z-index.d.ts +62 -0
  381. package/dist/types/utils/color.d.ts +297 -28
  382. package/dist/types/utils/download.d.ts +92 -0
  383. package/dist/types/utils/focus-trap.d.ts +67 -11
  384. package/dist/types/utils/format-file-size.d.ts +44 -0
  385. package/dist/ur-B6yB2JQ7.cjs +1 -0
  386. package/dist/ur-CvGP14xo.cjs +1 -0
  387. package/dist/{ur-Bg9eX81v.js → ur-Deo004ME.js} +16 -1
  388. package/dist/{ur-B69X-xNs.js → ur-DkIYJxsF.js} +82 -8
  389. package/dist/use-animated-toggle-89fKlXxy.js +195 -0
  390. package/dist/use-animated-toggle-DrqK7nUS.cjs +1 -0
  391. package/dist/{use-form-B56E_x5Y.js → use-form-BurzbPVV.js} +190 -2
  392. package/dist/{use-form-Cnp3XQ5X.cjs → use-form-Uree6QFy.cjs} +1 -1
  393. package/dist/vi-BYk1rJDv.js +53 -0
  394. package/dist/vi-DKw6PBja.js +175 -0
  395. package/dist/vi-Df4WZe9y.cjs +1 -0
  396. package/dist/vi-DneuUbkq.cjs +1 -0
  397. package/dist/{widget-customization-Ds9sicAg.js → widget-customization-0is7oTeP.js} +205 -204
  398. package/dist/widget-customization-B-LmxkPE.cjs +1 -0
  399. package/dist/zh-C5a9NGFW.cjs +1 -0
  400. package/dist/zh-CaKHseXJ.js +175 -0
  401. package/dist/zh-DFHuW_5g.cjs +1 -0
  402. package/dist/{zh-BIykcEu9.js → zh-DR7QaM65.js} +16 -1
  403. package/package.json +1 -1
  404. package/dist/ar-BsUm-TCn.cjs +0 -1
  405. package/dist/ar-D7CXDmVZ.cjs +0 -1
  406. package/dist/ar-nOSKXpIW.js +0 -101
  407. package/dist/auth-divider-BqZPH1-z.cjs +0 -1
  408. package/dist/de-BUFLEyKr.cjs +0 -1
  409. package/dist/de-WzsOu9Gn.cjs +0 -1
  410. package/dist/deep-merge-BYm0y62g.js +0 -1620
  411. package/dist/deep-merge-d7sf0xmN.cjs +0 -1
  412. package/dist/editor-toolbar-group--a-xgsJw.cjs +0 -1
  413. package/dist/editor-toolbar-group-CVpl5mxF.js +0 -31
  414. package/dist/es-CDqqzpCw.js +0 -101
  415. package/dist/es-Ds2Xf3wV.cjs +0 -1
  416. package/dist/fa-C7tE_hR3.js +0 -101
  417. package/dist/fa-Ct1UtDB7.cjs +0 -1
  418. package/dist/fr-Cdyopuz3.cjs +0 -1
  419. package/dist/fr-CzAkRFed.cjs +0 -1
  420. package/dist/he-D2oUloCJ.js +0 -101
  421. package/dist/he-DarDNPn0.cjs +0 -1
  422. package/dist/he-DlXALrK7.cjs +0 -1
  423. package/dist/hi-3dBhLwDs.cjs +0 -1
  424. package/dist/hi-D5ZlZoQq.js +0 -101
  425. package/dist/hi-tATwsXJ6.cjs +0 -1
  426. package/dist/index-DE2tjivA.cjs +0 -1
  427. package/dist/input-container-C6qEIjcA.cjs +0 -1
  428. package/dist/it-BmFag7j0.cjs +0 -1
  429. package/dist/it-DohtcWi9.cjs +0 -1
  430. package/dist/ja-Dj-bAKLf.cjs +0 -1
  431. package/dist/ja-eyTArrgS.cjs +0 -1
  432. package/dist/ko-BFLCDMMs.cjs +0 -1
  433. package/dist/ko-BomUE-yQ.cjs +0 -1
  434. package/dist/ko-Ch0jFsBV.js +0 -101
  435. package/dist/menu-CZzRsQP_.js +0 -372
  436. package/dist/menu-ClrU72xH.cjs +0 -1
  437. package/dist/nl-Bx2ACvr4.cjs +0 -1
  438. package/dist/nl-NuTdZO1s.js +0 -102
  439. package/dist/pl-QHl6sl8f.cjs +0 -1
  440. package/dist/pt-BETjHZrL.js +0 -101
  441. package/dist/pt-DZGw2Z-1.cjs +0 -1
  442. package/dist/pt-oBMmVYcu.cjs +0 -1
  443. package/dist/ru-CtxMmoa6.cjs +0 -1
  444. package/dist/ru-D03IuLqh.cjs +0 -1
  445. package/dist/text-input-B3VBat1k.js +0 -44
  446. package/dist/text-input-Ds8e7Z1G.cjs +0 -1
  447. package/dist/tr-B_-_1wua.cjs +0 -1
  448. package/dist/translations-B4-Zd2LM.cjs +0 -1
  449. package/dist/translations-D62qqNV9.cjs +0 -1
  450. package/dist/translations-DPr6c05Z.js +0 -67
  451. package/dist/ur-DvqAg9gW.cjs +0 -1
  452. package/dist/ur-DyUSmIbo.cjs +0 -1
  453. package/dist/use-animated-toggle-ChycsEoj.js +0 -175
  454. package/dist/use-animated-toggle-DR6CyMac.cjs +0 -1
  455. package/dist/vi-BdzxA60L.js +0 -101
  456. package/dist/vi-CBmPaHxg.cjs +0 -1
  457. package/dist/vi-D5R3YcU0.cjs +0 -1
  458. package/dist/vi-DhdsHHf_.js +0 -38
  459. package/dist/widget-customization-Dk7XcVly.cjs +0 -1
  460. package/dist/zh-CCGXcj5r.cjs +0 -1
  461. package/dist/zh-Cb1b8uik.cjs +0 -1
  462. package/dist/zh-Dn1UJiZa.js +0 -101
@@ -0,0 +1,107 @@
1
+ import { Value, type Renderable } from '@tempots/dom';
2
+ import { ControlSize } from '../theme';
3
+ import { ThemeColorName } from '../../tokens';
4
+ import type { PlainDate } from '../../temporal/types';
5
+ /**
6
+ * Configuration options for the {@link Calendar} component.
7
+ * Uses Temporal `PlainDate` for date values — no time or timezone concerns.
8
+ */
9
+ export interface CalendarOptions {
10
+ /** The currently selected date. */
11
+ value?: Value<PlainDate | null>;
12
+ /** Callback invoked when a date is selected. */
13
+ onSelect?: (date: PlainDate) => void;
14
+ /**
15
+ * Predicate that returns `true` if the given date should be disabled (unselectable).
16
+ * Replaces min/max — use e.g. `d => PlainDate.compare(d, minDate) < 0` for range constraints.
17
+ */
18
+ isDateDisabled?: (date: PlainDate) => boolean;
19
+ /** Theme color for selected and today highlights. @default 'primary' */
20
+ color?: Value<ThemeColorName>;
21
+ /** Visual size of the calendar. @default 'md' */
22
+ size?: Value<ControlSize>;
23
+ /** Whether the calendar is disabled. @default false */
24
+ disabled?: Value<boolean>;
25
+ /**
26
+ * The day the week starts on.
27
+ * 0 = Sunday, 1 = Monday, etc.
28
+ * @default 0
29
+ */
30
+ weekStartsOn?: number;
31
+ }
32
+ /**
33
+ * Configuration options for the {@link DateCalendar} component.
34
+ * Convenience wrapper that uses JavaScript `Date` objects.
35
+ */
36
+ export interface DateCalendarOptions {
37
+ /** The currently selected date (year, month, day). */
38
+ value?: Value<Date | null>;
39
+ /** Callback invoked when a date is selected. */
40
+ onSelect?: (date: Date) => void;
41
+ /**
42
+ * Predicate that returns `true` if the given date should be disabled (unselectable).
43
+ * Replaces min/max — use e.g. `d => d < minDate || d > maxDate` for range constraints.
44
+ */
45
+ isDateDisabled?: (date: Date) => boolean;
46
+ /** Theme color for selected and today highlights. @default 'primary' */
47
+ color?: Value<ThemeColorName>;
48
+ /** Visual size of the calendar. @default 'md' */
49
+ size?: Value<ControlSize>;
50
+ /** Whether the calendar is disabled. @default false */
51
+ disabled?: Value<boolean>;
52
+ /**
53
+ * The day the week starts on.
54
+ * 0 = Sunday, 1 = Monday, etc.
55
+ * @default 0
56
+ */
57
+ weekStartsOn?: number;
58
+ }
59
+ /**
60
+ * A calendar component for date selection with month/year navigation.
61
+ *
62
+ * Uses Temporal `PlainDate` internally — a date-only type with no time or
63
+ * timezone concerns, 1-based months, and proper date arithmetic.
64
+ *
65
+ * Renders a full month grid with day-of-week headers, previous/next month
66
+ * navigation, and a flexible `isDateDisabled` predicate for controlling which
67
+ * dates are selectable. The calendar highlights the currently selected date
68
+ * and today's date. Navigation buttons allow moving between months and years.
69
+ *
70
+ * @param options - Configuration for the calendar
71
+ * @returns A calendar element with date selection capability
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * import { prop } from '@tempots/dom'
76
+ * import { Calendar, PlainDate } from '@tempots/beatui'
77
+ *
78
+ * const date = prop<PlainDate | null>(null)
79
+ * Calendar({
80
+ * value: date,
81
+ * onSelect: date.set,
82
+ * })
83
+ * ```
84
+ */
85
+ export declare function Calendar(options?: CalendarOptions): Renderable;
86
+ /**
87
+ * A convenience calendar wrapper that uses JavaScript `Date` objects.
88
+ *
89
+ * Accepts and fires `Date` values, converting to/from `PlainDate` internally.
90
+ * Use this when integrating with existing `Date`-based code.
91
+ *
92
+ * @param options - Configuration for the calendar (uses `Date` objects)
93
+ * @returns A calendar element with date selection capability
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * import { prop } from '@tempots/dom'
98
+ * import { DateCalendar } from '@tempots/beatui'
99
+ *
100
+ * const date = prop<Date | null>(new Date())
101
+ * DateCalendar({
102
+ * value: date,
103
+ * onSelect: date.set,
104
+ * })
105
+ * ```
106
+ */
107
+ export declare function DateCalendar(options?: DateCalendarOptions): Renderable;
@@ -0,0 +1,35 @@
1
+ import { TNode, Value } from '@tempots/dom';
2
+ export interface HistoryEntry {
3
+ id: string;
4
+ /** Action label (e.g., "DELETED", "EDITED", "CREATED") */
5
+ action: string;
6
+ /** Color for the action label and timeline dot */
7
+ actionColor: string;
8
+ /** Icon for the timeline dot */
9
+ icon: string;
10
+ /** Target name */
11
+ target: string;
12
+ /** Icon for the target */
13
+ targetIcon: string;
14
+ /** Actor info */
15
+ actor: {
16
+ name: string;
17
+ initials: string;
18
+ };
19
+ /** Timestamp string */
20
+ time: string;
21
+ /** Detail text */
22
+ detail: string;
23
+ /** Whether this entry can be restored */
24
+ restorable?: boolean;
25
+ /** Callback for restore action */
26
+ onRestore?: () => void;
27
+ }
28
+ export interface HistoryTimelineOptions {
29
+ entries: Value<HistoryEntry[]>;
30
+ filters?: {
31
+ value: string;
32
+ label: string;
33
+ }[];
34
+ }
35
+ export declare function HistoryTimeline(options: HistoryTimelineOptions): TNode;
@@ -0,0 +1,14 @@
1
+ import { TNode, Value } from '@tempots/dom';
2
+ import { IconOptions } from './icon';
3
+ import { ThemeColorName } from '../../tokens';
4
+ export interface IconBadgeOptions extends IconOptions {
5
+ /** Show a dot indicator */
6
+ indicator?: Value<boolean>;
7
+ /** Show a count badge. If > 0, displays the number. */
8
+ count?: Value<number>;
9
+ /** Max count to display (e.g., 9 shows "9+") */
10
+ maxCount?: Value<number>;
11
+ /** Color of the indicator badge */
12
+ indicatorColor?: Value<ThemeColorName>;
13
+ }
14
+ export declare function IconBadge(options: IconBadgeOptions): TNode;
@@ -3,21 +3,72 @@ import { IconSize } from '../theme';
3
3
  import { ThemeColorName } from '../../tokens';
4
4
  import { ForegroundTone } from '../theme/style-utils';
5
5
  export declare const isIndexedDBAvailable: boolean;
6
+ /**
7
+ * Stores an icon SVG string in the local cache (IndexedDB or in-memory fallback).
8
+ *
9
+ * @param id - The icon identifier (e.g., `'mdi/home'`)
10
+ * @param svgString - The raw SVG markup to cache
11
+ */
6
12
  export declare function storeIconLocally(id: string, svgString: string): Promise<void>;
13
+ /**
14
+ * Retrieves a cached icon SVG string from local storage (IndexedDB or in-memory fallback).
15
+ *
16
+ * @param id - The icon identifier (e.g., `'mdi/home'`)
17
+ * @returns The cached SVG string, or `null` if not found
18
+ */
7
19
  export declare function getIconLocally(id: string): Promise<string | null>;
20
+ /**
21
+ * Configuration options for the {@link Icon} component.
22
+ */
8
23
  export interface IconOptions {
24
+ /** Icon name in Iconify format (e.g., `'mdi:home'`, `'line-md:loading-twotone-loop'`). */
9
25
  icon: Value<string>;
26
+ /** Size of the icon. @default 'md' */
10
27
  size?: Value<IconSize>;
28
+ /** Theme color applied to the icon. Uses foreground color values. */
11
29
  color?: Value<ThemeColorName>;
30
+ /** Accessible title for informative icons. Also sets the tooltip. */
12
31
  title?: Value<string | undefined>;
13
32
  /**
14
- * Whether this icon is decorative (hidden from screen readers) or informative.
15
- * - 'decorative': Icon is purely visual, hidden from screen readers with aria-hidden="true"
16
- * - 'informative': Icon conveys meaning, gets aria-label and role="img"
17
- * - 'auto': Automatically determined based on presence of title prop
33
+ * Accessibility mode for the icon.
34
+ * - `'decorative'`: Hidden from screen readers with `aria-hidden="true"`
35
+ * - `'informative'`: Gets `aria-label` and `role="img"` for screen readers
36
+ * - `'auto'`: Determined by the presence of a `title` prop
18
37
  * @default 'auto'
19
38
  */
20
39
  accessibility?: Value<'decorative' | 'informative' | 'auto'>;
40
+ /** Foreground color tone: `'solid'` for vibrant or `'soft'` for muted. @default 'solid' */
21
41
  tone?: Value<ForegroundTone>;
22
42
  }
43
+ /**
44
+ * Renders an SVG icon from the Iconify icon library with lazy-loading and caching.
45
+ *
46
+ * Icons are fetched from the Iconify API on first use and cached in IndexedDB
47
+ * (with an in-memory fallback) for subsequent loads. The icon is only loaded when
48
+ * it enters the viewport (`WhenInViewport`), preventing unnecessary network requests.
49
+ *
50
+ * The component handles three states: pending (spinning placeholder), success (rendered SVG),
51
+ * and failure (error indicator). Accessibility is configurable: decorative icons are hidden
52
+ * from screen readers, while informative icons receive proper ARIA attributes.
53
+ *
54
+ * @param options - Configuration for icon name, size, color, and accessibility
55
+ * @param children - Additional child nodes appended to the icon container
56
+ * @returns A span element containing the rendered icon
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * Icon({ icon: 'mdi:home', size: 'lg', color: 'primary' })
61
+ * ```
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // Informative icon with accessible label
66
+ * Icon({
67
+ * icon: 'mdi:alert',
68
+ * color: 'warning',
69
+ * title: 'Warning: unsaved changes',
70
+ * accessibility: 'informative'
71
+ * })
72
+ * ```
73
+ */
23
74
  export declare function Icon({ icon, size, color, title, accessibility, tone, }: IconOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -1,6 +1,15 @@
1
+ export * from './avatar';
2
+ export * from './calendar';
3
+ export * from './range-calendar';
4
+ export * from './avatar-group';
1
5
  export * from './badge';
6
+ export * from './history-timeline';
2
7
  export * from './icon';
8
+ export * from './icon-badge';
3
9
  export * from './page-drop-zone';
10
+ export * from './presence-overlay';
11
+ export * from './progress-bar';
12
+ export * from './skeleton';
4
13
  export * from './table';
5
14
  export * from './tag';
6
15
  export * from './unstyled-drop-zone';
@@ -1,34 +1,87 @@
1
1
  import { TNode, Value, Signal } from '@tempots/dom';
2
+ /**
3
+ * Configuration options for the {@link PageDropZone} component.
4
+ */
2
5
  export type PageDropZoneOptions = {
6
+ /**
7
+ * Callback invoked when valid files are dropped or selected via the file picker.
8
+ * The `via` parameter indicates whether files came from drag-and-drop or the
9
+ * click-triggered file dialog.
10
+ */
3
11
  onChange: (files: File[], via: 'dragdrop' | 'click') => void;
12
+ /**
13
+ * MIME type filter for accepted files (e.g., `'image/*'`, `'application/pdf'`).
14
+ * Files that do not match are filtered out and reported via `onInvalidSelection`.
15
+ * @default '*\/*'
16
+ */
4
17
  accept?: Value<string>;
18
+ /**
19
+ * Render function for overlay content shown while files are being dragged
20
+ * over the page. Receives the reactive file signal. Only rendered when
21
+ * `isDragging` is `true`.
22
+ */
5
23
  onDragContent?: (options: {
6
24
  files: Signal<File[]>;
7
25
  }) => TNode;
26
+ /**
27
+ * Render function for persistent content. Receives reactive drag state,
28
+ * file list, and a function to programmatically open the file picker.
29
+ */
8
30
  content?: (options: {
31
+ /** Reactive signal that is `true` while files are being dragged over the page. */
9
32
  isDragging: Signal<boolean>;
33
+ /** Reactive signal containing the current file list. */
10
34
  files: Signal<File[]>;
35
+ /** Opens the native file picker dialog programmatically. */
11
36
  selectFiles: () => void;
12
37
  }) => TNode;
38
+ /**
39
+ * Callback invoked when dropped files do not match the `accept` filter.
40
+ * Receives the full list of dropped files (including invalid ones).
41
+ */
13
42
  onInvalidSelection?: (files: File[]) => void;
43
+ /**
44
+ * Whether the drop zone is disabled. Disabled zones ignore all drag events.
45
+ * @default false
46
+ */
14
47
  disabled?: Value<boolean>;
15
48
  };
16
49
  /**
17
50
  * Detects filesystem drag-and-drop events at the page/document level.
18
51
  *
19
- * This component listens for drag events at the document level and provides
20
- * reactive state about drag operations. It can optionally render an overlay
21
- * when files are being dragged over the page.
52
+ * Unlike {@link UnstyledDropZone} which scopes drag events to a specific element,
53
+ * `PageDropZone` listens for drag events on the entire `document`, making it
54
+ * ideal for full-page drop targets. It uses a drag counter to correctly track
55
+ * nested `dragenter`/`dragleave` events, and automatically filters dropped
56
+ * files against the `accept` MIME type pattern.
57
+ *
58
+ * The component provides two render slots:
59
+ * - `onDragContent` - Overlay shown only while files are being dragged over the page
60
+ * - `content` - Persistent content with reactive drag state and file selection utilities
61
+ *
62
+ * Document event listeners are automatically cleaned up when the component is disposed.
63
+ *
64
+ * @param options - Configuration options for the page drop zone.
65
+ * @returns A renderable fragment containing the hidden file input, optional drag
66
+ * overlay, and persistent content.
22
67
  *
23
68
  * @example
24
69
  * ```typescript
70
+ * // Full-page drop zone with overlay and content
25
71
  * PageDropZone({
26
- * onChange: (files) => console.log('Files dropped:', files),
27
- * content: ({ isDragging }) =>
72
+ * accept: 'image/*',
73
+ * onChange: (files, via) => console.log('Files:', files, 'via:', via),
74
+ * onInvalidSelection: (files) => console.warn('Invalid files:', files),
75
+ * onDragContent: () =>
76
+ * html.div(
77
+ * attr.class('overlay'),
78
+ * 'Drop images here'
79
+ * ),
80
+ * content: ({ isDragging, files, selectFiles }) =>
28
81
  * html.div(
29
- * attr.class('fixed inset-0 bg-black/50 flex items-center justify-center'),
30
- * html.div('Drop files here')
31
- * )
82
+ * html.button(on.click(selectFiles), 'Browse files'),
83
+ * files.map(f => html.div(`${f.length} file(s) selected`))
84
+ * ),
32
85
  * })
33
86
  * ```
34
87
  */
@@ -0,0 +1,26 @@
1
+ import { TNode } from '@tempots/dom';
2
+ export interface PresenceSelection {
3
+ /** Author display name */
4
+ author: string;
5
+ /** Author's presence color (hex) */
6
+ color: string;
7
+ }
8
+ /**
9
+ * PresenceCursor renders a cursor indicator with an author name tag.
10
+ * Used to show collaborative editing cursors.
11
+ */
12
+ export declare function PresenceCursor(options: {
13
+ author: string;
14
+ color: string;
15
+ }): TNode;
16
+ /**
17
+ * PresenceHighlight wraps text with a colored selection highlight.
18
+ * Used to show collaborative editing selections.
19
+ */
20
+ export declare function PresenceHighlight(options: {
21
+ color: string;
22
+ }, ...children: TNode[]): TNode;
23
+ /**
24
+ * PresenceSelectionMark wraps text with both highlight and cursor.
25
+ */
26
+ export declare function PresenceSelectionMark(options: PresenceSelection, ...children: TNode[]): TNode;
@@ -0,0 +1,81 @@
1
+ import { TNode, Value } from '@tempots/dom';
2
+ import { ThemeColorName } from '../../tokens';
3
+ import { RadiusName } from '../../tokens/radius';
4
+ import { ExtendedColor } from '../theme/style-utils';
5
+ /**
6
+ * Configuration options for the {@link ProgressBar} component.
7
+ */
8
+ export interface ProgressBarOptions {
9
+ /** Current progress value (0 to max). @default 0 */
10
+ value?: Value<number>;
11
+ /** Maximum value for the progress bar. @default 100 */
12
+ max?: Value<number>;
13
+ /** Visual size variant. @default 'md' */
14
+ size?: Value<'sm' | 'md' | 'lg'>;
15
+ /** Theme color for the progress fill. @default 'primary' */
16
+ color?: Value<ThemeColorName>;
17
+ /** Whether to show indeterminate loading animation. @default false */
18
+ indeterminate?: Value<boolean>;
19
+ /** Whether to show percentage text label. @default false */
20
+ showLabel?: Value<boolean>;
21
+ /** Border radius preset for the progress bar. @default 'full' */
22
+ roundedness?: Value<RadiusName>;
23
+ }
24
+ /**
25
+ * Generates CSS class names for the progress bar based on size and indeterminate state.
26
+ *
27
+ * @param size - Size variant (sm, md, lg)
28
+ * @param indeterminate - Whether in indeterminate state
29
+ * @param roundedness - Border radius preset
30
+ * @returns Space-separated CSS class string
31
+ */
32
+ export declare function generateProgressBarClasses(size: 'sm' | 'md' | 'lg', indeterminate: boolean, roundedness: RadiusName): string;
33
+ /**
34
+ * Generates inline CSS custom properties for progress bar theming based on color.
35
+ * Sets fill and track colors for both light and dark modes.
36
+ *
37
+ * @param color - The theme color
38
+ * @returns Semicolon-separated CSS custom property declarations
39
+ */
40
+ export declare function generateProgressBarStyles(color: ExtendedColor): string;
41
+ /**
42
+ * A horizontal progress bar component that shows completion status.
43
+ * Supports determinate (with value) and indeterminate (loading) states,
44
+ * configurable sizing, theming, and optional percentage labels.
45
+ *
46
+ * Uses ARIA progressbar role with proper attributes for accessibility.
47
+ *
48
+ * @param options - Configuration for value, size, color, and display options
49
+ * @returns A styled progress bar element with track and fill
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Basic determinate progress bar
54
+ * ProgressBar({ value: 65, max: 100 })
55
+ * ```
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // With label showing percentage
60
+ * ProgressBar({ value: 75, showLabel: true, color: 'success' })
61
+ * ```
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // Indeterminate loading state
66
+ * ProgressBar({ indeterminate: true, color: 'primary' })
67
+ * ```
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * // Custom sizing and color
72
+ * ProgressBar({
73
+ * value: 42,
74
+ * max: 100,
75
+ * size: 'lg',
76
+ * color: 'warning',
77
+ * roundedness: 'sm'
78
+ * })
79
+ * ```
80
+ */
81
+ export declare function ProgressBar({ value, max, size, color, indeterminate, showLabel, roundedness, }: ProgressBarOptions): TNode;
@@ -0,0 +1,104 @@
1
+ import { Value, type Renderable } from '@tempots/dom';
2
+ import { ControlSize } from '../theme';
3
+ import { ThemeColorName } from '../../tokens';
4
+ import type { PlainDate } from '../../temporal/types';
5
+ /**
6
+ * Configuration options for the {@link RangeCalendar} component.
7
+ * Uses Temporal `PlainDate` for date values — no time or timezone concerns.
8
+ */
9
+ export interface RangeCalendarOptions {
10
+ /** The currently selected date range as `[start, end]`. */
11
+ value?: Value<[PlainDate, PlainDate] | null>;
12
+ /** Callback invoked when a complete range is selected. */
13
+ onChange?: (range: [PlainDate, PlainDate]) => void;
14
+ /**
15
+ * Predicate that returns `true` if the given date should be disabled (unselectable).
16
+ */
17
+ isDateDisabled?: (date: PlainDate) => boolean;
18
+ /** Theme color for selected and today highlights. @default 'primary' */
19
+ color?: Value<ThemeColorName>;
20
+ /** Visual size of the calendar. @default 'md' */
21
+ size?: Value<ControlSize>;
22
+ /** Whether the calendar is disabled. @default false */
23
+ disabled?: Value<boolean>;
24
+ /**
25
+ * The day the week starts on.
26
+ * 0 = Sunday, 1 = Monday, etc.
27
+ * @default 0
28
+ */
29
+ weekStartsOn?: number;
30
+ }
31
+ /**
32
+ * Configuration options for the {@link DateRangeCalendar} component.
33
+ * Convenience wrapper that uses JavaScript `Date` objects.
34
+ */
35
+ export interface DateRangeCalendarOptions {
36
+ /** The currently selected date range as `[start, end]`. */
37
+ value?: Value<[Date, Date] | null>;
38
+ /** Callback invoked when a complete range is selected. */
39
+ onChange?: (range: [Date, Date]) => void;
40
+ /**
41
+ * Predicate that returns `true` if the given date should be disabled (unselectable).
42
+ */
43
+ isDateDisabled?: (date: Date) => boolean;
44
+ /** Theme color for selected and today highlights. @default 'primary' */
45
+ color?: Value<ThemeColorName>;
46
+ /** Visual size of the calendar. @default 'md' */
47
+ size?: Value<ControlSize>;
48
+ /** Whether the calendar is disabled. @default false */
49
+ disabled?: Value<boolean>;
50
+ /**
51
+ * The day the week starts on.
52
+ * 0 = Sunday, 1 = Monday, etc.
53
+ * @default 0
54
+ */
55
+ weekStartsOn?: number;
56
+ }
57
+ /**
58
+ * A calendar component for date range selection with hover preview.
59
+ *
60
+ * Uses Temporal `PlainDate` internally — a date-only type with no time or
61
+ * timezone concerns, 1-based months, and proper date arithmetic.
62
+ *
63
+ * Users click twice to select a range: the first click sets the start date,
64
+ * hovering shows a preview, and the second click completes the range.
65
+ * The range is auto-sorted so start is always before end.
66
+ *
67
+ * @param options - Configuration for the range calendar
68
+ * @returns A calendar element with date range selection capability
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * import { prop } from '@tempots/dom'
73
+ * import { RangeCalendar, PlainDate } from '@tempots/beatui'
74
+ *
75
+ * const range = prop<[PlainDate, PlainDate] | null>(null)
76
+ * RangeCalendar({
77
+ * value: range,
78
+ * onChange: range.set,
79
+ * })
80
+ * ```
81
+ */
82
+ export declare function RangeCalendar(options?: RangeCalendarOptions): Renderable;
83
+ /**
84
+ * A convenience range calendar wrapper that uses JavaScript `Date` objects.
85
+ *
86
+ * Accepts and fires `Date` values, converting to/from `PlainDate` internally.
87
+ * Use this when integrating with existing `Date`-based code.
88
+ *
89
+ * @param options - Configuration for the range calendar (uses `Date` objects)
90
+ * @returns A calendar element with date range selection capability
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * import { prop } from '@tempots/dom'
95
+ * import { DateRangeCalendar } from '@tempots/beatui'
96
+ *
97
+ * const range = prop<[Date, Date] | null>(null)
98
+ * DateRangeCalendar({
99
+ * value: range,
100
+ * onChange: range.set,
101
+ * })
102
+ * ```
103
+ */
104
+ export declare function DateRangeCalendar(options?: DateRangeCalendarOptions): Renderable;
@@ -0,0 +1,70 @@
1
+ import { TNode, Value } from '@tempots/dom';
2
+ import { RadiusName } from '../../tokens/radius';
3
+ /**
4
+ * Configuration options for the {@link Skeleton} component.
5
+ */
6
+ export interface SkeletonOptions {
7
+ /** Visual style variant for the skeleton shape. @default 'text' */
8
+ variant?: Value<'text' | 'rect' | 'circle'>;
9
+ /** CSS width value (e.g., '100px', '50%'). Default is 100% for text/rect. */
10
+ width?: Value<string | undefined>;
11
+ /** CSS height value (e.g., '100px', '2rem'). Default varies by variant. */
12
+ height?: Value<string | undefined>;
13
+ /** Number of text lines to render (only applies to text variant). @default 1 */
14
+ lines?: Value<number>;
15
+ /** Whether to show the shimmer animation. @default true */
16
+ animate?: Value<boolean>;
17
+ /** Border radius preset for the skeleton. @default 'sm' */
18
+ roundedness?: Value<RadiusName>;
19
+ }
20
+ /**
21
+ * Generates CSS class names for the skeleton based on variant and animation state.
22
+ *
23
+ * @param variant - Shape variant (text, rect, or circle)
24
+ * @param animate - Whether shimmer animation is enabled
25
+ * @param roundedness - Border radius preset
26
+ * @returns Space-separated CSS class string
27
+ */
28
+ export declare function generateSkeletonClasses(variant: 'text' | 'rect' | 'circle', animate: boolean, roundedness: RadiusName): string;
29
+ /**
30
+ * Generates inline CSS styles for the skeleton based on width and height.
31
+ *
32
+ * @param width - CSS width value
33
+ * @param height - CSS height value
34
+ * @param variant - Shape variant
35
+ * @returns Semicolon-separated CSS property declarations
36
+ */
37
+ export declare function generateSkeletonStyles(width: string | undefined, height: string | undefined, variant: 'text' | 'rect' | 'circle'): string;
38
+ /**
39
+ * A loading placeholder component that shows a shimmer animation.
40
+ * Supports text (single or multi-line), rectangular, and circular variants.
41
+ * Used to indicate that content is loading while maintaining layout structure.
42
+ *
43
+ * @param options - Configuration for variant, dimensions, animation, and shape
44
+ * @returns A styled div element with shimmer animation
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * // Single line text skeleton
49
+ * Skeleton({ variant: 'text' })
50
+ * ```
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // Multi-line text skeleton
55
+ * Skeleton({ variant: 'text', lines: 3 })
56
+ * ```
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * // Circle skeleton for avatar
61
+ * Skeleton({ variant: 'circle', width: '48px', height: '48px', roundedness: 'full' })
62
+ * ```
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * // Rectangle skeleton with custom dimensions
67
+ * Skeleton({ variant: 'rect', width: '200px', height: '120px', roundedness: 'md' })
68
+ * ```
69
+ */
70
+ export declare function Skeleton({ variant, width, height, lines, animate, roundedness, }: SkeletonOptions): TNode;