@tempots/beatui 0.87.3 → 0.88.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 (177) hide show
  1. package/dist/{ar-DjMvIww5.js → ar-MUKILk4c.js} +1 -1
  2. package/dist/auth/index.cjs.js +1 -1
  3. package/dist/auth/index.es.js +1 -1
  4. package/dist/{auth-divider-V_Se6Qhe.cjs → auth-divider-Cj-xJxF_.cjs} +1 -1
  5. package/dist/{auth-divider-BIefTDoO.js → auth-divider-DvVmqjnk.js} +101 -103
  6. package/dist/beatui.css +732 -671
  7. package/dist/beatui.tailwind.css +714 -662
  8. package/dist/better-auth/index.cjs.js +1 -1
  9. package/dist/better-auth/index.es.js +12 -12
  10. package/dist/{colors-BmLYKmoH.js → colors-BY0Ja_bf.js} +12 -12
  11. package/dist/{de-wChFYqM4.js → de-CEsW1rVX.js} +1 -1
  12. package/dist/deep-merge-Dgy9xj6w.cjs +1 -0
  13. package/dist/{deep-merge-BRqRzEQs.js → deep-merge-OvVqSLSN.js} +443 -429
  14. package/dist/{duration-input-BDEb1Bb7.js → duration-input-BCXujp0V.js} +5 -5
  15. package/dist/{duration-input-BtFL5Vjx.cjs → duration-input-MJz6UO6E.cjs} +1 -1
  16. package/dist/{editor-toolbar-group-CwCCGzEC.js → editor-toolbar-group-Cnta0SOa.js} +6 -3
  17. package/dist/{es-CmPF3IGl.js → es-ChP-aFwC.js} +1 -1
  18. package/dist/{fa-D696e75R.js → fa-CNsrlIqh.js} +1 -1
  19. package/dist/{fr-B0jeX1Hx.js → fr-DgEFKpML.js} +1 -1
  20. package/dist/{he-SgAsIYJA.js → he-B4TqfISZ.js} +1 -1
  21. package/dist/{hi-s9oiIihq.js → hi-TSoDsngT.js} +1 -1
  22. package/dist/{index-KNk3k6NI.js → index-1JaBwDB-.js} +1 -1
  23. package/dist/index-B8cqD9ny.js +838 -0
  24. package/dist/index-CN10Cyqr.cjs +1 -0
  25. package/dist/{index-yMrXbIdg.cjs → index-CTcbhnPw.cjs} +1 -1
  26. package/dist/{index-CaWDj1Vg.cjs → index-D3QVPAme.cjs} +10 -10
  27. package/dist/{index-qa82MK4Z.cjs → index-D4ZFV8Rs.cjs} +1 -1
  28. package/dist/{index-anrXec7K.cjs → index-DF7RFzD9.cjs} +1 -1
  29. package/dist/{index-B0t-nt7i.js → index-DOc1_-Nm.js} +4 -4
  30. package/dist/{index-DdqGL9Jk.js → index-D_aTUfqS.js} +701 -684
  31. package/dist/{index-BFe-x3-z.js → index-DfPkCwdC.js} +2 -2
  32. package/dist/index.cjs.js +4 -4
  33. package/dist/index.es.js +2285 -2260
  34. package/dist/{index.esm-ChUrm4xR.js → index.esm-By0m3ki1.js} +3 -3
  35. package/dist/{input-container-DhUiLmXE.js → input-container-BBWCDGTv.js} +1 -1
  36. package/dist/{it-Dc4IMciD.js → it-BrbebXg4.js} +1 -1
  37. package/dist/{ja-D2t2g5xj.js → ja-DcfOktrV.js} +1 -1
  38. package/dist/json-schema/index.cjs.js +1 -1
  39. package/dist/json-schema/index.es.js +97 -103
  40. package/dist/json-schema-display/index.cjs.js +1 -1
  41. package/dist/json-schema-display/index.es.js +15 -15
  42. package/dist/json-structure/index.cjs.js +1 -1
  43. package/dist/json-structure/index.es.js +349 -351
  44. package/dist/{ko-BRylA5JZ.js → ko-73e6t369.js} +1 -1
  45. package/dist/lexical/index.cjs.js +5 -12
  46. package/dist/lexical/index.es.js +57 -87
  47. package/dist/lexical.css +24 -23
  48. package/dist/markdown/index.cjs.js +1 -1
  49. package/dist/markdown/index.es.js +1 -1
  50. package/dist/markdown.css +7 -7
  51. package/dist/{menu-Ui4lUPHM.js → menu-CV85y3Xf.js} +1 -1
  52. package/dist/{modal-Dkje8L_l.js → modal-BBJWY7NB.js} +5 -5
  53. package/dist/{modal-Coenk8Fy.cjs → modal-jJMS0ZlW.cjs} +1 -1
  54. package/dist/monaco/index.es.js +1 -1
  55. package/dist/{nl-Dh7LUWAn.js → nl-Bq-1-ulc.js} +1 -1
  56. package/dist/notice-9lpZ-VDn.cjs +1 -0
  57. package/dist/{notice-BmkckDsD.js → notice-AUVH8Lho.js} +26 -28
  58. package/dist/{oneof-branch-detection-BED_n2MT.js → oneof-branch-detection-BQnRjp9P.js} +1740 -1734
  59. package/dist/{oneof-branch-detection-Vov_e3kI.cjs → oneof-branch-detection-BsGhMslW.cjs} +6 -6
  60. package/dist/{pl-XEG-p1Q9.js → pl-Du9-VCfW.js} +1 -1
  61. package/dist/prosemirror/index.cjs.js +1 -1
  62. package/dist/prosemirror/index.es.js +1 -1
  63. package/dist/prosemirror.css +7 -7
  64. package/dist/{pt-DYsDA2sZ.js → pt-B2UqqSAB.js} +1 -1
  65. package/dist/{ru-BTKBykp-.js → ru-DiWa2inw.js} +1 -1
  66. package/dist/stack-4VUGISn6.cjs +1 -0
  67. package/dist/{stack-BJgsPJ9A.js → stack-Bm-UZosx.js} +145 -139
  68. package/dist/styles-url-4g2WnNJ8.js +4 -0
  69. package/dist/{styles-url-DZhZ-9Bf.js → styles-url-CJYy5nML.js} +1 -1
  70. package/dist/{styles-url-YAJ6Q1GS.cjs → styles-url-D8nVwSmZ.cjs} +1 -1
  71. package/dist/{styles-url-BSUFsmMD.cjs → styles-url-evUdl8tK.cjs} +1 -1
  72. package/dist/{styles-url-BvcVGpBJ.js → styles-url-hKxIOumK.js} +1 -1
  73. package/dist/styles-url-mlDYoWbF.cjs +1 -0
  74. package/dist/tailwind/preset.cjs.js +1 -1
  75. package/dist/tailwind/preset.es.js +2 -2
  76. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  77. package/dist/tailwind/vite-plugin.es.js +1 -1
  78. package/dist/{text-input-BZmAB3_o.js → text-input-6FD7p7hN.js} +5 -5
  79. package/dist/{theme-BzpMLdvH.js → theme-kQZEeusG.js} +4 -4
  80. package/dist/{toolbar-Pdj-F80l.js → toolbar-Cr0JGj5h.js} +1 -1
  81. package/dist/{tr-Cp8ZCUic.js → tr-Culcm2Zb.js} +1 -1
  82. package/dist/{translations-jUYta1_1.js → translations-Cttn6w0G.js} +1 -1
  83. package/dist/{translations-BGblCUBj.js → translations-uEUkO6gJ.js} +30 -30
  84. package/dist/types/auth-i18n/translations.d.ts +2 -2
  85. package/dist/types/beatui-i18n/translations.d.ts +2 -2
  86. package/dist/types/better-auth/components/authenticated.d.ts +2 -2
  87. package/dist/types/better-auth/components/better-auth-container.d.ts +1 -1
  88. package/dist/types/better-auth/i18n/translations.d.ts +2 -2
  89. package/dist/types/better-auth/provider.d.ts +2 -2
  90. package/dist/types/components/auth/auth-container.d.ts +1 -1
  91. package/dist/types/components/auth/auth-email-prop.d.ts +1 -1
  92. package/dist/types/components/beatui.d.ts +1 -1
  93. package/dist/types/components/button/button.d.ts +1 -1
  94. package/dist/types/components/content/native-pdf-preview.d.ts +1 -1
  95. package/dist/types/components/content/pdfjs-preview.d.ts +1 -1
  96. package/dist/types/components/data/icon.d.ts +1 -1
  97. package/dist/types/components/data/page-drop-zone.d.ts +1 -1
  98. package/dist/types/components/data/unstyled-drop-zone.d.ts +1 -1
  99. package/dist/types/components/editor-toolbar/editor-toolbar-button.d.ts +1 -1
  100. package/dist/types/components/editor-toolbar/editor-toolbar-group.d.ts +1 -1
  101. package/dist/types/components/form/control/control.d.ts +2 -2
  102. package/dist/types/components/form/control/ensure-control.d.ts +1 -1
  103. package/dist/types/components/form/control/list-control.d.ts +1 -1
  104. package/dist/types/components/form/controller/color-controller.d.ts +4 -4
  105. package/dist/types/components/form/input/appearance-selector.d.ts +2 -2
  106. package/dist/types/components/form/input/base64-input.d.ts +1 -1
  107. package/dist/types/components/form/input/base64s-input.d.ts +1 -1
  108. package/dist/types/components/form/input/combobox-tags-input.d.ts +1 -1
  109. package/dist/types/components/form/input/email-input.d.ts +1 -1
  110. package/dist/types/components/form/input/file-input.d.ts +1 -1
  111. package/dist/types/components/form/input/files-input.d.ts +1 -1
  112. package/dist/types/components/form/input/input-options.d.ts +1 -1
  113. package/dist/types/components/form/input/list-input.d.ts +1 -1
  114. package/dist/types/components/form/input/nullable-base64-input.d.ts +1 -1
  115. package/dist/types/components/form/input/nullable-plain-date-input.d.ts +12 -12
  116. package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +12 -12
  117. package/dist/types/components/form/input/nullable-plain-time-input.d.ts +12 -12
  118. package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +12 -12
  119. package/dist/types/components/form/input/password-input.d.ts +1 -1
  120. package/dist/types/components/form/input/plain-date-input.d.ts +12 -12
  121. package/dist/types/components/form/input/plain-date-time-input.d.ts +12 -12
  122. package/dist/types/components/form/input/plain-time-input.d.ts +12 -12
  123. package/dist/types/components/form/input/plain-year-month-input.d.ts +12 -12
  124. package/dist/types/components/form/input/select-tags-input.d.ts +3 -3
  125. package/dist/types/components/form/input/step-utils.d.ts +5 -0
  126. package/dist/types/components/form/use-form.d.ts +3 -3
  127. package/dist/types/components/i18n/locale-direction.d.ts +1 -1
  128. package/dist/types/components/i18n/locale-selector.d.ts +1 -1
  129. package/dist/types/components/i18n/locale.d.ts +1 -1
  130. package/dist/types/components/i18n/make-i18nprovider.d.ts +2 -2
  131. package/dist/types/components/layout/app-shell.d.ts +1 -1
  132. package/dist/types/components/lexical/code/language-selector.d.ts +1 -1
  133. package/dist/types/components/lexical/floating/block-handle.d.ts +1 -1
  134. package/dist/types/components/lexical/floating/floating-toolbar.d.ts +1 -1
  135. package/dist/types/components/lexical/floating/slash-command-palette.d.ts +1 -1
  136. package/dist/types/components/lexical/table/table-controls.d.ts +1 -1
  137. package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +1 -1
  138. package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +2 -2
  139. package/dist/types/components/media/pdf-page-viewer.d.ts +1 -1
  140. package/dist/types/components/misc/notification-provider.d.ts +2 -2
  141. package/dist/types/components/navigation/link/button-link.d.ts +1 -1
  142. package/dist/types/components/navigation/link/link.d.ts +1 -1
  143. package/dist/types/components/navigation/link/navigation-link.d.ts +1 -1
  144. package/dist/types/components/navigation/pagination.d.ts +1 -1
  145. package/dist/types/components/navigation/sidebar/sidebar.d.ts +2 -2
  146. package/dist/types/components/navigation/toolbar/toolbar.d.ts +1 -1
  147. package/dist/types/components/prosemirror/link-control.d.ts +1 -1
  148. package/dist/types/components/prosemirror/prosemirror-toolbar.d.ts +1 -1
  149. package/dist/types/components/prosemirror/utils.d.ts +2 -2
  150. package/dist/types/components/theme/theme.d.ts +2 -2
  151. package/dist/types/i18n/translate.d.ts +1 -1
  152. package/dist/types/tailwind/preset.d.ts +1 -1
  153. package/dist/types/tailwind/vite-plugin.d.ts +1 -1
  154. package/dist/types/tokens/borders.d.ts +104 -0
  155. package/dist/types/tokens/controls.d.ts +127 -0
  156. package/dist/types/tokens/index.d.ts +2 -0
  157. package/dist/types/tokens/radius.d.ts +14 -14
  158. package/dist/types/tokens/typography.d.ts +33 -33
  159. package/dist/types/utils/delay-signal.d.ts +1 -1
  160. package/dist/types/utils/use-animated-toggle.d.ts +22 -22
  161. package/dist/{ur-DkIYJxsF.js → ur-Deb-uH6b.js} +1 -1
  162. package/dist/{use-animated-toggle-89fKlXxy.js → use-animated-toggle-C7PTmnZi.js} +7 -7
  163. package/dist/{use-form-B_mCauP0.cjs → use-form-i97PToWB.cjs} +1 -1
  164. package/dist/{use-form-BSvvERhX.js → use-form-lg6-7Brc.js} +14 -13
  165. package/dist/{vi-DKw6PBja.js → vi-CUsCVh3n.js} +1 -1
  166. package/dist/widget-customization-BLvD4Lqt.cjs +1 -0
  167. package/dist/{widget-customization-DFr3ycD7.js → widget-customization-CDD72zYs.js} +29 -29
  168. package/dist/{zh-CaKHseXJ.js → zh-Dil2Jft8.js} +1 -1
  169. package/package.json +35 -31
  170. package/dist/deep-merge-CvN7Xvd1.cjs +0 -1
  171. package/dist/index-BywbRDsb.cjs +0 -1
  172. package/dist/index-D2_J_-XS.js +0 -671
  173. package/dist/notice-DMK7dx9a.cjs +0 -1
  174. package/dist/stack-DcZ_u50f.cjs +0 -1
  175. package/dist/styles-url-CCopc5pG.js +0 -4
  176. package/dist/styles-url-CEDSZTyZ.cjs +0 -1
  177. package/dist/widget-customization-BASfRpF7.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tempots/dom"),L=require("../auth-divider-V_Se6Qhe.cjs"),I=require("../translations-gVgMyNno.cjs"),w=require("../notice-DMK7dx9a.cjs"),y=require("../stack-DcZ_u50f.cjs"),b=require("../input-container-B31Seozh.cjs"),v=require("../text-input-w0eVcqk5.cjs");function g(a,t){return a.error?(t.onError?.({message:a.error.message,status:a.error.status}),a.error.message):null}function F(a,t,s){return async n=>{const i=await a.signIn.email({email:n.email,password:n.password,callbackURL:t.callbackURL}),o=g(i,t);return o||(await s(),null)}}function A(a,t,s){return async n=>{const i=await a.signUp.email({name:n.name,email:n.email,password:n.password,callbackURL:t.callbackURL}),o=g(i,t);return o||(await s(),null)}}function U(a,t){return async s=>{const n=await a.requestPasswordReset({email:s.email,redirectTo:t.callbackURL});return g(n,t)}}function $(a,t){return async s=>{const n=await a.signIn.social({provider:s,callbackURL:t.callbackURL,errorCallbackURL:t.errorCallbackURL});g(n,t)}}function P(a,t={}){const s=e.prop(null),n=e.prop(!0),i=e.computedOf(s)(h=>h?.user??null),o=e.computedOf(s)(h=>h!=null);let u;async function d(){try{const h=await a.getSession();h.error||!h.data?s.set(null):s.set({user:h.data.user,session:h.data.session})}catch{s.set(null)}finally{n.set(!1)}}t.onSessionChange&&s.on(t.onSessionChange),d(),t.refreshInterval&&t.refreshInterval>0&&(u=setInterval(d,t.refreshInterval));function p(){u!=null&&(clearInterval(u),u=void 0),s.dispose(),n.dispose(),i.dispose(),o.dispose()}return{session:s,isPending:n,user:i,isAuthenticated:o,refresh:d,dispose:p}}function _(a){return a.map(t=>({provider:t}))}function C(a,t={}){const s=P(a,{refreshInterval:t.refreshInterval,onSessionChange:t.onSessionChange}),n=()=>s.refresh(),i=F(a,t,n),o=A(a,t,n),u=U(a,t),d=$(a,t),p=t.socialProviders?_(t.socialProviders):[],h={onSignIn:i,passwordRules:t.passwordRules,showRememberMe:t.showRememberMe,labels:t.labels?{emailLabel:t.labels.emailLabel,passwordLabel:t.labels.passwordLabel,rememberMeLabel:t.labels.rememberMeLabel,signInButton:t.labels.signInButton,forgotPasswordLink:t.labels.forgotPasswordLink,noAccountLink:t.labels.noAccountLink}:void 0},c={onSignUp:o,passwordRules:t.passwordRules,showPasswordStrength:t.showPasswordStrength,showNameField:t.showNameField,showConfirmPassword:t.showConfirmPassword,labels:t.labels?{nameLabel:t.labels.nameLabel,emailLabel:t.labels.emailLabel,passwordLabel:t.labels.passwordLabel,confirmPasswordLabel:t.labels.confirmPasswordLabel,acceptTermsLabel:t.labels.acceptTermsLabel,signUpButton:t.labels.signUpButton,hasAccountLink:t.labels.hasAccountLink}:void 0},m={onResetPassword:u,labels:t.labels?{resetPasswordButton:t.labels.resetPasswordButton,resetPasswordDescription:t.labels.resetPasswordDescription,emailLabel:t.labels.emailLabel,backToSignInLink:t.labels.backToSignInLink}:void 0},l={onSignIn:i,onSignUp:o,onResetPassword:u,onSocialLogin:d,socialProviders:p.length>0?p:void 0,showSocialDivider:p.length>0,passwordRules:t.passwordRules,showRememberMe:t.showRememberMe,showPasswordStrength:t.showPasswordStrength,showNameField:t.showNameField,showConfirmPassword:t.showConfirmPassword,labels:t.labels};async function r(){await a.signOut(),await n()}function f(){s.dispose()}return{session:s.session,isPending:s.isPending,user:s.user,isAuthenticated:s.isAuthenticated,containerOptions:l,signInOptions:h,signUpOptions:c,resetOptions:m,socialProviders:p,signOut:r,refreshSession:n,dispose:f}}const R={mark:e.makeProviderMark("BetterAuth"),create:a=>{if(!a)throw new Error("BetterAuth provider requires a client option");const t=C(a.client,a);return{value:t,dispose:()=>t.dispose()}}};function E(a,t,...s){return L.AuthContainer({...a.containerOptions,...t},...s)}function O(a,t){return L.AuthModal(s=>t(n=>s({...a.containerOptions,...n})))}function M(a,t){return e.When(a.isAuthenticated,t)}function D(a,t){return e.Unless(a.isAuthenticated,t)}const T={twoFactorSetupDescription:"Enter your password to enable two-factor authentication.",twoFactorEnableButton:"Enable 2FA",twoFactorVerifyButton:"Verify",twoFactorScanDescription:"Scan the code below with your authenticator app, then enter the verification code.",twoFactorBackupCodesDescription:"Save these backup codes in a safe place. You can use them to sign in if you lose access to your authenticator.",twoFactorCodePlaceholder:"Enter 6-digit code",twoFactorBackupCodePlaceholder:"Enter backup code",twoFactorEnabled:"Two-factor authentication has been enabled.",twoFactorTotpDescription:"Enter the code from your authenticator app.",twoFactorOtpDescription:"Enter the one-time code sent to you.",twoFactorBackupDescription:"Enter one of your backup codes.",twoFactorSendOtpButton:"Send Code",twoFactorMethodLabel:a=>{switch(a){case"totp":return"Authenticator";case"otp":return"Email/SMS";case"backup":return"Backup Code";default:return a}},passwordPlaceholder:"Enter your password",magicLinkDescription:"Enter your email to receive a sign-in link.",magicLinkSendButton:"Send Magic Link",magicLinkSent:"A sign-in link has been sent to your email.",passkeySignInButton:"Sign in with Passkey",passkeyAddButton:"Add Passkey",passkeyDeleteButton:"Delete",passkeyRenameButton:"Rename",passkeySaveButton:"Save",passkeyCancelButton:"Cancel",passkeyNamePlaceholder:"Passkey name (optional)",passkeyUnnamed:"Unnamed passkey"},B=T,S="en",N=Object.assign({}),k=I.makeI18nProvider({defaultLocale:S,defaultMessages:B,localeLoader:async a=>{if(a===S)return B;const t=N[`./locales/${a}.ts`];return t?await t():B},providerName:"BetterAuthI18n"});function q({twoFactor:a,issuer:t,onComplete:s}){const n=e.prop(""),i=e.prop(null),o=e.prop([]),u=e.prop(""),d=e.prop(null),p=e.prop(!1),h=e.prop("password");async function c(l){l.preventDefault(),p.set(!0),d.set(null);const r=await a.enable({password:n.value,issuer:t});if(p.set(!1),r.error){d.set(r.error.message);return}r.data&&(i.set(r.data.totpURI),o.set(r.data.backupCodes),h.set("verify"))}async function m(l){l.preventDefault(),p.set(!0),d.set(null);const r=await a.verifyTotp({code:u.value});if(p.set(!1),r.error){d.set(r.error.message);return}h.set("complete"),s?.()}return e.Use(k,l=>e.html.div(e.attr.class("bc-two-factor"),e.Ensure(d,r=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(r))),e.OneOfValue(h,{password:()=>e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(c),y.Stack(e.html.p(e.attr.class("bc-auth-form__description"),l.$.twoFactorSetupDescription),w.PasswordInput({value:n,onChange:r=>n.set(r),placeholder:l.$.passwordPlaceholder}),b.Button({type:"submit",variant:"filled",color:"primary",loading:p},e.attr.class("bc-auth-form__submit"),l.$.twoFactorEnableButton))),verify:()=>e.Fragment(e.Ensure(i,r=>e.html.div(e.attr.class("bc-two-factor__totp-uri"),e.html.p(l.$.twoFactorScanDescription),e.html.code(e.attr.class("bc-two-factor__code-display"),r))),e.NotEmpty(o,()=>e.html.div(e.attr.class("bc-two-factor__backup-codes"),e.html.p(l.$.twoFactorBackupCodesDescription),e.html.ul(e.ForEach(o,r=>e.html.li(r))))),e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(m),y.Stack(v.TextInput({value:u,onChange:r=>u.set(r),placeholder:l.$.twoFactorCodePlaceholder}),b.Button({type:"submit",variant:"filled",color:"primary",loading:p},e.attr.class("bc-auth-form__submit"),l.$.twoFactorVerifyButton)))),complete:()=>e.html.div(e.attr.class("bc-two-factor__complete"),w.Notice({variant:"success",tone:"prominent"},e.html.div(l.$.twoFactorEnabled)))})))}function x({twoFactor:a,methods:t=["totp","backup"],trustDevice:s,onVerified:n}){const i=e.prop(""),o=e.prop(null),u=e.prop(!1),d=e.prop(t[0]??"totp");async function p(c){c.preventDefault(),u.set(!0),o.set(null);const m=d.value;let l;if(m==="totp")l=await a.verifyTotp({code:i.value,trustDevice:s});else if(m==="otp"&&a.verifyOtp)l=await a.verifyOtp({code:i.value,trustDevice:s});else if(m==="backup")l=await a.verifyBackupCode({code:i.value});else{o.set("Unsupported verification method"),u.set(!1);return}if(u.set(!1),l.error){o.set(l.error.message);return}n?.()}async function h(){if(!a.sendOtp)return;u.set(!0),o.set(null);const c=await a.sendOtp({trustDevice:s});u.set(!1),c.error&&o.set(c.error.message)}return e.Use(k,c=>{const m=e.computedOf(d,c)((r,f)=>r==="totp"?f.twoFactorTotpDescription:r==="otp"?f.twoFactorOtpDescription:f.twoFactorBackupDescription),l=e.computedOf(d,c)((r,f)=>r==="backup"?f.twoFactorBackupCodePlaceholder:f.twoFactorCodePlaceholder);return e.html.div(e.attr.class("bc-two-factor"),e.Ensure(o,r=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(r))),e.When(t.length>1,()=>e.html.div(e.attr.class("bc-two-factor__methods"),...t.map(r=>e.html.button(e.attr.type("button"),e.attr.class("bc-two-factor__method-button"),e.attr.class(d.map(f=>f===r?"bc-two-factor__method-button--active":"")),e.on.click(()=>{d.set(r),i.set(""),o.set(null)}),c.$.twoFactorMethodLabel.map(f=>f(r)))))),e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(p),y.Stack(e.html.p(e.attr.class("bc-auth-form__description"),m),e.When(d.map(r=>r==="otp"&&a.sendOtp!=null),()=>b.Button({type:"button",variant:"outline",color:"primary",onClick:h,loading:u},c.$.twoFactorSendOtpButton)),v.TextInput({value:i,onChange:r=>i.set(r),placeholder:l}),b.Button({type:"submit",variant:"filled",color:"primary",loading:u},e.attr.class("bc-auth-form__submit"),c.$.twoFactorVerifyButton))))})}function V({client:a,callbackURL:t}){const s=e.prop(""),n=e.prop(null),i=e.prop(!1),o=e.prop(!1);async function u(d){if(d.preventDefault(),!a.signIn.magicLink){n.set("Magic link sign-in is not configured");return}i.set(!0),n.set(null);const p=await a.signIn.magicLink({email:s.value,callbackURL:t});if(i.set(!1),p.error){n.set(p.error.message);return}o.set(!0)}return e.Use(k,d=>e.html.div(e.attr.class("bc-auth-form"),e.Ensure(n,p=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(p))),e.Unless(o,()=>e.html.form(e.attr.class("bc-auth-form__form"),e.on.submit(u),y.Stack(e.attr.class("bc-auth-form__fields"),e.html.p(e.attr.class("bc-auth-form__description"),d.$.magicLinkDescription),w.EmailInput({value:s,onChange:p=>s.set(p)}),b.Button({type:"submit",variant:"filled",color:"primary",loading:i},e.attr.class("bc-auth-form__submit"),d.$.magicLinkSendButton)))),e.When(o,()=>w.Notice({variant:"success",tone:"prominent"},e.html.div(d.$.magicLinkSent)))))}function W({client:a,autoFill:t,onSuccess:s,onError:n}){const i=e.prop(!1);async function o(){if(!a.signIn.passkey)return;i.set(!0);const u=await a.signIn.passkey({autoFill:t});if(i.set(!1),u.error){n?.({message:u.error.message,status:u.error.status});return}s?.()}return e.Use(k,u=>b.Button({type:"button",variant:"outline",color:"primary",onClick:o,loading:i},e.attr.class("bc-passkey-signin"),u.$.passkeySignInButton))}function z({passkey:a}){const t=e.prop([]),s=e.prop(null),n=e.prop(!1),i=e.prop("");async function o(c,m){n.set(!0),s.set(null);const l=await c();if(n.set(!1),l.error){s.set(l.error.message);return}await m?.(l.data)}async function u(){await o(()=>a.listUserPasskeys(),c=>t.set(c??[]))}async function d(){const c=i.value||void 0;await o(()=>a.addPasskey({name:c}),async()=>{i.set(""),await u()})}async function p(c){await o(()=>a.deletePasskey({id:c}),()=>u())}async function h(c,m){await o(()=>a.updatePasskey({id:c,name:m}),()=>u())}return u(),e.Use(k,c=>e.html.div(e.attr.class("bc-passkey-management"),e.Ensure(s,m=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(m))),e.html.div(e.attr.class("bc-passkey-list"),e.ForEach(t,m=>{const l=e.prop(!1),r=e.prop(m.$.name?.value??"");return e.html.div(e.attr.class("bc-passkey-item"),e.Unless(l,()=>e.html.div(e.attr.class("bc-passkey-item__info"),e.html.span(e.attr.class("bc-passkey-item__name"),m.$.name?.map(f=>f??c.$.passkeyUnnamed.value)??c.$.passkeyUnnamed),e.html.span(e.attr.class("bc-passkey-item__date"),m.$.createdAt))),e.When(l,()=>e.html.div(e.attr.class("bc-passkey-item__edit"),v.TextInput({value:r,onChange:f=>r.set(f)}))),e.html.div(e.attr.class("bc-passkey-item__actions"),e.Unless(l,()=>e.html.div(b.Button({type:"button",variant:"text",size:"sm",onClick:()=>{r.set(m.$.name?.value??""),l.set(!0)}},c.$.passkeyRenameButton),b.Button({type:"button",variant:"text",size:"sm",color:"danger",onClick:()=>p(m.$.id.value)},c.$.passkeyDeleteButton))),e.When(l,()=>e.html.div(b.Button({type:"button",variant:"text",size:"sm",onClick:async()=>{await h(m.$.id.value,r.value),l.set(!1)}},c.$.passkeySaveButton),b.Button({type:"button",variant:"text",size:"sm",onClick:()=>l.set(!1)},c.$.passkeyCancelButton)))))})),e.html.div(e.attr.class("bc-passkey-add"),y.Stack(v.TextInput({value:i,onChange:m=>i.set(m),placeholder:c.$.passkeyNamePlaceholder}),b.Button({type:"button",variant:"filled",color:"primary",onClick:d,loading:n},c.$.passkeyAddButton)))))}exports.Authenticated=M;exports.BetterAuth=R;exports.BetterAuthContainer=E;exports.BetterAuthI18n=k;exports.BetterAuthModal=O;exports.MagicLinkForm=V;exports.PasskeyManagement=z;exports.PasskeySignIn=W;exports.TwoFactorSetup=q;exports.TwoFactorVerify=x;exports.Unauthenticated=D;exports.createBetterAuthBridge=C;exports.createSessionManager=P;exports.mapSocialProviders=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tempots/dom"),L=require("../auth-divider-Cj-xJxF_.cjs"),I=require("../translations-gVgMyNno.cjs"),w=require("../notice-9lpZ-VDn.cjs"),y=require("../stack-4VUGISn6.cjs"),b=require("../input-container-B31Seozh.cjs"),v=require("../text-input-w0eVcqk5.cjs");function g(a,t){return a.error?(t.onError?.({message:a.error.message,status:a.error.status}),a.error.message):null}function F(a,t,s){return async n=>{const i=await a.signIn.email({email:n.email,password:n.password,callbackURL:t.callbackURL}),o=g(i,t);return o||(await s(),null)}}function A(a,t,s){return async n=>{const i=await a.signUp.email({name:n.name,email:n.email,password:n.password,callbackURL:t.callbackURL}),o=g(i,t);return o||(await s(),null)}}function U(a,t){return async s=>{const n=await a.requestPasswordReset({email:s.email,redirectTo:t.callbackURL});return g(n,t)}}function $(a,t){return async s=>{const n=await a.signIn.social({provider:s,callbackURL:t.callbackURL,errorCallbackURL:t.errorCallbackURL});g(n,t)}}function P(a,t={}){const s=e.prop(null),n=e.prop(!0),i=e.computedOf(s)(h=>h?.user??null),o=e.computedOf(s)(h=>h!=null);let u;async function d(){try{const h=await a.getSession();h.error||!h.data?s.set(null):s.set({user:h.data.user,session:h.data.session})}catch{s.set(null)}finally{n.set(!1)}}t.onSessionChange&&s.on(t.onSessionChange),d(),t.refreshInterval&&t.refreshInterval>0&&(u=setInterval(d,t.refreshInterval));function p(){u!=null&&(clearInterval(u),u=void 0),s.dispose(),n.dispose(),i.dispose(),o.dispose()}return{session:s,isPending:n,user:i,isAuthenticated:o,refresh:d,dispose:p}}function _(a){return a.map(t=>({provider:t}))}function C(a,t={}){const s=P(a,{refreshInterval:t.refreshInterval,onSessionChange:t.onSessionChange}),n=()=>s.refresh(),i=F(a,t,n),o=A(a,t,n),u=U(a,t),d=$(a,t),p=t.socialProviders?_(t.socialProviders):[],h={onSignIn:i,passwordRules:t.passwordRules,showRememberMe:t.showRememberMe,labels:t.labels?{emailLabel:t.labels.emailLabel,passwordLabel:t.labels.passwordLabel,rememberMeLabel:t.labels.rememberMeLabel,signInButton:t.labels.signInButton,forgotPasswordLink:t.labels.forgotPasswordLink,noAccountLink:t.labels.noAccountLink}:void 0},c={onSignUp:o,passwordRules:t.passwordRules,showPasswordStrength:t.showPasswordStrength,showNameField:t.showNameField,showConfirmPassword:t.showConfirmPassword,labels:t.labels?{nameLabel:t.labels.nameLabel,emailLabel:t.labels.emailLabel,passwordLabel:t.labels.passwordLabel,confirmPasswordLabel:t.labels.confirmPasswordLabel,acceptTermsLabel:t.labels.acceptTermsLabel,signUpButton:t.labels.signUpButton,hasAccountLink:t.labels.hasAccountLink}:void 0},m={onResetPassword:u,labels:t.labels?{resetPasswordButton:t.labels.resetPasswordButton,resetPasswordDescription:t.labels.resetPasswordDescription,emailLabel:t.labels.emailLabel,backToSignInLink:t.labels.backToSignInLink}:void 0},l={onSignIn:i,onSignUp:o,onResetPassword:u,onSocialLogin:d,socialProviders:p.length>0?p:void 0,showSocialDivider:p.length>0,passwordRules:t.passwordRules,showRememberMe:t.showRememberMe,showPasswordStrength:t.showPasswordStrength,showNameField:t.showNameField,showConfirmPassword:t.showConfirmPassword,labels:t.labels};async function r(){await a.signOut(),await n()}function f(){s.dispose()}return{session:s.session,isPending:s.isPending,user:s.user,isAuthenticated:s.isAuthenticated,containerOptions:l,signInOptions:h,signUpOptions:c,resetOptions:m,socialProviders:p,signOut:r,refreshSession:n,dispose:f}}const R={mark:e.makeProviderMark("BetterAuth"),create:a=>{if(!a)throw new Error("BetterAuth provider requires a client option");const t=C(a.client,a);return{value:t,dispose:()=>t.dispose()}}};function E(a,t,...s){return L.AuthContainer({...a.containerOptions,...t},...s)}function O(a,t){return L.AuthModal(s=>t(n=>s({...a.containerOptions,...n})))}function M(a,t){return e.When(a.isAuthenticated,t)}function D(a,t){return e.Unless(a.isAuthenticated,t)}const T={twoFactorSetupDescription:"Enter your password to enable two-factor authentication.",twoFactorEnableButton:"Enable 2FA",twoFactorVerifyButton:"Verify",twoFactorScanDescription:"Scan the code below with your authenticator app, then enter the verification code.",twoFactorBackupCodesDescription:"Save these backup codes in a safe place. You can use them to sign in if you lose access to your authenticator.",twoFactorCodePlaceholder:"Enter 6-digit code",twoFactorBackupCodePlaceholder:"Enter backup code",twoFactorEnabled:"Two-factor authentication has been enabled.",twoFactorTotpDescription:"Enter the code from your authenticator app.",twoFactorOtpDescription:"Enter the one-time code sent to you.",twoFactorBackupDescription:"Enter one of your backup codes.",twoFactorSendOtpButton:"Send Code",twoFactorMethodLabel:a=>{switch(a){case"totp":return"Authenticator";case"otp":return"Email/SMS";case"backup":return"Backup Code";default:return a}},passwordPlaceholder:"Enter your password",magicLinkDescription:"Enter your email to receive a sign-in link.",magicLinkSendButton:"Send Magic Link",magicLinkSent:"A sign-in link has been sent to your email.",passkeySignInButton:"Sign in with Passkey",passkeyAddButton:"Add Passkey",passkeyDeleteButton:"Delete",passkeyRenameButton:"Rename",passkeySaveButton:"Save",passkeyCancelButton:"Cancel",passkeyNamePlaceholder:"Passkey name (optional)",passkeyUnnamed:"Unnamed passkey"},B=T,S="en",N=Object.assign({}),k=I.makeI18nProvider({defaultLocale:S,defaultMessages:B,localeLoader:async a=>{if(a===S)return B;const t=N[`./locales/${a}.ts`];return t?await t():B},providerName:"BetterAuthI18n"});function q({twoFactor:a,issuer:t,onComplete:s}){const n=e.prop(""),i=e.prop(null),o=e.prop([]),u=e.prop(""),d=e.prop(null),p=e.prop(!1),h=e.prop("password");async function c(l){l.preventDefault(),p.set(!0),d.set(null);const r=await a.enable({password:n.value,issuer:t});if(p.set(!1),r.error){d.set(r.error.message);return}r.data&&(i.set(r.data.totpURI),o.set(r.data.backupCodes),h.set("verify"))}async function m(l){l.preventDefault(),p.set(!0),d.set(null);const r=await a.verifyTotp({code:u.value});if(p.set(!1),r.error){d.set(r.error.message);return}h.set("complete"),s?.()}return e.Use(k,l=>e.html.div(e.attr.class("bc-two-factor"),e.Ensure(d,r=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(r))),e.OneOfValue(h,{password:()=>e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(c),y.Stack(e.html.p(e.attr.class("bc-auth-form__description"),l.$.twoFactorSetupDescription),w.PasswordInput({value:n,onChange:r=>n.set(r),placeholder:l.$.passwordPlaceholder}),b.Button({type:"submit",variant:"filled",color:"primary",loading:p},e.attr.class("bc-auth-form__submit"),l.$.twoFactorEnableButton))),verify:()=>e.Fragment(e.Ensure(i,r=>e.html.div(e.attr.class("bc-two-factor__totp-uri"),e.html.p(l.$.twoFactorScanDescription),e.html.code(e.attr.class("bc-two-factor__code-display"),r))),e.NotEmpty(o,()=>e.html.div(e.attr.class("bc-two-factor__backup-codes"),e.html.p(l.$.twoFactorBackupCodesDescription),e.html.ul(e.ForEach(o,r=>e.html.li(r))))),e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(m),y.Stack(v.TextInput({value:u,onChange:r=>u.set(r),placeholder:l.$.twoFactorCodePlaceholder}),b.Button({type:"submit",variant:"filled",color:"primary",loading:p},e.attr.class("bc-auth-form__submit"),l.$.twoFactorVerifyButton)))),complete:()=>e.html.div(e.attr.class("bc-two-factor__complete"),w.Notice({variant:"success",tone:"prominent"},e.html.div(l.$.twoFactorEnabled)))})))}function x({twoFactor:a,methods:t=["totp","backup"],trustDevice:s,onVerified:n}){const i=e.prop(""),o=e.prop(null),u=e.prop(!1),d=e.prop(t[0]??"totp");async function p(c){c.preventDefault(),u.set(!0),o.set(null);const m=d.value;let l;if(m==="totp")l=await a.verifyTotp({code:i.value,trustDevice:s});else if(m==="otp"&&a.verifyOtp)l=await a.verifyOtp({code:i.value,trustDevice:s});else if(m==="backup")l=await a.verifyBackupCode({code:i.value});else{o.set("Unsupported verification method"),u.set(!1);return}if(u.set(!1),l.error){o.set(l.error.message);return}n?.()}async function h(){if(!a.sendOtp)return;u.set(!0),o.set(null);const c=await a.sendOtp({trustDevice:s});u.set(!1),c.error&&o.set(c.error.message)}return e.Use(k,c=>{const m=e.computedOf(d,c)((r,f)=>r==="totp"?f.twoFactorTotpDescription:r==="otp"?f.twoFactorOtpDescription:f.twoFactorBackupDescription),l=e.computedOf(d,c)((r,f)=>r==="backup"?f.twoFactorBackupCodePlaceholder:f.twoFactorCodePlaceholder);return e.html.div(e.attr.class("bc-two-factor"),e.Ensure(o,r=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(r))),e.When(t.length>1,()=>e.html.div(e.attr.class("bc-two-factor__methods"),...t.map(r=>e.html.button(e.attr.type("button"),e.attr.class("bc-two-factor__method-button"),e.attr.class(d.map(f=>f===r?"bc-two-factor__method-button--active":"")),e.on.click(()=>{d.set(r),i.set(""),o.set(null)}),c.$.twoFactorMethodLabel.map(f=>f(r)))))),e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(p),y.Stack(e.html.p(e.attr.class("bc-auth-form__description"),m),e.When(d.map(r=>r==="otp"&&a.sendOtp!=null),()=>b.Button({type:"button",variant:"outline",color:"primary",onClick:h,loading:u},c.$.twoFactorSendOtpButton)),v.TextInput({value:i,onChange:r=>i.set(r),placeholder:l}),b.Button({type:"submit",variant:"filled",color:"primary",loading:u},e.attr.class("bc-auth-form__submit"),c.$.twoFactorVerifyButton))))})}function V({client:a,callbackURL:t}){const s=e.prop(""),n=e.prop(null),i=e.prop(!1),o=e.prop(!1);async function u(d){if(d.preventDefault(),!a.signIn.magicLink){n.set("Magic link sign-in is not configured");return}i.set(!0),n.set(null);const p=await a.signIn.magicLink({email:s.value,callbackURL:t});if(i.set(!1),p.error){n.set(p.error.message);return}o.set(!0)}return e.Use(k,d=>e.html.div(e.attr.class("bc-auth-form"),e.Ensure(n,p=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(p))),e.Unless(o,()=>e.html.form(e.attr.class("bc-auth-form__form"),e.on.submit(u),y.Stack(e.attr.class("bc-auth-form__fields"),e.html.p(e.attr.class("bc-auth-form__description"),d.$.magicLinkDescription),w.EmailInput({value:s,onChange:p=>s.set(p)}),b.Button({type:"submit",variant:"filled",color:"primary",loading:i},e.attr.class("bc-auth-form__submit"),d.$.magicLinkSendButton)))),e.When(o,()=>w.Notice({variant:"success",tone:"prominent"},e.html.div(d.$.magicLinkSent)))))}function W({client:a,autoFill:t,onSuccess:s,onError:n}){const i=e.prop(!1);async function o(){if(!a.signIn.passkey)return;i.set(!0);const u=await a.signIn.passkey({autoFill:t});if(i.set(!1),u.error){n?.({message:u.error.message,status:u.error.status});return}s?.()}return e.Use(k,u=>b.Button({type:"button",variant:"outline",color:"primary",onClick:o,loading:i},e.attr.class("bc-passkey-signin"),u.$.passkeySignInButton))}function z({passkey:a}){const t=e.prop([]),s=e.prop(null),n=e.prop(!1),i=e.prop("");async function o(c,m){n.set(!0),s.set(null);const l=await c();if(n.set(!1),l.error){s.set(l.error.message);return}await m?.(l.data)}async function u(){await o(()=>a.listUserPasskeys(),c=>t.set(c??[]))}async function d(){const c=i.value||void 0;await o(()=>a.addPasskey({name:c}),async()=>{i.set(""),await u()})}async function p(c){await o(()=>a.deletePasskey({id:c}),()=>u())}async function h(c,m){await o(()=>a.updatePasskey({id:c,name:m}),()=>u())}return u(),e.Use(k,c=>e.html.div(e.attr.class("bc-passkey-management"),e.Ensure(s,m=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(m))),e.html.div(e.attr.class("bc-passkey-list"),e.ForEach(t,m=>{const l=e.prop(!1),r=e.prop(m.$.name?.value??"");return e.html.div(e.attr.class("bc-passkey-item"),e.Unless(l,()=>e.html.div(e.attr.class("bc-passkey-item__info"),e.html.span(e.attr.class("bc-passkey-item__name"),m.$.name?.map(f=>f??c.$.passkeyUnnamed.value)??c.$.passkeyUnnamed),e.html.span(e.attr.class("bc-passkey-item__date"),m.$.createdAt))),e.When(l,()=>e.html.div(e.attr.class("bc-passkey-item__edit"),v.TextInput({value:r,onChange:f=>r.set(f)}))),e.html.div(e.attr.class("bc-passkey-item__actions"),e.Unless(l,()=>e.html.div(b.Button({type:"button",variant:"text",size:"sm",onClick:()=>{r.set(m.$.name?.value??""),l.set(!0)}},c.$.passkeyRenameButton),b.Button({type:"button",variant:"text",size:"sm",color:"danger",onClick:()=>p(m.$.id.value)},c.$.passkeyDeleteButton))),e.When(l,()=>e.html.div(b.Button({type:"button",variant:"text",size:"sm",onClick:async()=>{await h(m.$.id.value,r.value),l.set(!1)}},c.$.passkeySaveButton),b.Button({type:"button",variant:"text",size:"sm",onClick:()=>l.set(!1)},c.$.passkeyCancelButton)))))})),e.html.div(e.attr.class("bc-passkey-add"),y.Stack(v.TextInput({value:i,onChange:m=>i.set(m),placeholder:c.$.passkeyNamePlaceholder}),b.Button({type:"button",variant:"filled",color:"primary",onClick:d,loading:n},c.$.passkeyAddButton)))))}exports.Authenticated=M;exports.BetterAuth=R;exports.BetterAuthContainer=E;exports.BetterAuthI18n=k;exports.BetterAuthModal=O;exports.MagicLinkForm=V;exports.PasskeyManagement=z;exports.PasskeySignIn=W;exports.TwoFactorSetup=q;exports.TwoFactorVerify=x;exports.Unauthenticated=D;exports.createBetterAuthBridge=C;exports.createSessionManager=P;exports.mapSocialProviders=_;
