@monetize.software/sdk 3.0.0-alpha.17 → 3.0.0-alpha.18
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.
- package/dist/chunks/PaywallUI-C2aJvWhy.js +26 -0
- package/dist/chunks/PaywallUI-C2aJvWhy.js.map +1 -0
- package/dist/chunks/{PaywallUI-BBX0qK8m.js → PaywallUI-DZrllP18.js} +253 -206
- package/dist/chunks/PaywallUI-DZrllP18.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/ui.cjs +1 -1
- package/dist/ui.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/PaywallUI-BBX0qK8m.js.map +0 -1
- package/dist/chunks/PaywallUI-CX81Oe3o.js +0 -26
- package/dist/chunks/PaywallUI-CX81Oe3o.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PaywallError as L, findApplicableOffer as N, BillingClient as Ne, EventTracker as He, resolveOffer as $e, readBrowserOfferStart as Ve, AuthClient as de } from "../core.js";
|
|
2
2
|
import { render as X, h as ue, createContext as qe } from "preact";
|
|
3
3
|
import { jsx as a, jsxs as d, Fragment as se } from "preact/jsx-runtime";
|
|
4
|
-
import { useContext as Ge, useState as v, useEffect as j, useRef as
|
|
4
|
+
import { useContext as Ge, useState as v, useEffect as j, useRef as O, useMemo as We, useLayoutEffect as Ze } from "preact/hooks";
|
|
5
5
|
const pe = 3600 * 1e3;
|
|
6
6
|
function J(t) {
|
|
7
7
|
return `paywall-${t}-trial-time-first-open`;
|
|
@@ -98,7 +98,7 @@ class Ke {
|
|
|
98
98
|
function Ye(t, e, r) {
|
|
99
99
|
return r.storage === "server" ? new Ke(t, e, r) : new Ie(t, e, r);
|
|
100
100
|
}
|
|
101
|
-
const Ae = '/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-600:oklch(57.7% .245 27.325);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{all:initial;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed}[role=button],[role=radio]{cursor:pointer}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.-top-2{top:calc(var(--spacing) * -2)}.-top-\\[9px\\]{top:-9px}.-top-\\[10px\\]{top:-10px}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.-right-\\[6px\\]{right:-6px}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.left-1\\/2{left:50%}.z-10{z-index:10}.z-\\[1\\]{z-index:1}.z-\\[2147483647\\]{z-index:2147483647}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-3{margin-top:calc(var(--spacing) * -3)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.-mb-2{margin-bottom:calc(var(--spacing) * -2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-6\\.5{height:calc(var(--spacing) * 6.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-\\[22px\\]{height:22px}.h-full{height:100%}.h-px{height:1px}.max-h-\\[calc\\(100dvh-1rem\\)\\]{max-height:calc(100dvh - 1rem)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\\[2\\.4em\\]{min-height:2.4em}.min-h-\\[120px\\]{min-height:120px}.w-1{width:calc(var(--spacing) * 1)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-6\\.5{width:calc(var(--spacing) * 6.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-\\[20rem\\]{max-width:20rem}.max-w-\\[22rem\\]{max-width:22rem}.max-w-\\[75\\%\\]{max-width:75%}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-\\[400px\\]{max-width:400px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[pw-fade-in_180ms_ease-out\\]{animation:.18s ease-out pw-fade-in}.animate-\\[pw-scale-in_220ms_cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{animation:.22s cubic-bezier(.16,1,.3,1) pw-scale-in}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-x-1\\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[9px\\]{border-radius:9px}.rounded-\\[11px\\]{border-radius:11px}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-tl-xl{border-top-left-radius:var(--radius-xl)}.rounded-tr-xl{border-top-right-radius:var(--radius-xl)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.border-\\[3px\\]{border-style:var(--tw-border-style);border-width:3px}.border-\\[5px\\]{border-style:var(--tw-border-style);border-width:5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b,.border-b-1{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\\[var\\(--pw-accent\\)\\]{border-color:var(--pw-accent)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-white{border-color:var(--color-white)}.border-white\\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-t-\\[var\\(--pw-accent\\)\\]{border-top-color:var(--pw-accent)}.border-t-gray-700{border-top-color:var(--color-gray-700)}.border-t-white{border-top-color:var(--color-white)}.bg-\\[color-mix\\(in_srgb\\,var\\(--pw-accent\\)_6\\%\\,white\\)\\]{background-color:var(--pw-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_srgb\\,var\\(--pw-accent\\)_6\\%\\,white\\)\\]{background-color:color-mix(in srgb,var(--pw-accent) 6%,white)}}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\\/60{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\\/60{background-color:color-mix(in oklab,var(--color-gray-50) 60%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-red-50{background-color:var(--color-red-50)}.bg-slate-950\\/50{background-color:#02061880}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\\/50{background-color:color-mix(in oklab,var(--color-slate-950) 50%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.p-2{padding:calc(var(--spacing) * 2)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-3\\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.9375rem\\]{font-size:.9375rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.text-\\[22px\\]{font-size:22px}.text-\\[26px\\]{font-size:26px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-800\\/70{color:#1e2939b3}@supports (color:color-mix(in lab,red,red)){.text-gray-800\\/70{color:color-mix(in oklab,var(--color-gray-800) 70%,transparent)}}.text-gray-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-gray-400{-webkit-text-decoration-color:var(--color-gray-400);text-decoration-color:var(--color-gray-400)}.decoration-\\[1\\.5px\\]{text-decoration-thickness:1.5px}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_0_2px_rgba\\(239\\,68\\,68\\,0\\.5\\)\\]{--tw-shadow:0 0 0 2px var(--tw-shadow-color,#ef444480);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-8{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.\\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\\:text-gray-500::placeholder{color:var(--color-gray-500)}@media(hover:hover){.hover\\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\\:bg-gray-50\\/60:hover{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-gray-50\\/60:hover{background-color:color-mix(in oklab,var(--color-gray-50) 60%,transparent)}}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-gray-200\\/60:hover{background-color:#e5e7eb99}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-gray-200\\/60:hover{background-color:color-mix(in oklab,var(--color-gray-200) 60%,transparent)}}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-gray-700:hover{color:var(--color-gray-700)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}.hover\\:text-red-600:hover{color:var(--color-red-600)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}.hover\\:brightness-105:hover{--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\\:bg-gray-200\\/60:focus{background-color:#e5e7eb99}@supports (color:color-mix(in lab,red,red)){.focus\\:bg-gray-200\\/60:focus{background-color:color-mix(in oklab,var(--color-gray-200) 60%,transparent)}}.focus\\:shadow-\\[0_0_0_2px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_30\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 2px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.focus\\:shadow-\\[0_0_0_2px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_30\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 2px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 30%,transparent))}}.focus\\:shadow-\\[0_0_0_2px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_30\\%\\,transparent\\)\\]:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:opacity-80:focus-visible{opacity:.8}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[var\\(--pw-accent\\)\\]:focus-visible{--tw-ring-color:var(--pw-accent)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-60:disabled{opacity:.6}@media(hover:hover){.disabled\\:hover\\:translate-y-0:disabled:hover{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\\:hover\\:brightness-100:disabled:hover{--tw-brightness:brightness(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@media(min-width:40rem){.sm\\:max-h-\\[calc\\(100dvh-2rem\\)\\]{max-height:calc(100dvh - 2rem)}.sm\\:p-4{padding:calc(var(--spacing) * 4)}.sm\\:p-8{padding:calc(var(--spacing) * 8)}.sm\\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\\:pt-5{padding-top:calc(var(--spacing) * 5)}.sm\\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.sm\\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.sm\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}}.pw-cta-shimmer:before{content:"";z-index:1;background:linear-gradient(90deg,#0000,#ffffff59 50%,#0000);width:100%;height:100%;animation:3s infinite pw-cta-shimmer;position:absolute;top:0;left:-100%}@keyframes pw-cta-shimmer{0%{left:-100%}to{left:100%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}';
|
|
101
|
+
const Ae = '/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-600:oklch(57.7% .245 27.325);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{all:initial;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed}[role=button],[role=radio]{cursor:pointer}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.-top-2{top:calc(var(--spacing) * -2)}.-top-\\[9px\\]{top:-9px}.-top-\\[10px\\]{top:-10px}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.-right-\\[6px\\]{right:-6px}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.left-1\\/2{left:50%}.z-10{z-index:10}.z-\\[1\\]{z-index:1}.z-\\[2147483647\\]{z-index:2147483647}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-3{margin-top:calc(var(--spacing) * -3)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.-mb-2{margin-bottom:calc(var(--spacing) * -2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-6\\.5{height:calc(var(--spacing) * 6.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-\\[22px\\]{height:22px}.h-full{height:100%}.h-px{height:1px}.max-h-\\[calc\\(100dvh-1rem\\)\\]{max-height:calc(100dvh - 1rem)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\\[2\\.4em\\]{min-height:2.4em}.min-h-\\[120px\\]{min-height:120px}.w-1{width:calc(var(--spacing) * 1)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-6\\.5{width:calc(var(--spacing) * 6.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-\\[20rem\\]{max-width:20rem}.max-w-\\[22rem\\]{max-width:22rem}.max-w-\\[75\\%\\]{max-width:75%}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-\\[400px\\]{max-width:400px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[pw-fade-in_180ms_ease-out\\]{animation:.18s ease-out pw-fade-in}.animate-\\[pw-scale-in_220ms_cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{animation:.22s cubic-bezier(.16,1,.3,1) pw-scale-in}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-x-1\\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[9px\\]{border-radius:9px}.rounded-\\[11px\\]{border-radius:11px}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-tl-xl{border-top-left-radius:var(--radius-xl)}.rounded-tr-xl{border-top-right-radius:var(--radius-xl)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.border-\\[3px\\]{border-style:var(--tw-border-style);border-width:3px}.border-\\[5px\\]{border-style:var(--tw-border-style);border-width:5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b,.border-b-1{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\\[var\\(--pw-accent\\)\\]{border-color:var(--pw-accent)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-white{border-color:var(--color-white)}.border-white\\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-t-\\[var\\(--pw-accent\\)\\]{border-top-color:var(--pw-accent)}.border-t-gray-700{border-top-color:var(--color-gray-700)}.border-t-white{border-top-color:var(--color-white)}.bg-\\[color-mix\\(in_srgb\\,var\\(--pw-accent\\)_6\\%\\,white\\)\\]{background-color:var(--pw-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_srgb\\,var\\(--pw-accent\\)_6\\%\\,white\\)\\]{background-color:color-mix(in srgb,var(--pw-accent) 6%,white)}}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\\/60{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\\/60{background-color:color-mix(in oklab,var(--color-gray-50) 60%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-red-50{background-color:var(--color-red-50)}.bg-slate-950\\/50{background-color:#02061880}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\\/50{background-color:color-mix(in oklab,var(--color-slate-950) 50%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.p-2{padding:calc(var(--spacing) * 2)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-3\\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.9375rem\\]{font-size:.9375rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.text-\\[22px\\]{font-size:22px}.text-\\[26px\\]{font-size:26px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-800\\/70{color:#1e2939b3}@supports (color:color-mix(in lab,red,red)){.text-gray-800\\/70{color:color-mix(in oklab,var(--color-gray-800) 70%,transparent)}}.text-gray-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-gray-400{-webkit-text-decoration-color:var(--color-gray-400);text-decoration-color:var(--color-gray-400)}.decoration-\\[1\\.5px\\]{text-decoration-thickness:1.5px}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_0_2px_rgba\\(239\\,68\\,68\\,0\\.5\\)\\]{--tw-shadow:0 0 0 2px var(--tw-shadow-color,#ef444480);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-8{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.\\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\\:text-gray-500::placeholder{color:var(--color-gray-500)}@media(hover:hover){.hover\\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\\:bg-gray-50\\/60:hover{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-gray-50\\/60:hover{background-color:color-mix(in oklab,var(--color-gray-50) 60%,transparent)}}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-gray-200\\/60:hover{background-color:#e5e7eb99}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-gray-200\\/60:hover{background-color:color-mix(in oklab,var(--color-gray-200) 60%,transparent)}}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-gray-700:hover{color:var(--color-gray-700)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}.hover\\:text-red-600:hover{color:var(--color-red-600)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}.hover\\:brightness-105:hover{--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\\:bg-gray-200\\/60:focus{background-color:#e5e7eb99}@supports (color:color-mix(in lab,red,red)){.focus\\:bg-gray-200\\/60:focus{background-color:color-mix(in oklab,var(--color-gray-200) 60%,transparent)}}.focus\\:shadow-\\[0_0_0_2px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_30\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 2px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.focus\\:shadow-\\[0_0_0_2px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_30\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 2px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 30%,transparent))}}.focus\\:shadow-\\[0_0_0_2px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_30\\%\\,transparent\\)\\]:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:opacity-80:focus-visible{opacity:.8}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[var\\(--pw-accent\\)\\]:focus-visible{--tw-ring-color:var(--pw-accent)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-60:disabled{opacity:.6}@media(hover:hover){.disabled\\:hover\\:translate-y-0:disabled:hover{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\\:hover\\:brightness-100:disabled:hover{--tw-brightness:brightness(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@media(min-width:40rem){.sm\\:max-h-\\[calc\\(100dvh-2rem\\)\\]{max-height:calc(100dvh - 2rem)}.sm\\:p-4{padding:calc(var(--spacing) * 4)}.sm\\:p-8{padding:calc(var(--spacing) * 8)}.sm\\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\\:pt-5{padding-top:calc(var(--spacing) * 5)}.sm\\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.sm\\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.sm\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}}.pw-cta-shimmer:before{content:"";z-index:1;background:linear-gradient(90deg,#0000,#ffffff59 50%,#0000);width:100%;height:100%;animation:3s infinite pw-cta-shimmer;position:absolute;top:0;left:-100%}@keyframes pw-cta-shimmer{0%{left:-100%}to{left:100%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}';
|
|
102
102
|
let ge = !1;
|
|
103
103
|
function Xe() {
|
|
104
104
|
if (ge || (ge = !0, typeof CSS > "u" || typeof CSS.registerProperty != "function")) return;
|
|
@@ -292,7 +292,7 @@ function at({
|
|
|
292
292
|
inline: c = !1,
|
|
293
293
|
children: l
|
|
294
294
|
}) {
|
|
295
|
-
const { t: p } = S(), u =
|
|
295
|
+
const { t: p } = S(), u = O(null), f = O(null);
|
|
296
296
|
return j(() => {
|
|
297
297
|
if (!t) return;
|
|
298
298
|
f.current = document.activeElement ?? null;
|
|
@@ -307,13 +307,13 @@ function at({
|
|
|
307
307
|
if (m.key !== "Tab" || !u.current) return;
|
|
308
308
|
const C = Array.from(
|
|
309
309
|
u.current.querySelectorAll(fe)
|
|
310
|
-
).filter((
|
|
310
|
+
).filter((F) => !F.hasAttribute("disabled") && F.tabIndex !== -1);
|
|
311
311
|
if (C.length === 0) {
|
|
312
312
|
m.preventDefault();
|
|
313
313
|
return;
|
|
314
314
|
}
|
|
315
|
-
const I = C[0],
|
|
316
|
-
m.shiftKey && M === I ? (m.preventDefault(),
|
|
315
|
+
const I = C[0], z = C[C.length - 1], M = document.activeElement;
|
|
316
|
+
m.shiftKey && M === I ? (m.preventDefault(), z.focus()) : !m.shiftKey && M === z && (m.preventDefault(), I.focus());
|
|
317
317
|
};
|
|
318
318
|
document.addEventListener("keydown", A, !0);
|
|
319
319
|
const b = document.body.style.overflow;
|
|
@@ -466,13 +466,13 @@ function st({ email: t, onSignOut: e }) {
|
|
|
466
466
|
] });
|
|
467
467
|
}
|
|
468
468
|
function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
469
|
-
const { t: n } = S(), s = i.auth, o = t.providers ?? [], c = i.initialAuthMode === "signup" && e ? "signup" : "signin", [l, p] = v(c), [u, f] = v(""), [_, h] = v(""), [k, w] = v(""), [A, b] = v(""), [m, C] = v(null), I =
|
|
469
|
+
const { t: n } = S(), s = i.auth, o = t.providers ?? [], c = i.initialAuthMode === "signup" && e ? "signup" : "signin", [l, p] = v(c), [u, f] = v(""), [_, h] = v(""), [k, w] = v(""), [A, b] = v(""), [m, C] = v(null), I = O(!1), [z, M] = v(null), [F, R] = v(null), [U, P] = v(!1), [T, D] = v(null);
|
|
470
470
|
j(() => {
|
|
471
471
|
if (typeof s.getLastLogin != "function") return;
|
|
472
472
|
let g = !1;
|
|
473
473
|
return s.getLastLogin().then(
|
|
474
|
-
(
|
|
475
|
-
g || !
|
|
474
|
+
(y) => {
|
|
475
|
+
g || !y || (D(y), y.email && f((E) => E === "" ? y.email : E));
|
|
476
476
|
},
|
|
477
477
|
() => {
|
|
478
478
|
}
|
|
@@ -480,13 +480,13 @@ function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
|
480
480
|
g = !0;
|
|
481
481
|
};
|
|
482
482
|
}, [s]);
|
|
483
|
-
const
|
|
484
|
-
p(g), M(null),
|
|
483
|
+
const B = (g) => {
|
|
484
|
+
p(g), M(null), R(null), P(!1);
|
|
485
485
|
}, Z = async (g) => {
|
|
486
486
|
if (g.preventDefault(), !(I.current || m)) {
|
|
487
487
|
I.current = !0;
|
|
488
488
|
try {
|
|
489
|
-
if (M(null),
|
|
489
|
+
if (M(null), R(null), l === "signup" && !U) {
|
|
490
490
|
if (!u.trim()) return;
|
|
491
491
|
P(!0);
|
|
492
492
|
return;
|
|
@@ -497,15 +497,13 @@ function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
|
497
497
|
}
|
|
498
498
|
C("email");
|
|
499
499
|
try {
|
|
500
|
-
l === "signin" ? await s.signInWithEmail({ email: u, password: _ }) : l === "signup" ? (await s.signUp({ email: u, password: _ })).kind === "confirmation_required" && (h(""), p("signup_verify"),
|
|
501
|
-
n("auth.reset_sent_message", "If that email exists, a reset code has been sent.")
|
|
502
|
-
)) : l === "signup_verify" ? await s.verifyOtp({ email: u, token: A, type: "email" }) : l === "reset_verify" && (await s.verifyOtp({
|
|
500
|
+
l === "signin" ? await s.signInWithEmail({ email: u, password: _ }) : l === "signup" ? (await s.signUp({ email: u, password: _ })).kind === "confirmation_required" && (h(""), p("signup_verify"), R(n("auth.check_email_message", "Check your email for a confirmation code."))) : l === "forgot" ? (await s.requestPasswordReset({ email: u }), p("reset_sent")) : l === "signup_verify" ? await s.verifyOtp({ email: u, token: A, type: "email" }) : l === "reset_verify" && (await s.verifyOtp({
|
|
503
501
|
email: u,
|
|
504
502
|
token: A,
|
|
505
503
|
type: _ ? "recovery" : "email"
|
|
506
504
|
}), _ && await s.updatePassword({ password: _ }));
|
|
507
|
-
} catch (
|
|
508
|
-
M(we(
|
|
505
|
+
} catch (y) {
|
|
506
|
+
M(we(y, l === "signup" ? "signup" : l === "signup_verify" || l === "reset_verify" ? "otp" : l === "forgot" ? "reset" : "signin", n));
|
|
509
507
|
} finally {
|
|
510
508
|
C(null);
|
|
511
509
|
}
|
|
@@ -515,22 +513,22 @@ function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
|
515
513
|
}
|
|
516
514
|
}, V = async (g) => {
|
|
517
515
|
if (!(I.current || m)) {
|
|
518
|
-
I.current = !0, C(g), M(null),
|
|
516
|
+
I.current = !0, C(g), M(null), R(null);
|
|
519
517
|
try {
|
|
520
518
|
await s.signInWithOAuth({
|
|
521
519
|
provider: g,
|
|
522
520
|
onPopupOpened: () => C(null)
|
|
523
521
|
});
|
|
524
|
-
} catch (
|
|
525
|
-
if (
|
|
522
|
+
} catch (y) {
|
|
523
|
+
if (y instanceof L && (y.code === "oauth_cancelled" || y.code === "oauth_timeout"))
|
|
526
524
|
return;
|
|
527
|
-
M(we(
|
|
525
|
+
M(we(y, "signin", n));
|
|
528
526
|
} finally {
|
|
529
527
|
I.current = !1, C(null);
|
|
530
528
|
}
|
|
531
529
|
}
|
|
532
|
-
}, K = o.length > 0 && (l === "signin" || l === "signup"), Y = l === "signin" || l === "signup" || l === "forgot",
|
|
533
|
-
return /* @__PURE__ */ d("div", { class: "flex flex-col gap-5", children: [
|
|
530
|
+
}, K = o.length > 0 && (l === "signin" || l === "signup"), Y = l === "signin" || l === "signup" || l === "forgot", x = l === "signin" || l === "signup" && U;
|
|
531
|
+
return l === "reset_sent" ? /* @__PURE__ */ a(yt, { email: u, onBack: () => B("signin"), t: n }) : /* @__PURE__ */ d("div", { class: "flex flex-col gap-5", children: [
|
|
534
532
|
/* @__PURE__ */ a(ct, { mode: l, customHeading: t.heading, customSubheading: t.subheading }),
|
|
535
533
|
K ? /* @__PURE__ */ d("div", { class: "flex flex-col gap-2.5", children: [
|
|
536
534
|
o.map((g) => /* @__PURE__ */ d("div", { class: "relative", children: [
|
|
@@ -542,7 +540,7 @@ function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
|
542
540
|
disabled: m !== null,
|
|
543
541
|
class: "flex h-12 w-full items-center justify-center gap-2.5 rounded-full border-1 border-gray-200 bg-white px-5 text-base font-medium text-gray-900 transition-all hover:border-gray-300 hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-60 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)]",
|
|
544
542
|
children: [
|
|
545
|
-
m === g ? /* @__PURE__ */ a("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-700" }) : /* @__PURE__ */ a(
|
|
543
|
+
m === g ? /* @__PURE__ */ a("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-700" }) : /* @__PURE__ */ a(xt, { provider: g }),
|
|
546
544
|
/* @__PURE__ */ a("span", { children: ot(g, n) })
|
|
547
545
|
]
|
|
548
546
|
}
|
|
@@ -563,7 +561,7 @@ function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
|
563
561
|
required: !0
|
|
564
562
|
}
|
|
565
563
|
),
|
|
566
|
-
|
|
564
|
+
x && /* @__PURE__ */ a(
|
|
567
565
|
re,
|
|
568
566
|
{
|
|
569
567
|
placeholder: n("auth.password", "Password"),
|
|
@@ -573,7 +571,7 @@ function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
|
573
571
|
required: !0
|
|
574
572
|
}
|
|
575
573
|
),
|
|
576
|
-
l === "signup" &&
|
|
574
|
+
l === "signup" && U && /* @__PURE__ */ a(
|
|
577
575
|
re,
|
|
578
576
|
{
|
|
579
577
|
placeholder: n("auth.repeat_password", "Repeat password"),
|
|
@@ -607,15 +605,14 @@ function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
|
607
605
|
autocomplete: "new-password"
|
|
608
606
|
}
|
|
609
607
|
),
|
|
610
|
-
l === "
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
l !== "reset_sent" && /* @__PURE__ */ a(
|
|
608
|
+
l === "signin" && r && /* @__PURE__ */ a("div", { class: "flex justify-end text-sm", children: /* @__PURE__ */ a(W, { onClick: () => B("forgot"), children: n("auth.forgot_password", "Forgot password?") }) }),
|
|
609
|
+
z && /* @__PURE__ */ a("p", { class: "text-sm text-red-600", children: z }),
|
|
610
|
+
F && /* @__PURE__ */ a("p", { class: "text-sm text-gray-500", children: F }),
|
|
611
|
+
/* @__PURE__ */ a(
|
|
615
612
|
ht,
|
|
616
613
|
{
|
|
617
614
|
busy: m === "email",
|
|
618
|
-
label: ut(l,
|
|
615
|
+
label: ut(l, U, t.submit_label ?? t.heading, n)
|
|
619
616
|
}
|
|
620
617
|
)
|
|
621
618
|
] }),
|
|
@@ -624,7 +621,7 @@ function lt({ block: t, allowSignup: e, allowReset: r, ctx: i }) {
|
|
|
624
621
|
{
|
|
625
622
|
mode: l,
|
|
626
623
|
allowSignup: e,
|
|
627
|
-
onSwitch:
|
|
624
|
+
onSwitch: B
|
|
628
625
|
}
|
|
629
626
|
)
|
|
630
627
|
] });
|
|
@@ -765,7 +762,7 @@ function me({ type: t, placeholder: e, value: r, onInput: i, autocomplete: n, in
|
|
|
765
762
|
);
|
|
766
763
|
}
|
|
767
764
|
function re({ placeholder: t, value: e, onInput: r, autocomplete: i, required: n }) {
|
|
768
|
-
const { t: s } = S(), [o, c] = v(!1), l =
|
|
765
|
+
const { t: s } = S(), [o, c] = v(!1), l = O(null);
|
|
769
766
|
j(() => {
|
|
770
767
|
const f = l.current;
|
|
771
768
|
f && f.value !== e && (f.value = e);
|
|
@@ -853,7 +850,7 @@ function bt() {
|
|
|
853
850
|
/* @__PURE__ */ a("div", { class: "h-px flex-1 bg-gray-200" })
|
|
854
851
|
] });
|
|
855
852
|
}
|
|
856
|
-
function
|
|
853
|
+
function xt({ provider: t }) {
|
|
857
854
|
return t === "google" ? /* @__PURE__ */ d("svg", { width: "20", height: "20", viewBox: "0 0 18 18", "aria-hidden": "true", children: [
|
|
858
855
|
/* @__PURE__ */ a("path", { fill: "#4285F4", d: "M17.64 9.2c0-.64-.06-1.25-.16-1.84H9v3.49h4.84a4.14 4.14 0 0 1-1.79 2.71v2.26h2.9c1.7-1.56 2.69-3.87 2.69-6.62Z" }),
|
|
859
856
|
/* @__PURE__ */ a("path", { fill: "#34A853", d: "M9 18c2.43 0 4.47-.8 5.96-2.18l-2.9-2.26c-.8.54-1.83.86-3.06.86-2.36 0-4.36-1.59-5.07-3.74H.92v2.33A9 9 0 0 0 9 18Z" }),
|
|
@@ -866,7 +863,57 @@ function yt({ provider: t }) {
|
|
|
866
863
|
/* @__PURE__ */ a("svg", { width: "26", height: "26", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09zM12 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" }) })
|
|
867
864
|
) : t === "github" ? /* @__PURE__ */ a("svg", { width: "20", height: "20", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M8 0C3.6 0 0 3.6 0 8a8 8 0 0 0 5.5 7.6c.4.1.5-.2.5-.4v-1.5c-2.2.5-2.7-1-2.7-1-.4-.9-.9-1.2-.9-1.2-.7-.5.1-.5.1-.5.8.1 1.2.8 1.2.8.7 1.2 1.9.9 2.4.7 0-.5.3-.9.5-1.1-1.8-.2-3.6-.9-3.6-4 0-.9.3-1.6.8-2.1-.1-.2-.4-1 .1-2.1 0 0 .7-.2 2.2.8a7.6 7.6 0 0 1 4 0c1.5-1 2.2-.8 2.2-.8.4 1.1.2 1.9.1 2.1.5.5.8 1.2.8 2.1 0 3.1-1.9 3.7-3.6 3.9.3.3.6.8.6 1.6V15c0 .2.1.5.6.4A8 8 0 0 0 16 8c0-4.4-3.6-8-8-8Z" }) }) : /* @__PURE__ */ a("svg", { width: "18", height: "20", viewBox: "0 0 14 16", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M14 2.7C14 1.2 12.8 0 11.3 0H2.7C1.2 0 0 1.2 0 2.7v10.6C0 14.8 1.2 16 2.7 16h4V9.8H4.7v-2H6.7V6.4c0-2 1.2-3.1 3-3.1.9 0 1.7.1 2 .2V5h-1.4c-.8 0-1 .4-1 1v1.5h2.4l-.3 2H9.3V16h2c1.5 0 2.7-1.2 2.7-2.7V2.7Z" }) });
|
|
868
865
|
}
|
|
869
|
-
function
|
|
866
|
+
function yt({
|
|
867
|
+
email: t,
|
|
868
|
+
onBack: e,
|
|
869
|
+
t: r
|
|
870
|
+
}) {
|
|
871
|
+
return /* @__PURE__ */ d("div", { class: "flex flex-col items-center gap-4 py-2 text-center", children: [
|
|
872
|
+
/* @__PURE__ */ a(
|
|
873
|
+
"div",
|
|
874
|
+
{
|
|
875
|
+
class: "flex h-14 w-14 items-center justify-center rounded-full",
|
|
876
|
+
style: {
|
|
877
|
+
background: "linear-gradient(135deg, #4ade80, #16a34a)",
|
|
878
|
+
color: "#fff",
|
|
879
|
+
boxShadow: "0 0 0 8px rgba(74,222,128,0.12), 0 8px 20px -6px rgba(22,163,74,0.45)"
|
|
880
|
+
},
|
|
881
|
+
"aria-hidden": "true",
|
|
882
|
+
children: /* @__PURE__ */ a("svg", { width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ a(
|
|
883
|
+
"path",
|
|
884
|
+
{
|
|
885
|
+
d: "M5 13l4 4L19 7",
|
|
886
|
+
stroke: "currentColor",
|
|
887
|
+
"stroke-width": "2.5",
|
|
888
|
+
"stroke-linecap": "round",
|
|
889
|
+
"stroke-linejoin": "round"
|
|
890
|
+
}
|
|
891
|
+
) })
|
|
892
|
+
}
|
|
893
|
+
),
|
|
894
|
+
/* @__PURE__ */ a("h2", { class: "mt-1 text-3xl font-bold tracking-tight text-gray-900", children: r("auth.check_email_title", "Check your email") }),
|
|
895
|
+
/* @__PURE__ */ a("p", { class: "text-base leading-relaxed text-gray-600", children: r(
|
|
896
|
+
"auth.reset_sent_subtitle",
|
|
897
|
+
"We sent a password reset link. Follow the instructions in the email to reset your password."
|
|
898
|
+
) }),
|
|
899
|
+
t ? /* @__PURE__ */ a("p", { class: "break-all text-base font-semibold text-gray-900", children: t }) : null,
|
|
900
|
+
/* @__PURE__ */ a("p", { class: "text-sm text-gray-500", children: r("auth.reset_link_valid", "The link is valid for 1 hour.") }),
|
|
901
|
+
/* @__PURE__ */ a(
|
|
902
|
+
"button",
|
|
903
|
+
{
|
|
904
|
+
type: "button",
|
|
905
|
+
onClick: e,
|
|
906
|
+
class: "pw-cta-shimmer relative mt-2 flex min-h-12 w-full items-center justify-center overflow-hidden rounded-3xl px-5 py-2 text-center text-base font-semibold leading-tight text-white transition-transform duration-150 active:scale-[0.98] focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
907
|
+
style: {
|
|
908
|
+
background: "linear-gradient(135deg, color-mix(in srgb, var(--pw-accent) 55%, white) 0%, var(--pw-accent) 55%, color-mix(in srgb, var(--pw-accent) 90%, black) 100%)",
|
|
909
|
+
boxShadow: "0 0 20px 0 color-mix(in srgb, var(--pw-accent) 25%, transparent), inset 0 0 8px 0 color-mix(in srgb, white 25%, transparent)"
|
|
910
|
+
},
|
|
911
|
+
children: /* @__PURE__ */ a("span", { class: "relative z-10", children: r("auth.back_to_login", "Back to Login") })
|
|
912
|
+
}
|
|
913
|
+
)
|
|
914
|
+
] });
|
|
915
|
+
}
|
|
916
|
+
function vt({
|
|
870
917
|
block: t,
|
|
871
918
|
bootstrap: e,
|
|
872
919
|
auth: r,
|
|
@@ -907,11 +954,11 @@ function xt({
|
|
|
907
954
|
submit_label: l("auth.log_in", "Sign In")
|
|
908
955
|
} : t;
|
|
909
956
|
return /* @__PURE__ */ d("div", { class: "relative flex-1 min-h-0 overflow-y-auto p-6 sm:p-8", children: [
|
|
910
|
-
s ? /* @__PURE__ */ a(
|
|
957
|
+
s ? /* @__PURE__ */ a(kt, { onClick: n, ariaLabel: l("nav.back_aria", "Back") }) : null,
|
|
911
958
|
/* @__PURE__ */ a(Ee, { block: u, ctx: p })
|
|
912
959
|
] });
|
|
913
960
|
}
|
|
914
|
-
function
|
|
961
|
+
function kt({ onClick: t, ariaLabel: e }) {
|
|
915
962
|
return /* @__PURE__ */ a(
|
|
916
963
|
"button",
|
|
917
964
|
{
|
|
@@ -955,7 +1002,7 @@ function ie(t) {
|
|
|
955
1002
|
expired: !1
|
|
956
1003
|
};
|
|
957
1004
|
}
|
|
958
|
-
function
|
|
1005
|
+
function _t(t) {
|
|
959
1006
|
if (t.expires_at) {
|
|
960
1007
|
const e = Date.parse(t.expires_at);
|
|
961
1008
|
return Number.isFinite(e) ? e : null;
|
|
@@ -981,9 +1028,9 @@ function ze(t, e) {
|
|
|
981
1028
|
return t.find((r) => r.expires_at || r.duration_minutes) ?? null;
|
|
982
1029
|
}
|
|
983
1030
|
function Be(t) {
|
|
984
|
-
const e = t ?
|
|
1031
|
+
const e = t ? _t(t) : null, [r, i] = v(
|
|
985
1032
|
() => e !== null ? ie(e) : null
|
|
986
|
-
), n =
|
|
1033
|
+
), n = O(e);
|
|
987
1034
|
return n.current = e, j(() => {
|
|
988
1035
|
if (e === null) {
|
|
989
1036
|
i(null);
|
|
@@ -1001,7 +1048,7 @@ function Be(t) {
|
|
|
1001
1048
|
return () => clearInterval(s);
|
|
1002
1049
|
}, [e, t?.duration_minutes, t?.id]), r;
|
|
1003
1050
|
}
|
|
1004
|
-
function
|
|
1051
|
+
function St({ block: t, ctx: e }) {
|
|
1005
1052
|
const { t: r } = S(), i = ze(e.bootstrap.offers, t.offer_id), n = Be(i);
|
|
1006
1053
|
if (!i || n === null || n.expired && !t.force) return null;
|
|
1007
1054
|
const s = t.title ?? i.label ?? r("offer.limited_time", "Limited-time offer"), o = i.discount_percent ? `${s} ${i.discount_percent}%` : s;
|
|
@@ -1039,7 +1086,7 @@ function Oe({ value: t, t: e }) {
|
|
|
1039
1086
|
function q({ children: t }) {
|
|
1040
1087
|
return /* @__PURE__ */ a("span", { class: "rounded bg-black/20 px-1.5 py-0.5 text-xs font-bold", children: t });
|
|
1041
1088
|
}
|
|
1042
|
-
function
|
|
1089
|
+
function Ct({ offer: t }) {
|
|
1043
1090
|
const { t: e } = S(), r = Be(t);
|
|
1044
1091
|
if (r === null || r.expired) return null;
|
|
1045
1092
|
const i = t.label ?? e("offer.limited_time", "Limited-time offer"), n = t.discount_percent ? `${i} ${t.discount_percent}%` : i;
|
|
@@ -1079,19 +1126,19 @@ function Fe() {
|
|
|
1079
1126
|
}
|
|
1080
1127
|
);
|
|
1081
1128
|
}
|
|
1082
|
-
const be = 3,
|
|
1083
|
-
function
|
|
1084
|
-
const { t: n } = S(), s = e?.user.email ?? "", o = s || null, [c, l] = v(s), [p, u] = v(""), [f, _] = v(""), [h, k] = v([]), [w, A] = v(!1), [b, m] = v(null), [C, I] = v({}),
|
|
1085
|
-
const P = {}, T = (o ?? c).trim(),
|
|
1086
|
-
return T ?
|
|
1129
|
+
const be = 3, xe = 200, ye = 5e3, ne = 5, It = 10 * 1024 * 1024, ve = ["image/jpeg", "image/png", "image/webp"], At = /.+@.+\..+/;
|
|
1130
|
+
function Mt({ client: t, authSession: e, origin: r, onBack: i }) {
|
|
1131
|
+
const { t: n } = S(), s = e?.user.email ?? "", o = s || null, [c, l] = v(s), [p, u] = v(""), [f, _] = v(""), [h, k] = v([]), [w, A] = v(!1), [b, m] = v(null), [C, I] = v({}), z = () => {
|
|
1132
|
+
const P = {}, T = (o ?? c).trim(), D = p.trim(), B = f.trim();
|
|
1133
|
+
return T ? At.test(T.toLowerCase()) || (P.email = n("support.invalid_email", "Invalid email")) : P.email = n("support.required", "Required"), (D.length < be || D.length > xe) && (P.subject = n("support.subject_length", "{min}–{max} characters", {
|
|
1087
1134
|
min: be,
|
|
1088
|
-
max: ye
|
|
1089
|
-
})), (D.length < 1 || D.length > xe) && (P.message = n("support.message_length", "{min}–{max} characters", {
|
|
1090
|
-
min: 1,
|
|
1091
1135
|
max: xe
|
|
1136
|
+
})), (B.length < 1 || B.length > ye) && (P.message = n("support.message_length", "{min}–{max} characters", {
|
|
1137
|
+
min: 1,
|
|
1138
|
+
max: ye
|
|
1092
1139
|
})), I(P), Object.keys(P).length === 0;
|
|
1093
1140
|
}, M = async (P) => {
|
|
1094
|
-
if (P.preventDefault(), !w &&
|
|
1141
|
+
if (P.preventDefault(), !w && z()) {
|
|
1095
1142
|
A(!0), I((T) => ({ ...T, submit: void 0 }));
|
|
1096
1143
|
try {
|
|
1097
1144
|
const T = (o ?? c).trim();
|
|
@@ -1102,15 +1149,15 @@ function At({ client: t, authSession: e, origin: r, onBack: i }) {
|
|
|
1102
1149
|
files: h.length > 0 ? h : void 0
|
|
1103
1150
|
}), m(T);
|
|
1104
1151
|
} catch (T) {
|
|
1105
|
-
const
|
|
1106
|
-
I((
|
|
1152
|
+
const D = T instanceof L && T.message || "Failed to send. Please try again.";
|
|
1153
|
+
I((B) => ({ ...B, submit: D }));
|
|
1107
1154
|
} finally {
|
|
1108
1155
|
A(!1);
|
|
1109
1156
|
}
|
|
1110
1157
|
}
|
|
1111
|
-
},
|
|
1158
|
+
}, F = () => {
|
|
1112
1159
|
u(""), _(""), k([]), I({}), m(null);
|
|
1113
|
-
},
|
|
1160
|
+
}, R = "flex flex-col gap-3 bg-white px-6 pb-6 pt-3 sm:px-8", U = { boxShadow: "0 -4px 12px -4px rgba(15,23,42,0.06)" };
|
|
1114
1161
|
return b ? /* @__PURE__ */ d("div", { class: "relative flex-1 min-h-0 flex flex-col", children: [
|
|
1115
1162
|
/* @__PURE__ */ d("div", { class: "flex-1 min-h-0 overflow-y-auto flex flex-col items-center gap-4 px-6 pb-3 pt-6 sm:px-8 sm:pb-4 sm:pt-8 text-center", children: [
|
|
1116
1163
|
/* @__PURE__ */ a(
|
|
@@ -1143,7 +1190,7 @@ function At({ client: t, authSession: e, origin: r, onBack: i }) {
|
|
|
1143
1190
|
"."
|
|
1144
1191
|
] })
|
|
1145
1192
|
] }),
|
|
1146
|
-
/* @__PURE__ */ a("div", { class:
|
|
1193
|
+
/* @__PURE__ */ a("div", { class: R, style: U, children: /* @__PURE__ */ d("div", { class: "flex items-center justify-center gap-3", children: [
|
|
1147
1194
|
/* @__PURE__ */ a(
|
|
1148
1195
|
"button",
|
|
1149
1196
|
{
|
|
@@ -1157,7 +1204,7 @@ function At({ client: t, authSession: e, origin: r, onBack: i }) {
|
|
|
1157
1204
|
"button",
|
|
1158
1205
|
{
|
|
1159
1206
|
type: "button",
|
|
1160
|
-
onClick:
|
|
1207
|
+
onClick: F,
|
|
1161
1208
|
class: "flex h-10 items-center justify-center rounded-xl px-4 text-sm font-semibold text-white transition-all hover:-translate-y-px hover:brightness-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
1162
1209
|
style: {
|
|
1163
1210
|
background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
|
|
@@ -1168,7 +1215,7 @@ function At({ client: t, authSession: e, origin: r, onBack: i }) {
|
|
|
1168
1215
|
)
|
|
1169
1216
|
] }) })
|
|
1170
1217
|
] }) : /* @__PURE__ */ d("form", { onSubmit: M, class: "relative flex-1 min-h-0 flex flex-col", children: [
|
|
1171
|
-
/* @__PURE__ */ a(
|
|
1218
|
+
/* @__PURE__ */ a(Lt, { onClick: i, ariaLabel: n("nav.back_aria", "Back") }),
|
|
1172
1219
|
/* @__PURE__ */ a("div", { class: "flex-1 min-h-0 overflow-y-auto px-6 pb-3 pt-6 sm:px-8 sm:pb-4 sm:pt-8", children: /* @__PURE__ */ d("div", { class: "flex flex-col gap-5", children: [
|
|
1173
1220
|
/* @__PURE__ */ d("div", { class: "flex flex-col gap-2 pr-10", children: [
|
|
1174
1221
|
/* @__PURE__ */ a("h2", { class: "text-3xl font-bold tracking-tight text-gray-900", children: n("support.heading", "Support") }),
|
|
@@ -1203,7 +1250,7 @@ function At({ client: t, authSession: e, origin: r, onBack: i }) {
|
|
|
1203
1250
|
}
|
|
1204
1251
|
),
|
|
1205
1252
|
/* @__PURE__ */ a(
|
|
1206
|
-
|
|
1253
|
+
Tt,
|
|
1207
1254
|
{
|
|
1208
1255
|
placeholder: n("support.message_placeholder", "Enter your message *"),
|
|
1209
1256
|
value: f,
|
|
@@ -1212,10 +1259,10 @@ function At({ client: t, authSession: e, origin: r, onBack: i }) {
|
|
|
1212
1259
|
required: !0
|
|
1213
1260
|
}
|
|
1214
1261
|
),
|
|
1215
|
-
/* @__PURE__ */ a(
|
|
1262
|
+
/* @__PURE__ */ a(Pt, { files: h, onChange: k, disabled: w })
|
|
1216
1263
|
] })
|
|
1217
1264
|
] }) }),
|
|
1218
|
-
/* @__PURE__ */ d("div", { class:
|
|
1265
|
+
/* @__PURE__ */ d("div", { class: R, style: U, children: [
|
|
1219
1266
|
C.submit && /* @__PURE__ */ a("p", { class: "text-sm text-red-600", children: C.submit }),
|
|
1220
1267
|
/* @__PURE__ */ d("div", { class: "flex items-center justify-end gap-3", children: [
|
|
1221
1268
|
/* @__PURE__ */ a(
|
|
@@ -1245,7 +1292,7 @@ function At({ client: t, authSession: e, origin: r, onBack: i }) {
|
|
|
1245
1292
|
] })
|
|
1246
1293
|
] });
|
|
1247
1294
|
}
|
|
1248
|
-
function
|
|
1295
|
+
function Lt({ onClick: t, ariaLabel: e }) {
|
|
1249
1296
|
return /* @__PURE__ */ a(
|
|
1250
1297
|
"button",
|
|
1251
1298
|
{
|
|
@@ -1303,7 +1350,7 @@ function ke({
|
|
|
1303
1350
|
n && /* @__PURE__ */ a("span", { class: "mt-1 ml-2 block text-sm text-red-600", children: n })
|
|
1304
1351
|
] });
|
|
1305
1352
|
}
|
|
1306
|
-
function
|
|
1353
|
+
function Tt({
|
|
1307
1354
|
placeholder: t,
|
|
1308
1355
|
value: e,
|
|
1309
1356
|
onInput: r,
|
|
@@ -1325,8 +1372,8 @@ function Lt({
|
|
|
1325
1372
|
i && /* @__PURE__ */ a("span", { class: "mt-1 ml-2 block text-sm text-red-600", children: i })
|
|
1326
1373
|
] });
|
|
1327
1374
|
}
|
|
1328
|
-
function
|
|
1329
|
-
const { t: i } = S(), n =
|
|
1375
|
+
function Pt({ files: t, onChange: e, disabled: r }) {
|
|
1376
|
+
const { t: i } = S(), n = O(null), [s, o] = v(!1), [c, l] = v(null), p = (u) => {
|
|
1330
1377
|
if (!u || r) return;
|
|
1331
1378
|
l(null);
|
|
1332
1379
|
const f = Array.from(u);
|
|
@@ -1335,7 +1382,7 @@ function Tt({ files: t, onChange: e, disabled: r }) {
|
|
|
1335
1382
|
return;
|
|
1336
1383
|
}
|
|
1337
1384
|
const _ = f.filter(
|
|
1338
|
-
(h) => ve.includes(h.type) && h.size <=
|
|
1385
|
+
(h) => ve.includes(h.type) && h.size <= It
|
|
1339
1386
|
);
|
|
1340
1387
|
if (_.length !== f.length) {
|
|
1341
1388
|
l(i("support.invalid_file", "Only JPEG/PNG/WebP, ≤ 10MB each"));
|
|
@@ -1408,34 +1455,34 @@ function Tt({ files: t, onChange: e, disabled: r }) {
|
|
|
1408
1455
|
)) })
|
|
1409
1456
|
] });
|
|
1410
1457
|
}
|
|
1411
|
-
const
|
|
1458
|
+
const Et = {
|
|
1412
1459
|
day: "cta.get_plan_daily",
|
|
1413
1460
|
week: "cta.get_plan_weekly",
|
|
1414
1461
|
month: "cta.get_plan_monthly",
|
|
1415
1462
|
year: "cta.get_plan_yearly"
|
|
1416
|
-
},
|
|
1463
|
+
}, jt = {
|
|
1417
1464
|
day: "Get Daily Plan",
|
|
1418
1465
|
week: "Get Weekly Plan",
|
|
1419
1466
|
month: "Get Monthly Plan",
|
|
1420
1467
|
year: "Get Yearly Plan"
|
|
1421
1468
|
};
|
|
1422
|
-
function
|
|
1469
|
+
function zt(t, e, r, i) {
|
|
1423
1470
|
if (e === "close") return i("cta.close", "Close");
|
|
1424
1471
|
if (!t) return i("cta.continue", "Continue");
|
|
1425
1472
|
if (!r && t.trial_days && t.interval && t.interval !== "lifetime")
|
|
1426
1473
|
return i("cta.start_trial", "Start {days}-Day Free Trial", { days: t.trial_days });
|
|
1427
1474
|
if (!t.interval || t.interval === "lifetime")
|
|
1428
1475
|
return i("cta.get_lifetime_access", "Get Lifetime Access");
|
|
1429
|
-
const n =
|
|
1430
|
-
return n ? i(n,
|
|
1431
|
-
interval:
|
|
1476
|
+
const n = Et[t.interval];
|
|
1477
|
+
return n ? i(n, jt[t.interval]) : i("cta.get_plan_generic", "Get {interval} Plan", {
|
|
1478
|
+
interval: Bt(t.interval)
|
|
1432
1479
|
});
|
|
1433
1480
|
}
|
|
1434
|
-
function
|
|
1481
|
+
function Bt(t) {
|
|
1435
1482
|
return t.length ? t[0].toUpperCase() + t.slice(1) : t;
|
|
1436
1483
|
}
|
|
1437
|
-
function
|
|
1438
|
-
const { t: r } = S(), [i, n] = v(!1), s = t.priceId ?? e.selectedPriceId, o = i || t.action === "checkout" && !s, c = s ? e.bootstrap.prices.find((f) => f.id === s) ?? null : null, l = e.bootstrap.user?.had_previous_trial ?? !1, p = t.label ??
|
|
1484
|
+
function Ot({ block: t, ctx: e }) {
|
|
1485
|
+
const { t: r } = S(), [i, n] = v(!1), s = t.priceId ?? e.selectedPriceId, o = i || t.action === "checkout" && !s, c = s ? e.bootstrap.prices.find((f) => f.id === s) ?? null : null, l = e.bootstrap.user?.had_previous_trial ?? !1, p = t.label ?? zt(c, t.action, l, r);
|
|
1439
1486
|
return /* @__PURE__ */ d(
|
|
1440
1487
|
"button",
|
|
1441
1488
|
{
|
|
@@ -1472,7 +1519,7 @@ function Bt({ block: t, ctx: e }) {
|
|
|
1472
1519
|
}
|
|
1473
1520
|
);
|
|
1474
1521
|
}
|
|
1475
|
-
function
|
|
1522
|
+
function Ft({ ctx: t }) {
|
|
1476
1523
|
const { t: e } = S(), r = t.authSession, i = t.auth, [n, s] = v(!1), o = () => t.onAction("support");
|
|
1477
1524
|
if (r && !r.user.is_anonymous) {
|
|
1478
1525
|
const c = async () => {
|
|
@@ -1525,7 +1572,7 @@ function G({
|
|
|
1525
1572
|
function _e() {
|
|
1526
1573
|
return /* @__PURE__ */ a("span", { class: "h-1 w-1 rounded-full bg-gray-300", "aria-hidden": "true" });
|
|
1527
1574
|
}
|
|
1528
|
-
function
|
|
1575
|
+
function Rt({ block: t }) {
|
|
1529
1576
|
return t.items.length ? /* @__PURE__ */ a("ul", { class: "flex flex-col gap-2.5", role: "list", children: t.items.map((e) => /* @__PURE__ */ d("li", { class: "flex items-start gap-3 text-sm text-gray-700", children: [
|
|
1530
1577
|
/* @__PURE__ */ a(
|
|
1531
1578
|
"svg",
|
|
@@ -1554,11 +1601,11 @@ function Ft({ block: t }) {
|
|
|
1554
1601
|
] })
|
|
1555
1602
|
] }, e.id)) }) : null;
|
|
1556
1603
|
}
|
|
1557
|
-
function
|
|
1558
|
-
const { t: e } = S(), r = t.title ?? e("pricing.money_back", "30-day money-back guarantee"), i = t.subtitle, n = (t.icon ?? "dollar_shield") !== "none", s =
|
|
1604
|
+
function Ut({ block: t }) {
|
|
1605
|
+
const { t: e } = S(), r = t.title ?? e("pricing.money_back", "30-day money-back guarantee"), i = t.subtitle, n = (t.icon ?? "dollar_shield") !== "none", s = Dt(r);
|
|
1559
1606
|
return /* @__PURE__ */ d("div", { class: "flex flex-col items-center gap-1.5 border-b-1 pb-4 mb-1 border-gray-100", children: [
|
|
1560
1607
|
/* @__PURE__ */ d("div", { class: "inline-flex items-center gap-2 text-[12px] text-gray-700", children: [
|
|
1561
|
-
n ? /* @__PURE__ */ a(
|
|
1608
|
+
n ? /* @__PURE__ */ a(Nt, {}) : null,
|
|
1562
1609
|
s ? /* @__PURE__ */ d("span", { children: [
|
|
1563
1610
|
/* @__PURE__ */ a("b", { class: "font-bold text-gray-900", children: s.bold }),
|
|
1564
1611
|
" ",
|
|
@@ -1568,11 +1615,11 @@ function Rt({ block: t }) {
|
|
|
1568
1615
|
i ? /* @__PURE__ */ a("span", { class: "text-center text-xs leading-relaxed text-gray-500", children: i }) : null
|
|
1569
1616
|
] });
|
|
1570
1617
|
}
|
|
1571
|
-
function
|
|
1618
|
+
function Dt(t) {
|
|
1572
1619
|
const e = t.match(/^(\d+[-\s]?days?)\s+(.+)$/i);
|
|
1573
1620
|
return e ? { bold: e[1], rest: e[2] } : null;
|
|
1574
1621
|
}
|
|
1575
|
-
function
|
|
1622
|
+
function Nt() {
|
|
1576
1623
|
return /* @__PURE__ */ d(
|
|
1577
1624
|
"svg",
|
|
1578
1625
|
{
|
|
@@ -1607,22 +1654,22 @@ function Dt() {
|
|
|
1607
1654
|
}
|
|
1608
1655
|
);
|
|
1609
1656
|
}
|
|
1610
|
-
const Re = 24,
|
|
1611
|
-
function
|
|
1612
|
-
const r = e *
|
|
1657
|
+
const Re = 24, Ht = 16, $t = 2;
|
|
1658
|
+
function Vt(t, e) {
|
|
1659
|
+
const r = e * $t;
|
|
1613
1660
|
let i = Re;
|
|
1614
|
-
for (t.style.fontSize = `${i}px`; t.scrollHeight > r && i >
|
|
1661
|
+
for (t.style.fontSize = `${i}px`; t.scrollHeight > r && i > Ht; )
|
|
1615
1662
|
i -= 1, t.style.fontSize = `${i}px`;
|
|
1616
1663
|
}
|
|
1617
|
-
function
|
|
1618
|
-
const r = t.level ?? 1, i = `h${r}`, n = r === 1 ? "text-[22px] sm:text-2xl font-semibold leading-tight text-center text-balance text-gray-800" : r === 2 ? "text-xl font-semibold leading-snug text-gray-900 tracking-tight" : "text-base font-medium text-gray-900", s =
|
|
1664
|
+
function qt({ block: t, ctx: e }) {
|
|
1665
|
+
const r = t.level ?? 1, i = `h${r}`, n = r === 1 ? "text-[22px] sm:text-2xl font-semibold leading-tight text-center text-balance text-gray-800" : r === 2 ? "text-xl font-semibold leading-snug text-gray-900 tracking-tight" : "text-base font-medium text-gray-900", s = O(null), o = r === 1 && !!e.bootstrap.settings.title_auto_fit;
|
|
1619
1666
|
return j(() => {
|
|
1620
1667
|
if (!o || !s.current) return;
|
|
1621
1668
|
const c = getComputedStyle(s.current), l = parseFloat(c.lineHeight) || Re * 1.5;
|
|
1622
|
-
|
|
1669
|
+
Vt(s.current, l);
|
|
1623
1670
|
}, [o, t.text]), /* @__PURE__ */ a(i, { ref: s, class: n, children: t.text });
|
|
1624
1671
|
}
|
|
1625
|
-
function
|
|
1672
|
+
function Gt(t) {
|
|
1626
1673
|
const e = t.local ?? { currency: t.currency, amount: t.amount };
|
|
1627
1674
|
if (t.interval === "year") {
|
|
1628
1675
|
const r = (t.interval_count ?? 1) * 12;
|
|
@@ -1649,7 +1696,7 @@ function ae(t, e) {
|
|
|
1649
1696
|
}
|
|
1650
1697
|
}
|
|
1651
1698
|
function le(t, e) {
|
|
1652
|
-
const { amount: r, currency: i } =
|
|
1699
|
+
const { amount: r, currency: i } = Gt(t);
|
|
1653
1700
|
if (!e) {
|
|
1654
1701
|
const { currency: c, amount: l } = ae(r, i);
|
|
1655
1702
|
return { currency: c, amount: l, originalAmount: null };
|
|
@@ -1680,7 +1727,7 @@ function ce(t, e) {
|
|
|
1680
1727
|
const r = t.interval_count ?? 1;
|
|
1681
1728
|
return r === 1 ? e(`pricing.interval.${t.interval}`, t.interval) : `${r} ${t.interval}s`;
|
|
1682
1729
|
}
|
|
1683
|
-
function
|
|
1730
|
+
function Wt({ block: t, ctx: e }) {
|
|
1684
1731
|
const { t: r } = S(), i = t.priceIds && t.priceIds.length > 0 ? new Set(t.priceIds) : null, n = e.bootstrap.prices.filter((o) => !i || i.has(o.id));
|
|
1685
1732
|
if (n.length === 0)
|
|
1686
1733
|
return /* @__PURE__ */ a("p", { class: "text-sm text-gray-500", children: r("pricing.no_prices", "No prices available.") });
|
|
@@ -1693,7 +1740,7 @@ function Gt({ block: t, ctx: e }) {
|
|
|
1693
1740
|
role: "radiogroup",
|
|
1694
1741
|
"aria-label": r("pricing.plans_aria", "Plans"),
|
|
1695
1742
|
children: n.map((o, c) => /* @__PURE__ */ a(
|
|
1696
|
-
|
|
1743
|
+
Kt,
|
|
1697
1744
|
{
|
|
1698
1745
|
price: o,
|
|
1699
1746
|
isLast: c === n.length - 1,
|
|
@@ -1722,7 +1769,7 @@ function Gt({ block: t, ctx: e }) {
|
|
|
1722
1769
|
role: "radiogroup",
|
|
1723
1770
|
"aria-label": r("pricing.plans_aria", "Plans"),
|
|
1724
1771
|
children: n.map((l) => /* @__PURE__ */ a(
|
|
1725
|
-
|
|
1772
|
+
Yt,
|
|
1726
1773
|
{
|
|
1727
1774
|
price: l,
|
|
1728
1775
|
isPopular: t.popular_price_id === l.id,
|
|
@@ -1847,10 +1894,10 @@ function Gt({ block: t, ctx: e }) {
|
|
|
1847
1894
|
}
|
|
1848
1895
|
);
|
|
1849
1896
|
}
|
|
1850
|
-
function
|
|
1897
|
+
function Zt(t, e) {
|
|
1851
1898
|
return t.label ? t.label : !t.interval || t.interval === "lifetime" ? e("pricing.interval.lifetime_short", "lifetime") : e(`pricing.interval.${t.interval}`, t.interval);
|
|
1852
1899
|
}
|
|
1853
|
-
function
|
|
1900
|
+
function Kt({
|
|
1854
1901
|
price: t,
|
|
1855
1902
|
isLast: e,
|
|
1856
1903
|
isPopular: r,
|
|
@@ -1910,7 +1957,7 @@ function Zt({
|
|
|
1910
1957
|
].join(" "),
|
|
1911
1958
|
children: [
|
|
1912
1959
|
/* @__PURE__ */ d("div", { class: "flex flex-wrap items-center gap-1 gap-x-1.5", children: [
|
|
1913
|
-
/* @__PURE__ */ a("span", { class: "text-base font-normal capitalize text-gray-800", children:
|
|
1960
|
+
/* @__PURE__ */ a("span", { class: "text-base font-normal capitalize text-gray-800", children: Zt(t, c) }),
|
|
1914
1961
|
r ? (
|
|
1915
1962
|
// Pastel brand-mix pill — точно как `badge` в TelegramPricingRadio.
|
|
1916
1963
|
// Низкий visual weight: pill про "имя плана" (most popular), а не
|
|
@@ -1953,7 +2000,7 @@ function Zt({
|
|
|
1953
2000
|
}
|
|
1954
2001
|
);
|
|
1955
2002
|
}
|
|
1956
|
-
function
|
|
2003
|
+
function Yt({
|
|
1957
2004
|
price: t,
|
|
1958
2005
|
isPopular: e,
|
|
1959
2006
|
popularLabel: r,
|
|
@@ -2006,24 +2053,24 @@ function Kt({
|
|
|
2006
2053
|
}
|
|
2007
2054
|
);
|
|
2008
2055
|
}
|
|
2009
|
-
function
|
|
2056
|
+
function Xt({ block: t }) {
|
|
2010
2057
|
return /* @__PURE__ */ a("p", { class: "text-[0.9375rem] leading-relaxed text-gray-600", children: t.text });
|
|
2011
2058
|
}
|
|
2012
|
-
const
|
|
2059
|
+
const Jt = {
|
|
2013
2060
|
week: 0.25,
|
|
2014
2061
|
month: 1,
|
|
2015
2062
|
year: 12
|
|
2016
2063
|
};
|
|
2017
|
-
function
|
|
2064
|
+
function Qt(t, e) {
|
|
2018
2065
|
return t ? e(`pricing.interval.${t}`, t) : e("pricing.interval.period", "period");
|
|
2019
2066
|
}
|
|
2020
|
-
function
|
|
2067
|
+
function er({ block: t, ctx: e }) {
|
|
2021
2068
|
const { t: r } = S();
|
|
2022
2069
|
if (!t.queries.length) return null;
|
|
2023
|
-
const n = e.bootstrap.prices.find((o) => o.id === e.selectedPriceId)?.interval ?? null, s = n ?
|
|
2070
|
+
const n = e.bootstrap.prices.find((o) => o.id === e.selectedPriceId)?.interval ?? null, s = n ? Jt[n] : void 0;
|
|
2024
2071
|
return /* @__PURE__ */ d("div", { class: "flex flex-col gap-2", children: [
|
|
2025
2072
|
/* @__PURE__ */ a("div", { class: "text-sm font-semibold text-gray-800", children: !n || n === "lifetime" ? r("pricing.included_total", "Included for lifetime:") : r("pricing.included_per", "Included per {interval}:", {
|
|
2026
|
-
interval:
|
|
2073
|
+
interval: Qt(n, r)
|
|
2027
2074
|
}) }),
|
|
2028
2075
|
/* @__PURE__ */ a("ul", { class: "flex flex-col gap-2", role: "list", children: t.queries.map((o) => {
|
|
2029
2076
|
const c = Number.isFinite(o.count) ? o.count : 0, l = s !== void 0 ? Math.round(c * s) : c;
|
|
@@ -2062,19 +2109,19 @@ function Qt({ block: t, ctx: e }) {
|
|
|
2062
2109
|
}) })
|
|
2063
2110
|
] });
|
|
2064
2111
|
}
|
|
2065
|
-
const
|
|
2066
|
-
heading:
|
|
2067
|
-
text:
|
|
2068
|
-
price_grid:
|
|
2069
|
-
cta_button:
|
|
2112
|
+
const tr = {
|
|
2113
|
+
heading: qt,
|
|
2114
|
+
text: Xt,
|
|
2115
|
+
price_grid: Wt,
|
|
2116
|
+
cta_button: Ot,
|
|
2070
2117
|
auth_panel: Ee,
|
|
2071
|
-
current_session:
|
|
2072
|
-
features_list:
|
|
2073
|
-
tokenization_gate:
|
|
2074
|
-
guarantee_badge:
|
|
2075
|
-
offer_banner:
|
|
2118
|
+
current_session: Ft,
|
|
2119
|
+
features_list: Rt,
|
|
2120
|
+
tokenization_gate: er,
|
|
2121
|
+
guarantee_badge: Ut,
|
|
2122
|
+
offer_banner: St
|
|
2076
2123
|
};
|
|
2077
|
-
function
|
|
2124
|
+
function rr({ layout: t, bootstrap: e, onAction: r, auth: i, authSession: n, hasTopBanner: s }) {
|
|
2078
2125
|
const o = We(() => {
|
|
2079
2126
|
for (const k of t.blocks)
|
|
2080
2127
|
if (k.type === "price_grid" && k.popular_price_id && e.prices.some((w) => w.id === k.popular_price_id))
|
|
@@ -2088,7 +2135,7 @@ function tr({ layout: t, bootstrap: e, onAction: r, auth: i, authSession: n, has
|
|
|
2088
2135
|
auth: i,
|
|
2089
2136
|
authSession: n
|
|
2090
2137
|
}, u = t.blocks.findIndex((k) => k.type === "cta_button"), f = u === -1 ? t.blocks : t.blocks.slice(0, u), _ = u === -1 ? [] : t.blocks.slice(u), h = (k, w) => {
|
|
2091
|
-
const A =
|
|
2138
|
+
const A = tr[k.type];
|
|
2092
2139
|
return A ? /* @__PURE__ */ a(A, { block: k, ctx: p }, `${k.type}-${w}`) : (typeof console < "u" && console.warn(`[paywall] unknown block type: ${k.type}`), null);
|
|
2093
2140
|
};
|
|
2094
2141
|
return /* @__PURE__ */ d(se, { children: [
|
|
@@ -2108,13 +2155,13 @@ function tr({ layout: t, bootstrap: e, onAction: r, auth: i, authSession: n, has
|
|
|
2108
2155
|
) : null
|
|
2109
2156
|
] });
|
|
2110
2157
|
}
|
|
2111
|
-
function
|
|
2158
|
+
function ir(t, e, r, i) {
|
|
2112
2159
|
return t ? i ? { open: !0, view: "purchased", error: null, processing: !1 } : e.status === "idle" || e.status === "loading" ? { open: !0, view: "loading", error: null, processing: !1 } : e.status === "error" ? { open: !0, view: "error", error: e.error, processing: !1 } : r.kind === "support" ? { open: !0, view: "support", error: null, processing: !1 } : r.kind === "auth_gate" ? { open: !0, view: "auth", error: null, processing: !1 } : r.kind === "awaiting_payment" ? { open: !0, view: "awaiting_payment", error: null, processing: !1 } : r.kind === "popup_blocked" ? { open: !0, view: "popup_blocked", error: null, processing: !1 } : r.kind === "purchase_success" ? { open: !0, view: "purchased", error: null, processing: !1 } : r.kind === "verifying" ? { open: !0, view: "loading", error: null, processing: !1 } : { open: !0, view: "layout", error: null, processing: !1 } : { open: !1, view: null, error: null, processing: !1 };
|
|
2113
2160
|
}
|
|
2114
|
-
function
|
|
2161
|
+
function nr(t, e) {
|
|
2115
2162
|
return t.open === e.open && t.view === e.view && t.error === e.error && t.processing === e.processing;
|
|
2116
2163
|
}
|
|
2117
|
-
function
|
|
2164
|
+
function ar({
|
|
2118
2165
|
client: t,
|
|
2119
2166
|
open: e,
|
|
2120
2167
|
onClose: r,
|
|
@@ -2144,39 +2191,39 @@ function nr({
|
|
|
2144
2191
|
kind: "popup_blocked",
|
|
2145
2192
|
priceId: o,
|
|
2146
2193
|
url: c
|
|
2147
|
-
} : { kind: "layout" }), C = n === "awaiting_payment" || n === "popup_blocked" || n === "auth" && !!o, I =
|
|
2194
|
+
} : { kind: "layout" }), C = n === "awaiting_payment" || n === "popup_blocked" || n === "auth" && !!o, I = O(!1), z = O(null);
|
|
2148
2195
|
j(() => {
|
|
2149
2196
|
if (!u) return;
|
|
2150
|
-
const
|
|
2151
|
-
g &&
|
|
2197
|
+
const x = ir(e, h, b, l), g = z.current;
|
|
2198
|
+
g && nr(g, x) || (z.current = x, u(x));
|
|
2152
2199
|
}, [e, h, b, l, u]), j(() => {
|
|
2153
2200
|
if (t.auth)
|
|
2154
|
-
return t.auth.onAuthChange((
|
|
2201
|
+
return t.auth.onAuthChange((x, g) => A(g));
|
|
2155
2202
|
}, [t.auth]), j(() => {
|
|
2156
2203
|
if (typeof t.onBootstrapChange == "function")
|
|
2157
|
-
return t.onBootstrapChange((
|
|
2204
|
+
return t.onBootstrapChange((x) => {
|
|
2158
2205
|
k(
|
|
2159
|
-
(g) => g.status === "ready" ? { status: "ready", data:
|
|
2206
|
+
(g) => g.status === "ready" ? { status: "ready", data: x } : g
|
|
2160
2207
|
);
|
|
2161
2208
|
});
|
|
2162
2209
|
}, [t]), j(() => {
|
|
2163
2210
|
if (!e || h.status === "ready" || h.status === "loading") return;
|
|
2164
|
-
let
|
|
2211
|
+
let x = !1;
|
|
2165
2212
|
return k({ status: "loading" }), t.bootstrap().then((g) => {
|
|
2166
|
-
if (
|
|
2213
|
+
if (x) return;
|
|
2167
2214
|
k({ status: "ready", data: g }), i("ready", g);
|
|
2168
|
-
const
|
|
2169
|
-
g.user?.has_active_subscription && !p && !
|
|
2215
|
+
const y = n === "support" || n === "auth" || C;
|
|
2216
|
+
g.user?.has_active_subscription && !p && !y && (i("purchase_completed", {
|
|
2170
2217
|
priceId: o ?? null,
|
|
2171
2218
|
sessionId: null,
|
|
2172
2219
|
restored: !0
|
|
2173
2220
|
}), m({ kind: "purchase_success", restored: !0 }));
|
|
2174
2221
|
}).catch((g) => {
|
|
2175
|
-
if (
|
|
2176
|
-
const
|
|
2177
|
-
k({ status: "error", error:
|
|
2222
|
+
if (x) return;
|
|
2223
|
+
const y = g instanceof L ? g : new L("unknown", "Failed to load paywall", { cause: g });
|
|
2224
|
+
k({ status: "error", error: y }), i("error", y);
|
|
2178
2225
|
}), () => {
|
|
2179
|
-
|
|
2226
|
+
x = !0;
|
|
2180
2227
|
};
|
|
2181
2228
|
}, [e, t]), Ze(() => {
|
|
2182
2229
|
if (!e) {
|
|
@@ -2198,106 +2245,106 @@ function nr({
|
|
|
2198
2245
|
url: c
|
|
2199
2246
|
});
|
|
2200
2247
|
}, [e, n, o, c]);
|
|
2201
|
-
const M = async (
|
|
2248
|
+
const M = async (x) => {
|
|
2202
2249
|
try {
|
|
2203
|
-
const g = t.getCachedOffers?.() ?? null,
|
|
2204
|
-
priceId:
|
|
2205
|
-
offerId:
|
|
2250
|
+
const g = t.getCachedOffers?.() ?? null, y = g ? N(g, x) : null, E = await t.createCheckout({
|
|
2251
|
+
priceId: x,
|
|
2252
|
+
offerId: y?.id,
|
|
2206
2253
|
ignoreActivePurchase: p === !0
|
|
2207
2254
|
});
|
|
2208
|
-
if (i("checkout_started", { priceId:
|
|
2255
|
+
if (i("checkout_started", { priceId: x, url: E.url, acquiring: E.acquiring }), typeof window > "u" || !E.url) return;
|
|
2209
2256
|
const $ = window.open(E.url, "_blank");
|
|
2210
2257
|
if ($) {
|
|
2211
2258
|
try {
|
|
2212
2259
|
$.opener = null;
|
|
2213
2260
|
} catch {
|
|
2214
2261
|
}
|
|
2215
|
-
m({ kind: "awaiting_payment", priceId:
|
|
2262
|
+
m({ kind: "awaiting_payment", priceId: x, url: E.url });
|
|
2216
2263
|
} else
|
|
2217
|
-
m({ kind: "popup_blocked", priceId:
|
|
2264
|
+
m({ kind: "popup_blocked", priceId: x, url: E.url });
|
|
2218
2265
|
} catch (g) {
|
|
2219
2266
|
if (g instanceof L && g.code === "already_purchased") {
|
|
2220
2267
|
try {
|
|
2221
2268
|
await t.getUser({ force: !0 });
|
|
2222
2269
|
} catch {
|
|
2223
2270
|
}
|
|
2224
|
-
i("purchase_completed", { priceId:
|
|
2271
|
+
i("purchase_completed", { priceId: x, sessionId: null, restored: !0 }), C ? r() : m({ kind: "purchase_success", restored: !0 });
|
|
2225
2272
|
return;
|
|
2226
2273
|
}
|
|
2227
|
-
const
|
|
2228
|
-
i("error",
|
|
2274
|
+
const y = g instanceof L ? g : new L("checkout_failed", "Checkout failed", { cause: g });
|
|
2275
|
+
i("error", y), C ? r() : m({ kind: "layout" });
|
|
2229
2276
|
}
|
|
2230
|
-
},
|
|
2277
|
+
}, F = (x, g) => {
|
|
2231
2278
|
if (typeof window > "u") return;
|
|
2232
|
-
const
|
|
2233
|
-
if (
|
|
2279
|
+
const y = window.open(g, "_blank");
|
|
2280
|
+
if (y) {
|
|
2234
2281
|
try {
|
|
2235
|
-
|
|
2282
|
+
y.opener = null;
|
|
2236
2283
|
} catch {
|
|
2237
2284
|
}
|
|
2238
|
-
m({ kind: "awaiting_payment", priceId:
|
|
2285
|
+
m({ kind: "awaiting_payment", priceId: x, url: g });
|
|
2239
2286
|
}
|
|
2240
2287
|
};
|
|
2241
2288
|
j(() => {
|
|
2242
2289
|
if (b.kind !== "auth_gate" || !w || w.user.is_anonymous || I.current) return;
|
|
2243
2290
|
I.current = !0;
|
|
2244
|
-
const
|
|
2291
|
+
const x = b.pendingCheckout, g = b.origin;
|
|
2245
2292
|
m({ kind: "verifying" }), (async () => {
|
|
2246
2293
|
if (!p)
|
|
2247
2294
|
try {
|
|
2248
2295
|
if ((await t.getUser({ force: !0 })).has_active_subscription) {
|
|
2249
2296
|
i("purchase_completed", {
|
|
2250
|
-
priceId:
|
|
2297
|
+
priceId: x?.priceId ?? null,
|
|
2251
2298
|
sessionId: null,
|
|
2252
2299
|
restored: !0
|
|
2253
|
-
}),
|
|
2300
|
+
}), x?.direct ? r() : m({ kind: "purchase_success", restored: !0 });
|
|
2254
2301
|
return;
|
|
2255
2302
|
}
|
|
2256
2303
|
} catch {
|
|
2257
2304
|
}
|
|
2258
|
-
if (!
|
|
2305
|
+
if (!x) {
|
|
2259
2306
|
g === "standalone" ? r() : m({ kind: "layout" });
|
|
2260
2307
|
return;
|
|
2261
2308
|
}
|
|
2262
|
-
await M(
|
|
2309
|
+
await M(x.priceId);
|
|
2263
2310
|
})().finally(() => {
|
|
2264
2311
|
I.current = !1;
|
|
2265
2312
|
});
|
|
2266
2313
|
}, [w, b]);
|
|
2267
|
-
const
|
|
2268
|
-
if (
|
|
2314
|
+
const R = async (x, g) => {
|
|
2315
|
+
if (x === "close") {
|
|
2269
2316
|
r();
|
|
2270
2317
|
return;
|
|
2271
2318
|
}
|
|
2272
|
-
if (
|
|
2319
|
+
if (x === "price_selected") {
|
|
2273
2320
|
i("price_selected", g);
|
|
2274
2321
|
return;
|
|
2275
2322
|
}
|
|
2276
|
-
if (
|
|
2323
|
+
if (x === "restore") {
|
|
2277
2324
|
if (!t.auth) return;
|
|
2278
|
-
const
|
|
2279
|
-
if (
|
|
2325
|
+
const y = t.auth.getCachedSession();
|
|
2326
|
+
if (y && !y.user.is_anonymous) return;
|
|
2280
2327
|
m({ kind: "auth_gate", intent: "restore" });
|
|
2281
2328
|
return;
|
|
2282
2329
|
}
|
|
2283
|
-
if (
|
|
2330
|
+
if (x === "support") {
|
|
2284
2331
|
m({ kind: "support", origin: "layout" });
|
|
2285
2332
|
return;
|
|
2286
2333
|
}
|
|
2287
|
-
if (
|
|
2288
|
-
const
|
|
2289
|
-
if (!
|
|
2334
|
+
if (x === "checkout" && h.status === "ready") {
|
|
2335
|
+
const y = g?.priceId;
|
|
2336
|
+
if (!y) {
|
|
2290
2337
|
i("error", new L("no_price", "No price selected"));
|
|
2291
2338
|
return;
|
|
2292
2339
|
}
|
|
2293
2340
|
const E = h.data.settings.checkout_mode ?? "guest", $ = t.auth?.getCachedSession() ?? null, De = !!$ && !$.user.is_anonymous;
|
|
2294
2341
|
if (E === "preauth" && !!t.auth && !De) {
|
|
2295
|
-
m({ kind: "auth_gate", pendingCheckout: { priceId:
|
|
2342
|
+
m({ kind: "auth_gate", pendingCheckout: { priceId: y } });
|
|
2296
2343
|
return;
|
|
2297
2344
|
}
|
|
2298
|
-
await M(
|
|
2345
|
+
await M(y);
|
|
2299
2346
|
}
|
|
2300
|
-
},
|
|
2347
|
+
}, U = h.status === "ready" ? h.data.settings.brand_color : null, P = h.status === "ready" ? h.data.settings.allow_close !== !1 : !0, D = b.kind === "layout" && h.status === "ready" ? ze(h.data.offers) : null, B = D ? /* @__PURE__ */ a(Ct, { offer: D }) : null, Z = {
|
|
2301
2348
|
type: "auth_panel",
|
|
2302
2349
|
// Заголовок не задаём — AuthGate сам решит по intent'у (restore →
|
|
2303
2350
|
// "Restore Purchases", остальные → дефолтный "Welcome back!").
|
|
@@ -2308,7 +2355,7 @@ function nr({
|
|
|
2308
2355
|
hide_when_authenticated: !1,
|
|
2309
2356
|
providers: h.status === "ready" ? h.data.settings.auth_providers : void 0
|
|
2310
2357
|
}, V = b.kind === "support" ? /* @__PURE__ */ a(
|
|
2311
|
-
|
|
2358
|
+
Mt,
|
|
2312
2359
|
{
|
|
2313
2360
|
client: t,
|
|
2314
2361
|
authSession: w,
|
|
@@ -2323,14 +2370,14 @@ function nr({
|
|
|
2323
2370
|
{
|
|
2324
2371
|
open: e,
|
|
2325
2372
|
onClose: r,
|
|
2326
|
-
brandColor:
|
|
2327
|
-
topBanner:
|
|
2373
|
+
brandColor: U,
|
|
2374
|
+
topBanner: B,
|
|
2328
2375
|
allowClose: P,
|
|
2329
2376
|
hideCloseButton: K,
|
|
2330
2377
|
inline: f,
|
|
2331
2378
|
labelledBy: "pw-title",
|
|
2332
|
-
children: l ? /* @__PURE__ */ a(Se, { onContinue: r }) : b.kind === "purchase_success" ? /* @__PURE__ */ a(Se, { restored: b.restored, onContinue: r }) : V || (h.status === "loading" || h.status === "idle" || b.kind === "verifying" ? /* @__PURE__ */ a(
|
|
2333
|
-
|
|
2379
|
+
children: l ? /* @__PURE__ */ a(Se, { onContinue: r }) : b.kind === "purchase_success" ? /* @__PURE__ */ a(Se, { restored: b.restored, onContinue: r }) : V || (h.status === "loading" || h.status === "idle" || b.kind === "verifying" ? /* @__PURE__ */ a(or, { verifying: b.kind === "verifying" }) : h.status === "error" ? /* @__PURE__ */ a(sr, { message: h.error.message }) : b.kind === "auth_gate" && t.auth ? /* @__PURE__ */ a(
|
|
2380
|
+
vt,
|
|
2334
2381
|
{
|
|
2335
2382
|
block: Z,
|
|
2336
2383
|
bootstrap: h.data,
|
|
@@ -2344,27 +2391,27 @@ function nr({
|
|
|
2344
2391
|
}
|
|
2345
2392
|
}
|
|
2346
2393
|
) : b.kind === "awaiting_payment" ? /* @__PURE__ */ a(
|
|
2347
|
-
|
|
2394
|
+
cr,
|
|
2348
2395
|
{
|
|
2349
2396
|
client: t,
|
|
2350
2397
|
onBack: () => m({ kind: "layout" }),
|
|
2351
2398
|
onReopen: () => {
|
|
2352
2399
|
if (typeof window > "u") return;
|
|
2353
|
-
const
|
|
2354
|
-
if (
|
|
2400
|
+
const x = window.open(b.url, "_blank");
|
|
2401
|
+
if (x)
|
|
2355
2402
|
try {
|
|
2356
|
-
|
|
2403
|
+
x.opener = null;
|
|
2357
2404
|
} catch {
|
|
2358
2405
|
}
|
|
2359
2406
|
},
|
|
2360
2407
|
onRetry: () => M(b.priceId)
|
|
2361
2408
|
}
|
|
2362
|
-
) : b.kind === "popup_blocked" ? /* @__PURE__ */ a(
|
|
2363
|
-
|
|
2409
|
+
) : b.kind === "popup_blocked" ? /* @__PURE__ */ a(lr, { onReopen: () => F(b.priceId, b.url) }) : /* @__PURE__ */ a(
|
|
2410
|
+
rr,
|
|
2364
2411
|
{
|
|
2365
2412
|
layout: h.data.layout,
|
|
2366
2413
|
bootstrap: h.data,
|
|
2367
|
-
onAction:
|
|
2414
|
+
onAction: R,
|
|
2368
2415
|
auth: t.auth,
|
|
2369
2416
|
authSession: w
|
|
2370
2417
|
}
|
|
@@ -2372,14 +2419,14 @@ function nr({
|
|
|
2372
2419
|
}
|
|
2373
2420
|
) });
|
|
2374
2421
|
}
|
|
2375
|
-
function
|
|
2422
|
+
function or({ verifying: t }) {
|
|
2376
2423
|
const { t: e } = S();
|
|
2377
2424
|
return /* @__PURE__ */ d("div", { class: "flex flex-col items-center justify-center gap-3 py-12", children: [
|
|
2378
2425
|
/* @__PURE__ */ a("span", { class: "inline-block h-7 w-7 animate-spin rounded-full border-[2.5px] border-gray-200 border-t-[var(--pw-accent)]" }),
|
|
2379
2426
|
/* @__PURE__ */ a("span", { class: "text-xs font-medium tracking-wide text-gray-500", children: t ? e("modal.verifying_subscription", "Checking your subscription…") : e("modal.loading", "Loading…") })
|
|
2380
2427
|
] });
|
|
2381
2428
|
}
|
|
2382
|
-
function
|
|
2429
|
+
function sr({ message: t }) {
|
|
2383
2430
|
const { t: e } = S();
|
|
2384
2431
|
return /* @__PURE__ */ d("div", { class: "flex flex-col items-center gap-2 py-8 text-center", children: [
|
|
2385
2432
|
/* @__PURE__ */ a("div", { class: "flex h-11 w-11 items-center justify-center rounded-full bg-red-50", children: /* @__PURE__ */ d("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
|
|
@@ -2390,7 +2437,7 @@ function or({ message: t }) {
|
|
|
2390
2437
|
/* @__PURE__ */ a("p", { class: "text-xs leading-relaxed text-gray-500", children: t })
|
|
2391
2438
|
] });
|
|
2392
2439
|
}
|
|
2393
|
-
function
|
|
2440
|
+
function lr({ onReopen: t }) {
|
|
2394
2441
|
const { t: e } = S();
|
|
2395
2442
|
return /* @__PURE__ */ d("div", { class: "flex flex-col items-center gap-3 py-8 text-center", children: [
|
|
2396
2443
|
/* @__PURE__ */ a(
|
|
@@ -2457,13 +2504,13 @@ function sr({ onReopen: t }) {
|
|
|
2457
2504
|
)
|
|
2458
2505
|
] });
|
|
2459
2506
|
}
|
|
2460
|
-
function
|
|
2507
|
+
function cr({
|
|
2461
2508
|
client: t,
|
|
2462
2509
|
onBack: e,
|
|
2463
2510
|
onReopen: r,
|
|
2464
2511
|
onRetry: i
|
|
2465
2512
|
}) {
|
|
2466
|
-
const { t: n } = S(), [s, o] = v(!1), [c, l] = v(!1), p =
|
|
2513
|
+
const { t: n } = S(), [s, o] = v(!1), [c, l] = v(!1), p = O(null);
|
|
2467
2514
|
j(() => () => {
|
|
2468
2515
|
p.current !== null && clearTimeout(p.current);
|
|
2469
2516
|
}, []);
|
|
@@ -2607,17 +2654,17 @@ function Se({
|
|
|
2607
2654
|
)
|
|
2608
2655
|
] });
|
|
2609
2656
|
}
|
|
2610
|
-
const
|
|
2611
|
-
class
|
|
2657
|
+
const dr = 10 * 6e4, ur = 5e3, pr = 3e4;
|
|
2658
|
+
class hr {
|
|
2612
2659
|
constructor(e) {
|
|
2613
2660
|
this.timer = null, this.timeoutTimer = null, this.visibilityHandler = null, this.focusHandler = null, this.messageHandler = null, this.stopped = !1, this.checking = !1, this.opts = {
|
|
2614
2661
|
client: e.client,
|
|
2615
2662
|
onActive: e.onActive,
|
|
2616
2663
|
onTimeout: e.onTimeout ?? (() => {
|
|
2617
2664
|
}),
|
|
2618
|
-
timeoutMs: e.timeoutMs ??
|
|
2619
|
-
visibleIntervalMs: e.visibleIntervalMs ??
|
|
2620
|
-
hiddenIntervalMs: e.hiddenIntervalMs ??
|
|
2665
|
+
timeoutMs: e.timeoutMs ?? dr,
|
|
2666
|
+
visibleIntervalMs: e.visibleIntervalMs ?? ur,
|
|
2667
|
+
hiddenIntervalMs: e.hiddenIntervalMs ?? pr
|
|
2621
2668
|
};
|
|
2622
2669
|
}
|
|
2623
2670
|
start() {
|
|
@@ -2656,7 +2703,7 @@ class pr {
|
|
|
2656
2703
|
!r || typeof r != "object" || r.type === "paywall_purchase" && this.check();
|
|
2657
2704
|
}
|
|
2658
2705
|
}
|
|
2659
|
-
function
|
|
2706
|
+
function gr() {
|
|
2660
2707
|
return !(typeof document > "u" || typeof window > "u" || typeof location < "u" && location.protocol === "chrome-extension:");
|
|
2661
2708
|
}
|
|
2662
2709
|
const oe = {
|
|
@@ -2669,10 +2716,10 @@ const oe = {
|
|
|
2669
2716
|
priceId: "paywall_price_id",
|
|
2670
2717
|
sessionId: "paywall_session_id"
|
|
2671
2718
|
};
|
|
2672
|
-
class
|
|
2719
|
+
class Ir {
|
|
2673
2720
|
constructor(e) {
|
|
2674
2721
|
this.handle = null, this.isOpen = !1, this.listeners = /* @__PURE__ */ new Map(), this.userUnsub = null, this.authUnsub = null, this.watcher = null, this.tracker = null, this.purchased = !1, this.trialStore = null, this.trialStoreConfig = null, this.lastTrialStatus = null, this.trialExpiredFired = !1, this.lastVisibility = null, this.currentState = oe, this.stateListeners = /* @__PURE__ */ new Set();
|
|
2675
|
-
const { auth: r, ownsAuth: i } =
|
|
2722
|
+
const { auth: r, ownsAuth: i } = fr(e);
|
|
2676
2723
|
this.auth = r, this.ownsAuth = i, this.billing = e.client ?? new Ne({ ...e, auth: this.auth }), this.host = e.host, this.shadowMode = e.shadowMode ?? "closed", this.mountThenLoad = e.mountThenLoad ?? !0, this.inline = e.inline === !0, this.forceLocale = e.locale ?? null, this.userUnsub = this.billing.onUserChange((n) => {
|
|
2677
2724
|
this.emit("userChange", n);
|
|
2678
2725
|
}), this.auth && (this.authUnsub = this.auth.onAuthChange((n, s) => {
|
|
@@ -3166,7 +3213,7 @@ class Cr {
|
|
|
3166
3213
|
});
|
|
3167
3214
|
}
|
|
3168
3215
|
ensureTrialStore(e) {
|
|
3169
|
-
if (this.trialStore && this.trialStoreConfig &&
|
|
3216
|
+
if (this.trialStore && this.trialStoreConfig && br(this.trialStoreConfig, e))
|
|
3170
3217
|
return this.trialStore;
|
|
3171
3218
|
this.trialStoreConfig = e;
|
|
3172
3219
|
const r = this.billing.createTrialStore;
|
|
@@ -3187,7 +3234,7 @@ class Cr {
|
|
|
3187
3234
|
return;
|
|
3188
3235
|
}
|
|
3189
3236
|
this.isOpen = !0, this.handle = Je(
|
|
3190
|
-
|
|
3237
|
+
ar,
|
|
3191
3238
|
{
|
|
3192
3239
|
client: this.billing,
|
|
3193
3240
|
open: !0,
|
|
@@ -3209,7 +3256,7 @@ class Cr {
|
|
|
3209
3256
|
), this.emit("open");
|
|
3210
3257
|
}
|
|
3211
3258
|
applyState(e) {
|
|
3212
|
-
if (!
|
|
3259
|
+
if (!mr(this.currentState, e)) {
|
|
3213
3260
|
this.currentState = e;
|
|
3214
3261
|
for (const r of this.stateListeners)
|
|
3215
3262
|
try {
|
|
@@ -3405,7 +3452,7 @@ class Cr {
|
|
|
3405
3452
|
// В extension popup runtime — no-op (popup не доживёт). Там полагаемся на
|
|
3406
3453
|
// bootstrap при следующем открытии.
|
|
3407
3454
|
startUserWatcher() {
|
|
3408
|
-
this.watcher ||
|
|
3455
|
+
this.watcher || gr() && (this.watcher = new hr({
|
|
3409
3456
|
client: this.billing,
|
|
3410
3457
|
onActive: (e) => {
|
|
3411
3458
|
this.watcher = null, this.emit("purchase_completed", { priceId: null, sessionId: null });
|
|
@@ -3438,15 +3485,15 @@ class Cr {
|
|
|
3438
3485
|
n && (n.status === "paid" ? (this.emit("purchase_completed", {
|
|
3439
3486
|
priceId: n.priceId,
|
|
3440
3487
|
sessionId: n.sessionId
|
|
3441
|
-
}),
|
|
3488
|
+
}), xr(n)) : (n.status === "failed" || n.status === "cancelled") && this.emit("purchase_failed", { reason: n.status }), yr(e));
|
|
3442
3489
|
}
|
|
3443
3490
|
destroy() {
|
|
3444
3491
|
this.tracker?.destroy(), this.tracker = null, this.listeners.clear(), this.stateListeners.clear(), this.watcher?.stop(), this.watcher = null, this.userUnsub?.(), this.userUnsub = null, this.authUnsub?.(), this.authUnsub = null, this.ownsAuth && this.auth && this.auth.destroy?.(), this.ownsAuth = !1, this.billing.destroy?.(), this.handle?.unmount(), this.handle = null, this.isOpen = !1, this.currentState = oe;
|
|
3445
3492
|
}
|
|
3446
3493
|
}
|
|
3447
|
-
function
|
|
3494
|
+
function fr(t) {
|
|
3448
3495
|
if (!t.auth) return { auth: void 0, ownsAuth: !1 };
|
|
3449
|
-
if (t.auth instanceof de ||
|
|
3496
|
+
if (t.auth instanceof de || wr(t.auth))
|
|
3450
3497
|
return { auth: t.auth, ownsAuth: !1 };
|
|
3451
3498
|
const e = t.auth === !0 ? {} : t.auth;
|
|
3452
3499
|
return {
|
|
@@ -3460,15 +3507,15 @@ function gr(t) {
|
|
|
3460
3507
|
ownsAuth: !0
|
|
3461
3508
|
};
|
|
3462
3509
|
}
|
|
3463
|
-
function
|
|
3510
|
+
function wr(t) {
|
|
3464
3511
|
if (typeof t != "object" || t === null) return !1;
|
|
3465
3512
|
const e = t;
|
|
3466
3513
|
return typeof e.onAuthChange == "function" && typeof e.getCachedSession == "function" && typeof e.signOut == "function";
|
|
3467
3514
|
}
|
|
3468
|
-
function
|
|
3515
|
+
function mr(t, e) {
|
|
3469
3516
|
return t.open === e.open && t.view === e.view && t.error === e.error && t.processing === e.processing;
|
|
3470
3517
|
}
|
|
3471
|
-
function
|
|
3518
|
+
function br(t, e) {
|
|
3472
3519
|
return t.mode === e.mode && t.payload === e.payload && t.storage === e.storage;
|
|
3473
3520
|
}
|
|
3474
3521
|
function Ce(t) {
|
|
@@ -3480,7 +3527,7 @@ function Ce(t) {
|
|
|
3480
3527
|
sessionId: e.get(H.sessionId)
|
|
3481
3528
|
} : null;
|
|
3482
3529
|
}
|
|
3483
|
-
function
|
|
3530
|
+
function xr(t) {
|
|
3484
3531
|
if (!(typeof window > "u" || !window.opener))
|
|
3485
3532
|
try {
|
|
3486
3533
|
window.opener.postMessage(
|
|
@@ -3506,7 +3553,7 @@ function yr(t) {
|
|
|
3506
3553
|
window.history.replaceState(null, "", r);
|
|
3507
3554
|
}
|
|
3508
3555
|
export {
|
|
3509
|
-
|
|
3510
|
-
|
|
3556
|
+
Ir as P,
|
|
3557
|
+
tr as b
|
|
3511
3558
|
};
|
|
3512
|
-
//# sourceMappingURL=PaywallUI-
|
|
3559
|
+
//# sourceMappingURL=PaywallUI-DZrllP18.js.map
|