@tempots/beatui 0.82.0 → 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 (551) hide show
  1. package/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
  2. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  3. package/dist/ar-CBrjAlIY.cjs +1 -0
  4. package/dist/ar-DjMvIww5.js +175 -0
  5. package/dist/{ar-NCCPhOpI.js → ar-DwDxAANU.js} +16 -1
  6. package/dist/ar-kZBzg02I.cjs +1 -0
  7. package/dist/auth/index.cjs.js +1 -1
  8. package/dist/auth/index.es.js +64 -1351
  9. package/dist/auth-divider-C3_CgC0l.js +1375 -0
  10. package/dist/auth-divider-C4WTL71M.cjs +1 -0
  11. package/dist/beatui.css +11183 -5596
  12. package/dist/beatui.tailwind.css +11210 -5623
  13. package/dist/better-auth/index.cjs.js +1 -0
  14. package/dist/better-auth/index.es.js +741 -0
  15. package/dist/{colors-B2yrgHSW.cjs → colors-BI0YhONJ.cjs} +1 -1
  16. package/dist/{colors-DPo9GEJR.js → colors-BmLYKmoH.js} +38 -30
  17. package/dist/de-B03SM9eF.cjs +1 -0
  18. package/dist/{de-BVK2MkCk.js → de-CSGSC0xX.js} +18 -3
  19. package/dist/de-CrBw41po.cjs +1 -0
  20. package/dist/{de-f2xcEb34.js → de-wChFYqM4.js} +79 -5
  21. package/dist/deep-merge-CmQoIYPC.js +1689 -0
  22. package/dist/deep-merge-UghuPcyW.cjs +1 -0
  23. package/dist/duration-input-BJzKgI15.cjs +1 -0
  24. package/dist/{duration-input-B3vnnwBZ.js → duration-input-DaB6s0rL.js} +24 -23
  25. package/dist/editor-toolbar-group-BslfdazC.js +32 -0
  26. package/dist/editor-toolbar-group-_V1rDM-1.cjs +1 -0
  27. package/dist/{es-BxBeTRCv.cjs → es-BRa0hV-7.cjs} +1 -1
  28. package/dist/es-Ca5xT3NE.cjs +1 -0
  29. package/dist/es-CmPF3IGl.js +175 -0
  30. package/dist/{es-BQS8PL9j.js → es-dR46FTMF.js} +16 -1
  31. package/dist/{fa-DxPseW3g.cjs → fa-BxCSKn9j.cjs} +1 -1
  32. package/dist/fa-D696e75R.js +175 -0
  33. package/dist/fa-DhZJYuC6.cjs +1 -0
  34. package/dist/{fa-T-tkJSJr.js → fa-FsHBFjdY.js} +16 -1
  35. package/dist/fr-1nSKSIlw.cjs +1 -0
  36. package/dist/{fr-yOW_68YY.js → fr-B0jeX1Hx.js} +83 -9
  37. package/dist/{fr-CSRRhyCG.js → fr-Di6BT9_V.js} +18 -3
  38. package/dist/fr-Dq6RAY9s.cjs +1 -0
  39. package/dist/he-BBX1h9uD.cjs +1 -0
  40. package/dist/{he-Bxdc4M08.js → he-CXujw1Lw.js} +16 -1
  41. package/dist/he-DhcurPt5.cjs +1 -0
  42. package/dist/he-SgAsIYJA.js +175 -0
  43. package/dist/{hi-CJeFvTBe.js → hi-Bvh4d9bO.js} +16 -1
  44. package/dist/hi-Cd0YQZTU.cjs +1 -0
  45. package/dist/hi-CxsIxbfM.cjs +1 -0
  46. package/dist/hi-s9oiIihq.js +175 -0
  47. package/dist/{hls.light.min-Bhrf47iR.cjs → hls.light.min-C6xKDzRR.cjs} +1 -1
  48. package/dist/{hls.light.min-C6VwviEa.js → hls.light.min-hEMf_E8u.js} +1 -1
  49. package/dist/{index-ChsRjiIp.cjs → index-Bm43lZqE.cjs} +19 -19
  50. package/dist/{index-C5YCCgnn.cjs → index-C2_iX1um.cjs} +1 -1
  51. package/dist/{index-DT6-HMMz.js → index-C32iUFIr.js} +1432 -1462
  52. package/dist/{index-CiAVfKIZ.js → index-CEqc0H3v.js} +1 -1
  53. package/dist/index-DH37GTQj.cjs +1 -0
  54. package/dist/{index-DklKfzD4.js → index-Di1_W_7Q.js} +351 -361
  55. package/dist/index.cjs.js +4 -4
  56. package/dist/index.es.js +6310 -3528
  57. package/dist/input-container-CSi72GI1.cjs +1 -0
  58. package/dist/input-container-Nx0gMAzS.js +258 -0
  59. package/dist/it-ByIEk5Cq.cjs +1 -0
  60. package/dist/it-D_IcaYxp.cjs +1 -0
  61. package/dist/{it-6e6X-4BB.js → it-Dc4IMciD.js} +80 -6
  62. package/dist/{it-Zmp0BhIj.js → it-EWhykhHv.js} +18 -3
  63. package/dist/ja-CMGqpPo7.cjs +1 -0
  64. package/dist/{ja-BxNuNo2H.js → ja-D2t2g5xj.js} +85 -11
  65. package/dist/ja-DV6Fpp18.cjs +1 -0
  66. package/dist/{ja-DWjoA-hQ.js → ja-YZ0P5woj.js} +16 -1
  67. package/dist/json-schema/index.cjs.js +1 -1
  68. package/dist/json-schema/index.es.js +212 -205
  69. package/dist/json-schema-display/index.cjs.js +1 -1
  70. package/dist/json-schema-display/index.es.js +1 -1
  71. package/dist/json-structure/index.cjs.js +1 -1
  72. package/dist/json-structure/index.es.js +623 -762
  73. package/dist/ko-BPl5rP97.cjs +1 -0
  74. package/dist/ko-BRylA5JZ.js +175 -0
  75. package/dist/ko-DR1f0as8.cjs +1 -0
  76. package/dist/{ko-BOlI-33h.js → ko-U7BSUAxZ.js} +16 -1
  77. package/dist/lexical/index.cjs.js +46 -0
  78. package/dist/lexical/index.es.js +21397 -0
  79. package/dist/lexical.css +1122 -0
  80. package/dist/menu-CX72LaZ3.cjs +1 -0
  81. package/dist/menu-D_slbwl8.js +374 -0
  82. package/dist/modal-DaI1jH-X.js +488 -0
  83. package/dist/modal-kyZfvVZb.cjs +1 -0
  84. package/dist/nl-BSfaHFt0.cjs +1 -0
  85. package/dist/{nl-Dr-l6zUy.cjs → nl-CQF0N7Mc.cjs} +1 -1
  86. package/dist/{nl-kQNcAdY1.js → nl-CqAxoB4J.js} +18 -3
  87. package/dist/nl-Dh7LUWAn.js +176 -0
  88. package/dist/notice-Bc1L4Zpr.cjs +1 -0
  89. package/dist/{notice-CZHWWwOQ.js → notice-Dz4nX57_.js} +49 -48
  90. package/dist/{oneof-branch-detection-BVNoKU9d.js → oneof-branch-detection-BED_n2MT.js} +523 -520
  91. package/dist/{oneof-branch-detection-C8g3eWnx.cjs → oneof-branch-detection-Vov_e3kI.cjs} +4 -4
  92. package/dist/{pl-CKyPFvss.js → pl-C-weXGCB.js} +16 -1
  93. package/dist/pl-D-O4sCnr.cjs +1 -0
  94. package/dist/{pl-Bs4nLJ__.js → pl-XEG-p1Q9.js} +77 -3
  95. package/dist/{pl-BK0i_yvq.cjs → pl-y_w3DWF3.cjs} +1 -1
  96. package/dist/prosemirror/index.cjs.js +1 -1
  97. package/dist/prosemirror/index.es.js +1 -1
  98. package/dist/{pt-DBmUhaNI.js → pt-BjNGOoZH.js} +18 -3
  99. package/dist/pt-DYsDA2sZ.js +175 -0
  100. package/dist/pt-DqaZWmbG.cjs +1 -0
  101. package/dist/pt-chEEYLlt.cjs +1 -0
  102. package/dist/ru-B46hVpFF.cjs +1 -0
  103. package/dist/{ru-Bi1_DEKM.js → ru-BTKBykp-.js} +86 -12
  104. package/dist/{ru-CsJ_yT-7.js → ru-CFmeZBXK.js} +16 -1
  105. package/dist/ru-CISMzCHR.cjs +1 -0
  106. package/dist/session-id-3KiilioY.js +8 -0
  107. package/dist/session-id-B5lJMzbB.cjs +1 -0
  108. package/dist/styles-url-CVCcF0ra.cjs +1 -0
  109. package/dist/styles-url-DUdp56Ts.js +4 -0
  110. package/dist/tailwind/index.cjs.js +1 -1
  111. package/dist/tailwind/index.es.js +3 -3
  112. package/dist/tailwind/preset.cjs.js +1 -1
  113. package/dist/tailwind/preset.es.js +74 -4
  114. package/dist/tailwind/vite-plugin.cjs.js +10 -10
  115. package/dist/tailwind/vite-plugin.es.js +289 -410
  116. package/dist/text-input-8v79fzEy.cjs +1 -0
  117. package/dist/text-input-CPJzUC2r.js +45 -0
  118. package/dist/{toolbar-DR2Zd4Oo.js → toolbar-CjQG7l7X.js} +4 -4
  119. package/dist/toolbar-D3ZsC0g_.cjs +1 -0
  120. package/dist/{tr-Bn5ldVJs.js → tr-C5X2gFZS.js} +17 -2
  121. package/dist/tr-CaMaflJL.cjs +1 -0
  122. package/dist/{tr-DiYB-FwX.js → tr-Cp8ZCUic.js} +77 -3
  123. package/dist/{tr-CgJ8uhZu.cjs → tr-mWu2E__o.cjs} +1 -1
  124. package/dist/{translations-Cq8bUKJP.js → translations-BGblCUBj.js} +144 -70
  125. package/dist/translations-CZ0KOii3.cjs +1 -0
  126. package/dist/translations-gVgMyNno.cjs +1 -0
  127. package/dist/translations-jUYta1_1.js +87 -0
  128. package/dist/types/auth/index.d.ts +13 -0
  129. package/dist/types/auth-i18n/default.d.ts +14 -0
  130. package/dist/types/auth-i18n/locales/ar.d.ts +14 -0
  131. package/dist/types/auth-i18n/locales/de.d.ts +14 -0
  132. package/dist/types/auth-i18n/locales/en.d.ts +14 -0
  133. package/dist/types/auth-i18n/locales/es.d.ts +14 -0
  134. package/dist/types/auth-i18n/locales/fa.d.ts +14 -0
  135. package/dist/types/auth-i18n/locales/fr.d.ts +14 -0
  136. package/dist/types/auth-i18n/locales/he.d.ts +14 -0
  137. package/dist/types/auth-i18n/locales/hi.d.ts +14 -0
  138. package/dist/types/auth-i18n/locales/it.d.ts +14 -0
  139. package/dist/types/auth-i18n/locales/ja.d.ts +14 -0
  140. package/dist/types/auth-i18n/locales/ko.d.ts +14 -0
  141. package/dist/types/auth-i18n/locales/nl.d.ts +14 -0
  142. package/dist/types/auth-i18n/locales/pl.d.ts +14 -0
  143. package/dist/types/auth-i18n/locales/pt.d.ts +14 -0
  144. package/dist/types/auth-i18n/locales/ru.d.ts +14 -0
  145. package/dist/types/auth-i18n/locales/tr.d.ts +14 -0
  146. package/dist/types/auth-i18n/locales/ur.d.ts +14 -0
  147. package/dist/types/auth-i18n/locales/vi.d.ts +14 -0
  148. package/dist/types/auth-i18n/locales/zh.d.ts +14 -0
  149. package/dist/types/auth-i18n/translations.d.ts +14 -0
  150. package/dist/types/beatui-i18n/default.d.ts +99 -0
  151. package/dist/types/beatui-i18n/index.d.ts +11 -0
  152. package/dist/types/beatui-i18n/locales/en.d.ts +63 -0
  153. package/dist/types/beatui-i18n/translations.d.ts +87 -0
  154. package/dist/types/better-auth/bridge.d.ts +2 -0
  155. package/dist/types/better-auth/callbacks.d.ts +6 -0
  156. package/dist/types/better-auth/components/authenticated.d.ts +4 -0
  157. package/dist/types/better-auth/components/better-auth-container.d.ts +4 -0
  158. package/dist/types/better-auth/components/better-auth-modal.d.ts +4 -0
  159. package/dist/types/better-auth/components/magic-link-form.d.ts +7 -0
  160. package/dist/types/better-auth/components/passkey-management.d.ts +6 -0
  161. package/dist/types/better-auth/components/passkey-signin.d.ts +12 -0
  162. package/dist/types/better-auth/components/two-factor-setup.d.ts +8 -0
  163. package/dist/types/better-auth/components/two-factor-verify.d.ts +10 -0
  164. package/dist/types/better-auth/i18n/default.d.ts +29 -0
  165. package/dist/types/better-auth/i18n/locales/en.d.ts +28 -0
  166. package/dist/types/better-auth/i18n/translations.d.ts +27 -0
  167. package/dist/types/better-auth/index.d.ts +35 -0
  168. package/dist/types/better-auth/provider.d.ts +39 -0
  169. package/dist/types/better-auth/session.d.ts +14 -0
  170. package/dist/types/better-auth/social-mapping.d.ts +2 -0
  171. package/dist/types/better-auth/types.d.ts +276 -0
  172. package/dist/types/components/auth/auth-container.d.ts +63 -2
  173. package/dist/types/components/auth/auth-divider.d.ts +30 -0
  174. package/dist/types/components/auth/auth-email-prop.d.ts +25 -0
  175. package/dist/types/components/auth/index.d.ts +9 -0
  176. package/dist/types/components/auth/password-strength-indicator.d.ts +58 -0
  177. package/dist/types/components/auth/reset-password-form.d.ts +33 -0
  178. package/dist/types/components/auth/schemas.d.ts +183 -5
  179. package/dist/types/components/auth/signin-form.d.ts +33 -0
  180. package/dist/types/components/auth/signup-form.d.ts +36 -0
  181. package/dist/types/components/auth/social-login-button.d.ts +213 -0
  182. package/dist/types/components/auth/social-providers.d.ts +27 -1
  183. package/dist/types/components/auth/types.d.ts +301 -0
  184. package/dist/types/components/auth/utils.d.ts +198 -0
  185. package/dist/types/components/beatui.d.ts +35 -0
  186. package/dist/types/components/button/button.d.ts +61 -0
  187. package/dist/types/components/button/close-button.d.ts +32 -1
  188. package/dist/types/components/button/index.d.ts +2 -0
  189. package/dist/types/components/button/toggle-button-group.d.ts +95 -0
  190. package/dist/types/components/button/toggle-button.d.ts +60 -0
  191. package/dist/types/components/data/avatar-group.d.ts +74 -0
  192. package/dist/types/components/data/avatar.d.ts +62 -0
  193. package/dist/types/components/data/badge.d.ts +49 -2
  194. package/dist/types/components/data/calendar-shared.d.ts +59 -0
  195. package/dist/types/components/data/calendar.d.ts +107 -0
  196. package/dist/types/components/data/history-timeline.d.ts +35 -0
  197. package/dist/types/components/data/icon-badge.d.ts +14 -0
  198. package/dist/types/components/data/icon.d.ts +55 -4
  199. package/dist/types/components/data/index.d.ts +9 -0
  200. package/dist/types/components/data/page-drop-zone.d.ts +61 -8
  201. package/dist/types/components/data/presence-overlay.d.ts +26 -0
  202. package/dist/types/components/data/progress-bar.d.ts +81 -0
  203. package/dist/types/components/data/range-calendar.d.ts +104 -0
  204. package/dist/types/components/data/skeleton.d.ts +70 -0
  205. package/dist/types/components/data/table.d.ts +38 -11
  206. package/dist/types/components/data/tag.d.ts +40 -0
  207. package/dist/types/components/data/unstyled-drop-zone.d.ts +73 -0
  208. package/dist/types/components/editor-toolbar/editor-toolbar-button.d.ts +16 -0
  209. package/dist/types/components/editor-toolbar/editor-toolbar-group.d.ts +9 -0
  210. package/dist/types/components/editor-toolbar/index.d.ts +2 -0
  211. package/dist/types/components/form/control/control.d.ts +155 -0
  212. package/dist/types/components/form/control/date-utils.d.ts +81 -0
  213. package/dist/types/components/form/control/ensure-control.d.ts +28 -0
  214. package/dist/types/components/form/control/form-status.d.ts +63 -0
  215. package/dist/types/components/form/control/index.d.ts +10 -0
  216. package/dist/types/components/form/control/list-control.d.ts +100 -1
  217. package/dist/types/components/form/control/list-item-controls.d.ts +65 -0
  218. package/dist/types/components/form/controller/color-controller.d.ts +29 -1
  219. package/dist/types/components/form/controller/controller-validation.d.ts +31 -0
  220. package/dist/types/components/form/controller/controller.d.ts +286 -0
  221. package/dist/types/components/form/controller/index.d.ts +12 -0
  222. package/dist/types/components/form/controller/path.d.ts +69 -0
  223. package/dist/types/components/form/controller/union-controller.d.ts +106 -11
  224. package/dist/types/components/form/controller/utils.d.ts +67 -0
  225. package/dist/types/components/form/input/advanced-slider.d.ts +143 -0
  226. package/dist/types/components/form/input/appearance-selector.d.ts +39 -0
  227. package/dist/types/components/form/input/base64-input.d.ts +34 -0
  228. package/dist/types/components/form/input/base64s-input.d.ts +47 -0
  229. package/dist/types/components/form/input/bigint-input.d.ts +27 -0
  230. package/dist/types/components/form/input/checkbox-input.d.ts +46 -0
  231. package/dist/types/components/form/input/color-input.d.ts +42 -0
  232. package/dist/types/components/form/input/color-swatch-input.d.ts +53 -0
  233. package/dist/types/components/form/input/combobox-input.d.ts +73 -0
  234. package/dist/types/components/form/input/combobox-tags-input.d.ts +54 -0
  235. package/dist/types/components/form/input/date-input.d.ts +33 -0
  236. package/dist/types/components/form/input/date-time-input.d.ts +34 -0
  237. package/dist/types/components/form/input/dropdown-base.d.ts +52 -0
  238. package/dist/types/components/form/input/dropdown-input.d.ts +86 -0
  239. package/dist/types/components/form/input/duration-input.d.ts +18 -0
  240. package/dist/types/components/form/input/duration-mask.d.ts +24 -0
  241. package/dist/types/components/form/input/editable-text.d.ts +33 -0
  242. package/dist/types/components/form/input/email-input.d.ts +34 -0
  243. package/dist/types/components/form/input/file-input.d.ts +33 -0
  244. package/dist/types/components/form/input/files-input.d.ts +44 -0
  245. package/dist/types/components/form/input/index.d.ts +5 -0
  246. package/dist/types/components/form/input/input-adornment.d.ts +38 -0
  247. package/dist/types/components/form/input/input-container.d.ts +65 -0
  248. package/dist/types/components/form/input/input-options.d.ts +70 -0
  249. package/dist/types/components/form/input/input-wrapper.d.ts +78 -0
  250. package/dist/types/components/form/input/instant-input.d.ts +18 -0
  251. package/dist/types/components/form/input/lazy-native-select.d.ts +43 -0
  252. package/dist/types/components/form/input/list-input.d.ts +50 -0
  253. package/dist/types/components/form/input/mask-input.d.ts +158 -0
  254. package/dist/types/components/form/input/native-select.d.ts +50 -0
  255. package/dist/types/components/form/input/nullable-base64-input.d.ts +25 -0
  256. package/dist/types/components/form/input/nullable-bigint-input.d.ts +26 -0
  257. package/dist/types/components/form/input/nullable-date-input.d.ts +18 -0
  258. package/dist/types/components/form/input/nullable-date-time-input.d.ts +19 -0
  259. package/dist/types/components/form/input/nullable-duration-input.d.ts +19 -0
  260. package/dist/types/components/form/input/nullable-email-input.d.ts +18 -0
  261. package/dist/types/components/form/input/nullable-instant-input.d.ts +19 -0
  262. package/dist/types/components/form/input/nullable-mask-input.d.ts +24 -0
  263. package/dist/types/components/form/input/nullable-number-input.d.ts +29 -0
  264. package/dist/types/components/form/input/nullable-password-input.d.ts +18 -0
  265. package/dist/types/components/form/input/nullable-plain-date-input.d.ts +18 -0
  266. package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +18 -0
  267. package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +18 -0
  268. package/dist/types/components/form/input/nullable-plain-time-input.d.ts +18 -0
  269. package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +18 -0
  270. package/dist/types/components/form/input/nullable-rating-input.d.ts +33 -0
  271. package/dist/types/components/form/input/nullable-text-area.d.ts +27 -0
  272. package/dist/types/components/form/input/nullable-text-input.d.ts +18 -0
  273. package/dist/types/components/form/input/nullable-url-input.d.ts +18 -0
  274. package/dist/types/components/form/input/nullable-utils.d.ts +22 -2
  275. package/dist/types/components/form/input/nullable-uuid-input.d.ts +18 -0
  276. package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +20 -0
  277. package/dist/types/components/form/input/number-input.d.ts +49 -0
  278. package/dist/types/components/form/input/option.d.ts +165 -0
  279. package/dist/types/components/form/input/otp-input.d.ts +77 -0
  280. package/dist/types/components/form/input/password-input.d.ts +39 -0
  281. package/dist/types/components/form/input/plain-date-input.d.ts +17 -0
  282. package/dist/types/components/form/input/plain-date-time-input.d.ts +17 -0
  283. package/dist/types/components/form/input/plain-month-day-input.d.ts +18 -0
  284. package/dist/types/components/form/input/plain-time-input.d.ts +17 -0
  285. package/dist/types/components/form/input/plain-year-month-input.d.ts +17 -0
  286. package/dist/types/components/form/input/radio-group.d.ts +108 -0
  287. package/dist/types/components/form/input/rating-input.d.ts +57 -0
  288. package/dist/types/components/form/input/segmented-input.d.ts +70 -1
  289. package/dist/types/components/form/input/select-tags-input.d.ts +69 -0
  290. package/dist/types/components/form/input/slider-input.d.ts +82 -0
  291. package/dist/types/components/form/input/switch.d.ts +59 -1
  292. package/dist/types/components/form/input/tag-input.d.ts +19 -0
  293. package/dist/types/components/form/input/tag-utils.d.ts +111 -0
  294. package/dist/types/components/form/input/tags-input.d.ts +18 -0
  295. package/dist/types/components/form/input/text-area.d.ts +42 -0
  296. package/dist/types/components/form/input/text-input.d.ts +63 -1
  297. package/dist/types/components/form/input/url-input.d.ts +34 -0
  298. package/dist/types/components/form/input/uuid-input.d.ts +19 -0
  299. package/dist/types/components/form/input/zoned-date-time-input.d.ts +20 -0
  300. package/dist/types/components/form/schema/standard-schema-v1.d.ts +98 -23
  301. package/dist/types/components/form/use-form.d.ts +146 -2
  302. package/dist/types/components/i18n/index.d.ts +9 -0
  303. package/dist/types/components/i18n/locale-direction.d.ts +21 -1
  304. package/dist/types/components/i18n/locale-selector.d.ts +45 -0
  305. package/dist/types/components/i18n/make-i18nprovider.d.ts +42 -0
  306. package/dist/types/components/json-schema/schema-types.d.ts +133 -0
  307. package/dist/types/components/json-structure/controls/control-utils.d.ts +19 -0
  308. package/dist/types/components/json-structure/controls/deprecation-utils.d.ts +2 -3
  309. package/dist/types/components/json-structure/controls/index.d.ts +1 -0
  310. package/dist/types/components/json-structure/structure-types.d.ts +473 -19
  311. package/dist/types/components/layout/accordion.d.ts +77 -0
  312. package/dist/types/components/layout/action-card.d.ts +90 -2
  313. package/dist/types/components/layout/app-shell.d.ts +76 -0
  314. package/dist/types/components/layout/card.d.ts +27 -0
  315. package/dist/types/components/layout/center.d.ts +39 -0
  316. package/dist/types/components/layout/collapse.d.ts +28 -0
  317. package/dist/types/components/layout/divider.d.ts +84 -0
  318. package/dist/types/components/layout/group.d.ts +15 -0
  319. package/dist/types/components/layout/index.d.ts +2 -0
  320. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +105 -0
  321. package/dist/types/components/layout/scrollable-panel.d.ts +54 -0
  322. package/dist/types/components/layout/sink.d.ts +46 -0
  323. package/dist/types/components/layout/stack.d.ts +16 -0
  324. package/dist/types/components/layout/with-breakpoint.d.ts +194 -0
  325. package/dist/types/components/lexical/bare-editor.d.ts +29 -0
  326. package/dist/types/components/lexical/code/index.d.ts +1 -0
  327. package/dist/types/components/lexical/code/language-selector.d.ts +13 -0
  328. package/dist/types/components/lexical/contextual-editor.d.ts +22 -0
  329. package/dist/types/components/lexical/docked-editor.d.ts +23 -0
  330. package/dist/types/components/lexical/floating/block-handle.d.ts +16 -0
  331. package/dist/types/components/lexical/floating/floating-toolbar.d.ts +12 -0
  332. package/dist/types/components/lexical/floating/index.d.ts +6 -0
  333. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +20 -0
  334. package/dist/types/components/lexical/index.d.ts +8 -0
  335. package/dist/types/components/lexical/lexical-editor-input.d.ts +30 -0
  336. package/dist/types/components/lexical/table/index.d.ts +1 -0
  337. package/dist/types/components/lexical/table/table-controls.d.ts +12 -0
  338. package/dist/types/components/lexical/toolbar/index.d.ts +6 -0
  339. package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +12 -0
  340. package/dist/types/components/lexical/toolbar/toolbar-button.d.ts +1 -0
  341. package/dist/types/components/lexical/toolbar/toolbar-group.d.ts +1 -0
  342. package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +32 -0
  343. package/dist/types/components/misc/empty-state.d.ts +86 -0
  344. package/dist/types/components/misc/expando.d.ts +81 -0
  345. package/dist/types/components/misc/index.d.ts +2 -1
  346. package/dist/types/components/misc/link-portal.d.ts +40 -2
  347. package/dist/types/components/misc/notice.d.ts +93 -0
  348. package/dist/types/components/misc/notification-panel.d.ts +21 -0
  349. package/dist/types/components/misc/notification-provider.d.ts +141 -0
  350. package/dist/types/components/misc/notification.d.ts +93 -0
  351. package/dist/types/components/misc/style-portal.d.ts +31 -1
  352. package/dist/types/components/monaco/monaco-editor-input.d.ts +59 -2
  353. package/dist/types/components/navigation/breadcrumbs.d.ts +96 -0
  354. package/dist/types/components/navigation/flyout.d.ts +118 -16
  355. package/dist/types/components/navigation/index.d.ts +3 -0
  356. package/dist/types/components/navigation/link/link.d.ts +100 -0
  357. package/dist/types/components/navigation/menu.d.ts +155 -35
  358. package/dist/types/components/navigation/pagination.d.ts +82 -0
  359. package/dist/types/components/navigation/sidebar/sidebar-group.d.ts +42 -0
  360. package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +101 -0
  361. package/dist/types/components/navigation/sidebar/sidebar-separator.d.ts +17 -0
  362. package/dist/types/components/navigation/sidebar/sidebar.d.ts +57 -0
  363. package/dist/types/components/navigation/tabs/tabs.d.ts +3 -2
  364. package/dist/types/components/navigation/toolbar/toolbar.d.ts +125 -0
  365. package/dist/types/components/navigation/tree-view.d.ts +95 -0
  366. package/dist/types/components/overlay/announcement-bar.d.ts +41 -2
  367. package/dist/types/components/overlay/block-command-palette.d.ts +25 -0
  368. package/dist/types/components/overlay/command-palette.d.ts +17 -0
  369. package/dist/types/components/overlay/dialogs.d.ts +213 -0
  370. package/dist/types/components/overlay/drawer.d.ts +76 -12
  371. package/dist/types/components/overlay/index.d.ts +4 -0
  372. package/dist/types/components/overlay/lightbox.d.ts +53 -10
  373. package/dist/types/components/overlay/modal.d.ts +113 -13
  374. package/dist/types/components/overlay/overlay.d.ts +61 -0
  375. package/dist/types/components/overlay/popover.d.ts +100 -0
  376. package/dist/types/components/overlay/ribbon.d.ts +58 -9
  377. package/dist/types/components/prosemirror/etoolbar-button.d.ts +11 -11
  378. package/dist/types/components/prosemirror/etoolbar-group.d.ts +11 -4
  379. package/dist/types/components/prosemirror/link-control.d.ts +43 -2
  380. package/dist/types/components/prosemirror/prosemirror-toolbar.d.ts +46 -6
  381. package/dist/types/components/prosemirror/utils.d.ts +113 -1
  382. package/dist/types/components/theme/style-utils.d.ts +95 -0
  383. package/dist/types/components/theme/theme.d.ts +39 -0
  384. package/dist/types/components/theme/types.d.ts +133 -1
  385. package/dist/types/components/typography/index.d.ts +1 -0
  386. package/dist/types/components/typography/kbd.d.ts +48 -0
  387. package/dist/types/components/typography/label.d.ts +45 -0
  388. package/dist/types/index.d.ts +14 -0
  389. package/dist/types/json-schema/index.d.ts +13 -0
  390. package/dist/types/json-schema-display/index.d.ts +12 -0
  391. package/dist/types/json-structure/index.d.ts +9 -4
  392. package/dist/types/lexical/commands/index.d.ts +17 -0
  393. package/dist/types/lexical/headless.d.ts +39 -0
  394. package/dist/types/lexical/horizontal-rule-node.d.ts +20 -0
  395. package/dist/types/lexical/index.d.ts +20 -0
  396. package/dist/types/lexical/lazy-loader.d.ts +35 -0
  397. package/dist/types/lexical/nodes.d.ts +29 -0
  398. package/dist/types/lexical/plugins/auto-link.d.ts +7 -0
  399. package/dist/types/lexical/plugins/clipboard.d.ts +11 -0
  400. package/dist/types/lexical/plugins/code-shiki.d.ts +11 -0
  401. package/dist/types/lexical/plugins/code.d.ts +7 -0
  402. package/dist/types/lexical/plugins/dragon.d.ts +6 -0
  403. package/dist/types/lexical/plugins/file-io.d.ts +10 -0
  404. package/dist/types/lexical/plugins/hashtag.d.ts +7 -0
  405. package/dist/types/lexical/plugins/history.d.ts +7 -0
  406. package/dist/types/lexical/plugins/horizontal-rule.d.ts +12 -0
  407. package/dist/types/lexical/plugins/html-io.d.ts +9 -0
  408. package/dist/types/lexical/plugins/index.d.ts +24 -0
  409. package/dist/types/lexical/plugins/link.d.ts +6 -0
  410. package/dist/types/lexical/plugins/list.d.ts +6 -0
  411. package/dist/types/lexical/plugins/mark.d.ts +15 -0
  412. package/dist/types/lexical/plugins/markdown-io.d.ts +13 -0
  413. package/dist/types/lexical/plugins/offset.d.ts +6 -0
  414. package/dist/types/lexical/plugins/overflow.d.ts +7 -0
  415. package/dist/types/lexical/plugins/plain-text.d.ts +6 -0
  416. package/dist/types/lexical/plugins/rich-text.d.ts +6 -0
  417. package/dist/types/lexical/plugins/selection.d.ts +6 -0
  418. package/dist/types/lexical/plugins/slash-commands.d.ts +26 -0
  419. package/dist/types/lexical/plugins/table.d.ts +11 -0
  420. package/dist/types/lexical/plugins/text.d.ts +13 -0
  421. package/dist/types/lexical/plugins/yjs.d.ts +9 -0
  422. package/dist/types/lexical/styles-url.d.ts +2 -0
  423. package/dist/types/lexical/styles.d.ts +2 -0
  424. package/dist/types/lexical/types.d.ts +634 -0
  425. package/dist/types/lexical-i18n/default.d.ts +92 -0
  426. package/dist/types/lexical-i18n/index.d.ts +21 -0
  427. package/dist/types/lexical-i18n/locales/ar.d.ts +91 -0
  428. package/dist/types/lexical-i18n/locales/de.d.ts +91 -0
  429. package/dist/types/lexical-i18n/locales/en.d.ts +91 -0
  430. package/dist/types/lexical-i18n/locales/es.d.ts +91 -0
  431. package/dist/types/lexical-i18n/locales/fa.d.ts +91 -0
  432. package/dist/types/lexical-i18n/locales/fr.d.ts +91 -0
  433. package/dist/types/lexical-i18n/locales/he.d.ts +91 -0
  434. package/dist/types/lexical-i18n/locales/hi.d.ts +91 -0
  435. package/dist/types/lexical-i18n/locales/it.d.ts +91 -0
  436. package/dist/types/lexical-i18n/locales/ja.d.ts +91 -0
  437. package/dist/types/lexical-i18n/locales/ko.d.ts +91 -0
  438. package/dist/types/lexical-i18n/locales/nl.d.ts +91 -0
  439. package/dist/types/lexical-i18n/locales/pl.d.ts +91 -0
  440. package/dist/types/lexical-i18n/locales/pt.d.ts +91 -0
  441. package/dist/types/lexical-i18n/locales/ru.d.ts +91 -0
  442. package/dist/types/lexical-i18n/locales/tr.d.ts +91 -0
  443. package/dist/types/lexical-i18n/locales/ur.d.ts +91 -0
  444. package/dist/types/lexical-i18n/locales/vi.d.ts +91 -0
  445. package/dist/types/lexical-i18n/locales/zh.d.ts +91 -0
  446. package/dist/types/lexical-i18n/translations.d.ts +21 -0
  447. package/dist/types/markdown/index.d.ts +13 -0
  448. package/dist/types/monaco/index.d.ts +17 -0
  449. package/dist/types/monaco/lazy-loader.d.ts +79 -0
  450. package/dist/types/monaco/styles-url.d.ts +11 -0
  451. package/dist/types/monaco/styles.d.ts +11 -0
  452. package/dist/types/monaco/types.d.ts +47 -0
  453. package/dist/types/prosemirror/index.d.ts +12 -0
  454. package/dist/types/prosemirror/styles-url.d.ts +11 -0
  455. package/dist/types/prosemirror/styles.d.ts +10 -0
  456. package/dist/types/tailwind/google-fonts.d.ts +15 -0
  457. package/dist/types/tailwind/index.d.ts +13 -0
  458. package/dist/types/tailwind/preset.d.ts +111 -0
  459. package/dist/types/tailwind/vite-plugin.d.ts +39 -4
  460. package/dist/types/tokens/base-colors.d.ts +21 -0
  461. package/dist/types/tokens/breakpoints.d.ts +67 -0
  462. package/dist/types/tokens/colors.d.ts +213 -4
  463. package/dist/types/tokens/motion.d.ts +142 -3
  464. package/dist/types/tokens/radius.d.ts +99 -0
  465. package/dist/types/tokens/shadows.d.ts +85 -0
  466. package/dist/types/tokens/spacing.d.ts +111 -0
  467. package/dist/types/tokens/text-shadows.d.ts +82 -0
  468. package/dist/types/tokens/typography.d.ts +313 -25
  469. package/dist/types/tokens/z-index.d.ts +62 -0
  470. package/dist/types/utils/color.d.ts +297 -28
  471. package/dist/types/utils/download.d.ts +92 -0
  472. package/dist/types/utils/focus-trap.d.ts +67 -11
  473. package/dist/types/utils/format-file-size.d.ts +44 -0
  474. package/dist/ur-B6yB2JQ7.cjs +1 -0
  475. package/dist/ur-CvGP14xo.cjs +1 -0
  476. package/dist/{ur-Bg9eX81v.js → ur-Deo004ME.js} +16 -1
  477. package/dist/{ur-B69X-xNs.js → ur-DkIYJxsF.js} +82 -8
  478. package/dist/use-animated-toggle-89fKlXxy.js +195 -0
  479. package/dist/use-animated-toggle-DrqK7nUS.cjs +1 -0
  480. package/dist/{use-form-CgZyrACX.js → use-form-BurzbPVV.js} +271 -88
  481. package/dist/use-form-Uree6QFy.cjs +2 -0
  482. package/dist/vi-BYk1rJDv.js +53 -0
  483. package/dist/vi-DKw6PBja.js +175 -0
  484. package/dist/vi-Df4WZe9y.cjs +1 -0
  485. package/dist/vi-DneuUbkq.cjs +1 -0
  486. package/dist/{widget-customization-DRA7E9Zf.js → widget-customization-0is7oTeP.js} +233 -231
  487. package/dist/widget-customization-B-LmxkPE.cjs +1 -0
  488. package/dist/zh-C5a9NGFW.cjs +1 -0
  489. package/dist/zh-CaKHseXJ.js +175 -0
  490. package/dist/zh-DFHuW_5g.cjs +1 -0
  491. package/dist/{zh-BIykcEu9.js → zh-DR7QaM65.js} +16 -1
  492. package/package.json +48 -3
  493. package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
  494. package/dist/_commonjsHelpers-DwGv2jUC.cjs +0 -1
  495. package/dist/ar-BsUm-TCn.cjs +0 -1
  496. package/dist/ar-D7CXDmVZ.cjs +0 -1
  497. package/dist/ar-nOSKXpIW.js +0 -101
  498. package/dist/de-BUFLEyKr.cjs +0 -1
  499. package/dist/de-WzsOu9Gn.cjs +0 -1
  500. package/dist/deep-merge-CiOwVWn8.js +0 -1619
  501. package/dist/deep-merge-DxZqCkE5.cjs +0 -1
  502. package/dist/duration-input-Dg5SX3lM.cjs +0 -1
  503. package/dist/es-CDqqzpCw.js +0 -101
  504. package/dist/es-Ds2Xf3wV.cjs +0 -1
  505. package/dist/fa-C7tE_hR3.js +0 -101
  506. package/dist/fa-Ct1UtDB7.cjs +0 -1
  507. package/dist/fr-Cdyopuz3.cjs +0 -1
  508. package/dist/fr-CzAkRFed.cjs +0 -1
  509. package/dist/he-D2oUloCJ.js +0 -101
  510. package/dist/he-DarDNPn0.cjs +0 -1
  511. package/dist/he-DlXALrK7.cjs +0 -1
  512. package/dist/hi-3dBhLwDs.cjs +0 -1
  513. package/dist/hi-D5ZlZoQq.js +0 -101
  514. package/dist/hi-tATwsXJ6.cjs +0 -1
  515. package/dist/index-DE2tjivA.cjs +0 -1
  516. package/dist/it-BmFag7j0.cjs +0 -1
  517. package/dist/it-DohtcWi9.cjs +0 -1
  518. package/dist/ja-Dj-bAKLf.cjs +0 -1
  519. package/dist/ja-eyTArrgS.cjs +0 -1
  520. package/dist/ko-BFLCDMMs.cjs +0 -1
  521. package/dist/ko-BomUE-yQ.cjs +0 -1
  522. package/dist/ko-Ch0jFsBV.js +0 -101
  523. package/dist/modal-D2xE47kr.cjs +0 -1
  524. package/dist/modal-hkQD1bqZ.js +0 -655
  525. package/dist/nl-Bx2ACvr4.cjs +0 -1
  526. package/dist/nl-NuTdZO1s.js +0 -102
  527. package/dist/notice-C0SmlheE.cjs +0 -1
  528. package/dist/pl-QHl6sl8f.cjs +0 -1
  529. package/dist/pt-BETjHZrL.js +0 -101
  530. package/dist/pt-DZGw2Z-1.cjs +0 -1
  531. package/dist/pt-oBMmVYcu.cjs +0 -1
  532. package/dist/ru-CtxMmoa6.cjs +0 -1
  533. package/dist/ru-D03IuLqh.cjs +0 -1
  534. package/dist/text-input-CByq5OIo.cjs +0 -1
  535. package/dist/text-input-CFJntP7G.js +0 -287
  536. package/dist/toolbar-TPWYzoiF.cjs +0 -1
  537. package/dist/tr-B_-_1wua.cjs +0 -1
  538. package/dist/translations-B4-Zd2LM.cjs +0 -1
  539. package/dist/translations-D62qqNV9.cjs +0 -1
  540. package/dist/translations-DPr6c05Z.js +0 -67
  541. package/dist/ur-DvqAg9gW.cjs +0 -1
  542. package/dist/ur-DyUSmIbo.cjs +0 -1
  543. package/dist/use-form-JjeKCINk.cjs +0 -2
  544. package/dist/vi-BdzxA60L.js +0 -101
  545. package/dist/vi-CBmPaHxg.cjs +0 -1
  546. package/dist/vi-D5R3YcU0.cjs +0 -1
  547. package/dist/vi-DhdsHHf_.js +0 -38
  548. package/dist/widget-customization-G-QLB1rw.cjs +0 -1
  549. package/dist/zh-CCGXcj5r.cjs +0 -1
  550. package/dist/zh-Cb1b8uik.cjs +0 -1
  551. package/dist/zh-Dn1UJiZa.js +0 -101
@@ -1,95 +1,209 @@
1
1
  import { TNode, Value, Renderable } from '@tempots/dom';
2
2
  import { Placement } from '@tempots/ui';
3
3
  import { FlyoutTrigger, FlyoutTriggerFunction } from './flyout';
4
+ /**
5
+ * Trigger mode for the {@link Menu} component.
6
+ * Alias for {@link FlyoutTrigger} -- controls how the menu is shown (e.g., `'click'`, `'hover'`).
7
+ */
4
8
  export type MenuTrigger = FlyoutTrigger;
9
+ /**
10
+ * Configuration options for the {@link Menu} component.
11
+ */
5
12
  export interface MenuOptions {
6
- /** The menu items to display */
13
+ /**
14
+ * Factory function returning the array of menu items (created via {@link MenuItem},
15
+ * {@link MenuSeparator}, or custom nodes with `role="menuitem"`).
16
+ */
7
17
  items: () => TNode[];
8
- /** Placement of the menu relative to the trigger element */
18
+ /**
19
+ * Placement of the menu relative to the trigger element.
20
+ * @default 'bottom-start'
21
+ */
9
22
  placement?: Value<Placement>;
10
- /** Delay in milliseconds before showing the menu on hover */
23
+ /**
24
+ * Delay in milliseconds before showing the menu after trigger activation.
25
+ * @default 0
26
+ */
11
27
  showDelay?: Value<number>;
12
- /** Delay in milliseconds before hiding the menu after mouse leave */
28
+ /**
29
+ * Delay in milliseconds before hiding the menu after trigger deactivation.
30
+ * @default 100
31
+ */
13
32
  hideDelay?: Value<number>;
14
- /** Offset in pixels from the main axis */
33
+ /**
34
+ * Offset in pixels from the main axis.
35
+ * @default 4
36
+ */
15
37
  mainAxisOffset?: Value<number>;
16
- /** Offset in pixels from the cross axis */
38
+ /**
39
+ * Offset in pixels from the cross axis.
40
+ * @default 0
41
+ */
17
42
  crossAxisOffset?: Value<number>;
18
- /** How to show the menu (accepts Flyout trigger or a custom trigger function) */
43
+ /**
44
+ * How the menu is triggered to show and hide.
45
+ * Accepts a built-in {@link MenuTrigger} string or a custom {@link FlyoutTriggerFunction}.
46
+ * @default 'click'
47
+ */
19
48
  showOn?: Value<MenuTrigger> | FlyoutTriggerFunction;
20
- /** Whether the menu can be closed with Escape key */
49
+ /**
50
+ * Whether the menu can be closed with the Escape key or by clicking outside.
51
+ * @default true
52
+ */
21
53
  closable?: Value<boolean>;
22
- /** Callback when menu is closed */
54
+ /**
55
+ * Callback invoked when the menu is closed (via Escape, click outside, or after item activation).
56
+ */
23
57
  onClose?: () => void;
24
- /** Callback when a menu item is selected */
58
+ /**
59
+ * Callback invoked when a menu item with a `key` is activated (via click or keyboard).
60
+ * Receives the menu item's `key` as an argument.
61
+ */
25
62
  onAction?: (key: string) => void;
26
- /** Accessible label for the menu */
63
+ /**
64
+ * Accessible label for the menu container (`aria-label`).
65
+ */
27
66
  ariaLabel?: Value<string>;
28
- /** ID of element that labels the menu */
67
+ /**
68
+ * ID of the element that labels the menu (`aria-labelledby`).
69
+ */
29
70
  ariaLabelledBy?: Value<string>;
30
71
  }
72
+ /**
73
+ * Configuration options for the {@link MenuItem} component.
74
+ */
31
75
  export interface MenuItemOptions {
32
- /** Unique identifier for the menu item */
76
+ /**
77
+ * Unique identifier for the menu item. Used by the `onAction` callback in {@link MenuOptions}.
78
+ * When not provided, a unique session ID is generated automatically.
79
+ */
33
80
  key?: Value<string>;
34
- /** The text content of the menu item */
81
+ /**
82
+ * Primary text or node content displayed as the menu item label.
83
+ */
35
84
  content: TNode;
36
- /** Content to display at the start of the menu item (icons, indicators) */
85
+ /**
86
+ * Optional content displayed at the start (left side) of the menu item,
87
+ * typically used for icons or selection indicators.
88
+ */
37
89
  startContent?: TNode;
38
- /** Content to display at the end of the menu item (shortcuts, badges) */
90
+ /**
91
+ * Optional content displayed at the end (right side) of the menu item,
92
+ * typically used for keyboard shortcuts or badges.
93
+ */
39
94
  endContent?: TNode;
40
- /** Whether the menu item is disabled */
95
+ /**
96
+ * Whether the menu item is disabled. Disabled items are skipped by keyboard
97
+ * navigation and cannot be activated.
98
+ * @default false
99
+ */
41
100
  disabled?: Value<boolean>;
42
- /** Callback when the menu item is clicked */
101
+ /**
102
+ * Callback invoked when the menu item is clicked or activated via keyboard.
103
+ */
43
104
  onClick?: () => void;
44
- /** ARIA label for accessibility */
105
+ /**
106
+ * Accessible label for the menu item (`aria-label`).
107
+ */
45
108
  ariaLabel?: Value<string>;
46
- /** Submenu items for nested menus */
109
+ /**
110
+ * Factory function returning submenu items for nested menus.
111
+ * When provided, the menu item gains a hover-triggered submenu.
112
+ */
47
113
  submenu?: () => TNode[];
48
- /** Placement of submenu relative to parent item */
114
+ /**
115
+ * Placement of the submenu relative to the parent menu item.
116
+ * @default 'right-start'
117
+ */
49
118
  submenuPlacement?: Value<Placement>;
50
119
  }
120
+ /**
121
+ * Configuration options for the {@link MenuSeparator} component.
122
+ */
51
123
  export interface MenuSeparatorOptions {
52
- /** Optional label for the separator */
124
+ /**
125
+ * Optional label displayed alongside the separator line,
126
+ * useful for grouping related menu items under a heading.
127
+ */
53
128
  label?: TNode;
54
129
  }
55
130
  /**
56
- * Menu component that provides a list of actions or options.
57
- * Built on top of the Flyout component for positioning and overlay behavior.
131
+ * Dropdown menu component that provides a list of actions or options.
132
+ *
133
+ * Built on top of the {@link Flyout} component for positioning and overlay behavior.
134
+ * Follows the WAI-ARIA menu pattern with full keyboard navigation support:
135
+ * - Arrow Up/Down to navigate items
136
+ * - Home/End to jump to first/last item
137
+ * - Enter/Space to activate the focused item
138
+ * - Escape to close
139
+ * - Arrow Right to open submenus, Arrow Left to close them
58
140
  *
59
- * Follows WAI-ARIA menu pattern with proper keyboard navigation and accessibility.
141
+ * Focus is restored to the trigger element when the menu closes.
142
+ *
143
+ * @param options - Configuration options for menu behavior, positioning, and accessibility
144
+ * @returns A renderable node to be placed inside the trigger element
60
145
  *
61
146
  * @example
62
147
  * ```typescript
63
148
  * Button(
64
- * { onClick: () => {} },
149
+ * { variant: 'outline' },
65
150
  * 'Actions',
66
151
  * Menu({
67
152
  * items: () => [
68
- * MenuItem({ content: 'Edit', onClick: () => console.log('edit') }),
69
- * MenuItem({ content: 'Delete', onClick: () => console.log('delete') }),
70
- * ]
153
+ * MenuItem({ content: 'Edit', key: 'edit', onClick: () => console.log('edit') }),
154
+ * MenuItem({ content: 'Duplicate', key: 'dup' }),
155
+ * MenuSeparator(),
156
+ * MenuItem({ content: 'Delete', key: 'delete', disabled: true }),
157
+ * ],
158
+ * onAction: (key) => console.log('Selected:', key),
159
+ * placement: 'bottom-start',
71
160
  * })
72
161
  * )
73
162
  * ```
74
163
  */
