From 4cff8b30c8d8a8e624e0d988df4ce57effa6f414 Mon Sep 17 00:00:00 2001 From: Ron Mercado Date: Sun, 3 Apr 2022 00:36:24 +0800 Subject: [PATCH] ui(totp): configure and login otp - added configure and login otp pages --- .../keywind/login/components/button/icon.ftl | 2 +- .../login/components/button/secondary.ftl | 10 ++ theme/keywind/login/components/label/totp.ftl | 5 + .../login/components/label/userdevice.ftl | 5 + .../login/components/layout/username.ftl | 17 +-- .../login/components/radio/primary.ftl | 18 +++ theme/keywind/login/login-config-totp.ftl | 129 ++++++++++++++++++ theme/keywind/login/login-otp.ftl | 63 +++++++++ theme/keywind/login/resources/dist/index.css | 2 +- theme/keywind/login/resources/dist/index.js | 7 +- .../keywind/login/resources/dist/index.js.map | 4 +- 11 files changed, 246 insertions(+), 16 deletions(-) create mode 100644 theme/keywind/login/components/button/secondary.ftl create mode 100644 theme/keywind/login/components/label/totp.ftl create mode 100644 theme/keywind/login/components/label/userdevice.ftl create mode 100644 theme/keywind/login/components/radio/primary.ftl create mode 100644 theme/keywind/login/login-config-totp.ftl create mode 100644 theme/keywind/login/login-otp.ftl diff --git a/theme/keywind/login/components/button/icon.ftl b/theme/keywind/login/components/button/icon.ftl index 76b4896..b352a83 100644 --- a/theme/keywind/login/components/button/icon.ftl +++ b/theme/keywind/login/components/button/icon.ftl @@ -1,6 +1,6 @@ <#macro kw component="span" rest...> <${component} - class="absolute left-0 ml-3 text-lg" + class="ml-3 text-lg text-primary-600" <#list rest as attrName, attrValue> ${attrName}="${attrValue}" diff --git a/theme/keywind/login/components/button/secondary.ftl b/theme/keywind/login/components/button/secondary.ftl new file mode 100644 index 0000000..76a436f --- /dev/null +++ b/theme/keywind/login/components/button/secondary.ftl @@ -0,0 +1,10 @@ +<#macro kw component="button" rest...> + <${component} + class="bg-transparent flex justify-center px-4 py-3 relative rounded-lg font-bold text-gray-600 w-full focus:outline-none hover:text-black" + <#list rest as attrName, attrValue> + ${attrName}="${attrValue}" + + > + <#nested> + + diff --git a/theme/keywind/login/components/label/totp.ftl b/theme/keywind/login/components/label/totp.ftl new file mode 100644 index 0000000..be5158e --- /dev/null +++ b/theme/keywind/login/components/label/totp.ftl @@ -0,0 +1,5 @@ +<#macro kw> + <#compress> + ${msg("authenticatorCode")} * + + diff --git a/theme/keywind/login/components/label/userdevice.ftl b/theme/keywind/login/components/label/userdevice.ftl new file mode 100644 index 0000000..98ae12f --- /dev/null +++ b/theme/keywind/login/components/label/userdevice.ftl @@ -0,0 +1,5 @@ +<#macro kw> + <#compress> + ${msg("loginTotpDeviceName")} <#if totp.otpCredentials?size gte 1>* + + diff --git a/theme/keywind/login/components/layout/username.ftl b/theme/keywind/login/components/layout/username.ftl index c0ccf8b..ed16fad 100644 --- a/theme/keywind/login/components/layout/username.ftl +++ b/theme/keywind/login/components/layout/username.ftl @@ -4,13 +4,14 @@ <#macro kw> <#nested "show-username"> -
-
${auth.attemptedUsername}
- <@buttonPrimary.kw component="a" href="${url.loginRestartFlowUrl}"> - <@buttonIcon.kw> - <@iconExternalLink.kw /> - - ${msg("restartLoginTooltip")} - +
+
${auth.attemptedUsername}
+ <@buttonIcon.kw + component="a" + href="${url.loginRestartFlowUrl}" + title="${msg('restartLoginTooltip')}" + > + <@iconExternalLink.kw /> +
diff --git a/theme/keywind/login/components/radio/primary.ftl b/theme/keywind/login/components/radio/primary.ftl new file mode 100644 index 0000000..74e19e9 --- /dev/null +++ b/theme/keywind/login/components/radio/primary.ftl @@ -0,0 +1,18 @@ +<#macro kw tabIndex id checked=false rest...> + checked + class="focus:ring-primary-500 h-4 w-4 text-primary-600 border-gray-300" + type="radio" + id="${id}" + <#list rest as attrName, attrValue> + ${attrName}="${attrValue}" + + > + + diff --git a/theme/keywind/login/login-config-totp.ftl b/theme/keywind/login/login-config-totp.ftl new file mode 100644 index 0000000..bab4b7e --- /dev/null +++ b/theme/keywind/login/login-config-totp.ftl @@ -0,0 +1,129 @@ +<#import "template.ftl" as layout> +<#import "components/button/primary.ftl" as buttonPrimary> +<#import "components/button/secondary.ftl" as buttonSecondary> +<#import "components/input/primary.ftl" as inputPrimary> +<#import "components/label/totp.ftl" as labelTotp> +<#import "components/label/userdevice.ftl" as labelUserDevice> +<#import "components/link/primary.ftl" as linkPrimary> + +<@layout.registrationLayout + displayRequiredFields=false + displayMessage=!messagesPerField.existsError('totp','userLabel') + ; + section +> + <#if section="header"> + ${msg("loginTotpTitle")} + <#elseif section="form"> +
    +
  1. +

    ${msg("loginTotpStep1")}

    + +
      + <#list totp.policy.supportedApplications as app> +
    • ${app}
    • + +
    +
  2. + + <#if mode?? && mode = "manual"> +
  3. +

    ${msg("loginTotpManualStep2")}

    +

    ${totp.totpSecretEncoded}

    +
  4. +
  5. + <@linkPrimary.kw href=totp.qrUrl> + ${msg("loginTotpScanBarcode")} + +
  6. +
  7. +

    ${msg("loginTotpManualStep3")}

    + +
      +
    • ${msg("loginTotpType")}: ${msg("loginTotp." + totp.policy.type)}
    • +
    • ${msg("loginTotpAlgorithm")}: ${totp.policy.getAlgorithmKey()}
    • +
    • ${msg("loginTotpDigits")}: ${totp.policy.digits}
    • + <#if totp.policy.type = "totp"> +
    • ${msg("loginTotpInterval")}: ${totp.policy.period}
    • + <#elseif totp.policy.type = "hotp"> +
    • ${msg("loginTotpCounter")}: ${totp.policy.initialCounter}
    • + +
    +
  8. + <#else> +
  9. +

    ${msg("loginTotpStep2")}

    + + Figure: Barcode
    +

    + <@linkPrimary.kw href=totp.manualUrl> + ${msg("loginTotpUnableToScan")} + +

    +
  10. + +
  11. +

    ${msg("loginTotpStep3")}

    +
  12. +
  13. +

    ${msg("loginTotpStep3DeviceName")}

    +
  14. +
