@monetize.software/sdk 3.0.0-alpha.3 → 3.0.0-alpha.4
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-C3W0eKDo.js → PaywallUI-2bwf2scV.js} +439 -395
- package/dist/chunks/PaywallUI-2bwf2scV.js.map +1 -0
- package/dist/chunks/PaywallUI-Bu51__PT.js +26 -0
- package/dist/chunks/PaywallUI-Bu51__PT.js.map +1 -0
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +71 -6
- package/dist/core.js +296 -249
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +85 -17
- package/dist/index.js +1 -1
- package/dist/ui.cjs +1 -1
- package/dist/ui.d.ts +85 -17
- package/dist/ui.js +1 -1
- package/package.json +32 -31
- package/dist/chunks/PaywallUI-BWU_1hsh.js +0 -26
- package/dist/chunks/PaywallUI-BWU_1hsh.js.map +0 -1
- package/dist/chunks/PaywallUI-C3W0eKDo.js.map +0 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { PaywallError as
|
|
2
|
-
import { render as
|
|
3
|
-
import { jsxs as
|
|
4
|
-
import { useRef as
|
|
5
|
-
const
|
|
1
|
+
import { PaywallError as z, BillingClient as dt, EventTracker as ut, AuthClient as q } from "../core.js";
|
|
2
|
+
import { render as F, h as W } from "preact";
|
|
3
|
+
import { jsxs as c, jsx as r, Fragment as at } from "preact/jsx-runtime";
|
|
4
|
+
import { useRef as L, useEffect as T, useState as v, useMemo as nt } from "preact/hooks";
|
|
5
|
+
const Z = 3600 * 1e3;
|
|
6
6
|
function R(e) {
|
|
7
7
|
return `paywall-${e}-trial-time-first-open`;
|
|
8
8
|
}
|
|
9
|
-
function
|
|
9
|
+
function N(e) {
|
|
10
10
|
return `paywall-${e}-skip-times`;
|
|
11
11
|
}
|
|
12
|
-
class
|
|
12
|
+
class ot {
|
|
13
13
|
constructor(t, i, n) {
|
|
14
14
|
this.storage = t, this.paywallId = i, this.config = n;
|
|
15
15
|
}
|
|
@@ -20,10 +20,10 @@ class st {
|
|
|
20
20
|
return this.config.mode === "time" ? this.recordTime() : this.recordOpens();
|
|
21
21
|
}
|
|
22
22
|
async reset() {
|
|
23
|
-
await this.storage.removeItem(this.config.mode === "time" ? R(this.paywallId) :
|
|
23
|
+
await this.storage.removeItem(this.config.mode === "time" ? R(this.paywallId) : N(this.paywallId));
|
|
24
24
|
}
|
|
25
25
|
async checkTime() {
|
|
26
|
-
const t = this.config.payload *
|
|
26
|
+
const t = this.config.payload * Z, i = await this.storage.getItem(R(this.paywallId)), n = i ? Number(i) : null;
|
|
27
27
|
if (!n || !Number.isFinite(n))
|
|
28
28
|
return {
|
|
29
29
|
mode: "time",
|
|
@@ -44,7 +44,7 @@ class st {
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
async checkOpens() {
|
|
47
|
-
const t = this.config.payload, i = await this.storage.getItem(
|
|
47
|
+
const t = this.config.payload, i = await this.storage.getItem(N(this.paywallId)), n = i ? Number(i) : 0, a = Number.isFinite(n) ? n : 0, o = a < t, s = Math.max(0, t - a);
|
|
48
48
|
return {
|
|
49
49
|
mode: "opens",
|
|
50
50
|
blocked: o,
|
|
@@ -53,7 +53,7 @@ class st {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
async recordTime() {
|
|
56
|
-
const t = this.config.payload *
|
|
56
|
+
const t = this.config.payload * Z, i = R(this.paywallId), n = await this.storage.getItem(i);
|
|
57
57
|
let a = n ? Number(n) : null;
|
|
58
58
|
(!a || !Number.isFinite(a)) && (a = Date.now(), await this.storage.setItem(i, String(a)));
|
|
59
59
|
const o = a + t, s = Math.max(0, o - Date.now());
|
|
@@ -67,7 +67,7 @@ class st {
|
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
69
|
async recordOpens() {
|
|
70
|
-
const t = this.config.payload, i =
|
|
70
|
+
const t = this.config.payload, i = N(this.paywallId), n = await this.storage.getItem(i), a = n ? Number(n) : 0, o = Number.isFinite(a) ? a : 0, s = Math.min(t, o + 1);
|
|
71
71
|
await this.storage.setItem(i, String(s));
|
|
72
72
|
const l = Math.max(0, t - s);
|
|
73
73
|
return {
|
|
@@ -78,12 +78,12 @@ class st {
|
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
let
|
|
82
|
-
class
|
|
81
|
+
let Y = !1;
|
|
82
|
+
class ht {
|
|
83
83
|
constructor(t, i, n) {
|
|
84
|
-
|
|
84
|
+
Y || (Y = !0, console.warn(
|
|
85
85
|
'[paywall] trial.storage="server" is not implemented yet — falling back to client storage. State lives in localStorage; users can reset trial by clearing site data.'
|
|
86
|
-
)), this.fallback = new
|
|
86
|
+
)), this.fallback = new ot(t, i, n);
|
|
87
87
|
}
|
|
88
88
|
check() {
|
|
89
89
|
return this.fallback.check();
|
|
@@ -95,17 +95,17 @@ class pt {
|
|
|
95
95
|
return this.fallback.reset();
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
function
|
|
99
|
-
return i.storage === "server" ? new
|
|
98
|
+
function pt(e, t, i) {
|
|
99
|
+
return i.storage === "server" ? new ht(e, t, i) : new ot(e, t, i);
|
|
100
100
|
}
|
|
101
|
-
const lt = '/*! tailwindcss v4.2.4 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@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-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-950:oklch(27.9% .077 45.635);--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;--container-md:28rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--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;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{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{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.-top-2\\.5{top:calc(var(--spacing) * -2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-10{top:calc(var(--spacing) * 10)}.right-3{right:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.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}}.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)}.mt-px{margin-top:1px}.-ml-1{margin-left:calc(var(--spacing) * -1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 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-px{height:1px}.max-h-\\[calc\\(100dvh-1rem\\)\\]{max-height:calc(100dvh - 1rem)}.min-h-\\[104px\\]{min-height:104px}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-\\[18rem\\]{max-width:18rem}.max-w-\\[20rem\\]{max-width:20rem}.max-w-\\[320px\\]{max-width:320px}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.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-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-x-3{column-gap:calc(var(--spacing) * 3)}.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-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{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-dashed{--tw-border-style:dashed;border-style:dashed}.border-\\[var\\(--pw-accent\\)\\]{border-color:var(--pw-accent)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-400{border-color:var(--color-red-400)}.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-\\[var\\(--pw-accent\\)\\]{background-color:var(--pw-accent)}.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-300{background-color:var(--color-gray-300)}.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-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)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-300{--tw-gradient-from:var(--color-amber-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-200{--tw-gradient-from:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-400{--tw-gradient-to:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-200{--tw-gradient-to:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.p-7{padding:calc(var(--spacing) * 7)}.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-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.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)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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-\\[1\\.625rem\\]{font-size:1.625rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.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-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.02em\\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\\[0\\.14em\\]{--tw-tracking:.14em;letter-spacing:.14em}.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-\\[var\\(--pw-accent\\)\\]{color:var(--pw-accent)}.text-amber-950{color:var(--color-amber-950)}.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-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.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_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 12%,transparent))}}.shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{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_1px_0_rgba\\(15\\,23\\,42\\,0\\.02\\)\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a05);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_1px_0_rgba\\(15\\,23\\,42\\,0\\.04\\)\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a0a);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,.ring-1{--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)}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.group-hover\\:border-gray-400:is(:where(.group):hover *){border-color:var(--color-gray-400)}}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}@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-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-90:hover{opacity:.9}.hover\\:shadow-sm:hover{--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)}.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\\:border-\\[var\\(--pw-accent\\)\\]:focus{border-color:var(--pw-accent)}.focus\\:border-red-500:focus{border-color:var(--color-red-500)}.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 18%,transparent))}}.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,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\\:shadow-\\[0_0_0_3px_rgba\\(239\\,68\\,68\\,0\\.18\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#ef44442e);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\\:underline:focus-visible{text-decoration-line:underline}.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)}.active\\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\\:brightness-95:active{--tw-brightness:brightness(95%);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,)}.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\\:shadow-\\[0_1px_0_rgba\\(15\\,23\\,42\\,0\\.04\\)\\]:disabled:hover{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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)}}}@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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}';
|
|
102
|
-
let
|
|
103
|
-
function
|
|
104
|
-
if (
|
|
101
|
+
const st = '/*! 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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-500:oklch(69.6% .17 162.48);--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;--container-md:28rem;--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);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--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;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{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{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.-top-2\\.5{top:calc(var(--spacing) * -2.5)}.top-0{top:calc(var(--spacing) * 0)}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.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}}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-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)}.mt-px{margin-top:1px}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-1{height:calc(var(--spacing) * 1)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.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-px{height:1px}.max-h-\\[calc\\(100dvh-1rem\\)\\]{max-height:calc(100dvh - 1rem)}.min-h-\\[104px\\]{min-height:104px}.w-1{width:calc(var(--spacing) * 1)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-\\[18rem\\]{max-width:18rem}.max-w-\\[20rem\\]{max-width:20rem}.max-w-\\[320px\\]{max-width:320px}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-y-\\[calc\\(100\\%\\+6px\\)\\]{--tw-translate-y: calc((100% + 6px)*-1) ;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-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-x-3{column-gap:calc(var(--spacing) * 3)}.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-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{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-b{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-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-400{border-color:var(--color-red-400)}.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-\\[var\\(--pw-accent\\)\\]{background-color:var(--pw-accent)}.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-300{background-color:var(--color-gray-300)}.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-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)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-300{--tw-gradient-from:var(--color-amber-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-200{--tw-gradient-from:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-400{--tw-gradient-to:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-200{--tw-gradient-to:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.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-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.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-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)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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-\\[1\\.875rem\\]{font-size:1.875rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[24px\\]{font-size:24px}.text-\\[34px\\]{font-size:34px}.leading-\\[1\\.15\\]{--tw-leading:1.15;line-height:1.15}.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)}.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-\\[-0\\.02em\\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\\[0\\.14em\\]{--tw-tracking:.14em;letter-spacing:.14em}.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}.text-\\[var\\(--pw-accent\\)\\]{color:var(--pw-accent)}.text-amber-950{color:var(--color-amber-950)}.text-emerald-500{color:var(--color-emerald-500)}.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-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.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_1px_var\\(--pw-accent\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--pw-accent));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_1px_0_rgba\\(15\\,23\\,42\\,0\\.02\\)\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a05);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_1px_0_rgba\\(15\\,23\\,42\\,0\\.04\\)\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a0a);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_4px_12px_-2px_rgba\\(245\\,158\\,11\\,0\\.45\\)\\,0_0_0_1px_rgba\\(255\\,255\\,255\\,0\\.6\\)\\]{--tw-shadow:0 4px 12px -2px var(--tw-shadow-color,#f59e0b73), 0 0 0 1px var(--tw-shadow-color,#fff9);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,.ring-1{--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)}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.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}@media(hover:hover){.group-hover\\:border-gray-400:is(:where(.group):hover *){border-color:var(--color-gray-400)}}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}@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-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\\:opacity-90:hover{opacity:.9}.hover\\:shadow-sm:hover{--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)}.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\\:border-\\[var\\(--pw-accent\\)\\]:focus{border-color:var(--pw-accent)}.focus\\:border-red-500:focus{border-color:var(--color-red-500)}.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 18%,transparent))}}.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,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\\:shadow-\\[0_0_0_3px_rgba\\(239\\,68\\,68\\,0\\.18\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#ef44442e);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)}.active\\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.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\\:shadow-\\[0_1px_0_rgba\\(15\\,23\\,42\\,0\\.04\\)\\]:disabled:hover{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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)}}}.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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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
|
+
let K = !1;
|
|
103
|
+
function gt() {
|
|
104
|
+
if (K || (K = !0, typeof CSS > "u" || typeof CSS.registerProperty != "function")) return;
|
|
105
105
|
let e;
|
|
106
106
|
try {
|
|
107
107
|
const t = new CSSStyleSheet();
|
|
108
|
-
t.replaceSync(
|
|
108
|
+
t.replaceSync(st), e = t.cssRules;
|
|
109
109
|
} catch {
|
|
110
110
|
return;
|
|
111
111
|
}
|
|
@@ -123,10 +123,10 @@ function ft() {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
-
function
|
|
126
|
+
function ft(e, t, i = {}) {
|
|
127
127
|
if (typeof document > "u")
|
|
128
128
|
throw new Error("mountShadow called in non-DOM environment");
|
|
129
|
-
|
|
129
|
+
gt();
|
|
130
130
|
const n = i.host ?? document.createElement("div");
|
|
131
131
|
n.setAttribute("data-paywall-host", ""), n.style.cssText = i.inline ? "all: initial; position: absolute; inset: 0; z-index: 1; pointer-events: none;" : "all: initial; position: fixed; inset: 0; z-index: 2147483647; pointer-events: none;", !n.isConnected && !i.inline && document.body.appendChild(n);
|
|
132
132
|
const a = n.attachShadow({ mode: i.shadowMode ?? "closed" }), o = `
|
|
@@ -148,22 +148,22 @@ function wt(e, t, i = {}) {
|
|
|
148
148
|
visibility: visible !important;
|
|
149
149
|
}
|
|
150
150
|
`, s = document.createElement("style");
|
|
151
|
-
s.textContent = o +
|
|
151
|
+
s.textContent = o + st + (i.injectCss ?? ""), a.appendChild(s);
|
|
152
152
|
const l = document.createElement("div");
|
|
153
153
|
l.style.pointerEvents = "auto", a.appendChild(l);
|
|
154
154
|
let h = t;
|
|
155
|
-
return
|
|
155
|
+
return F(W(e, h), l), {
|
|
156
156
|
shadowRoot: a,
|
|
157
|
-
update(
|
|
158
|
-
h = { ...h, ...
|
|
157
|
+
update(d) {
|
|
158
|
+
h = { ...h, ...d }, F(W(e, h), l);
|
|
159
159
|
},
|
|
160
160
|
unmount() {
|
|
161
|
-
|
|
161
|
+
F(null, l), n.remove();
|
|
162
162
|
}
|
|
163
163
|
};
|
|
164
164
|
}
|
|
165
|
-
const
|
|
166
|
-
function
|
|
165
|
+
const X = 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
166
|
+
function wt({
|
|
167
167
|
open: e,
|
|
168
168
|
onClose: t,
|
|
169
169
|
labelledBy: i,
|
|
@@ -173,12 +173,12 @@ function bt({
|
|
|
173
173
|
inline: s = !1,
|
|
174
174
|
children: l
|
|
175
175
|
}) {
|
|
176
|
-
const h =
|
|
176
|
+
const h = L(null), d = L(null);
|
|
177
177
|
return T(() => {
|
|
178
178
|
if (!e) return;
|
|
179
|
-
|
|
179
|
+
d.current = document.activeElement ?? null;
|
|
180
180
|
const g = h.current;
|
|
181
|
-
g && (g.querySelector(
|
|
181
|
+
g && (g.querySelector(X) ?? g).focus({ preventScroll: !0 });
|
|
182
182
|
const f = (k) => {
|
|
183
183
|
if (k.key === "Escape") {
|
|
184
184
|
if (!o) return;
|
|
@@ -187,8 +187,8 @@ function bt({
|
|
|
187
187
|
}
|
|
188
188
|
if (k.key !== "Tab" || !h.current) return;
|
|
189
189
|
const m = Array.from(
|
|
190
|
-
h.current.querySelectorAll(
|
|
191
|
-
).filter((
|
|
190
|
+
h.current.querySelectorAll(X)
|
|
191
|
+
).filter((E) => !E.hasAttribute("disabled") && E.tabIndex !== -1);
|
|
192
192
|
if (m.length === 0) {
|
|
193
193
|
k.preventDefault();
|
|
194
194
|
return;
|
|
@@ -199,9 +199,9 @@ function bt({
|
|
|
199
199
|
document.addEventListener("keydown", f, !0);
|
|
200
200
|
const _ = document.body.style.overflow;
|
|
201
201
|
return s || (document.body.style.overflow = "hidden"), () => {
|
|
202
|
-
document.removeEventListener("keydown", f, !0), s || (document.body.style.overflow = _),
|
|
202
|
+
document.removeEventListener("keydown", f, !0), s || (document.body.style.overflow = _), d.current?.focus?.({ preventScroll: !0 });
|
|
203
203
|
};
|
|
204
|
-
}, [e, t, o, s]), e ? /* @__PURE__ */
|
|
204
|
+
}, [e, t, o, s]), e ? /* @__PURE__ */ c(
|
|
205
205
|
"div",
|
|
206
206
|
{
|
|
207
207
|
class: `${s ? "absolute z-[1]" : "fixed z-[2147483647]"} inset-0 flex items-center justify-center bg-slate-950/50 p-2 sm:p-4 backdrop-blur-md animate-[pw-fade-in_180ms_ease-out]`,
|
|
@@ -210,65 +210,67 @@ function bt({
|
|
|
210
210
|
},
|
|
211
211
|
"data-pw-root": !0,
|
|
212
212
|
children: [
|
|
213
|
-
/* @__PURE__ */
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
style: {
|
|
223
|
-
"--pw-accent": n ?? "#3b82f6",
|
|
224
|
-
boxShadow: "0 1px 2px rgba(15,23,42,0.04), 0 12px 32px -8px rgba(15,23,42,0.18), 0 24px 64px -16px rgba(15,23,42,0.22)"
|
|
225
|
-
},
|
|
226
|
-
children: [
|
|
227
|
-
a && /* @__PURE__ */ d(
|
|
228
|
-
"div",
|
|
229
|
-
{
|
|
230
|
-
class: "flex items-center justify-center gap-1.5 bg-gradient-to-r from-amber-300 to-amber-400 px-3 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-amber-950",
|
|
231
|
-
role: "status",
|
|
232
|
-
children: [
|
|
233
|
-
/* @__PURE__ */ d("svg", { width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
|
|
234
|
-
/* @__PURE__ */ r(
|
|
235
|
-
"path",
|
|
236
|
-
{
|
|
237
|
-
d: "M8 1L15 14H1L8 1Z",
|
|
238
|
-
stroke: "currentColor",
|
|
239
|
-
"stroke-width": "1.5",
|
|
240
|
-
"stroke-linejoin": "round"
|
|
241
|
-
}
|
|
242
|
-
),
|
|
243
|
-
/* @__PURE__ */ r("path", { d: "M8 6v3", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" }),
|
|
244
|
-
/* @__PURE__ */ r("circle", { cx: "8", cy: "11.5", r: "0.5", fill: "currentColor" })
|
|
245
|
-
] }),
|
|
246
|
-
"Test mode — no real charge"
|
|
247
|
-
]
|
|
248
|
-
}
|
|
249
|
-
),
|
|
250
|
-
/* @__PURE__ */ r("div", { class: "flex-1 overflow-y-auto p-7", children: l }),
|
|
251
|
-
o ? /* @__PURE__ */ r(
|
|
252
|
-
"button",
|
|
253
|
-
{
|
|
254
|
-
type: "button",
|
|
255
|
-
onClick: t,
|
|
256
|
-
"aria-label": "Close",
|
|
257
|
-
class: `absolute right-3 ${a ? "top-10" : "top-3"} z-10 flex h-8 w-8 items-center justify-center rounded-full bg-white/80 text-gray-400 backdrop-blur-sm transition-colors hover:bg-gray-100 hover:text-gray-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)]`,
|
|
258
|
-
children: /* @__PURE__ */ r("svg", { width: "14", height: "14", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ r(
|
|
213
|
+
/* @__PURE__ */ c("div", { class: "relative w-full max-w-md animate-[pw-scale-in_220ms_cubic-bezier(0.16,1,0.3,1)]", children: [
|
|
214
|
+
a && /* @__PURE__ */ c(
|
|
215
|
+
"div",
|
|
216
|
+
{
|
|
217
|
+
class: "absolute right-3 top-0 z-20 flex -translate-y-[calc(100%+6px)] items-center gap-1.5 rounded-full bg-gradient-to-r from-amber-300 to-amber-400 px-3 py-1 text-[11px] font-semibold uppercase tracking-wider text-amber-950 shadow-[0_4px_12px_-2px_rgba(245,158,11,0.45),0_0_0_1px_rgba(255,255,255,0.6)]",
|
|
218
|
+
role: "status",
|
|
219
|
+
children: [
|
|
220
|
+
/* @__PURE__ */ c("svg", { width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
|
|
221
|
+
/* @__PURE__ */ r(
|
|
259
222
|
"path",
|
|
260
223
|
{
|
|
261
|
-
d: "
|
|
224
|
+
d: "M8 1L15 14H1L8 1Z",
|
|
262
225
|
stroke: "currentColor",
|
|
263
|
-
"stroke-width": "1.
|
|
264
|
-
"stroke-
|
|
226
|
+
"stroke-width": "1.5",
|
|
227
|
+
"stroke-linejoin": "round"
|
|
265
228
|
}
|
|
266
|
-
)
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
229
|
+
),
|
|
230
|
+
/* @__PURE__ */ r("path", { d: "M8 6v3", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" }),
|
|
231
|
+
/* @__PURE__ */ r("circle", { cx: "8", cy: "11.5", r: "0.5", fill: "currentColor" })
|
|
232
|
+
] }),
|
|
233
|
+
"Test mode — no real charge"
|
|
234
|
+
]
|
|
235
|
+
}
|
|
236
|
+
),
|
|
237
|
+
/* @__PURE__ */ c(
|
|
238
|
+
"div",
|
|
239
|
+
{
|
|
240
|
+
ref: h,
|
|
241
|
+
role: "dialog",
|
|
242
|
+
"aria-modal": "true",
|
|
243
|
+
"aria-labelledby": i,
|
|
244
|
+
tabIndex: -1,
|
|
245
|
+
class: "relative flex max-h-[calc(100dvh-1rem)] sm:max-h-[calc(100dvh-2rem)] w-full flex-col overflow-hidden rounded-3xl bg-white outline-none ring-1 ring-black/5",
|
|
246
|
+
style: {
|
|
247
|
+
"--pw-accent": n ?? "#3b82f6",
|
|
248
|
+
boxShadow: "0 1px 2px rgba(15,23,42,0.04), 0 12px 32px -8px rgba(15,23,42,0.18), 0 24px 64px -16px rgba(15,23,42,0.22)"
|
|
249
|
+
},
|
|
250
|
+
children: [
|
|
251
|
+
/* @__PURE__ */ r("div", { class: "flex-1 overflow-y-auto p-8", children: l }),
|
|
252
|
+
o ? /* @__PURE__ */ r(
|
|
253
|
+
"button",
|
|
254
|
+
{
|
|
255
|
+
type: "button",
|
|
256
|
+
onClick: t,
|
|
257
|
+
"aria-label": "Close",
|
|
258
|
+
class: "absolute right-3 top-3 z-10 flex h-8 w-8 items-center justify-center rounded-full bg-white/80 text-gray-400 backdrop-blur-sm transition-colors hover:bg-gray-100 hover:text-gray-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)]",
|
|
259
|
+
children: /* @__PURE__ */ r("svg", { width: "14", height: "14", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ r(
|
|
260
|
+
"path",
|
|
261
|
+
{
|
|
262
|
+
d: "M3 3l10 10M13 3L3 13",
|
|
263
|
+
stroke: "currentColor",
|
|
264
|
+
"stroke-width": "1.75",
|
|
265
|
+
"stroke-linecap": "round"
|
|
266
|
+
}
|
|
267
|
+
) })
|
|
268
|
+
}
|
|
269
|
+
) : null
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
)
|
|
273
|
+
] }),
|
|
272
274
|
/* @__PURE__ */ r("style", { children: `
|
|
273
275
|
@keyframes pw-fade-in { from { opacity: 0 } to { opacity: 1 } }
|
|
274
276
|
@keyframes pw-scale-in {
|
|
@@ -286,14 +288,14 @@ const vt = {
|
|
|
286
288
|
github: "Continue with GitHub",
|
|
287
289
|
facebook: "Continue with Facebook"
|
|
288
290
|
};
|
|
289
|
-
function
|
|
291
|
+
function lt({ block: e, ctx: t }) {
|
|
290
292
|
const i = t.auth, n = t.authSession, a = e.allow_signup !== !1, o = e.allow_password_reset !== !1, s = e.hide_when_authenticated !== !1;
|
|
291
293
|
if (!i)
|
|
292
294
|
return typeof console < "u" && console.warn("[paywall] auth_panel rendered without AuthClient — pass `auth: true` to PaywallUI"), null;
|
|
293
295
|
const l = n && !n.user.is_anonymous ? n : null;
|
|
294
|
-
return l && s ? null : l ? /* @__PURE__ */ r(
|
|
296
|
+
return l && s ? null : l ? /* @__PURE__ */ r(bt, { email: l.user.email ?? "", onSignOut: () => i.signOut().catch(() => {
|
|
295
297
|
}) }) : /* @__PURE__ */ r(
|
|
296
|
-
|
|
298
|
+
mt,
|
|
297
299
|
{
|
|
298
300
|
block: e,
|
|
299
301
|
allowSignup: a,
|
|
@@ -302,9 +304,9 @@ function ct({ block: e, ctx: t }) {
|
|
|
302
304
|
}
|
|
303
305
|
);
|
|
304
306
|
}
|
|
305
|
-
function
|
|
306
|
-
return /* @__PURE__ */
|
|
307
|
-
/* @__PURE__ */
|
|
307
|
+
function bt({ email: e, onSignOut: t }) {
|
|
308
|
+
return /* @__PURE__ */ c("div", { class: "flex items-center justify-between gap-3 rounded-2xl border border-gray-200 bg-gray-50/60 px-4 py-3", children: [
|
|
309
|
+
/* @__PURE__ */ c("div", { class: "flex flex-col", children: [
|
|
308
310
|
/* @__PURE__ */ r("span", { class: "text-[10px] font-semibold uppercase tracking-wider text-gray-500", children: "Signed in" }),
|
|
309
311
|
/* @__PURE__ */ r("span", { class: "text-sm font-medium text-gray-900", children: e })
|
|
310
312
|
] }),
|
|
@@ -319,8 +321,8 @@ function mt({ email: e, onSignOut: t }) {
|
|
|
319
321
|
)
|
|
320
322
|
] });
|
|
321
323
|
}
|
|
322
|
-
function
|
|
323
|
-
const a = n.auth, o = e.providers ?? [], [s, l] =
|
|
324
|
+
function mt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
|
|
325
|
+
const a = n.auth, o = e.providers ?? [], [s, l] = v("signin"), [h, d] = v(""), [w, b] = v(""), [A, g] = v(""), [f, _] = v(null), [k, m] = v(null), [S, y] = v(null), P = async (I) => {
|
|
324
326
|
if (I.preventDefault(), !f) {
|
|
325
327
|
_("email"), m(null), y(null);
|
|
326
328
|
try {
|
|
@@ -330,13 +332,13 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
|
|
|
330
332
|
type: w ? "recovery" : "email"
|
|
331
333
|
}), w && await a.updatePassword({ password: w }));
|
|
332
334
|
} catch (M) {
|
|
333
|
-
const C = M instanceof
|
|
335
|
+
const C = M instanceof z ? M.message : "Something went wrong";
|
|
334
336
|
m(C);
|
|
335
337
|
} finally {
|
|
336
338
|
_(null);
|
|
337
339
|
}
|
|
338
340
|
}
|
|
339
|
-
},
|
|
341
|
+
}, E = async (I) => {
|
|
340
342
|
if (!f) {
|
|
341
343
|
_(I), m(null), y(null);
|
|
342
344
|
try {
|
|
@@ -345,7 +347,7 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
|
|
|
345
347
|
onPopupOpened: () => _(null)
|
|
346
348
|
});
|
|
347
349
|
} catch (M) {
|
|
348
|
-
if (M instanceof
|
|
350
|
+
if (M instanceof z) {
|
|
349
351
|
if (M.code === "oauth_cancelled" || M.code === "oauth_timeout") return;
|
|
350
352
|
m(M.message);
|
|
351
353
|
} else
|
|
@@ -355,33 +357,33 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
|
|
|
355
357
|
}
|
|
356
358
|
}
|
|
357
359
|
};
|
|
358
|
-
return /* @__PURE__ */
|
|
360
|
+
return /* @__PURE__ */ c("div", { class: "flex flex-col gap-3", children: [
|
|
359
361
|
e.heading ? /* @__PURE__ */ r("h2", { class: "text-lg font-semibold tracking-tight text-gray-900", children: e.heading }) : null,
|
|
360
|
-
o.length > 0 && (s === "signin" || s === "signup") ? /* @__PURE__ */
|
|
361
|
-
o.map((I) => /* @__PURE__ */
|
|
362
|
+
o.length > 0 && (s === "signin" || s === "signup") ? /* @__PURE__ */ c("div", { class: "flex flex-col gap-2", children: [
|
|
363
|
+
o.map((I) => /* @__PURE__ */ c(
|
|
362
364
|
"button",
|
|
363
365
|
{
|
|
364
366
|
type: "button",
|
|
365
|
-
onClick: () =>
|
|
367
|
+
onClick: () => E(I),
|
|
366
368
|
disabled: f !== null,
|
|
367
369
|
class: "flex h-11 w-full items-center justify-center gap-2 rounded-xl border border-gray-200 bg-white px-4 text-sm font-medium text-gray-900 shadow-[0_1px_0_rgba(15,23,42,0.04)] transition-all hover:-translate-y-px hover:border-gray-300 hover:bg-gray-50 hover:shadow-sm disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:translate-y-0 disabled:hover:shadow-[0_1px_0_rgba(15,23,42,0.04)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)]",
|
|
368
370
|
children: [
|
|
369
|
-
f === I ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-700" }) : /* @__PURE__ */ r(
|
|
371
|
+
f === I ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-700" }) : /* @__PURE__ */ r(kt, { provider: I }),
|
|
370
372
|
/* @__PURE__ */ r("span", { children: vt[I] })
|
|
371
373
|
]
|
|
372
374
|
},
|
|
373
375
|
I
|
|
374
376
|
)),
|
|
375
|
-
/* @__PURE__ */ r(
|
|
377
|
+
/* @__PURE__ */ r(yt, {})
|
|
376
378
|
] }) : null,
|
|
377
|
-
/* @__PURE__ */
|
|
379
|
+
/* @__PURE__ */ c("form", { onSubmit: P, class: "flex flex-col gap-2", children: [
|
|
378
380
|
(s === "signin" || s === "signup" || s === "forgot") && /* @__PURE__ */ r(
|
|
379
381
|
O,
|
|
380
382
|
{
|
|
381
383
|
type: "email",
|
|
382
384
|
label: "Email",
|
|
383
385
|
value: h,
|
|
384
|
-
onInput:
|
|
386
|
+
onInput: d,
|
|
385
387
|
autocomplete: "email",
|
|
386
388
|
required: !0
|
|
387
389
|
}
|
|
@@ -392,12 +394,12 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
|
|
|
392
394
|
type: "password",
|
|
393
395
|
label: "Password",
|
|
394
396
|
value: w,
|
|
395
|
-
onInput:
|
|
397
|
+
onInput: b,
|
|
396
398
|
autocomplete: s === "signin" ? "current-password" : "new-password",
|
|
397
399
|
required: !0
|
|
398
400
|
}
|
|
399
401
|
),
|
|
400
|
-
s === "reset_verify" && /* @__PURE__ */
|
|
402
|
+
s === "reset_verify" && /* @__PURE__ */ c(at, { children: [
|
|
401
403
|
/* @__PURE__ */ r(
|
|
402
404
|
O,
|
|
403
405
|
{
|
|
@@ -416,7 +418,7 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
|
|
|
416
418
|
type: "password",
|
|
417
419
|
label: "New password (optional — only for password reset)",
|
|
418
420
|
value: w,
|
|
419
|
-
onInput:
|
|
421
|
+
onInput: b,
|
|
420
422
|
autocomplete: "new-password"
|
|
421
423
|
}
|
|
422
424
|
)
|
|
@@ -434,11 +436,11 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
|
|
|
434
436
|
background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
|
|
435
437
|
boxShadow: "0 1px 2px rgba(15,23,42,0.08), 0 6px 14px -4px color-mix(in srgb, var(--pw-accent) 50%, transparent)"
|
|
436
438
|
},
|
|
437
|
-
children: f === "email" ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) :
|
|
439
|
+
children: f === "email" ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : xt(s)
|
|
438
440
|
}
|
|
439
441
|
)
|
|
440
442
|
] }),
|
|
441
|
-
/* @__PURE__ */
|
|
443
|
+
/* @__PURE__ */ c("div", { class: "flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-xs text-gray-500", children: [
|
|
442
444
|
s === "signin" && t && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, m, y, "signup"), class: "font-medium text-gray-700 hover:underline", children: "Create account" }),
|
|
443
445
|
s === "signup" && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, m, y, "signin"), class: "font-medium text-gray-700 hover:underline", children: "I already have an account" }),
|
|
444
446
|
s === "signin" && i && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, m, y, "forgot"), class: "hover:underline", children: "Forgot password?" }),
|
|
@@ -447,7 +449,7 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
|
|
|
447
449
|
] })
|
|
448
450
|
] });
|
|
449
451
|
}
|
|
450
|
-
function
|
|
452
|
+
function xt(e) {
|
|
451
453
|
switch (e) {
|
|
452
454
|
case "signin":
|
|
453
455
|
return "Sign in";
|
|
@@ -465,7 +467,7 @@ function B(e, t, i, n) {
|
|
|
465
467
|
e(n), t(null), i(null);
|
|
466
468
|
}
|
|
467
469
|
function O({ type: e, label: t, value: i, onInput: n, autocomplete: a, inputMode: o, required: s }) {
|
|
468
|
-
return /* @__PURE__ */
|
|
470
|
+
return /* @__PURE__ */ c("label", { class: "flex flex-col gap-1.5", children: [
|
|
469
471
|
/* @__PURE__ */ r("span", { class: "text-xs font-medium text-gray-700", children: t }),
|
|
470
472
|
/* @__PURE__ */ r(
|
|
471
473
|
"input",
|
|
@@ -481,22 +483,22 @@ function O({ type: e, label: t, value: i, onInput: n, autocomplete: a, inputMode
|
|
|
481
483
|
)
|
|
482
484
|
] });
|
|
483
485
|
}
|
|
484
|
-
function
|
|
485
|
-
return /* @__PURE__ */
|
|
486
|
+
function yt() {
|
|
487
|
+
return /* @__PURE__ */ c("div", { class: "flex items-center gap-2 py-1 text-[10px] uppercase tracking-[0.14em] text-gray-400", children: [
|
|
486
488
|
/* @__PURE__ */ r("div", { class: "h-px flex-1 bg-gradient-to-r from-gray-200 to-transparent" }),
|
|
487
489
|
/* @__PURE__ */ r("span", { children: "or" }),
|
|
488
490
|
/* @__PURE__ */ r("div", { class: "h-px flex-1 bg-gradient-to-r from-transparent to-gray-200" })
|
|
489
491
|
] });
|
|
490
492
|
}
|
|
491
|
-
function
|
|
492
|
-
return e === "google" ? /* @__PURE__ */
|
|
493
|
+
function kt({ provider: e }) {
|
|
494
|
+
return e === "google" ? /* @__PURE__ */ c("svg", { width: "16", height: "16", viewBox: "0 0 18 18", "aria-hidden": "true", children: [
|
|
493
495
|
/* @__PURE__ */ r("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" }),
|
|
494
496
|
/* @__PURE__ */ r("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" }),
|
|
495
497
|
/* @__PURE__ */ r("path", { fill: "#FBBC05", d: "M3.93 10.68a5.4 5.4 0 0 1 0-3.36V4.99H.92a9 9 0 0 0 0 8.02l3-2.33Z" }),
|
|
496
498
|
/* @__PURE__ */ r("path", { fill: "#EA4335", d: "M9 3.58c1.32 0 2.5.45 3.44 1.34l2.58-2.58A9 9 0 0 0 .92 4.99l3.01 2.33C4.64 5.17 6.64 3.58 9 3.58Z" })
|
|
497
499
|
] }) : e === "apple" ? /* @__PURE__ */ r("svg", { width: "14", height: "16", viewBox: "0 0 14 16", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ r("path", { d: "M11.4 8.5c0-2 1.6-3 1.7-3-.9-1.3-2.4-1.5-2.9-1.5-1.2-.1-2.4.7-3 .7-.6 0-1.6-.7-2.6-.7-1.3 0-2.6.8-3.3 2C-.4 8.4.7 12.5 2.2 14.7c.7 1.1 1.6 2.3 2.7 2.3 1.1 0 1.5-.7 2.8-.7 1.3 0 1.7.7 2.8.7 1.2 0 1.9-1.1 2.6-2.2.6-.9 1-1.8 1.1-2.7-1.4-.5-2.8-1.7-2.8-3.6Zm-2-6.5C10 1.3 10.4.4 10.3 0c-.7 0-1.6.5-2.1 1.1-.5.5-1 1.4-.9 2.2.7 0 1.5-.4 2.1-1.3Z" }) }) : e === "github" ? /* @__PURE__ */ r("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ r("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__ */ r("svg", { width: "14", height: "16", viewBox: "0 0 14 16", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ r("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" }) });
|
|
498
500
|
}
|
|
499
|
-
function
|
|
501
|
+
function _t({
|
|
500
502
|
block: e,
|
|
501
503
|
bootstrap: t,
|
|
502
504
|
auth: i,
|
|
@@ -504,7 +506,7 @@ function St({
|
|
|
504
506
|
onBack: a,
|
|
505
507
|
showBack: o = !0
|
|
506
508
|
}) {
|
|
507
|
-
return /* @__PURE__ */
|
|
509
|
+
return /* @__PURE__ */ c("div", { class: "flex flex-col gap-3", children: [
|
|
508
510
|
o ? /* @__PURE__ */ r(
|
|
509
511
|
"button",
|
|
510
512
|
{
|
|
@@ -514,7 +516,7 @@ function St({
|
|
|
514
516
|
children: "← Back"
|
|
515
517
|
}
|
|
516
518
|
) : null,
|
|
517
|
-
/* @__PURE__ */ r(
|
|
519
|
+
/* @__PURE__ */ r(lt, { block: e, ctx: {
|
|
518
520
|
bootstrap: t,
|
|
519
521
|
selectedPriceId: null,
|
|
520
522
|
setSelectedPriceId: () => {
|
|
@@ -526,35 +528,35 @@ function St({
|
|
|
526
528
|
} })
|
|
527
529
|
] });
|
|
528
530
|
}
|
|
529
|
-
function
|
|
531
|
+
function St({
|
|
530
532
|
auth: e,
|
|
531
533
|
onSuccess: t,
|
|
532
534
|
onBack: i,
|
|
533
535
|
heading: n = "Continue as guest",
|
|
534
536
|
description: a = "Setting up your guest session…"
|
|
535
537
|
}) {
|
|
536
|
-
const [o, s] =
|
|
538
|
+
const [o, s] = v({ kind: "signing-in" }), l = L(!0);
|
|
537
539
|
T(() => () => {
|
|
538
540
|
l.current = !1;
|
|
539
541
|
}, []);
|
|
540
542
|
const h = () => {
|
|
541
543
|
s({ kind: "signing-in" }), (async () => {
|
|
542
544
|
try {
|
|
543
|
-
const
|
|
545
|
+
const d = await e.signInAnonymously();
|
|
544
546
|
if (!l.current) return;
|
|
545
|
-
t(
|
|
546
|
-
} catch (
|
|
547
|
+
t(d);
|
|
548
|
+
} catch (d) {
|
|
547
549
|
if (!l.current) return;
|
|
548
550
|
s({
|
|
549
551
|
kind: "error",
|
|
550
|
-
message:
|
|
552
|
+
message: d instanceof Error ? d.message : "Anonymous sign-in failed"
|
|
551
553
|
});
|
|
552
554
|
}
|
|
553
555
|
})();
|
|
554
556
|
};
|
|
555
557
|
return T(() => {
|
|
556
558
|
h();
|
|
557
|
-
}, []), /* @__PURE__ */
|
|
559
|
+
}, []), /* @__PURE__ */ c("div", { class: "flex flex-col gap-3", children: [
|
|
558
560
|
i ? /* @__PURE__ */ r(
|
|
559
561
|
"button",
|
|
560
562
|
{
|
|
@@ -564,12 +566,12 @@ function Ct({
|
|
|
564
566
|
children: "← Back"
|
|
565
567
|
}
|
|
566
568
|
) : null,
|
|
567
|
-
/* @__PURE__ */
|
|
569
|
+
/* @__PURE__ */ c("div", { class: "flex flex-col gap-1", children: [
|
|
568
570
|
/* @__PURE__ */ r("h2", { class: "text-xl font-semibold text-gray-900", children: n }),
|
|
569
571
|
/* @__PURE__ */ r("p", { class: "text-sm text-gray-500", children: a })
|
|
570
572
|
] }),
|
|
571
|
-
o.kind === "signing-in" ? /* @__PURE__ */ r("div", { class: "flex items-center justify-center py-6", children: /* @__PURE__ */ r(
|
|
572
|
-
o.kind === "error" ? /* @__PURE__ */
|
|
573
|
+
o.kind === "signing-in" ? /* @__PURE__ */ r("div", { class: "flex items-center justify-center py-6", children: /* @__PURE__ */ r(Ct, {}) }) : null,
|
|
574
|
+
o.kind === "error" ? /* @__PURE__ */ c("div", { class: "flex flex-col gap-3", children: [
|
|
573
575
|
/* @__PURE__ */ r("div", { class: "rounded-lg bg-red-50 px-3 py-2 text-sm text-red-700", children: o.message }),
|
|
574
576
|
/* @__PURE__ */ r(
|
|
575
577
|
"button",
|
|
@@ -583,22 +585,22 @@ function Ct({
|
|
|
583
585
|
] }) : null
|
|
584
586
|
] });
|
|
585
587
|
}
|
|
586
|
-
function
|
|
587
|
-
return /* @__PURE__ */
|
|
588
|
+
function Ct() {
|
|
589
|
+
return /* @__PURE__ */ c("svg", { class: "h-5 w-5 animate-spin text-[var(--pw-accent)]", viewBox: "0 0 24 24", fill: "none", children: [
|
|
588
590
|
/* @__PURE__ */ r("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "3", "stroke-opacity": "0.2" }),
|
|
589
591
|
/* @__PURE__ */ r("path", { d: "M22 12a10 10 0 0 0-10-10", stroke: "currentColor", "stroke-width": "3", "stroke-linecap": "round" })
|
|
590
592
|
] });
|
|
591
593
|
}
|
|
592
|
-
const
|
|
593
|
-
function
|
|
594
|
-
const a = t?.user.email ?? "", o = a || null, [s, l] =
|
|
594
|
+
const D = 3, H = 200, V = 5e3, $ = 5, It = 10 * 1024 * 1024, J = ["image/jpeg", "image/png", "image/webp"], Q = /.+@.+\..+/;
|
|
595
|
+
function At({ client: e, authSession: t, origin: i, onBack: n }) {
|
|
596
|
+
const a = t?.user.email ?? "", o = a || null, [s, l] = v(a), [h, d] = v(""), [w, b] = v(""), [A, g] = v([]), [f, _] = v(!1), [k, m] = v(null), [S, y] = v({}), P = nt(() => {
|
|
595
597
|
const C = (o ?? s).trim().toLowerCase(), u = h.trim(), p = w.trim();
|
|
596
|
-
return
|
|
597
|
-
}, [o, s, h, w]),
|
|
598
|
+
return Q.test(C) && u.length >= D && u.length <= H && p.length >= 1 && p.length <= V;
|
|
599
|
+
}, [o, s, h, w]), E = () => {
|
|
598
600
|
const C = {}, u = (o ?? s).trim(), p = h.trim(), x = w.trim();
|
|
599
|
-
return u ?
|
|
601
|
+
return u ? Q.test(u.toLowerCase()) || (C.email = "Invalid email") : C.email = "Required", (p.length < D || p.length > H) && (C.subject = `${D}–${H} characters`), (x.length < 1 || x.length > V) && (C.message = `1–${V} characters`), y(C), Object.keys(C).length === 0;
|
|
600
602
|
}, I = async (C) => {
|
|
601
|
-
if (C.preventDefault(), !f &&
|
|
603
|
+
if (C.preventDefault(), !f && E()) {
|
|
602
604
|
_(!0), y((u) => ({ ...u, submit: void 0 }));
|
|
603
605
|
try {
|
|
604
606
|
const u = (o ?? s).trim();
|
|
@@ -609,16 +611,16 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
|
|
|
609
611
|
files: A.length > 0 ? A : void 0
|
|
610
612
|
}), m(u);
|
|
611
613
|
} catch (u) {
|
|
612
|
-
const p = u instanceof
|
|
614
|
+
const p = u instanceof z && u.message || "Failed to send. Please try again.";
|
|
613
615
|
y((x) => ({ ...x, submit: p }));
|
|
614
616
|
} finally {
|
|
615
617
|
_(!1);
|
|
616
618
|
}
|
|
617
619
|
}
|
|
618
620
|
}, M = () => {
|
|
619
|
-
|
|
621
|
+
d(""), b(""), g([]), y({}), m(null);
|
|
620
622
|
};
|
|
621
|
-
return k ? /* @__PURE__ */
|
|
623
|
+
return k ? /* @__PURE__ */ c("div", { class: "flex flex-col items-center gap-4 py-2 text-center", children: [
|
|
622
624
|
/* @__PURE__ */ r(
|
|
623
625
|
"div",
|
|
624
626
|
{
|
|
@@ -639,13 +641,13 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
|
|
|
639
641
|
}
|
|
640
642
|
),
|
|
641
643
|
/* @__PURE__ */ r("div", { class: "text-lg font-semibold tracking-tight text-gray-900", children: "Request submitted" }),
|
|
642
|
-
/* @__PURE__ */
|
|
644
|
+
/* @__PURE__ */ c("div", { class: "max-w-[320px] text-sm leading-relaxed text-gray-500", children: [
|
|
643
645
|
"We've received your message and will respond to",
|
|
644
646
|
" ",
|
|
645
647
|
/* @__PURE__ */ r("b", { class: "text-gray-700", children: k }),
|
|
646
648
|
"."
|
|
647
649
|
] }),
|
|
648
|
-
/* @__PURE__ */
|
|
650
|
+
/* @__PURE__ */ c("div", { class: "mt-2 flex items-center justify-center gap-3", children: [
|
|
649
651
|
/* @__PURE__ */ r(
|
|
650
652
|
"button",
|
|
651
653
|
{
|
|
@@ -669,8 +671,8 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
|
|
|
669
671
|
}
|
|
670
672
|
)
|
|
671
673
|
] })
|
|
672
|
-
] }) : /* @__PURE__ */
|
|
673
|
-
/* @__PURE__ */ r("div", { class: "flex items-center justify-between", children: /* @__PURE__ */
|
|
674
|
+
] }) : /* @__PURE__ */ c("div", { class: "flex flex-col gap-3", children: [
|
|
675
|
+
/* @__PURE__ */ r("div", { class: "flex items-center justify-between", children: /* @__PURE__ */ c(
|
|
674
676
|
"button",
|
|
675
677
|
{
|
|
676
678
|
type: "button",
|
|
@@ -684,12 +686,12 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
|
|
|
684
686
|
) }),
|
|
685
687
|
/* @__PURE__ */ r("h2", { class: "text-lg font-semibold tracking-tight text-gray-900", children: "Contact Support" }),
|
|
686
688
|
/* @__PURE__ */ r("p", { class: "text-xs leading-relaxed text-gray-500", children: "Fill out the form below and we'll get back to you." }),
|
|
687
|
-
/* @__PURE__ */
|
|
688
|
-
o ? /* @__PURE__ */
|
|
689
|
+
/* @__PURE__ */ c("form", { onSubmit: I, class: "flex flex-col gap-3", children: [
|
|
690
|
+
o ? /* @__PURE__ */ c("div", { class: "rounded-xl border border-gray-200 bg-gray-50/60 px-3 py-2 text-xs text-gray-500", children: [
|
|
689
691
|
"Sending as ",
|
|
690
692
|
/* @__PURE__ */ r("b", { class: "font-medium text-gray-700", children: o })
|
|
691
693
|
] }) : /* @__PURE__ */ r(
|
|
692
|
-
|
|
694
|
+
tt,
|
|
693
695
|
{
|
|
694
696
|
type: "email",
|
|
695
697
|
label: "Your email",
|
|
@@ -701,29 +703,29 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
|
|
|
701
703
|
}
|
|
702
704
|
),
|
|
703
705
|
/* @__PURE__ */ r(
|
|
704
|
-
|
|
706
|
+
tt,
|
|
705
707
|
{
|
|
706
708
|
type: "text",
|
|
707
709
|
label: "Subject",
|
|
708
710
|
value: h,
|
|
709
|
-
onInput:
|
|
711
|
+
onInput: d,
|
|
710
712
|
error: S.subject,
|
|
711
713
|
required: !0
|
|
712
714
|
}
|
|
713
715
|
),
|
|
714
716
|
/* @__PURE__ */ r(
|
|
715
|
-
|
|
717
|
+
Mt,
|
|
716
718
|
{
|
|
717
719
|
label: "Message",
|
|
718
720
|
value: w,
|
|
719
|
-
onInput:
|
|
721
|
+
onInput: b,
|
|
720
722
|
error: S.message,
|
|
721
723
|
required: !0
|
|
722
724
|
}
|
|
723
725
|
),
|
|
724
|
-
/* @__PURE__ */ r(
|
|
726
|
+
/* @__PURE__ */ r(Tt, { files: A, onChange: g, disabled: f }),
|
|
725
727
|
S.submit && /* @__PURE__ */ r("p", { class: "text-xs text-red-600", children: S.submit }),
|
|
726
|
-
/* @__PURE__ */
|
|
728
|
+
/* @__PURE__ */ c("div", { class: "mt-1 flex items-center justify-end gap-2", children: [
|
|
727
729
|
/* @__PURE__ */ r(
|
|
728
730
|
"button",
|
|
729
731
|
{
|
|
@@ -751,8 +753,8 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
|
|
|
751
753
|
] })
|
|
752
754
|
] });
|
|
753
755
|
}
|
|
754
|
-
function
|
|
755
|
-
return /* @__PURE__ */
|
|
756
|
+
function tt({ type: e, label: t, value: i, onInput: n, error: a, autocomplete: o, required: s }) {
|
|
757
|
+
return /* @__PURE__ */ c("label", { class: "flex flex-col gap-1.5", children: [
|
|
756
758
|
/* @__PURE__ */ r("span", { class: "text-xs font-medium text-gray-700", children: t }),
|
|
757
759
|
/* @__PURE__ */ r(
|
|
758
760
|
"input",
|
|
@@ -768,8 +770,8 @@ function Q({ type: e, label: t, value: i, onInput: n, error: a, autocomplete: o,
|
|
|
768
770
|
a && /* @__PURE__ */ r("span", { class: "text-xs text-red-600", children: a })
|
|
769
771
|
] });
|
|
770
772
|
}
|
|
771
|
-
function
|
|
772
|
-
return /* @__PURE__ */
|
|
773
|
+
function Mt({ label: e, value: t, onInput: i, error: n, required: a }) {
|
|
774
|
+
return /* @__PURE__ */ c("label", { class: "flex flex-col gap-1.5", children: [
|
|
773
775
|
/* @__PURE__ */ r("span", { class: "text-xs font-medium text-gray-700", children: e }),
|
|
774
776
|
/* @__PURE__ */ r(
|
|
775
777
|
"textarea",
|
|
@@ -784,46 +786,46 @@ function Tt({ label: e, value: t, onInput: i, error: n, required: a }) {
|
|
|
784
786
|
n && /* @__PURE__ */ r("span", { class: "text-xs text-red-600", children: n })
|
|
785
787
|
] });
|
|
786
788
|
}
|
|
787
|
-
function
|
|
788
|
-
const n =
|
|
789
|
-
if (!
|
|
789
|
+
function Tt({ files: e, onChange: t, disabled: i }) {
|
|
790
|
+
const n = L(null), [a, o] = v(!1), [s, l] = v(null), h = (d) => {
|
|
791
|
+
if (!d || i) return;
|
|
790
792
|
l(null);
|
|
791
|
-
const w = Array.from(
|
|
792
|
-
if (e.length + w.length >
|
|
793
|
-
l(`Up to ${
|
|
793
|
+
const w = Array.from(d);
|
|
794
|
+
if (e.length + w.length > $) {
|
|
795
|
+
l(`Up to ${$} files`);
|
|
794
796
|
return;
|
|
795
797
|
}
|
|
796
|
-
const
|
|
797
|
-
(A) => J.includes(A.type) && A.size <=
|
|
798
|
+
const b = w.filter(
|
|
799
|
+
(A) => J.includes(A.type) && A.size <= It
|
|
798
800
|
);
|
|
799
|
-
if (
|
|
801
|
+
if (b.length !== w.length) {
|
|
800
802
|
l("Only JPEG/PNG/WebP, ≤ 10MB each");
|
|
801
803
|
return;
|
|
802
804
|
}
|
|
803
|
-
t([...e, ...
|
|
805
|
+
t([...e, ...b]);
|
|
804
806
|
};
|
|
805
|
-
return /* @__PURE__ */
|
|
807
|
+
return /* @__PURE__ */ c("div", { children: [
|
|
806
808
|
/* @__PURE__ */ r("span", { class: "text-xs font-medium text-gray-700", children: "Attachments (optional)" }),
|
|
807
|
-
/* @__PURE__ */
|
|
809
|
+
/* @__PURE__ */ c(
|
|
808
810
|
"div",
|
|
809
811
|
{
|
|
810
812
|
role: "button",
|
|
811
813
|
tabIndex: 0,
|
|
812
814
|
"aria-label": "Attachments upload",
|
|
813
815
|
onClick: () => !i && n.current?.click(),
|
|
814
|
-
onDragOver: (
|
|
815
|
-
|
|
816
|
+
onDragOver: (d) => {
|
|
817
|
+
d.preventDefault(), i || o(!0);
|
|
816
818
|
},
|
|
817
819
|
onDragLeave: () => o(!1),
|
|
818
|
-
onDrop: (
|
|
819
|
-
|
|
820
|
+
onDrop: (d) => {
|
|
821
|
+
d.preventDefault(), o(!1), h(d.dataTransfer?.files ?? null);
|
|
820
822
|
},
|
|
821
823
|
class: `mt-1.5 cursor-pointer rounded-2xl border border-dashed p-3.5 text-center transition-all ${a ? "border-[var(--pw-accent)] bg-[color-mix(in_srgb,var(--pw-accent)_6%,white)]" : "border-gray-300 hover:border-gray-400 hover:bg-gray-50/60"} ${i ? "cursor-not-allowed opacity-60" : ""}`,
|
|
822
824
|
children: [
|
|
823
825
|
/* @__PURE__ */ r("div", { class: "text-xs text-gray-500", children: "Drop images here or click to select" }),
|
|
824
|
-
/* @__PURE__ */
|
|
826
|
+
/* @__PURE__ */ c("div", { class: "mt-0.5 text-[11px] text-gray-400", children: [
|
|
825
827
|
"JPEG/PNG/WebP, up to ",
|
|
826
|
-
|
|
828
|
+
$,
|
|
827
829
|
" files, ≤ 10MB each"
|
|
828
830
|
] })
|
|
829
831
|
]
|
|
@@ -837,40 +839,40 @@ function Et({ files: e, onChange: t, disabled: i }) {
|
|
|
837
839
|
multiple: !0,
|
|
838
840
|
accept: J.join(","),
|
|
839
841
|
class: "hidden",
|
|
840
|
-
onChange: (
|
|
841
|
-
h(
|
|
842
|
+
onChange: (d) => {
|
|
843
|
+
h(d.target.files), d.currentTarget.value = "";
|
|
842
844
|
}
|
|
843
845
|
}
|
|
844
846
|
),
|
|
845
847
|
s && /* @__PURE__ */ r("p", { class: "mt-1 text-xs text-red-600", children: s }),
|
|
846
|
-
e.length > 0 && /* @__PURE__ */ r("ul", { class: "mt-2 flex flex-col gap-1", children: e.map((
|
|
848
|
+
e.length > 0 && /* @__PURE__ */ r("ul", { class: "mt-2 flex flex-col gap-1", children: e.map((d, w) => /* @__PURE__ */ c(
|
|
847
849
|
"li",
|
|
848
850
|
{
|
|
849
851
|
class: "flex items-center justify-between gap-2 rounded bg-gray-50 px-2 py-1 text-xs",
|
|
850
852
|
children: [
|
|
851
|
-
/* @__PURE__ */ r("span", { class: "truncate text-gray-700", children:
|
|
853
|
+
/* @__PURE__ */ r("span", { class: "truncate text-gray-700", children: d.name }),
|
|
852
854
|
/* @__PURE__ */ r(
|
|
853
855
|
"button",
|
|
854
856
|
{
|
|
855
857
|
type: "button",
|
|
856
858
|
onClick: () => {
|
|
857
|
-
const
|
|
858
|
-
|
|
859
|
+
const b = [...e];
|
|
860
|
+
b.splice(w, 1), t(b);
|
|
859
861
|
},
|
|
860
862
|
disabled: i,
|
|
861
863
|
class: "text-gray-500 hover:text-red-600 disabled:cursor-not-allowed disabled:opacity-60",
|
|
862
|
-
"aria-label": `Remove ${
|
|
864
|
+
"aria-label": `Remove ${d.name}`,
|
|
863
865
|
children: "✕"
|
|
864
866
|
}
|
|
865
867
|
)
|
|
866
868
|
]
|
|
867
869
|
},
|
|
868
|
-
`${
|
|
870
|
+
`${d.name}-${d.size}-${w}`
|
|
869
871
|
)) })
|
|
870
872
|
] });
|
|
871
873
|
}
|
|
872
|
-
function
|
|
873
|
-
const [i, n] =
|
|
874
|
+
function zt({ block: e, ctx: t }) {
|
|
875
|
+
const [i, n] = v(!1), a = e.priceId ?? t.selectedPriceId, o = i || e.action === "checkout" && !a;
|
|
874
876
|
return /* @__PURE__ */ r(
|
|
875
877
|
"button",
|
|
876
878
|
{
|
|
@@ -886,17 +888,17 @@ function Pt({ block: e, ctx: t }) {
|
|
|
886
888
|
}
|
|
887
889
|
}
|
|
888
890
|
},
|
|
889
|
-
class: "relative flex h-
|
|
891
|
+
class: "pw-cta-shimmer relative mt-1 flex h-14 w-full items-center justify-center overflow-hidden rounded-full px-6 text-base font-semibold tracking-tight text-white transition-transform duration-150 hover:-translate-y-px active:scale-[0.98] active:translate-y-0 disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:translate-y-0 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
890
892
|
style: {
|
|
891
|
-
background: "linear-gradient(
|
|
892
|
-
boxShadow: "0
|
|
893
|
+
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%)",
|
|
894
|
+
boxShadow: "0 0 24px 0 color-mix(in srgb, var(--pw-accent) 35%, transparent), inset 0 0 8px 0 color-mix(in srgb, white 25%, transparent), 0 1px 2px rgba(15,23,42,0.08)"
|
|
893
895
|
},
|
|
894
|
-
children: i ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : e.label
|
|
896
|
+
children: i ? /* @__PURE__ */ r("span", { class: "relative z-10 inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : /* @__PURE__ */ r("span", { class: "relative z-10", children: e.label })
|
|
895
897
|
}
|
|
896
898
|
);
|
|
897
899
|
}
|
|
898
|
-
function
|
|
899
|
-
const t = e.authSession, i = e.auth, [n, a] =
|
|
900
|
+
function Pt({ ctx: e }) {
|
|
901
|
+
const t = e.authSession, i = e.auth, [n, a] = v(!1), o = () => e.onAction("support");
|
|
900
902
|
if (t && !t.user.is_anonymous) {
|
|
901
903
|
const s = async () => {
|
|
902
904
|
if (!(!i || n)) {
|
|
@@ -909,55 +911,47 @@ function jt({ ctx: e }) {
|
|
|
909
911
|
}
|
|
910
912
|
}
|
|
911
913
|
};
|
|
912
|
-
return /* @__PURE__ */
|
|
913
|
-
/* @__PURE__ */
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
/* @__PURE__ */ r(
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
onClick: s,
|
|
921
|
-
disabled: !i || n,
|
|
922
|
-
class: "font-medium text-gray-600 underline-offset-2 hover:underline disabled:cursor-not-allowed disabled:opacity-60 focus:outline-none focus-visible:underline",
|
|
923
|
-
children: n ? "Signing out…" : "Sign out"
|
|
924
|
-
}
|
|
925
|
-
),
|
|
914
|
+
return /* @__PURE__ */ c("div", { class: "-mt-3 flex flex-col items-center gap-1.5 pt-1 text-center text-[13px] text-gray-500", children: [
|
|
915
|
+
/* @__PURE__ */ c("span", { children: [
|
|
916
|
+
"Signed in as",
|
|
917
|
+
" ",
|
|
918
|
+
/* @__PURE__ */ r("b", { class: "font-medium text-gray-700", children: t.user.email })
|
|
919
|
+
] }),
|
|
920
|
+
/* @__PURE__ */ c("div", { class: "flex items-center justify-center gap-3", children: [
|
|
921
|
+
/* @__PURE__ */ r(U, { onClick: s, disabled: !i || n, children: n ? "Signing out…" : "Sign Out" }),
|
|
926
922
|
/* @__PURE__ */ r(et, {}),
|
|
927
|
-
/* @__PURE__ */ r(
|
|
923
|
+
/* @__PURE__ */ r(U, { onClick: o, children: "Contact Support" })
|
|
928
924
|
] })
|
|
929
925
|
] });
|
|
930
926
|
}
|
|
931
|
-
return /* @__PURE__ */
|
|
932
|
-
/* @__PURE__ */ r(
|
|
933
|
-
"button",
|
|
934
|
-
{
|
|
935
|
-
type: "button",
|
|
936
|
-
onClick: () => e.onAction("restore"),
|
|
937
|
-
class: "font-medium text-gray-600 underline-offset-2 hover:underline focus:outline-none focus-visible:underline",
|
|
938
|
-
children: "Restore purchases"
|
|
939
|
-
}
|
|
940
|
-
),
|
|
927
|
+
return /* @__PURE__ */ c("div", { class: "-mt-3 flex items-center justify-center gap-3 pt-1 text-center text-[13px]", children: [
|
|
928
|
+
/* @__PURE__ */ r(U, { onClick: () => e.onAction("restore"), children: "Restore purchases" }),
|
|
941
929
|
/* @__PURE__ */ r(et, {}),
|
|
942
|
-
/* @__PURE__ */ r(
|
|
930
|
+
/* @__PURE__ */ r(U, { onClick: o, children: "Contact Support" })
|
|
943
931
|
] });
|
|
944
932
|
}
|
|
945
|
-
function
|
|
933
|
+
function U({
|
|
934
|
+
onClick: e,
|
|
935
|
+
disabled: t,
|
|
936
|
+
children: i
|
|
937
|
+
}) {
|
|
946
938
|
return /* @__PURE__ */ r(
|
|
947
939
|
"button",
|
|
948
940
|
{
|
|
949
941
|
type: "button",
|
|
950
942
|
onClick: e,
|
|
951
|
-
|
|
952
|
-
|
|
943
|
+
disabled: t,
|
|
944
|
+
class: "font-semibold underline underline-offset-2 transition-opacity hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-60 focus:outline-none focus-visible:opacity-80",
|
|
945
|
+
style: { color: "var(--pw-accent)" },
|
|
946
|
+
children: i
|
|
953
947
|
}
|
|
954
948
|
);
|
|
955
949
|
}
|
|
956
950
|
function et() {
|
|
957
951
|
return /* @__PURE__ */ r("span", { class: "h-1 w-1 rounded-full bg-gray-300", "aria-hidden": "true" });
|
|
958
952
|
}
|
|
959
|
-
function
|
|
960
|
-
return e.items.length ? /* @__PURE__ */ r("ul", { class: "flex flex-col gap-2.5", role: "list", children: e.items.map((t) => /* @__PURE__ */
|
|
953
|
+
function Et({ block: e }) {
|
|
954
|
+
return e.items.length ? /* @__PURE__ */ r("ul", { class: "flex flex-col gap-2.5", role: "list", children: e.items.map((t) => /* @__PURE__ */ c("li", { class: "flex items-start gap-3 text-sm text-gray-700", children: [
|
|
961
955
|
/* @__PURE__ */ r(
|
|
962
956
|
"span",
|
|
963
957
|
{
|
|
@@ -979,45 +973,84 @@ function zt({ block: e }) {
|
|
|
979
973
|
) })
|
|
980
974
|
}
|
|
981
975
|
),
|
|
982
|
-
/* @__PURE__ */
|
|
976
|
+
/* @__PURE__ */ c("div", { class: "flex flex-col gap-0.5", children: [
|
|
983
977
|
/* @__PURE__ */ r("span", { class: "font-medium leading-snug text-gray-900", children: t.name }),
|
|
984
978
|
t.desc ? /* @__PURE__ */ r("span", { class: "text-xs leading-relaxed text-gray-500", children: t.desc }) : null
|
|
985
979
|
] })
|
|
986
980
|
] }, t.id)) }) : null;
|
|
987
981
|
}
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
982
|
+
function Lt({ block: e }) {
|
|
983
|
+
const t = e.title ?? "100% Money-Back Guarantee", i = e.subtitle ?? "Not satisfied? We'll refund you — no questions asked.", n = (e.icon ?? "dollar_shield") !== "none";
|
|
984
|
+
return /* @__PURE__ */ c("div", { class: "-mt-1 flex flex-col items-center gap-1 border-b border-gray-200 pb-4 text-center", children: [
|
|
985
|
+
/* @__PURE__ */ c("div", { class: "flex items-center justify-center gap-1.5", children: [
|
|
986
|
+
n ? /* @__PURE__ */ r(jt, {}) : null,
|
|
987
|
+
/* @__PURE__ */ r("b", { class: "text-[14px] font-semibold text-gray-700", children: t })
|
|
988
|
+
] }),
|
|
989
|
+
i ? /* @__PURE__ */ r("span", { class: "text-[12px] leading-relaxed text-gray-500", children: i }) : null
|
|
990
|
+
] });
|
|
991
|
+
}
|
|
992
|
+
function jt() {
|
|
993
|
+
return /* @__PURE__ */ r(
|
|
994
|
+
"svg",
|
|
995
|
+
{
|
|
996
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
997
|
+
viewBox: "0 0 512 512",
|
|
998
|
+
fill: "currentColor",
|
|
999
|
+
width: "18",
|
|
1000
|
+
height: "18",
|
|
1001
|
+
class: "text-emerald-500",
|
|
1002
|
+
"aria-hidden": "true",
|
|
1003
|
+
children: /* @__PURE__ */ r("path", { d: "M257.5 .1l3.1 .4 192 42.7c4.3 1 8.2 3.2 11.2 6.5s4.8 7.4 5.3 11.8l.2 2.5 0 234.7C469.3 416.5 373.8 512 256 512C140.1 512 45.9 419.7 42.7 304.6l-.1-6L42.7 64c0-4.4 1.4-8.8 3.9-12.4s6.2-6.3 10.4-7.8l2.4-.7L251.4 .5c2-.4 4.1-.6 6.2-.4zM256 85.3c-12.8 0-21.3 8.5-21.3 21.3l0 23.5c-36.3 4.3-64 34.1-64 72.5c0 44.8 34.1 61.9 64 70.4l0 66.1c-11.9-4-20.1-15.3-21.2-27.1l-.1-2.7c0-12.8-8.5-21.3-21.3-21.3s-21.3 8.5-21.3 21.3c0 38.4 27.7 68.3 64 72.5l0 23.5c0 12.8 8.5 21.3 21.3 21.3s21.3-8.5 21.3-21.3l0-23.5c36.3-4.3 64-36.3 64-72.5c0-44.8-34.1-61.9-64-70.4l0-66.1c11.9 4 20.1 15.3 21.2 27.1l.1 2.7c0 12.8 8.5 21.3 21.3 21.3s21.3-8.5 21.3-21.3c0-38.4-27.7-68.3-64-72.5l0-23.5c0-12.8-8.5-21.3-21.3-21.3zm21.3 198.4c14.9 6.4 21.3 12.8 21.3 25.6c0 14.9-8.5 25.6-21.3 29.9l0-55.5zM234.7 172.8l0 55.5c-14.9-6.4-21.3-12.8-21.3-25.6c0-14.9 8.5-25.6 21.3-29.9z" })
|
|
1004
|
+
}
|
|
1005
|
+
);
|
|
1006
|
+
}
|
|
1007
|
+
const ct = 30, Bt = 16, Ot = 2;
|
|
1008
|
+
function Ut(e, t) {
|
|
1009
|
+
const i = t * Ot;
|
|
1010
|
+
let n = ct;
|
|
1011
|
+
for (e.style.fontSize = `${n}px`; e.scrollHeight > i && n > Bt; )
|
|
993
1012
|
n -= 1, e.style.fontSize = `${n}px`;
|
|
994
1013
|
}
|
|
995
|
-
function
|
|
996
|
-
const i = e.level ?? 1, n = `h${i}`, a = i === 1 ? "text-[1.
|
|
1014
|
+
function Ft({ block: e, ctx: t }) {
|
|
1015
|
+
const i = e.level ?? 1, n = `h${i}`, a = i === 1 ? "text-[1.875rem] font-bold leading-[1.15] text-center text-balance text-gray-900 tracking-[-0.02em]" : i === 2 ? "text-xl font-semibold leading-snug text-gray-900 tracking-tight" : "text-base font-medium text-gray-900", o = L(null), s = i === 1 && !!t.bootstrap.settings.title_auto_fit;
|
|
997
1016
|
return T(() => {
|
|
998
1017
|
if (!s || !o.current) return;
|
|
999
|
-
const l = getComputedStyle(o.current), h = parseFloat(l.lineHeight) ||
|
|
1000
|
-
|
|
1018
|
+
const l = getComputedStyle(o.current), h = parseFloat(l.lineHeight) || ct * 1.5;
|
|
1019
|
+
Ut(o.current, h);
|
|
1001
1020
|
}, [s, e.text]), /* @__PURE__ */ r(n, { ref: o, class: a, children: e.text });
|
|
1002
1021
|
}
|
|
1003
1022
|
function Rt(e) {
|
|
1004
1023
|
const t = e.local ?? { currency: e.currency, amount: e.amount };
|
|
1005
1024
|
try {
|
|
1006
|
-
|
|
1025
|
+
const i = new Intl.NumberFormat(void 0, {
|
|
1007
1026
|
style: "currency",
|
|
1008
1027
|
currency: t.currency,
|
|
1009
|
-
|
|
1010
|
-
|
|
1028
|
+
currencyDisplay: "narrowSymbol",
|
|
1029
|
+
maximumFractionDigits: t.amount % 1 === 0 ? 0 : 2,
|
|
1030
|
+
minimumFractionDigits: t.amount % 1 === 0 ? 0 : 2
|
|
1031
|
+
}).formatToParts(t.amount);
|
|
1032
|
+
let n = "", a = "";
|
|
1033
|
+
for (const o of i)
|
|
1034
|
+
o.type === "currency" ? n = o.value : o.type !== "literal" && (a += o.value);
|
|
1035
|
+
return { currency: n || t.currency, amount: a.trim() };
|
|
1011
1036
|
} catch {
|
|
1012
|
-
return
|
|
1037
|
+
return { currency: t.currency, amount: String(t.amount) };
|
|
1013
1038
|
}
|
|
1014
1039
|
}
|
|
1015
|
-
function
|
|
1016
|
-
|
|
1040
|
+
function Nt(e) {
|
|
1041
|
+
return e.label ? e.label.toUpperCase() : !e.interval || e.interval === "lifetime" ? "LIFETIME" : {
|
|
1042
|
+
day: "DAILY PLAN",
|
|
1043
|
+
week: "WEEKLY PLAN",
|
|
1044
|
+
month: "MONTHLY PLAN",
|
|
1045
|
+
year: "YEARLY PLAN"
|
|
1046
|
+
}[e.interval] ?? `${e.interval.toUpperCase()} PLAN`;
|
|
1047
|
+
}
|
|
1048
|
+
function Dt(e) {
|
|
1049
|
+
if (!e.interval || e.interval === "lifetime") return "lifetime";
|
|
1017
1050
|
const t = e.interval_count ?? 1;
|
|
1018
|
-
return t === 1 ?
|
|
1051
|
+
return t === 1 ? e.interval : `${t} ${e.interval}s`;
|
|
1019
1052
|
}
|
|
1020
|
-
function
|
|
1053
|
+
function Ht({ block: e, ctx: t }) {
|
|
1021
1054
|
const i = e.priceIds && e.priceIds.length > 0 ? new Set(e.priceIds) : null, n = t.bootstrap.prices.filter((l) => !i || i.has(l.id));
|
|
1022
1055
|
if (n.length === 0)
|
|
1023
1056
|
return /* @__PURE__ */ r("p", { class: "text-sm text-gray-500", children: "No prices available." });
|
|
@@ -1030,8 +1063,8 @@ function Ft({ block: e, ctx: t }) {
|
|
|
1030
1063
|
role: "radiogroup",
|
|
1031
1064
|
"aria-label": "Plans",
|
|
1032
1065
|
children: n.map((l) => {
|
|
1033
|
-
const h = t.selectedPriceId === l.id,
|
|
1034
|
-
return /* @__PURE__ */
|
|
1066
|
+
const h = t.selectedPriceId === l.id, d = e.popular_price_id === l.id, { currency: w, amount: b } = Rt(l);
|
|
1067
|
+
return /* @__PURE__ */ c(
|
|
1035
1068
|
"button",
|
|
1036
1069
|
{
|
|
1037
1070
|
type: "button",
|
|
@@ -1041,13 +1074,12 @@ function Ft({ block: e, ctx: t }) {
|
|
|
1041
1074
|
t.setSelectedPriceId(l.id), t.onAction("price_selected", { priceId: l.id, price: l });
|
|
1042
1075
|
},
|
|
1043
1076
|
class: [
|
|
1044
|
-
"group relative rounded-2xl border px-4 py-3
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
c ? "mt-2.5" : ""
|
|
1077
|
+
"group relative flex w-full items-center gap-3 rounded-2xl border px-4 py-3 text-left transition-all duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
1078
|
+
h ? "border-[var(--pw-accent)] shadow-[0_0_0_1px_var(--pw-accent)]" : "border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm",
|
|
1079
|
+
d ? "mt-2.5" : ""
|
|
1048
1080
|
].join(" "),
|
|
1049
1081
|
children: [
|
|
1050
|
-
|
|
1082
|
+
d ? /* @__PURE__ */ r(
|
|
1051
1083
|
"span",
|
|
1052
1084
|
{
|
|
1053
1085
|
class: "absolute -top-2.5 left-4 rounded-full px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-white shadow-sm",
|
|
@@ -1057,31 +1089,42 @@ function Ft({ block: e, ctx: t }) {
|
|
|
1057
1089
|
children: o
|
|
1058
1090
|
}
|
|
1059
1091
|
) : null,
|
|
1060
|
-
/* @__PURE__ */
|
|
1061
|
-
/* @__PURE__ */ r(
|
|
1062
|
-
|
|
1063
|
-
{
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
),
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
l.trial_days ? /* @__PURE__ */ d("span", { class: "text-xs font-medium text-[var(--pw-accent)]", children: [
|
|
1076
|
-
l.trial_days,
|
|
1077
|
-
"-day free trial"
|
|
1078
|
-
] }) : null
|
|
1079
|
-
] })
|
|
1092
|
+
/* @__PURE__ */ c("div", { class: "flex flex-1 flex-col gap-0.5", children: [
|
|
1093
|
+
/* @__PURE__ */ r("span", { class: "text-[11px] font-medium uppercase tracking-[0.08em] text-gray-500", children: Nt(l) }),
|
|
1094
|
+
/* @__PURE__ */ c("div", { class: "flex items-baseline gap-1.5 leading-none", children: [
|
|
1095
|
+
/* @__PURE__ */ r("span", { class: "text-[24px] font-normal text-gray-400", children: w }),
|
|
1096
|
+
/* @__PURE__ */ r("span", { class: "text-[34px] font-semibold tracking-tight text-gray-900", children: b }),
|
|
1097
|
+
/* @__PURE__ */ c("span", { class: "ml-1 text-sm font-medium text-gray-400", children: [
|
|
1098
|
+
"/ ",
|
|
1099
|
+
Dt(l)
|
|
1100
|
+
] })
|
|
1101
|
+
] }),
|
|
1102
|
+
l.description ? /* @__PURE__ */ r("span", { class: "mt-1 text-xs leading-relaxed text-gray-500", children: l.description }) : null,
|
|
1103
|
+
l.trial_days ? /* @__PURE__ */ c("span", { class: "mt-1 text-xs font-medium text-[var(--pw-accent)]", children: [
|
|
1104
|
+
l.trial_days,
|
|
1105
|
+
"-day free trial"
|
|
1106
|
+
] }) : null
|
|
1080
1107
|
] }),
|
|
1081
|
-
/* @__PURE__ */
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1108
|
+
/* @__PURE__ */ r(
|
|
1109
|
+
"span",
|
|
1110
|
+
{
|
|
1111
|
+
class: [
|
|
1112
|
+
"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full border transition-colors",
|
|
1113
|
+
h ? "border-[var(--pw-accent)] bg-[var(--pw-accent)] text-white" : "border-gray-300 bg-white text-transparent group-hover:border-gray-400"
|
|
1114
|
+
].join(" "),
|
|
1115
|
+
"aria-hidden": "true",
|
|
1116
|
+
children: /* @__PURE__ */ r("svg", { width: "14", height: "14", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ r(
|
|
1117
|
+
"path",
|
|
1118
|
+
{
|
|
1119
|
+
d: "M3.5 8.5l3 3 6-7",
|
|
1120
|
+
stroke: "currentColor",
|
|
1121
|
+
"stroke-width": "2",
|
|
1122
|
+
"stroke-linecap": "round",
|
|
1123
|
+
"stroke-linejoin": "round"
|
|
1124
|
+
}
|
|
1125
|
+
) })
|
|
1126
|
+
}
|
|
1127
|
+
)
|
|
1085
1128
|
]
|
|
1086
1129
|
},
|
|
1087
1130
|
l.id
|
|
@@ -1090,36 +1133,36 @@ function Ft({ block: e, ctx: t }) {
|
|
|
1090
1133
|
}
|
|
1091
1134
|
);
|
|
1092
1135
|
}
|
|
1093
|
-
function
|
|
1136
|
+
function Vt({ block: e }) {
|
|
1094
1137
|
return /* @__PURE__ */ r("p", { class: "text-[0.9375rem] leading-relaxed text-gray-600", children: e.text });
|
|
1095
1138
|
}
|
|
1096
|
-
const
|
|
1139
|
+
const $t = {
|
|
1097
1140
|
week: 0.25,
|
|
1098
1141
|
month: 1,
|
|
1099
1142
|
year: 12
|
|
1100
1143
|
};
|
|
1101
|
-
function
|
|
1144
|
+
function Gt(e) {
|
|
1102
1145
|
return e || "period";
|
|
1103
1146
|
}
|
|
1104
|
-
function
|
|
1147
|
+
function qt({ block: e, ctx: t }) {
|
|
1105
1148
|
if (!e.queries.length) return null;
|
|
1106
|
-
const n = t.bootstrap.prices.find((o) => o.id === t.selectedPriceId)?.interval ?? null, a = n ?
|
|
1107
|
-
return /* @__PURE__ */
|
|
1108
|
-
/* @__PURE__ */
|
|
1149
|
+
const n = t.bootstrap.prices.find((o) => o.id === t.selectedPriceId)?.interval ?? null, a = n ? $t[n] : void 0;
|
|
1150
|
+
return /* @__PURE__ */ c("div", { class: "flex flex-col gap-2", children: [
|
|
1151
|
+
/* @__PURE__ */ c("div", { class: "text-sm font-semibold text-gray-800", children: [
|
|
1109
1152
|
"Included per ",
|
|
1110
|
-
/* @__PURE__ */ r("span", { children:
|
|
1153
|
+
/* @__PURE__ */ r("span", { children: Gt(n) }),
|
|
1111
1154
|
":"
|
|
1112
1155
|
] }),
|
|
1113
1156
|
/* @__PURE__ */ r("ul", { class: "flex flex-col gap-2", role: "list", children: e.queries.map((o) => {
|
|
1114
1157
|
const s = Number.isFinite(o.count) ? o.count : 0, l = a !== void 0 ? Math.round(s * a) : s;
|
|
1115
|
-
return /* @__PURE__ */
|
|
1158
|
+
return /* @__PURE__ */ c("li", { class: `flex gap-2 ${o.desc ? "" : "items-center"}`, children: [
|
|
1116
1159
|
/* @__PURE__ */ r(
|
|
1117
1160
|
"span",
|
|
1118
1161
|
{
|
|
1119
1162
|
class: `flex h-5 w-5 flex-shrink-0 items-center justify-center rounded-full ${o.desc ? "mt-0.5" : ""}`,
|
|
1120
1163
|
style: {
|
|
1121
|
-
background: "
|
|
1122
|
-
color: "
|
|
1164
|
+
background: "var(--pw-accent)",
|
|
1165
|
+
color: "#ffffff"
|
|
1123
1166
|
},
|
|
1124
1167
|
"aria-hidden": "true",
|
|
1125
1168
|
children: /* @__PURE__ */ r("svg", { width: "12", height: "12", viewBox: "0 0 20 20", fill: "none", children: /* @__PURE__ */ r(
|
|
@@ -1127,18 +1170,18 @@ function Dt({ block: e, ctx: t }) {
|
|
|
1127
1170
|
{
|
|
1128
1171
|
d: "M5 10l3 3 7-7",
|
|
1129
1172
|
stroke: "currentColor",
|
|
1130
|
-
"stroke-width": "2.
|
|
1173
|
+
"stroke-width": "2.75",
|
|
1131
1174
|
"stroke-linecap": "round",
|
|
1132
1175
|
"stroke-linejoin": "round"
|
|
1133
1176
|
}
|
|
1134
1177
|
) })
|
|
1135
1178
|
}
|
|
1136
1179
|
),
|
|
1137
|
-
/* @__PURE__ */
|
|
1180
|
+
/* @__PURE__ */ c("div", { children: [
|
|
1138
1181
|
/* @__PURE__ */ r("span", { class: "font-semibold text-gray-900 text-sm", children: l }),
|
|
1139
1182
|
" ",
|
|
1140
1183
|
/* @__PURE__ */ r("span", { class: "text-sm text-gray-800", children: o.name }),
|
|
1141
|
-
o.desc ? /* @__PURE__ */
|
|
1184
|
+
o.desc ? /* @__PURE__ */ c(at, { children: [
|
|
1142
1185
|
/* @__PURE__ */ r("br", {}),
|
|
1143
1186
|
/* @__PURE__ */ r("span", { class: "text-xs text-gray-500", children: o.desc })
|
|
1144
1187
|
] }) : null
|
|
@@ -1147,18 +1190,19 @@ function Dt({ block: e, ctx: t }) {
|
|
|
1147
1190
|
}) })
|
|
1148
1191
|
] });
|
|
1149
1192
|
}
|
|
1150
|
-
const
|
|
1151
|
-
heading:
|
|
1152
|
-
text:
|
|
1153
|
-
price_grid:
|
|
1154
|
-
cta_button:
|
|
1155
|
-
auth_panel:
|
|
1156
|
-
current_session:
|
|
1157
|
-
features_list:
|
|
1158
|
-
tokenization_gate:
|
|
1193
|
+
const Wt = {
|
|
1194
|
+
heading: Ft,
|
|
1195
|
+
text: Vt,
|
|
1196
|
+
price_grid: Ht,
|
|
1197
|
+
cta_button: zt,
|
|
1198
|
+
auth_panel: lt,
|
|
1199
|
+
current_session: Pt,
|
|
1200
|
+
features_list: Et,
|
|
1201
|
+
tokenization_gate: qt,
|
|
1202
|
+
guarantee_badge: Lt
|
|
1159
1203
|
};
|
|
1160
|
-
function
|
|
1161
|
-
const o =
|
|
1204
|
+
function Zt({ layout: e, bootstrap: t, onAction: i, auth: n, authSession: a }) {
|
|
1205
|
+
const o = nt(() => t.prices[0]?.id ?? null, [t.prices]), [s, l] = v(o), h = {
|
|
1162
1206
|
bootstrap: t,
|
|
1163
1207
|
selectedPriceId: s,
|
|
1164
1208
|
setSelectedPriceId: l,
|
|
@@ -1166,18 +1210,18 @@ function Gt({ layout: e, bootstrap: t, onAction: i, auth: n, authSession: a }) {
|
|
|
1166
1210
|
auth: n,
|
|
1167
1211
|
authSession: a
|
|
1168
1212
|
};
|
|
1169
|
-
return /* @__PURE__ */ r("div", { class: "flex flex-col gap-4", children: e.blocks.map((
|
|
1170
|
-
const
|
|
1171
|
-
return
|
|
1213
|
+
return /* @__PURE__ */ r("div", { class: "flex flex-col gap-4", children: e.blocks.map((d, w) => {
|
|
1214
|
+
const b = Wt[d.type];
|
|
1215
|
+
return b ? /* @__PURE__ */ r(b, { block: d, ctx: h }, w) : (typeof console < "u" && console.warn(`[paywall] unknown block type: ${d.type}`), null);
|
|
1172
1216
|
}) });
|
|
1173
1217
|
}
|
|
1174
|
-
function
|
|
1218
|
+
function Yt(e, t, i, n) {
|
|
1175
1219
|
return e ? n ? { open: !0, view: "purchased", error: null } : t.status === "idle" || t.status === "loading" ? { open: !0, view: "loading", error: null } : t.status === "error" ? { open: !0, view: "error", error: t.error } : i.kind === "support" ? { open: !0, view: "support", error: null } : i.kind === "auth_gate" ? { open: !0, view: "auth", error: null } : i.kind === "anon_gate" ? { open: !0, view: "anon", error: null } : i.kind === "awaiting_payment" ? { open: !0, view: "awaiting_payment", error: null } : i.kind === "popup_blocked" ? { open: !0, view: "popup_blocked", error: null } : i.kind === "purchase_success" ? { open: !0, view: "purchased", error: null } : i.kind === "verifying" ? { open: !0, view: "loading", error: null } : { open: !0, view: "layout", error: null } : { open: !1, view: null, error: null };
|
|
1176
1220
|
}
|
|
1177
|
-
function
|
|
1221
|
+
function Kt(e, t) {
|
|
1178
1222
|
return e.open === t.open && e.view === t.view && e.error === t.error;
|
|
1179
1223
|
}
|
|
1180
|
-
function
|
|
1224
|
+
function Xt({
|
|
1181
1225
|
client: e,
|
|
1182
1226
|
open: t,
|
|
1183
1227
|
onClose: i,
|
|
@@ -1188,16 +1232,16 @@ function Zt({
|
|
|
1188
1232
|
onState: l,
|
|
1189
1233
|
inline: h
|
|
1190
1234
|
}) {
|
|
1191
|
-
const [
|
|
1235
|
+
const [d, w] = v({ status: "idle" }), [b, A] = v(
|
|
1192
1236
|
() => e.auth?.getCachedSession() ?? null
|
|
1193
|
-
), [g, f] =
|
|
1237
|
+
), [g, f] = v(() => a === "support" ? { kind: "support", origin: "standalone" } : a === "auth" ? { kind: "auth_gate", origin: "standalone" } : a === "anon" ? { kind: "anon_gate", origin: "standalone" } : { kind: "layout" }), _ = L(!1), k = L(null);
|
|
1194
1238
|
T(() => {
|
|
1195
1239
|
if (!l) return;
|
|
1196
|
-
const u =
|
|
1197
|
-
p &&
|
|
1198
|
-
}, [t,
|
|
1240
|
+
const u = Yt(t, d, g, o), p = k.current;
|
|
1241
|
+
p && Kt(p, u) || (k.current = u, l(u));
|
|
1242
|
+
}, [t, d, g, o, l]), T(() => {
|
|
1199
1243
|
if (e.auth)
|
|
1200
|
-
return e.auth.onAuthChange((u) => A(
|
|
1244
|
+
return e.auth.onAuthChange((u, p) => A(p));
|
|
1201
1245
|
}, [e.auth]), T(() => {
|
|
1202
1246
|
if (typeof e.onBootstrapChange == "function")
|
|
1203
1247
|
return e.onBootstrapChange((u) => {
|
|
@@ -1206,7 +1250,7 @@ function Zt({
|
|
|
1206
1250
|
);
|
|
1207
1251
|
});
|
|
1208
1252
|
}, [e]), T(() => {
|
|
1209
|
-
if (!t ||
|
|
1253
|
+
if (!t || d.status === "ready" || d.status === "loading") return;
|
|
1210
1254
|
let u = !1;
|
|
1211
1255
|
return w({ status: "loading" }), e.bootstrap().then((p) => {
|
|
1212
1256
|
u || (w({ status: "ready", data: p }), n("ready", p), p.user?.has_active_subscription && !s && (n("purchase_completed", {
|
|
@@ -1216,7 +1260,7 @@ function Zt({
|
|
|
1216
1260
|
}), f({ kind: "purchase_success", restored: !0 })));
|
|
1217
1261
|
}).catch((p) => {
|
|
1218
1262
|
if (u) return;
|
|
1219
|
-
const x = p instanceof
|
|
1263
|
+
const x = p instanceof z ? p : new z("unknown", "Failed to load paywall", { cause: p });
|
|
1220
1264
|
w({ status: "error", error: x }), n("error", x);
|
|
1221
1265
|
}), () => {
|
|
1222
1266
|
u = !0;
|
|
@@ -1245,7 +1289,7 @@ function Zt({
|
|
|
1245
1289
|
} else
|
|
1246
1290
|
f({ kind: "popup_blocked", priceId: u, url: p.url });
|
|
1247
1291
|
} catch (p) {
|
|
1248
|
-
if (p instanceof
|
|
1292
|
+
if (p instanceof z && p.code === "already_purchased") {
|
|
1249
1293
|
try {
|
|
1250
1294
|
await e.getUser({ force: !0 });
|
|
1251
1295
|
} catch {
|
|
@@ -1253,7 +1297,7 @@ function Zt({
|
|
|
1253
1297
|
n("purchase_completed", { priceId: u, sessionId: null, restored: !0 }), f({ kind: "purchase_success", restored: !0 });
|
|
1254
1298
|
return;
|
|
1255
1299
|
}
|
|
1256
|
-
const x = p instanceof
|
|
1300
|
+
const x = p instanceof z ? p : new z("checkout_failed", "Checkout failed", { cause: p });
|
|
1257
1301
|
n("error", x), f({ kind: "layout" });
|
|
1258
1302
|
}
|
|
1259
1303
|
}, S = (u, p) => {
|
|
@@ -1268,7 +1312,7 @@ function Zt({
|
|
|
1268
1312
|
}
|
|
1269
1313
|
};
|
|
1270
1314
|
T(() => {
|
|
1271
|
-
if (g.kind !== "auth_gate" || !
|
|
1315
|
+
if (g.kind !== "auth_gate" || !b || b.user.is_anonymous || _.current) return;
|
|
1272
1316
|
_.current = !0;
|
|
1273
1317
|
const u = g.pendingCheckout, p = g.origin;
|
|
1274
1318
|
f({ kind: "verifying" }), (async () => {
|
|
@@ -1292,7 +1336,7 @@ function Zt({
|
|
|
1292
1336
|
})().finally(() => {
|
|
1293
1337
|
_.current = !1;
|
|
1294
1338
|
});
|
|
1295
|
-
}, [
|
|
1339
|
+
}, [b, g]);
|
|
1296
1340
|
const y = async (u, p) => {
|
|
1297
1341
|
if (u === "close") {
|
|
1298
1342
|
i();
|
|
@@ -1311,19 +1355,19 @@ function Zt({
|
|
|
1311
1355
|
f({ kind: "support", origin: "layout" });
|
|
1312
1356
|
return;
|
|
1313
1357
|
}
|
|
1314
|
-
if (u === "checkout" &&
|
|
1358
|
+
if (u === "checkout" && d.status === "ready") {
|
|
1315
1359
|
const x = p?.priceId;
|
|
1316
1360
|
if (!x) {
|
|
1317
|
-
n("error", new
|
|
1361
|
+
n("error", new z("no_price", "No price selected"));
|
|
1318
1362
|
return;
|
|
1319
1363
|
}
|
|
1320
|
-
if ((
|
|
1364
|
+
if ((d.data.settings.checkout_mode ?? "guest") === "preauth" && !!e.auth && !e.auth.getCachedSession()) {
|
|
1321
1365
|
f({ kind: "auth_gate", pendingCheckout: { priceId: x } });
|
|
1322
1366
|
return;
|
|
1323
1367
|
}
|
|
1324
1368
|
await m(x);
|
|
1325
1369
|
}
|
|
1326
|
-
}, P =
|
|
1370
|
+
}, P = d.status === "ready" ? d.data.settings.brand_color : null, E = d.status === "ready" ? !!d.data.settings.is_test_mode : !1, I = d.status === "ready" ? d.data.settings.allow_close !== !1 : !0, M = {
|
|
1327
1371
|
type: "auth_panel",
|
|
1328
1372
|
heading: "Sign in to continue",
|
|
1329
1373
|
allow_signup: !0,
|
|
@@ -1331,12 +1375,12 @@ function Zt({
|
|
|
1331
1375
|
// Не скрываем при наличии сессии — auto-resume useEffect отрабатывает быстрее,
|
|
1332
1376
|
// чем хотим показывать "Signed in as ..." промежуточным экраном.
|
|
1333
1377
|
hide_when_authenticated: !1,
|
|
1334
|
-
providers:
|
|
1378
|
+
providers: d.status === "ready" ? d.data.settings.auth_providers : void 0
|
|
1335
1379
|
}, C = g.kind === "support" ? /* @__PURE__ */ r(
|
|
1336
|
-
|
|
1380
|
+
At,
|
|
1337
1381
|
{
|
|
1338
1382
|
client: e,
|
|
1339
|
-
authSession:
|
|
1383
|
+
authSession: b,
|
|
1340
1384
|
origin: g.origin,
|
|
1341
1385
|
onBack: () => {
|
|
1342
1386
|
g.origin === "standalone" ? i() : f({ kind: "layout" });
|
|
@@ -1344,20 +1388,20 @@ function Zt({
|
|
|
1344
1388
|
}
|
|
1345
1389
|
) : null;
|
|
1346
1390
|
return /* @__PURE__ */ r(
|
|
1347
|
-
|
|
1391
|
+
wt,
|
|
1348
1392
|
{
|
|
1349
1393
|
open: t,
|
|
1350
1394
|
onClose: i,
|
|
1351
1395
|
brandColor: P,
|
|
1352
|
-
testMode:
|
|
1396
|
+
testMode: E,
|
|
1353
1397
|
allowClose: I,
|
|
1354
1398
|
inline: h,
|
|
1355
1399
|
labelledBy: "pw-title",
|
|
1356
|
-
children: o ? /* @__PURE__ */ r(
|
|
1400
|
+
children: o ? /* @__PURE__ */ r(rt, { onContinue: i }) : g.kind === "purchase_success" ? /* @__PURE__ */ r(rt, { restored: g.restored, onContinue: i }) : C || (d.status === "loading" || d.status === "idle" || g.kind === "verifying" ? /* @__PURE__ */ c("div", { class: "flex flex-col items-center justify-center gap-3 py-12", children: [
|
|
1357
1401
|
/* @__PURE__ */ r("span", { class: "inline-block h-7 w-7 animate-spin rounded-full border-[2.5px] border-gray-200 border-t-[var(--pw-accent)]" }),
|
|
1358
1402
|
/* @__PURE__ */ r("span", { class: "text-xs font-medium tracking-wide text-gray-500", children: g.kind === "verifying" ? "Checking your subscription…" : "Loading…" })
|
|
1359
|
-
] }) :
|
|
1360
|
-
/* @__PURE__ */ r("div", { class: "flex h-11 w-11 items-center justify-center rounded-full bg-red-50", children: /* @__PURE__ */
|
|
1403
|
+
] }) : d.status === "error" ? /* @__PURE__ */ c("div", { class: "flex flex-col items-center gap-2 py-8 text-center", children: [
|
|
1404
|
+
/* @__PURE__ */ r("div", { class: "flex h-11 w-11 items-center justify-center rounded-full bg-red-50", children: /* @__PURE__ */ c("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
|
|
1361
1405
|
/* @__PURE__ */ r(
|
|
1362
1406
|
"path",
|
|
1363
1407
|
{
|
|
@@ -1370,21 +1414,21 @@ function Zt({
|
|
|
1370
1414
|
/* @__PURE__ */ r("circle", { cx: "10", cy: "10", r: "8", stroke: "#dc2626", "stroke-width": "1.75" })
|
|
1371
1415
|
] }) }),
|
|
1372
1416
|
/* @__PURE__ */ r("p", { class: "text-sm font-semibold tracking-tight text-gray-900", children: "Something went wrong" }),
|
|
1373
|
-
/* @__PURE__ */ r("p", { class: "text-xs leading-relaxed text-gray-500", children:
|
|
1417
|
+
/* @__PURE__ */ r("p", { class: "text-xs leading-relaxed text-gray-500", children: d.error.message })
|
|
1374
1418
|
] }) : g.kind === "auth_gate" && e.auth ? /* @__PURE__ */ r(
|
|
1375
|
-
|
|
1419
|
+
_t,
|
|
1376
1420
|
{
|
|
1377
1421
|
block: M,
|
|
1378
|
-
bootstrap:
|
|
1422
|
+
bootstrap: d.data,
|
|
1379
1423
|
auth: e.auth,
|
|
1380
|
-
authSession:
|
|
1424
|
+
authSession: b,
|
|
1381
1425
|
showBack: g.origin !== "standalone",
|
|
1382
1426
|
onBack: () => {
|
|
1383
1427
|
g.origin === "standalone" ? i() : f({ kind: "layout" });
|
|
1384
1428
|
}
|
|
1385
1429
|
}
|
|
1386
1430
|
) : g.kind === "anon_gate" && e.auth ? /* @__PURE__ */ r(
|
|
1387
|
-
|
|
1431
|
+
St,
|
|
1388
1432
|
{
|
|
1389
1433
|
auth: e.auth,
|
|
1390
1434
|
onSuccess: () => {
|
|
@@ -1393,7 +1437,7 @@ function Zt({
|
|
|
1393
1437
|
onBack: g.origin === "standalone" ? void 0 : () => f({ kind: "layout" })
|
|
1394
1438
|
}
|
|
1395
1439
|
) : g.kind === "awaiting_payment" ? /* @__PURE__ */ r(
|
|
1396
|
-
|
|
1440
|
+
Jt,
|
|
1397
1441
|
{
|
|
1398
1442
|
client: e,
|
|
1399
1443
|
onBack: () => f({ kind: "layout" }),
|
|
@@ -1408,14 +1452,14 @@ function Zt({
|
|
|
1408
1452
|
},
|
|
1409
1453
|
onRetry: () => m(g.priceId)
|
|
1410
1454
|
}
|
|
1411
|
-
) : g.kind === "popup_blocked" ? /* @__PURE__ */
|
|
1455
|
+
) : g.kind === "popup_blocked" ? /* @__PURE__ */ c("div", { class: "flex flex-col items-center gap-3 py-8 text-center", children: [
|
|
1412
1456
|
/* @__PURE__ */ r(
|
|
1413
1457
|
"div",
|
|
1414
1458
|
{
|
|
1415
1459
|
class: "flex h-11 w-11 items-center justify-center rounded-full",
|
|
1416
1460
|
style: { background: "color-mix(in srgb, var(--pw-accent) 12%, white)", color: "var(--pw-accent)" },
|
|
1417
1461
|
"aria-hidden": "true",
|
|
1418
|
-
children: /* @__PURE__ */
|
|
1462
|
+
children: /* @__PURE__ */ c("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [
|
|
1419
1463
|
/* @__PURE__ */ r(
|
|
1420
1464
|
"path",
|
|
1421
1465
|
{
|
|
@@ -1445,28 +1489,28 @@ function Zt({
|
|
|
1445
1489
|
}
|
|
1446
1490
|
)
|
|
1447
1491
|
] }) : /* @__PURE__ */ r(
|
|
1448
|
-
|
|
1492
|
+
Zt,
|
|
1449
1493
|
{
|
|
1450
|
-
layout:
|
|
1451
|
-
bootstrap:
|
|
1494
|
+
layout: d.data.layout,
|
|
1495
|
+
bootstrap: d.data,
|
|
1452
1496
|
onAction: y,
|
|
1453
1497
|
auth: e.auth,
|
|
1454
|
-
authSession:
|
|
1498
|
+
authSession: b
|
|
1455
1499
|
}
|
|
1456
1500
|
))
|
|
1457
1501
|
}
|
|
1458
1502
|
);
|
|
1459
1503
|
}
|
|
1460
|
-
function
|
|
1504
|
+
function Jt({
|
|
1461
1505
|
client: e,
|
|
1462
1506
|
onBack: t,
|
|
1463
1507
|
onReopen: i,
|
|
1464
1508
|
onRetry: n
|
|
1465
1509
|
}) {
|
|
1466
|
-
const [a, o] =
|
|
1510
|
+
const [a, o] = v(!1), [s, l] = v(!1), h = L(null);
|
|
1467
1511
|
return T(() => () => {
|
|
1468
1512
|
h.current !== null && clearTimeout(h.current);
|
|
1469
|
-
}, []), /* @__PURE__ */
|
|
1513
|
+
}, []), /* @__PURE__ */ c("div", { class: "flex flex-col gap-3", children: [
|
|
1470
1514
|
/* @__PURE__ */ r(
|
|
1471
1515
|
"button",
|
|
1472
1516
|
{
|
|
@@ -1476,8 +1520,8 @@ function Xt({
|
|
|
1476
1520
|
children: "← Back"
|
|
1477
1521
|
}
|
|
1478
1522
|
),
|
|
1479
|
-
/* @__PURE__ */
|
|
1480
|
-
/* @__PURE__ */
|
|
1523
|
+
/* @__PURE__ */ c("div", { class: "flex flex-col items-center gap-3 py-6 text-center", children: [
|
|
1524
|
+
/* @__PURE__ */ c("div", { class: "relative flex h-12 w-12 items-center justify-center", children: [
|
|
1481
1525
|
/* @__PURE__ */ r(
|
|
1482
1526
|
"span",
|
|
1483
1527
|
{
|
|
@@ -1523,7 +1567,7 @@ function Xt({
|
|
|
1523
1567
|
),
|
|
1524
1568
|
s ? /* @__PURE__ */ r("p", { class: "text-xs leading-relaxed text-gray-500", children: "Payment is still being processed. Please try again in a moment." }) : null
|
|
1525
1569
|
] }),
|
|
1526
|
-
/* @__PURE__ */
|
|
1570
|
+
/* @__PURE__ */ c("div", { class: "rounded-2xl border border-gray-200 bg-gray-50/60 p-3.5", children: [
|
|
1527
1571
|
/* @__PURE__ */ r("p", { class: "text-xs leading-relaxed text-gray-600", children: "Checkout window didn't open or got blocked? Click here to open it again." }),
|
|
1528
1572
|
/* @__PURE__ */ r(
|
|
1529
1573
|
"button",
|
|
@@ -1546,11 +1590,11 @@ function Xt({
|
|
|
1546
1590
|
)
|
|
1547
1591
|
] });
|
|
1548
1592
|
}
|
|
1549
|
-
function
|
|
1593
|
+
function rt({
|
|
1550
1594
|
onContinue: e,
|
|
1551
1595
|
restored: t = !1
|
|
1552
1596
|
}) {
|
|
1553
|
-
return /* @__PURE__ */
|
|
1597
|
+
return /* @__PURE__ */ c("div", { class: "flex flex-col items-center gap-3 py-8 text-center", children: [
|
|
1554
1598
|
/* @__PURE__ */ r(
|
|
1555
1599
|
"div",
|
|
1556
1600
|
{
|
|
@@ -1591,17 +1635,17 @@ function it({
|
|
|
1591
1635
|
)
|
|
1592
1636
|
] });
|
|
1593
1637
|
}
|
|
1594
|
-
const
|
|
1595
|
-
class
|
|
1638
|
+
const Qt = 10 * 6e4, te = 5e3, ee = 3e4;
|
|
1639
|
+
class re {
|
|
1596
1640
|
constructor(t) {
|
|
1597
1641
|
this.timer = null, this.timeoutTimer = null, this.visibilityHandler = null, this.focusHandler = null, this.messageHandler = null, this.stopped = !1, this.checking = !1, this.opts = {
|
|
1598
1642
|
client: t.client,
|
|
1599
1643
|
onActive: t.onActive,
|
|
1600
1644
|
onTimeout: t.onTimeout ?? (() => {
|
|
1601
1645
|
}),
|
|
1602
|
-
timeoutMs: t.timeoutMs ??
|
|
1603
|
-
visibleIntervalMs: t.visibleIntervalMs ??
|
|
1604
|
-
hiddenIntervalMs: t.hiddenIntervalMs ??
|
|
1646
|
+
timeoutMs: t.timeoutMs ?? Qt,
|
|
1647
|
+
visibleIntervalMs: t.visibleIntervalMs ?? te,
|
|
1648
|
+
hiddenIntervalMs: t.hiddenIntervalMs ?? ee
|
|
1605
1649
|
};
|
|
1606
1650
|
}
|
|
1607
1651
|
start() {
|
|
@@ -1640,22 +1684,22 @@ class Qt {
|
|
|
1640
1684
|
!i || typeof i != "object" || i.type === "paywall_purchase" && this.check();
|
|
1641
1685
|
}
|
|
1642
1686
|
}
|
|
1643
|
-
function
|
|
1687
|
+
function ie() {
|
|
1644
1688
|
return !(typeof document > "u" || typeof window > "u" || typeof location < "u" && location.protocol === "chrome-extension:");
|
|
1645
1689
|
}
|
|
1646
|
-
const
|
|
1690
|
+
const G = { open: !1, view: null, error: null }, j = {
|
|
1647
1691
|
status: "paywall_status",
|
|
1648
1692
|
priceId: "paywall_price_id",
|
|
1649
1693
|
sessionId: "paywall_session_id"
|
|
1650
1694
|
};
|
|
1651
|
-
class
|
|
1695
|
+
class we {
|
|
1652
1696
|
constructor(t) {
|
|
1653
|
-
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 =
|
|
1654
|
-
const { auth: i, ownsAuth: n } =
|
|
1655
|
-
this.auth = i, this.ownsAuth = n, this.billing = t.client ?? new
|
|
1697
|
+
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 = G, this.stateListeners = /* @__PURE__ */ new Set();
|
|
1698
|
+
const { auth: i, ownsAuth: n } = ae(t);
|
|
1699
|
+
this.auth = i, this.ownsAuth = n, this.billing = t.client ?? new dt({ ...t, auth: this.auth }), this.host = t.host, this.shadowMode = t.shadowMode ?? "closed", this.mountThenLoad = t.mountThenLoad ?? !0, this.inline = t.inline === !0, this.userUnsub = this.billing.onUserChange((a) => {
|
|
1656
1700
|
this.emit("userChange", a);
|
|
1657
|
-
}), this.auth && (this.authUnsub = this.auth.onAuthChange((a) => {
|
|
1658
|
-
this.emit("authChange", a);
|
|
1701
|
+
}), this.auth && (this.authUnsub = this.auth.onAuthChange((a, o) => {
|
|
1702
|
+
this.emit("authChange", { event: a, session: o });
|
|
1659
1703
|
})), this.initTracker(t.analytics), t.autoDetectReturn !== !1 && typeof window < "u" && queueMicrotask(() => this.checkReturn());
|
|
1660
1704
|
}
|
|
1661
1705
|
initTracker(t) {
|
|
@@ -1663,7 +1707,7 @@ class pe {
|
|
|
1663
1707
|
const i = typeof t == "object" && t !== null ? t : {};
|
|
1664
1708
|
if (i.enabled === !1) return;
|
|
1665
1709
|
const n = i.endpoint ?? `${this.billing.apiOrigin}/api/v1/paywall/${this.billing.paywallId}/events`;
|
|
1666
|
-
this.tracker = new
|
|
1710
|
+
this.tracker = new ut({
|
|
1667
1711
|
endpoint: n,
|
|
1668
1712
|
paywallId: this.billing.paywallId,
|
|
1669
1713
|
capabilities: this.billing.capabilities,
|
|
@@ -1929,11 +1973,11 @@ class pe {
|
|
|
1929
1973
|
});
|
|
1930
1974
|
}
|
|
1931
1975
|
ensureTrialStore(t) {
|
|
1932
|
-
if (this.trialStore && this.trialStoreConfig &&
|
|
1976
|
+
if (this.trialStore && this.trialStoreConfig && se(this.trialStoreConfig, t))
|
|
1933
1977
|
return this.trialStore;
|
|
1934
1978
|
this.trialStoreConfig = t;
|
|
1935
1979
|
const i = this.billing.createTrialStore;
|
|
1936
|
-
return this.trialStore = typeof i == "function" ? i.call(this.billing, t) :
|
|
1980
|
+
return this.trialStore = typeof i == "function" ? i.call(this.billing, t) : pt(this.billing.getStorage(), this.billing.paywallId, t), this.trialStore;
|
|
1937
1981
|
}
|
|
1938
1982
|
mountAndShow(t, i = {}) {
|
|
1939
1983
|
const n = i.renew === !0;
|
|
@@ -1941,8 +1985,8 @@ class pe {
|
|
|
1941
1985
|
this.isOpen = !0, this.handle.update({ open: !0, initialView: t, purchased: !1, renew: n }), this.emit("open");
|
|
1942
1986
|
return;
|
|
1943
1987
|
}
|
|
1944
|
-
this.isOpen = !0, this.handle =
|
|
1945
|
-
|
|
1988
|
+
this.isOpen = !0, this.handle = ft(
|
|
1989
|
+
Xt,
|
|
1946
1990
|
{
|
|
1947
1991
|
client: this.billing,
|
|
1948
1992
|
open: !0,
|
|
@@ -1960,7 +2004,7 @@ class pe {
|
|
|
1960
2004
|
), this.emit("open");
|
|
1961
2005
|
}
|
|
1962
2006
|
applyState(t) {
|
|
1963
|
-
if (!
|
|
2007
|
+
if (!oe(this.currentState, t)) {
|
|
1964
2008
|
this.currentState = t;
|
|
1965
2009
|
for (const i of this.stateListeners)
|
|
1966
2010
|
try {
|
|
@@ -2126,7 +2170,7 @@ class pe {
|
|
|
2126
2170
|
// В extension popup runtime — no-op (popup не доживёт). Там полагаемся на
|
|
2127
2171
|
// bootstrap при следующем открытии.
|
|
2128
2172
|
startUserWatcher() {
|
|
2129
|
-
this.watcher ||
|
|
2173
|
+
this.watcher || ie() && (this.watcher = new re({
|
|
2130
2174
|
client: this.billing,
|
|
2131
2175
|
onActive: (t) => {
|
|
2132
2176
|
this.watcher = null, this.emit("purchase_completed", { priceId: null, sessionId: null });
|
|
@@ -2145,7 +2189,7 @@ class pe {
|
|
|
2145
2189
|
}), this.watcher.start());
|
|
2146
2190
|
}
|
|
2147
2191
|
close() {
|
|
2148
|
-
!this.isOpen || !this.handle || (this.isOpen = !1, this.purchased = !1, this.handle.update({ open: !1, purchased: !1 }), this.applyState(
|
|
2192
|
+
!this.isOpen || !this.handle || (this.isOpen = !1, this.purchased = !1, this.handle.update({ open: !1, purchased: !1 }), this.applyState(G), this.emit("close"));
|
|
2149
2193
|
}
|
|
2150
2194
|
/**
|
|
2151
2195
|
* Сканирует текущий URL на маркеры возврата с checkout и эмитит
|
|
@@ -2155,23 +2199,23 @@ class pe {
|
|
|
2155
2199
|
*/
|
|
2156
2200
|
checkReturn() {
|
|
2157
2201
|
if (typeof window > "u") return;
|
|
2158
|
-
const t = new URL(window.location.href), i =
|
|
2202
|
+
const t = new URL(window.location.href), i = it(t.hash.replace(/^#/, "")), n = it(t.search.replace(/^\?/, "")), a = i ?? n;
|
|
2159
2203
|
a && (a.status === "paid" ? (this.emit("purchase_completed", {
|
|
2160
2204
|
priceId: a.priceId,
|
|
2161
2205
|
sessionId: a.sessionId
|
|
2162
|
-
}),
|
|
2206
|
+
}), le(a)) : (a.status === "failed" || a.status === "cancelled") && this.emit("purchase_failed", { reason: a.status }), ce(t));
|
|
2163
2207
|
}
|
|
2164
2208
|
destroy() {
|
|
2165
|
-
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 =
|
|
2209
|
+
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 = G;
|
|
2166
2210
|
}
|
|
2167
2211
|
}
|
|
2168
|
-
function
|
|
2212
|
+
function ae(e) {
|
|
2169
2213
|
if (!e.auth) return { auth: void 0, ownsAuth: !1 };
|
|
2170
|
-
if (e.auth instanceof
|
|
2214
|
+
if (e.auth instanceof q || ne(e.auth))
|
|
2171
2215
|
return { auth: e.auth, ownsAuth: !1 };
|
|
2172
2216
|
const t = e.auth === !0 ? {} : e.auth;
|
|
2173
2217
|
return {
|
|
2174
|
-
auth: new
|
|
2218
|
+
auth: new q({
|
|
2175
2219
|
paywallId: e.paywallId,
|
|
2176
2220
|
apiOrigin: t.apiOrigin ?? e.apiOrigin,
|
|
2177
2221
|
storage: t.storage ?? e.storage,
|
|
@@ -2181,27 +2225,27 @@ function ee(e) {
|
|
|
2181
2225
|
ownsAuth: !0
|
|
2182
2226
|
};
|
|
2183
2227
|
}
|
|
2184
|
-
function
|
|
2228
|
+
function ne(e) {
|
|
2185
2229
|
if (typeof e != "object" || e === null) return !1;
|
|
2186
2230
|
const t = e;
|
|
2187
2231
|
return typeof t.onAuthChange == "function" && typeof t.getCachedSession == "function" && typeof t.signOut == "function";
|
|
2188
2232
|
}
|
|
2189
|
-
function
|
|
2233
|
+
function oe(e, t) {
|
|
2190
2234
|
return e.open === t.open && e.view === t.view && e.error === t.error;
|
|
2191
2235
|
}
|
|
2192
|
-
function
|
|
2236
|
+
function se(e, t) {
|
|
2193
2237
|
return e.mode === t.mode && e.payload === t.payload && e.storage === t.storage;
|
|
2194
2238
|
}
|
|
2195
|
-
function
|
|
2239
|
+
function it(e) {
|
|
2196
2240
|
if (!e) return null;
|
|
2197
|
-
const t = new URLSearchParams(e), i = t.get(
|
|
2241
|
+
const t = new URLSearchParams(e), i = t.get(j.status);
|
|
2198
2242
|
return i ? {
|
|
2199
2243
|
status: i,
|
|
2200
|
-
priceId: t.get(
|
|
2201
|
-
sessionId: t.get(
|
|
2244
|
+
priceId: t.get(j.priceId),
|
|
2245
|
+
sessionId: t.get(j.sessionId)
|
|
2202
2246
|
} : null;
|
|
2203
2247
|
}
|
|
2204
|
-
function
|
|
2248
|
+
function le(e) {
|
|
2205
2249
|
if (!(typeof window > "u" || !window.opener))
|
|
2206
2250
|
try {
|
|
2207
2251
|
window.opener.postMessage(
|
|
@@ -2216,18 +2260,18 @@ function ne(e) {
|
|
|
2216
2260
|
} catch {
|
|
2217
2261
|
}
|
|
2218
2262
|
}
|
|
2219
|
-
function
|
|
2263
|
+
function ce(e) {
|
|
2220
2264
|
const t = (n, a) => {
|
|
2221
2265
|
if (!n) return "";
|
|
2222
2266
|
const o = new URLSearchParams(n.replace(/^[?#]/, ""));
|
|
2223
|
-
o.delete(
|
|
2267
|
+
o.delete(j.status), o.delete(j.priceId), o.delete(j.sessionId);
|
|
2224
2268
|
const s = o.toString();
|
|
2225
2269
|
return s ? a + s : "";
|
|
2226
2270
|
}, i = e.pathname + t(e.search, "?") + t(e.hash, "#");
|
|
2227
2271
|
window.history.replaceState(null, "", i);
|
|
2228
2272
|
}
|
|
2229
2273
|
export {
|
|
2230
|
-
|
|
2231
|
-
|
|
2274
|
+
we as P,
|
|
2275
|
+
Wt as b
|
|
2232
2276
|
};
|
|
2233
|
-
//# sourceMappingURL=PaywallUI-
|
|
2277
|
+
//# sourceMappingURL=PaywallUI-2bwf2scV.js.map
|