75
164
  export declare function Menu(options: MenuOptions): Renderable;
76
165
  /**
77
- * MenuItem component for individual menu items.
166
+ * Individual menu item component with optional start/end content and submenu support.
167
+ *
168
+ * Renders a `role="menuitem"` element with proper ARIA attributes for disabled state,
169
+ * selection state, and submenu expansion. Disabled items prevent click propagation
170
+ * and are skipped by keyboard navigation.
171
+ *
172
+ * @param options - Configuration options for the menu item's content, behavior, and accessibility
173
+ * @returns A renderable node
78
174
  *
79
175
  * @example
80
176
  * ```typescript
81
177
  * MenuItem({
178
+ * key: 'edit',
82
179
  * content: 'Edit',
83
- * startContent: Icon({ icon: 'edit' }),
84
- * endContent: html.span('E'),
85
- * onClick: () => console.log('edit clicked')
180
+ * startContent: Icon({ icon: 'edit', size: 'sm' }),
181
+ * endContent: html.span(attr.class('shortcut'), 'Ctrl+E'),
182
+ * onClick: () => console.log('edit clicked'),
183
+ * })
184
+ * ```
185
+ *
186
+ * @example
187
+ * ```typescript
188
+ * // Menu item with a submenu
189
+ * MenuItem({
190
+ * content: 'Export as...',
191
+ * submenu: () => [
192
+ * MenuItem({ content: 'PDF', onClick: () => exportAs('pdf') }),
193
+ * MenuItem({ content: 'CSV', onClick: () => exportAs('csv') }),
194
+ * ],
86
195
  * })
87
196
  * ```
88
197
  */