@@ -1,10 +1,10 @@
1
- import { prop as b, computedOf as B, makeProviderMark as U, When as y, Unless as C, Use as S, html as r, attr as l, Ensure as g, OneOfValue as D, Fragment as E, NotEmpty as O, ForEach as R, on as L } from "@tempots/dom";
2
- import { A as M, a as T } from "../auth-divider-BIefTDoO.js";
3
- import { m as N } from "../translations-BGblCUBj.js";
4
- import { N as v, P as V, E as x } from "../notice-BmkckDsD.js";
5
- import { S as P } from "../stack-BJgsPJ9A.js";
6
- import { B as k } from "../input-container-DhUiLmXE.js";
7
- import { T as I } from "../text-input-BZmAB3_o.js";
1
+ import { prop as b, computedOf as B, makeProviderMark as U, When as y, Unless as C, Use as S, html as r, attr as l, Ensure as g, OneOfValue as D, Fragment as E, NotEmpty as O, ForEach as A, on as L } from "@tempots/dom";
2
+ import { b as M, d as T } from "../auth-divider-DvVmqjnk.js";
3
+ import { m as N } from "../translations-uEUkO6gJ.js";
4
+ import { N as v, P as V, E as x } from "../notice-AUVH8Lho.js";
5
+ import { S as P } from "../stack-Bm-UZosx.js";
6
+ import { B as k } from "../input-container-BBWCDGTv.js";
7
+ import { T as I } from "../text-input-6FD7p7hN.js";
8
8
  function F(t, e) {
9
9
  return t.error ? (e.onError?.({
10
10
  message: t.error.message,
@@ -220,11 +220,11 @@ const J = {
220
220
  passkeyCancelButton: "Cancel",
221
221
  passkeyNamePlaceholder: "Passkey name (optional)",
222
222
  passkeyUnnamed: "Unnamed passkey"
223
- }, $ = J, A = "en", K = /* @__PURE__ */ Object.assign({}), _ = N({
224
- defaultLocale: A,
223
+ }, $ = J, R = "en", K = /* @__PURE__ */ Object.assign({}), _ = N({
224
+ defaultLocale: R,
225
225
  defaultMessages: $,
226
226
  localeLoader: async (t) => {
227
- if (t === A) return $;
227
+ if (t === R) return $;
228
228
  const e = K[`./locales/${t}.ts`];
229
229
  return e ? await e() : $;
230
230
  },
@@ -308,7 +308,7 @@ function le({
308
308
  () => r.div(
309
309
  l.class("bc-two-factor__backup-codes"),
310
310
  r.p(i.$.twoFactorBackupCodesDescription),
311
- r.ul(R(o, (s) => r.li(s)))
311
+ r.ul(A(o, (s) => r.li(s)))
312
312
  )
313
313
  ),
314
314
  r.form(
@@ -617,7 +617,7 @@ function fe({
617
617
  // Passkey list
618
618
  r.div(
619
619
  l.class("bc-passkey-list"),
620
- R(e, (p) => {
620
+ A(e, (p) => {
621
621
  const i = b(!1), s = b(p.$.name?.value ?? "");
622
622
  return r.div(
623
623
  l.class("bc-passkey-item"),
@@ -513,22 +513,22 @@ function S() {
513
513
  };
514
514
  }
515
515
  export {
516
- w as a,
516
+ x as a,
517
517
  E as b,
518
- s as c,
519
- b as d,
520
- g as e,
521
- u as f,
522
- x as g,
523
- v as h,
524
- C as i,
525
- m as j,
518
+ w as c,
519
+ v as d,
520
+ m as e,
521
+ g as f,
522
+ s as g,
523
+ b as h,
524
+ S as i,
525
+ i as j,
526
526
  f as k,
527
527
  k as l,
528
- i as m,
528
+ u as m,
529
529
  p as n,
530
- S as o,
530
+ y as o,
531
531
  d as r,
532
532
  n as s,
533
- y as t
533
+ C as t
534
534
  };
@@ -1,4 +1,4 @@
1
- import { f as l } from "./translations-BGblCUBj.js";
1
+ import { f as l } from "./translations-uEUkO6gJ.js";
2
2
  const s = {
3
3
  loadingExtended: "Lädt, bitte warten",
4
4
  loadingShort: "Lädt...",
@@ -0,0 +1 @@
1
+ "use strict";const t=require("@tempots/dom"),w=require("./translations-gVgMyNno.cjs"),It=require("./colors-BI0YhONJ.cjs"),Vt=require("./timer-BJHOsuS6.cjs"),Ct=require("@tempots/ui"),B=require("./input-container-B31Seozh.cjs"),M=require("./use-form-i97PToWB.cjs"),L=require("./text-input-w0eVcqk5.cjs"),st=require("./stack-4VUGISn6.cjs");let Y=null;async function Z(){const n=globalThis;return n.Temporal?n.Temporal:(Y||(Y=Promise.resolve().then(()=>require("./index.esm-C6lZ02yY.cjs")).then(e=>{const l=e.Temporal;return n.Temporal||(n.Temporal=l),l})),Y)}const it=(n,e)=>e?t.Task(Z,{then:n,pending:e.pending,error:e.error}):t.Task(Z,n);function q({onChange:n,value:e,accept:l="*/*",enableClick:r=!0,content:o,disabled:m=!1,allowMultiple:a}){return t.Use(w.BeatUII18n,h=>{const p=t.Value.deriveProp(e??[]),b=t.prop(!1),f=c=>{c.preventDefault(),c.stopPropagation(),b.value=!0},d=c=>{c.preventDefault(),c.stopPropagation(),(!c.currentTarget||!c.currentTarget.contains(c.relatedTarget))&&(b.value=!1)},v=c=>{c.preventDefault(),c.stopPropagation(),b.value=!1;const g=Array.from(c.dataTransfer?.files||[]);g.length>0&&(p.value=g,n(g,"dragdrop"))},s=c=>{t.Value.get(r)&&c.currentTarget.querySelector('input[type="file"]')?.click()};let u=null;const V=()=>{if(u==null)return;const c=Array.from(u.files??[]);c.length>0&&(p.value=c,n(c,"click")),u.value=""},k=c=>{t.Value.get(r)&&(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),s(c))};return t.html.div(t.attr.role("button"),t.attr.tabindex(t.Value.map(r,c=>c?0:-1)),t.attr.style("position: relative;"),t.on.dragover(f),t.on.dragleave(d),t.on.drop(v),t.on.click(s),t.on.keydown(k),t.html.input(t.attr.type("file"),t.attr.disabled(m),t.attr.accept(l),t.attr.multiple(a),t.attr.style("position: absolute; left: -9999px; opacity: 0; pointer-events: none;"),t.on.change(V),t.WithElement(c=>(u=c,p.on(g=>{const _=globalThis.DataTransfer;if(_!=null){const C=new _;g.forEach(O=>C.items.add(O)),c.files=C.files}}),t.Empty))),t.aria.label(t.bind(h.$.dropZoneInstructions)(r)),o({files:p,clear:()=>p.value=[],change:p.set}))})}function wt(n,e){return n.length===e.length&&n.every((l,r)=>l===e[r])}function _t(n,e,l){const r=["bc-segmented-input",`bc-segmented-input--size-${n}`];return l==="squared"&&r.push("bc-segmented-input--squared"),e&&r.push("bc-segmented-input--disabled"),r.join(" ")}function kt(n){if(n==null)return"";const e=new Map,l=w.backgroundValue(n,"solid","light"),r=w.backgroundValue(n,"solid","dark");return e.set("--si-indicator-bg",l.backgroundColor),e.set("--si-active-text",l.textColor),e.set("--si-indicator-bg-dark",r.backgroundColor),e.set("--si-active-text-dark",r.textColor),Array.from(e.entries()).map(([o,m])=>`${o}: ${m}`).join("; ")}function Dt({options:n,value:e,onChange:l,size:r="md",disabled:o=!1,variant:m="pill",color:a},...h){const p=It.l(n).map(([b,f])=>({key:b,label:f}));return t.WithElement(()=>{const b=Object.fromEntries(p.map((d,v)=>[d.key,v])),f=t.prop(p.map(()=>({left:0,width:0})),wt);return t.html.div(t.attr.class(t.computedOf(r,o,m)((d,v,s)=>_t(d??"md",v??!1,s??"pill"))),t.attr.style(a!=null?t.Value.map(a,d=>kt(d)):""),t.html.div(t.attr.class("bc-segmented-input__container"),t.html.div(t.attr.class("bc-segmented-input__indicator"),t.style.width(t.computedOf(e,f)((d,v)=>{const{width:s}=v[b[d]??0];return`${s}px`})),t.style.left(t.computedOf(e,f)((d,v)=>{const{left:s}=v[b[d]??0];return`${s}px`}))),p.map(({label:d,key:v},s)=>t.html.button(t.attr.type("button"),t.on.click(u=>{u.preventDefault(),t.Value.get(o)||l?.(v)}),t.attr.disabled(o),t.attr.class("bc-segmented-input__segment"),t.attr.class(t.Value.map(e,u=>u===v?"bc-segmented-input__segment--active":"bc-segmented-input__segment--inactive")),Ct.ElementRect(u=>{function V(){f.update(c=>{const g=[...c];return g[s]={width:u.value.width,left:u.value.localLeft},g})}const k=Vt.g(V);return t.OnDispose(k,u.on(V))}),d))),...h)})}function Et(n){const e=n.type.toLowerCase();return e.startsWith("image/")&&(e.includes("jpeg")||e.includes("jpg")||e.includes("png")||e.includes("gif")||e.includes("webp")||e.includes("svg"))}function Ut(n){const e=n.type.toLowerCase();return e.startsWith("image/")?"vscode-icons:file-type-image":e.startsWith("video/")?"vscode-icons:file-type-video":e.startsWith("audio/")?"vscode-icons:file-type-audio":e.includes("pdf")?"vscode-icons:file-type-pdf2":e.includes("word")||e.includes("document")?"vscode-icons:file-type-word":e.includes("excel")||e.includes("spreadsheet")?"vscode-icons:file-type-excel":e.includes("powerpoint")||e.includes("presentation")?"vscode-icons:file-type-powerpoint":e.includes("zip")||e.includes("archive")?"vscode-icons:file-type-zip":e.includes("text")?"vscode-icons:file-type-text":e.includes("json")?"vscode-icons:file-type-json-official":e.includes("csv")?"vscode-icons:file-type-csv":e.includes("xml")?"vscode-icons:file-type-xml":e.includes("yaml")?"vscode-icons:file-type-yaml-official":"vscode-icons:file-type-binary"}function G(n){return t.When(n.map(Et),()=>{const e=t.prop(null);return n.on(l=>{e.value&&URL.revokeObjectURL(e.value);const r=URL.createObjectURL(l);e.value=r}),t.html.div(t.OnDispose(()=>{e.value&&URL.revokeObjectURL(e.value)}),t.attr.class("bc-file-input__thumbnail-container"),t.html.img(t.attr.src(e),t.attr.alt(n.map(l=>l.name)),t.attr.class("bc-file-input__thumbnail")))},()=>w.Icon({icon:n.map(Ut)}))}const Ot=(n,...e)=>{const{value:l=t.prop([]),accept:r="*/*",maxFiles:o,maxFileSize:m,onChange:a,onBlur:h,disabled:p,hasError:b,mode:f="default",showFileList:d=!0,...v}=n,s=l,u=t.Value.map(f,I=>I==="input"),V=t.Value.map(f,I=>I==="compact"),k=I=>{let i=I;if(o!=null){const x=t.Value.get(o);i=i.slice(0,x)}if(m){const x=t.Value.get(m);i=i.filter(D=>D.size<=x)}a?.(i)},c=I=>{const x=s.value.filter((D,E)=>E!==I);a?.(x)},g=()=>{a?.([])},_=({files:I,clear:i,change:x})=>t.Use(w.BeatUII18n,D=>t.html.div(t.attr.class("bc-file-input__drop-zone"),t.html.div(t.attr.class("bc-file-input__drop-zone-content bc-file-input__drop-zone-content--empty"),w.Icon({icon:"mdi:cloud-upload-outline",size:"xl"}),t.html.div(t.attr.class("bc-file-input__drop-zone-text"),t.bind(D.$.filesInputInstructions)(o,m,D.$.fileSizeUnits.value))))),C=({files:I})=>t.Use(w.BeatUII18n,i=>t.html.div(t.attr.class("bc-file-input__compact-drop-zone"),t.When(I.map(x=>x.length>0),()=>t.html.div(t.attr.class("bc-file-input__compact-file-list"),t.ForEach(I,(x,D)=>{const E=D.index;return t.html.div(t.attr.class("bc-file-input__compact-file-item"),t.html.div(t.attr.class("bc-file-input__compact-file-icon"),G(x)),t.html.div(t.attr.class("bc-file-input__compact-file-info"),t.html.div(t.attr.class("bc-file-input__compact-file-name"),t.attr.title(x.$.name),x.$.name),t.html.div(t.attr.class("bc-file-input__compact-file-meta"),t.computedOf(x.$.size,i.$.fileSizeUnits)((y,U)=>w.formatFileSize(y,{units:U}))," • ",t.computedOf(x.$.type,i.$.unknownType)((y,U)=>y||U))),M.CloseButton({size:"sm",label:i.$.removeFile,disabled:p,onClick:()=>c(E)},t.attr.class("bc-file-input__compact-remove-button")))})),()=>t.html.div(t.attr.class("bc-file-input__compact-placeholder"),w.Icon({icon:"mdi:cloud-upload-outline",size:"lg"}),t.html.div(t.attr.class("bc-file-input__compact-placeholder-text"),t.bind(i.$.filesInputInstructions)(o,m,i.$.fileSizeUnits.value)))))),O=({files:I})=>t.Use(w.BeatUII18n,i=>t.html.div(t.attr.class("bc-file-input__compact-input"),t.When(I.map(x=>x.length>0),()=>t.html.span(t.attr.class("bc-file-input__compact-value"),t.ForEach(I,x=>t.html.span(t.attr.class("bc-file-input__compact-value-item"),G(x),t.html.span(t.attr.class("bc-file-input__compact-value-item-name"),x.$.name)))),()=>t.html.span(t.attr.class("bc-file-input__compact-placeholder"),w.Icon({icon:"mdi:cloud-upload-outline",size:"md"})," ",t.bind(i.$.filesInputInstructions)(o,m,i.$.fileSizeUnits.value)))));return t.Use(w.BeatUII18n,I=>B.InputContainer({baseContainer:t.Value.map(u,i=>!i),disabled:p,hasError:b,after:t.When(u,()=>t.When(s.map(({length:i})=>i>0),()=>M.CloseButton({size:"sm",label:I.$.clearAllFiles,disabled:p,onClick:g},t.attr.class("bc-file-input__compact-clear")))),...v,input:t.When(u,()=>t.html.div(t.attr.class("bc-file-input bc-file-input--input"),q({value:s,accept:r,enableClick:!0,allowMultiple:t.Value.map(o??1/0,i=>i>1),disabled:p,onChange:k,content:O})),()=>t.When(V,()=>t.html.div(t.attr.class("bc-file-input bc-file-input--compact"),q({value:s,accept:r,enableClick:!0,allowMultiple:t.Value.map(o??1/0,i=>i>1),disabled:p,onChange:k,content:C})),()=>t.html.div(t.attr.class("bc-file-input"),q({value:s,accept:r,enableClick:!0,allowMultiple:t.Value.map(o??1/0,i=>i>1),disabled:p,onChange:k,content:_}),t.When(d,()=>t.NotEmpty(s,()=>t.Fragment(t.html.div(t.attr.class("bc-file-input__file-list"),t.ForEach(s,(i,x)=>{const D=x.index;return t.html.div(t.attr.class("bc-file-input__file-item"),t.html.div(t.attr.class("bc-file-input__file-icon"),G(i)),t.html.div(t.attr.class("bc-file-input__file-info"),t.html.div(t.attr.class("bc-file-input__file-name"),t.attr.title(i.$.name),i.$.name),t.html.div(t.attr.class("bc-file-input__file-meta"),t.computedOf(i.$.size,I.$.fileSizeUnits)((E,y)=>w.formatFileSize(E,{units:y}))," • ",t.computedOf(i.$.type,I.$.unknownType)((E,y)=>E||y))),M.CloseButton({size:"sm",label:I.$.removeFile,disabled:p,onClick:()=>c(D)},t.attr.class("bc-file-input__remove-button")))})),t.When(s.map(({length:i})=>i>1),()=>t.html.div(t.attr.class("bc-file-input__clear-all-button-container"),t.html.button(t.attr.type("button"),t.attr.class("bc-file-input__clear-all-button"),t.attr.disabled(p),I.$.clearAllFiles,t.on.click(i=>{i.preventDefault(),i.stopPropagation(),g()}))))))))))},...e))},X="$$tts-exp-",ut=(n,e)=>t.WithElement(l=>{const r=`${X}${n}`;return t.OnDispose(t.Value.on(e,o=>Reflect.set(l,r,o)))}),Mt=(n,e)=>{const l=`${X}${n}`;return r=>{e(Reflect.get(r.target,l))}},ct=(n,e)=>{const l=`${X}${n}`;return r=>{const o=r.target,m=o.selectedIndex,a=o.options[m];e(Reflect.get(a,l))}};function J(...n){return t.html.div(t.attr.class("bc-group"),...n)}const pt=(n,e,l)=>t.Ensure(n,r=>t.OneOfType(r,{value:o=>{const m=t.computedOf(o,l)((a,h)=>e(a.value,h));return t.html.option(t.attr.selected(m),ut("value",o.$.value),o.$.label)},group:o=>t.html.optgroup(t.attr.label(o.$.group),t.ForEach(o.$.options,m=>pt(m,e,l))),break:()=>t.html.hr()})),ft=n=>{const{value:e,onBlur:l,onChange:r,options:o,unselectedLabel:m,equality:a=(b,f)=>b===f,after:h}=n;let p;return B.InputContainer({...n,after:t.Fragment(B.InputIcon({icon:"ph:caret-down-bold",color:"neutral",size:"sm"}),h),input:t.html.select(t.WithElement(b=>{p=b;const f=new MutationObserver(d=>{const{removedNodes:v}=d[0];v.length>0&&(p.selectedIndex=0)});return f.observe(b,{childList:!0}),t.OnDispose(()=>f.disconnect())}),L.CommonInputAttributes(n),t.attr.class("bc-native-select bc-input"),t.Use(w.BeatUII18n,b=>t.html.option(t.attr.hidden("hidden"),t.coalesce(m,b.$.selectOne))),t.ForEach(o,b=>pt(b,a,e)),l!=null?t.on.blur(l):t.Empty,r!=null?t.on.change(ct("value",b=>r(b))):t.Empty)},t.on.click(()=>{if(p?.focus(),typeof p?.showPicker=="function")try{p.showPicker()}catch{}}))};function dt(n){const{controller:e,onChange:l,onBlur:r,...o}=n;return ft({...o,value:e.signal,onChange:M.makeOnChangeHandler(e,l),onBlur:M.makeOnBlurHandler(e,r)})}function $t(n){return M.InputWrapper({...n,content:dt(n)})}function mt(n,e,l){const r=n.length.map(o=>o);return t.Repeat(r,o=>{const m=n.item(o.index),a=[];return t.Fragment(t.OnDispose(()=>{a.forEach(h=>h())}),e({list:n,item:m,position:o,remove:()=>n.removeAt(o.index),move:h=>{switch(h){case"up":if(o.index===0)return;n.move(o.index,o.index-1);break;case"down":if(o.index===n.length.value-1)return;n.move(o.index,o.index+1);break;case"first":n.move(o.index,0);break;case"last":n.move(o.index,n.length.value-1)}},canMove:h=>{const p=(()=>{switch(h){case"up":return t.signal(o.index>0);case"down":return n.length.map(b=>o.index<b-1)}})();return a.push(()=>p.dispose()),p},cannotMove:h=>{const p=(()=>{switch(h){case"up":return t.signal(o.index===0);case"down":return n.length.map(b=>o.index===b-1)}})();return a.push(()=>p.dispose()),p}}))},l)}const nt={9:{pattern:/^[0-9]$/},A:{pattern:/^[A-Za-z]$/,transform:n=>n.toUpperCase()},"*":{pattern:/^.$/}},Bt=n=>n instanceof RegExp;function ht(n,e,l){if(n==null)return[];const r=l?{...nt,...e}:e??nt,o=(a,h)=>{const p=r[h];p?a.push({type:"pattern",name:h,...p}):a.push({type:"literal",char:h})},m=[];if(typeof n=="string"){for(const a of n)o(m,a);return m}for(const a of n)if(typeof a=="string")if(a.length<=1)o(m,a);else for(const h of a)o(m,h);else Bt(a)?m.push({type:"pattern",pattern:a}):typeof a=="object"&&a&&m.push(a);return m}function St(n,e){return l=>{switch(n){case"digits":return/[0-9]/.test(l);case"letters":return/[A-Za-z]/.test(l);case"alphanumeric":return/[A-Za-z0-9]/.test(l);case"custom":return e?.(l)??!0;default:return!0}}}function lt(n,e,l,r,o,m){const a={raw:n,previousConformed:e,cursor:o??n.length,completed:!1},h=r.definitions??{},p=typeof l=="function"?l(n,a):l,b=ht(p,h,r.useDefaultDefinitions??!0),f=St(r.allowMode,r.allow),d=new Set;for(const y of b)y.type==="literal"&&d.add(y.char);if(r.prefix)for(const y of r.prefix)d.add(y);if(r.suffix)for(const y of r.suffix)d.add(y);const v=Array.from(n).filter(y=>f(y)&&!d.has(y));if(v.length===0)return{value:"",cursor:0,completed:!1};const s=[],u=[];let V=0,k=0,c=0,g=-1;for(const y of b){if(y.type==="literal"){s.push(y.char),u.push({kind:"literal",filled:!0});continue}k+=y.optional?0:1;const U=v[V];if(U==null)break;if(y.type==="any"){c++,s.push(y.transform?y.transform(U):U),u.push({kind:"slot",filled:!0}),g=u.length-1,V++;continue}if(y.type==="pattern")if(y.pattern.test(U)){c++;const S=y.transform?y.transform(U):U;s.push(S),u.push({kind:"slot",filled:!0}),g=u.length-1,V++}else{V++;continue}}const _=s.join(""),C=(r.prefix??"")+_+(r.suffix??"");let I=(r.prefix??"").length;if(g>=0){let y=g+1;if((m?.policy??"smart")!=="sticky")for(;y<u.length&&u[y].kind==="literal";)y++;I+=y}const i=r.completion?.mode==="min"?(r.completion.minChars??0)<=c:r.completion?.mode==="custom"?!!r.completion.isComplete?.(C):k>0&&c>=k,x=r.pipe?.(C,{...a,completed:i});let D,E=I;return x===!1?(D=e,E=e.length):typeof x=="string"?(D=x,E=x.length):typeof x=="object"&&x?(D=x.value,E=x.cursor??x.value.length):D=C,{value:D,cursor:E,completed:i}}function Tt(n,e){const l=e?.strategy??"none";return l==="custom"&&e?.unmask?e.unmask(n):l==="strip"?n.replace(/[^A-Za-z0-9]/g,""):n}const Q=n=>{const{value:e,onBlur:l,onChange:r,onInput:o,onAccept:m,onComplete:a,mask:h,definitions:p,useDefaultDefinitions:b,extraLiterals:f,prefix:d,suffix:v,autofix:s,pipe:u,completion:V,unmask:k,allowMode:c,allow:g,placeholder:_,placeholderOptions:C}=n,O=t.computedOf(e,h,p,b,f,d,v,s,V,k,c,_,C)((i,x,D,E,y,U,S,W,R,N,A,P,T)=>x?lt(i??"","",x,{definitions:D??{},useDefaultDefinitions:E??!0,extraLiterals:y??[],autofix:W??"none",completion:R??{mode:"mask"},pipe:u??($=>$),unmask:N??{strategy:"none"},allowMode:A??"all",allow:g,prefix:U,suffix:S}).value:i??""),I=(i,x)=>{const D=i.value??"",E=t.Value.get(e)??"",y=h!=null?t.Value.get(h):null,U=p!=null?t.Value.get(p):void 0,S=b!=null?t.Value.get(b):void 0,W=f!=null?t.Value.get(f):void 0,R=s!=null?t.Value.get(s):void 0,N=V!=null?t.Value.get(V):void 0,A=k!=null?t.Value.get(k):void 0,P=c!=null?t.Value.get(c):void 0,T=d!=null?t.Value.get(d):void 0,$=v!=null?t.Value.get(v):void 0,{value:F,cursor:H,completed:tt}=y?lt(D,E,y,{definitions:U??{},useDefaultDefinitions:S??!0,extraLiterals:W??[],autofix:R??"none",completion:N??{mode:"mask"},pipe:u??(yt=>yt),unmask:A??{strategy:"none"},allowMode:P??"all",allow:g,prefix:T,suffix:$},i.selectionStart??D.length,n.cursor?t.Value.get(n.cursor):void 0):{value:D,cursor:D.length,completed:!0};if(F!==D){i.value=F;try{i.setSelectionRange(H,H)}catch{}}const et=Tt(F,A);m?.({raw:et,conformed:F,completed:tt,cursor:H}),x==="input"?o?.(F):(r?.(F),tt&&a?.({raw:et,conformed:F}))};return B.InputContainer({...n,input:t.input.text(L.CommonInputAttributes(n),t.attr.value(O),t.attr.class("bc-input"),l!=null?t.on.blur(l):t.Empty,t.WithElement(i=>i instanceof HTMLInputElement?t.Fragment(t.on.input(()=>I(i,"input")),t.on.change(()=>I(i,"change")),t.on.keydown(x=>{if(x.key!=="Backspace"||!(n.cursor?t.Value.get(n.cursor)?.backspaceRubberBand??!0:!0))return;const E=i.selectionStart??0,y=i.selectionEnd??E;if(E!==y||E<=0)return;const U=i.value??"",S=h!=null?t.Value.get(h):null;if(!S)return;const W=p!=null?t.Value.get(p):void 0,R=b!=null?t.Value.get(b):!0,N=d!=null?t.Value.get(d):void 0,A=v!=null?t.Value.get(v):void 0,P=ht(typeof S=="function"?S(U,{raw:U,previousConformed:U,cursor:E,completed:!1}):S,W??{},R??!0),T=new Set;for(const $ of P)$.type==="literal"&&T.add($.char);if(N)for(const $ of N)T.add($);if(A)for(const $ of A)T.add($);if(T.has(U[E-1])){let $=E-1;for(;$>=0&&T.has(U[$]);)$--;$>=0&&(x.preventDefault(),x.stopPropagation(),i.value=U.slice(0,$)+U.slice($+1),I(i,"input"))}})):t.Empty))})};function K(n,e,l){const r=t.Value.map(n,a=>a!=null),o=t.computedOf(r,e??!1)((a,h)=>!a||h),m=w.defaultMessages.clearValue;return t.html.button(t.attr.type("button"),t.attr.class("bc-input-container__reset"),t.aria.label(m),t.attr.title(m),t.attr.disabled(o),w.Icon({icon:"mdi:close",size:"sm"}),t.on.click(a=>{a.stopPropagation(),l?.(null)}))}const At=n=>{const{value:e,onBlur:l,onChange:r,onInput:o,rows:m}=n;return B.InputContainer({baseContainer:!0,...n,input:t.html.textarea(t.attr.class(t.computedOf(n.size??"md")(a=>B.generateInputContainerInputClasses(!1,a??"md"))),L.CommonInputAttributes(n),t.attr.rows(m??3),t.attr.value(e),t.attr.class("bc-input"),l!=null?t.on.blur(t.emitValue(l)):t.Empty,r!=null?t.on.change(t.emitValue(r)):t.Empty,o!=null?t.on.input(t.emitValue(o)):t.Empty)})};function Ft(n){const e=String(n),l=e.indexOf(".");return l===-1?0:e.length-l-1}function z(n,e){const l=Ft(e);if(l===0)return Math.round(n);const r=Math.pow(10,l);return Math.round(n*r)/r}const zt=n=>{const{value:e,step:l,min:r,max:o,onBlur:m,onChange:a,onInput:h,after:p}=n,b=v=>{const s=r!=null?t.Value.get(r):void 0,u=o!=null?t.Value.get(o):void 0;return s!=null&&v<s?s:u!=null&&v>u?u:v},f=l!=null?t.Use(w.BeatUII18n,v=>{const s=t.computedOf(e,r)((c,g)=>g==null?!0:(c??0)>g),u=t.computedOf(e,o)((c,g)=>g==null?!0:(c??0)<g),V=c=>{const g=t.Value.get(e)??0,_=t.Value.get(l),C=c?.shiftKey?10:1,O=z(g-_*C,_),I=r!=null?t.Value.get(r):void 0;if(I!=null&&O<I)return;const i=b(O);i!==g&&a&&a(i)},k=c=>{const g=t.Value.get(e)??0,_=t.Value.get(l),C=c?.shiftKey?10:1,O=z(g+_*C,_),I=o!=null?t.Value.get(o):void 0;if(I!=null&&O>I)return;const i=b(O);i!==g&&a&&a(i)};return st.Stack(t.attr.class("bc-number-input-steppers"),t.html.button(t.attr.type("button"),t.attr.class("bc-button bc-number-input-steppers-button bc-number-input-steppers-button--increment"),t.attr.disabled(t.computedOf(u,n.disabled??!1)((c,g)=>!c||g)),t.on.click(c=>k(c)),t.aria.label(v.$.incrementValue),w.Icon({icon:"line-md:plus",size:"xs"})),t.html.button(t.attr.type("button"),t.attr.class("bc-button bc-number-input-steppers-button bc-number-input-steppers-button--decrement"),t.attr.disabled(t.computedOf(s,n.disabled??!1)((c,g)=>!c||g)),t.on.click(c=>V(c)),t.aria.label(v.$.decrementValue),w.Icon({icon:"line-md:minus",size:"xs"})))}):null,d=p!=null&&f!=null?t.Fragment(f,p):p??f;return B.InputContainer({...n,input:t.input.number(r!=null?t.attr.min(r):t.Empty,o!=null?t.attr.max(o):t.Empty,L.CommonInputAttributes(n),t.attr.valueAsNumber(e),t.attr.step(l),t.attr.class("bc-input bc-number-input"),m!=null?t.on.blur(t.emitValue(m)):t.Empty,a!=null?t.on.change(t.emitValueAsNumber(a)):t.Empty,h!=null?t.on.input(t.emitValueAsNumber(h)):t.Empty,l!=null?t.on.wheel(v=>{v.preventDefault();const s=t.Value.get(e)??0,u=t.Value.get(l),V=v.shiftKey?10:1,k=v.deltaY<0?u*V:-u*V,c=b(z(s+k,u));c!==s&&a&&a(c)}):t.Empty),after:d})},rt=n=>{if(n==null||n==="")return null;const e=Number(n);return Number.isNaN(e)?null:e},Lt=n=>{const{value:e,step:l,min:r,max:o,onBlur:m,onChange:a,onInput:h,after:p}=n,b=s=>{const u=r!=null?t.Value.get(r):void 0,V=o!=null?t.Value.get(o):void 0;return u!=null&&s<u?u:V!=null&&s>V?V:s},f=(()=>{if(l==null)return null;const s=t.computedOf(e,r)((g,_)=>{const C=g??0;return _==null?!0:C>_}),u=t.computedOf(e,o)((g,_)=>{const C=g??0;return _==null?!0:C<_}),V=g=>{const _=t.Value.get(e)??0,C=t.Value.get(l),O=g?.shiftKey?10:1,I=z(_-C*O,C),i=r!=null?t.Value.get(r):void 0;if(i!=null&&I<i)return;const x=b(I);x!==_&&a&&a(x)},k=g=>{const _=t.Value.get(e)??0,C=t.Value.get(l),O=g?.shiftKey?10:1,I=z(_+C*O,C),i=o!=null?t.Value.get(o):void 0;if(i!=null&&I>i)return;const x=b(I);x!==_&&a&&a(x)};return((g,_)=>st.Stack(t.attr.class("bc-number-input-steppers"),t.html.button(t.attr.type("button"),t.attr.class("bc-button bc-number-input-steppers-button bc-number-input-steppers-button--increment"),t.attr.disabled(t.computedOf(u,n.disabled??!1)((C,O)=>!C||O)),t.on.click(C=>k(C)),t.aria.label(g),w.Icon({icon:"line-md:plus",size:"xs"})),t.html.button(t.attr.type("button"),t.attr.class("bc-button bc-number-input-steppers-button bc-number-input-steppers-button--decrement"),t.attr.disabled(t.computedOf(s,n.disabled??!1)((C,O)=>!C||O)),t.on.click(C=>V(C)),t.aria.label(_),w.Icon({icon:"line-md:minus",size:"xs"}))))(w.defaultMessages.incrementValue,w.defaultMessages.decrementValue)})(),d=K(e,n.disabled,a??h),v=p!=null&&f!=null?t.Fragment(f,d,p):p!=null?t.Fragment(d,p):f!=null?t.Fragment(f,d):d;return B.InputContainer({...n,input:t.input.number(r!=null?t.attr.min(r):t.Empty,o!=null?t.attr.max(o):t.Empty,L.CommonInputAttributes(n),t.attr.value(t.Value.map(e,s=>s==null?"":String(s))),t.attr.step(l),t.attr.class("bc-input bc-number-input"),m!=null?t.on.blur(t.emitValue(m)):t.Empty,a!=null?t.on.change(t.emitValue(s=>{const u=rt(s);a(u)})):t.Empty,h!=null?t.on.input(t.emitValue(s=>{const u=rt(s);h(u)})):t.Empty,l!=null?t.on.wheel(s=>{s.preventDefault();const u=t.Value.get(e)??0,V=t.Value.get(l),k=s.shiftKey?10:1,c=s.deltaY<0?V*k:-V*k,g=b(z(u+c,V));g!==u&&a&&a(g)}):t.Empty),after:v})},Nt=n=>{const e={type:"pattern",pattern:/[0-9A-Fa-f]/,transform:r=>r.toLowerCase()};return Q({...n,mask:[e,e,e,e,e,e,e,e,"-",e,e,e,e,"-",e,e,e,e,"-",e,e,e,e,"-",e,e,e,e,e,e,e,e,e,e,e,e],placeholder:n.placeholder??"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"})},Wt=/^P(\d+([YMWD]|$)){0,4}(T(\d+([HMS]|$)){0,3})?$/i,Rt=/^P(?:(\d+Y)?(\d+M)?(\d+W)?(\d+D)?)(T(\d+H)?(\d+M)?(\d+S)?)?$/i;function bt(n){return{mask:null,allowMode:"custom",allow:e=>/[0-9ptwdhms]/i.test(e),pipe:e=>{const l=e.toUpperCase();return l.length===0?l:!l.startsWith("P")||!Wt.test(l)?!1:l},completion:{mode:"custom",isComplete:e=>{const l=e.toUpperCase();if(!Rt.test(l))return!1;try{return n(l),!0}catch{return!1}}}}}const ot=(n,e)=>{if(n==null)return null;try{return n.Duration.from(e)}catch{return null}},Pt=n=>{const{value:e,onChange:l,onInput:r,after:o,disabled:m,onBlur:a}=n,h=()=>{const f=K(e,m,l??r);return o!=null?t.Fragment(f,o):f},p=n.placeholder!=null?t.Empty:t.attr.placeholder("P0DT0H0M0S");return it(f=>Q({...n,value:t.Value.map(e,d=>d?.toString()??""),onChange:l?d=>l(d===""?null:f.Duration.from(d)):void 0,onInput:void 0,...bt(f.Duration.from),placeholder:"P0DT0H0M0S",after:h()}),{pending:()=>{const f=d=>v=>{const u=v.currentTarget?.value??"";if(u===""){d(null);return}const V=globalThis.Temporal,k=ot(V,u);if(k!=null){d(k);return}Z().then(c=>{const g=ot(c,u);g!=null&&d(g)}).catch(()=>{})};return B.InputContainer({...n,input:t.input.text(L.CommonInputAttributes(n),t.attr.value(t.Value.map(e,d=>d?.toString()??"")),t.attr.class("bc-input"),p,a!=null?t.on.blur(()=>a()):t.Empty,l!=null?t.on.change(f(l)):t.Empty,r!=null?t.on.input(f(r)):t.Empty),after:h()})}})},jt=n=>{const{value:e,onBlur:l,onChange:r,onInput:o}=n;return B.InputContainer({...n,input:t.input.url(L.CommonInputAttributes(n),t.attr.value(e),t.attr.class("bc-input"),l!=null?t.on.blur(t.emitValue(l)):t.Empty,r!=null?t.on.change(t.emitValue(r)):t.Empty,o!=null?t.on.input(t.emitValue(o)):t.Empty)})};function gt(n,e){const{onMove:l,cannotMoveUp:r,cannotMoveDown:o,onRemove:m,showMove:a=!0,showRemove:h=!0,removeDisabled:p,showMoveButtons:b=!0,layout:f="aside"}=n,d=t.Value.toSignal(f).map(u=>u==="aside"),v=t.When(a,()=>t.html.div(t.attr.class("bc-list-item-controls__move"),B.Button({size:"xs",roundedness:"full",variant:"text",onClick:()=>l("up"),disabled:r},t.Use(w.BeatUII18n,u=>w.Icon({size:"xs",icon:"line-md:arrow-up",title:u.$.incrementValue}))),B.Button({size:"xs",roundedness:"full",variant:"text",onClick:()=>l("down"),disabled:o},t.Use(w.BeatUII18n,u=>w.Icon({size:"xs",icon:"line-md:arrow-down",title:u.$.decrementValue}))))),s=t.When(h,()=>t.Use(w.BeatUII18n,u=>M.CloseButton({size:"xs",label:t.Value.map(u.$.removeItem,V=>V.toLowerCase()),color:"danger",disabled:p,onClick:m})));return t.When(d,()=>t.html.div(t.attr.class("bc-list-item-controls bc-list-item-controls--aside"),t.html.div(t.attr.class("bc-list-item-controls__content"),e),t.html.div(t.attr.class("bc-list-item-controls__actions"),t.When(b,()=>v),s)),()=>t.html.div(t.attr.class("bc-list-item-controls bc-list-item-controls--below"),t.html.div(t.attr.class("bc-list-item-controls__content"),e),t.html.div(t.attr.class("bc-list-item-controls__actions"),t.When(b,()=>v,()=>t.html.div()),s)))}const vt=n=>{const{controller:e,element:l,separator:r,showMove:o=!0,showRemove:m=!0,showAdd:a=!0,createItem:h,addLabel:p,controlsLayout:b="aside",removeDisabled:f,addDisabled:d}=n,v=t.When(t.computedOf(a,h)((s,u)=>s&&u!=null),()=>J(t.attr.class("bc-group--gap-2 bc-group--align-center bc-group--justify-center"),B.Button({size:"sm",variant:"filled",onClick:()=>e.push(h()),disabled:t.computedOf(e.disabled,d??!1)((s,u)=>s||u)},t.Use(w.BeatUII18n,s=>J(t.attr.class("bc-group--gap-2"),w.Icon({icon:"line-md:plus"}),p??s.$.addLabel)))));return t.Fragment(mt(e,s=>gt({onMove:s.move,cannotMoveUp:s.cannotMove("up"),cannotMoveDown:s.cannotMove("down"),onRemove:s.remove,showMove:o,showRemove:m,removeDisabled:f,showMoveButtons:e.signal.map(u=>u.length>1),layout:b},l(s)),r),v)},qt=(n,...e)=>{const{controller:l,element:r,separator:o,showMove:m,showRemove:a,showAdd:h,createItem:p,addLabel:b,controlsLayout:f,removeDisabled:d,addDisabled:v,...s}=n;return M.InputWrapper({...s,content:vt({controller:l,element:r,separator:o,showMove:m,showRemove:a,showAdd:h,createItem:p,addLabel:b,controlsLayout:f,removeDisabled:d,addDisabled:v})},...e)};class Zt extends M.Controller{branches;activeBranch;#e;#t=new Map;constructor(e,l,r,o,m,a,h=M.O){super(e,l,r,o,m,h),this.branches=a;const p=f=>{for(const d of a)if(d.detect(f))return d.key;return a[0]?.key??"unknown"};this.activeBranch=r.map(p,M.O);const b=f=>{if(this.#t.has(f))return this.#t.get(f);const d=a.find(s=>s.key===f);if(!d)throw new Error(`Unknown branch: ${f}`);const v=new M.Controller([...e,f],s=>{this.change(s)},this.signal.map(s=>d.detect(s)?s:d.defaultValue(),h),o.map(M.makeMapValidation([f])),{disabled:this.disabled,validationMode:this.parent.validationMode},h);return this.#t.set(f,v),v};this.#e=this.activeBranch.map(f=>b(f),M.O),this.onDispose(()=>{for(const f of this.#t.values())f.dispose();this.#t.clear(),this.activeBranch.dispose(),this.#e.dispose()})}get activeController(){return t.Value.get(this.#e)}getBranchController(e){const l=this.branches.find(o=>o.key===e);if(!l)throw new Error(`Unknown branch: ${e}`);if(this.#t.has(e))return this.#t.get(e);const r=new M.Controller([...this.path,e],o=>{this.change(o)},this.signal.map(o=>l.detect(o)?o:l.defaultValue(),M.O),this.status.map(M.makeMapValidation([e])),{disabled:this.disabled,validationMode:this.parent.validationMode},M.O);return this.#t.set(e,r),r}switchToBranch(e,l=!1){const r=this.branches.find(a=>a.key===e);if(!r)throw new Error(`Unknown branch: ${e}`);const o=t.Value.get(this.signal);if(r.detect(o))return!0;if(r.convert){const a=r.convert(o);if(a.ok)return this.change(a.value),!0}if(l&&typeof window=="object"&&typeof window.confirm=="function"&&!window.confirm(w.defaultMessages.changeTypeConfirmation))return!1;const m=r.defaultValue();return this.change(m),!0}get activeBranchDefinition(){const e=t.Value.get(this.activeBranch);return this.branches.find(l=>l.key===e)}}function Ht(n){return n.transform(e=>e??null,e=>e??void 0)}function Yt(n){return n.transform(e=>e??"",e=>e===""?void 0:e)}function Gt(n){return n.transform(e=>e??void 0,e=>e??null)}function j(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)&&Object.prototype.toString.call(n)==="[object Object]"}function xt(n,e){if(e==null)return at(n);if(n==null)return e;if(j(n)&&j(e)){const l={...e};for(const r of Object.keys(n))l[r]===void 0?l[r]=at(n[r]):j(n[r])&&j(l[r])&&(l[r]=xt(n[r],l[r]));return l}return e}function at(n){return typeof structuredClone=="function"?structuredClone(n):JSON.parse(JSON.stringify(n))}exports.BaseListControl=vt;exports.BaseNativeSelectControl=dt;exports.Expando=ut;exports.FilesInput=Ot;exports.Group=J;exports.ListControl=qt;exports.ListInput=mt;exports.ListItemControls=gt;exports.MaskInput=Q;exports.NativeSelect=ft;exports.NativeSelectControl=$t;exports.NullableDurationInput=Pt;exports.NullableNumberInput=Lt;exports.NullableResetAfter=K;exports.NumberInput=zt;exports.SegmentedInput=Dt;exports.TextArea=At;exports.UUIDInput=Nt;exports.UnionController=Zt;exports.UnstyledDropZone=q;exports.UrlInput=jt;exports.WithTemporal=it;exports.deepMergeDefaults=xt;exports.durationMaskConfig=bt;exports.emitExpando=Mt;exports.emitOptionExpando=ct;exports.ensureTemporal=Z;exports.roundToStep=z;exports.transformEmptyStringToUndefined=Yt;exports.transformNullToUndefined=Ht;exports.transformUndefinedToNull=Gt;