@tempots/beatui 0.82.0 → 0.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
  2. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  3. package/dist/ar-CBrjAlIY.cjs +1 -0
  4. package/dist/ar-DjMvIww5.js +175 -0
  5. package/dist/{ar-NCCPhOpI.js → ar-DwDxAANU.js} +16 -1
  6. package/dist/ar-kZBzg02I.cjs +1 -0
  7. package/dist/auth/index.cjs.js +1 -1
  8. package/dist/auth/index.es.js +64 -1351
  9. package/dist/auth-divider-C3_CgC0l.js +1375 -0
  10. package/dist/auth-divider-C4WTL71M.cjs +1 -0
  11. package/dist/beatui.css +11183 -5596
  12. package/dist/beatui.tailwind.css +11210 -5623
  13. package/dist/better-auth/index.cjs.js +1 -0
  14. package/dist/better-auth/index.es.js +741 -0
  15. package/dist/{colors-B2yrgHSW.cjs → colors-BI0YhONJ.cjs} +1 -1
  16. package/dist/{colors-DPo9GEJR.js → colors-BmLYKmoH.js} +38 -30
  17. package/dist/de-B03SM9eF.cjs +1 -0
  18. package/dist/{de-BVK2MkCk.js → de-CSGSC0xX.js} +18 -3
  19. package/dist/de-CrBw41po.cjs +1 -0
  20. package/dist/{de-f2xcEb34.js → de-wChFYqM4.js} +79 -5
  21. package/dist/deep-merge-CmQoIYPC.js +1689 -0
  22. package/dist/deep-merge-UghuPcyW.cjs +1 -0
  23. package/dist/duration-input-BJzKgI15.cjs +1 -0
  24. package/dist/{duration-input-B3vnnwBZ.js → duration-input-DaB6s0rL.js} +24 -23
  25. package/dist/editor-toolbar-group-BslfdazC.js +32 -0
  26. package/dist/editor-toolbar-group-_V1rDM-1.cjs +1 -0
  27. package/dist/{es-BxBeTRCv.cjs → es-BRa0hV-7.cjs} +1 -1
  28. package/dist/es-Ca5xT3NE.cjs +1 -0
  29. package/dist/es-CmPF3IGl.js +175 -0
  30. package/dist/{es-BQS8PL9j.js → es-dR46FTMF.js} +16 -1
  31. package/dist/{fa-DxPseW3g.cjs → fa-BxCSKn9j.cjs} +1 -1
  32. package/dist/fa-D696e75R.js +175 -0
  33. package/dist/fa-DhZJYuC6.cjs +1 -0
  34. package/dist/{fa-T-tkJSJr.js → fa-FsHBFjdY.js} +16 -1
  35. package/dist/fr-1nSKSIlw.cjs +1 -0
  36. package/dist/{fr-yOW_68YY.js → fr-B0jeX1Hx.js} +83 -9
  37. package/dist/{fr-CSRRhyCG.js → fr-Di6BT9_V.js} +18 -3
  38. package/dist/fr-Dq6RAY9s.cjs +1 -0
  39. package/dist/he-BBX1h9uD.cjs +1 -0
  40. package/dist/{he-Bxdc4M08.js → he-CXujw1Lw.js} +16 -1
  41. package/dist/he-DhcurPt5.cjs +1 -0
  42. package/dist/he-SgAsIYJA.js +175 -0
  43. package/dist/{hi-CJeFvTBe.js → hi-Bvh4d9bO.js} +16 -1
  44. package/dist/hi-Cd0YQZTU.cjs +1 -0
  45. package/dist/hi-CxsIxbfM.cjs +1 -0
  46. package/dist/hi-s9oiIihq.js +175 -0
  47. package/dist/{hls.light.min-Bhrf47iR.cjs → hls.light.min-C6xKDzRR.cjs} +1 -1
  48. package/dist/{hls.light.min-C6VwviEa.js → hls.light.min-hEMf_E8u.js} +1 -1
  49. package/dist/{index-ChsRjiIp.cjs → index-Bm43lZqE.cjs} +19 -19
  50. package/dist/{index-C5YCCgnn.cjs → index-C2_iX1um.cjs} +1 -1
  51. package/dist/{index-DT6-HMMz.js → index-C32iUFIr.js} +1432 -1462
  52. package/dist/{index-CiAVfKIZ.js → index-CEqc0H3v.js} +1 -1
  53. package/dist/index-DH37GTQj.cjs +1 -0
  54. package/dist/{index-DklKfzD4.js → index-Di1_W_7Q.js} +351 -361
  55. package/dist/index.cjs.js +4 -4
  56. package/dist/index.es.js +6310 -3528
  57. package/dist/input-container-CSi72GI1.cjs +1 -0
  58. package/dist/input-container-Nx0gMAzS.js +258 -0
  59. package/dist/it-ByIEk5Cq.cjs +1 -0
  60. package/dist/it-D_IcaYxp.cjs +1 -0
  61. package/dist/{it-6e6X-4BB.js → it-Dc4IMciD.js} +80 -6
  62. package/dist/{it-Zmp0BhIj.js → it-EWhykhHv.js} +18 -3
  63. package/dist/ja-CMGqpPo7.cjs +1 -0
  64. package/dist/{ja-BxNuNo2H.js → ja-D2t2g5xj.js} +85 -11
  65. package/dist/ja-DV6Fpp18.cjs +1 -0
  66. package/dist/{ja-DWjoA-hQ.js → ja-YZ0P5woj.js} +16 -1
  67. package/dist/json-schema/index.cjs.js +1 -1
  68. package/dist/json-schema/index.es.js +212 -205
  69. package/dist/json-schema-display/index.cjs.js +1 -1
  70. package/dist/json-schema-display/index.es.js +1 -1
  71. package/dist/json-structure/index.cjs.js +1 -1
  72. package/dist/json-structure/index.es.js +623 -762
  73. package/dist/ko-BPl5rP97.cjs +1 -0
  74. package/dist/ko-BRylA5JZ.js +175 -0
  75. package/dist/ko-DR1f0as8.cjs +1 -0
  76. package/dist/{ko-BOlI-33h.js → ko-U7BSUAxZ.js} +16 -1
  77. package/dist/lexical/index.cjs.js +46 -0
  78. package/dist/lexical/index.es.js +21397 -0
  79. package/dist/lexical.css +1122 -0
  80. package/dist/menu-CX72LaZ3.cjs +1 -0
  81. package/dist/menu-D_slbwl8.js +374 -0
  82. package/dist/modal-DaI1jH-X.js +488 -0
  83. package/dist/modal-kyZfvVZb.cjs +1 -0
  84. package/dist/nl-BSfaHFt0.cjs +1 -0
  85. package/dist/{nl-Dr-l6zUy.cjs → nl-CQF0N7Mc.cjs} +1 -1
  86. package/dist/{nl-kQNcAdY1.js → nl-CqAxoB4J.js} +18 -3
  87. package/dist/nl-Dh7LUWAn.js +176 -0
  88. package/dist/notice-Bc1L4Zpr.cjs +1 -0
  89. package/dist/{notice-CZHWWwOQ.js → notice-Dz4nX57_.js} +49 -48
  90. package/dist/{oneof-branch-detection-BVNoKU9d.js → oneof-branch-detection-BED_n2MT.js} +523 -520
  91. package/dist/{oneof-branch-detection-C8g3eWnx.cjs → oneof-branch-detection-Vov_e3kI.cjs} +4 -4
  92. package/dist/{pl-CKyPFvss.js → pl-C-weXGCB.js} +16 -1
  93. package/dist/pl-D-O4sCnr.cjs +1 -0
  94. package/dist/{pl-Bs4nLJ__.js → pl-XEG-p1Q9.js} +77 -3
  95. package/dist/{pl-BK0i_yvq.cjs → pl-y_w3DWF3.cjs} +1 -1
  96. package/dist/prosemirror/index.cjs.js +1 -1
  97. package/dist/prosemirror/index.es.js +1 -1
  98. package/dist/{pt-DBmUhaNI.js → pt-BjNGOoZH.js} +18 -3
  99. package/dist/pt-DYsDA2sZ.js +175 -0
  100. package/dist/pt-DqaZWmbG.cjs +1 -0
  101. package/dist/pt-chEEYLlt.cjs +1 -0
  102. package/dist/ru-B46hVpFF.cjs +1 -0
  103. package/dist/{ru-Bi1_DEKM.js → ru-BTKBykp-.js} +86 -12
  104. package/dist/{ru-CsJ_yT-7.js → ru-CFmeZBXK.js} +16 -1
  105. package/dist/ru-CISMzCHR.cjs +1 -0
  106. package/dist/session-id-3KiilioY.js +8 -0
  107. package/dist/session-id-B5lJMzbB.cjs +1 -0
  108. package/dist/styles-url-CVCcF0ra.cjs +1 -0
  109. package/dist/styles-url-DUdp56Ts.js +4 -0
  110. package/dist/tailwind/index.cjs.js +1 -1
  111. package/dist/tailwind/index.es.js +3 -3
  112. package/dist/tailwind/preset.cjs.js +1 -1
  113. package/dist/tailwind/preset.es.js +74 -4
  114. package/dist/tailwind/vite-plugin.cjs.js +10 -10
  115. package/dist/tailwind/vite-plugin.es.js +289 -410
  116. package/dist/text-input-8v79fzEy.cjs +1 -0
  117. package/dist/text-input-CPJzUC2r.js +45 -0
  118. package/dist/{toolbar-DR2Zd4Oo.js → toolbar-CjQG7l7X.js} +4 -4
  119. package/dist/toolbar-D3ZsC0g_.cjs +1 -0
  120. package/dist/{tr-Bn5ldVJs.js → tr-C5X2gFZS.js} +17 -2
  121. package/dist/tr-CaMaflJL.cjs +1 -0
  122. package/dist/{tr-DiYB-FwX.js → tr-Cp8ZCUic.js} +77 -3
  123. package/dist/{tr-CgJ8uhZu.cjs → tr-mWu2E__o.cjs} +1 -1
  124. package/dist/{translations-Cq8bUKJP.js → translations-BGblCUBj.js} +144 -70
  125. package/dist/translations-CZ0KOii3.cjs +1 -0
  126. package/dist/translations-gVgMyNno.cjs +1 -0
  127. package/dist/translations-jUYta1_1.js +87 -0
  128. package/dist/types/auth/index.d.ts +13 -0
  129. package/dist/types/auth-i18n/default.d.ts +14 -0
  130. package/dist/types/auth-i18n/locales/ar.d.ts +14 -0
  131. package/dist/types/auth-i18n/locales/de.d.ts +14 -0
  132. package/dist/types/auth-i18n/locales/en.d.ts +14 -0
  133. package/dist/types/auth-i18n/locales/es.d.ts +14 -0
  134. package/dist/types/auth-i18n/locales/fa.d.ts +14 -0
  135. package/dist/types/auth-i18n/locales/fr.d.ts +14 -0
  136. package/dist/types/auth-i18n/locales/he.d.ts +14 -0
  137. package/dist/types/auth-i18n/locales/hi.d.ts +14 -0
  138. package/dist/types/auth-i18n/locales/it.d.ts +14 -0
  139. package/dist/types/auth-i18n/locales/ja.d.ts +14 -0
  140. package/dist/types/auth-i18n/locales/ko.d.ts +14 -0
  141. package/dist/types/auth-i18n/locales/nl.d.ts +14 -0
  142. package/dist/types/auth-i18n/locales/pl.d.ts +14 -0
  143. package/dist/types/auth-i18n/locales/pt.d.ts +14 -0
  144. package/dist/types/auth-i18n/locales/ru.d.ts +14 -0
  145. package/dist/types/auth-i18n/locales/tr.d.ts +14 -0
  146. package/dist/types/auth-i18n/locales/ur.d.ts +14 -0
  147. package/dist/types/auth-i18n/locales/vi.d.ts +14 -0
  148. package/dist/types/auth-i18n/locales/zh.d.ts +14 -0
  149. package/dist/types/auth-i18n/translations.d.ts +14 -0
  150. package/dist/types/beatui-i18n/default.d.ts +99 -0
  151. package/dist/types/beatui-i18n/index.d.ts +11 -0
  152. package/dist/types/beatui-i18n/locales/en.d.ts +63 -0
  153. package/dist/types/beatui-i18n/translations.d.ts +87 -0
  154. package/dist/types/better-auth/bridge.d.ts +2 -0
  155. package/dist/types/better-auth/callbacks.d.ts +6 -0
  156. package/dist/types/better-auth/components/authenticated.d.ts +4 -0
  157. package/dist/types/better-auth/components/better-auth-container.d.ts +4 -0
  158. package/dist/types/better-auth/components/better-auth-modal.d.ts +4 -0
  159. package/dist/types/better-auth/components/magic-link-form.d.ts +7 -0
  160. package/dist/types/better-auth/components/passkey-management.d.ts +6 -0
  161. package/dist/types/better-auth/components/passkey-signin.d.ts +12 -0
  162. package/dist/types/better-auth/components/two-factor-setup.d.ts +8 -0
  163. package/dist/types/better-auth/components/two-factor-verify.d.ts +10 -0
  164. package/dist/types/better-auth/i18n/default.d.ts +29 -0
  165. package/dist/types/better-auth/i18n/locales/en.d.ts +28 -0
  166. package/dist/types/better-auth/i18n/translations.d.ts +27 -0
  167. package/dist/types/better-auth/index.d.ts +35 -0
  168. package/dist/types/better-auth/provider.d.ts +39 -0
  169. package/dist/types/better-auth/session.d.ts +14 -0
  170. package/dist/types/better-auth/social-mapping.d.ts +2 -0
  171. package/dist/types/better-auth/types.d.ts +276 -0
  172. package/dist/types/components/auth/auth-container.d.ts +63 -2
  173. package/dist/types/components/auth/auth-divider.d.ts +30 -0
  174. package/dist/types/components/auth/auth-email-prop.d.ts +25 -0
  175. package/dist/types/components/auth/index.d.ts +9 -0
  176. package/dist/types/components/auth/password-strength-indicator.d.ts +58 -0
  177. package/dist/types/components/auth/reset-password-form.d.ts +33 -0
  178. package/dist/types/components/auth/schemas.d.ts +183 -5
  179. package/dist/types/components/auth/signin-form.d.ts +33 -0
  180. package/dist/types/components/auth/signup-form.d.ts +36 -0
  181. package/dist/types/components/auth/social-login-button.d.ts +213 -0
  182. package/dist/types/components/auth/social-providers.d.ts +27 -1
  183. package/dist/types/components/auth/types.d.ts +301 -0
  184. package/dist/types/components/auth/utils.d.ts +198 -0
  185. package/dist/types/components/beatui.d.ts +35 -0
  186. package/dist/types/components/button/button.d.ts +61 -0
  187. package/dist/types/components/button/close-button.d.ts +32 -1
  188. package/dist/types/components/button/index.d.ts +2 -0
  189. package/dist/types/components/button/toggle-button-group.d.ts +95 -0
  190. package/dist/types/components/button/toggle-button.d.ts +60 -0
  191. package/dist/types/components/data/avatar-group.d.ts +74 -0
  192. package/dist/types/components/data/avatar.d.ts +62 -0
  193. package/dist/types/components/data/badge.d.ts +49 -2
  194. package/dist/types/components/data/calendar-shared.d.ts +59 -0
  195. package/dist/types/components/data/calendar.d.ts +107 -0
  196. package/dist/types/components/data/history-timeline.d.ts +35 -0
  197. package/dist/types/components/data/icon-badge.d.ts +14 -0
  198. package/dist/types/components/data/icon.d.ts +55 -4
  199. package/dist/types/components/data/index.d.ts +9 -0
  200. package/dist/types/components/data/page-drop-zone.d.ts +61 -8
  201. package/dist/types/components/data/presence-overlay.d.ts +26 -0
  202. package/dist/types/components/data/progress-bar.d.ts +81 -0
  203. package/dist/types/components/data/range-calendar.d.ts +104 -0
  204. package/dist/types/components/data/skeleton.d.ts +70 -0
  205. package/dist/types/components/data/table.d.ts +38 -11
  206. package/dist/types/components/data/tag.d.ts +40 -0
  207. package/dist/types/components/data/unstyled-drop-zone.d.ts +73 -0
  208. package/dist/types/components/editor-toolbar/editor-toolbar-button.d.ts +16 -0
  209. package/dist/types/components/editor-toolbar/editor-toolbar-group.d.ts +9 -0
  210. package/dist/types/components/editor-toolbar/index.d.ts +2 -0
  211. package/dist/types/components/form/control/control.d.ts +155 -0
  212. package/dist/types/components/form/control/date-utils.d.ts +81 -0
  213. package/dist/types/components/form/control/ensure-control.d.ts +28 -0
  214. package/dist/types/components/form/control/form-status.d.ts +63 -0
  215. package/dist/types/components/form/control/index.d.ts +10 -0
  216. package/dist/types/components/form/control/list-control.d.ts +100 -1
  217. package/dist/types/components/form/control/list-item-controls.d.ts +65 -0
  218. package/dist/types/components/form/controller/color-controller.d.ts +29 -1
  219. package/dist/types/components/form/controller/controller-validation.d.ts +31 -0
  220. package/dist/types/components/form/controller/controller.d.ts +286 -0
  221. package/dist/types/components/form/controller/index.d.ts +12 -0
  222. package/dist/types/components/form/controller/path.d.ts +69 -0
  223. package/dist/types/components/form/controller/union-controller.d.ts +106 -11
  224. package/dist/types/components/form/controller/utils.d.ts +67 -0
  225. package/dist/types/components/form/input/advanced-slider.d.ts +143 -0
  226. package/dist/types/components/form/input/appearance-selector.d.ts +39 -0
  227. package/dist/types/components/form/input/base64-input.d.ts +34 -0
  228. package/dist/types/components/form/input/base64s-input.d.ts +47 -0
  229. package/dist/types/components/form/input/bigint-input.d.ts +27 -0
  230. package/dist/types/components/form/input/checkbox-input.d.ts +46 -0
  231. package/dist/types/components/form/input/color-input.d.ts +42 -0
  232. package/dist/types/components/form/input/color-swatch-input.d.ts +53 -0
  233. package/dist/types/components/form/input/combobox-input.d.ts +73 -0
  234. package/dist/types/components/form/input/combobox-tags-input.d.ts +54 -0
  235. package/dist/types/components/form/input/date-input.d.ts +33 -0
  236. package/dist/types/components/form/input/date-time-input.d.ts +34 -0
  237. package/dist/types/components/form/input/dropdown-base.d.ts +52 -0
  238. package/dist/types/components/form/input/dropdown-input.d.ts +86 -0
  239. package/dist/types/components/form/input/duration-input.d.ts +18 -0
  240. package/dist/types/components/form/input/duration-mask.d.ts +24 -0
  241. package/dist/types/components/form/input/editable-text.d.ts +33 -0
  242. package/dist/types/components/form/input/email-input.d.ts +34 -0
  243. package/dist/types/components/form/input/file-input.d.ts +33 -0
  244. package/dist/types/components/form/input/files-input.d.ts +44 -0
  245. package/dist/types/components/form/input/index.d.ts +5 -0
  246. package/dist/types/components/form/input/input-adornment.d.ts +38 -0
  247. package/dist/types/components/form/input/input-container.d.ts +65 -0
  248. package/dist/types/components/form/input/input-options.d.ts +70 -0
  249. package/dist/types/components/form/input/input-wrapper.d.ts +78 -0
  250. package/dist/types/components/form/input/instant-input.d.ts +18 -0
  251. package/dist/types/components/form/input/lazy-native-select.d.ts +43 -0
  252. package/dist/types/components/form/input/list-input.d.ts +50 -0
  253. package/dist/types/components/form/input/mask-input.d.ts +158 -0
  254. package/dist/types/components/form/input/native-select.d.ts +50 -0
  255. package/dist/types/components/form/input/nullable-base64-input.d.ts +25 -0
  256. package/dist/types/components/form/input/nullable-bigint-input.d.ts +26 -0
  257. package/dist/types/components/form/input/nullable-date-input.d.ts +18 -0
  258. package/dist/types/components/form/input/nullable-date-time-input.d.ts +19 -0
  259. package/dist/types/components/form/input/nullable-duration-input.d.ts +19 -0
  260. package/dist/types/components/form/input/nullable-email-input.d.ts +18 -0
  261. package/dist/types/components/form/input/nullable-instant-input.d.ts +19 -0
  262. package/dist/types/components/form/input/nullable-mask-input.d.ts +24 -0
  263. package/dist/types/components/form/input/nullable-number-input.d.ts +29 -0
  264. package/dist/types/components/form/input/nullable-password-input.d.ts +18 -0
  265. package/dist/types/components/form/input/nullable-plain-date-input.d.ts +18 -0
  266. package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +18 -0
  267. package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +18 -0
  268. package/dist/types/components/form/input/nullable-plain-time-input.d.ts +18 -0
  269. package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +18 -0
  270. package/dist/types/components/form/input/nullable-rating-input.d.ts +33 -0
  271. package/dist/types/components/form/input/nullable-text-area.d.ts +27 -0
  272. package/dist/types/components/form/input/nullable-text-input.d.ts +18 -0
  273. package/dist/types/components/form/input/nullable-url-input.d.ts +18 -0
  274. package/dist/types/components/form/input/nullable-utils.d.ts +22 -2
  275. package/dist/types/components/form/input/nullable-uuid-input.d.ts +18 -0
  276. package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +20 -0
  277. package/dist/types/components/form/input/number-input.d.ts +49 -0
  278. package/dist/types/components/form/input/option.d.ts +165 -0
  279. package/dist/types/components/form/input/otp-input.d.ts +77 -0
  280. package/dist/types/components/form/input/password-input.d.ts +39 -0
  281. package/dist/types/components/form/input/plain-date-input.d.ts +17 -0
  282. package/dist/types/components/form/input/plain-date-time-input.d.ts +17 -0
  283. package/dist/types/components/form/input/plain-month-day-input.d.ts +18 -0
  284. package/dist/types/components/form/input/plain-time-input.d.ts +17 -0
  285. package/dist/types/components/form/input/plain-year-month-input.d.ts +17 -0
  286. package/dist/types/components/form/input/radio-group.d.ts +108 -0
  287. package/dist/types/components/form/input/rating-input.d.ts +57 -0
  288. package/dist/types/components/form/input/segmented-input.d.ts +70 -1
  289. package/dist/types/components/form/input/select-tags-input.d.ts +69 -0
  290. package/dist/types/components/form/input/slider-input.d.ts +82 -0
  291. package/dist/types/components/form/input/switch.d.ts +59 -1
  292. package/dist/types/components/form/input/tag-input.d.ts +19 -0
  293. package/dist/types/components/form/input/tag-utils.d.ts +111 -0
  294. package/dist/types/components/form/input/tags-input.d.ts +18 -0
  295. package/dist/types/components/form/input/text-area.d.ts +42 -0
  296. package/dist/types/components/form/input/text-input.d.ts +63 -1
  297. package/dist/types/components/form/input/url-input.d.ts +34 -0
  298. package/dist/types/components/form/input/uuid-input.d.ts +19 -0
  299. package/dist/types/components/form/input/zoned-date-time-input.d.ts +20 -0
  300. package/dist/types/components/form/schema/standard-schema-v1.d.ts +98 -23
  301. package/dist/types/components/form/use-form.d.ts +146 -2
  302. package/dist/types/components/i18n/index.d.ts +9 -0
  303. package/dist/types/components/i18n/locale-direction.d.ts +21 -1
  304. package/dist/types/components/i18n/locale-selector.d.ts +45 -0
  305. package/dist/types/components/i18n/make-i18nprovider.d.ts +42 -0
  306. package/dist/types/components/json-schema/schema-types.d.ts +133 -0
  307. package/dist/types/components/json-structure/controls/control-utils.d.ts +19 -0
  308. package/dist/types/components/json-structure/controls/deprecation-utils.d.ts +2 -3
  309. package/dist/types/components/json-structure/controls/index.d.ts +1 -0
  310. package/dist/types/components/json-structure/structure-types.d.ts +473 -19
  311. package/dist/types/components/layout/accordion.d.ts +77 -0
  312. package/dist/types/components/layout/action-card.d.ts +90 -2
  313. package/dist/types/components/layout/app-shell.d.ts +76 -0
  314. package/dist/types/components/layout/card.d.ts +27 -0
  315. package/dist/types/components/layout/center.d.ts +39 -0
  316. package/dist/types/components/layout/collapse.d.ts +28 -0
  317. package/dist/types/components/layout/divider.d.ts +84 -0
  318. package/dist/types/components/layout/group.d.ts +15 -0
  319. package/dist/types/components/layout/index.d.ts +2 -0
  320. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +105 -0
  321. package/dist/types/components/layout/scrollable-panel.d.ts +54 -0
  322. package/dist/types/components/layout/sink.d.ts +46 -0
  323. package/dist/types/components/layout/stack.d.ts +16 -0
  324. package/dist/types/components/layout/with-breakpoint.d.ts +194 -0
  325. package/dist/types/components/lexical/bare-editor.d.ts +29 -0
  326. package/dist/types/components/lexical/code/index.d.ts +1 -0
  327. package/dist/types/components/lexical/code/language-selector.d.ts +13 -0
  328. package/dist/types/components/lexical/contextual-editor.d.ts +22 -0
  329. package/dist/types/components/lexical/docked-editor.d.ts +23 -0
  330. package/dist/types/components/lexical/floating/block-handle.d.ts +16 -0
  331. package/dist/types/components/lexical/floating/floating-toolbar.d.ts +12 -0
  332. package/dist/types/components/lexical/floating/index.d.ts +6 -0
  333. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +20 -0
  334. package/dist/types/components/lexical/index.d.ts +8 -0
  335. package/dist/types/components/lexical/lexical-editor-input.d.ts +30 -0
  336. package/dist/types/components/lexical/table/index.d.ts +1 -0
  337. package/dist/types/components/lexical/table/table-controls.d.ts +12 -0
  338. package/dist/types/components/lexical/toolbar/index.d.ts +6 -0
  339. package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +12 -0
  340. package/dist/types/components/lexical/toolbar/toolbar-button.d.ts +1 -0
  341. package/dist/types/components/lexical/toolbar/toolbar-group.d.ts +1 -0
  342. package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +32 -0
  343. package/dist/types/components/misc/empty-state.d.ts +86 -0
  344. package/dist/types/components/misc/expando.d.ts +81 -0
  345. package/dist/types/components/misc/index.d.ts +2 -1
  346. package/dist/types/components/misc/link-portal.d.ts +40 -2
  347. package/dist/types/components/misc/notice.d.ts +93 -0
  348. package/dist/types/components/misc/notification-panel.d.ts +21 -0
  349. package/dist/types/components/misc/notification-provider.d.ts +141 -0
  350. package/dist/types/components/misc/notification.d.ts +93 -0
  351. package/dist/types/components/misc/style-portal.d.ts +31 -1
  352. package/dist/types/components/monaco/monaco-editor-input.d.ts +59 -2
  353. package/dist/types/components/navigation/breadcrumbs.d.ts +96 -0
  354. package/dist/types/components/navigation/flyout.d.ts +118 -16
  355. package/dist/types/components/navigation/index.d.ts +3 -0
  356. package/dist/types/components/navigation/link/link.d.ts +100 -0
  357. package/dist/types/components/navigation/menu.d.ts +155 -35
  358. package/dist/types/components/navigation/pagination.d.ts +82 -0
  359. package/dist/types/components/navigation/sidebar/sidebar-group.d.ts +42 -0
  360. package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +101 -0
  361. package/dist/types/components/navigation/sidebar/sidebar-separator.d.ts +17 -0
  362. package/dist/types/components/navigation/sidebar/sidebar.d.ts +57 -0
  363. package/dist/types/components/navigation/tabs/tabs.d.ts +3 -2
  364. package/dist/types/components/navigation/toolbar/toolbar.d.ts +125 -0
  365. package/dist/types/components/navigation/tree-view.d.ts +95 -0
  366. package/dist/types/components/overlay/announcement-bar.d.ts +41 -2
  367. package/dist/types/components/overlay/block-command-palette.d.ts +25 -0
  368. package/dist/types/components/overlay/command-palette.d.ts +17 -0
  369. package/dist/types/components/overlay/dialogs.d.ts +213 -0
  370. package/dist/types/components/overlay/drawer.d.ts +76 -12
  371. package/dist/types/components/overlay/index.d.ts +4 -0
  372. package/dist/types/components/overlay/lightbox.d.ts +53 -10
  373. package/dist/types/components/overlay/modal.d.ts +113 -13
  374. package/dist/types/components/overlay/overlay.d.ts +61 -0
  375. package/dist/types/components/overlay/popover.d.ts +100 -0
  376. package/dist/types/components/overlay/ribbon.d.ts +58 -9
  377. package/dist/types/components/prosemirror/etoolbar-button.d.ts +11 -11
  378. package/dist/types/components/prosemirror/etoolbar-group.d.ts +11 -4
  379. package/dist/types/components/prosemirror/link-control.d.ts +43 -2
  380. package/dist/types/components/prosemirror/prosemirror-toolbar.d.ts +46 -6
  381. package/dist/types/components/prosemirror/utils.d.ts +113 -1
  382. package/dist/types/components/theme/style-utils.d.ts +95 -0
  383. package/dist/types/components/theme/theme.d.ts +39 -0
  384. package/dist/types/components/theme/types.d.ts +133 -1
  385. package/dist/types/components/typography/index.d.ts +1 -0
  386. package/dist/types/components/typography/kbd.d.ts +48 -0
  387. package/dist/types/components/typography/label.d.ts +45 -0
  388. package/dist/types/index.d.ts +14 -0
  389. package/dist/types/json-schema/index.d.ts +13 -0
  390. package/dist/types/json-schema-display/index.d.ts +12 -0
  391. package/dist/types/json-structure/index.d.ts +9 -4
  392. package/dist/types/lexical/commands/index.d.ts +17 -0
  393. package/dist/types/lexical/headless.d.ts +39 -0
  394. package/dist/types/lexical/horizontal-rule-node.d.ts +20 -0
  395. package/dist/types/lexical/index.d.ts +20 -0
  396. package/dist/types/lexical/lazy-loader.d.ts +35 -0
  397. package/dist/types/lexical/nodes.d.ts +29 -0
  398. package/dist/types/lexical/plugins/auto-link.d.ts +7 -0
  399. package/dist/types/lexical/plugins/clipboard.d.ts +11 -0
  400. package/dist/types/lexical/plugins/code-shiki.d.ts +11 -0
  401. package/dist/types/lexical/plugins/code.d.ts +7 -0
  402. package/dist/types/lexical/plugins/dragon.d.ts +6 -0
  403. package/dist/types/lexical/plugins/file-io.d.ts +10 -0
  404. package/dist/types/lexical/plugins/hashtag.d.ts +7 -0
  405. package/dist/types/lexical/plugins/history.d.ts +7 -0
  406. package/dist/types/lexical/plugins/horizontal-rule.d.ts +12 -0
  407. package/dist/types/lexical/plugins/html-io.d.ts +9 -0
  408. package/dist/types/lexical/plugins/index.d.ts +24 -0
  409. package/dist/types/lexical/plugins/link.d.ts +6 -0
  410. package/dist/types/lexical/plugins/list.d.ts +6 -0
  411. package/dist/types/lexical/plugins/mark.d.ts +15 -0
  412. package/dist/types/lexical/plugins/markdown-io.d.ts +13 -0
  413. package/dist/types/lexical/plugins/offset.d.ts +6 -0
  414. package/dist/types/lexical/plugins/overflow.d.ts +7 -0
  415. package/dist/types/lexical/plugins/plain-text.d.ts +6 -0
  416. package/dist/types/lexical/plugins/rich-text.d.ts +6 -0
  417. package/dist/types/lexical/plugins/selection.d.ts +6 -0
  418. package/dist/types/lexical/plugins/slash-commands.d.ts +26 -0
  419. package/dist/types/lexical/plugins/table.d.ts +11 -0
  420. package/dist/types/lexical/plugins/text.d.ts +13 -0
  421. package/dist/types/lexical/plugins/yjs.d.ts +9 -0
  422. package/dist/types/lexical/styles-url.d.ts +2 -0
  423. package/dist/types/lexical/styles.d.ts +2 -0
  424. package/dist/types/lexical/types.d.ts +634 -0
  425. package/dist/types/lexical-i18n/default.d.ts +92 -0
  426. package/dist/types/lexical-i18n/index.d.ts +21 -0
  427. package/dist/types/lexical-i18n/locales/ar.d.ts +91 -0
  428. package/dist/types/lexical-i18n/locales/de.d.ts +91 -0
  429. package/dist/types/lexical-i18n/locales/en.d.ts +91 -0
  430. package/dist/types/lexical-i18n/locales/es.d.ts +91 -0
  431. package/dist/types/lexical-i18n/locales/fa.d.ts +91 -0
  432. package/dist/types/lexical-i18n/locales/fr.d.ts +91 -0
  433. package/dist/types/lexical-i18n/locales/he.d.ts +91 -0
  434. package/dist/types/lexical-i18n/locales/hi.d.ts +91 -0
  435. package/dist/types/lexical-i18n/locales/it.d.ts +91 -0
  436. package/dist/types/lexical-i18n/locales/ja.d.ts +91 -0
  437. package/dist/types/lexical-i18n/locales/ko.d.ts +91 -0
  438. package/dist/types/lexical-i18n/locales/nl.d.ts +91 -0
  439. package/dist/types/lexical-i18n/locales/pl.d.ts +91 -0
  440. package/dist/types/lexical-i18n/locales/pt.d.ts +91 -0
  441. package/dist/types/lexical-i18n/locales/ru.d.ts +91 -0
  442. package/dist/types/lexical-i18n/locales/tr.d.ts +91 -0
  443. package/dist/types/lexical-i18n/locales/ur.d.ts +91 -0
  444. package/dist/types/lexical-i18n/locales/vi.d.ts +91 -0
  445. package/dist/types/lexical-i18n/locales/zh.d.ts +91 -0
  446. package/dist/types/lexical-i18n/translations.d.ts +21 -0
  447. package/dist/types/markdown/index.d.ts +13 -0
  448. package/dist/types/monaco/index.d.ts +17 -0
  449. package/dist/types/monaco/lazy-loader.d.ts +79 -0
  450. package/dist/types/monaco/styles-url.d.ts +11 -0
  451. package/dist/types/monaco/styles.d.ts +11 -0
  452. package/dist/types/monaco/types.d.ts +47 -0
  453. package/dist/types/prosemirror/index.d.ts +12 -0
  454. package/dist/types/prosemirror/styles-url.d.ts +11 -0
  455. package/dist/types/prosemirror/styles.d.ts +10 -0
  456. package/dist/types/tailwind/google-fonts.d.ts +15 -0
  457. package/dist/types/tailwind/index.d.ts +13 -0
  458. package/dist/types/tailwind/preset.d.ts +111 -0
  459. package/dist/types/tailwind/vite-plugin.d.ts +39 -4
  460. package/dist/types/tokens/base-colors.d.ts +21 -0
  461. package/dist/types/tokens/breakpoints.d.ts +67 -0
  462. package/dist/types/tokens/colors.d.ts +213 -4
  463. package/dist/types/tokens/motion.d.ts +142 -3
  464. package/dist/types/tokens/radius.d.ts +99 -0
  465. package/dist/types/tokens/shadows.d.ts +85 -0
  466. package/dist/types/tokens/spacing.d.ts +111 -0
  467. package/dist/types/tokens/text-shadows.d.ts +82 -0
  468. package/dist/types/tokens/typography.d.ts +313 -25
  469. package/dist/types/tokens/z-index.d.ts +62 -0
  470. package/dist/types/utils/color.d.ts +297 -28
  471. package/dist/types/utils/download.d.ts +92 -0
  472. package/dist/types/utils/focus-trap.d.ts +67 -11
  473. package/dist/types/utils/format-file-size.d.ts +44 -0
  474. package/dist/ur-B6yB2JQ7.cjs +1 -0
  475. package/dist/ur-CvGP14xo.cjs +1 -0
  476. package/dist/{ur-Bg9eX81v.js → ur-Deo004ME.js} +16 -1
  477. package/dist/{ur-B69X-xNs.js → ur-DkIYJxsF.js} +82 -8
  478. package/dist/use-animated-toggle-89fKlXxy.js +195 -0
  479. package/dist/use-animated-toggle-DrqK7nUS.cjs +1 -0
  480. package/dist/{use-form-CgZyrACX.js → use-form-BurzbPVV.js} +271 -88
  481. package/dist/use-form-Uree6QFy.cjs +2 -0
  482. package/dist/vi-BYk1rJDv.js +53 -0
  483. package/dist/vi-DKw6PBja.js +175 -0
  484. package/dist/vi-Df4WZe9y.cjs +1 -0
  485. package/dist/vi-DneuUbkq.cjs +1 -0
  486. package/dist/{widget-customization-DRA7E9Zf.js → widget-customization-0is7oTeP.js} +233 -231
  487. package/dist/widget-customization-B-LmxkPE.cjs +1 -0
  488. package/dist/zh-C5a9NGFW.cjs +1 -0
  489. package/dist/zh-CaKHseXJ.js +175 -0
  490. package/dist/zh-DFHuW_5g.cjs +1 -0
  491. package/dist/{zh-BIykcEu9.js → zh-DR7QaM65.js} +16 -1
  492. package/package.json +48 -3
  493. package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
  494. package/dist/_commonjsHelpers-DwGv2jUC.cjs +0 -1
  495. package/dist/ar-BsUm-TCn.cjs +0 -1
  496. package/dist/ar-D7CXDmVZ.cjs +0 -1
  497. package/dist/ar-nOSKXpIW.js +0 -101
  498. package/dist/de-BUFLEyKr.cjs +0 -1
  499. package/dist/de-WzsOu9Gn.cjs +0 -1
  500. package/dist/deep-merge-CiOwVWn8.js +0 -1619
  501. package/dist/deep-merge-DxZqCkE5.cjs +0 -1
  502. package/dist/duration-input-Dg5SX3lM.cjs +0 -1
  503. package/dist/es-CDqqzpCw.js +0 -101
  504. package/dist/es-Ds2Xf3wV.cjs +0 -1
  505. package/dist/fa-C7tE_hR3.js +0 -101
  506. package/dist/fa-Ct1UtDB7.cjs +0 -1
  507. package/dist/fr-Cdyopuz3.cjs +0 -1
  508. package/dist/fr-CzAkRFed.cjs +0 -1
  509. package/dist/he-D2oUloCJ.js +0 -101
  510. package/dist/he-DarDNPn0.cjs +0 -1
  511. package/dist/he-DlXALrK7.cjs +0 -1
  512. package/dist/hi-3dBhLwDs.cjs +0 -1
  513. package/dist/hi-D5ZlZoQq.js +0 -101
  514. package/dist/hi-tATwsXJ6.cjs +0 -1
  515. package/dist/index-DE2tjivA.cjs +0 -1
  516. package/dist/it-BmFag7j0.cjs +0 -1
  517. package/dist/it-DohtcWi9.cjs +0 -1
  518. package/dist/ja-Dj-bAKLf.cjs +0 -1
  519. package/dist/ja-eyTArrgS.cjs +0 -1
  520. package/dist/ko-BFLCDMMs.cjs +0 -1
  521. package/dist/ko-BomUE-yQ.cjs +0 -1
  522. package/dist/ko-Ch0jFsBV.js +0 -101
  523. package/dist/modal-D2xE47kr.cjs +0 -1
  524. package/dist/modal-hkQD1bqZ.js +0 -655
  525. package/dist/nl-Bx2ACvr4.cjs +0 -1
  526. package/dist/nl-NuTdZO1s.js +0 -102
  527. package/dist/notice-C0SmlheE.cjs +0 -1
  528. package/dist/pl-QHl6sl8f.cjs +0 -1
  529. package/dist/pt-BETjHZrL.js +0 -101
  530. package/dist/pt-DZGw2Z-1.cjs +0 -1
  531. package/dist/pt-oBMmVYcu.cjs +0 -1
  532. package/dist/ru-CtxMmoa6.cjs +0 -1
  533. package/dist/ru-D03IuLqh.cjs +0 -1
  534. package/dist/text-input-CByq5OIo.cjs +0 -1
  535. package/dist/text-input-CFJntP7G.js +0 -287
  536. package/dist/toolbar-TPWYzoiF.cjs +0 -1
  537. package/dist/tr-B_-_1wua.cjs +0 -1
  538. package/dist/translations-B4-Zd2LM.cjs +0 -1
  539. package/dist/translations-D62qqNV9.cjs +0 -1
  540. package/dist/translations-DPr6c05Z.js +0 -67
  541. package/dist/ur-DvqAg9gW.cjs +0 -1
  542. package/dist/ur-DyUSmIbo.cjs +0 -1
  543. package/dist/use-form-JjeKCINk.cjs +0 -2
  544. package/dist/vi-BdzxA60L.js +0 -101
  545. package/dist/vi-CBmPaHxg.cjs +0 -1
  546. package/dist/vi-D5R3YcU0.cjs +0 -1
  547. package/dist/vi-DhdsHHf_.js +0 -38
  548. package/dist/widget-customization-G-QLB1rw.cjs +0 -1
  549. package/dist/zh-CCGXcj5r.cjs +0 -1
  550. package/dist/zh-Cb1b8uik.cjs +0 -1
  551. package/dist/zh-Dn1UJiZa.js +0 -101