+
+
+ <@inputPrimary.kw + autocomplete="off" + autofocus=true + invalid=["totp"] + name="totp" + type="text" + id="totp" + > + <@labelTotp.kw /> + + + <#if mode??> +
+ +
+ <@inputPrimary.kw + autocomplete="off" + autofocus=true + invalid=["userLabel"] + name="userLabel" + type="text" + id="totp" + > + <@labelUserDevice.kw /> + +
+ + <#if isAppInitiatedAction??> +
+ <@buttonPrimary.kw + type="submit" + value=msg("doSubmit") + > + ${msg("doSubmit")} + + + <@buttonSecondary.kw + type="submit" + value="true" + > + ${msg("doCancel")} + +
+ <#else> +
+ <@buttonPrimary.kw + type="submit" + value=msg("doSubmit") + > + ${msg("doSubmit")} + +
+ +
+ + diff --git a/theme/keywind/login/login-otp.ftl b/theme/keywind/login/login-otp.ftl new file mode 100644 index 0000000..25c7f93 --- /dev/null +++ b/theme/keywind/login/login-otp.ftl @@ -0,0 +1,63 @@ +<#import "template.ftl" as layout> +<#import "components/button/primary.ftl" as buttonPrimary> +<#import "components/input/primary.ftl" as inputPrimary> +<#import "components/radio/primary.ftl" as radioPrimary> +<#import "components/label/totp.ftl" as labelTotp> +<#import "components/link/secondary.ftl" as linkSecondary> + +<@layout.registrationLayout + displayMessage=!messagesPerField.existsError('totp') + ; + section +> + <#if section="header"> + ${msg("doLogIn")} + <#elseif section="form"> +
+ <#if otpLogin.userOtpCredentials?size gt 1> +
+
+ <#list otpLogin.userOtpCredentials as otpCredential> + <@radioPrimary.kw + tabIndex="${otpCredential?index}" + id="kc-otp-credential-${otpCredential?index}" + name="selectedCredentialId" + value="${otpCredential.id}" + checked=(otpCredential.id == otpLogin.selectedCredentialId) + > + ${otpCredential.userLabel} + + +
+
+ + +
+ <@inputPrimary.kw + autocomplete="off" + autofocus=true + invalid=["otp"] + name="otp" + type="text" + id="otp" + > + <@labelTotp.kw /> + +
+ +
+ <@buttonPrimary.kw + name="submitAction" + type="submit" + value=msg("doLogIn") + > + ${msg("doLogIn")} + +
+
+ + diff --git a/theme/keywind/login/resources/dist/index.css b/theme/keywind/login/resources/dist/index.css index 929ec1c..8112f00 100644 --- a/theme/keywind/login/resources/dist/index.css +++ b/theme/keywind/login/resources/dist/index.css @@ -1 +1 @@ -/*! tailwindcss v3.0.8 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select{-webkit-print-color-adjust:exact;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;color-adjust:exact;padding-right:2.5rem}[multiple]{-webkit-print-color-adjust:unset;background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;color-adjust:unset;padding-right:.75rem}[type=checkbox],[type=radio]{-webkit-print-color-adjust:exact;--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;color-adjust:exact;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}*,:after,:before{--tw-border-opacity:1;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border-color:rgb(229 231 235/var(--tw-border-opacity))}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.separate{align-items:center;display:flex;text-align:center}.separate:after,.separate:before{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(209 213 219/var(--tw-border-opacity));content:"";flex:1 1 0%}.separate:not(:empty):after{margin-left:.5rem}.separate:not(:empty):before{margin-right:.5rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.bottom-0{bottom:0}.-left-4{left:-1rem}.m-0{margin:0}.ml-3{margin-left:.75rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mr-1{margin-right:.25rem}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.mb-2{margin-bottom:.5rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-4{height:1rem}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-4{width:1rem}.max-w-md{max-width:28rem}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-y-scroll{overflow-y:scroll}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.p-4{padding:1rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}@media (min-width:640px){.sm\:py-16{padding-bottom:4rem;padding-top:4rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}} \ No newline at end of file +/*! tailwindcss v3.0.23 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{color-adjust:exact;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact}[multiple]{color-adjust:unset;background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset}[type=checkbox],[type=radio]{color-adjust:exact;--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.separate{align-items:center;display:flex;text-align:center}.separate:after,.separate:before{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(209 213 219/var(--tw-border-opacity));content:"";flex:1 1 0%}.separate:not(:empty):after{margin-left:.5rem}.separate:not(:empty):before{margin-right:.5rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.-left-4{left:-1rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.ml-6{margin-left:1.5rem}.ml-3{margin-left:.75rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mr-1{margin-right:.25rem}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.mr-4{margin-right:1rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-4{height:1rem}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-4{width:1rem}.max-w-md{max-width:28rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-y-scroll{overflow-y:scroll}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.p-4{padding:1rem}.p-8{padding:2rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.pl-4{padding-left:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-primary-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}@media (min-width:640px){.sm\:py-16{padding-bottom:4rem;padding-top:4rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}} \ No newline at end of file diff --git a/theme/keywind/login/resources/dist/index.js b/theme/keywind/login/resources/dist/index.js index 2498246..8d928f0 100644 --- a/theme/keywind/login/resources/dist/index.js +++ b/theme/keywind/login/resources/dist/index.js @@ -1,7 +1,6 @@ -var en=Object.defineProperty;var tn=Object.prototype.hasOwnProperty;var ir=Object.getOwnPropertySymbols,rn=Object.prototype.propertyIsEnumerable;var ar=(e,t,n)=>t in e?en(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ke=(e,t)=>{for(var n in t||(t={}))tn.call(t,n)&&ar(e,n,t[n]);if(ir)for(var n of ir(t))rn.call(t,n)&&ar(e,n,t[n]);return e};var nn=Object.create,Tt=Object.defineProperty,an=Object.getPrototypeOf,on=Object.prototype.hasOwnProperty,sn=Object.getOwnPropertyNames,ln=Object.getOwnPropertyDescriptor,cn=e=>Tt(e,"__esModule",{value:!0}),Xe=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),un=(e,t,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sn(t))!on.call(e,i)&&i!=="default"&&Tt(e,i,{get:()=>t[i],enumerable:!(n=ln(t,i))||n.enumerable});return e},fn=e=>un(cn(Tt(e!=null?nn(an(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),dn=Xe(e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(l,d){let p=Object.create(null),v=l.split(",");for(let S=0;S!!p[S.toLowerCase()]:S=>!!p[S]}var n={[1]:"TEXT",[2]:"CLASS",[4]:"STYLE",[8]:"PROPS",[16]:"FULL_PROPS",[32]:"HYDRATE_EVENTS",[64]:"STABLE_FRAGMENT",[128]:"KEYED_FRAGMENT",[256]:"UNKEYED_FRAGMENT",[512]:"NEED_PATCH",[1024]:"DYNAMIC_SLOTS",[2048]:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},i={[1]:"STABLE",[2]:"DYNAMIC",[3]:"FORWARDED"},o="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",a=t(o),s=2;function c(l,d=0,p=l.length){let v=l.split(/\r?\n/),S=0,P=[];for(let I=0;I=d){for(let K=I-s;K<=I+s||p>S;K++){if(K<0||K>=v.length)continue;let Z=K+1;P.push(`${Z}${" ".repeat(Math.max(3-String(Z).length,0))}| ${v[K]}`);let ge=v[K].length;if(K===I){let ye=d-(S-ge)+1,At=Math.max(1,p>S?ge-ye:p-d);P.push(" | "+" ".repeat(ye)+"^".repeat(At))}else if(K>I){if(p>S){let ye=Math.max(Math.min(p-S,ge),1);P.push(" | "+"^".repeat(ye))}S+=ge+1}}break}return P.join(` -`)}var _="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",g=t(_),x=t(_+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected"),R=/[>/="'\u0009\u000a\u000c\u0020]/,M={};function k(l){if(M.hasOwnProperty(l))return M[l];let d=R.test(l);return d&&console.error(`unsafe attribute name: ${l}`),M[l]=!d}var B={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},V=t("animation-iteration-count,border-image-outset,border-image-slice,border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-miterlimit,stroke-opacity,stroke-width"),m=t("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap");function T(l){if(q(l)){let d={};for(let p=0;p{if(p){let v=p.split(O);v.length>1&&(d[v[0].trim()]=v[1].trim())}}),d}function H(l){let d="";if(!l)return d;for(let p in l){let v=l[p],S=p.startsWith("--")?p:re(p);(J(v)||typeof v=="number"&&V(S))&&(d+=`${S}:${v};`)}return d}function Y(l){let d="";if(J(l))d=l;else if(q(l))for(let p=0;p]/;function Be(l){let d=""+l,p=pt.exec(d);if(!p)return d;let v="",S,P,I=0;for(P=p.index;P||--!>|X(p,d))}var yt=l=>l==null?"":z(l)?JSON.stringify(l,mt,2):String(l),mt=(l,d)=>U(d)?{[`Map(${d.size})`]:[...d.entries()].reduce((p,[v,S])=>(p[`${v} =>`]=S,p),{})}:Te(d)?{[`Set(${d.size})`]:[...d.values()]}:z(d)&&!q(d)&&!Re(d)?String(d):d,xe=["bigInt","optionalChaining","nullishCoalescingOperator"],Ae=Object.freeze({}),Oe=Object.freeze([]),se=()=>{},le=()=>!1,ce=/^on[^a-z]/,ue=l=>ce.test(l),qe=l=>l.startsWith("onUpdate:"),Ue=Object.assign,Ge=(l,d)=>{let p=l.indexOf(d);p>-1&&l.splice(p,1)},Ve=Object.prototype.hasOwnProperty,fe=(l,d)=>Ve.call(l,d),q=Array.isArray,U=l=>ee(l)==="[object Map]",Te=l=>ee(l)==="[object Set]",de=l=>l instanceof Date,pe=l=>typeof l=="function",J=l=>typeof l=="string",vt=l=>typeof l=="symbol",z=l=>l!==null&&typeof l=="object",bt=l=>z(l)&&pe(l.then)&&pe(l.catch),We=Object.prototype.toString,ee=l=>We.call(l),wt=l=>ee(l).slice(8,-1),Re=l=>ee(l)==="[object Object]",Ye=l=>J(l)&&l!=="NaN"&&l[0]!=="-"&&""+parseInt(l,10)===l,Je=t(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),te=l=>{let d=Object.create(null);return p=>d[p]||(d[p]=l(p))},Ze=/-(\w)/g,St=te(l=>l.replace(Ze,(d,p)=>p?p.toUpperCase():"")),Et=/\B([A-Z])/g,re=te(l=>l.replace(Et,"-$1").toLowerCase()),Qe=te(l=>l.charAt(0).toUpperCase()+l.slice(1)),Me=te(l=>l?`on${Qe(l)}`:""),xt=(l,d)=>l!==d&&(l===l||d===d),he=(l,d)=>{for(let p=0;p{Object.defineProperty(l,d,{configurable:!0,enumerable:!1,value:p})},Ce=l=>{let d=parseFloat(l);return isNaN(d)?l:d},Pe,A=()=>Pe||(Pe=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});e.EMPTY_ARR=Oe,e.EMPTY_OBJ=Ae,e.NO=le,e.NOOP=se,e.PatchFlagNames=n,e.babelParserDefaultPlugins=xe,e.camelize=St,e.capitalize=Qe,e.def=_e,e.escapeHtml=Be,e.escapeHtmlComment=_t,e.extend=Ue,e.generateCodeFrame=c,e.getGlobalThis=A,e.hasChanged=xt,e.hasOwn=fe,e.hyphenate=re,e.invokeArrayFns=he,e.isArray=q,e.isBooleanAttr=x,e.isDate=de,e.isFunction=pe,e.isGloballyWhitelisted=a,e.isHTMLTag=ae,e.isIntegerKey=Ye,e.isKnownAttr=m,e.isMap=U,e.isModelListener=qe,e.isNoUnitNumericStyleProp=V,e.isObject=z,e.isOn=ue,e.isPlainObject=Re,e.isPromise=bt,e.isReservedProp=Je,e.isSSRSafeAttrName=k,e.isSVGTag=oe,e.isSet=Te,e.isSpecialBooleanAttr=g,e.isString=J,e.isSymbol=vt,e.isVoidTag=dt,e.looseEqual=X,e.looseIndexOf=He,e.makeMap=t,e.normalizeClass=Y,e.normalizeStyle=T,e.objectToString=We,e.parseStringStyle=L,e.propsToAttrMap=B,e.remove=Ge,e.slotFlagsText=i,e.stringifyStyle=H,e.toDisplayString=yt,e.toHandlerKey=Me,e.toNumber=Ce,e.toRawType=wt,e.toTypeString=ee}),pn=Xe((e,t)=>{t.exports=dn()}),hn=Xe(e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=pn(),n=new WeakMap,i=[],o,a=Symbol("iterate"),s=Symbol("Map key iterate");function c(r){return r&&r._isEffect===!0}function _(r,u=t.EMPTY_OBJ){c(r)&&(r=r.raw);let f=R(r,u);return u.lazy||f(),f}function g(r){r.active&&(M(r),r.options.onStop&&r.options.onStop(),r.active=!1)}var x=0;function R(r,u){let f=function(){if(!f.active)return r();if(!i.includes(f)){M(f);try{return m(),i.push(f),o=f,r()}finally{i.pop(),T(),o=i[i.length-1]}}};return f.id=x++,f.allowRecurse=!!u.allowRecurse,f._isEffect=!0,f.active=!0,f.raw=r,f.deps=[],f.options=u,f}function M(r){let{deps:u}=r;if(u.length){for(let f=0;f{j&&j.forEach(G=>{(G!==o||G.allowRecurse)&&C.add(G)})};if(u==="clear")b.forEach(F);else if(f==="length"&&t.isArray(r))b.forEach((j,G)=>{(G==="length"||G>=y)&&F(j)});else switch(f!==void 0&&F(b.get(f)),u){case"add":t.isArray(r)?t.isIntegerKey(f)&&F(b.get("length")):(F(b.get(a)),t.isMap(r)&&F(b.get(s)));break;case"delete":t.isArray(r)||(F(b.get(a)),t.isMap(r)&&F(b.get(s)));break;case"set":t.isMap(r)&&F(b.get(a));break}let Ie=j=>{j.options.onTrigger&&j.options.onTrigger({effect:j,target:r,key:f,type:u,newValue:y,oldValue:h,oldTarget:E}),j.options.scheduler?j.options.scheduler(j):j()};C.forEach(Ie)}var L=t.makeMap("__proto__,__v_isRef,__isVue"),H=new Set(Object.getOwnPropertyNames(Symbol).map(r=>Symbol[r]).filter(t.isSymbol)),Y=oe(),ct=oe(!1,!0),ut=oe(!0),ft=oe(!0,!0),ae={};["includes","indexOf","lastIndexOf"].forEach(r=>{let u=Array.prototype[r];ae[r]=function(...f){let y=A(this);for(let E=0,b=this.length;E{let u=Array.prototype[r];ae[r]=function(...f){V();let y=u.apply(this,f);return T(),y}});function oe(r=!1,u=!1){return function(y,h,E){if(h==="__v_isReactive")return!r;if(h==="__v_isReadonly")return r;if(h==="__v_raw"&&E===(r?u?Ze:te:u?Je:Ye).get(y))return y;let b=t.isArray(y);if(!r&&b&&t.hasOwn(ae,h))return Reflect.get(ae,h,E);let C=Reflect.get(y,h,E);return(t.isSymbol(h)?H.has(h):L(h))||(r||w(y,"get",h),u)?C:p(C)?!b||!t.isIntegerKey(h)?C.value:C:t.isObject(C)?r?Me(C):re(C):C}}var dt=Be(),pt=Be(!0);function Be(r=!1){return function(f,y,h,E){let b=f[y];if(!r&&(h=A(h),b=A(b),!t.isArray(f)&&p(b)&&!p(h)))return b.value=h,!0;let C=t.isArray(f)&&t.isIntegerKey(y)?Number(y)t.isObject(r)?re(r):r,Ae=r=>t.isObject(r)?Me(r):r,Oe=r=>r,se=r=>Reflect.getPrototypeOf(r);function le(r,u,f=!1,y=!1){r=r.__v_raw;let h=A(r),E=A(u);u!==E&&!f&&w(h,"get",u),!f&&w(h,"get",E);let{has:b}=se(h),C=y?Oe:f?Ae:xe;if(b.call(h,u))return C(r.get(u));if(b.call(h,E))return C(r.get(E));r!==h&&r.get(u)}function ce(r,u=!1){let f=this.__v_raw,y=A(f),h=A(r);return r!==h&&!u&&w(y,"has",r),!u&&w(y,"has",h),r===h?f.has(r):f.has(r)||f.has(h)}function ue(r,u=!1){return r=r.__v_raw,!u&&w(A(r),"iterate",a),Reflect.get(r,"size",r)}function qe(r){r=A(r);let u=A(this);return se(u).has.call(u,r)||(u.add(r),O(u,"add",r,r)),this}function Ue(r,u){u=A(u);let f=A(this),{has:y,get:h}=se(f),E=y.call(f,r);E?Re(f,y,r):(r=A(r),E=y.call(f,r));let b=h.call(f,r);return f.set(r,u),E?t.hasChanged(u,b)&&O(f,"set",r,u,b):O(f,"add",r,u),this}function Ge(r){let u=A(this),{has:f,get:y}=se(u),h=f.call(u,r);h?Re(u,f,r):(r=A(r),h=f.call(u,r));let E=y?y.call(u,r):void 0,b=u.delete(r);return h&&O(u,"delete",r,void 0,E),b}function Ve(){let r=A(this),u=r.size!==0,f=t.isMap(r)?new Map(r):new Set(r),y=r.clear();return u&&O(r,"clear",void 0,void 0,f),y}function fe(r,u){return function(y,h){let E=this,b=E.__v_raw,C=A(b),F=u?Oe:r?Ae:xe;return!r&&w(C,"iterate",a),b.forEach((Ie,j)=>y.call(h,F(Ie),F(j),E))}}function q(r,u,f){return function(...y){let h=this.__v_raw,E=A(h),b=t.isMap(E),C=r==="entries"||r===Symbol.iterator&&b,F=r==="keys"&&b,Ie=h[r](...y),j=f?Oe:u?Ae:xe;return!u&&w(E,"iterate",F?s:a),{next(){let{value:G,done:Ot}=Ie.next();return Ot?{value:G,done:Ot}:{value:C?[j(G[0]),j(G[1])]:j(G),done:Ot}},[Symbol.iterator](){return this}}}}function U(r){return function(...u){{let f=u[0]?`on key "${u[0]}" `:"";console.warn(`${t.capitalize(r)} operation ${f}failed: target is readonly.`,A(this))}return r==="delete"?!1:this}}var Te={get(r){return le(this,r)},get size(){return ue(this)},has:ce,add:qe,set:Ue,delete:Ge,clear:Ve,forEach:fe(!1,!1)},de={get(r){return le(this,r,!1,!0)},get size(){return ue(this)},has:ce,add:qe,set:Ue,delete:Ge,clear:Ve,forEach:fe(!1,!0)},pe={get(r){return le(this,r,!0)},get size(){return ue(this,!0)},has(r){return ce.call(this,r,!0)},add:U("add"),set:U("set"),delete:U("delete"),clear:U("clear"),forEach:fe(!0,!1)},J={get(r){return le(this,r,!0,!0)},get size(){return ue(this,!0)},has(r){return ce.call(this,r,!0)},add:U("add"),set:U("set"),delete:U("delete"),clear:U("clear"),forEach:fe(!0,!0)},vt=["keys","values","entries",Symbol.iterator];vt.forEach(r=>{Te[r]=q(r,!1,!1),pe[r]=q(r,!0,!1),de[r]=q(r,!1,!0),J[r]=q(r,!0,!0)});function z(r,u){let f=u?r?J:de:r?pe:Te;return(y,h,E)=>h==="__v_isReactive"?!r:h==="__v_isReadonly"?r:h==="__v_raw"?y:Reflect.get(t.hasOwn(f,h)&&h in y?f:y,h,E)}var bt={get:z(!1,!1)},We={get:z(!1,!0)},ee={get:z(!0,!1)},wt={get:z(!0,!0)};function Re(r,u,f){let y=A(f);if(y!==f&&u.call(r,y)){let h=t.toRawType(r);console.warn(`Reactive ${h} contains both the raw and reactive versions of the same object${h==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}var Ye=new WeakMap,Je=new WeakMap,te=new WeakMap,Ze=new WeakMap;function St(r){switch(r){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Et(r){return r.__v_skip||!Object.isExtensible(r)?0:St(t.toRawType(r))}function re(r){return r&&r.__v_isReadonly?r:he(r,!1,X,bt,Ye)}function Qe(r){return he(r,!1,yt,We,Je)}function Me(r){return he(r,!0,He,ee,te)}function xt(r){return he(r,!0,mt,wt,Ze)}function he(r,u,f,y,h){if(!t.isObject(r))return console.warn(`value cannot be made reactive: ${String(r)}`),r;if(r.__v_raw&&!(u&&r.__v_isReactive))return r;let E=h.get(r);if(E)return E;let b=Et(r);if(b===0)return r;let C=new Proxy(r,b===2?y:f);return h.set(r,C),C}function _e(r){return Ce(r)?_e(r.__v_raw):!!(r&&r.__v_isReactive)}function Ce(r){return!!(r&&r.__v_isReadonly)}function Pe(r){return _e(r)||Ce(r)}function A(r){return r&&A(r.__v_raw)||r}function l(r){return t.def(r,"__v_skip",!0),r}var d=r=>t.isObject(r)?re(r):r;function p(r){return Boolean(r&&r.__v_isRef===!0)}function v(r){return I(r)}function S(r){return I(r,!0)}var P=class{constructor(r,u=!1){this._rawValue=r,this._shallow=u,this.__v_isRef=!0,this._value=u?r:d(r)}get value(){return w(A(this),"get","value"),this._value}set value(r){t.hasChanged(A(r),this._rawValue)&&(this._rawValue=r,this._value=this._shallow?r:d(r),O(A(this),"set","value",r))}};function I(r,u=!1){return p(r)?r:new P(r,u)}function K(r){O(A(r),"set","value",r.value)}function Z(r){return p(r)?r.value:r}var ge={get:(r,u,f)=>Z(Reflect.get(r,u,f)),set:(r,u,f,y)=>{let h=r[u];return p(h)&&!p(f)?(h.value=f,!0):Reflect.set(r,u,f,y)}};function ye(r){return _e(r)?r:new Proxy(r,ge)}var At=class{constructor(r){this.__v_isRef=!0;let{get:u,set:f}=r(()=>w(this,"get","value"),()=>O(this,"set","value"));this._get=u,this._set=f}get value(){return this._get()}set value(r){this._set(r)}};function Yr(r){return new At(r)}function Jr(r){Pe(r)||console.warn("toRefs() expects a reactive object but received a plain one.");let u=t.isArray(r)?new Array(r.length):{};for(let f in r)u[f]=nr(r,f);return u}var Zr=class{constructor(r,u){this._object=r,this._key=u,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(r){this._object[this._key]=r}};function nr(r,u){return p(r[u])?r[u]:new Zr(r,u)}var Qr=class{constructor(r,u,f){this._setter=u,this._dirty=!0,this.__v_isRef=!0,this.effect=_(r,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,O(A(this),"set","value"))}}),this.__v_isReadonly=f}get value(){let r=A(this);return r._dirty&&(r._value=this.effect(),r._dirty=!1),w(r,"get","value"),r._value}set value(r){this._setter(r)}};function Xr(r){let u,f;return t.isFunction(r)?(u=r,f=()=>{console.warn("Write operation failed: computed value is readonly")}):(u=r.get,f=r.set),new Qr(u,f,t.isFunction(r)||!r.set)}e.ITERATE_KEY=a,e.computed=Xr,e.customRef=Yr,e.effect=_,e.enableTracking=m,e.isProxy=Pe,e.isReactive=_e,e.isReadonly=Ce,e.isRef=p,e.markRaw=l,e.pauseTracking=V,e.proxyRefs=ye,e.reactive=re,e.readonly=Me,e.ref=v,e.resetTracking=T,e.shallowReactive=Qe,e.shallowReadonly=xt,e.shallowRef=S,e.stop=g,e.toRaw=A,e.toRef=nr,e.toRefs=Jr,e.track=w,e.trigger=O,e.triggerRef=K,e.unref=Z}),_n=Xe((e,t)=>{t.exports=hn()}),Rt=!1,Mt=!1,je=[];function yn(e){gn(e)}function gn(e){je.includes(e)||je.push(e),mn()}function mn(){!Mt&&!Rt&&(Rt=!0,queueMicrotask(vn))}function vn(){Rt=!1,Mt=!0;for(let e=0;ee.effect(t,{scheduler:n=>{Ct?yn(n):n()}}),or=e.raw}function sr(e){ve=e}function Sn(e){let t=()=>{};return[i=>{let o=ve(i);e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(a=>a())}),e._x_effects.add(o),t=()=>{o!==void 0&&(e._x_effects.delete(o),et(o))}},()=>{t()}]}var lr=[],cr=[],ur=[];function En(e){ur.push(e)}function xn(e){cr.push(e)}function An(e){lr.push(e)}function On(e,t,n){e._x_attributeCleanups||(e._x_attributeCleanups={}),e._x_attributeCleanups[t]||(e._x_attributeCleanups[t]=[]),e._x_attributeCleanups[t].push(n)}function fr(e,t){!e._x_attributeCleanups||Object.entries(e._x_attributeCleanups).forEach(([n,i])=>{(t===void 0||t.includes(n))&&(i.forEach(o=>o()),delete e._x_attributeCleanups[n])})}var It=new MutationObserver(Pt),kt=!1;function dr(){It.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),kt=!0}function Rn(){Tn(),It.disconnect(),kt=!1}var Ne=[],jt=!1;function Tn(){Ne=Ne.concat(It.takeRecords()),Ne.length&&!jt&&(jt=!0,queueMicrotask(()=>{Mn(),jt=!1}))}function Mn(){Pt(Ne),Ne.length=0}function $(e){if(!kt)return e();Rn();let t=e();return dr(),t}var Nt=!1,tt=[];function Cn(){Nt=!0}function Pn(){Nt=!1,Pt(tt),tt=[]}function Pt(e){if(Nt){tt=tt.concat(e);return}let t=[],n=[],i=new Map,o=new Map;for(let a=0;as.nodeType===1&&t.push(s)),e[a].removedNodes.forEach(s=>s.nodeType===1&&n.push(s))),e[a].type==="attributes")){let s=e[a].target,c=e[a].attributeName,_=e[a].oldValue,g=()=>{i.has(s)||i.set(s,[]),i.get(s).push({name:c,value:s.getAttribute(c)})},x=()=>{o.has(s)||o.set(s,[]),o.get(s).push(c)};s.hasAttribute(c)&&_===null?g():s.hasAttribute(c)?(x(),g()):x()}o.forEach((a,s)=>{fr(s,a)}),i.forEach((a,s)=>{lr.forEach(c=>c(s,a))});for(let a of n)t.includes(a)||cr.forEach(s=>s(a));t.forEach(a=>{a._x_ignoreSelf=!0,a._x_ignore=!0});for(let a of t)n.includes(a)||!a.isConnected||(delete a._x_ignoreSelf,delete a._x_ignore,ur.forEach(s=>s(a)),a._x_ignore=!0,a._x_ignoreSelf=!0);t.forEach(a=>{delete a._x_ignoreSelf,delete a._x_ignore}),t=null,n=null,i=null,o=null}function Fe(e,t,n){return e._x_dataStack=[t,...be(n||e)],()=>{e._x_dataStack=e._x_dataStack.filter(i=>i!==t)}}function pr(e,t){let n=e._x_dataStack[0];Object.entries(t).forEach(([i,o])=>{n[i]=o})}function be(e){return e._x_dataStack?e._x_dataStack:typeof ShadowRoot=="function"&&e instanceof ShadowRoot?be(e.host):e.parentNode?be(e.parentNode):[]}function $e(e){let t=new Proxy({},{ownKeys:()=>Array.from(new Set(e.flatMap(n=>Object.keys(n)))),has:(n,i)=>e.some(o=>o.hasOwnProperty(i)),get:(n,i)=>(e.find(o=>{if(o.hasOwnProperty(i)){let a=Object.getOwnPropertyDescriptor(o,i);if(a.get&&a.get._x_alreadyBound||a.set&&a.set._x_alreadyBound)return!0;if((a.get||a.set)&&a.enumerable){let s=a.get,c=a.set,_=a;s=s&&s.bind(t),c=c&&c.bind(t),s&&(s._x_alreadyBound=!0),c&&(c._x_alreadyBound=!0),Object.defineProperty(o,i,ke(ke({},_),{get:s,set:c}))}return!0}return!1})||{})[i],set:(n,i,o)=>{let a=e.find(s=>s.hasOwnProperty(i));return a?a[i]=o:e[e.length-1][i]=o,!0}});return t}function hr(e){let t=i=>typeof i=="object"&&!Array.isArray(i)&&i!==null,n=(i,o="")=>{Object.entries(Object.getOwnPropertyDescriptors(i)).forEach(([a,{value:s,enumerable:c}])=>{if(c===!1||s===void 0)return;let _=o===""?a:`${o}.${a}`;typeof s=="object"&&s!==null&&s._x_interceptor?i[a]=s.initialize(e,_,a):t(s)&&s!==i&&!(s instanceof Element)&&n(s,_)})};return n(e)}function _r(e,t=()=>{}){let n={initialValue:void 0,_x_interceptor:!0,initialize(i,o,a){return e(this.initialValue,()=>In(i,o),s=>Ft(i,o,s),o,a)}};return t(n),i=>{if(typeof i=="object"&&i!==null&&i._x_interceptor){let o=n.initialize.bind(n);n.initialize=(a,s,c)=>{let _=i.initialize(a,s,c);return n.initialValue=_,o(a,s,c)}}else n.initialValue=i;return n}}function In(e,t){return t.split(".").reduce((n,i)=>n[i],e)}function Ft(e,t,n){if(typeof t=="string"&&(t=t.split(".")),t.length===1)e[t[0]]=n;else{if(t.length===0)throw error;return e[t[0]]||(e[t[0]]={}),Ft(e[t[0]],t.slice(1),n)}}var gr={};function W(e,t){gr[e]=t}function $t(e,t){return Object.entries(gr).forEach(([n,i])=>{Object.defineProperty(e,`$${n}`,{get(){return i(t,{Alpine:we,interceptor:_r})},enumerable:!1})}),e}function kn(e,t,n,...i){try{return n(...i)}catch(o){Le(o,e,t)}}function Le(e,t,n=void 0){Object.assign(e,{el:t,expression:n}),console.warn(`Alpine Expression Error: ${e.message} +var Sr=Object.defineProperty;var Ar=Object.prototype.hasOwnProperty;var it=Object.getOwnPropertySymbols,Or=Object.prototype.propertyIsEnumerable;var ot=(e,t,r)=>t in e?Sr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,N=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&ot(e,r,t[r]);if(it)for(var r of it(t))Or.call(t,r)&&ot(e,r,t[r]);return e};var be=!1,me=!1,T=[];function Mr(e){Cr(e)}function Cr(e){T.includes(e)||T.push(e),Tr()}function at(e){let t=T.indexOf(e);t!==-1&&T.splice(t,1)}function Tr(){!me&&!be&&(be=!0,queueMicrotask(Ir))}function Ir(){be=!1,me=!0;for(let e=0;ee.effect(t,{scheduler:r=>{we?Mr(r):r()}}),st=e.raw}function ut(e){B=e}function $r(e){let t=()=>{};return[n=>{let i=B(n);return e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(o=>o())}),e._x_effects.add(i),t=()=>{i!==void 0&&(e._x_effects.delete(i),te(i))},i},()=>{t()}]}var ct=[],lt=[],ft=[];function jr(e){ft.push(e)}function dt(e,t){typeof t=="function"?(e._x_cleanups||(e._x_cleanups=[]),e._x_cleanups.push(t)):(t=e,lt.push(t))}function Lr(e){ct.push(e)}function Nr(e,t,r){e._x_attributeCleanups||(e._x_attributeCleanups={}),e._x_attributeCleanups[t]||(e._x_attributeCleanups[t]=[]),e._x_attributeCleanups[t].push(r)}function pt(e,t){!e._x_attributeCleanups||Object.entries(e._x_attributeCleanups).forEach(([r,n])=>{(t===void 0||t.includes(r))&&(n.forEach(i=>i()),delete e._x_attributeCleanups[r])})}var Se=new MutationObserver(Ee),Ae=!1;function _t(){Se.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),Ae=!0}function Fr(){Kr(),Se.disconnect(),Ae=!1}var H=[],Oe=!1;function Kr(){H=H.concat(Se.takeRecords()),H.length&&!Oe&&(Oe=!0,queueMicrotask(()=>{Dr(),Oe=!1}))}function Dr(){Ee(H),H.length=0}function x(e){if(!Ae)return e();Fr();let t=e();return _t(),t}var Ce=!1,re=[];function kr(){Ce=!0}function zr(){Ce=!1,Ee(re),re=[]}function Ee(e){if(Ce){re=re.concat(e);return}let t=[],r=[],n=new Map,i=new Map;for(let o=0;oa.nodeType===1&&t.push(a)),e[o].removedNodes.forEach(a=>a.nodeType===1&&r.push(a))),e[o].type==="attributes")){let a=e[o].target,s=e[o].attributeName,u=e[o].oldValue,c=()=>{n.has(a)||n.set(a,[]),n.get(a).push({name:s,value:a.getAttribute(s)})},l=()=>{i.has(a)||i.set(a,[]),i.get(a).push(s)};a.hasAttribute(s)&&u===null?c():a.hasAttribute(s)?(l(),c()):l()}i.forEach((o,a)=>{pt(a,o)}),n.forEach((o,a)=>{ct.forEach(s=>s(a,o))});for(let o of r)if(!t.includes(o)&&(lt.forEach(a=>a(o)),o._x_cleanups))for(;o._x_cleanups.length;)o._x_cleanups.pop()();t.forEach(o=>{o._x_ignoreSelf=!0,o._x_ignore=!0});for(let o of t)r.includes(o)||!o.isConnected||(delete o._x_ignoreSelf,delete o._x_ignore,ft.forEach(a=>a(o)),o._x_ignore=!0,o._x_ignoreSelf=!0);t.forEach(o=>{delete o._x_ignoreSelf,delete o._x_ignore}),t=null,r=null,n=null,i=null}function ht(e){return q(F(e))}function W(e,t,r){return e._x_dataStack=[t,...F(r||e)],()=>{e._x_dataStack=e._x_dataStack.filter(n=>n!==t)}}function gt(e,t){let r=e._x_dataStack[0];Object.entries(t).forEach(([n,i])=>{r[n]=i})}function F(e){return e._x_dataStack?e._x_dataStack:typeof ShadowRoot=="function"&&e instanceof ShadowRoot?F(e.host):e.parentNode?F(e.parentNode):[]}function q(e){let t=new Proxy({},{ownKeys:()=>Array.from(new Set(e.flatMap(r=>Object.keys(r)))),has:(r,n)=>e.some(i=>i.hasOwnProperty(n)),get:(r,n)=>(e.find(i=>{if(i.hasOwnProperty(n)){let o=Object.getOwnPropertyDescriptor(i,n);if(o.get&&o.get._x_alreadyBound||o.set&&o.set._x_alreadyBound)return!0;if((o.get||o.set)&&o.enumerable){let a=o.get,s=o.set,u=o;a=a&&a.bind(t),s=s&&s.bind(t),a&&(a._x_alreadyBound=!0),s&&(s._x_alreadyBound=!0),Object.defineProperty(i,n,N(N({},u),{get:a,set:s}))}return!0}return!1})||{})[n],set:(r,n,i)=>{let o=e.find(a=>a.hasOwnProperty(n));return o?o[n]=i:e[e.length-1][n]=i,!0}});return t}function vt(e){let t=n=>typeof n=="object"&&!Array.isArray(n)&&n!==null,r=(n,i="")=>{Object.entries(Object.getOwnPropertyDescriptors(n)).forEach(([o,{value:a,enumerable:s}])=>{if(s===!1||a===void 0)return;let u=i===""?o:`${i}.${o}`;typeof a=="object"&&a!==null&&a._x_interceptor?n[o]=a.initialize(e,u,o):t(a)&&a!==n&&!(a instanceof Element)&&r(a,u)})};return r(e)}function xt(e,t=()=>{}){let r={initialValue:void 0,_x_interceptor:!0,initialize(n,i,o){return e(this.initialValue,()=>Br(n,i),a=>Me(n,i,a),i,o)}};return t(r),n=>{if(typeof n=="object"&&n!==null&&n._x_interceptor){let i=r.initialize.bind(r);r.initialize=(o,a,s)=>{let u=n.initialize(o,a,s);return r.initialValue=u,i(o,a,s)}}else r.initialValue=n;return r}}function Br(e,t){return t.split(".").reduce((r,n)=>r[n],e)}function Me(e,t,r){if(typeof t=="string"&&(t=t.split(".")),t.length===1)e[t[0]]=r;else{if(t.length===0)throw error;return e[t[0]]||(e[t[0]]={}),Me(e[t[0]],t.slice(1),r)}}var yt={};function E(e,t){yt[e]=t}function Te(e,t){return Object.entries(yt).forEach(([r,n])=>{Object.defineProperty(e,`$${r}`,{get(){let[i,o]=bt(t);return i=N({interceptor:xt},i),dt(t,o),n(t,i)},enumerable:!1})}),e}function Hr(e,t,r,...n){try{return r(...n)}catch(i){U(i,e,t)}}function U(e,t,r=void 0){Object.assign(e,{el:t,expression:r}),console.warn(`Alpine Expression Error: ${e.message} -${n?'Expression: "'+n+`" +${r?'Expression: "'+r+`" -`:""}`,t),setTimeout(()=>{throw e},0)}function Q(e,t,n={}){let i;return D(e,t)(o=>i=o,n),i}function D(...e){return yr(...e)}var yr=mr;function jn(e){yr=e}function mr(e,t){let n={};$t(n,e);let i=[n,...be(e)];if(typeof t=="function")return Nn(i,t);let o=Fn(i,t,e);return kn.bind(null,e,t,o)}function Nn(e,t){return(n=()=>{},{scope:i={},params:o=[]}={})=>{let a=t.apply($e([i,...e]),o);rt(n,a)}}var Lt={};function $n(e,t){if(Lt[e])return Lt[e];let n=Object.getPrototypeOf(async function(){}).constructor,i=/^[\n\s]*if.*\(.*\)/.test(e)||/^(let|const)\s/.test(e)?`(() => { ${e} })()`:e,a=(()=>{try{return new n(["__self","scope"],`with (scope) { __self.result = ${i} }; __self.finished = true; return __self.result;`)}catch(s){return Le(s,t,e),Promise.resolve()}})();return Lt[e]=a,a}function Fn(e,t,n){let i=$n(t,n);return(o=()=>{},{scope:a={},params:s=[]}={})=>{i.result=void 0,i.finished=!1;let c=$e([a,...e]);if(typeof i=="function"){let _=i(i,c).catch(g=>Le(g,n,t));i.finished?(rt(o,i.result,c,s,n),i.result=void 0):_.then(g=>{rt(o,g,c,s,n)}).catch(g=>Le(g,n,t)).finally(()=>i.result=void 0)}}}function rt(e,t,n,i,o){if(typeof t=="function"){let a=t.apply(n,i);a instanceof Promise?a.then(s=>rt(e,s,n,i)).catch(s=>Le(s,o,t)):e(a)}else e(t)}var Dt="x-";function Se(e=""){return Dt+e}function Ln(e){Dt=e}var vr={};function N(e,t){vr[e]=t}function Kt(e,t,n){let i={};return Array.from(t).map(br((a,s)=>i[a]=s)).filter(wr).map(Kn(i,n)).sort(zn).map(a=>Dn(e,a))}function Bn(e){return Array.from(e).map(br()).filter(t=>!wr(t))}var zt=!1,De=new Map,Sr=Symbol();function Hn(e){zt=!0;let t=Symbol();Sr=t,De.set(t,[]);let n=()=>{for(;De.get(t).length;)De.get(t).shift()();De.delete(t)},i=()=>{zt=!1,n()};e(n),i()}function Dn(e,t){let n=()=>{},i=vr[t.type]||n,o=[],a=R=>o.push(R),[s,c]=Sn(e);o.push(c);let _={Alpine:we,effect:s,cleanup:a,evaluateLater:D.bind(D,e),evaluate:Q.bind(Q,e)},g=()=>o.forEach(R=>R());On(e,t.original,g);let x=()=>{e._x_ignore||e._x_ignoreSelf||(i.inline&&i.inline(e,t,_),i=i.bind(i,e,t,_),zt?De.get(Sr).push(i):i())};return x.runCleanups=g,x}var Er=(e,t)=>({name:n,value:i})=>(n.startsWith(e)&&(n=n.replace(e,t)),{name:n,value:i}),xr=e=>e;function br(e=()=>{}){return({name:t,value:n})=>{let{name:i,value:o}=Ar.reduce((a,s)=>s(a),{name:t,value:n});return i!==t&&e(i,t),{name:i,value:o}}}var Ar=[];function Bt(e){Ar.push(e)}function wr({name:e}){return Or().test(e)}var Or=()=>new RegExp(`^${Dt}([^:^.]+)\\b`);function Kn(e,t){return({name:n,value:i})=>{let o=n.match(Or()),a=n.match(/:([a-zA-Z0-9\-:]+)/),s=n.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],c=t||e[n]||n;return{type:o?o[1]:null,value:a?a[1]:null,modifiers:s.map(_=>_.replace(".","")),expression:i,original:c}}}var Ht="DEFAULT",nt=["ignore","ref","data","id","bind","init","for","model","transition","show","if",Ht,"teleport","element"];function zn(e,t){let n=nt.indexOf(e.type)===-1?Ht:e.type,i=nt.indexOf(t.type)===-1?Ht:t.type;return nt.indexOf(n)-nt.indexOf(i)}function Ke(e,t,n={}){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0,cancelable:!0}))}var qt=[],Ut=!1;function Tr(e){qt.push(e),queueMicrotask(()=>{Ut||setTimeout(()=>{Gt()})})}function Gt(){for(Ut=!1;qt.length;)qt.shift()()}function qn(){Ut=!0}function Ee(e,t){if(typeof ShadowRoot=="function"&&e instanceof ShadowRoot){Array.from(e.children).forEach(o=>Ee(o,t));return}let n=!1;if(t(e,()=>n=!0),n)return;let i=e.firstElementChild;for(;i;)Ee(i,t),i=i.nextElementSibling}function it(e,...t){console.warn(`Alpine Warning: ${e}`,...t)}function Gn(){document.body||it("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `