@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,46 +1,148 @@
1
1
  import { Renderable, TNode, Value } from '@tempots/dom';
2
2
  import { Placement } from '@tempots/ui';
3
+ /**
4
+ * Built-in trigger modes that control how the {@link Flyout} is shown.
5
+ *
6
+ * - `'hover'` - Shows on mouse enter, hides on mouse leave.
7
+ * - `'focus'` - Shows on focus, hides on blur.
8
+ * - `'hover-focus'` - Combines both hover and focus triggers.
9
+ * - `'click'` - Shows on click, hides on clicking outside.
10
+ * - `'never'` - Never shows automatically; must be controlled programmatically via a custom trigger function.
11
+ */
3
12
  export type FlyoutTrigger = 'hover' | 'focus' | 'hover-focus' | 'click' | 'never';
13
+ /**
14
+ * Custom trigger function for the {@link Flyout} component.
15
+ * Receives `show` and `hide` callbacks and returns trigger content that controls
16
+ * when the flyout appears and disappears.
17
+ *
18
+ * @param show - Call to show the flyout
19
+ * @param hide - Call to hide the flyout
20
+ * @returns A renderable node containing the trigger logic
21
+ */
4
22
  export type FlyoutTriggerFunction = (show: () => void, hide: () => void) => TNode;
23
+ /**
24
+ * Positioning data for a popover arrow element, provided by the PopOver positioning engine.
25
+ */
5
26
  export interface PopOverArrowOptions {
27
+ /** The computed placement of the popover (e.g., `'top'`, `'bottom-start'`). */
6
28
  placement: string;
29
+ /** Horizontal offset of the arrow in pixels relative to the popover container. */
7
30
  x?: number;
31
+ /** Vertical offset of the arrow in pixels relative to the popover container. */
8
32
  y?: number;
33
+ /** Offset from the center of the reference element, used for arrow alignment. */
9
34
  centerOffset: number;
35
+ /** Width of the popover container in pixels. */
10
36
  containerWidth: number;
37
+ /** Height of the popover container in pixels. */
11
38
  containerHeight: number;
12
39
  }
40
+ /**
41
+ * Configuration options for the {@link Flyout} component.
42
+ */
13
43
  export interface FlyoutOptions {
14
- /** The flyout content to display */
44
+ /**
45
+ * Factory function that returns the flyout content to display.
46
+ * Called lazily when the flyout opens.
47
+ */
15
48
  content: () => TNode;
16
- /** Placement of the flyout relative to the trigger element */
49
+ /**
50
+ * Placement of the flyout relative to the trigger element.
51
+ * Uses the Floating UI placement model (e.g., `'top'`, `'bottom-start'`, `'right-end'`).
52
+ * @default 'top'
53
+ */
17
54
  placement?: Value<Placement>;
18
- /** Delay in milliseconds before showing the flyout on hover */
55
+ /**
56
+ * Delay in milliseconds before showing the flyout after trigger activation.
57
+ * @default 250
58
+ */
19
59
  showDelay?: Value<number>;
20
- /** Delay in milliseconds before hiding the flyout after mouse leave */
60
+ /**
61
+ * Delay in milliseconds before hiding the flyout after trigger deactivation.
62
+ * @default 500
63
+ */
21
64
  hideDelay?: Value<number>;
22
- /** Offset in pixels from the main axis (vertical for top/bottom, horizontal for left/right) */
65
+ /**
66
+ * Offset in pixels from the main axis (vertical for top/bottom placements,
67
+ * horizontal for left/right placements).
68
+ * @default 8
69
+ */
23
70
  mainAxisOffset?: Value<number>;
24
- /** Offset in pixels from the cross axis (horizontal for top/bottom, vertical for left/right) */
71
+ /**
72
+ * Offset in pixels from the cross axis (horizontal for top/bottom placements,
73
+ * vertical for left/right placements).
74
+ * @default 0
75
+ */
25
76
  crossAxisOffset?: Value<number>;
26
- /** How to show the flyout */
77
+ /**
78
+ * How the flyout is triggered to show and hide. Accepts a built-in {@link FlyoutTrigger}
79
+ * string or a custom {@link FlyoutTriggerFunction} for programmatic control.
80
+ * @default 'hover-focus'
81
+ */
27
82
  showOn?: Value<FlyoutTrigger> | FlyoutTriggerFunction;
28
- /** Whether the flyout can be closed with Escape key or clicking outside */
83
+ /**
84
+ * Whether the flyout can be closed with the Escape key or by clicking outside.
85
+ * @default true
86
+ */
29
87
  closable?: Value<boolean>;
30
- /** Optional arrow configuration - receives a signal with PopOver positioning data */
88
+ /**
89
+ * Optional arrow renderer. Receives a signal with {@link PopOverArrowOptions} positioning
90
+ * data and returns a TNode to render as the arrow element.
91
+ */
31
92
  arrow?: (signal: any) => TNode;
32
- /** Additional role attribute for accessibility */
93
+ /**
94
+ * ARIA role attribute applied to the flyout container.
95
+ * @default 'dialog'
96
+ */
33
97
  role?: Value<string>;
34
- /** Optional aria-haspopup value for the trigger element */
98
+ /**
99
+ * Value for the `aria-haspopup` attribute on the trigger element.
100
+ * Indicates the type of popup that the trigger controls.
101
+ * @default 'dialog'
102
+ */
35
103
  hasPopup?: Value<boolean | 'dialog' | 'menu' | 'listbox' | 'tree' | 'grid'>;
36
104
  }