89
198
  export declare function MenuItem(options: MenuItemOptions): Renderable;
90
199
  /**
91
- * MenuSeparator component for visual grouping of menu items.
92
- * Creates a visual divider between groups of menu items.
200
+ * Visual separator for grouping related menu items within a {@link Menu}.
201
+ *
202
+ * Renders a `role="separator"` element with horizontal orientation. An optional label
203
+ * can be provided to act as a section heading for the items below.
204
+ *
205
+ * @param options - Optional configuration with a label for the separator
206
+ * @returns A renderable node
93
207
  *
94
208
  * @example
95
209
  * ```typescript
@@ -102,5 +216,11 @@ export declare function MenuItem(options: MenuItemOptions): Renderable;
102
216
  * ]
103
217
  * })
104
218
  * ```
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * // With a labeled section
223
+ * MenuSeparator({ label: 'Advanced' })
224
+ * ```
105
225
  */
106
226
  export declare function MenuSeparator(options?: MenuSeparatorOptions): Renderable;
@@ -0,0 +1,82 @@
1
+ import { Value } from '@tempots/dom';
2
+ import { ControlSize } from '../theme';
3
+ /**
4
+ * Configuration options for the {@link Pagination} component.
5
+ */
6
+ export interface PaginationOptions {
7
+ /** Current page number (1-indexed). */
8
+ currentPage: Value<number>;
9
+ /** Total number of pages available. */
10
+ totalPages: Value<number>;
11
+ /** Callback invoked when a page is selected. */
12
+ onPageChange: (page: number) => void;
13
+ /** Number of page siblings to show around the current page. @default 1 */
14
+ siblings?: Value<number>;
15
+ /** Whether to show Previous/Next navigation buttons. @default true */
16
+ showPrevNext?: Value<boolean>;
17
+ /** Whether to show First/Last page buttons. @default false */
18
+ showFirstLast?: Value<boolean>;
19
+ /** Size affecting button dimensions and font size. @default 'md' */
20
+ size?: Value<ControlSize>;
21
+ /** Whether to distribute items across the full available width. @default false */
22
+ justify?: Value<boolean>;
23
+ /** Whether to dynamically adjust the number of visible page numbers to fit available space. @default false */
24
+ responsive?: Value<boolean>;
25
+ }
26
+ /**
27
+ * Generates an array of page numbers and ellipsis markers for pagination display.
28
+ *
29
+ * The algorithm shows:
30
+ * - The first page (if not in range)
31
+ * - An ellipsis if there's a gap after first page
32
+ * - Page numbers around the current page (siblings)
33
+ * - An ellipsis if there's a gap before last page
34
+ * - The last page (if not in range)
35
+ *
36
+ * @param current - The current page number (1-indexed)
37
+ * @param total - The total number of pages
38
+ * @param siblings - Number of page numbers to show on each side of current
39
+ * @returns Array of page numbers and 'dots' markers for ellipsis
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * generatePaginationRange(5, 10, 1) // [1, 'dots', 4, 5, 6, 'dots', 10]
44
+ * generatePaginationRange(1, 10, 1) // [1, 2, 'dots', 10]
45
+ * generatePaginationRange(10, 10, 1) // [1, 'dots', 9, 10]
46
+ * ```
47
+ */
48
+ export declare function generatePaginationRange(current: number, total: number, siblings: number): (number | 'dots')[];
49
+ /**
50
+ * A pagination component for navigating through multiple pages of content.
51
+ *
52
+ * Features:
53
+ * - Configurable number of sibling pages shown around current page
54
+ * - Optional First/Last page navigation buttons
55
+ * - Optional Previous/Next navigation buttons
56
+ * - Ellipsis indicators for collapsed page ranges
57
+ * - Responsive sizing with theme support
58
+ * - Full keyboard navigation and ARIA support
59
+ *
60
+ * @param options - Configuration for appearance and behavior
61
+ * @returns A navigation element with pagination controls
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const currentPage = prop(1)
66
+ * const totalPages = prop(10)
67
+ *
68
+ * Pagination({
69
+ * currentPage,
70
+ * totalPages,
71
+ * onPageChange: (page) => {
72
+ * currentPage.set(page)
73
+ * // Load page data...
74
+ * },
75
+ * siblings: 1,
76
+ * showPrevNext: true,
77
+ * showFirstLast: false,
78
+ * size: 'md'
79
+ * })
80
+ * ```
81
+ */
82
+ export declare function Pagination({ currentPage, totalPages, onPageChange, siblings, showPrevNext, showFirstLast, size, justify, responsive, }: PaginationOptions): import("@tempots/dom").Renderable;
@@ -1,6 +1,48 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
+ /**
3
+ * Configuration options for the {@link SidebarGroup} component.
4
+ */
2
5
  export type SidebarGroupOptions = {
6
+ /**
7
+ * Whether to render the group in compact "rail" mode, typically used for
8
+ * icon-only sidebar layouts.
9
+ * @default false
10
+ */
3
11
  rail?: Value<boolean>;
12
+ /**
13
+ * Optional header content displayed above the group of sidebar links.
14
+ * Typically a section title or label.
15
+ */
4
16
  header?: TNode;
5
17
  };
