@tempots/beatui 0.94.0 → 1.0.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 (279) hide show
  1. package/dist/ar-CuI1Jgt6.cjs +1 -0
  2. package/dist/{ar-8Cko5i-Z.js → ar-DaKbK_t8.js} +88 -11
  3. package/dist/auth/index.cjs.js +1 -1
  4. package/dist/auth/index.es.js +1 -1
  5. package/dist/{auth-divider-Rt0WDKAe.js → auth-divider-BQIhr3-R.js} +99 -98
  6. package/dist/auth-divider-DvnUModP.cjs +1 -0
  7. package/dist/beatui.css +1628 -541
  8. package/dist/beatui.tailwind.css +1629 -542
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +9 -9
  11. package/dist/codehighlight/index.cjs.js +22 -0
  12. package/dist/codehighlight/index.es.js +76 -0
  13. package/dist/colors-B-p6IzX9.cjs +1 -0
  14. package/dist/{colors-BY0Ja_bf.js → colors-DwufPN8S.js} +18 -18
  15. package/dist/{de-Bt-d2iKj.js → de-3MTPDS1i.js} +83 -6
  16. package/dist/de-DthHehbh.cjs +1 -0
  17. package/dist/{deep-merge-CoLO4id0.js → deep-merge-BzIheQtH.js} +511 -517
  18. package/dist/deep-merge-EkjEgK0N.cjs +1 -0
  19. package/dist/{duration-input-47x7nbGh.cjs → duration-input-ClgYjeBa.cjs} +1 -1
  20. package/dist/{duration-input-DrVonjKK.js → duration-input-DGzmIImj.js} +5 -5
  21. package/dist/{editor-toolbar-group-CzdBZ1yr.js → editor-toolbar-group-Crlu1QJw.js} +3 -3
  22. package/dist/{editor-toolbar-group-DhKJdqER.cjs → editor-toolbar-group-mkL4QozO.cjs} +1 -1
  23. package/dist/es-B6GJLk9h.cjs +1 -0
  24. package/dist/{es-2llfNFX2.js → es-DwMUvBeU.js} +95 -18
  25. package/dist/{fa-CQVIBjKP.js → fa-0rvQiKrJ.js} +88 -11
  26. package/dist/fa-BwgP93iV.cjs +1 -0
  27. package/dist/{fr-CC3smTlW.js → fr-B4i6NzLl.js} +87 -10
  28. package/dist/fr-CQzk5zqY.cjs +1 -0
  29. package/dist/{he-CZilsN75.js → he-C71n-hsn.js} +88 -11
  30. package/dist/he-DcxxvRfs.cjs +1 -0
  31. package/dist/hi-D-KHVWg4.cjs +1 -0
  32. package/dist/{hi-CAZjwGv-.js → hi-xmrXpeVU.js} +88 -11
  33. package/dist/index-B5MAsOC-.cjs +1 -0
  34. package/dist/{index-B8cqD9ny.js → index-C3o9GSH6.js} +106 -105
  35. package/dist/index.cjs.js +4 -4
  36. package/dist/index.es.js +8055 -5285
  37. package/dist/input-container-BvEcp7FU.js +275 -0
  38. package/dist/input-container-Di1YvVB_.cjs +1 -0
  39. package/dist/{it-D6RXFIL6.js → it-CDZTtOBC.js} +84 -7
  40. package/dist/it-D344Dutu.cjs +1 -0
  41. package/dist/ja-BNgnDZ27.cjs +1 -0
  42. package/dist/{ja-D7zsz4Ij.js → ja-Zz1LzidW.js} +92 -15
  43. package/dist/json-schema/index.cjs.js +1 -1
  44. package/dist/json-schema/index.es.js +261 -257
  45. package/dist/json-schema-display/index.cjs.js +1 -1
  46. package/dist/json-schema-display/index.es.js +2 -2
  47. package/dist/json-structure/index.cjs.js +1 -1
  48. package/dist/json-structure/index.es.js +132 -133
  49. package/dist/{ko-taN2Npr4.js → ko-9laUsZDL.js} +91 -14
  50. package/dist/ko-D-WJ9NK7.cjs +1 -0
  51. package/dist/lexical/index.cjs.js +2 -39
  52. package/dist/lexical/index.es.js +2102 -20521
  53. package/dist/markdown/index.cjs.js +1 -1
  54. package/dist/markdown/index.es.js +41 -4
  55. package/dist/{menu-CV85y3Xf.js → menu-B8yoDMRS.js} +23 -23
  56. package/dist/menu-B92oSDct.cjs +1 -0
  57. package/dist/modal-BT0jjDqX.cjs +1 -0
  58. package/dist/{modal-ZitwUeXx.js → modal-DBguyX-b.js} +9 -9
  59. package/dist/monaco/index.cjs.js +2 -2
  60. package/dist/monaco/index.es.js +7 -7
  61. package/dist/nl-CrqUlFie.cjs +1 -0
  62. package/dist/{nl-CRC6r4Q4.js → nl-Dcll9fVA.js} +87 -10
  63. package/dist/{notice-E_p2hg1G.js → notice-E19wu9lA.js} +51 -51
  64. package/dist/notice-_9XhdrFw.cjs +1 -0
  65. package/dist/oneof-branch-detection-J_DYEEcD.js +1077 -0
  66. package/dist/oneof-branch-detection-ZUBZ6hqy.cjs +1 -0
  67. package/dist/pl-9UksIrvX.cjs +1 -0
  68. package/dist/{pl-C6qNs0Lq.js → pl-Dm9N9Gbr.js} +84 -7
  69. package/dist/prosemirror/index.cjs.js +3 -1
  70. package/dist/prosemirror/index.es.js +636 -4
  71. package/dist/{pt-CcWPLqBh.js → pt-CFi5cn0k.js} +89 -12
  72. package/dist/pt-_kfdzwqi.cjs +1 -0
  73. package/dist/{ru-Dt9-9m0E.js → ru-CEhZUw8R.js} +92 -15
  74. package/dist/ru-CW1WNNlr.cjs +1 -0
  75. package/dist/stack-BLMteGTn.js +15 -0
  76. package/dist/stack-dwLevGa2.cjs +1 -0
  77. package/dist/tailwind/preset.cjs.js +1 -1
  78. package/dist/tailwind/preset.es.js +2 -2
  79. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  80. package/dist/tailwind/vite-plugin.es.js +1 -1
  81. package/dist/text-input-DfqXolVe.js +55 -0
  82. package/dist/text-input-X_q01NsY.cjs +1 -0
  83. package/dist/toolbar-DY0ax2Qd.js +130 -0
  84. package/dist/toolbar-DoKdYXIL.cjs +1 -0
  85. package/dist/tr-B6GIRegf.cjs +1 -0
  86. package/dist/{tr-CDTWeRY0.js → tr-ZmnVDhLP.js} +83 -6
  87. package/dist/{translations-NBY7SubC.js → translations-A4kR7CW8.js} +1 -1
  88. package/dist/{translations-CiBhB2FV.js → translations-B1_yyDUK.js} +185 -106
  89. package/dist/{translations-BdCtLBZt.cjs → translations-C81buKAw.cjs} +1 -1
  90. package/dist/translations-Dbx7L7Q1.cjs +1 -0
  91. package/dist/types/beatui-i18n/default.d.ts +72 -0
  92. package/dist/types/beatui-i18n/locales/en.d.ts +72 -0
  93. package/dist/types/beatui-i18n/translations.d.ts +72 -0
  94. package/dist/types/codehighlight/code-highlight.d.ts +21 -0
  95. package/dist/types/codehighlight/index.d.ts +14 -0
  96. package/dist/types/components/button/toggle-button.d.ts +4 -4
  97. package/dist/types/components/data/avatar.d.ts +3 -1
  98. package/dist/types/components/data/badge.d.ts +10 -18
  99. package/dist/types/components/data/column-filter-panel.d.ts +31 -0
  100. package/dist/types/components/data/column-filter.d.ts +110 -0
  101. package/dist/types/components/data/column-header-menu.d.ts +42 -0
  102. package/dist/types/components/data/data-source.d.ts +190 -0
  103. package/dist/types/components/data/data-table-body.d.ts +12 -0
  104. package/dist/types/components/data/data-table-column-toggle.d.ts +4 -0
  105. package/dist/types/components/data/data-table-context.d.ts +53 -0
  106. package/dist/types/components/data/data-table-header.d.ts +6 -0
  107. package/dist/types/components/data/data-table-resolve.d.ts +26 -0
  108. package/dist/types/components/data/data-table-types.d.ts +201 -0
  109. package/dist/types/components/data/data-table.d.ts +38 -0
  110. package/dist/types/components/data/data-toolbar.d.ts +44 -0
  111. package/dist/types/components/data/date-picker-shared.d.ts +55 -0
  112. package/dist/types/components/data/date-picker.d.ts +58 -0
  113. package/dist/types/components/data/date-range-picker.d.ts +56 -0
  114. package/dist/types/components/data/filter.d.ts +268 -0
  115. package/dist/types/components/data/index.d.ts +13 -4
  116. package/dist/types/components/data/indicator.d.ts +41 -0
  117. package/dist/types/components/data/progress-bar.d.ts +2 -2
  118. package/dist/types/components/data/selection-checkbox.d.ts +63 -0
  119. package/dist/types/components/data/skeleton.d.ts +1 -1
  120. package/dist/types/components/data/sortable-header.d.ts +55 -0
  121. package/dist/types/components/data/unstyled-drop-zone.d.ts +2 -2
  122. package/dist/types/components/form/control/control.d.ts +9 -9
  123. package/dist/types/components/form/input/advanced-slider.d.ts +6 -6
  124. package/dist/types/components/form/input/appearance-selector.d.ts +9 -2
  125. package/dist/types/components/form/input/checkbox-input.d.ts +6 -7
  126. package/dist/types/components/form/input/color-input.d.ts +1 -1
  127. package/dist/types/components/form/input/color-swatch-input.d.ts +3 -3
  128. package/dist/types/components/form/input/combobox-input.d.ts +5 -5
  129. package/dist/types/components/form/input/combobox-tags-input.d.ts +5 -5
  130. package/dist/types/components/form/input/create-nullable-string-input.d.ts +2 -2
  131. package/dist/types/components/form/input/date-input.d.ts +4 -4
  132. package/dist/types/components/form/input/dropdown-input.d.ts +5 -5
  133. package/dist/types/components/form/input/editable-text.d.ts +2 -2
  134. package/dist/types/components/form/input/email-input.d.ts +4 -4
  135. package/dist/types/components/form/input/index.d.ts +1 -0
  136. package/dist/types/components/form/input/input-container.d.ts +1 -1
  137. package/dist/types/components/form/input/input-options.d.ts +28 -1
  138. package/dist/types/components/form/input/mask-input.d.ts +8 -2
  139. package/dist/types/components/form/input/native-select.d.ts +3 -3
  140. package/dist/types/components/form/input/nullable-date-input.d.ts +2 -2
  141. package/dist/types/components/form/input/nullable-email-input.d.ts +3 -3
  142. package/dist/types/components/form/input/nullable-rating-input.d.ts +8 -8
  143. package/dist/types/components/form/input/nullable-uuid-input.d.ts +4 -4
  144. package/dist/types/components/form/input/number-input.d.ts +3 -3
  145. package/dist/types/components/form/input/otp-input.d.ts +12 -12
  146. package/dist/types/components/form/input/rating-input.d.ts +7 -8
  147. package/dist/types/components/form/input/select-tags-input.d.ts +5 -5
  148. package/dist/types/components/form/input/switch.d.ts +2 -2
  149. package/dist/types/components/form/input/tri-state-checkbox-input.d.ts +82 -0
  150. package/dist/types/components/form/input/uuid-input.d.ts +2 -2
  151. package/dist/types/components/json-structure/controls/uuid-control.d.ts +1 -1
  152. package/dist/types/components/layout/card.d.ts +66 -0
  153. package/dist/types/components/layout/collapse.d.ts +2 -2
  154. package/dist/types/components/layout/flex.d.ts +26 -0
  155. package/dist/types/components/layout/index.d.ts +1 -0
  156. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
  157. package/dist/types/components/lexical/toolbar/toolbar-registry.d.ts +2 -1
  158. package/dist/types/components/media/pdf-page-viewer.d.ts +8 -5
  159. package/dist/types/components/misc/index.d.ts +1 -0
  160. package/dist/types/components/misc/loading-overlay.d.ts +29 -0
  161. package/dist/types/components/misc/notice.d.ts +4 -4
  162. package/dist/types/components/misc/notification-provider.d.ts +9 -3
  163. package/dist/types/components/misc/notification.d.ts +9 -9
  164. package/dist/types/components/navigation/breadcrumbs.d.ts +1 -1
  165. package/dist/types/components/navigation/menu.d.ts +6 -6
  166. package/dist/types/components/navigation/pagination.d.ts +17 -4
  167. package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +2 -2
  168. package/dist/types/components/navigation/tabs/tabs.d.ts +17 -8
  169. package/dist/types/components/navigation/toolbar/toolbar.d.ts +12 -6
  170. package/dist/types/components/overlay/announcement-bar.d.ts +12 -4
  171. package/dist/types/components/overlay/dialogs.d.ts +2 -2
  172. package/dist/types/components/overlay/modal.d.ts +9 -2
  173. package/dist/types/components/overlay/tooltip.d.ts +6 -6
  174. package/dist/types/components/theme/types.d.ts +15 -4
  175. package/dist/types/lexical/index.d.ts +2 -2
  176. package/dist/types/lexical/plugins/index.d.ts +1 -1
  177. package/dist/types/lexical/plugins/slash-commands.d.ts +1 -1
  178. package/dist/types/lexical/plugins/text.d.ts +5 -0
  179. package/dist/types/lexical/types.d.ts +126 -5
  180. package/dist/types/lexical-i18n/default.d.ts +1 -0
  181. package/dist/types/lexical-i18n/locales/ar.d.ts +1 -0
  182. package/dist/types/lexical-i18n/locales/de.d.ts +1 -0
  183. package/dist/types/lexical-i18n/locales/en.d.ts +1 -0
  184. package/dist/types/lexical-i18n/locales/es.d.ts +1 -0
  185. package/dist/types/lexical-i18n/locales/fa.d.ts +1 -0
  186. package/dist/types/lexical-i18n/locales/fr.d.ts +1 -0
  187. package/dist/types/lexical-i18n/locales/he.d.ts +1 -0
  188. package/dist/types/lexical-i18n/locales/hi.d.ts +1 -0
  189. package/dist/types/lexical-i18n/locales/it.d.ts +1 -0
  190. package/dist/types/lexical-i18n/locales/ja.d.ts +1 -0
  191. package/dist/types/lexical-i18n/locales/ko.d.ts +1 -0
  192. package/dist/types/lexical-i18n/locales/nl.d.ts +1 -0
  193. package/dist/types/lexical-i18n/locales/pl.d.ts +1 -0
  194. package/dist/types/lexical-i18n/locales/pt.d.ts +1 -0
  195. package/dist/types/lexical-i18n/locales/ru.d.ts +1 -0
  196. package/dist/types/lexical-i18n/locales/tr.d.ts +1 -0
  197. package/dist/types/lexical-i18n/locales/ur.d.ts +1 -0
  198. package/dist/types/lexical-i18n/locales/vi.d.ts +1 -0
  199. package/dist/types/lexical-i18n/locales/zh.d.ts +1 -0
  200. package/dist/types/tokens/z-index.d.ts +18 -18
  201. package/dist/types/utils/use-animated-toggle.d.ts +12 -4
  202. package/dist/ur-CtFl_tz6.cjs +1 -0
  203. package/dist/{ur-CLrK5FPQ.js → ur-yYgj3NmT.js} +88 -11
  204. package/dist/use-animated-toggle-C3asw_Sg.js +207 -0
  205. package/dist/use-animated-toggle-cKcuItmz.cjs +1 -0
  206. package/dist/use-form-CaW192gw.cjs +2 -0
  207. package/dist/{use-form-BQRVnIp9.js → use-form-Dn6v2tEh.js} +153 -152
  208. package/dist/utils-DmEuG3Np.cjs +1 -0
  209. package/dist/utils-vUtP6iPG.js +165 -0
  210. package/dist/{vi-B1_QDUQJ.js → vi-D5u4CLQO.js} +89 -12
  211. package/dist/vi-DyCZSpsk.cjs +1 -0
  212. package/dist/widget-customization-DgW1SXN6.cjs +1 -0
  213. package/dist/{widget-customization-C-fSx3RB.js → widget-customization-Dkx7kNSe.js} +413 -398
  214. package/dist/{zh-rDtQ92Pp.js → zh-B0kwMMer.js} +91 -14
  215. package/dist/zh-C3ZxMQKb.cjs +1 -0
  216. package/package.json +209 -38
  217. package/dist/_commonjsHelpers-DKOUU3wS.cjs +0 -1
  218. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
  219. package/dist/ar-D2DjoXta.cjs +0 -1
  220. package/dist/auth-divider-C3E16pml.cjs +0 -1
  221. package/dist/colors-BI0YhONJ.cjs +0 -1
  222. package/dist/de-Cdf3432J.cjs +0 -1
  223. package/dist/deep-merge-Blrucd-E.cjs +0 -1
  224. package/dist/es-6fFPkKHL.cjs +0 -1
  225. package/dist/fa-GXyNzAXz.cjs +0 -1
  226. package/dist/fr-C6EYTwSH.cjs +0 -1
  227. package/dist/he-CJUgxvi8.cjs +0 -1
  228. package/dist/hi-DqIR4VtX.cjs +0 -1
  229. package/dist/hls.light.min-C6xKDzRR.cjs +0 -27
  230. package/dist/hls.light.min-hEMf_E8u.js +0 -8311
  231. package/dist/index-1JaBwDB-.js +0 -921
  232. package/dist/index-B-cwxUsP.cjs +0 -1
  233. package/dist/index-BFzxpY7y.js +0 -68
  234. package/dist/index-BOC0cVoY.cjs +0 -36
  235. package/dist/index-CN10Cyqr.cjs +0 -1
  236. package/dist/index-CTcbhnPw.cjs +0 -4
  237. package/dist/index-DF7RFzD9.cjs +0 -1
  238. package/dist/index-DJ9YIJcG.js +0 -14308
  239. package/dist/index-DfPkCwdC.js +0 -2709
  240. package/dist/input-container-9r1F3KuX.js +0 -263
  241. package/dist/input-container-DiYEl_y8.cjs +0 -1
  242. package/dist/it-BvHsJ7fH.cjs +0 -1
  243. package/dist/ja-B2gP7OHY.cjs +0 -1
  244. package/dist/ko-BddhddIA.cjs +0 -1
  245. package/dist/menu-De_-sGeb.cjs +0 -1
  246. package/dist/modal-DUlqGUW7.cjs +0 -1
  247. package/dist/nl-COrtZUnH.cjs +0 -1
  248. package/dist/notice-DAVOTnfA.cjs +0 -1
  249. package/dist/oneof-branch-detection-D6Xa8qNR.cjs +0 -8
  250. package/dist/oneof-branch-detection-DCPwyutI.js +0 -6290
  251. package/dist/pl-BHI4zBgV.cjs +0 -1
  252. package/dist/pt-BGzC9MhU.cjs +0 -1
  253. package/dist/ru-CXeFbIPb.cjs +0 -1
  254. package/dist/stack-4VUGISn6.cjs +0 -1
  255. package/dist/stack-Bm-UZosx.js +0 -879
  256. package/dist/string-B9vVyfq3.cjs +0 -1
  257. package/dist/string-DYyMxBl-.js +0 -19
  258. package/dist/text-input-BgPx8BbG.js +0 -45
  259. package/dist/text-input-DUnhBUd6.cjs +0 -1
  260. package/dist/timer-BJHOsuS6.cjs +0 -1
  261. package/dist/timer-Rd2sKnvH.js +0 -65
  262. package/dist/toolbar-DKOh_gbA.js +0 -118
  263. package/dist/toolbar-Dkc2y1dI.cjs +0 -1
  264. package/dist/tr-CdOtQAtA.cjs +0 -1
  265. package/dist/translations-Cy9hoMGV.cjs +0 -1
  266. package/dist/types/components/data/calendar-shared.d.ts +0 -59
  267. package/dist/types/components/data/calendar.d.ts +0 -107
  268. package/dist/types/components/data/icon-badge.d.ts +0 -14
  269. package/dist/types/components/data/range-calendar.d.ts +0 -104
  270. package/dist/types/components/data/tag.d.ts +0 -51
  271. package/dist/ur-C7itXvnC.cjs +0 -1
  272. package/dist/use-animated-toggle-C7PTmnZi.js +0 -195
  273. package/dist/use-animated-toggle-DrqK7nUS.cjs +0 -1
  274. package/dist/use-form-DTyNw0kM.cjs +0 -2
  275. package/dist/utils-DEbsp9Q9.js +0 -129
  276. package/dist/utils-DIUEhA-Z.cjs +0 -1
  277. package/dist/vi-CQrUWB3y.cjs +0 -1
  278. package/dist/widget-customization-xEBfEPhQ.cjs +0 -1
  279. package/dist/zh-DWswYYTS.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";const o=require("./translations-Cy9hoMGV.cjs"),n={signInTitle:"Sign In",signInButton:"Sign In",emailLabel:"Email",passwordLabel:"Password",rememberMeLabel:"Remember me",forgotPasswordLink:"Forgot password?",noAccountLink:"Don't have an account? Sign up",signUpTitle:"Sign Up",signUpButton:"Sign Up",nameLabel:"Name",confirmPasswordLabel:"Confirm Password",acceptTermsLabel:"I accept the terms and conditions",hasAccountLink:"Already have an account? Sign in",resetPasswordTitle:"Reset Password",resetPasswordButton:"Reset Password",resetPasswordDescription:"Enter your email to reset your password.",backToSignInLink:"Back to sign in",continueWithProvider:e=>`Continue with ${e}`,passwordStrengthWeak:"Weak",passwordStrengthFair:"Fair",passwordStrengthGood:"Good",passwordStrengthStrong:"Strong",orDivider:"or",error:"An error occurred",required:"Required",authenticationTitle:"Authentication",passwordMinLength:e=>`Password must be at least ${e} characters`,passwordRequireUppercase:"Password must contain at least one uppercase letter",passwordRequireLowercase:"Password must contain at least one lowercase letter",passwordRequireNumber:"Password must contain at least one number",passwordRequireSpecialChar:"Password must contain at least one special character",emailRequired:"Email is required",invalidEmail:"Please enter a valid email address",passwordRequired:"Password is required",nameRequired:"Name is required",confirmPasswordRequired:"Please confirm your password",acceptTermsRequired:"You must accept the terms and conditions",passwordsDoNotMatch:"Passwords don't match",invalidPassword:"Invalid password",invalidEmailAddress:"Invalid email"},s=n,t="en",i=Object.assign({"./locales/ar.ts":()=>Promise.resolve().then(()=>require("./ar-kZBzg02I.cjs")).then(e=>e.default),"./locales/de.ts":()=>Promise.resolve().then(()=>require("./de-B03SM9eF.cjs")).then(e=>e.default),"./locales/es.ts":()=>Promise.resolve().then(()=>require("./es-BRa0hV-7.cjs")).then(e=>e.default),"./locales/fa.ts":()=>Promise.resolve().then(()=>require("./fa-BxCSKn9j.cjs")).then(e=>e.default),"./locales/fr.ts":()=>Promise.resolve().then(()=>require("./fr-Dq6RAY9s.cjs")).then(e=>e.default),"./locales/he.ts":()=>Promise.resolve().then(()=>require("./he-BBX1h9uD.cjs")).then(e=>e.default),"./locales/hi.ts":()=>Promise.resolve().then(()=>require("./hi-Cd0YQZTU.cjs")).then(e=>e.default),"./locales/it.ts":()=>Promise.resolve().then(()=>require("./it-ByIEk5Cq.cjs")).then(e=>e.default),"./locales/ja.ts":()=>Promise.resolve().then(()=>require("./ja-DV6Fpp18.cjs")).then(e=>e.default),"./locales/ko.ts":()=>Promise.resolve().then(()=>require("./ko-DR1f0as8.cjs")).then(e=>e.default),"./locales/nl.ts":()=>Promise.resolve().then(()=>require("./nl-CQF0N7Mc.cjs")).then(e=>e.default),"./locales/pl.ts":()=>Promise.resolve().then(()=>require("./pl-y_w3DWF3.cjs")).then(e=>e.default),"./locales/pt.ts":()=>Promise.resolve().then(()=>require("./pt-DqaZWmbG.cjs")).then(e=>e.default),"./locales/ru.ts":()=>Promise.resolve().then(()=>require("./ru-CISMzCHR.cjs")).then(e=>e.default),"./locales/tr.ts":()=>Promise.resolve().then(()=>require("./tr-mWu2E__o.cjs")).then(e=>e.default),"./locales/ur.ts":()=>Promise.resolve().then(()=>require("./ur-B6yB2JQ7.cjs")).then(e=>e.default),"./locales/vi.ts":()=>Promise.resolve().then(()=>require("./vi-DneuUbkq.cjs")).then(e=>e.default),"./locales/zh.ts":()=>Promise.resolve().then(()=>require("./zh-DFHuW_5g.cjs")).then(e=>e.default)}),a=o.makeI18nProvider({defaultLocale:t,defaultMessages:s,localeLoader:async e=>{if(e===t)return s;const r=i[`./locales/${e}.ts`];return r?await r():s},providerName:"AuthI18n"}),l=Object.freeze(Object.defineProperty({__proto__:null,AuthI18n:a},Symbol.toStringTag,{value:"Module"}));exports.AuthI18n=a;exports.defaultMessages=s;exports.translations=l;
1
+ "use strict";const o=require("./translations-Dbx7L7Q1.cjs"),n={signInTitle:"Sign In",signInButton:"Sign In",emailLabel:"Email",passwordLabel:"Password",rememberMeLabel:"Remember me",forgotPasswordLink:"Forgot password?",noAccountLink:"Don't have an account? Sign up",signUpTitle:"Sign Up",signUpButton:"Sign Up",nameLabel:"Name",confirmPasswordLabel:"Confirm Password",acceptTermsLabel:"I accept the terms and conditions",hasAccountLink:"Already have an account? Sign in",resetPasswordTitle:"Reset Password",resetPasswordButton:"Reset Password",resetPasswordDescription:"Enter your email to reset your password.",backToSignInLink:"Back to sign in",continueWithProvider:e=>`Continue with ${e}`,passwordStrengthWeak:"Weak",passwordStrengthFair:"Fair",passwordStrengthGood:"Good",passwordStrengthStrong:"Strong",orDivider:"or",error:"An error occurred",required:"Required",authenticationTitle:"Authentication",passwordMinLength:e=>`Password must be at least ${e} characters`,passwordRequireUppercase:"Password must contain at least one uppercase letter",passwordRequireLowercase:"Password must contain at least one lowercase letter",passwordRequireNumber:"Password must contain at least one number",passwordRequireSpecialChar:"Password must contain at least one special character",emailRequired:"Email is required",invalidEmail:"Please enter a valid email address",passwordRequired:"Password is required",nameRequired:"Name is required",confirmPasswordRequired:"Please confirm your password",acceptTermsRequired:"You must accept the terms and conditions",passwordsDoNotMatch:"Passwords don't match",invalidPassword:"Invalid password",invalidEmailAddress:"Invalid email"},s=n,t="en",i=Object.assign({"./locales/ar.ts":()=>Promise.resolve().then(()=>require("./ar-kZBzg02I.cjs")).then(e=>e.default),"./locales/de.ts":()=>Promise.resolve().then(()=>require("./de-B03SM9eF.cjs")).then(e=>e.default),"./locales/es.ts":()=>Promise.resolve().then(()=>require("./es-BRa0hV-7.cjs")).then(e=>e.default),"./locales/fa.ts":()=>Promise.resolve().then(()=>require("./fa-BxCSKn9j.cjs")).then(e=>e.default),"./locales/fr.ts":()=>Promise.resolve().then(()=>require("./fr-Dq6RAY9s.cjs")).then(e=>e.default),"./locales/he.ts":()=>Promise.resolve().then(()=>require("./he-BBX1h9uD.cjs")).then(e=>e.default),"./locales/hi.ts":()=>Promise.resolve().then(()=>require("./hi-Cd0YQZTU.cjs")).then(e=>e.default),"./locales/it.ts":()=>Promise.resolve().then(()=>require("./it-ByIEk5Cq.cjs")).then(e=>e.default),"./locales/ja.ts":()=>Promise.resolve().then(()=>require("./ja-DV6Fpp18.cjs")).then(e=>e.default),"./locales/ko.ts":()=>Promise.resolve().then(()=>require("./ko-DR1f0as8.cjs")).then(e=>e.default),"./locales/nl.ts":()=>Promise.resolve().then(()=>require("./nl-CQF0N7Mc.cjs")).then(e=>e.default),"./locales/pl.ts":()=>Promise.resolve().then(()=>require("./pl-y_w3DWF3.cjs")).then(e=>e.default),"./locales/pt.ts":()=>Promise.resolve().then(()=>require("./pt-DqaZWmbG.cjs")).then(e=>e.default),"./locales/ru.ts":()=>Promise.resolve().then(()=>require("./ru-CISMzCHR.cjs")).then(e=>e.default),"./locales/tr.ts":()=>Promise.resolve().then(()=>require("./tr-mWu2E__o.cjs")).then(e=>e.default),"./locales/ur.ts":()=>Promise.resolve().then(()=>require("./ur-B6yB2JQ7.cjs")).then(e=>e.default),"./locales/vi.ts":()=>Promise.resolve().then(()=>require("./vi-DneuUbkq.cjs")).then(e=>e.default),"./locales/zh.ts":()=>Promise.resolve().then(()=>require("./zh-DFHuW_5g.cjs")).then(e=>e.default)}),a=o.makeI18nProvider({defaultLocale:t,defaultMessages:s,localeLoader:async e=>{if(e===t)return s;const r=i[`./locales/${e}.ts`];return r?await r():s},providerName:"AuthI18n"}),l=Object.freeze(Object.defineProperty({__proto__:null,AuthI18n:a},Symbol.toStringTag,{value:"Module"}));exports.AuthI18n=a;exports.defaultMessages=s;exports.translations=l;
@@ -0,0 +1 @@
1
+ "use strict";const a=require("@tempots/dom"),k=require("@tempots/ui"),y=require("./colors-B-p6IzX9.cjs");function w(e,{units:t=["B","KB","MB","GB","TB"],decimalPlaces:o=0,locale:l}={}){if(e===0||e===0n)return new Intl.NumberFormat(l,{style:"unit",unit:"byte",unitDisplay:"short",maximumFractionDigits:0}).format(0).replace("byte",t[0]);let n,r;if(typeof e=="bigint"){let s=e<0n?-e:e;for(n=0;s>=1024n&&n<t.length-1;)s=s/1024n,n++;r=Number(e)/Math.pow(1024,n)}else n=Math.floor(Math.log(Math.abs(e))/Math.log(1024)),n=Math.min(n,t.length-1),r=e/Math.pow(1024,n);return new Intl.NumberFormat(l,{style:"unit",unit:"byte",unitDisplay:"short",minimumFractionDigits:n===0?0:o,maximumFractionDigits:n===0?0:o}).format(r).replace("byte",t[n])}const N={loadingExtended:"Loading, please wait",loadingShort:"Loading...",locale:"Locale",iconDescription:"Icon",loadingIcon:"Loading icon",failedToLoadIcon:"Failed to load icon",editLabel:"Edit",selectOne:"Select one",selectNone:"None",selectMany:"Select many",noResults:"No results",passwordPlaceholderText:"Secret Password",togglePasswordVisibility:"Toggle password visibility",toggleMenu:"Toggle menu",toggleAside:"Toggle aside",mainNavigation:"Main navigation",sidebar:"Sidebar",closeDrawer:"Close drawer",closeModal:"Close modal",confirm:"Confirm",cancel:"Cancel",addLabel:"Add",removeItem:"Remove item",currentLocale:"English",ar:"Arabic",de:"German",en:"English",es:"Spanish",fr:"French",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nl:"Dutch",pl:"Polish",pt:"Portuguese",ru:"Russian",tr:"Turkish",vi:"Vietnamese",zh:"Chinese",he:"Hebrew",fa:"Persian",ur:"Urdu",emailPlaceholderText:"Enter your email",incrementValue:"Increment value",decrementValue:"Decrement value",dropZoneInstructions:e=>e?"Click to choose or drag files here, or press Enter or Space to open file selector":"Drag files here",fileSizeUnits:["Bytes","KB","MB","GB","TB"],removeFile:"Remove file",clearAllFiles:"Clear all files",clearValue:"Reset",unknownType:"Unknown type",filesInputInstructions:(e,t,o)=>{let l=e==null||e>1?"Click to choose or drag files here":"Click to choose or drag a file here";if(e||t){const n=[];if(e!=null&&e>1&&n.push(`up to ${e} files`),t&&o){const r=w(t,{units:o});n.push(`max ${r} each`)}n.length>0&&(l+=` (${n.join(", ")})`)}return l},paginationLabel:"Pagination",firstPage:"First page",previousPage:"Previous page",nextPage:"Next page",lastPage:"Last page",breadcrumbs:"Breadcrumbs",commandPalette:"Command palette",typeACommand:"Type a command...",noResultsFound:"No results found",noMatchingCommands:"No matching commands",appearanceSystem:"System",appearanceLight:"Light",appearanceDark:"Dark",ok:"OK",changeTypeConfirmation:"Changing type will clear the current value. Continue?",notifications:"Notifications",markAllAsRead:"Mark all as read",noNotifications:"No notifications",schemaConflictsDetected:"Schema Conflicts Detected",schemaViolationsDetected:"Schema Violations Detected",properties:"Properties",uploading:"Uploading...",dropFilesOrBrowse:"Drop files here or click to browse",acceptedTypes:e=>`Accepted types: ${e}`,enterUrlPrompt:"Enter URL:",exceeded:"(exceeded)",pdfPreview:"PDF Preview",lexical:{fontFamily:"Font Family",fontSize:"Font Size",lineHeight:"Line Height",fontColor:"Font Color",highlightColor:"Highlight Color",backgroundColor:"Background Color",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",code:"Code",clearFormatting:"Clear Formatting",normal:"Normal",heading:e=>`Heading ${e}`,bulletList:"Bullet List",orderedList:"Ordered List",checkList:"Check List",indent:"Indent",outdent:"Outdent",blockquote:"Blockquote",codeBlock:"Code Block",horizontalRule:"Horizontal Rule",insertTable:"Insert Table",link:"Link",undo:"Undo",redo:"Redo",cut:"Cut",copy:"Copy",paste:"Paste",defaultOption:"Default",slashCommands:"Slash commands",noCommandsFound:"No commands found",changeBlockType:"Change block type",blockTypes:"Block types",enterUrl:"Enter URL:",tableActions:"Table actions",insertRowAbove:"Insert row above",insertRowBelow:"Insert row below",insertColumnLeft:"Insert column left",insertColumnRight:"Insert column right",deleteRow:"Delete row",deleteColumn:"Delete column",deleteTable:"Delete table"},dataTable:{sortAscending:"Sort ascending",sortDescending:"Sort descending",clearSort:"Clear sort",filterPlaceholder:"Filter...",clearFilter:"Clear filter",selectAll:"Select all",deselectAll:"Deselect all",selectedCount:e=>`${e} selected`,resetAll:"Reset all",noResults:"No results found",loading:"Loading...",filterPanelAddCondition:"Add condition",filterPanelApply:"Apply",filterPanelClear:"Clear filters",filterPanelAnd:"AND",filterPanelOr:"OR",filterPanelContains:"Contains",filterPanelNotContains:"Does not contain",filterPanelEquals:"Equals",filterPanelNotEquals:"Does not equal",filterPanelStartsWith:"Starts with",filterPanelEndsWith:"Ends with",filterPanelIsNull:"Is empty",filterPanelIsNotNull:"Is not empty",filterPanelGt:"Greater than",filterPanelGte:"Greater or equal",filterPanelLt:"Less than",filterPanelLte:"Less or equal",filterPanelBetween:"Between",filterPanelValuePlaceholder:"Value...",sortMultiHint:"Hold Shift to sort multiple columns",columnVisibility:"Columns",showAllColumns:"Show all",menuSortAsc:"Sort Ascending",menuSortDesc:"Sort Descending",menuClearSort:"Clear Sort",menuHideColumn:"Hide Column",menuChooseColumns:"Choose Columns",menuResetColumns:"Reset Columns",menuFilter:"Filter",rowCount:(e,t)=>`Rows: ${e} Total Rows: ${t}`,filterTagsPlaceholder:"Select values...",groupCount:e=>`${e} items`,collapseGroup:"Collapse group",expandGroup:"Expand group",describeFilter:{textContains:(e,t)=>`${e} contains "${t}"`,textNotContains:(e,t)=>`${e} does not contain "${t}"`,textEquals:(e,t)=>`${e} equals "${t}"`,textNotEquals:(e,t)=>`${e} does not equal "${t}"`,textStartsWith:(e,t)=>`${e} starts with "${t}"`,textEndsWith:(e,t)=>`${e} ends with "${t}"`,compareEq:(e,t)=>`${e} = ${t}`,compareNeq:(e,t)=>`${e} ≠ ${t}`,compareGt:(e,t)=>`${e} > ${t}`,compareGte:(e,t)=>`${e} ≥ ${t}`,compareLt:(e,t)=>`${e} < ${t}`,compareLte:(e,t)=>`${e} ≤ ${t}`,rangeBetween:(e,t,o)=>`${e} between ${t} and ${o}`,rangeGte:(e,t)=>`${e} ≥ ${t}`,rangeLte:(e,t)=>`${e} ≤ ${t}`,setIn:(e,t)=>`${e} in [${t}]`,setNotIn:(e,t)=>`${e} not in [${t}]`,booleanIs:(e,t)=>`${e} is ${t}`,isNull:e=>`${e} is empty`,isNotNull:e=>`${e} is not empty`,compositeAnd:e=>e.join(" AND "),compositeOr:e=>e.join(" OR ")}},prosemirror:{bold:"Bold",italic:"Italic",code:"Inline code",link:"Insert link",removeLink:"Remove link",heading:e=>`Heading ${e}`,bulletList:"Bullet list",orderedList:"Ordered list",blockquote:"Blockquote",codeBlock:"Code block",horizontalRule:"Horizontal rule",linkUrlPlaceholder:"https://example.com"},pdfPageViewer:{loading:"Loading PDF...",loadFailed:"Failed to load PDF",invalidPdf:"Invalid PDF file",pageOutOfRange:(e,t)=>`Page ${e} is out of range (1-${t})`,renderFailed:"Failed to render PDF page"}},f=N,p="en",R=new Set(["ar","he","fa","ur","ps","sd","ku","dv","yi","ji","iw","in"]);function C(e){if(!e)return"ltr";const t=e.split(/[-_]/)[0].toLowerCase();return R.has(t)?"rtl":"ltr"}function I(e,t){return e==="auto"?C(t):e}function A(e){return`b-${e}`}function T(e){return C(e)==="rtl"}function O(e){return e==="ltr"?"rtl":"ltr"}const $={ltr:{"inline-start":"left","inline-end":"right","block-start":"top","block-end":"bottom"},rtl:{"inline-start":"right","inline-end":"left","block-start":"top","block-end":"bottom"}};function M(e,t){return $[t][e]}const L={mark:a.makeProviderMark("Locale"),create:e=>{const t=a.localStorageProp({defaultValue:navigator.language??"en-US",key:"beatui-locale"}),o=a.localStorageProp({defaultValue:"auto",key:"beatui-direction-preference"}),l=a.computedOf(t,o)((r,i)=>I(i,r));return{value:{locale:t,setLocale:r=>t.set(r),direction:l,directionPreference:o,setDirectionPreference:r=>o.set(r)},dispose:()=>{t.dispose(),o.dispose(),l.dispose()}}}},{variants:V,special:E,overrides:v}=y.backgroundConfig;function d(e,t){switch(e){case"white":return"var(--color-white)";case"black":return"var(--color-black)";case"transparent":return"transparent";default:return y.getColorVar(e,t)}}function x(e,t){const o=E[e];if(!o)return;if(t==="light")return o;const l=v[e];return l?l[t]:o}function U(e,t,o){const l=v[e];if(l){const r=l[o];if(r)return{backgroundColor:r.backgroundColor,textColor:r.color}}if(t==="solid"){const r=x(e,o);if(r)return{backgroundColor:r.backgroundColor,textColor:r.color}}const n=V[t][o];return{backgroundColor:d(e,n.bgShade),textColor:n.textColor}}const G={light:{shade:700,textColor:"var(--color-white)"},dark:{shade:500,textColor:"var(--text-inverted-dark)"}},j={light:{shade:200,textColor:"var(--text-normal-light)"},dark:{shade:700,textColor:"var(--text-normal-dark)"}},H={light:{shade:400,textColor:"var(--text-normal-light)"},dark:{shade:600,textColor:"var(--text-normal-dark)"}};function _(e,t,o){const l=v[e];if(l){const r=l[o];if(r)return{backgroundColor:r.backgroundColor,textColor:r.color}}if(t==="solid"){const r=x(e,o);if(r)return{backgroundColor:r.backgroundColor,textColor:r.color};const i=G[o];return{backgroundColor:d(e,i.shade),textColor:i.textColor}}const n=t==="light"?j[o]:H[o];return{backgroundColor:d(e,n.shade),textColor:n.textColor}}function z(e,t){const o=t==="light"?500:600;switch(e){case"white":return t==="light"?"var(--text-inverse-light)":"var(--text-inverted-dark)";case"black":return"var(--color-black)";case"transparent":return"transparent";default:return d(e,o)}}function W(e,t){return e==="white"?"var(--color-white)":e==="black"?"var(--color-black)":e==="transparent"?"inherit":d(e,t==="light"?800:200)}function P(e,t,o){return t==="soft"?d(e,o==="light"?300:700):d(e,o==="light"?500:600)}const K="bui-icons",g=new Map,b=(()=>{try{return typeof indexedDB<"u"&&indexedDB!==null}catch{return!1}})();function Y(){return b?new Promise((e,t)=>{const o=indexedDB.open(K,1);o.onupgradeneeded=function(l){const n=l.target.result;n.objectStoreNames.contains("icons")||n.createObjectStore("icons")},o.onsuccess=function(){e(o.result)},o.onerror=function(){t(o.error)}}):Promise.reject(new Error("IndexedDB not available"))}const m=b?Y():null;async function D(e,t){try{if(m){const o=await m;return new Promise((l,n)=>{const r=o.transaction("icons","readwrite");r.objectStore("icons").put(t,e),r.oncomplete=()=>l(),r.onerror=n})}else g.set(e,t)}catch{g.set(e,t)}}async function S(e){try{if(m){const t=await m;return new Promise((o,l)=>{const i=t.transaction("icons","readonly").objectStore("icons").get(e);i.onsuccess=function(){o(i.result)},i.onerror=l})}else return g.get(e)||null}catch{return g.get(e)||null}}async function J(e){const t=`https://api.iconify.design/${e}.svg`;return fetch(t).then(o=>{if(o.status===200)return o.text();throw new Error(`Failed to load icon: ${e}`)})}async function Q(e){const t=e.replace(":","/"),o=await S(t);if(o)return o;const l=await J(t);return await D(t,l),l}function Z(e){return["bc-icon",`bc-icon--${e}`].join(" ")}function X(e,t="solid"){if(!e)return"";const o=P(e,t,"light"),l=P(e,t,"dark");return`--icon-color: ${o}; --icon-color-dark: ${l}`}function ee({icon:e,size:t="md",color:o,title:l,accessibility:n="auto",tone:r="solid"},...i){const u=a.computedOf(n,l)((s,c)=>s==="decorative"?!1:s==="informative"?!0:c!=null&&c!=="");return a.Use(F,s=>a.html.span(a.attr.class(a.computedOf(t,o)(c=>Z(c??"md"))),a.attr.style(a.computedOf(o,r)((c,h)=>X(c??void 0,h??"solid"))),a.When(u,()=>a.Fragment(a.attr.role("img"),a.aria.label(a.coalesce(l,s.$.iconDescription))),()=>a.aria.hidden(!0)),k.WhenInViewport({once:!0},()=>k.Query({request:e,load:({request:c})=>Q(c),convertError:String,success:({value:c})=>a.html.span(a.style.width("100%"),a.style.height("100%"),a.attr.innerHTML(c)),pending:()=>a.html.span(a.attr.class("animate-spin"),a.When(u,()=>a.Fragment(a.attr.role("img"),a.aria.label(s.$.loadingIcon)),()=>a.aria.hidden(!0)),"↻"),failure:({error:c})=>a.html.span(a.attr.title(c),a.attr.class("text-red-500"),a.When(u,()=>a.Fragment(a.attr.role("img"),a.aria.label(s.$.failedToLoadIcon)),()=>a.aria.hidden(!0)),"🚫")})),...i))}function te(e){const t=e.split("-"),o=[e];return t.length>1&&o.push(t[0]),o}function B({locale:e,defaultLocale:t="en-US",defaultMessages:o,localeLoader:l}){const n=a.prop(t),r=a.prop(o),i=e.on(async u=>{if(u===n.value)return;n.set(u);const s=te(u);for(const c of s)try{const h=await l(c);if(typeof h.default=="object"&&Object.keys(h).length===1){console.error("It appears that you are trying to load a translation module without referencing the default export. Please use `(await import(...)).default` in your loader function.");return}if(u===n.value){r.set(h);return}}catch{continue}console.warn(`No locale found for "${e.value}", using fallback`),u===n.value&&r.set(o)});return{dispose:()=>{i(),n.dispose(),r.dispose()},t:r}}function q({defaultLocale:e,defaultMessages:t,localeLoader:o,providerName:l="I18nProvider"}){return{mark:a.makeProviderMark(l),create:(n,r)=>{const{value:{locale:i}}=r.getProvider(L.mark),{t:u,dispose:s}=B({locale:i,defaultMessages:t,defaultLocale:e,localeLoader:o});return{value:u,dispose:s}}}}const oe=Object.assign({"./locales/ar.ts":()=>Promise.resolve().then(()=>require("./ar-CuI1Jgt6.cjs")).then(e=>e.default),"./locales/de.ts":()=>Promise.resolve().then(()=>require("./de-DthHehbh.cjs")).then(e=>e.default),"./locales/es.ts":()=>Promise.resolve().then(()=>require("./es-B6GJLk9h.cjs")).then(e=>e.default),"./locales/fa.ts":()=>Promise.resolve().then(()=>require("./fa-BwgP93iV.cjs")).then(e=>e.default),"./locales/fr.ts":()=>Promise.resolve().then(()=>require("./fr-CQzk5zqY.cjs")).then(e=>e.default),"./locales/he.ts":()=>Promise.resolve().then(()=>require("./he-DcxxvRfs.cjs")).then(e=>e.default),"./locales/hi.ts":()=>Promise.resolve().then(()=>require("./hi-D-KHVWg4.cjs")).then(e=>e.default),"./locales/it.ts":()=>Promise.resolve().then(()=>require("./it-D344Dutu.cjs")).then(e=>e.default),"./locales/ja.ts":()=>Promise.resolve().then(()=>require("./ja-BNgnDZ27.cjs")).then(e=>e.default),"./locales/ko.ts":()=>Promise.resolve().then(()=>require("./ko-D-WJ9NK7.cjs")).then(e=>e.default),"./locales/nl.ts":()=>Promise.resolve().then(()=>require("./nl-CrqUlFie.cjs")).then(e=>e.default),"./locales/pl.ts":()=>Promise.resolve().then(()=>require("./pl-9UksIrvX.cjs")).then(e=>e.default),"./locales/pt.ts":()=>Promise.resolve().then(()=>require("./pt-_kfdzwqi.cjs")).then(e=>e.default),"./locales/ru.ts":()=>Promise.resolve().then(()=>require("./ru-CW1WNNlr.cjs")).then(e=>e.default),"./locales/tr.ts":()=>Promise.resolve().then(()=>require("./tr-B6GIRegf.cjs")).then(e=>e.default),"./locales/ur.ts":()=>Promise.resolve().then(()=>require("./ur-CtFl_tz6.cjs")).then(e=>e.default),"./locales/vi.ts":()=>Promise.resolve().then(()=>require("./vi-DyCZSpsk.cjs")).then(e=>e.default),"./locales/zh.ts":()=>Promise.resolve().then(()=>require("./zh-C3ZxMQKb.cjs")).then(e=>e.default)}),F=q({defaultLocale:p,defaultMessages:f,localeLoader:async e=>{if(e===p)return f;const t=oe[`./locales/${e}.ts`];return t?await t():f},providerName:"BeatUII18n"});exports.BeatUII18n=F;exports.Icon=ee;exports.LOGICAL_PROPERTY_MAP=$;exports.Locale=L;exports.backgroundValue=U;exports.borderColorValue=z;exports.defaultLocale=p;exports.defaultMessages=f;exports.formatFileSize=w;exports.getDirectionClassName=A;exports.getDirectionFromLocale=C;exports.getIconLocally=S;exports.getOppositeDirection=O;exports.getPhysicalProperty=M;exports.hoverBackgroundValue=_;exports.isIndexedDBAvailable=b;exports.isRTLLocale=T;exports.makeI18nProvider=q;exports.makeMessages=B;exports.resolveDirection=I;exports.storeIconLocally=D;exports.textColorValue=W;
@@ -96,6 +96,7 @@ export declare const defaultMessages: {
96
96
  lexical: {
97
97
  fontFamily: string;
98
98
  fontSize: string;
99
+ lineHeight: string;
99
100
  fontColor: string;
100
101
  highlightColor: string;
101
102
  backgroundColor: string;
@@ -137,6 +138,77 @@ export declare const defaultMessages: {
137
138
  deleteColumn: string;
138
139
  deleteTable: string;
139
140
  };
141
+ dataTable: {
142
+ sortAscending: string;
143
+ sortDescending: string;
144
+ clearSort: string;
145
+ filterPlaceholder: string;
146
+ clearFilter: string;
147
+ selectAll: string;
148
+ deselectAll: string;
149
+ selectedCount: (count: number) => string;
150
+ resetAll: string;
151
+ noResults: string;
152
+ loading: string;
153
+ filterPanelAddCondition: string;
154
+ filterPanelApply: string;
155
+ filterPanelClear: string;
156
+ filterPanelAnd: string;
157
+ filterPanelOr: string;
158
+ filterPanelContains: string;
159
+ filterPanelNotContains: string;
160
+ filterPanelEquals: string;
161
+ filterPanelNotEquals: string;
162
+ filterPanelStartsWith: string;
163
+ filterPanelEndsWith: string;
164
+ filterPanelIsNull: string;
165
+ filterPanelIsNotNull: string;
166
+ filterPanelGt: string;
167
+ filterPanelGte: string;
168
+ filterPanelLt: string;
169
+ filterPanelLte: string;
170
+ filterPanelBetween: string;
171
+ filterPanelValuePlaceholder: string;
172
+ sortMultiHint: string;
173
+ columnVisibility: string;
174
+ showAllColumns: string;
175
+ menuSortAsc: string;
176
+ menuSortDesc: string;
177
+ menuClearSort: string;
178
+ menuHideColumn: string;
179
+ menuChooseColumns: string;
180
+ menuResetColumns: string;
181
+ menuFilter: string;
182
+ rowCount: (filtered: number, total: number) => string;
183
+ filterTagsPlaceholder: string;
184
+ groupCount: (count: number) => string;
185
+ collapseGroup: string;
186
+ expandGroup: string;
187
+ describeFilter: {
188
+ textContains: (col: string, val: string) => string;
189
+ textNotContains: (col: string, val: string) => string;
190
+ textEquals: (col: string, val: string) => string;
191
+ textNotEquals: (col: string, val: string) => string;
192
+ textStartsWith: (col: string, val: string) => string;
193
+ textEndsWith: (col: string, val: string) => string;
194
+ compareEq: (col: string, val: string) => string;
195
+ compareNeq: (col: string, val: string) => string;
196
+ compareGt: (col: string, val: string) => string;
197
+ compareGte: (col: string, val: string) => string;
198
+ compareLt: (col: string, val: string) => string;
199
+ compareLte: (col: string, val: string) => string;
200
+ rangeBetween: (col: string, min: string, max: string) => string;
201
+ rangeGte: (col: string, val: string) => string;
202
+ rangeLte: (col: string, val: string) => string;
203
+ setIn: (col: string, vals: string) => string;
204
+ setNotIn: (col: string, vals: string) => string;
205
+ booleanIs: (col: string, val: string) => string;
206
+ isNull: (col: string) => string;
207
+ isNotNull: (col: string) => string;
208
+ compositeAnd: (descriptions: string[]) => string;
209
+ compositeOr: (descriptions: string[]) => string;
210
+ };
211
+ };
140
212
  prosemirror: {
141
213
  bold: string;
142
214
  italic: string;
@@ -82,6 +82,7 @@ declare const en: {
82
82
  lexical: {
83
83
  fontFamily: string;
84
84
  fontSize: string;
85
+ lineHeight: string;
85
86
  fontColor: string;
86
87
  highlightColor: string;
87
88
  backgroundColor: string;
@@ -123,6 +124,77 @@ declare const en: {
123
124
  deleteColumn: string;
124
125
  deleteTable: string;
125
126
  };
127
+ dataTable: {
128
+ sortAscending: string;
129
+ sortDescending: string;
130
+ clearSort: string;
131
+ filterPlaceholder: string;
132
+ clearFilter: string;
133
+ selectAll: string;
134
+ deselectAll: string;
135
+ selectedCount: (count: number) => string;
136
+ resetAll: string;
137
+ noResults: string;
138
+ loading: string;
139
+ filterPanelAddCondition: string;
140
+ filterPanelApply: string;
141
+ filterPanelClear: string;
142
+ filterPanelAnd: string;
143
+ filterPanelOr: string;
144
+ filterPanelContains: string;
145
+ filterPanelNotContains: string;
146
+ filterPanelEquals: string;
147
+ filterPanelNotEquals: string;
148
+ filterPanelStartsWith: string;
149
+ filterPanelEndsWith: string;
150
+ filterPanelIsNull: string;
151
+ filterPanelIsNotNull: string;
152
+ filterPanelGt: string;
153
+ filterPanelGte: string;
154
+ filterPanelLt: string;
155
+ filterPanelLte: string;
156
+ filterPanelBetween: string;
157
+ filterPanelValuePlaceholder: string;
158
+ sortMultiHint: string;
159
+ columnVisibility: string;
160
+ showAllColumns: string;
161
+ menuSortAsc: string;
162
+ menuSortDesc: string;
163
+ menuClearSort: string;
164
+ menuHideColumn: string;
165
+ menuChooseColumns: string;
166
+ menuResetColumns: string;
167
+ menuFilter: string;
168
+ rowCount: (filtered: number, total: number) => string;
169
+ filterTagsPlaceholder: string;
170
+ groupCount: (count: number) => string;
171
+ collapseGroup: string;
172
+ expandGroup: string;
173
+ describeFilter: {
174
+ textContains: (col: string, val: string) => string;
175
+ textNotContains: (col: string, val: string) => string;
176
+ textEquals: (col: string, val: string) => string;
177
+ textNotEquals: (col: string, val: string) => string;
178
+ textStartsWith: (col: string, val: string) => string;
179
+ textEndsWith: (col: string, val: string) => string;
180
+ compareEq: (col: string, val: string) => string;
181
+ compareNeq: (col: string, val: string) => string;
182
+ compareGt: (col: string, val: string) => string;
183
+ compareGte: (col: string, val: string) => string;
184
+ compareLt: (col: string, val: string) => string;
185
+ compareLte: (col: string, val: string) => string;
186
+ rangeBetween: (col: string, min: string, max: string) => string;
187
+ rangeGte: (col: string, val: string) => string;
188
+ rangeLte: (col: string, val: string) => string;
189
+ setIn: (col: string, vals: string) => string;
190
+ setNotIn: (col: string, vals: string) => string;
191
+ booleanIs: (col: string, val: string) => string;
192
+ isNull: (col: string) => string;
193
+ isNotNull: (col: string) => string;
194
+ compositeAnd: (descriptions: string[]) => string;
195
+ compositeOr: (descriptions: string[]) => string;
196
+ };
197
+ };
126
198
  prosemirror: {
127
199
  bold: string;
128
200
  italic: string;
@@ -106,6 +106,7 @@ export declare const BeatUII18n: import("@tempots/dom").Provider<import("@tempot
106
106
  lexical: {
107
107
  fontFamily: string;
108
108
  fontSize: string;
109
+ lineHeight: string;
109
110
  fontColor: string;
110
111
  highlightColor: string;
111
112
  backgroundColor: string;
@@ -147,6 +148,77 @@ export declare const BeatUII18n: import("@tempots/dom").Provider<import("@tempot
147
148
  deleteColumn: string;
148
149
  deleteTable: string;
149
150
  };
151
+ dataTable: {
152
+ sortAscending: string;
153
+ sortDescending: string;
154
+ clearSort: string;
155
+ filterPlaceholder: string;
156
+ clearFilter: string;
157
+ selectAll: string;
158
+ deselectAll: string;
159
+ selectedCount: (count: number) => string;
160
+ resetAll: string;
161
+ noResults: string;
162
+ loading: string;
163
+ filterPanelAddCondition: string;
164
+ filterPanelApply: string;
165
+ filterPanelClear: string;
166
+ filterPanelAnd: string;
167
+ filterPanelOr: string;
168
+ filterPanelContains: string;
169
+ filterPanelNotContains: string;
170
+ filterPanelEquals: string;
171
+ filterPanelNotEquals: string;
172
+ filterPanelStartsWith: string;
173
+ filterPanelEndsWith: string;
174
+ filterPanelIsNull: string;
175
+ filterPanelIsNotNull: string;
176
+ filterPanelGt: string;
177
+ filterPanelGte: string;
178
+ filterPanelLt: string;
179
+ filterPanelLte: string;
180
+ filterPanelBetween: string;
181
+ filterPanelValuePlaceholder: string;
182
+ sortMultiHint: string;
183
+ columnVisibility: string;
184
+ showAllColumns: string;
185
+ menuSortAsc: string;
186
+ menuSortDesc: string;
187
+ menuClearSort: string;
188
+ menuHideColumn: string;
189
+ menuChooseColumns: string;
190
+ menuResetColumns: string;
191
+ menuFilter: string;
192
+ rowCount: (filtered: number, total: number) => string;
193
+ filterTagsPlaceholder: string;
194
+ groupCount: (count: number) => string;
195
+ collapseGroup: string;
196
+ expandGroup: string;
197
+ describeFilter: {
198
+ textContains: (col: string, val: string) => string;
199
+ textNotContains: (col: string, val: string) => string;
200
+ textEquals: (col: string, val: string) => string;
201
+ textNotEquals: (col: string, val: string) => string;
202
+ textStartsWith: (col: string, val: string) => string;
203
+ textEndsWith: (col: string, val: string) => string;
204
+ compareEq: (col: string, val: string) => string;
205
+ compareNeq: (col: string, val: string) => string;
206
+ compareGt: (col: string, val: string) => string;
207
+ compareGte: (col: string, val: string) => string;
208
+ compareLt: (col: string, val: string) => string;
209
+ compareLte: (col: string, val: string) => string;
210
+ rangeBetween: (col: string, min: string, max: string) => string;
211
+ rangeGte: (col: string, val: string) => string;
212
+ rangeLte: (col: string, val: string) => string;
213
+ setIn: (col: string, vals: string) => string;
214
+ setNotIn: (col: string, vals: string) => string;
215
+ booleanIs: (col: string, val: string) => string;
216
+ isNull: (col: string) => string;
217
+ isNotNull: (col: string) => string;
218
+ compositeAnd: (descriptions: string[]) => string;
219
+ compositeOr: (descriptions: string[]) => string;
220
+ };
221
+ };
150
222
  prosemirror: {
151
223
  bold: string;
152
224
  italic: string;
@@ -0,0 +1,21 @@
1
+ import { TNode, Value, Renderable } from '@tempots/dom';
2
+ import type { BundledTheme } from 'shiki';
3
+ export type CodeHighlightOptions = {
4
+ /** The source code to highlight. */
5
+ code: Value<string>;
6
+ /** The language identifier (e.g., 'typescript', 'css', 'json'). */
7
+ language?: Value<string>;
8
+ /** Light-mode Shiki theme. @default 'github-light' */
9
+ lightTheme?: BundledTheme;
10
+ /** Dark-mode Shiki theme. @default 'github-dark' */
11
+ darkTheme?: BundledTheme;
12
+ };
13
+ /**
14
+ * Renders a syntax-highlighted code block using Shiki.
15
+ *
16
+ * Themes are applied using CSS variables so that light/dark mode
17
+ * switching works automatically via the `.dark` class on `<html>`.
18
+ *
19
+ * Styles are injected into `<head>` on first use — no external CSS import needed.
20
+ */
21
+ export declare function CodeHighlight(options: CodeHighlightOptions, ...children: TNode[]): Renderable;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Syntax-highlighted code block component powered by Shiki.
3
+ *
4
+ * Ships as a separate entry point (`@tempots/beatui/codehighlight`) to keep the
5
+ * core bundle small — Shiki grammars and themes are only loaded when this
6
+ * module is imported.
7
+ *
8
+ * ```ts
9
+ * import { CodeHighlight } from '@tempots/beatui/codehighlight'
10
+ * ```
11
+ *
12
+ * @module
13
+ */
14
+ export { CodeHighlight, type CodeHighlightOptions } from './code-highlight';
@@ -9,7 +9,7 @@ export interface ToggleButtonOptions {
9
9
  /** Whether the button is currently pressed/active. */
10
10
  pressed: Value<boolean>;
11
11
  /** Callback invoked when the button is toggled. */
12
- onToggle?: (pressed: boolean) => void;
12
+ onChange?: (pressed: boolean) => void;
13
13
  /** Whether the button is disabled. @default false */
14
14
  disabled?: Value<boolean>;
15
15
  /** Visual style variant. @default 'outline' */
@@ -42,7 +42,7 @@ export interface ToggleButtonOptions {
42
42
  *
43
43
  * const bold = prop(false)
44
44
  * ToggleButton(
45
- * { pressed: bold, onToggle: bold.set, variant: 'outline' },
45
+ * { pressed: bold, onChange: bold.set, variant: 'outline' },
46
46
  * 'B'
47
47
  * )
48
48
  * ```
@@ -52,9 +52,9 @@ export interface ToggleButtonOptions {
52
52
  * // Icon toggle
53
53
  * const starred = prop(false)
54
54
  * ToggleButton(
55
- * { pressed: starred, onToggle: starred.set, color: 'yellow' },
55
+ * { pressed: starred, onChange: starred.set, color: 'yellow' },
56
56
  * Icon({ icon: starred.map(s => s ? 'lucide:star' : 'lucide:star-off') })
57
57
  * )
58
58
  * ```
59
59
  */
60
- export declare function ToggleButton({ pressed, onToggle, disabled, variant, size, color, roundedness, fullWidth, }: ToggleButtonOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
60
+ export declare function ToggleButton({ pressed, onChange, disabled, variant, size, color, roundedness, fullWidth, }: ToggleButtonOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -23,6 +23,8 @@ export interface AvatarOptions {
23
23
  color?: Value<ThemeColorName>;
24
24
  /** Whether to add a border around the avatar. @default false */
25
25
  bordered?: Value<boolean>;
26
+ /** Theme color for the avatar border. Implies bordered when set. */
27
+ borderColor?: Value<ThemeColorName>;
26
28
  }
27
29
  /**
28
30
  * Renders a user avatar with image, initials, or icon fallback.
@@ -59,4 +61,4 @@ export interface AvatarOptions {
59
61
  * Avatar({ icon: 'mdi:account', size: 'xl', bordered: true })
60
62
  * ```
61
63
  */
62
- export declare function Avatar({ src, name, icon, size, variant, color, bordered, }: AvatarOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
64
+ export declare function Avatar({ src, name, icon, size, variant, color, bordered, borderColor, }: AvatarOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -17,35 +17,27 @@ export interface BadgeOptions {
17
17
  circle?: Value<boolean>;
18
18
  /** Whether the badge takes the full width of its container. @default false */
19
19
  fullWidth?: Value<boolean>;
20
- /** Whether to render as a small colored dot indicator (8px by default). @default false */
21
- dot?: Value<boolean>;
20
+ /** Callback when the close button is clicked. Renders a close button when set. */
21
+ onClose?: () => void;
22
+ /** Whether the badge is disabled. @default false */
23
+ disabled?: Value<boolean>;
22
24
  }
23
25
  /**
24
26
  * Generates CSS class names for the badge based on size, roundedness, and shape.
25
- *
26
- * @param size - Control size for padding and text
27
- * @param roundedness - Border radius preset
28
- * @param circle - Whether to force a circular shape
29
- * @param fullWidth - Whether to stretch to full container width
30
- * @param dot - Whether to render as a small dot indicator
31
- * @returns Space-separated CSS class string
32
27
  */
33
- export declare function generateBadgeClasses(size: ControlSize, roundedness: RadiusName, circle: boolean, fullWidth: boolean, dot: boolean): string;
28
+ export declare function generateBadgeClasses(size: ControlSize, roundedness: RadiusName, circle: boolean, fullWidth: boolean, disabled: boolean): string;
34
29
  /**
35
30
  * Generates inline CSS custom properties for badge theming based on variant and color.
36
31
  * Sets background, text, border, and hover colors for both light and dark modes.
37
- *
38
- * @param variant - The visual style variant
39
- * @param color - The theme color
40
- * @returns Semicolon-separated CSS custom property declarations
41
32
  */
42
33
  export declare function generateBadgeStyles(variant: ButtonVariant, color: ExtendedColor): string;
43
34
  /**
44
35
  * A small status indicator or label component with theme-aware colors.
45
36
  * Supports all button variants (filled, light, outline, default, text) and
46
37
  * can be rendered as a pill, circle, or full-width element.
38
+ * Optionally renders a close button for removable badges.
47
39
  *
48
- * @param options - Configuration for variant, size, color, and shape
40
+ * @param options - Configuration for variant, size, color, shape, and close behavior
49
41
  * @param children - Content to display inside the badge (text, number, icon)
50
42
  * @returns A styled span element
51
43
  *
@@ -56,8 +48,8 @@ export declare function generateBadgeStyles(variant: ButtonVariant, color: Exten
56
48
  *
57
49
  * @example
58
50
  * ```typescript
59
- * // Circle badge for notification counts
60
- * Badge({ circle: true, color: 'danger', size: 'xs' }, '9+')
51
+ * // Removable badge
52
+ * Badge({ variant: 'light', color: 'info', onClose: () => remove(item) }, 'TypeScript')
61
53
  * ```
62
54
  */
63
- export declare function Badge({ variant, size, color, roundedness, circle, fullWidth, dot, }: BadgeOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
55
+ export declare function Badge({ variant, size, color, roundedness, circle, fullWidth, onClose, disabled, }: BadgeOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -0,0 +1,31 @@
1
+ import { TNode, Value } from '@tempots/dom';
2
+ import { DataSource } from './data-source';
3
+ import { ColumnValueType } from './data-table-types';
4
+ import { ControlSize } from '../theme';
5
+ /**
6
+ * Options for the {@link ColumnFilterPanel} component.
7
+ *
8
+ * @typeParam T - The type of data rows in the data source
9
+ * @typeParam C - Column identifier type (defaults to `string`)
10
+ */
11
+ export interface ColumnFilterPanelOptions<T, C extends string = string> {
12
+ /** The data source to wire filtering into */
13
+ dataSource: DataSource<T, C>;
14
+ /** Column identifier */
15
+ column: C;
16
+ /** The column value type, determining which operators are available. @default 'text' */
17
+ columnType?: ColumnValueType;
18
+ /** Size variant. @default 'sm' */
19
+ size?: Value<ControlSize>;
20
+ /** When true, render only the panel content without trigger button and flyout wrapper. @default false */
21
+ embedded?: boolean;
22
+ }
23
+ /**
24
+ * A flyout-based per-column filter builder that lets users compose
25
+ * multiple conditions with AND/OR logic.
26
+ *
27
+ * @typeParam T - The type of data rows
28
+ * @param opts - Configuration for the filter panel
29
+ * @returns A trigger button with a flyout filter panel
30
+ */
31
+ export declare function ColumnFilterPanel<T, C extends string = string>(opts: ColumnFilterPanelOptions<T, C>): TNode;
@@ -0,0 +1,110 @@
1
+ import { Value } from '@tempots/dom';
2
+ import { DataSource } from './data-source';
3
+ import { TextOperator } from './filter';
4
+ import { ControlSize } from '../theme';
5
+ /**
6
+ * Base options shared by all {@link ColumnFilter} variants.
7
+ *
8
+ * @typeParam T - The type of data rows in the data source
9
+ * @typeParam C - Column identifier type (defaults to `string`)
10
+ */
11
+ export interface ColumnFilterBase<T, C extends string = string> {
12
+ /** The data source to wire filtering into */
13
+ dataSource: DataSource<T, C>;
14
+ /** Column identifier */
15
+ column: C;
16
+ /** Size variant. @default 'sm' */
17
+ size?: Value<ControlSize>;
18
+ }
19
+ /**
20
+ * Options for a text-input column filter.
21
+ *
22
+ * @typeParam T - The type of data rows in the data source
23
+ */
24
+ export interface TextColumnFilter<T, C extends string = string> extends ColumnFilterBase<T, C> {
25
+ /** Discriminator — omit or set to `'text'` for a debounced text input. */
26
+ type?: 'text';
27
+ /** Placeholder text for the text input. @default 'Filter...' */
28
+ placeholder?: Value<string>;
29
+ /** Filter operator applied when text is non-empty. @default 'contains' */
30
+ operator?: TextOperator;
31
+ /** Debounce delay in milliseconds. @default 300 */
32
+ debounce?: number;
33
+ }
34
+ /**
35
+ * Options for a select-dropdown column filter.
36
+ *
37
+ * @typeParam T - The type of data rows in the data source
38
+ */
39
+ export interface SelectColumnFilter<T, C extends string = string> extends ColumnFilterBase<T, C> {
40
+ /** Discriminator — must be `'select'` for a dropdown filter. */
41
+ type: 'select';
42
+ /** The list of value/label pairs to present in the dropdown. */
43
+ options: {
44
+ value: string;
45
+ label: string;
46
+ }[];
47
+ /**
48
+ * Label for the "show all rows" option at the top of the dropdown.
49
+ * @default 'All'
50
+ */
51
+ allLabel?: string;
52
+ }
53
+ /**
54
+ * Options for a multi-select tags column filter.
55
+ *
56
+ * @typeParam T - The type of data rows in the data source
57
+ */
58
+ export interface TagsColumnFilter<T, C extends string = string> extends ColumnFilterBase<T, C> {
59
+ /** Discriminator — must be `'tags'` for a multi-select tag input filter. */
60
+ type: 'tags';
61
+ /** The list of value/label pairs. */
62
+ options: {
63
+ value: string;
64
+ label: string;
65
+ }[];
66
+ /** Placeholder text. @default 'Select values...' */
67
+ placeholder?: Value<string>;
68
+ }
69
+ /**
70
+ * Options for the {@link ColumnFilter} component.
71
+ *
72
+ * Use the `type` discriminator to select between `'text'` (default),
73
+ * `'select'`, and `'tags'` variants.
74
+ *
75
+ * @typeParam T - The type of data rows in the data source
76
+ * @typeParam C - Column identifier type (defaults to `string`)
77
+ */
78
+ export type ColumnFilterOptions<T, C extends string = string> = TextColumnFilter<T, C> | SelectColumnFilter<T, C> | TagsColumnFilter<T, C>;
79
+ /**
80
+ * A per-column filter input that wires into a {@link DataSource}.
81
+ *
82
+ * Supports two modes:
83
+ * - `'text'` (default): A debounced {@link TextInput} that filters rows by the
84
+ * specified operator. The debounce timer is automatically cleared on disposal.
85
+ * - `'select'`: A {@link NativeSelect} dropdown that filters rows by exact
86
+ * match. An "All" option (customisable via `allLabel`) removes the filter.
87
+ *
88
+ * @typeParam T - The type of data rows
89
+ * @param options - Filter configuration (discriminated by `type`)
90
+ * @returns A reactive filter control wired to the given data source
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * // Text filter (default)
95
+ * ColumnFilter({ dataSource: ds, column: 'name', placeholder: 'Search name...' })
96
+ *
97
+ * // Select filter
98
+ * ColumnFilter({
99
+ * dataSource: ds,
100
+ * column: 'role',
101
+ * type: 'select',
102
+ * options: [
103
+ * { value: 'admin', label: 'Admin' },
104
+ * { value: 'user', label: 'User' },
105
+ * ],
106
+ * allLabel: 'All roles',
107
+ * })
108
+ * ```
109
+ */
110
+ export declare function ColumnFilter<T, C extends string = string>(opts: ColumnFilterOptions<T, C>): import("@tempots/core").Renderable<import("@tempots/dom").DOMContext, typeof import("@tempots/dom").DOM_RENDERABLE_TYPE>;
@@ -0,0 +1,42 @@
1
+ import { Signal, TNode, Value } from '@tempots/dom';
2
+ import { DataSource } from './data-source';
3
+ import { ControlSize } from '../theme';
4
+ /**
5
+ * Options for the {@link ColumnHeaderMenu} component.
6
+ */
7
+ export interface ColumnHeaderMenuOptions<T, C extends string = string> {
8
+ /** The data source for sort state */
9
+ dataSource: DataSource<T, C>;
10
+ /** Column identifier */
11
+ column: C;
12
+ /** Whether this column supports sorting */
13
+ sortable?: boolean;
14
+ /** Whether this column can be hidden */
15
+ hideable?: boolean;
16
+ /** Size variant. @default 'md' */
17
+ size?: Value<ControlSize>;
18
+ /** Callback to hide this column */
19
+ onHideColumn?: () => void;
20
+ /** Columns that can be shown/hidden */
21
+ hideableColumns?: {
22
+ id: string;
23
+ label: string;
24
+ }[];
25
+ /** Currently hidden column IDs (reactive) */
26
+ hiddenColumns?: Signal<Set<string>>;
27
+ /** Toggle a column's visibility */
28
+ onToggleColumn?: (colId: string) => void;
29
+ /** Show all hidden columns */
30
+ onResetColumns?: () => void;
31
+ /** Filter content to embed as a submenu (ColumnFilterPanel, ColumnFilter, etc.) */
32
+ filterContent?: TNode;
33
+ /** Whether this column has an active filter (reactive) */
34
+ hasActiveFilter?: Signal<boolean>;
35
+ /** Callback to clear all filters on this column */
36
+ onClearFilter?: () => void;
37
+ }
38
+ /**
39
+ * A kebab menu (⋮) for a column header providing sort, filter, hide, and column
40
+ * management actions. Uses the existing {@link Menu} component.
41
+ */
42
+ export declare function ColumnHeaderMenu<T, C extends string = string>(opts: ColumnHeaderMenuOptions<T, C>): TNode;