@@ -1,156 +1,457 @@
1
+ /**
2
+ * Authentication Component Types
3
+ *
4
+ * TypeScript interfaces and types for the BeatUI authentication suite.
5
+ * These types define the contracts for all auth-related UI components,
6
+ * including sign-in, sign-up, reset password forms, social login,
7
+ * and password validation.
8
+ *
9
+ * @module auth/types
10
+ */
1
11
  import { TNode, Value } from '@tempots/dom';
2
12
  import { ControlSize } from '../theme';
3
13
  import { ThemeColorName } from '../../tokens';
4
14
  import { AuthProviderInfo } from './social-login-button';
15
+ /**
16
+ * Supported social authentication provider names.
17
+ *
18
+ * Represents all OAuth/social login providers that BeatUI auth components
19
+ * can render buttons for. Each provider name maps to display information
20
+ * (icon, color, label) in the social login button components.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const provider: AuthProviderName = 'google'
25
+ * ```
26
+ */
5
27
  export type AuthProviderName = 'google' | 'github' | 'apple' | 'facebook' | 'twitter' | 'x' | 'microsoft' | 'discord' | 'linkedin' | 'instagram' | 'tiktok' | 'snapchat' | 'reddit' | 'pinterest' | 'twitch' | 'steam' | 'epic' | 'playstation' | 'xbox' | 'whatsapp' | 'wechat' | 'amazon' | 'yahoo' | 'paypal';
28
+ /**
29
+ * The current mode of the authentication container.
30
+ *
31
+ * Determines which form is displayed: sign-in, sign-up, or reset password.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const mode: AuthMode = 'signin'
36
+ * ```
37
+ */
6
38
  export type AuthMode = 'signin' | 'signup' | 'reset-password';
39
+ /**
40
+ * The OAuth flow type for social login.
41
+ *
42
+ * - `'redirect'` - Navigates the user to the provider's login page.
43
+ * - `'popup'` - Opens the provider's login page in a popup window.
44
+ */
7
45
  export type SocialLoginFlow = 'redirect' | 'popup';
46
+ /**
47
+ * Password strength levels used by the password strength indicator.
48
+ *
49
+ * Computed based on how many configured password rules are satisfied.
50
+ */
8
51
  export type PasswordStrength = 'weak' | 'fair' | 'good' | 'strong';
52
+ /**
53
+ * Data submitted by the sign-in form.
54
+ */
9
55
  export interface SignInData {
56
+ /** The user's email address. */
10
57
  email: string;
58
+ /** The user's password. */
11
59
  password: string;
12
60
  }
61
+ /**
62
+ * Alias for {@link SignInData}, used as the form data type for the sign-in form.
63
+ */
13
64
  export type SignInFormData = SignInData;
65
+ /**
66
+ * Data submitted by the sign-up form (without confirm password).
67
+ *
68
+ * This is the cleaned data passed to the `onSignUp` callback, after
69
+ * the confirm password field has been validated and removed.
70
+ */
14
71
  export interface SignUpData {
72
+ /** The user's display name. */
15
73
  name?: string;
74
+ /** The user's email address. */
16
75
  email: string;
76
+ /** The user's chosen password. */
17
77
  password: string;
78
+ /** Whether the user accepted the terms and conditions. */
18
79
  acceptTerms: boolean;
19
80
  }
81
+ /**
82
+ * Internal form data for the sign-up form, including the confirm password field.
83
+ *
84
+ * Extends {@link SignUpData} with the `confirmPassword` field used for
85
+ * client-side validation before submission.
86
+ */
20
87
  export interface SignUpFormData extends SignUpData {
88
+ /** The password confirmation value, validated to match `password`. */
21
89
  confirmPassword: string;
22
90
  }
91
+ /**
92
+ * Data submitted by the reset password form.
93
+ */
23
94
  export interface ResetPasswordData {
95
+ /** The email address to send the password reset link to. */
24
96
  email: string;
25
97
  }
98
+ /**
99
+ * Configuration for a social login provider.
100
+ *
101
+ * @typeParam T - The type of the success result returned by the OAuth flow.
102
+ */
26
103
  export interface SocialProviderConfig<T> {
104
+ /** The name of the social provider (e.g., `'google'`, `'github'`). */
27
105
  provider: AuthProviderName;
106
+ /** The OAuth client ID for this provider. */
28
107
  clientId?: string;
108
+ /** The OAuth flow type: `'redirect'` or `'popup'`. */
29
109
  flow?: SocialLoginFlow;
110
+ /** OAuth scopes to request from the provider. */
30
111
  scopes?: string[];
112
+ /** Additional query parameters to include in the OAuth URL. */
31
113
  customParams?: Record<string, string>;
114
+ /** Callback invoked on successful authentication. */
32
115
  onSuccess?: (result: T) => Promise<void> | void;
116
+ /** Callback invoked when authentication fails. */
33
117
  onError?: (error: Error) => Promise<void> | void;
34
118
  }
119
+ /**
120
+ * Password validation rules used by the sign-up form and password strength indicator.
121
+ *
122
+ * Each rule is optional. When enabled, it adds a corresponding validation
123
+ * check to the password schema and a requirement line to the strength indicator.
124
+ *
125
+ * @example
126
+ * ```ts
127
+ * const rules: PasswordRules = {
128
+ * minLength: 8,
129
+ * requireUppercase: true,
130
+ * requireLowercase: true,
131
+ * requireNumbers: true,
132
+ * requireSymbols: false,
133
+ * }
134
+ * ```
135
+ */
35
136
  export interface PasswordRules {
137
+ /** Minimum number of characters required. @default 8 */
36
138
  minLength?: number;
139
+ /** Whether at least one uppercase letter is required. @default true */
37
140
  requireUppercase?: boolean;
141
+ /** Whether at least one lowercase letter is required. @default true */
38
142
  requireLowercase?: boolean;
143
+ /** Whether at least one digit is required. @default true */
39
144
  requireNumbers?: boolean;
145
+ /** Whether at least one special character is required. @default false */
40
146
  requireSymbols?: boolean;
147
+ /**
148
+ * Custom validation function for additional password checks.
149
+ * @param password - The password to validate.
150
+ * @returns An error message string if invalid, or `null` if valid.
151
+ */
41
152
  customValidation?: (password: string) => string | null;
42
153
  }