18
+ /**
19
+ * Groups related sidebar links under an optional header within a {@link Sidebar}.
20
+ *
21
+ * Renders as a vertical stack with an optional header section and a container
22
+ * for child links. Supports a compact "rail" mode for icon-only sidebars.
23
+ *
24
+ * @param options - Configuration options for the sidebar group
25
+ * @param children - Child content, typically {@link SidebarLink} components
26
+ * @returns A renderable node
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * SidebarGroup(
31
+ * { header: html.span('Main Navigation') },
32
+ * SidebarLink({ content: 'Home', icon: 'home', href: '/' }),
33
+ * SidebarLink({ content: 'About', icon: 'info', href: '/about' }),
34
+ * SidebarLink({ content: 'Contact', icon: 'mail', href: '/contact' }),
35
+ * )
36
+ * ```
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Rail mode (icon-only)
41
+ * SidebarGroup(
42
+ * { rail: true },
43
+ * SidebarLink({ content: '', icon: 'home', href: '/' }),
44
+ * SidebarLink({ content: '', icon: 'settings', href: '/settings' }),
45
+ * )
46
+ * ```
47
+ */
6
48
  export declare function SidebarGroup({ rail, header }: SidebarGroupOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -1,30 +1,131 @@
1
1
  import { DOMContext, TNode, Value } from '@tempots/dom';
2
2
  import type { NavigationOptions } from '@tempots/ui';
3
+ /**
4
+ * URL-based navigation action for a {@link SidebarLink}.
5
+ * Navigates to the specified URL using client-side routing.
6
+ */
3
7
  export type UrlAction = {
8
+ /** The URL or path to navigate to. */
4
9
  href: Value<string>;
10
+ /**
11
+ * Whether to use the View Transitions API for navigation animations.
12
+ * @default true
13
+ */
5
14
  viewTransition?: boolean;
15
+ /** Optional state object to pass to the navigation history entry. */
6
16
  state?: NavigationOptions['state'];
17
+ /** Scroll behavior after navigation. */
7
18
  scroll?: NavigationOptions['scroll'];
19
+ /** Whether to replace the current history entry instead of pushing a new one. */
8
20
  replace?: NavigationOptions['replace'];
9
21
  };
22
+ /**
23
+ * Click-based action for a {@link SidebarLink}.
24
+ * Renders the link as a button that invokes the provided callback on click.
25
+ */
10
26
  export type ClickAction = {
27
+ /** Callback invoked when the sidebar link is clicked. */
11
28
  onClick: () => void;
12
29
  };
30
+ /**
31
+ * Discriminated union of navigation actions for a {@link SidebarLink}.
32
+ * Either a URL-based navigation or a click-based callback action.
33
+ */
13
34
  export type LinkAction = UrlAction | ClickAction;
35
+ /**
36
+ * Configuration options for the {@link SidebarLink} component.
37
+ * Extends {@link LinkAction} to provide either URL-based navigation or click-based actions.
38
+ */
14
39
  export type SidebarLinkOptions = {
40
+ /** Primary text or node content displayed as the link label. */
15
41
  content: TNode;
42
+ /** Optional icon identifier displayed at the start of the link. */
16
43
  icon?: Value<string>;
44
+ /** Optional content displayed at the right side of the link (e.g., badges, counts). */
17
45
  right?: TNode;
46
+ /**
47
+ * Optional inline action button rendered at the end of the link.
48
+ * Useful for quick actions like delete, settings, or expand/collapse toggles.
49
+ */
18
50
  action?: {
51
+ /** Icon identifier for the action button. */
19
52
  icon: Value<string>;
53
+ /** Accessible label for the action button. */
20
54
  label?: Value<string>;
55
+ /** Callback invoked when the action button is clicked. Receives the DOM context. */
21
56
  onClick?: (ctx: DOMContext) => void;
22
57
  };
58
+ /** ARIA expanded state, used when the link controls a collapsible section. */
23
59
  ariaExpanded?: Value<boolean>;
60
+ /** ID of the element this link controls (for ARIA `aria-controls`). */
24
61
  ariaControls?: Value<string>;
62
+ /** Accessible label for the link (for ARIA `aria-label`). */
25
63
  ariaLabel?: Value<string>;
26
64
  } & LinkAction;
65
+ /**
66
+ * Renders a sidebar link as an anchor element with client-side navigation support.
67
+ *
68
+ * @param options - URL navigation options (href, viewTransition, state, scroll, replace)
69
+ * @param children - Child content for the anchor
70
+ * @returns A renderable anchor node
71
+ */
27
72
  export declare function SidebarUrlLink(options: UrlAction, ...children: TNode[]): import("@tempots/dom").Renderable;
73
+ /**
74
+ * Renders a sidebar link in its active (current page) state as a non-interactive `<span>`.
75
+ *
76
+ * Used internally by {@link SidebarLink} when the link's href matches the current URL.
77
+ *
78
+ * @param children - Child content for the active link display
79
+ * @returns A renderable span node
80
+ */
28
81
  export declare function SidebarActiveLink(...children: TNode[]): import("@tempots/dom").Renderable;
82
+ /**
83
+ * Renders a sidebar link as a `<button>` element for click-based actions.
84
+ *
85
+ * Supports ARIA attributes for accessibility when the button controls a collapsible
86
+ * section or acts as a toggle.
87
+ *
88
+ * @param options - Click action and optional ARIA attributes
89
+ * @param children - Child content for the button
90
+ * @returns A renderable button node
91
+ */
29
92
  export declare function SidebarClickLink(options: ClickAction & Partial<Pick<SidebarLinkOptions, 'ariaExpanded' | 'ariaControls' | 'ariaLabel'>>, ...children: TNode[]): import("@tempots/dom").Renderable;
93
+ /**
94
+ * Sidebar navigation link component that supports both URL-based navigation and click-based actions.
95
+ *
96
+ * For URL-based links, automatically detects the active state by comparing the link's `href`
97
+ * with the current URL via the `Location` provider. Active links render as non-interactive
98
+ * `<span>` elements, while inactive links render as client-side navigating anchors.
99
+ *
100
+ * For click-based links (when `onClick` is provided), renders as a `<button>` element.
101
+ *
102
+ * @param options - Configuration options including content, icon, action, and link behavior
103
+ * @returns A renderable node
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * // URL-based navigation link
108
+ * SidebarLink({
109
+ * content: 'Dashboard',
110
+ * icon: 'home',
111
+ * href: '/dashboard',
112
+ * })
113
+ * ```
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * // Click-based action link with an inline action button
118
+ * SidebarLink({
119
+ * content: 'Projects',
120
+ * icon: 'folder',
121
+ * onClick: () => toggleProjectsPanel(),
122
+ * ariaExpanded: isExpanded,
123
+ * action: {
124
+ * icon: 'plus',
125
+ * label: 'Create project',
126
+ * onClick: () => createProject(),
127
+ * },
128
+ * })
129
+ * ```
130
+ */
30
131
  export declare function SidebarLink(options: SidebarLinkOptions): import("@tempots/dom").Renderable;
@@ -1 +1,18 @@
1
+ /**
2
+ * Visual separator rendered as a horizontal rule within a {@link Sidebar}.
3
+ *
4
+ * Used to visually divide groups of sidebar links or sections.
5
+ *
6
+ * @returns A renderable `<hr>` node with the sidebar separator class
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * Sidebar(
11
+ * { backgroundMode: 'light' },
12
+ * SidebarGroup({ header: html.span('Section A') }, ...linksA),
13
+ * SidebarSeparator(),
14
+ * SidebarGroup({ header: html.span('Section B') }, ...linksB),
15
+ * )
16
+ * ```
17
+ */
1
18
  export declare function SidebarSeparator(): import("@tempots/dom").Renderable;
@@ -1,10 +1,67 @@
1
1
  import { Provider, TNode, Value } from '@tempots/dom';
2
+ /**
3
+ * Background mode for the {@link Sidebar} component, controlling its visual appearance
4
+ * in relation to the surrounding page content.
5
+ */
2
6
  export type SidebarBackgroundMode = 'light' | 'dark';
7
+ /**
8
+ * Configuration options for the {@link Sidebar} component.
9
+ */
3
10
  export type SidebarOptions = {
11
+ /**
12
+ * Background mode controlling the sidebar's visual appearance.
13
+ * When set to `'dark'`, the sidebar applies a dark background CSS modifier class.
14
+ * @default 'light'
15
+ */
4
16
  backgroundMode?: Value<SidebarBackgroundMode>;
5
17
  };
18
+ /**
19
+ * Context value provided by the {@link Sidebar} component to its descendants.
20
+ * Child components (e.g., {@link SidebarLink}, {@link SidebarGroup}) can consume
21
+ * this context to adapt their appearance to the sidebar's background mode.
22
+ */
6
23
  export type SidebarContextValue = {
24
+ /** The current background mode of the enclosing sidebar. */
7
25
  backgroundMode: SidebarBackgroundMode;
8
26
  };
27
+ /**
28
+ * Provider for the sidebar context, allowing child components to access the sidebar's
29
+ * background mode. Uses the Tempo provider pattern with a `mark` and `create` function.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * Use(SidebarContext, (ctx) => {
34
+ * // ctx.backgroundMode is 'light' or 'dark'
35
+ * return html.span(`Background: ${ctx.backgroundMode}`)
36
+ * })
37
+ * ```
38
+ */
9
39
  export declare const SidebarContext: Provider<SidebarContextValue, object>;
40
+ /**
41
+ * Sidebar navigation container that provides a vertical navigation panel with context
42
+ * for child components.
43
+ *
44
+ * The sidebar provides a {@link SidebarContext} to its descendants, allowing child
45
+ * components like {@link SidebarLink} and {@link SidebarGroup} to adapt their styling
46
+ * based on the sidebar's background mode.
47
+ *
48
+ * @param options - Configuration options controlling the sidebar's background appearance
49
+ * @param children - Child content, typically {@link SidebarGroup}, {@link SidebarLink},
50
+ * and {@link SidebarSeparator} components
51
+ * @returns A renderable node
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * Sidebar(
56
+ * { backgroundMode: 'dark' },
57
+ * SidebarGroup(
58
+ * { header: html.span('Navigation') },
59
+ * SidebarLink({ content: 'Dashboard', icon: 'home', href: '/' }),
60
+ * SidebarLink({ content: 'Settings', icon: 'cog', href: '/settings' }),
61
+ * ),
62
+ * SidebarSeparator(),
63
+ * SidebarLink({ content: 'Logout', icon: 'logout', onClick: handleLogout }),
64
+ * )
65
+ * ```
66
+ */
10
67
  export declare function Sidebar({ backgroundMode }: SidebarOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -1,6 +1,7 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize, ButtonVariant } from '../../theme';
3
3
  import { ThemeColorName } from '../../../tokens';
4
+ export type TabsVariant = ButtonVariant | 'underline' | 'pill';
4
5
  export interface TabItem<T extends string> {
5
6
  /** Unique identifier for the tab */
6
7
  key: T;
@@ -24,7 +25,7 @@ export interface TabsOptions<T extends string> {
24
25
  /** Size of the tabs */
25
26
  size?: Value<ControlSize>;
26
27
  /** Visual variant */
27
- variant?: Value<ButtonVariant>;
28
+ variant?: Value<TabsVariant>;
28
29
  /** Color used by certain variants (e.g., filled) */
29
30
  color?: Value<ThemeColorName>;
30
31
  /** Whether tabs are disabled */
@@ -54,4 +55,4 @@ export interface TabsOptions<T extends string> {
54
55
  * })
55
56
  * ```
56
57
  */
57
- export declare function Tabs<T extends string>(options: TabsOptions<T>): TNode;
58
+ export declare function Tabs<T extends string>(options: TabsOptions<T>): import("@tempots/dom").Renderable;