@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,153 +1,607 @@
1
1
  /**
2
2
  * JSON Structure Schema Type Definitions
3
3
  *
4
- * Based on JSON Structure Core specification
5
- * https://json-structure.org/
4
+ * Based on JSON Structure Core specification.
5
+ * Provides TypeScript types, interfaces, and type guard functions for working
6
+ * with JSON Structure schemas, including primitive types (string, boolean, integers,
7
+ * floats, temporal, uuid, uri, binary), compound types (object, array, set, map,
8
+ * tuple, choice), validation constraints, and schema documents.
9
+ *
10
+ * @see https://json-structure.org/
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { isIntegerType, INTEGER_BOUNDS } from '@tempots/beatui/json-structure'
15
+ *
16
+ * if (isIntegerType('int32')) {
17
+ * const bounds = INTEGER_BOUNDS['int32']
18
+ * console.log(bounds.min, bounds.max) // -2147483648n, 2147483647n
19
+ * }
20
+ * ```
21
+ */
22
+ /**
23
+ * All primitive type keywords supported by JSON Structure.
24
+ *
25
+ * Includes string, boolean, null, signed/unsigned integers of various sizes,
26
+ * floating-point types, temporal types, UUID, URI, and binary.
6
27
  */
7
28
  export type PrimitiveType = 'string' | 'boolean' | 'null' | 'int8' | 'int16' | 'int32' | 'int64' | 'int128' | 'uint8' | 'uint16' | 'uint32' | 'uint64' | 'uint128' | 'float' | 'double' | 'decimal' | 'date' | 'datetime' | 'time' | 'duration' | 'uuid' | 'uri' | 'binary';
29
+ /**
30
+ * Compound (complex) type keywords supported by JSON Structure.
31
+ *
32
+ * These types contain or compose other types: objects, arrays, sets (unique arrays),
33
+ * maps (key-value pairs), tuples (fixed-length ordered elements), choices (tagged unions),
34
+ * and the `any` type.
35
+ */
8
36
  export type CompoundType = 'object' | 'array' | 'set' | 'map' | 'tuple' | 'choice' | 'any';
37
+ /**
38
+ * Union of all type keywords (primitive and compound) in JSON Structure.
39
+ */
9
40
  export type TypeKeyword = PrimitiveType | CompoundType;
10
- /** Integer types that require BigInt for full precision */
41
+ /**
42
+ * Integer types that require BigInt for full precision.
43
+ *
44
+ * These types exceed the safe integer range of JavaScript's `number` type
45
+ * and must be represented as `bigint` values.
46
+ */
11
47
  export type BigIntType = 'int64' | 'int128' | 'uint64' | 'uint128';
12
- /** Check if a type requires BigInt handling */
48
+ /**
49
+ * Check if a type keyword requires BigInt handling for full precision.
50
+ *
51
+ * @param type - The type keyword string to check
52
+ * @returns `true` if the type is int64, int128, uint64, or uint128
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * isBigIntType('int64') // true
57
+ * isBigIntType('int32') // false
58
+ * ```
59
+ */
13
60
  export declare function isBigIntType(type: string): type is BigIntType;
14
- /** All signed integer types */
61
+ /**
62
+ * All signed integer type keywords (int8 through int128).
63
+ */
15
64
  export type SignedIntegerType = 'int8' | 'int16' | 'int32' | 'int64' | 'int128';
16
- /** All unsigned integer types */
65
+ /**
66
+ * All unsigned integer type keywords (uint8 through uint128).
67
+ */
17
68
  export type UnsignedIntegerType = 'uint8' | 'uint16' | 'uint32' | 'uint64' | 'uint128';
18
- /** All integer types */
69
+ /**
70
+ * Union of all integer type keywords (signed and unsigned).
71
+ */
19
72
  export type IntegerType = SignedIntegerType | UnsignedIntegerType;
20
- /** Check if a type is an integer type */
73
+ /**
74
+ * Check if a type keyword represents an integer type.
75
+ *
76
+ * @param type - The type keyword string to check
77
+ * @returns `true` if the type is any signed or unsigned integer type
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * isIntegerType('int32') // true
82
+ * isIntegerType('uint8') // true
83
+ * isIntegerType('float') // false
84
+ * isIntegerType('string') // false
85
+ * ```
86
+ */
21
87
  export declare function isIntegerType(type: string): type is IntegerType;
22
- /** All floating-point types */
88
+ /**
89
+ * All floating-point type keywords.
90
+ *
91
+ * - `float` - IEEE 754 single-precision (32-bit)
92
+ * - `double` - IEEE 754 double-precision (64-bit)
93
+ * - `decimal` - Arbitrary-precision decimal
94
+ */
23
95
  export type FloatType = 'float' | 'double' | 'decimal';
24
- /** Check if a type is a floating-point type */
96
+ /**
97
+ * Check if a type keyword represents a floating-point type.
98
+ *
99
+ * @param type - The type keyword string to check
100
+ * @returns `true` if the type is float, double, or decimal
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * isFloatType('double') // true
105
+ * isFloatType('decimal') // true
106
+ * isFloatType('int32') // false
107
+ * ```
108
+ */
25
109
  export declare function isFloatType(type: string): type is FloatType;
26
- /** All numeric types */
110
+ /**
111
+ * Union of all numeric type keywords (integer and floating-point).
112
+ */
27
113
  export type NumericType = IntegerType | FloatType;
28
- /** Check if a type is numeric */
114
+ /**
115
+ * Check if a type keyword represents any numeric type (integer or floating-point).
116
+ *
117
+ * @param type - The type keyword string to check
118
+ * @returns `true` if the type is any integer or float type
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * isNumericType('int32') // true
123
+ * isNumericType('double') // true
124
+ * isNumericType('string') // false
125
+ * ```
126
+ */
29
127
  export declare function isNumericType(type: string): type is NumericType;
30
- /** All temporal types */
128
+ /**
129
+ * All temporal (date/time) type keywords.
130
+ *
131
+ * - `date` - Calendar date (ISO 8601 `YYYY-MM-DD`)
132
+ * - `datetime` - Date with time (ISO 8601 `YYYY-MM-DDTHH:MM:SS`)
133
+ * - `time` - Time of day (ISO 8601 `HH:MM:SS`)
134
+ * - `duration` - Time duration (ISO 8601 `P...T...`)
135
+ */
31
136
  export type TemporalType = 'date' | 'datetime' | 'time' | 'duration';
32
- /** Check if a type is temporal */
137
+ /**
138
+ * Check if a type keyword represents a temporal type.
139
+ *
140
+ * @param type - The type keyword string to check
141
+ * @returns `true` if the type is date, datetime, time, or duration
142
+ *
143
+ * @example
144
+ * ```ts
145
+ * isTemporalType('date') // true
146
+ * isTemporalType('duration') // true
147
+ * isTemporalType('string') // false
148
+ * ```
149
+ */
33
150
  export declare function isTemporalType(type: string): type is TemporalType;
34
- /** Check if a type is primitive */
151
+ /**
152
+ * Check if a type keyword represents a primitive (non-compound) type.
153
+ *
154
+ * @param type - The type keyword string to check
155
+ * @returns `true` if the type is string, boolean, null, numeric, temporal, uuid, uri, or binary
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * isPrimitiveType('string') // true
160
+ * isPrimitiveType('uuid') // true
161
+ * isPrimitiveType('object') // false
162
+ * isPrimitiveType('array') // false
163
+ * ```
164
+ */
35
165
  export declare function isPrimitiveType(type: string): type is PrimitiveType;
36
- /** Check if a type is compound/complex */
166
+ /**
167
+ * Check if a type keyword represents a compound (complex) type.
168
+ *
169
+ * @param type - The type keyword string to check
170
+ * @returns `true` if the type is object, array, set, map, tuple, choice, or any
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * isCompoundType('object') // true
175
+ * isCompoundType('array') // true
176
+ * isCompoundType('string') // false
177
+ * ```
178
+ */
37
179
  export declare function isCompoundType(type: string): type is CompoundType;
180
+ /**
181
+ * A reference to a type definition defined elsewhere in the schema.
182
+ *
183
+ * Uses the `$ref` keyword to point to a named type in the `definitions` section.
184
+ *
185
+ * @example
186
+ * ```ts
187
+ * const ref: TypeReference = { $ref: 'Address' }
188
+ * ```
189
+ */
38
190
  export interface TypeReference {
191
+ /** Path or name pointing to the referenced type definition */
39
192
  $ref: string;
40
193
  }
194
+ /**
195
+ * Specifies a type as a keyword, array of keywords (union), or a reference.
196
+ *
197
+ * - A single `TypeKeyword` for a simple type
198
+ * - An array of `TypeKeyword` for union types (e.g., `['string', 'null']`)
199
+ * - A `TypeReference` for referencing a named definition
200
+ */
41
201
  export type TypeSpecifier = TypeKeyword | TypeKeyword[] | TypeReference;
42
- /** Check if a value is a type reference */
202
+ /**
203
+ * Check if a value is a `TypeReference` (an object with a `$ref` property).
204
+ *
205
+ * @param value - The value to check
206
+ * @returns `true` if the value is a TypeReference object
207
+ *
208
+ * @example
209
+ * ```ts
210
+ * isTypeReference({ $ref: 'Address' }) // true
211
+ * isTypeReference({ type: 'string' }) // false
212
+ * isTypeReference('string') // false
213
+ * ```
214
+ */
43
215
  export declare function isTypeReference(value: unknown): value is TypeReference;
216
+ /**
217
+ * Validation constraints for string types.
218
+ */
44
219
  export interface StringValidation {
220
+ /** Minimum required string length */
45
221
  minLength?: number;
222
+ /** Maximum allowed string length */
46
223
  maxLength?: number;
224
+ /** Regular expression pattern the string must match */
47
225
  pattern?: string;
226
+ /** Semantic format identifier (e.g., 'email', 'hostname') */
48
227
  format?: string;
49
228
  }
229
+ /**
230
+ * Validation constraints for numeric types (integers and floats).
231
+ *
232
+ * Values can be specified as `number` or `string` (the latter for BigInt precision).
233
+ */
50
234
  export interface NumericValidation {
235
+ /** Minimum allowed value (inclusive); string representation for BigInt precision */
51
236
  minimum?: number | string;
237
+ /** Maximum allowed value (inclusive); string representation for BigInt precision */
52
238
  maximum?: number | string;
239
+ /** Minimum allowed value (exclusive); string representation for BigInt precision */
53
240
  exclusiveMinimum?: number | string;
241
+ /** Maximum allowed value (exclusive); string representation for BigInt precision */
54
242
  exclusiveMaximum?: number | string;
243
+ /** Value must be a multiple of this number */
55
244
  multipleOf?: number;
56
245
  }
246
+ /**
247
+ * Validation constraints for array and set types.
248
+ */
57
249
  export interface ArrayValidation {
250
+ /** Minimum required number of items */
58
251
  minItems?: number;
252
+ /** Maximum allowed number of items */
59
253
  maxItems?: number;
254
+ /** Whether all items must be unique (always true for set types) */
60
255
  uniqueItems?: boolean;
256
+ /** Schema that at least one item must match */
61
257
  contains?: TypeDefinition;
258
+ /** Minimum number of items matching `contains` */
62
259
  minContains?: number;
260
+ /** Maximum number of items matching `contains` */
63
261
  maxContains?: number;
64
262
  }
263
+ /**
264
+ * Validation constraints for object and map types.
265
+ */
65
266
  export interface ObjectValidation {
267
+ /** Minimum required number of properties */
66
268
  minProperties?: number;
269
+ /** Maximum allowed number of properties */
67
270
  maxProperties?: number;
271
+ /** Maps property name to list of other required properties when that property is present */
68
272
  dependentRequired?: Record<string, string[]>;
69
273
  }
274
+ /**
275
+ * Alternative names for a type definition, supporting language-specific labels.
276
+ *
277
+ * @example
278
+ * ```ts
279
+ * const names: Altnames = {
280
+ * json: 'user_name',
281
+ * 'lang:es': 'nombre_de_usuario',
282
+ * 'lang:fr': "nom_d'utilisateur",
283
+ * }
284
+ * ```
285
+ */
70
286
  export interface Altnames {
287
+ /** Alternative name used in JSON serialization */
71
288
  json?: string;
289
+ /** Language-specific alternative names keyed by `lang:<locale>` */
72
290
  [key: `lang:${string}`]: string | undefined;
73
291
  }
292
+ /**
293
+ * Metadata annotations for a type definition.
294
+ *
295
+ * These properties provide human-readable information and hints
296
+ * for documentation, UI rendering, and deprecation tracking.
297
+ */
74
298
  export interface TypeMetadata {
299
+ /** Human-readable name for the type */
75
300
  name?: string;
301
+ /** Human-readable description of the type's purpose */
76
302
  description?: string;
303
+ /** Example values conforming to this type */
77
304
  examples?: unknown[];
305
+ /** Whether this type is deprecated */
78
306
  deprecated?: boolean;
307
+ /** Whether this type is abstract (cannot be instantiated directly) */
79
308
  abstract?: boolean;
309
+ /** Alternative names for different contexts and languages */
80
310
  altnames?: Altnames;
311
+ /** Unit of measurement (e.g., 'kg', 'meters', 'seconds') */
81
312
  unit?: string;
313
+ /** Currency code (e.g., 'USD', 'EUR') for monetary values */
82
314
  currency?: string;
315
+ /** Default value for this type */
83
316
  default?: unknown;
84
317
  }
318
+ /**
319
+ * Base type definition shared by all JSON Structure types.
320
+ *
321
+ * Extends {@link TypeMetadata} with type specification, inheritance, enum, and const support.
322
+ *
323
+ * @example
324
+ * ```ts
325
+ * const def: BaseTypeDefinition = {
326
+ * type: 'string',
327
+ * name: 'Email',
328
+ * description: 'An email address',
329
+ * }
330
+ * ```
331
+ */
85
332
  export interface BaseTypeDefinition extends TypeMetadata {
333
+ /** The type specifier: a keyword, array of keywords (union), or reference */
86
334
  type?: TypeSpecifier;
335
+ /** Type(s) this definition extends (inheritance) */
87
336
  $extends?: string | string[];
337
+ /** Array of allowed values (enumeration constraint) */
88
338
  enum?: unknown[];
339
+ /** The exact value required (constant constraint) */
89
340
  const?: unknown;
90
341
  }
342
+ /**
343
+ * Type definition for object types with named properties.
344
+ *
345
+ * @example
346
+ * ```ts
347
+ * const userDef: ObjectTypeDefinition = {
348
+ * type: 'object',
349
+ * properties: {
350
+ * name: { type: 'string' },
351
+ * age: { type: 'int32' },
352
+ * },
353
+ * required: ['name'],
354
+ * }
355
+ * ```
356
+ */
91
357
  export interface ObjectTypeDefinition extends BaseTypeDefinition, ObjectValidation {
358
+ /** Must be 'object' */
92
359
  type: 'object';
360
+ /** Map of property names to their type definitions */
93
361
  properties: Record<string, TypeDefinition>;
362
+ /** Required property names; supports flat list or grouped requirements */
94
363
  required?: string[] | string[][];
364
+ /** Schema for properties not listed in `properties`; `false` disallows them */
95
365
  additionalProperties?: boolean | TypeDefinition;
96
366
  }
367
+ /**
368
+ * Type definition for ordered, variable-length array types.
369
+ *
370
+ * @example
371
+ * ```ts
372
+ * const tagsDef: ArrayTypeDefinition = {
373
+ * type: 'array',
374
+ * items: { type: 'string' },
375
+ * minItems: 1,
376
+ * maxItems: 10,
377
+ * }
378
+ * ```
379
+ */
97
380
  export interface ArrayTypeDefinition extends BaseTypeDefinition, ArrayValidation {
381
+ /** Must be 'array' */
98
382
  type: 'array';
383
+ /** Type definition for each item in the array */
99
384
  items: TypeDefinition;
100
385
  }