154
+ /**
155
+ * Customizable label overrides for the {@link AuthContainer} component.
156
+ *
157
+ * All labels are optional reactive `Value<string>` values. When not provided,
158
+ * the component falls back to the current locale's i18n translations.
159
+ */
43
160
  export interface AuthContainerLabels {
161
+ /** Title displayed on the sign-in form. */
44
162
  signInTitle?: Value<string>;
163
+ /** Label for the email input field. */
45
164
  emailLabel?: Value<string>;
165
+ /** Label for the password input field. */
46
166
  passwordLabel?: Value<string>;
167
+ /** Label for the "remember me" checkbox. */
47
168
  rememberMeLabel?: Value<string>;
169
+ /** Text for the sign-in submit button. */
48
170
  signInButton?: Value<string>;
171
+ /** Text for the "forgot password?" link. */
49
172
  forgotPasswordLink?: Value<string>;
173
+ /** Text for the "don't have an account?" link. */
50
174
  noAccountLink?: Value<string>;
175
+ /** Label for the "accept terms" checkbox. */
51
176
  acceptTermsLabel?: Value<string>;
177
+ /** Label for the confirm password input field. */
52
178
  confirmPasswordLabel?: Value<string>;
179
+ /** Title displayed on the sign-up form. */
53
180
  signUpTitle?: Value<string>;
181
+ /** Text for the sign-up submit button. */
54
182
  signUpButton?: Value<string>;
183
+ /** Label for the name input field. */
55
184
  nameLabel?: Value<string>;
185
+ /** Text for the "already have an account?" link. */
56
186
  hasAccountLink?: Value<string>;
187
+ /** Title displayed on the reset password form. */
57
188
  resetPasswordTitle?: Value<string>;
189
+ /** Text for the reset password submit button. */
58
190
  resetPasswordButton?: Value<string>;
191
+ /** Description text shown on the reset password form. */
59
192
  resetPasswordDescription?: Value<string>;
193
+ /** Text for the "back to sign in" link. */
60
194
  backToSignInLink?: Value<string>;
61
195
  }
196
+ /**
197
+ * Options for the {@link AuthContainer} component.
198
+ *
199
+ * The AuthContainer is the main authentication UI that switches between
200
+ * sign-in, sign-up, and reset-password modes. It coordinates social login
201
+ * buttons, form fields, and mode navigation.
202
+ *
203
+ * @example
204
+ * ```ts
205
+ * AuthContainer({
206
+ * mode: 'signin',
207
+ * socialProviders: [{ provider: 'google' }, { provider: 'github' }],
208
+ * onSignIn: async (data) => { /* handle sign in *\/ return null },
209
+ * onSignUp: async (data) => { /* handle sign up *\/ return null },
210
+ * showRememberMe: true,
211
+ * })
212
+ * ```
213
+ */
62
214
  export interface AuthContainerOptions {
215
+ /** The initial or controlled authentication mode. @default 'signin' */
63
216
  mode?: Value<AuthMode>;
217
+ /** Additional CSS class names to apply to the container. */
64
218
  className?: Value<string>;
219
+ /** Social login providers to display as buttons above the form. */
65
220
  socialProviders?: AuthProviderInfo[];
221
+ /** Initial value for the name field on the sign-up form. */
66
222
  initialName?: string;
223
+ /** Initial value for the email field on the sign-up form. */
67
224
  initialEmail?: string;
225
+ /** Password validation rules applied to sign-in and sign-up forms. */
68
226
  passwordRules?: PasswordRules;
227
+ /** Whether to show the "remember me" checkbox on the sign-in form. */
69
228
  showRememberMe?: Value<boolean>;
229
+ /** Whether to show the "or" divider between social buttons and the form. */
70
230
  showSocialDivider?: Value<boolean>;
231
+ /** Custom label overrides for all form text. */
71
232
  labels?: AuthContainerLabels;
233
+ /**
234
+ * Callback invoked when the sign-in form is submitted.
235
+ * @param data - The sign-in form data.
236
+ * @returns An error message string to display, or `null` on success.
237
+ */
72
238
  onSignIn?: (data: SignInData) => Promise<string | null>;
239
+ /**
240
+ * Callback invoked when the sign-up form is submitted.
241
+ * @param data - The sign-up form data.
242
+ * @returns An error message string to display, or `null` on success.
243
+ */
73
244
  onSignUp?: (data: SignUpData) => Promise<string | null>;
245
+ /**
246
+ * Callback invoked when the reset password form is submitted.
247
+ * @param data - The reset password form data.
248
+ * @returns An error message string to display, or `null` on success.
249
+ */
74
250
  onResetPassword?: (data: ResetPasswordData) => Promise<string | null>;
251
+ /**
252
+ * Callback invoked when the user switches between auth modes.
253
+ * @param mode - The new authentication mode.
254
+ */
75
255
  onModeChange?: (mode: AuthMode) => void;
256
+ /**
257
+ * Callback invoked when a social login button is clicked.
258
+ * @param provider - The name of the social provider.
259
+ */
260
+ onSocialLogin?: (provider: AuthProviderName) => Promise<void>;
261
+ /** Whether to show the password strength indicator on the sign-up form. */
76
262
  showPasswordStrength?: Value<boolean>;
263
+ /** Whether to show the "already have an account?" link on the sign-up form. */
77
264
  showAlreadyHaveAccountLink?: boolean;
265
+ /** Whether to show the name field on the sign-up form. */
78
266
  showNameField?: boolean;
267
+ /** Whether to show the confirm password field on the sign-up form. */
79
268
  showConfirmPassword?: Value<boolean>;
269
+ /** Whether to show the "accept terms and conditions" checkbox on the sign-up form. */
80
270
  showAcceptTermsAndConditions?: Value<boolean>;
271
+ /** Custom terms and conditions content to display next to the checkbox. */
81
272
  termsAndConditions?: TNode;
273
+ /** Whether to render the styled container wrapper. @default true */
82
274
  showContainer?: Value<boolean>;
83
275
  }
