@monetize.software/sdk-extension 3.0.0-alpha.1 → 3.0.0-alpha.3
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/{chrome-port-BXHR4SOG.js → chrome-port-DPFUj1MP.js} +144 -98
- package/dist/chunks/chrome-port-DPFUj1MP.js.map +1 -0
- package/dist/chunks/{chrome-port-EtYqHf3p.js → chrome-port-MoMohiHB.js} +2 -2
- package/dist/chunks/chrome-port-MoMohiHB.js.map +1 -0
- package/dist/content.cjs +3 -3
- package/dist/content.cjs.map +1 -1
- package/dist/content.js +275 -251
- package/dist/content.js.map +1 -1
- package/dist/offscreen.cjs +1 -1
- package/dist/offscreen.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/chrome-port-BXHR4SOG.js.map +0 -1
- package/dist/chunks/chrome-port-EtYqHf3p.js.map +0 -1
package/dist/content.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { P as
|
|
1
|
+
import { P as M, B as ae, E as ce, c as ue, A as H, w as he, a as R, r as de, b as pe } from "./chunks/chrome-port-DPFUj1MP.js";
|
|
2
2
|
import { render as z, h as G } from "preact";
|
|
3
3
|
import { jsxs as u, jsx as o, Fragment as ne } from "preact/jsx-runtime";
|
|
4
|
-
import { useRef as
|
|
4
|
+
import { useRef as L, useEffect as B, useState as y, useMemo as ie } from "preact/hooks";
|
|
5
5
|
import { P as fe } from "./chunks/port-name-BPfQKtdb.js";
|
|
6
6
|
const oe = '@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --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-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --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-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --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-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--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:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--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:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}@source "../**/*.{ts,tsx,js,jsx}";@layer base{: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{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed}[role=button],[role=radio]{cursor:pointer}}';
|
|
7
7
|
let W = !1;
|
|
@@ -33,7 +33,7 @@ function me(r, e, t = {}) {
|
|
|
33
33
|
throw new Error("mountShadow called in non-DOM environment");
|
|
34
34
|
ge();
|
|
35
35
|
const n = t.host ?? document.createElement("div");
|
|
36
|
-
n.setAttribute("data-paywall-host", ""), n.style.cssText = "all: initial; position: fixed; inset: 0; z-index: 2147483647; pointer-events: none;", n.isConnected
|
|
36
|
+
n.setAttribute("data-paywall-host", ""), n.style.cssText = t.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 && !t.inline && document.body.appendChild(n);
|
|
37
37
|
const i = n.attachShadow({ mode: t.shadowMode ?? "closed" }), s = `
|
|
38
38
|
:host {
|
|
39
39
|
all: initial !important;
|
|
@@ -56,11 +56,11 @@ function me(r, e, t = {}) {
|
|
|
56
56
|
l.textContent = s + oe + (t.injectCss ?? ""), i.appendChild(l);
|
|
57
57
|
const a = document.createElement("div");
|
|
58
58
|
a.style.pointerEvents = "auto", i.appendChild(a);
|
|
59
|
-
let
|
|
60
|
-
return z(G(r,
|
|
59
|
+
let h = e;
|
|
60
|
+
return z(G(r, h), a), {
|
|
61
61
|
shadowRoot: i,
|
|
62
|
-
update(
|
|
63
|
-
|
|
62
|
+
update(c) {
|
|
63
|
+
h = { ...h, ...c }, z(G(r, h), a);
|
|
64
64
|
},
|
|
65
65
|
unmount() {
|
|
66
66
|
z(null, a), n.remove();
|
|
@@ -75,49 +75,50 @@ function ye({
|
|
|
75
75
|
brandColor: n,
|
|
76
76
|
testMode: i,
|
|
77
77
|
allowClose: s = !0,
|
|
78
|
-
|
|
78
|
+
inline: l = !1,
|
|
79
|
+
children: a
|
|
79
80
|
}) {
|
|
80
|
-
const
|
|
81
|
-
return
|
|
81
|
+
const h = L(null), c = L(null);
|
|
82
|
+
return B(() => {
|
|
82
83
|
if (!r) return;
|
|
83
84
|
c.current = document.activeElement ?? null;
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
if (
|
|
85
|
+
const f = h.current;
|
|
86
|
+
f && (f.querySelector(Z) ?? f).focus({ preventScroll: !0 });
|
|
87
|
+
const g = (v) => {
|
|
88
|
+
if (v.key === "Escape") {
|
|
88
89
|
if (!s) return;
|
|
89
|
-
|
|
90
|
+
v.stopPropagation(), e();
|
|
90
91
|
return;
|
|
91
92
|
}
|
|
92
|
-
if (
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
).filter((
|
|
96
|
-
if (
|
|
97
|
-
|
|
93
|
+
if (v.key !== "Tab" || !h.current) return;
|
|
94
|
+
const x = Array.from(
|
|
95
|
+
h.current.querySelectorAll(Z)
|
|
96
|
+
).filter((P) => !P.hasAttribute("disabled") && P.tabIndex !== -1);
|
|
97
|
+
if (x.length === 0) {
|
|
98
|
+
v.preventDefault();
|
|
98
99
|
return;
|
|
99
100
|
}
|
|
100
|
-
const
|
|
101
|
-
|
|
101
|
+
const S = x[0], w = x[x.length - 1], E = document.activeElement;
|
|
102
|
+
v.shiftKey && E === S ? (v.preventDefault(), w.focus()) : !v.shiftKey && E === w && (v.preventDefault(), S.focus());
|
|
102
103
|
};
|
|
103
|
-
document.addEventListener("keydown",
|
|
104
|
-
const
|
|
105
|
-
return document.body.style.overflow = "hidden", () => {
|
|
106
|
-
document.removeEventListener("keydown",
|
|
104
|
+
document.addEventListener("keydown", g, !0);
|
|
105
|
+
const _ = document.body.style.overflow;
|
|
106
|
+
return l || (document.body.style.overflow = "hidden"), () => {
|
|
107
|
+
document.removeEventListener("keydown", g, !0), l || (document.body.style.overflow = _), c.current?.focus?.({ preventScroll: !0 });
|
|
107
108
|
};
|
|
108
|
-
}, [r, e, s]), r ? /* @__PURE__ */ u(
|
|
109
|
+
}, [r, e, s, l]), r ? /* @__PURE__ */ u(
|
|
109
110
|
"div",
|
|
110
111
|
{
|
|
111
|
-
class: "
|
|
112
|
-
onClick: (
|
|
113
|
-
s &&
|
|
112
|
+
class: `${l ? "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]`,
|
|
113
|
+
onClick: (f) => {
|
|
114
|
+
s && f.target === f.currentTarget && e();
|
|
114
115
|
},
|
|
115
116
|
"data-pw-root": !0,
|
|
116
117
|
children: [
|
|
117
118
|
/* @__PURE__ */ u(
|
|
118
119
|
"div",
|
|
119
120
|
{
|
|
120
|
-
ref:
|
|
121
|
+
ref: h,
|
|
121
122
|
role: "dialog",
|
|
122
123
|
"aria-modal": "true",
|
|
123
124
|
"aria-labelledby": t,
|
|
@@ -151,7 +152,7 @@ function ye({
|
|
|
151
152
|
]
|
|
152
153
|
}
|
|
153
154
|
),
|
|
154
|
-
/* @__PURE__ */ o("div", { class: "flex-1 overflow-y-auto p-7", children:
|
|
155
|
+
/* @__PURE__ */ o("div", { class: "flex-1 overflow-y-auto p-7", children: a }),
|
|
155
156
|
s ? /* @__PURE__ */ o(
|
|
156
157
|
"button",
|
|
157
158
|
{
|
|
@@ -184,7 +185,7 @@ function ye({
|
|
|
184
185
|
}
|
|
185
186
|
) : null;
|
|
186
187
|
}
|
|
187
|
-
const
|
|
188
|
+
const be = {
|
|
188
189
|
google: "Continue with Google",
|
|
189
190
|
apple: "Continue with Apple",
|
|
190
191
|
github: "Continue with GitHub",
|
|
@@ -195,7 +196,7 @@ function se({ block: r, ctx: e }) {
|
|
|
195
196
|
if (!t)
|
|
196
197
|
return typeof console < "u" && console.warn("[paywall] auth_panel rendered without AuthClient — pass `auth: true` to PaywallUI"), null;
|
|
197
198
|
const a = n && !n.user.is_anonymous ? n : null;
|
|
198
|
-
return a && l ? null : a ? /* @__PURE__ */ o(
|
|
199
|
+
return a && l ? null : a ? /* @__PURE__ */ o(xe, { email: a.user.email ?? "", onSignOut: () => t.signOut().catch(() => {
|
|
199
200
|
}) }) : /* @__PURE__ */ o(
|
|
200
201
|
ke,
|
|
201
202
|
{
|
|
@@ -206,7 +207,7 @@ function se({ block: r, ctx: e }) {
|
|
|
206
207
|
}
|
|
207
208
|
);
|
|
208
209
|
}
|
|
209
|
-
function
|
|
210
|
+
function xe({ email: r, onSignOut: e }) {
|
|
210
211
|
return /* @__PURE__ */ u("div", { class: "flex items-center justify-between gap-3 rounded-2xl border border-gray-200 bg-gray-50/60 px-4 py-3", children: [
|
|
211
212
|
/* @__PURE__ */ u("div", { class: "flex flex-col", children: [
|
|
212
213
|
/* @__PURE__ */ o("span", { class: "text-[10px] font-semibold uppercase tracking-wider text-gray-500", children: "Signed in" }),
|
|
@@ -224,36 +225,36 @@ function be({ email: r, onSignOut: e }) {
|
|
|
224
225
|
] });
|
|
225
226
|
}
|
|
226
227
|
function ke({ block: r, allowSignup: e, allowReset: t, ctx: n }) {
|
|
227
|
-
const i = n.auth, s = r.providers ?? [], [l, a] =
|
|
228
|
-
if (
|
|
229
|
-
_("email"),
|
|
228
|
+
const i = n.auth, s = r.providers ?? [], [l, a] = y("signin"), [h, c] = y(""), [m, b] = y(""), [A, f] = y(""), [g, _] = y(null), [v, x] = y(null), [S, w] = y(null), E = async (I) => {
|
|
229
|
+
if (I.preventDefault(), !g) {
|
|
230
|
+
_("email"), x(null), w(null);
|
|
230
231
|
try {
|
|
231
|
-
l === "signin" ? await i.signInWithEmail({ email:
|
|
232
|
-
email:
|
|
233
|
-
token:
|
|
234
|
-
type:
|
|
235
|
-
}),
|
|
236
|
-
} catch (
|
|
237
|
-
const
|
|
238
|
-
|
|
232
|
+
l === "signin" ? await i.signInWithEmail({ email: h, password: m }) : l === "signup" ? (await i.signUp({ email: h, password: m })).kind === "confirmation_required" && (a("reset_verify"), w("Check your email for a confirmation code.")) : l === "forgot" ? (await i.requestPasswordReset({ email: h }), a("reset_sent"), w("If that email exists, a reset code has been sent.")) : l === "reset_verify" && (await i.verifyOtp({
|
|
233
|
+
email: h,
|
|
234
|
+
token: A,
|
|
235
|
+
type: m ? "recovery" : "email"
|
|
236
|
+
}), m && await i.updatePassword({ password: m }));
|
|
237
|
+
} catch (T) {
|
|
238
|
+
const C = T instanceof M ? T.message : "Something went wrong";
|
|
239
|
+
x(C);
|
|
239
240
|
} finally {
|
|
240
241
|
_(null);
|
|
241
242
|
}
|
|
242
243
|
}
|
|
243
|
-
},
|
|
244
|
-
if (!
|
|
245
|
-
_(
|
|
244
|
+
}, P = async (I) => {
|
|
245
|
+
if (!g) {
|
|
246
|
+
_(I), x(null), w(null);
|
|
246
247
|
try {
|
|
247
248
|
await i.signInWithOAuth({
|
|
248
|
-
provider:
|
|
249
|
+
provider: I,
|
|
249
250
|
onPopupOpened: () => _(null)
|
|
250
251
|
});
|
|
251
|
-
} catch (
|
|
252
|
-
if (
|
|
253
|
-
if (
|
|
254
|
-
|
|
252
|
+
} catch (T) {
|
|
253
|
+
if (T instanceof M) {
|
|
254
|
+
if (T.code === "oauth_cancelled" || T.code === "oauth_timeout") return;
|
|
255
|
+
x(T.message);
|
|
255
256
|
} else
|
|
256
|
-
|
|
257
|
+
x("Sign-in failed");
|
|
257
258
|
} finally {
|
|
258
259
|
_(null);
|
|
259
260
|
}
|
|
@@ -262,30 +263,30 @@ function ke({ block: r, allowSignup: e, allowReset: t, ctx: n }) {
|
|
|
262
263
|
return /* @__PURE__ */ u("div", { class: "flex flex-col gap-3", children: [
|
|
263
264
|
r.heading ? /* @__PURE__ */ o("h2", { class: "text-lg font-semibold tracking-tight text-gray-900", children: r.heading }) : null,
|
|
264
265
|
s.length > 0 && (l === "signin" || l === "signup") ? /* @__PURE__ */ u("div", { class: "flex flex-col gap-2", children: [
|
|
265
|
-
s.map((
|
|
266
|
+
s.map((I) => /* @__PURE__ */ u(
|
|
266
267
|
"button",
|
|
267
268
|
{
|
|
268
269
|
type: "button",
|
|
269
|
-
onClick: () =>
|
|
270
|
-
disabled:
|
|
270
|
+
onClick: () => P(I),
|
|
271
|
+
disabled: g !== null,
|
|
271
272
|
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)]",
|
|
272
273
|
children: [
|
|
273
|
-
|
|
274
|
-
/* @__PURE__ */ o("span", { children:
|
|
274
|
+
g === I ? /* @__PURE__ */ o("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-700" }) : /* @__PURE__ */ o(_e, { provider: I }),
|
|
275
|
+
/* @__PURE__ */ o("span", { children: be[I] })
|
|
275
276
|
]
|
|
276
277
|
},
|
|
277
|
-
|
|
278
|
+
I
|
|
278
279
|
)),
|
|
279
280
|
/* @__PURE__ */ o(ve, {})
|
|
280
281
|
] }) : null,
|
|
281
|
-
/* @__PURE__ */ u("form", { onSubmit:
|
|
282
|
+
/* @__PURE__ */ u("form", { onSubmit: E, class: "flex flex-col gap-2", children: [
|
|
282
283
|
(l === "signin" || l === "signup" || l === "forgot") && /* @__PURE__ */ o(
|
|
283
284
|
j,
|
|
284
285
|
{
|
|
285
286
|
type: "email",
|
|
286
287
|
label: "Email",
|
|
287
|
-
value:
|
|
288
|
-
onInput:
|
|
288
|
+
value: h,
|
|
289
|
+
onInput: c,
|
|
289
290
|
autocomplete: "email",
|
|
290
291
|
required: !0
|
|
291
292
|
}
|
|
@@ -295,7 +296,7 @@ function ke({ block: r, allowSignup: e, allowReset: t, ctx: n }) {
|
|
|
295
296
|
{
|
|
296
297
|
type: "password",
|
|
297
298
|
label: "Password",
|
|
298
|
-
value:
|
|
299
|
+
value: m,
|
|
299
300
|
onInput: b,
|
|
300
301
|
autocomplete: l === "signin" ? "current-password" : "new-password",
|
|
301
302
|
required: !0
|
|
@@ -307,8 +308,8 @@ function ke({ block: r, allowSignup: e, allowReset: t, ctx: n }) {
|
|
|
307
308
|
{
|
|
308
309
|
type: "text",
|
|
309
310
|
label: "Confirmation code",
|
|
310
|
-
value:
|
|
311
|
-
onInput:
|
|
311
|
+
value: A,
|
|
312
|
+
onInput: f,
|
|
312
313
|
autocomplete: "one-time-code",
|
|
313
314
|
inputMode: "numeric",
|
|
314
315
|
required: !0
|
|
@@ -319,35 +320,35 @@ function ke({ block: r, allowSignup: e, allowReset: t, ctx: n }) {
|
|
|
319
320
|
{
|
|
320
321
|
type: "password",
|
|
321
322
|
label: "New password (optional — only for password reset)",
|
|
322
|
-
value:
|
|
323
|
+
value: m,
|
|
323
324
|
onInput: b,
|
|
324
325
|
autocomplete: "new-password"
|
|
325
326
|
}
|
|
326
327
|
)
|
|
327
328
|
] }),
|
|
328
329
|
l === "reset_sent" && S && /* @__PURE__ */ o("p", { class: "rounded-lg bg-gray-50 px-3 py-2 text-xs text-gray-600", children: S }),
|
|
329
|
-
|
|
330
|
+
v && /* @__PURE__ */ o("p", { class: "text-xs text-red-600", children: v }),
|
|
330
331
|
S && l !== "reset_sent" && /* @__PURE__ */ o("p", { class: "text-xs text-gray-500", children: S }),
|
|
331
332
|
l !== "reset_sent" && /* @__PURE__ */ o(
|
|
332
333
|
"button",
|
|
333
334
|
{
|
|
334
335
|
type: "submit",
|
|
335
|
-
disabled:
|
|
336
|
+
disabled: g !== null,
|
|
336
337
|
class: "flex h-11 w-full items-center justify-center rounded-xl px-4 text-sm font-semibold tracking-tight text-white transition-all hover:-translate-y-px hover:brightness-105 disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:translate-y-0 disabled:hover:brightness-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
337
338
|
style: {
|
|
338
339
|
background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
|
|
339
340
|
boxShadow: "0 1px 2px rgba(15,23,42,0.08), 0 6px 14px -4px color-mix(in srgb, var(--pw-accent) 50%, transparent)"
|
|
340
341
|
},
|
|
341
|
-
children:
|
|
342
|
+
children: g === "email" ? /* @__PURE__ */ o("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : we(l)
|
|
342
343
|
}
|
|
343
344
|
)
|
|
344
345
|
] }),
|
|
345
346
|
/* @__PURE__ */ u("div", { class: "flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-xs text-gray-500", children: [
|
|
346
|
-
l === "signin" && e && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a,
|
|
347
|
-
l === "signup" && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a,
|
|
348
|
-
l === "signin" && t && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a,
|
|
349
|
-
(l === "forgot" || l === "reset_sent" || l === "reset_verify") && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a,
|
|
350
|
-
l === "reset_sent" && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a,
|
|
347
|
+
l === "signin" && e && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, x, w, "signup"), class: "font-medium text-gray-700 hover:underline", children: "Create account" }),
|
|
348
|
+
l === "signup" && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, x, w, "signin"), class: "font-medium text-gray-700 hover:underline", children: "I already have an account" }),
|
|
349
|
+
l === "signin" && t && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, x, w, "forgot"), class: "hover:underline", children: "Forgot password?" }),
|
|
350
|
+
(l === "forgot" || l === "reset_sent" || l === "reset_verify") && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, x, w, "signin"), class: "hover:underline", children: "Back to sign in" }),
|
|
351
|
+
l === "reset_sent" && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, x, w, "reset_verify"), class: "font-medium text-gray-700 hover:underline", children: "I have a code" })
|
|
351
352
|
] })
|
|
352
353
|
] });
|
|
353
354
|
}
|
|
@@ -437,27 +438,27 @@ function Ce({
|
|
|
437
438
|
heading: n = "Continue as guest",
|
|
438
439
|
description: i = "Setting up your guest session…"
|
|
439
440
|
}) {
|
|
440
|
-
const [s, l] =
|
|
441
|
-
|
|
441
|
+
const [s, l] = y({ kind: "signing-in" }), a = L(!0);
|
|
442
|
+
B(() => () => {
|
|
442
443
|
a.current = !1;
|
|
443
444
|
}, []);
|
|
444
|
-
const
|
|
445
|
+
const h = () => {
|
|
445
446
|
l({ kind: "signing-in" }), (async () => {
|
|
446
447
|
try {
|
|
447
|
-
const
|
|
448
|
+
const c = await r.signInAnonymously();
|
|
448
449
|
if (!a.current) return;
|
|
449
|
-
e(
|
|
450
|
-
} catch (
|
|
450
|
+
e(c);
|
|
451
|
+
} catch (c) {
|
|
451
452
|
if (!a.current) return;
|
|
452
453
|
l({
|
|
453
454
|
kind: "error",
|
|
454
|
-
message:
|
|
455
|
+
message: c instanceof Error ? c.message : "Anonymous sign-in failed"
|
|
455
456
|
});
|
|
456
457
|
}
|
|
457
458
|
})();
|
|
458
459
|
};
|
|
459
|
-
return
|
|
460
|
-
|
|
460
|
+
return B(() => {
|
|
461
|
+
h();
|
|
461
462
|
}, []), /* @__PURE__ */ u("div", { class: "flex flex-col gap-3", children: [
|
|
462
463
|
t ? /* @__PURE__ */ o(
|
|
463
464
|
"button",
|
|
@@ -479,7 +480,7 @@ function Ce({
|
|
|
479
480
|
"button",
|
|
480
481
|
{
|
|
481
482
|
type: "button",
|
|
482
|
-
onClick:
|
|
483
|
+
onClick: h,
|
|
483
484
|
class: "self-start rounded-md bg-[var(--pw-accent)] px-3 py-1.5 text-sm font-medium text-white hover:opacity-90 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)] focus-visible:ring-offset-2",
|
|
484
485
|
children: "Try again"
|
|
485
486
|
}
|
|
@@ -495,34 +496,34 @@ function Ie() {
|
|
|
495
496
|
}
|
|
496
497
|
const D = 3, F = 200, V = 5e3, $ = 5, Ae = 10 * 1024 * 1024, X = ["image/jpeg", "image/png", "image/webp"], Y = /.+@.+\..+/;
|
|
497
498
|
function Te({ client: r, authSession: e, origin: t, onBack: n }) {
|
|
498
|
-
const i = e?.user.email ?? "", s = i || null, [l, a] =
|
|
499
|
-
const
|
|
500
|
-
return Y.test(
|
|
501
|
-
}, [s, l,
|
|
502
|
-
const
|
|
503
|
-
return
|
|
504
|
-
},
|
|
505
|
-
if (
|
|
506
|
-
_(!0), w((
|
|
499
|
+
const i = e?.user.email ?? "", s = i || null, [l, a] = y(i), [h, c] = y(""), [m, b] = y(""), [A, f] = y([]), [g, _] = y(!1), [v, x] = y(null), [S, w] = y({}), E = ie(() => {
|
|
500
|
+
const C = (s ?? l).trim().toLowerCase(), d = h.trim(), p = m.trim();
|
|
501
|
+
return Y.test(C) && d.length >= D && d.length <= F && p.length >= 1 && p.length <= V;
|
|
502
|
+
}, [s, l, h, m]), P = () => {
|
|
503
|
+
const C = {}, d = (s ?? l).trim(), p = h.trim(), k = m.trim();
|
|
504
|
+
return d ? Y.test(d.toLowerCase()) || (C.email = "Invalid email") : C.email = "Required", (p.length < D || p.length > F) && (C.subject = `${D}–${F} characters`), (k.length < 1 || k.length > V) && (C.message = `1–${V} characters`), w(C), Object.keys(C).length === 0;
|
|
505
|
+
}, I = async (C) => {
|
|
506
|
+
if (C.preventDefault(), !g && P()) {
|
|
507
|
+
_(!0), w((d) => ({ ...d, submit: void 0 }));
|
|
507
508
|
try {
|
|
508
|
-
const
|
|
509
|
+
const d = (s ?? l).trim();
|
|
509
510
|
await r.createSupportTicket({
|
|
510
|
-
subject:
|
|
511
|
-
content:
|
|
512
|
-
email:
|
|
513
|
-
files:
|
|
514
|
-
}),
|
|
515
|
-
} catch (
|
|
516
|
-
const
|
|
517
|
-
w((
|
|
511
|
+
subject: h.trim(),
|
|
512
|
+
content: m.trim(),
|
|
513
|
+
email: d || void 0,
|
|
514
|
+
files: A.length > 0 ? A : void 0
|
|
515
|
+
}), x(d);
|
|
516
|
+
} catch (d) {
|
|
517
|
+
const p = d instanceof M && d.message || "Failed to send. Please try again.";
|
|
518
|
+
w((k) => ({ ...k, submit: p }));
|
|
518
519
|
} finally {
|
|
519
520
|
_(!1);
|
|
520
521
|
}
|
|
521
522
|
}
|
|
522
|
-
},
|
|
523
|
-
|
|
523
|
+
}, T = () => {
|
|
524
|
+
c(""), b(""), f([]), w({}), x(null);
|
|
524
525
|
};
|
|
525
|
-
return
|
|
526
|
+
return v ? /* @__PURE__ */ u("div", { class: "flex flex-col items-center gap-4 py-2 text-center", children: [
|
|
526
527
|
/* @__PURE__ */ o(
|
|
527
528
|
"div",
|
|
528
529
|
{
|
|
@@ -546,7 +547,7 @@ function Te({ client: r, authSession: e, origin: t, onBack: n }) {
|
|
|
546
547
|
/* @__PURE__ */ u("div", { class: "max-w-[320px] text-sm leading-relaxed text-gray-500", children: [
|
|
547
548
|
"We've received your message and will respond to",
|
|
548
549
|
" ",
|
|
549
|
-
/* @__PURE__ */ o("b", { class: "text-gray-700", children:
|
|
550
|
+
/* @__PURE__ */ o("b", { class: "text-gray-700", children: v }),
|
|
550
551
|
"."
|
|
551
552
|
] }),
|
|
552
553
|
/* @__PURE__ */ u("div", { class: "mt-2 flex items-center justify-center gap-3", children: [
|
|
@@ -563,7 +564,7 @@ function Te({ client: r, authSession: e, origin: t, onBack: n }) {
|
|
|
563
564
|
"button",
|
|
564
565
|
{
|
|
565
566
|
type: "button",
|
|
566
|
-
onClick:
|
|
567
|
+
onClick: T,
|
|
567
568
|
class: "flex h-10 items-center justify-center rounded-xl px-4 text-sm font-semibold text-white transition-all hover:-translate-y-px hover:brightness-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
568
569
|
style: {
|
|
569
570
|
background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
|
|
@@ -588,7 +589,7 @@ function Te({ client: r, authSession: e, origin: t, onBack: n }) {
|
|
|
588
589
|
) }),
|
|
589
590
|
/* @__PURE__ */ o("h2", { class: "text-lg font-semibold tracking-tight text-gray-900", children: "Contact Support" }),
|
|
590
591
|
/* @__PURE__ */ o("p", { class: "text-xs leading-relaxed text-gray-500", children: "Fill out the form below and we'll get back to you." }),
|
|
591
|
-
/* @__PURE__ */ u("form", { onSubmit:
|
|
592
|
+
/* @__PURE__ */ u("form", { onSubmit: I, class: "flex flex-col gap-3", children: [
|
|
592
593
|
s ? /* @__PURE__ */ u("div", { class: "rounded-xl border border-gray-200 bg-gray-50/60 px-3 py-2 text-xs text-gray-500", children: [
|
|
593
594
|
"Sending as ",
|
|
594
595
|
/* @__PURE__ */ o("b", { class: "font-medium text-gray-700", children: s })
|
|
@@ -609,8 +610,8 @@ function Te({ client: r, authSession: e, origin: t, onBack: n }) {
|
|
|
609
610
|
{
|
|
610
611
|
type: "text",
|
|
611
612
|
label: "Subject",
|
|
612
|
-
value:
|
|
613
|
-
onInput:
|
|
613
|
+
value: h,
|
|
614
|
+
onInput: c,
|
|
614
615
|
error: S.subject,
|
|
615
616
|
required: !0
|
|
616
617
|
}
|
|
@@ -619,13 +620,13 @@ function Te({ client: r, authSession: e, origin: t, onBack: n }) {
|
|
|
619
620
|
Me,
|
|
620
621
|
{
|
|
621
622
|
label: "Message",
|
|
622
|
-
value:
|
|
623
|
+
value: m,
|
|
623
624
|
onInput: b,
|
|
624
625
|
error: S.message,
|
|
625
626
|
required: !0
|
|
626
627
|
}
|
|
627
628
|
),
|
|
628
|
-
/* @__PURE__ */ o(
|
|
629
|
+
/* @__PURE__ */ o(Be, { files: A, onChange: f, disabled: g }),
|
|
629
630
|
S.submit && /* @__PURE__ */ o("p", { class: "text-xs text-red-600", children: S.submit }),
|
|
630
631
|
/* @__PURE__ */ u("div", { class: "mt-1 flex items-center justify-end gap-2", children: [
|
|
631
632
|
/* @__PURE__ */ o(
|
|
@@ -633,7 +634,7 @@ function Te({ client: r, authSession: e, origin: t, onBack: n }) {
|
|
|
633
634
|
{
|
|
634
635
|
type: "button",
|
|
635
636
|
onClick: n,
|
|
636
|
-
disabled:
|
|
637
|
+
disabled: g,
|
|
637
638
|
class: "rounded-xl px-3 py-2 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-60 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)]",
|
|
638
639
|
children: t === "standalone" ? "Close" : "Back"
|
|
639
640
|
}
|
|
@@ -642,13 +643,13 @@ function Te({ client: r, authSession: e, origin: t, onBack: n }) {
|
|
|
642
643
|
"button",
|
|
643
644
|
{
|
|
644
645
|
type: "submit",
|
|
645
|
-
disabled: !
|
|
646
|
+
disabled: !E || g,
|
|
646
647
|
class: "flex h-10 items-center justify-center rounded-xl px-4 text-sm font-semibold text-white transition-all hover:-translate-y-px hover:brightness-105 disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:translate-y-0 disabled:hover:brightness-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
647
648
|
style: {
|
|
648
649
|
background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
|
|
649
650
|
boxShadow: "0 1px 2px rgba(15,23,42,0.08), 0 6px 14px -4px color-mix(in srgb, var(--pw-accent) 50%, transparent)"
|
|
650
651
|
},
|
|
651
|
-
children:
|
|
652
|
+
children: g ? /* @__PURE__ */ o("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : "Send"
|
|
652
653
|
}
|
|
653
654
|
)
|
|
654
655
|
] })
|
|
@@ -688,19 +689,19 @@ function Me({ label: r, value: e, onInput: t, error: n, required: i }) {
|
|
|
688
689
|
n && /* @__PURE__ */ o("span", { class: "text-xs text-red-600", children: n })
|
|
689
690
|
] });
|
|
690
691
|
}
|
|
691
|
-
function
|
|
692
|
-
const n =
|
|
693
|
-
if (!
|
|
692
|
+
function Be({ files: r, onChange: e, disabled: t }) {
|
|
693
|
+
const n = L(null), [i, s] = y(!1), [l, a] = y(null), h = (c) => {
|
|
694
|
+
if (!c || t) return;
|
|
694
695
|
a(null);
|
|
695
|
-
const
|
|
696
|
-
if (r.length +
|
|
696
|
+
const m = Array.from(c);
|
|
697
|
+
if (r.length + m.length > $) {
|
|
697
698
|
a(`Up to ${$} files`);
|
|
698
699
|
return;
|
|
699
700
|
}
|
|
700
|
-
const b =
|
|
701
|
-
(
|
|
701
|
+
const b = m.filter(
|
|
702
|
+
(A) => X.includes(A.type) && A.size <= Ae
|
|
702
703
|
);
|
|
703
|
-
if (b.length !==
|
|
704
|
+
if (b.length !== m.length) {
|
|
704
705
|
a("Only JPEG/PNG/WebP, ≤ 10MB each");
|
|
705
706
|
return;
|
|
706
707
|
}
|
|
@@ -715,12 +716,12 @@ function Ee({ files: r, onChange: e, disabled: t }) {
|
|
|
715
716
|
tabIndex: 0,
|
|
716
717
|
"aria-label": "Attachments upload",
|
|
717
718
|
onClick: () => !t && n.current?.click(),
|
|
718
|
-
onDragOver: (
|
|
719
|
-
|
|
719
|
+
onDragOver: (c) => {
|
|
720
|
+
c.preventDefault(), t || s(!0);
|
|
720
721
|
},
|
|
721
722
|
onDragLeave: () => s(!1),
|
|
722
|
-
onDrop: (
|
|
723
|
-
|
|
723
|
+
onDrop: (c) => {
|
|
724
|
+
c.preventDefault(), s(!1), h(c.dataTransfer?.files ?? null);
|
|
724
725
|
},
|
|
725
726
|
class: `mt-1.5 cursor-pointer rounded-2xl border border-dashed p-3.5 text-center transition-all ${i ? "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"} ${t ? "cursor-not-allowed opacity-60" : ""}`,
|
|
726
727
|
children: [
|
|
@@ -741,40 +742,40 @@ function Ee({ files: r, onChange: e, disabled: t }) {
|
|
|
741
742
|
multiple: !0,
|
|
742
743
|
accept: X.join(","),
|
|
743
744
|
class: "hidden",
|
|
744
|
-
onChange: (
|
|
745
|
-
c
|
|
745
|
+
onChange: (c) => {
|
|
746
|
+
h(c.target.files), c.currentTarget.value = "";
|
|
746
747
|
}
|
|
747
748
|
}
|
|
748
749
|
),
|
|
749
750
|
l && /* @__PURE__ */ o("p", { class: "mt-1 text-xs text-red-600", children: l }),
|
|
750
|
-
r.length > 0 && /* @__PURE__ */ o("ul", { class: "mt-2 flex flex-col gap-1", children: r.map((
|
|
751
|
+
r.length > 0 && /* @__PURE__ */ o("ul", { class: "mt-2 flex flex-col gap-1", children: r.map((c, m) => /* @__PURE__ */ u(
|
|
751
752
|
"li",
|
|
752
753
|
{
|
|
753
754
|
class: "flex items-center justify-between gap-2 rounded bg-gray-50 px-2 py-1 text-xs",
|
|
754
755
|
children: [
|
|
755
|
-
/* @__PURE__ */ o("span", { class: "truncate text-gray-700", children:
|
|
756
|
+
/* @__PURE__ */ o("span", { class: "truncate text-gray-700", children: c.name }),
|
|
756
757
|
/* @__PURE__ */ o(
|
|
757
758
|
"button",
|
|
758
759
|
{
|
|
759
760
|
type: "button",
|
|
760
761
|
onClick: () => {
|
|
761
762
|
const b = [...r];
|
|
762
|
-
b.splice(
|
|
763
|
+
b.splice(m, 1), e(b);
|
|
763
764
|
},
|
|
764
765
|
disabled: t,
|
|
765
766
|
class: "text-gray-500 hover:text-red-600 disabled:cursor-not-allowed disabled:opacity-60",
|
|
766
|
-
"aria-label": `Remove ${
|
|
767
|
+
"aria-label": `Remove ${c.name}`,
|
|
767
768
|
children: "✕"
|
|
768
769
|
}
|
|
769
770
|
)
|
|
770
771
|
]
|
|
771
772
|
},
|
|
772
|
-
`${
|
|
773
|
+
`${c.name}-${c.size}-${m}`
|
|
773
774
|
)) })
|
|
774
775
|
] });
|
|
775
776
|
}
|
|
776
|
-
function
|
|
777
|
-
const [t, n] =
|
|
777
|
+
function Ee({ block: r, ctx: e }) {
|
|
778
|
+
const [t, n] = y(!1), i = r.priceId ?? e.selectedPriceId, s = t || r.action === "checkout" && !i;
|
|
778
779
|
return /* @__PURE__ */ o(
|
|
779
780
|
"button",
|
|
780
781
|
{
|
|
@@ -800,7 +801,7 @@ function Be({ block: r, ctx: e }) {
|
|
|
800
801
|
);
|
|
801
802
|
}
|
|
802
803
|
function Pe({ ctx: r }) {
|
|
803
|
-
const e = r.authSession, t = r.auth, [n, i] =
|
|
804
|
+
const e = r.authSession, t = r.auth, [n, i] = y(!1), s = () => r.onAction("support");
|
|
804
805
|
if (e && !e.user.is_anonymous) {
|
|
805
806
|
const l = async () => {
|
|
806
807
|
if (!(!t || n)) {
|
|
@@ -897,11 +898,11 @@ function je(r, e) {
|
|
|
897
898
|
n -= 1, r.style.fontSize = `${n}px`;
|
|
898
899
|
}
|
|
899
900
|
function qe({ block: r, ctx: e }) {
|
|
900
|
-
const t = r.level ?? 1, n = `h${t}`, i = t === 1 ? "text-[1.625rem] font-semibold leading-tight text-gray-900 tracking-[-0.02em]" : t === 2 ? "text-xl font-semibold leading-snug text-gray-900 tracking-tight" : "text-base font-medium text-gray-900", s =
|
|
901
|
-
return
|
|
901
|
+
const t = r.level ?? 1, n = `h${t}`, i = t === 1 ? "text-[1.625rem] font-semibold leading-tight text-gray-900 tracking-[-0.02em]" : t === 2 ? "text-xl font-semibold leading-snug text-gray-900 tracking-tight" : "text-base font-medium text-gray-900", s = L(null), l = t === 1 && !!e.bootstrap.settings.title_auto_fit;
|
|
902
|
+
return B(() => {
|
|
902
903
|
if (!l || !s.current) return;
|
|
903
|
-
const a = getComputedStyle(s.current),
|
|
904
|
-
je(s.current,
|
|
904
|
+
const a = getComputedStyle(s.current), h = parseFloat(a.lineHeight) || le * 1.5;
|
|
905
|
+
je(s.current, h);
|
|
905
906
|
}, [l, r.text]), /* @__PURE__ */ o(n, { ref: s, class: i, children: r.text });
|
|
906
907
|
}
|
|
907
908
|
function Re(r) {
|
|
@@ -934,24 +935,24 @@ function ze({ block: r, ctx: e }) {
|
|
|
934
935
|
role: "radiogroup",
|
|
935
936
|
"aria-label": "Plans",
|
|
936
937
|
children: n.map((a) => {
|
|
937
|
-
const
|
|
938
|
+
const h = e.selectedPriceId === a.id, c = r.popular_price_id === a.id;
|
|
938
939
|
return /* @__PURE__ */ u(
|
|
939
940
|
"button",
|
|
940
941
|
{
|
|
941
942
|
type: "button",
|
|
942
943
|
role: "radio",
|
|
943
|
-
"aria-checked":
|
|
944
|
+
"aria-checked": h,
|
|
944
945
|
onClick: () => {
|
|
945
946
|
e.setSelectedPriceId(a.id), e.onAction("price_selected", { priceId: a.id, price: a });
|
|
946
947
|
},
|
|
947
948
|
class: [
|
|
948
949
|
"group relative rounded-2xl border px-4 py-3.5 text-left transition-all duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
949
950
|
i ? "flex w-full flex-col items-start gap-1" : "flex w-full items-center justify-between gap-3",
|
|
950
|
-
|
|
951
|
-
|
|
951
|
+
h ? "border-[var(--pw-accent)] bg-[color-mix(in_srgb,var(--pw-accent)_6%,white)] shadow-[0_0_0_3px_color-mix(in_srgb,var(--pw-accent)_12%,transparent)]" : "border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm",
|
|
952
|
+
c ? "mt-2.5" : ""
|
|
952
953
|
].join(" "),
|
|
953
954
|
children: [
|
|
954
|
-
|
|
955
|
+
c ? /* @__PURE__ */ o(
|
|
955
956
|
"span",
|
|
956
957
|
{
|
|
957
958
|
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",
|
|
@@ -967,10 +968,10 @@ function ze({ block: r, ctx: e }) {
|
|
|
967
968
|
{
|
|
968
969
|
class: [
|
|
969
970
|
"mt-0.5 flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-full border transition-colors",
|
|
970
|
-
|
|
971
|
+
h ? "border-[var(--pw-accent)] bg-[var(--pw-accent)]" : "border-gray-300 bg-white group-hover:border-gray-400"
|
|
971
972
|
].join(" "),
|
|
972
973
|
"aria-hidden": "true",
|
|
973
|
-
children:
|
|
974
|
+
children: h ? /* @__PURE__ */ o("span", { class: "h-1.5 w-1.5 rounded-full bg-white" }) : null
|
|
974
975
|
}
|
|
975
976
|
),
|
|
976
977
|
/* @__PURE__ */ u("div", { class: "flex flex-col", children: [
|
|
@@ -1055,14 +1056,14 @@ const Ne = {
|
|
|
1055
1056
|
heading: qe,
|
|
1056
1057
|
text: De,
|
|
1057
1058
|
price_grid: ze,
|
|
1058
|
-
cta_button:
|
|
1059
|
+
cta_button: Ee,
|
|
1059
1060
|
auth_panel: se,
|
|
1060
1061
|
current_session: Pe,
|
|
1061
1062
|
features_list: Le,
|
|
1062
1063
|
tokenization_gate: $e
|
|
1063
1064
|
};
|
|
1064
1065
|
function He({ layout: r, bootstrap: e, onAction: t, auth: n, authSession: i }) {
|
|
1065
|
-
const s = ie(() => e.prices[0]?.id ?? null, [e.prices]), [l, a] =
|
|
1066
|
+
const s = ie(() => e.prices[0]?.id ?? null, [e.prices]), [l, a] = y(s), h = {
|
|
1066
1067
|
bootstrap: e,
|
|
1067
1068
|
selectedPriceId: l,
|
|
1068
1069
|
setSelectedPriceId: a,
|
|
@@ -1070,9 +1071,9 @@ function He({ layout: r, bootstrap: e, onAction: t, auth: n, authSession: i }) {
|
|
|
1070
1071
|
auth: n,
|
|
1071
1072
|
authSession: i
|
|
1072
1073
|
};
|
|
1073
|
-
return /* @__PURE__ */ o("div", { class: "flex flex-col gap-4", children: r.blocks.map((
|
|
1074
|
-
const b = Ne[
|
|
1075
|
-
return b ? /* @__PURE__ */ o(b, { block:
|
|
1074
|
+
return /* @__PURE__ */ o("div", { class: "flex flex-col gap-4", children: r.blocks.map((c, m) => {
|
|
1075
|
+
const b = Ne[c.type];
|
|
1076
|
+
return b ? /* @__PURE__ */ o(b, { block: c, ctx: h }, m) : (typeof console < "u" && console.warn(`[paywall] unknown block type: ${c.type}`), null);
|
|
1076
1077
|
}) });
|
|
1077
1078
|
}
|
|
1078
1079
|
function Ge(r, e, t, n) {
|
|
@@ -1089,85 +1090,93 @@ function Ze({
|
|
|
1089
1090
|
initialView: i,
|
|
1090
1091
|
purchased: s,
|
|
1091
1092
|
renew: l,
|
|
1092
|
-
onState: a
|
|
1093
|
+
onState: a,
|
|
1094
|
+
inline: h
|
|
1093
1095
|
}) {
|
|
1094
|
-
const [c,
|
|
1096
|
+
const [c, m] = y({ status: "idle" }), [b, A] = y(
|
|
1095
1097
|
() => r.auth?.getCachedSession() ?? null
|
|
1096
|
-
), [f,
|
|
1097
|
-
|
|
1098
|
+
), [f, g] = y(() => i === "support" ? { kind: "support", origin: "standalone" } : i === "auth" ? { kind: "auth_gate", origin: "standalone" } : i === "anon" ? { kind: "anon_gate", origin: "standalone" } : { kind: "layout" }), _ = L(!1), v = L(null);
|
|
1099
|
+
B(() => {
|
|
1098
1100
|
if (!a) return;
|
|
1099
|
-
const d = Ge(e, c, f, s),
|
|
1100
|
-
|
|
1101
|
-
}, [e, c, f, s, a]),
|
|
1101
|
+
const d = Ge(e, c, f, s), p = v.current;
|
|
1102
|
+
p && We(p, d) || (v.current = d, a(d));
|
|
1103
|
+
}, [e, c, f, s, a]), B(() => {
|
|
1102
1104
|
if (r.auth)
|
|
1103
|
-
return r.auth.onAuthChange((d) =>
|
|
1104
|
-
}, [r.auth]),
|
|
1105
|
+
return r.auth.onAuthChange((d) => A(d));
|
|
1106
|
+
}, [r.auth]), B(() => {
|
|
1107
|
+
if (typeof r.onBootstrapChange == "function")
|
|
1108
|
+
return r.onBootstrapChange((d) => {
|
|
1109
|
+
m(
|
|
1110
|
+
(p) => p.status === "ready" ? { status: "ready", data: d } : p
|
|
1111
|
+
);
|
|
1112
|
+
});
|
|
1113
|
+
}, [r]), B(() => {
|
|
1105
1114
|
if (!e || c.status === "ready" || c.status === "loading") return;
|
|
1106
1115
|
let d = !1;
|
|
1107
|
-
return
|
|
1108
|
-
d || (
|
|
1116
|
+
return m({ status: "loading" }), r.bootstrap().then((p) => {
|
|
1117
|
+
d || (m({ status: "ready", data: p }), n("ready", p), p.user?.has_active_subscription && !l && (n("purchase_completed", {
|
|
1109
1118
|
priceId: null,
|
|
1110
1119
|
sessionId: null,
|
|
1111
1120
|
restored: !0
|
|
1112
|
-
}),
|
|
1113
|
-
}).catch((
|
|
1121
|
+
}), g({ kind: "purchase_success", restored: !0 })));
|
|
1122
|
+
}).catch((p) => {
|
|
1114
1123
|
if (d) return;
|
|
1115
|
-
const k =
|
|
1116
|
-
|
|
1124
|
+
const k = p instanceof M ? p : new M("unknown", "Failed to load paywall", { cause: p });
|
|
1125
|
+
m({ status: "error", error: k }), n("error", k);
|
|
1117
1126
|
}), () => {
|
|
1118
1127
|
d = !0;
|
|
1119
1128
|
};
|
|
1120
|
-
}, [e, r]),
|
|
1129
|
+
}, [e, r]), B(() => {
|
|
1121
1130
|
if (!e) {
|
|
1122
|
-
|
|
1131
|
+
g({ kind: "layout" }), _.current = !1;
|
|
1123
1132
|
return;
|
|
1124
1133
|
}
|
|
1125
|
-
i === "support" ?
|
|
1134
|
+
i === "support" ? g({ kind: "support", origin: "standalone" }) : i === "auth" ? g({ kind: "auth_gate", origin: "standalone" }) : i === "anon" && g({ kind: "anon_gate", origin: "standalone" });
|
|
1126
1135
|
}, [e, i]);
|
|
1127
|
-
const
|
|
1136
|
+
const x = async (d) => {
|
|
1128
1137
|
try {
|
|
1129
|
-
const
|
|
1138
|
+
const p = await r.createCheckout({
|
|
1130
1139
|
priceId: d,
|
|
1131
1140
|
ignoreActivePurchase: l === !0
|
|
1132
1141
|
});
|
|
1133
|
-
if (n("checkout_started", { priceId: d, url:
|
|
1134
|
-
const k = window.open(
|
|
1142
|
+
if (n("checkout_started", { priceId: d, url: p.url, acquiring: p.acquiring }), typeof window > "u" || !p.url) return;
|
|
1143
|
+
const k = window.open(p.url, "_blank");
|
|
1135
1144
|
if (k) {
|
|
1136
1145
|
try {
|
|
1137
1146
|
k.opener = null;
|
|
1138
1147
|
} catch {
|
|
1139
1148
|
}
|
|
1140
|
-
|
|
1149
|
+
g({ kind: "awaiting_payment", priceId: d, url: p.url });
|
|
1141
1150
|
} else
|
|
1142
|
-
|
|
1143
|
-
} catch (
|
|
1144
|
-
if (
|
|
1151
|
+
g({ kind: "popup_blocked", priceId: d, url: p.url });
|
|
1152
|
+
} catch (p) {
|
|
1153
|
+
if (p instanceof M && p.code === "already_purchased") {
|
|
1145
1154
|
try {
|
|
1146
1155
|
await r.getUser({ force: !0 });
|
|
1147
1156
|
} catch {
|
|
1148
1157
|
}
|
|
1149
|
-
n("purchase_completed", { priceId: d, sessionId: null, restored: !0 }),
|
|
1158
|
+
n("purchase_completed", { priceId: d, sessionId: null, restored: !0 }), g({ kind: "purchase_success", restored: !0 });
|
|
1150
1159
|
return;
|
|
1151
1160
|
}
|
|
1152
|
-
const k =
|
|
1153
|
-
n("error", k),
|
|
1161
|
+
const k = p instanceof M ? p : new M("checkout_failed", "Checkout failed", { cause: p });
|
|
1162
|
+
n("error", k), g({ kind: "layout" });
|
|
1154
1163
|
}
|
|
1155
|
-
},
|
|
1164
|
+
}, S = (d, p) => {
|
|
1156
1165
|
if (typeof window > "u") return;
|
|
1157
|
-
const k = window.open(
|
|
1166
|
+
const k = window.open(p, "_blank");
|
|
1158
1167
|
if (k) {
|
|
1159
1168
|
try {
|
|
1160
1169
|
k.opener = null;
|
|
1161
1170
|
} catch {
|
|
1162
1171
|
}
|
|
1163
|
-
|
|
1172
|
+
g({ kind: "awaiting_payment", priceId: d, url: p });
|
|
1164
1173
|
}
|
|
1165
1174
|
};
|
|
1166
|
-
|
|
1167
|
-
if (f.kind !== "auth_gate" || !
|
|
1168
|
-
|
|
1169
|
-
const d = f.pendingCheckout,
|
|
1170
|
-
|
|
1175
|
+
B(() => {
|
|
1176
|
+
if (f.kind !== "auth_gate" || !b || b.user.is_anonymous || _.current) return;
|
|
1177
|
+
_.current = !0;
|
|
1178
|
+
const d = f.pendingCheckout, p = f.origin;
|
|
1179
|
+
g({ kind: "verifying" }), (async () => {
|
|
1171
1180
|
if (!l)
|
|
1172
1181
|
try {
|
|
1173
1182
|
if ((await r.getUser({ force: !0 })).has_active_subscription) {
|
|
@@ -1175,51 +1184,51 @@ function Ze({
|
|
|
1175
1184
|
priceId: d?.priceId ?? null,
|
|
1176
1185
|
sessionId: null,
|
|
1177
1186
|
restored: !0
|
|
1178
|
-
}),
|
|
1187
|
+
}), g({ kind: "purchase_success", restored: !0 });
|
|
1179
1188
|
return;
|
|
1180
1189
|
}
|
|
1181
1190
|
} catch {
|
|
1182
1191
|
}
|
|
1183
1192
|
if (!d) {
|
|
1184
|
-
|
|
1193
|
+
p === "standalone" ? t() : g({ kind: "layout" });
|
|
1185
1194
|
return;
|
|
1186
1195
|
}
|
|
1187
|
-
await
|
|
1196
|
+
await x(d.priceId);
|
|
1188
1197
|
})().finally(() => {
|
|
1189
|
-
|
|
1198
|
+
_.current = !1;
|
|
1190
1199
|
});
|
|
1191
|
-
}, [
|
|
1192
|
-
const
|
|
1200
|
+
}, [b, f]);
|
|
1201
|
+
const w = async (d, p) => {
|
|
1193
1202
|
if (d === "close") {
|
|
1194
1203
|
t();
|
|
1195
1204
|
return;
|
|
1196
1205
|
}
|
|
1197
1206
|
if (d === "price_selected") {
|
|
1198
|
-
n("price_selected",
|
|
1207
|
+
n("price_selected", p);
|
|
1199
1208
|
return;
|
|
1200
1209
|
}
|
|
1201
1210
|
if (d === "restore") {
|
|
1202
1211
|
if (!r.auth || r.auth.getCachedSession()) return;
|
|
1203
|
-
|
|
1212
|
+
g({ kind: "auth_gate" });
|
|
1204
1213
|
return;
|
|
1205
1214
|
}
|
|
1206
1215
|
if (d === "support") {
|
|
1207
|
-
|
|
1216
|
+
g({ kind: "support", origin: "layout" });
|
|
1208
1217
|
return;
|
|
1209
1218
|
}
|
|
1210
1219
|
if (d === "checkout" && c.status === "ready") {
|
|
1211
|
-
const k =
|
|
1220
|
+
const k = p?.priceId;
|
|
1212
1221
|
if (!k) {
|
|
1213
|
-
n("error", new
|
|
1222
|
+
n("error", new M("no_price", "No price selected"));
|
|
1214
1223
|
return;
|
|
1215
1224
|
}
|
|
1216
1225
|
if ((c.data.settings.checkout_mode ?? "guest") === "preauth" && !!r.auth && !r.auth.getCachedSession()) {
|
|
1217
|
-
|
|
1226
|
+
g({ kind: "auth_gate", pendingCheckout: { priceId: k } });
|
|
1218
1227
|
return;
|
|
1219
1228
|
}
|
|
1220
|
-
await
|
|
1229
|
+
await x(k);
|
|
1221
1230
|
}
|
|
1222
|
-
},
|
|
1231
|
+
}, E = c.status === "ready" ? c.data.settings.brand_color : null, P = c.status === "ready" ? !!c.data.settings.is_test_mode : !1, I = c.status === "ready" ? c.data.settings.allow_close !== !1 : !0, T = {
|
|
1223
1232
|
type: "auth_panel",
|
|
1224
1233
|
heading: "Sign in to continue",
|
|
1225
1234
|
allow_signup: !0,
|
|
@@ -1228,14 +1237,14 @@ function Ze({
|
|
|
1228
1237
|
// чем хотим показывать "Signed in as ..." промежуточным экраном.
|
|
1229
1238
|
hide_when_authenticated: !1,
|
|
1230
1239
|
providers: c.status === "ready" ? c.data.settings.auth_providers : void 0
|
|
1231
|
-
},
|
|
1240
|
+
}, C = f.kind === "support" ? /* @__PURE__ */ o(
|
|
1232
1241
|
Te,
|
|
1233
1242
|
{
|
|
1234
1243
|
client: r,
|
|
1235
|
-
authSession:
|
|
1244
|
+
authSession: b,
|
|
1236
1245
|
origin: f.origin,
|
|
1237
1246
|
onBack: () => {
|
|
1238
|
-
f.origin === "standalone" ? t() :
|
|
1247
|
+
f.origin === "standalone" ? t() : g({ kind: "layout" });
|
|
1239
1248
|
}
|
|
1240
1249
|
}
|
|
1241
1250
|
) : null;
|
|
@@ -1244,11 +1253,12 @@ function Ze({
|
|
|
1244
1253
|
{
|
|
1245
1254
|
open: e,
|
|
1246
1255
|
onClose: t,
|
|
1247
|
-
brandColor:
|
|
1256
|
+
brandColor: E,
|
|
1248
1257
|
testMode: P,
|
|
1249
|
-
allowClose:
|
|
1258
|
+
allowClose: I,
|
|
1259
|
+
inline: h,
|
|
1250
1260
|
labelledBy: "pw-title",
|
|
1251
|
-
children: s ? /* @__PURE__ */ o(te, { onContinue: t }) : f.kind === "purchase_success" ? /* @__PURE__ */ o(te, { restored: f.restored, onContinue: t }) :
|
|
1261
|
+
children: s ? /* @__PURE__ */ o(te, { onContinue: t }) : f.kind === "purchase_success" ? /* @__PURE__ */ o(te, { restored: f.restored, onContinue: t }) : C || (c.status === "loading" || c.status === "idle" || f.kind === "verifying" ? /* @__PURE__ */ u("div", { class: "flex flex-col items-center justify-center gap-3 py-12", children: [
|
|
1252
1262
|
/* @__PURE__ */ o("span", { class: "inline-block h-7 w-7 animate-spin rounded-full border-[2.5px] border-gray-200 border-t-[var(--pw-accent)]" }),
|
|
1253
1263
|
/* @__PURE__ */ o("span", { class: "text-xs font-medium tracking-wide text-gray-500", children: f.kind === "verifying" ? "Checking your subscription…" : "Loading…" })
|
|
1254
1264
|
] }) : c.status === "error" ? /* @__PURE__ */ u("div", { class: "flex flex-col items-center gap-2 py-8 text-center", children: [
|
|
@@ -1269,13 +1279,13 @@ function Ze({
|
|
|
1269
1279
|
] }) : f.kind === "auth_gate" && r.auth ? /* @__PURE__ */ o(
|
|
1270
1280
|
Se,
|
|
1271
1281
|
{
|
|
1272
|
-
block:
|
|
1282
|
+
block: T,
|
|
1273
1283
|
bootstrap: c.data,
|
|
1274
1284
|
auth: r.auth,
|
|
1275
|
-
authSession:
|
|
1285
|
+
authSession: b,
|
|
1276
1286
|
showBack: f.origin !== "standalone",
|
|
1277
1287
|
onBack: () => {
|
|
1278
|
-
f.origin === "standalone" ? t() :
|
|
1288
|
+
f.origin === "standalone" ? t() : g({ kind: "layout" });
|
|
1279
1289
|
}
|
|
1280
1290
|
}
|
|
1281
1291
|
) : f.kind === "anon_gate" && r.auth ? /* @__PURE__ */ o(
|
|
@@ -1283,15 +1293,15 @@ function Ze({
|
|
|
1283
1293
|
{
|
|
1284
1294
|
auth: r.auth,
|
|
1285
1295
|
onSuccess: () => {
|
|
1286
|
-
f.origin === "standalone" ? t() :
|
|
1296
|
+
f.origin === "standalone" ? t() : g({ kind: "layout" });
|
|
1287
1297
|
},
|
|
1288
|
-
onBack: f.origin === "standalone" ? void 0 : () =>
|
|
1298
|
+
onBack: f.origin === "standalone" ? void 0 : () => g({ kind: "layout" })
|
|
1289
1299
|
}
|
|
1290
1300
|
) : f.kind === "awaiting_payment" ? /* @__PURE__ */ o(
|
|
1291
1301
|
Xe,
|
|
1292
1302
|
{
|
|
1293
1303
|
client: r,
|
|
1294
|
-
onBack: () =>
|
|
1304
|
+
onBack: () => g({ kind: "layout" }),
|
|
1295
1305
|
onReopen: () => {
|
|
1296
1306
|
if (typeof window > "u") return;
|
|
1297
1307
|
const d = window.open(f.url, "_blank");
|
|
@@ -1301,7 +1311,7 @@ function Ze({
|
|
|
1301
1311
|
} catch {
|
|
1302
1312
|
}
|
|
1303
1313
|
},
|
|
1304
|
-
onRetry: () =>
|
|
1314
|
+
onRetry: () => x(f.priceId)
|
|
1305
1315
|
}
|
|
1306
1316
|
) : f.kind === "popup_blocked" ? /* @__PURE__ */ u("div", { class: "flex flex-col items-center gap-3 py-8 text-center", children: [
|
|
1307
1317
|
/* @__PURE__ */ o(
|
|
@@ -1330,7 +1340,7 @@ function Ze({
|
|
|
1330
1340
|
"button",
|
|
1331
1341
|
{
|
|
1332
1342
|
type: "button",
|
|
1333
|
-
onClick: () =>
|
|
1343
|
+
onClick: () => S(f.priceId, f.url),
|
|
1334
1344
|
class: "mt-1 rounded-xl px-4 py-2 text-xs font-semibold text-white transition-all hover:-translate-y-px hover:brightness-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
|
|
1335
1345
|
style: {
|
|
1336
1346
|
background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
|
|
@@ -1344,9 +1354,9 @@ function Ze({
|
|
|
1344
1354
|
{
|
|
1345
1355
|
layout: c.data.layout,
|
|
1346
1356
|
bootstrap: c.data,
|
|
1347
|
-
onAction:
|
|
1357
|
+
onAction: w,
|
|
1348
1358
|
auth: r.auth,
|
|
1349
|
-
authSession:
|
|
1359
|
+
authSession: b
|
|
1350
1360
|
}
|
|
1351
1361
|
))
|
|
1352
1362
|
}
|
|
@@ -1358,9 +1368,9 @@ function Xe({
|
|
|
1358
1368
|
onReopen: t,
|
|
1359
1369
|
onRetry: n
|
|
1360
1370
|
}) {
|
|
1361
|
-
const [i, s] =
|
|
1362
|
-
return
|
|
1363
|
-
|
|
1371
|
+
const [i, s] = y(!1), [l, a] = y(!1), h = L(null);
|
|
1372
|
+
return B(() => () => {
|
|
1373
|
+
h.current !== null && clearTimeout(h.current);
|
|
1364
1374
|
}, []), /* @__PURE__ */ u("div", { class: "flex flex-col gap-3", children: [
|
|
1365
1375
|
/* @__PURE__ */ o(
|
|
1366
1376
|
"button",
|
|
@@ -1397,8 +1407,8 @@ function Xe({
|
|
|
1397
1407
|
typeof window < "u" && window.postMessage({ type: "paywall_purchase" }, "*");
|
|
1398
1408
|
return;
|
|
1399
1409
|
}
|
|
1400
|
-
a(!0),
|
|
1401
|
-
a(!1),
|
|
1410
|
+
a(!0), h.current !== null && clearTimeout(h.current), h.current = setTimeout(() => {
|
|
1411
|
+
a(!1), h.current = null;
|
|
1402
1412
|
}, 5e3);
|
|
1403
1413
|
} catch {
|
|
1404
1414
|
a(!0);
|
|
@@ -1538,7 +1548,7 @@ class Qe {
|
|
|
1538
1548
|
function et() {
|
|
1539
1549
|
return !(typeof document > "u" || typeof window > "u" || typeof location < "u" && location.protocol === "chrome-extension:");
|
|
1540
1550
|
}
|
|
1541
|
-
const N = { open: !1, view: null, error: null },
|
|
1551
|
+
const N = { open: !1, view: null, error: null }, U = {
|
|
1542
1552
|
status: "paywall_status",
|
|
1543
1553
|
priceId: "paywall_price_id",
|
|
1544
1554
|
sessionId: "paywall_session_id"
|
|
@@ -1547,7 +1557,7 @@ let tt = class {
|
|
|
1547
1557
|
constructor(e) {
|
|
1548
1558
|
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 = N, this.stateListeners = /* @__PURE__ */ new Set();
|
|
1549
1559
|
const { auth: t, ownsAuth: n } = rt(e);
|
|
1550
|
-
this.auth = t, this.ownsAuth = n, this.billing = e.client ?? new ae({ ...e, auth: this.auth }), this.host = e.host, this.shadowMode = e.shadowMode ?? "closed", this.mountThenLoad = e.mountThenLoad ?? !0, this.userUnsub = this.billing.onUserChange((i) => {
|
|
1560
|
+
this.auth = t, this.ownsAuth = n, this.billing = e.client ?? new ae({ ...e, auth: this.auth }), this.host = e.host, this.shadowMode = e.shadowMode ?? "closed", this.mountThenLoad = e.mountThenLoad ?? !0, this.inline = e.inline === !0, this.userUnsub = this.billing.onUserChange((i) => {
|
|
1551
1561
|
this.emit("userChange", i);
|
|
1552
1562
|
}), this.auth && (this.authUnsub = this.auth.onAuthChange((i) => {
|
|
1553
1563
|
this.emit("authChange", i);
|
|
@@ -1632,6 +1642,19 @@ let tt = class {
|
|
|
1632
1642
|
onUserChange(e) {
|
|
1633
1643
|
return this.on("userChange", e);
|
|
1634
1644
|
}
|
|
1645
|
+
/**
|
|
1646
|
+
* Заменить cachedBootstrap живыми данными — для preview-режима в редакторе
|
|
1647
|
+
* админки. Если модалка открыта, PaywallRoot подписан на onBootstrapChange
|
|
1648
|
+
* и перерендерится мгновенно. До open() — затравка для bootstrap()-effect'а.
|
|
1649
|
+
*
|
|
1650
|
+
* См. {@link BillingClientOptions.preview} — обычно эту опцию ставят на
|
|
1651
|
+
* клиент, чтобы заодно отключить сетевой revalidate. setBootstrap технически
|
|
1652
|
+
* работает и в production-режиме, но конкуренция с revalidate'ом из сети
|
|
1653
|
+
* почти всегда нежелательна.
|
|
1654
|
+
*/
|
|
1655
|
+
setBootstrap(e) {
|
|
1656
|
+
this.billing.setBootstrap(e);
|
|
1657
|
+
}
|
|
1635
1658
|
on(e, t) {
|
|
1636
1659
|
let n = this.listeners.get(e);
|
|
1637
1660
|
return n || (n = /* @__PURE__ */ new Set(), this.listeners.set(e, n)), n.add(t), () => n.delete(t);
|
|
@@ -1835,9 +1858,10 @@ let tt = class {
|
|
|
1835
1858
|
onEvent: (i, s) => {
|
|
1836
1859
|
this.emit(i, s), i === "checkout_started" && this.startUserWatcher();
|
|
1837
1860
|
},
|
|
1838
|
-
onState: (i) => this.applyState(i)
|
|
1861
|
+
onState: (i) => this.applyState(i),
|
|
1862
|
+
inline: this.inline
|
|
1839
1863
|
},
|
|
1840
|
-
{ host: this.host, shadowMode: this.shadowMode }
|
|
1864
|
+
{ host: this.host, shadowMode: this.shadowMode, inline: this.inline }
|
|
1841
1865
|
), this.emit("open");
|
|
1842
1866
|
}
|
|
1843
1867
|
applyState(e) {
|
|
@@ -2075,11 +2099,11 @@ function ot(r, e) {
|
|
|
2075
2099
|
}
|
|
2076
2100
|
function re(r) {
|
|
2077
2101
|
if (!r) return null;
|
|
2078
|
-
const e = new URLSearchParams(r), t = e.get(
|
|
2102
|
+
const e = new URLSearchParams(r), t = e.get(U.status);
|
|
2079
2103
|
return t ? {
|
|
2080
2104
|
status: t,
|
|
2081
|
-
priceId: e.get(
|
|
2082
|
-
sessionId: e.get(
|
|
2105
|
+
priceId: e.get(U.priceId),
|
|
2106
|
+
sessionId: e.get(U.sessionId)
|
|
2083
2107
|
} : null;
|
|
2084
2108
|
}
|
|
2085
2109
|
function st(r) {
|
|
@@ -2101,7 +2125,7 @@ function lt(r) {
|
|
|
2101
2125
|
const e = (n, i) => {
|
|
2102
2126
|
if (!n) return "";
|
|
2103
2127
|
const s = new URLSearchParams(n.replace(/^[?#]/, ""));
|
|
2104
|
-
s.delete(
|
|
2128
|
+
s.delete(U.status), s.delete(U.priceId), s.delete(U.sessionId);
|
|
2105
2129
|
const l = s.toString();
|
|
2106
2130
|
return l ? i + l : "";
|
|
2107
2131
|
}, t = r.pathname + e(r.search, "?") + e(r.hash, "#");
|
|
@@ -2436,10 +2460,10 @@ class dt {
|
|
|
2436
2460
|
*/
|
|
2437
2461
|
async signInWithOAuth(e) {
|
|
2438
2462
|
if (typeof window > "u")
|
|
2439
|
-
throw new
|
|
2463
|
+
throw new M("oauth_unavailable", "window is required for OAuth");
|
|
2440
2464
|
const t = `pw-oauth-pending-${Math.random().toString(36).slice(2, 10)}`, n = window.open("about:blank", t, "width=480,height=640,popup=yes");
|
|
2441
2465
|
if (!n)
|
|
2442
|
-
throw new
|
|
2466
|
+
throw new M(
|
|
2443
2467
|
"popup_blocked",
|
|
2444
2468
|
"browser blocked auth popup — call from a user gesture"
|
|
2445
2469
|
);
|
|
@@ -2537,7 +2561,7 @@ class yt {
|
|
|
2537
2561
|
}), e;
|
|
2538
2562
|
}
|
|
2539
2563
|
handleMessage(e) {
|
|
2540
|
-
if (
|
|
2564
|
+
if (xt(e)) {
|
|
2541
2565
|
if (e.type === "response") {
|
|
2542
2566
|
const t = this.pending.get(e.id);
|
|
2543
2567
|
if (!t) return;
|
|
@@ -2562,7 +2586,7 @@ class yt {
|
|
|
2562
2586
|
const e = Array.from(this.pending.values());
|
|
2563
2587
|
this.pending.clear();
|
|
2564
2588
|
for (const t of e)
|
|
2565
|
-
t.signal?.removeEventListener("abort", t.abortListener), t.reject(new
|
|
2589
|
+
t.signal?.removeEventListener("abort", t.abortListener), t.reject(new bt());
|
|
2566
2590
|
}
|
|
2567
2591
|
request(e, t, n = {}) {
|
|
2568
2592
|
if (this.destroyed)
|
|
@@ -2571,12 +2595,12 @@ class yt {
|
|
|
2571
2595
|
return Promise.reject(new DOMException("Aborted", "AbortError"));
|
|
2572
2596
|
const i = this.ensureChannel(), s = `r${++this.nextId}`;
|
|
2573
2597
|
return new Promise((l, a) => {
|
|
2574
|
-
const
|
|
2598
|
+
const h = {
|
|
2575
2599
|
resolve: l,
|
|
2576
2600
|
reject: a,
|
|
2577
2601
|
signal: n.signal
|
|
2578
2602
|
};
|
|
2579
|
-
n.signal && (
|
|
2603
|
+
n.signal && (h.abortListener = () => {
|
|
2580
2604
|
if (this.pending.delete(s)) {
|
|
2581
2605
|
a(new DOMException("Aborted", "AbortError"));
|
|
2582
2606
|
try {
|
|
@@ -2584,17 +2608,17 @@ class yt {
|
|
|
2584
2608
|
} catch {
|
|
2585
2609
|
}
|
|
2586
2610
|
}
|
|
2587
|
-
}, n.signal.addEventListener("abort",
|
|
2588
|
-
const
|
|
2611
|
+
}, n.signal.addEventListener("abort", h.abortListener)), this.pending.set(s, h);
|
|
2612
|
+
const c = {
|
|
2589
2613
|
type: "request",
|
|
2590
2614
|
id: s,
|
|
2591
2615
|
kind: e,
|
|
2592
2616
|
params: t
|
|
2593
2617
|
};
|
|
2594
2618
|
try {
|
|
2595
|
-
i.send(
|
|
2596
|
-
} catch (
|
|
2597
|
-
this.pending.delete(s), n.signal?.removeEventListener("abort",
|
|
2619
|
+
i.send(c);
|
|
2620
|
+
} catch (m) {
|
|
2621
|
+
this.pending.delete(s), n.signal?.removeEventListener("abort", h.abortListener), a(m);
|
|
2598
2622
|
}
|
|
2599
2623
|
});
|
|
2600
2624
|
}
|
|
@@ -2618,12 +2642,12 @@ class yt {
|
|
|
2618
2642
|
this.channel?.close(), this.channel = null;
|
|
2619
2643
|
}
|
|
2620
2644
|
}
|
|
2621
|
-
class
|
|
2645
|
+
class bt extends Error {
|
|
2622
2646
|
constructor() {
|
|
2623
2647
|
super("Transport channel disconnected mid-request"), this.code = "transport_disconnected", this.name = "TransportDisconnectedError";
|
|
2624
2648
|
}
|
|
2625
2649
|
}
|
|
2626
|
-
function
|
|
2650
|
+
function xt(r) {
|
|
2627
2651
|
if (typeof r != "object" || r === null) return !1;
|
|
2628
2652
|
const e = r.type;
|
|
2629
2653
|
return e === "request" || e === "response" || e === "event";
|
|
@@ -2632,7 +2656,7 @@ let q = null;
|
|
|
2632
2656
|
function kt() {
|
|
2633
2657
|
return q || (q = new yt(() => pe(fe)), q);
|
|
2634
2658
|
}
|
|
2635
|
-
class
|
|
2659
|
+
class Mt extends tt {
|
|
2636
2660
|
constructor(e) {
|
|
2637
2661
|
const t = kt(), n = new ct(t, {
|
|
2638
2662
|
paywallId: e.paywallId,
|
|
@@ -2714,7 +2738,7 @@ class Tt extends tt {
|
|
|
2714
2738
|
}
|
|
2715
2739
|
export {
|
|
2716
2740
|
R as PROTOCOL_VERSION,
|
|
2717
|
-
|
|
2741
|
+
Mt as PaywallUI,
|
|
2718
2742
|
dt as RemoteAuthClient,
|
|
2719
2743
|
ct as RemoteBillingClient,
|
|
2720
2744
|
mt as RemoteEventTracker,
|