386
+ /**
387
+ * Type definition for set types (arrays with unique items).
388
+ *
389
+ * Semantically equivalent to an array with `uniqueItems: true`,
390
+ * but explicitly typed as 'set' for clarity.
391
+ */
101
392
  export interface SetTypeDefinition extends BaseTypeDefinition, ArrayValidation {
393
+ /** Must be 'set' */
102
394
  type: 'set';
395
+ /** Type definition for each item in the set */
103
396
  items: TypeDefinition;
104
397
  }
398
+ /**
399
+ * Type definition for map types (key-value pairs).
400
+ *
401
+ * Keys are always strings; the `values` property defines the type for all values.
402
+ *
403
+ * @example
404
+ * ```ts
405
+ * const configDef: MapTypeDefinition = {
406
+ * type: 'map',
407
+ * values: { type: 'string' },
408
+ * }
409
+ * ```
410
+ */
105
411
  export interface MapTypeDefinition extends BaseTypeDefinition, ObjectValidation {
412
+ /** Must be 'map' */
106
413
  type: 'map';
414
+ /** Type definition for all map values */
107
415
  values: TypeDefinition;
108
416
  }
417
+ /**
418
+ * Type definition for tuple types (fixed-length ordered elements).
419
+ *
420
+ * The `tuple` array defines the order of elements by referencing keys in `properties`.
421
+ * Each element has a named definition, but serializes to a JSON array in the specified order.
422
+ *
423
+ * @example
424
+ * ```ts
425
+ * const pointDef: TupleTypeDefinition = {
426
+ * type: 'tuple',
427
+ * properties: {
428
+ * x: { type: 'float' },
429
+ * y: { type: 'float' },
430
+ * },
431
+ * tuple: ['x', 'y'],
432
+ * }
433
+ * ```
434
+ */
109
435
  export interface TupleTypeDefinition extends BaseTypeDefinition {
436
+ /** Must be 'tuple' */
110
437
  type: 'tuple';
438
+ /** Named type definitions for each tuple element */
111
439
  properties: Record<string, TypeDefinition>;
440
+ /** Ordered list of property keys defining the element order */
112
441
  tuple: string[];
113
442
  }
443
+ /**
444
+ * Type definition for choice types (tagged unions / discriminated unions).
445
+ *
446
+ * Each choice variant has a name and a type definition. An optional `selector`
447
+ * property specifies the discriminator field name.
448
+ *
449
+ * @example
450
+ * ```ts
451
+ * const contactDef: ChoiceTypeDefinition = {
452
+ * type: 'choice',
453
+ * choices: {
454
+ * email: { type: 'string' },
455
+ * phone: { type: 'string' },
456
+ * },
457
+ * selector: 'method',
458
+ * }
459
+ * ```
460
+ */
114
461
  export interface ChoiceTypeDefinition extends BaseTypeDefinition {
462
+ /** Must be 'choice' */
115
463
  type: 'choice';
464
+ /** Map of variant names to their type definitions */
116
465
  choices: Record<string, TypeDefinition>;
466
+ /** Optional discriminator property name for discriminated unions */
117
467
  selector?: string;
118
468
  }
469
+ /**
470
+ * Type definition for arbitrary-precision decimal types.
471
+ *
472
+ * Extends numeric validation with `precision` and `scale` for fixed-point decimals.
473
+ *
474
+ * @example
475
+ * ```ts
476
+ * const priceDef: DecimalTypeDefinition = {
477
+ * type: 'decimal',
478
+ * precision: 10,
479
+ * scale: 2,
480
+ * minimum: 0,
481
+ * }
482
+ * ```
483
+ */
119
484
  export interface DecimalTypeDefinition extends BaseTypeDefinition, NumericValidation {
485
+ /** Must be 'decimal' */
120
486
  type: 'decimal';
487
+ /** Total number of significant digits */
121
488
  precision?: number;
489
+ /** Number of digits after the decimal point */
122
490
  scale?: number;
123
491
  }
492
+ /**
493
+ * Type definition for string types with optional validation constraints.
494
+ */
124
495
  export interface StringTypeDefinition extends BaseTypeDefinition, StringValidation {
496
+ /** Must be 'string' */
125
497
  type: 'string';
126
498
  }
499
+ /**
500
+ * Type definition for integer types (int8 through uint128) with optional numeric validation.
501
+ */
127
502
  export interface IntegerTypeDefinition extends BaseTypeDefinition, NumericValidation {
503
+ /** The specific integer type keyword */
128
504
  type: IntegerType;
129
505
  }
506
+ /**
507
+ * Type definition for floating-point types (float, double) with optional numeric validation.
508
+ */
130
509
  export interface FloatTypeDefinition extends BaseTypeDefinition, NumericValidation {
510
+ /** The specific float type keyword */
131
511
  type: 'float' | 'double';
132
512
  }
513
+ /**
514
+ * Union of all possible type definitions in a JSON Structure schema.
515
+ *
516
+ * This is the primary type used to represent any field or property definition.
517
+ */
133
518
  export type TypeDefinition = BaseTypeDefinition | ObjectTypeDefinition | ArrayTypeDefinition | SetTypeDefinition | MapTypeDefinition | TupleTypeDefinition | ChoiceTypeDefinition | DecimalTypeDefinition | StringTypeDefinition | IntegerTypeDefinition | FloatTypeDefinition;
519
+ /**
520
+ * Root document type for a JSON Structure schema.
521
+ *
522
+ * Represents a complete schema document with metadata, definitions, and optional
523
+ * root-level object properties. This is the top-level type passed to
524
+ * {@link JSONStructureForm} for form generation.
525
+ *
526
+ * @example
527
+ * ```ts
528
+ * const schema: JSONStructureSchema = {
529
+ * $schema: 'https://json-structure.org/schema/v0',
530
+ * $id: 'https://example.com/user',
531
+ * name: 'User',
532
+ * type: 'object',
533
+ * properties: {
534
+ * name: { type: 'string', name: 'Name' },
535
+ * email: { type: 'string', name: 'Email' },
536
+ * },
537
+ * required: ['name', 'email'],
538
+ * }
539
+ * ```
540
+ */
134
541
  export interface JSONStructureSchema extends BaseTypeDefinition, ObjectValidation {
542
+ /** URI identifying the JSON Structure specification version */
135
543
  $schema: string;
544
+ /** Unique identifier for this schema document */
136
545
  $id: string;
546
+ /** Human-readable name for the schema */
137
547
  name: string;
548
+ /** Reference to the root type definition (if not inline) */
138
549
  $root?: string;
550
+ /** Named type definitions and namespaces available for `$ref` references */
139
551
  definitions?: Record<string, TypeDefinition | Namespace>;
552
+ /** External schema URIs this schema depends on */
140
553
  $uses?: string[];
554
+ /** Root-level properties when the schema type is 'object' */
141
555
  properties?: Record<string, TypeDefinition>;
556
+ /** Required property names at the root level */
142
557
  required?: string[] | string[][];
143
558
  }
559
+ /**
560
+ * A namespace object for organizing type definitions hierarchically.
561
+ *
562
+ * Namespaces can contain type definitions or nested namespaces,
563
+ * but are not types themselves (they have no `type`, `$ref`, `enum`, or `const` property).
564
+ */
144
565
  export interface Namespace {
566
+ /** Named entries that are either type definitions or nested namespaces */
145
567
  [key: string]: TypeDefinition | Namespace;
146
568
  }
147
- /** Check if a value is a namespace (contains nested definitions but isn't a type itself) */
569
+ /**
570
+ * Check if a value is a namespace (contains nested definitions but is not a type itself).
571
+ *
572
+ * A namespace is distinguished from a type definition by the absence of
573
+ * `type`, `$ref`, `enum`, and `const` properties.
574
+ *
575
+ * @param value - The value to check
576
+ * @returns `true` if the value is a namespace object
577
+ *
578
+ * @example
579
+ * ```ts
580
+ * isNamespace({ User: { type: 'object', properties: {} } }) // true
581
+ * isNamespace({ type: 'string' }) // false
582
+ * ```
583
+ */
148
584
  export declare function isNamespace(value: unknown): value is Namespace;
149
- /** Check if a value is a type definition */
585
+ /**
586
+ * Check if a value is a type definition (has `type`, `$ref`, `enum`, or `const`).
587
+ *
588
+ * @param value - The value to check
589
+ * @returns `true` if the value is a TypeDefinition object
590
+ *
591
+ * @example
592
+ * ```ts
593
+ * isTypeDefinition({ type: 'string' }) // true
594
+ * isTypeDefinition({ $ref: 'User' }) // true
595
+ * isTypeDefinition({ name: 'ns' }) // false (namespace)
596
+ * ```
597
+ */
150
598
  export declare function isTypeDefinition(value: unknown): value is TypeDefinition;
599
+ /**
600
+ * Check if a type definition is an {@link ObjectTypeDefinition}.
601
+ *
602
+ * @param def - The type definition to check
603
+ * @returns `true` if the definition has `type: 'object'` and a `properties` map
604
+ */
151
605
  export declare function isObjectTypeDefinition(def: TypeDefinition): def is ObjectTypeDefinition;
152
606
  export declare function isArrayTypeDefinition(def: TypeDefinition): def is ArrayTypeDefinition;
153
607
  export declare function isSetTypeDefinition(def: TypeDefinition): def is SetTypeDefinition;
@@ -0,0 +1,77 @@
1
+ import { TNode, Value } from '@tempots/dom';
2
+ import { ControlSize } from '../theme';
3
+ /**
4
+ * Describes a single item in an {@link Accordion}.
5
+ *
6
+ * Each item has a unique key, a header (rendered as the clickable trigger),
7
+ * and body content revealed when the item is expanded.
8
+ */
9
+ export interface AccordionItem {
10
+ /** Unique key identifying this item within the accordion */
11
+ key: string;
12
+ /** Content rendered in the clickable header area */
13
+ header: TNode;
14
+ /** Content revealed when the item is expanded */
15
+ body: TNode;
16
+ /** Whether this item is initially open. @default false */
17
+ defaultOpen?: boolean;
18
+ /** Whether this item is disabled and cannot be toggled. @default false */
19
+ disabled?: boolean;
20
+ }
21
+ /**
22
+ * Configuration options for the {@link Accordion} component.
23
+ */
24
+ export interface AccordionOptions {
25
+ /** The accordion items to render */
26
+ items: AccordionItem[];
27
+ /**
28
+ * Whether multiple items can be open simultaneously.
29
+ * When false, opening an item closes all others.
30
+ * @default false
31
+ */
32
+ multiple?: Value<boolean>;
33
+ /** Visual size of the accordion. @default 'md' */
34
+ size?: Value<ControlSize>;
35
+ /**
36
+ * Visual variant of the accordion.
37
+ * - `'default'` has visible borders between items
38
+ * - `'separated'` renders each item as a standalone card with gaps between
39
+ * @default 'default'
40
+ */
41
+ variant?: Value<'default' | 'separated'>;
42
+ }
43
+ /**
44
+ * An accordion component that renders a list of collapsible sections.
45
+ *
46
+ * Each section has a clickable header that toggles the visibility of its content.
47
+ * Supports single-expand mode (default) where opening one item closes others,
48
+ * and multi-expand mode where any combination of items can be open.
49
+ *
50
+ * Includes full keyboard accessibility with `Enter` and `Space` to toggle,
51
+ * and proper ARIA attributes for `role="region"` and `aria-expanded`.
52
+ *
53
+ * @param options - Configuration for the accordion
54
+ * @returns An accordion element with collapsible sections
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * Accordion({
59
+ * items: [
60
+ * { key: '1', header: 'Section 1', body: html.p('Content 1') },
61
+ * { key: '2', header: 'Section 2', body: html.p('Content 2') },
62
+ * ],
63
+ * })
64
+ * ```
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * // Multiple items open at once
69
+ * Accordion({
70
+ * items: [...],
71
+ * multiple: true,
72
+ * variant: 'separated',
73
+ * size: 'lg',
74
+ * })
75
+ * ```
76
+ */
77
+ export declare function Accordion({ items, multiple, size, variant, }: AccordionOptions): import("@tempots/dom").Renderable;