276
+ /**
277
+ * Options for the {@link SocialProviders} component, which renders a list of social login buttons.
278
+ */
84
279
  export interface SocialProvidersOptions {
280
+ /** The list of social login providers to display. */
85
281
  providers: AuthProviderInfo[];
282
+ /**
283
+ * Callback invoked when a social login button is clicked.
284
+ * @param provider - The name of the social provider that was clicked.
285
+ */
286
+ onSocialLogin?: (provider: AuthProviderName) => Promise<void>;
86
287
  }
288
+ /**
289
+ * Customizable label overrides for the {@link SignInForm} component.
290
+ */
87
291
  export interface SignInFormLabels {
292
+ /** Label for the email input field. */
88
293
  emailLabel?: Value<string>;
294
+ /** Label for the password input field. */
89
295
  passwordLabel?: Value<string>;
296
+ /** Label for the "remember me" checkbox. */
90
297
  rememberMeLabel?: Value<string>;
298
+ /** Text for the sign-in submit button. */
91
299
  signInButton?: Value<string>;
300
+ /** Text for the "forgot password?" link. */
92
301
  forgotPasswordLink?: Value<string>;
302
+ /** Text for the "don't have an account?" link. */
93
303
  noAccountLink?: Value<string>;
94
304
  }
305
+ /**
306
+ * Options for the {@link SignInForm} component.
307
+ */
95
308
  export interface SignInFormOptions {
309
+ /**
310
+ * Callback invoked when the sign-in form is submitted.
311
+ * @param data - The sign-in form data.
312
+ * @returns An error message string to display, or `null` on success.
313
+ */
96
314
  onSignIn?: (data: SignInData) => Promise<string | null>;
315
+ /** Password validation rules for the password field. */
97
316
  passwordRules?: PasswordRules;
317
+ /** Custom label overrides for form text. */
98
318
  labels?: SignInFormLabels;
319
+ /** Whether to show the "remember me" checkbox. */
99
320
  showRememberMe?: Value<boolean>;
100
321
  }
322
+ /**
323
+ * Customizable label overrides for the {@link SignUpForm} component.
324
+ */
101
325
  export interface SignUpFormLabels {
326
+ /** Label for the name input field. */
102
327
  nameLabel?: Value<string>;
328
+ /** Label for the email input field. */
103
329
  emailLabel?: Value<string>;
330
+ /** Label for the password input field. */
104
331
  passwordLabel?: Value<string>;
332
+ /** Label for the confirm password input field. */
105
333
  confirmPasswordLabel?: Value<string>;
334
+ /** Label for the "accept terms" checkbox. */
106
335
  acceptTermsLabel?: Value<string>;
336
+ /** Text for the sign-up submit button. */
107
337
  signUpButton?: Value<string>;
338
+ /** Text for the "already have an account?" link. */
108
339
  hasAccountLink?: Value<string>;
109
340
  }
341
+ /**
342
+ * Options for the {@link SignUpForm} component.
343
+ */
110
344
  export interface SignUpFormOptions {
345
+ /** Initial value for the name field. */
111
346
  initialName?: string;
347
+ /** Initial value for the email field. */
112
348
  initialEmail?: string;
349
+ /** Password validation rules for the password and confirm password fields. */
113
350
  passwordRules?: PasswordRules;
351
+ /** Custom label overrides for form text. */
114
352
  labels?: SignUpFormLabels;
353
+ /**
354
+ * Callback invoked when the sign-up form is submitted.
355
+ * @param data - The sign-up form data (without confirmPassword).
356
+ * @returns An error message string to display, or `null` on success.
357
+ */
115
358
  onSignUp?: (data: SignUpData) => Promise<string | null>;
359
+ /** Whether to show the password strength indicator. */
116
360
  showPasswordStrength?: Value<boolean>;
361
+ /** Whether to show the "already have an account?" link. */
117
362
  showAlreadyHaveAccountLink?: boolean;
363
+ /** Whether to show the name field. @default true */
118
364
  showNameField?: boolean;
365
+ /** Whether to show the confirm password field. */
119
366
  showConfirmPassword?: Value<boolean>;
367
+ /** Whether to show the "accept terms and conditions" checkbox. */
120
368
  showAcceptTermsAndConditions?: Value<boolean>;
369
+ /** Custom terms and conditions content to display next to the checkbox. */
121
370
  termsAndConditions?: TNode;
122
371
  }
372
+ /**
373
+ * Customizable label overrides for the {@link ResetPasswordForm} component.
374
+ */
123
375
  export interface ResetPasswordFormLabels {
376
+ /** Text for the reset password submit button. */
124
377
  resetPasswordButton?: Value<string>;
378
+ /** Description text shown above the email field. */
125
379
  resetPasswordDescription?: Value<string>;
380
+ /** Label for the email input field. */
126
381
  emailLabel?: Value<string>;
382
+ /** Text for the "back to sign in" link. */
127
383
  backToSignInLink?: Value<string>;
128
384
  }
385
+ /**
386
+ * Options for the {@link ResetPasswordForm} component.
387
+ */
129
388
  export interface ResetPasswordFormOptions {
389
+ /**
390
+ * Callback invoked when the reset password form is submitted.
391
+ * @param data - The reset password form data containing the email.
392
+ * @returns An error message string to display, or `null` on success.
393
+ */
130
394
  onResetPassword?: (data: ResetPasswordData) => Promise<string | null>;
395
+ /** Custom label overrides for form text. */
131
396
  labels?: ResetPasswordFormLabels;
132
397
  }
398
+ /**
399
+ * Options for the {@link SocialLoginButton} component.
400
+ *
401
+ * Renders a branded button for a specific social authentication provider.
402
+ */
133
403
  export interface SocialLoginButtonOptions {
404
+ /** The social provider this button represents. */
134
405
  provider: Value<AuthProviderName>;
406
+ /** Click handler invoked when the button is pressed. */
135
407
  onClick?: () => Promise<void>;
408
+ /** Whether the button is disabled. */
136
409
  disabled?: Value<boolean>;
410
+ /** The size of the button. @default 'md' */
137
411
  size?: Value<ControlSize>;
412
+ /** The OAuth flow type: `'redirect'` or `'popup'`. */
138
413
  flow?: Value<'redirect' | 'popup' | undefined>;
414
+ /** The display name of the provider (e.g., `'Google'`). */
139
415
  name: Value<string>;
416
+ /** The icon identifier for the provider (e.g., `'logos:google-icon'`). */
140
417
  icon: Value<string>;
418
+ /** The theme color to use for the button. */
141
419
  color: Value<ThemeColorName>;
420
+ /** Optional label overrides for the button text. */
142
421
  labels?: {
422
+ /**
423
+ * Function that formats the button label given a provider name.
424
+ * @default (provider) => `Continue with ${provider}`
425
+ */
143
426
  continueWithProvider?: Value<(provider: string) => string>;
144
427
  };
145
428
  }
429
+ /**
430
+ * Options for the {@link PasswordStrengthIndicator} component.
431
+ *
432
+ * Displays a visual bar, label, and requirements checklist for password strength.
433
+ */
146
434
  export interface PasswordStrengthIndicatorOptions {
435
+ /** Reactive password value to evaluate strength for. */
147
436
  password: Value<string>;
437
+ /** Password rules to evaluate against. Falls back to default rules if not provided. */
148
438
  rules?: PasswordRules;
439
+ /** Whether to show the strength label text (e.g., "Weak", "Strong"). @default true */
149
440
  showLabel?: boolean;
441
+ /** Additional CSS class names to apply to the indicator container. */
150
442
  className?: Value<string>;
151
443
  }
444
+ /**
445
+ * Display information for a social authentication provider.
446
+ *
447
+ * Contains the human-readable name, icon identifier, and theme color
448
+ * used to render the provider's social login button.
449
+ */
152
450
  export interface ProviderInfo {
451
+ /** The human-readable display name (e.g., `'Google'`). */
153
452
  name: string;
453
+ /** The icon identifier compatible with the Icon component (e.g., `'logos:google-icon'`). */
154
454
  icon: string;
455
+ /** The theme color name used for the button styling. */
155
456
  color: ThemeColorName;
156
457
  }