37
105
  /**
38
- * Flyout component that provides a flexible popover with various trigger options.
39
- * This is the base component that powers Tooltip and other overlay components.
106
+ * Flexible popover component with configurable trigger modes, animated transitions,
107
+ * and accessibility support.
108
+ *
109
+ * Unlike wrapper-based flyout libraries, this component is designed to be rendered as a
110
+ * **child** of the trigger element. It attaches event listeners to the parent element
111
+ * and manages the popover lifecycle (show/hide with delays, animation, keyboard dismissal).
112
+ *
113
+ * This is the base component that powers {@link Tooltip}, {@link Menu}, and other
114
+ * positioned overlay components.
115
+ *
116
+ * Uses `@tempots/ui` PopOver for Floating UI-based positioning.
117
+ *
118
+ * @param options - Configuration options controlling content, placement, triggers, delays, and accessibility
119
+ * @returns A renderable node to be placed inside the trigger element
40
120
  *
41
- * Unlike other flyout libraries, this component is designed to be a child of the element
42
- * it provides a flyout for, rather than wrapping it.
121
+ * @example
122
+ * ```typescript
123
+ * // Hover-triggered flyout
124
+ * html.button(
125
+ * 'Hover me',
126
+ * Flyout({
127
+ * content: () => html.div('Flyout content'),
128
+ * placement: 'bottom',
129
+ * showOn: 'hover',
130
+ * showDelay: 200,
131
+ * hideDelay: 300,
132
+ * })
133
+ * )
134
+ * ```
43
135
  *
44
- * Uses @tempo-ts/ui PopOver for positioning.
136
+ * @example
137
+ * ```typescript
138
+ * // Click-triggered flyout with custom trigger function
139
+ * html.button(
140
+ * 'Click me',
141
+ * Flyout({
142
+ * content: () => html.div('Custom content'),
143
+ * showOn: (show, hide) => on.click(() => show()),
144
+ * })
145
+ * )
146
+ * ```
45
147
  */
46
148
  export declare function Flyout(options: FlyoutOptions): Renderable;
@@ -1,6 +1,9 @@
1
+ export * from './breadcrumbs';
1
2
  export * from './flyout';
2
3
  export * from './link';
3
4
  export * from './menu';
5
+ export * from './pagination';
4
6
  export * from './sidebar/index';
5
7
  export * from './tabs';
6
8
  export * from './toolbar';
9
+ export * from './tree-view';
@@ -1,20 +1,120 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import type { NavigationOptions } from '@tempots/ui';
3
3
  import { ThemeColorName } from '../../../tokens';
4
+ /**
5
+ * Visual style variant for the {@link Link} component.
6
+ *
7
+ * - `'default'` - Standard underlined link appearance.
8
+ * - `'plain'` - No underline; inherits text color.
9
+ * - `'hover'` - Underline appears only on hover.
10
+ */
4
11
  export type LinkVariant = 'default' | 'plain' | 'hover';