@@ -1,20 +1,218 @@
1
+ /**
2
+ * Authentication Utility Functions
3
+ *
4
+ * Helper functions and constants for authentication components, including
5
+ * provider display metadata, URL construction, popup handling, error formatting,
6
+ * and form validation utilities.
7
+ *
8
+ * @module auth/utils
9
+ */
1
10
  import { AuthProviderName, PasswordRules } from './types';
11
+ /**
12
+ * Mapping of every supported social provider name to its display metadata.
13
+ *
14
+ * Contains the human-readable name, Iconify icon identifier, and hex brand color
15
+ * for each {@link AuthProviderName}.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const info = providerInfo['google']
20
+ * // { name: 'Google', icon: 'logos:google-icon', color: '#4285f4' }
21
+ * ```
22
+ */
2
23
  export declare const providerInfo: Record<AuthProviderName, {
3
24
  name: string;
4
25
  icon: string;
5
26
  color: string;
6
27
  }>;
28
+ /**
29
+ * Returns the human-readable display name for a social provider.
30
+ *
31
+ * @param provider - The provider identifier.
32
+ * @returns The formatted provider name (e.g., `'Google'`), or the raw identifier if not found.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * formatProviderName('github') // 'GitHub'
37
+ * ```
38
+ */
7
39
  export declare function formatProviderName(provider: AuthProviderName): string;
40
+ /**
41
+ * Returns the Iconify icon identifier for a social provider.
42
+ *
43
+ * @param provider - The provider identifier.
44
+ * @returns The icon string (e.g., `'logos:google-icon'`), or `'mdi:account'` as a fallback.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * getProviderIcon('github') // 'logos:github-icon'
49
+ * ```
50
+ */
8
51
  export declare function getProviderIcon(provider: AuthProviderName): string;
52
+ /**
53
+ * Returns the brand hex color for a social provider.
54
+ *
55
+ * @param provider - The provider identifier.
56
+ * @returns The hex color string (e.g., `'#4285f4'`), or `'#666'` as a fallback.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * getProviderColor('google') // '#4285f4'
61
+ * ```
62
+ */
9
63
  export declare function getProviderColor(provider: AuthProviderName): string;
64
+ /**
65
+ * Formats a social login button label by replacing `{provider}` in a template string.
66
+ *
67
+ * @param provider - The provider identifier.
68
+ * @param template - The template string containing `{provider}` placeholder. @default 'Continue with {provider}'
69
+ * @returns The formatted string with the provider name substituted.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * formatSocialLoginText('google') // 'Continue with Google'
74
+ * formatSocialLoginText('github', 'Sign in via {provider}') // 'Sign in via GitHub'
75
+ * ```
76
+ */
10
77
  export declare function formatSocialLoginText(provider: AuthProviderName, template?: string): string;
78
+ /**
79
+ * Default password validation rules used across auth components.
80
+ *
81
+ * Requires at least 8 characters, one uppercase letter, one lowercase letter,
82
+ * and one number. Special characters are not required by default.
83
+ */
11
84
  export declare const defaultPasswordRules: PasswordRules;
85
+ /**
86
+ * Checks whether a string matches a basic email format.
87
+ *
88
+ * Uses a simple regex for client-side validation. This is not a comprehensive
89
+ * RFC 5322 check but covers common email patterns.
90
+ *
91
+ * @param email - The string to test.
92
+ * @returns `true` if the string looks like a valid email address.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * isValidEmail('user@example.com') // true
97
+ * isValidEmail('not-an-email') // false
98
+ * ```
99
+ */
12
100
  export declare function isValidEmail(email: string): boolean;
101
+ /**
102
+ * Generates a random alphanumeric string, typically used for OAuth state parameters.
103
+ *
104
+ * Note: Uses `Math.random()`, which is not cryptographically secure. For
105
+ * production OAuth flows, consider using `crypto.getRandomValues()` instead.
106
+ *
107
+ * @param length - The length of the generated string. @default 32
108
+ * @returns A random alphanumeric string of the specified length.
109
+ *
110
+ * @example
111
+ * ```ts
112
+ * const state = generateRandomString(16) // e.g., 'aB3kPm7xNq2wLz9R'
113
+ * ```
114
+ */
13
115
  export declare function generateRandomString(length?: number): string;
116
+ /**
117
+ * Constructs an OAuth authorization URL for a social login provider.
118
+ *
119
+ * Builds a URL with query parameters for `client_id`, `redirect_uri`, `scope`,
120
+ * `state`, and `response_type`. Provider-specific base URLs and default scopes
121
+ * are built in. Custom scopes and additional query parameters can be provided.
122
+ *
123
+ * This is a basic implementation. For production use, consider using your
124
+ * auth library's built-in OAuth URL construction.
125
+ *
126
+ * @param provider - The social provider to generate the URL for.
127
+ * @param clientId - The OAuth client ID.
128
+ * @param redirectUri - The URI to redirect to after authentication.
129
+ * @param scopes - OAuth scopes to request. Defaults to provider-specific defaults if empty.
130
+ * @param customParams - Additional query parameters to include in the URL.
131
+ * @returns The fully constructed OAuth authorization URL.
132
+ * @throws {Error} If the provider is not supported.
133
+ *
134
+ * @example
135
+ * ```ts
136
+ * const url = createSocialLoginUrl('google', 'my-client-id', 'https://myapp.com/callback')
137
+ * ```
138
+ */
14
139
  export declare function createSocialLoginUrl(provider: AuthProviderName, clientId: string, redirectUri: string, scopes?: string[], customParams?: Record<string, string>): string;
140
+ /**
141
+ * Opens a popup window for social login and listens for the result via `postMessage`.
142
+ *
143
+ * The popup is monitored for closure (user cancellation) and for messages from
144
+ * the popup window. Expected message types are `SOCIAL_LOGIN_SUCCESS` and
145
+ * `SOCIAL_LOGIN_ERROR`, sent from the OAuth callback page.
146
+ *
147
+ * @typeParam T - The type of the success result data.
148
+ * @param url - The OAuth authorization URL to open in the popup.
149
+ * @param provider - The social provider name (used for the popup window name).
150
+ * @param onSuccess - Callback invoked with the result data on successful login.
151
+ * @param onError - Callback invoked with an error on failure or cancellation.
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * openSocialLoginPopup<{ token: string }>(
156
+ * authUrl,
157
+ * 'google',
158
+ * (result) => console.log('Token:', result.token),
159
+ * (error) => console.error('Failed:', error.message)
160
+ * )
161
+ * ```
162
+ */
15
163
  export declare function openSocialLoginPopup<T>(url: string, provider: AuthProviderName, onSuccess?: (result: T) => void, onError?: (error: Error) => void): void;
164
+ /**
165
+ * Formats an unknown error value into a human-readable error message string.
166
+ *
167
+ * Handles `Error` instances, plain strings, objects with a `message` property,
168
+ * and falls back to a generic error message.
169
+ *
170
+ * @param error - The error value to format.
171
+ * @returns A human-readable error message string.
172
+ *
173
+ * @example
174
+ * ```ts
175
+ * formatAuthError(new Error('Invalid credentials')) // 'Invalid credentials'
176
+ * formatAuthError('Something went wrong') // 'Something went wrong'
177
+ * formatAuthError(42) // 'An unexpected error occurred'
178
+ * ```
179
+ */
16
180
  export declare function formatAuthError(error: unknown): string;
181
+ /**
182
+ * Checks whether the code is running in a browser environment.
183
+ *
184
+ * @returns `true` if `window` and `document` are available, `false` otherwise.
185
+ */
17
186
  export declare function isBrowser(): boolean;
187
+ /**
188
+ * Wraps an async form submission task into a form controller validation function.
189
+ *
190
+ * Creates a function that can be passed to `useForm`'s `onSubmit` option. It
191
+ * handles loading state (via `onStart`/`onEnd` callbacks), invokes the task,
192
+ * and converts the result into a `Validation` value compatible with the form
193
+ * controller system.
194
+ *
195
+ * @typeParam T - The form data type.
196
+ * @param options - Configuration for the validation wrapper.
197
+ * @param options.task - The async function to call with the form value. Returns an error message or `null`.
198
+ * @param options.message - A fallback error message used if the task throws.
199
+ * @param options.onStart - Called before the task begins (e.g., to set loading state).
200
+ * @param options.onEnd - Called after the task completes (e.g., to clear loading state).
201
+ * @returns An async function that accepts a value of type `T` and returns a `Validation`.
202
+ *
203
+ * @example
204
+ * ```ts
205
+ * const onSubmit = requestToControllerValidation({
206
+ * task: async (data) => {
207
+ * const error = await api.signIn(data)
208
+ * return error ?? null
209
+ * },
210
+ * message: 'Sign in failed',
211
+ * onStart: () => loading.set(true),
212
+ * onEnd: () => loading.set(false),
213
+ * })
214
+ * ```
215
+ */
18
216
  export declare function requestToControllerValidation<T>({ task, message, onStart, onEnd, }: {
19
217
  task: undefined | ((value: T) => Promise<string | null>);
20
218
  message: string;