12
+ /**
13
+ * Configuration options for the {@link Link} component.
14
+ */
5
15
  export interface LinkOptions {
16
+ /**
17
+ * The URL or path that the link navigates to.
18
+ */
6
19
  href: Value<string>;
20
+ /**
21
+ * Visual style variant controlling underline behavior.
22
+ * @default 'default'
23
+ */
7
24
  variant?: Value<LinkVariant>;
25
+ /**
26
+ * Theme color applied to the link text and hover state.
27
+ * @default 'primary'
28
+ */
8
29
  color?: Value<ThemeColorName>;
30
+ /**
31
+ * Theme color applied to the link text when disabled.
32
+ * @default 'base'
33
+ */
9
34
  colorDisabled?: Value<ThemeColorName>;
35
+ /**
36
+ * Whether the link is disabled. When `true`, the link renders as a non-interactive
37
+ * `<span>` element instead of an anchor.
38
+ * @default false
39
+ */
10
40
  disabled?: Value<boolean>;
41
+ /**
42
+ * Whether to use the View Transitions API for navigation animations.
43
+ * @default true
44
+ */
11
45
  viewTransition?: boolean;
46
+ /**
47
+ * Optional state object to pass to the navigation history entry.
48
+ */
12
49
  state?: NavigationOptions['state'];
50
+ /**
51
+ * Scroll behavior after navigation (e.g., scroll to top or preserve position).
52
+ */
13
53
  scroll?: NavigationOptions['scroll'];
54
+ /**
55
+ * Whether to replace the current history entry instead of pushing a new one.
56
+ */
14
57
  replace?: NavigationOptions['replace'];
58
+ /**
59
+ * Target attribute for the anchor element (e.g., `'_blank'` for new tab).
60
+ */
15
61
  target?: Value<string>;
62
+ /**
63
+ * Relationship attribute for the anchor element (e.g., `'noopener noreferrer'`).
64
+ */
16
65
  rel?: Value<string>;
17
66
  }
67
+ /**
68
+ * Generates the CSS class string for the link based on its variant and disabled state.
69
+ *
70
+ * @param variant - The visual style variant
71
+ * @param disabled - Whether the link is disabled
72
+ * @returns A space-separated CSS class string
73
+ */
18
74
  export declare function generateLinkClasses(variant: LinkVariant, disabled: boolean): string;
75
+ /**
76
+ * Generates the inline CSS custom properties for link color theming in both light and dark modes.
77
+ *
78
+ * @param color - The theme color name to use for link text
79
+ * @returns A semicolon-separated CSS custom property string
80
+ */
19
81
  export declare function generateLinkStyles(color: ThemeColorName): string;
82
+ /**
83
+ * Themed navigation link component with support for client-side routing, view transitions,
84
+ * and disabled state.
85
+ *
86
+ * When enabled, renders as an `Anchor` element from `@tempots/ui` with client-side navigation.
87
+ * When disabled, renders as a `<span>` element with disabled styling to prevent interaction.
88
+ *
89
+ * @param options - Configuration options controlling appearance, navigation behavior, and accessibility
90
+ * @param children - Child content displayed inside the link
91
+ * @returns A renderable node
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * Link(
96
+ * { href: '/about', color: 'primary', variant: 'default' },
97
+ * 'About Us'
98
+ * )
99
+ * ```
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * // External link opening in a new tab
104
+ * Link(
105
+ * { href: 'https://example.com', target: '_blank', rel: 'noopener noreferrer' },
106
+ * 'Visit Example'
107
+ * )
108
+ * ```
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * // Disabled link
113
+ * const isDisabled = prop(true)
114
+ * Link(
115
+ * { href: '/dashboard', disabled: isDisabled, colorDisabled: 'base' },
116
+ * 'Dashboard'
117
+ * )
118
+ * ```
119
+ */
20
120
  export declare function Link({ href, variant, color, colorDisabled, disabled, viewTransition, state, scroll, replace, target, rel, }: LinkOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -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;