@monetize.software/sdk-extension 3.0.0-alpha.2 → 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/content.js CHANGED
@@ -1,7 +1,7 @@
1
- import { P as T, 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";
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 B, useEffect as M, useState as x, useMemo as ie } from "preact/hooks";
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 || document.body.appendChild(n);
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 c = e;
60
- return z(G(r, c), a), {
59
+ let h = e;
60
+ return z(G(r, h), a), {
61
61
  shadowRoot: i,
62
- update(p) {
63
- c = { ...c, ...p }, z(G(r, c), a);
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
- children: l
78
+ inline: l = !1,
79
+ children: a
79
80
  }) {
80
- const a = B(null), c = B(null);
81
- return M(() => {
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 b = a.current;
85
- b && (b.querySelector(Z) ?? b).focus({ preventScroll: !0 });
86
- const f = (y) => {
87
- if (y.key === "Escape") {
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
- y.stopPropagation(), e();
90
+ v.stopPropagation(), e();
90
91
  return;
91
92
  }
92
- if (y.key !== "Tab" || !a.current) return;
93
- const _ = Array.from(
94
- a.current.querySelectorAll(Z)
95
- ).filter((w) => !w.hasAttribute("disabled") && w.tabIndex !== -1);
96
- if (_.length === 0) {
97
- y.preventDefault();
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 A = _[0], v = _[_.length - 1], S = document.activeElement;
101
- y.shiftKey && S === A ? (y.preventDefault(), v.focus()) : !y.shiftKey && S === v && (y.preventDefault(), A.focus());
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", f, !0);
104
- const m = document.body.style.overflow;
105
- return document.body.style.overflow = "hidden", () => {
106
- document.removeEventListener("keydown", f, !0), document.body.style.overflow = m, c.current?.focus?.({ preventScroll: !0 });
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: "fixed inset-0 z-[2147483647] flex items-center justify-center bg-slate-950/50 p-2 sm:p-4 backdrop-blur-md animate-[pw-fade-in_180ms_ease-out]",
112
- onClick: (b) => {
113
- s && b.target === b.currentTarget && e();
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: a,
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: l }),
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 xe = {
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(be, { email: a.user.email ?? "", onSignOut: () => t.signOut().catch(() => {
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 be({ email: r, onSignOut: e }) {
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] = x("signin"), [c, p] = x(""), [g, b] = x(""), [f, m] = x(""), [y, _] = x(null), [A, v] = x(null), [S, w] = x(null), P = async (C) => {
228
- if (C.preventDefault(), !y) {
229
- _("email"), v(null), w(null);
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: c, password: g }) : l === "signup" ? (await i.signUp({ email: c, password: g })).kind === "confirmation_required" && (a("reset_verify"), w("Check your email for a confirmation code.")) : l === "forgot" ? (await i.requestPasswordReset({ email: c }), a("reset_sent"), w("If that email exists, a reset code has been sent.")) : l === "reset_verify" && (await i.verifyOtp({
232
- email: c,
233
- token: f,
234
- type: g ? "recovery" : "email"
235
- }), g && await i.updatePassword({ password: g }));
236
- } catch (I) {
237
- const d = I instanceof T ? I.message : "Something went wrong";
238
- v(d);
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
- }, L = async (C) => {
244
- if (!y) {
245
- _(C), v(null), w(null);
244
+ }, P = async (I) => {
245
+ if (!g) {
246
+ _(I), x(null), w(null);
246
247
  try {
247
248
  await i.signInWithOAuth({
248
- provider: C,
249
+ provider: I,
249
250
  onPopupOpened: () => _(null)
250
251
  });
251
- } catch (I) {
252
- if (I instanceof T) {
253
- if (I.code === "oauth_cancelled" || I.code === "oauth_timeout") return;
254
- v(I.message);
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
- v("Sign-in failed");
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((C) => /* @__PURE__ */ u(
266
+ s.map((I) => /* @__PURE__ */ u(
266
267
  "button",
267
268
  {
268
269
  type: "button",
269
- onClick: () => L(C),
270
- disabled: y !== null,
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
- y === C ? /* @__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: C }),
274
- /* @__PURE__ */ o("span", { children: xe[C] })
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
- C
278
+ I
278
279
  )),
279
280
  /* @__PURE__ */ o(ve, {})
280
281
  ] }) : null,
281
- /* @__PURE__ */ u("form", { onSubmit: P, class: "flex flex-col gap-2", children: [
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: c,
288
- onInput: p,
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: g,
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: f,
311
- onInput: m,
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: g,
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
- A && /* @__PURE__ */ o("p", { class: "text-xs text-red-600", children: A }),
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: y !== null,
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: y === "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
+ 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, v, w, "signup"), class: "font-medium text-gray-700 hover:underline", children: "Create account" }),
347
- l === "signup" && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, v, w, "signin"), class: "font-medium text-gray-700 hover:underline", children: "I already have an account" }),
348
- l === "signin" && t && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, v, w, "forgot"), class: "hover:underline", children: "Forgot password?" }),
349
- (l === "forgot" || l === "reset_sent" || l === "reset_verify") && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, v, w, "signin"), class: "hover:underline", children: "Back to sign in" }),
350
- l === "reset_sent" && /* @__PURE__ */ o("button", { type: "button", onClick: () => O(a, v, w, "reset_verify"), class: "font-medium text-gray-700 hover:underline", children: "I have a code" })
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] = x({ kind: "signing-in" }), a = B(!0);
441
- M(() => () => {
441
+ const [s, l] = y({ kind: "signing-in" }), a = L(!0);
442
+ B(() => () => {
442
443
  a.current = !1;
443
444
  }, []);
444
- const c = () => {
445
+ const h = () => {
445
446
  l({ kind: "signing-in" }), (async () => {
446
447
  try {
447
- const p = await r.signInAnonymously();
448
+ const c = await r.signInAnonymously();
448
449
  if (!a.current) return;
449
- e(p);
450
- } catch (p) {
450
+ e(c);
451
+ } catch (c) {
451
452
  if (!a.current) return;
452
453
  l({
453
454
  kind: "error",
454
- message: p instanceof Error ? p.message : "Anonymous sign-in failed"
455
+ message: c instanceof Error ? c.message : "Anonymous sign-in failed"
455
456
  });
456
457
  }
457
458
  })();
458
459
  };
459
- return M(() => {
460
- c();
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: c,
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] = x(i), [c, p] = x(""), [g, b] = x(""), [f, m] = x([]), [y, _] = x(!1), [A, v] = x(null), [S, w] = x({}), P = ie(() => {
499
- const d = (s ?? l).trim().toLowerCase(), h = c.trim(), k = g.trim();
500
- return Y.test(d) && h.length >= D && h.length <= F && k.length >= 1 && k.length <= V;
501
- }, [s, l, c, g]), L = () => {
502
- const d = {}, h = (s ?? l).trim(), k = c.trim(), U = g.trim();
503
- return h ? Y.test(h.toLowerCase()) || (d.email = "Invalid email") : d.email = "Required", (k.length < D || k.length > F) && (d.subject = `${D}–${F} characters`), (U.length < 1 || U.length > V) && (d.message = `1–${V} characters`), w(d), Object.keys(d).length === 0;
504
- }, C = async (d) => {
505
- if (d.preventDefault(), !y && L()) {
506
- _(!0), w((h) => ({ ...h, submit: void 0 }));
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 h = (s ?? l).trim();
509
+ const d = (s ?? l).trim();
509
510
  await r.createSupportTicket({
510
- subject: c.trim(),
511
- content: g.trim(),
512
- email: h || void 0,
513
- files: f.length > 0 ? f : void 0
514
- }), v(h);
515
- } catch (h) {
516
- const k = h instanceof T && h.message || "Failed to send. Please try again.";
517
- w((U) => ({ ...U, submit: k }));
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
- }, I = () => {
523
- p(""), b(""), m([]), w({}), v(null);
523
+ }, T = () => {
524
+ c(""), b(""), f([]), w({}), x(null);
524
525
  };
525
- return A ? /* @__PURE__ */ u("div", { class: "flex flex-col items-center gap-4 py-2 text-center", children: [
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: A }),
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: I,
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: C, class: "flex flex-col gap-3", children: [
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: c,
613
- onInput: p,
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: g,
623
+ value: m,
623
624
  onInput: b,
624
625
  error: S.message,
625
626
  required: !0
626
627
  }
627
628
  ),
628
- /* @__PURE__ */ o(Be, { files: f, onChange: m, disabled: y }),
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: y,
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: !P || y,
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: y ? /* @__PURE__ */ o("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : "Send"
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
  ] })
@@ -689,18 +690,18 @@ function Me({ label: r, value: e, onInput: t, error: n, required: i }) {
689
690
  ] });
690
691
  }
691
692
  function Be({ files: r, onChange: e, disabled: t }) {
692
- const n = B(null), [i, s] = x(!1), [l, a] = x(null), c = (p) => {
693
- if (!p || t) return;
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 g = Array.from(p);
696
- if (r.length + g.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 = g.filter(
701
- (f) => X.includes(f.type) && f.size <= Ae
701
+ const b = m.filter(
702
+ (A) => X.includes(A.type) && A.size <= Ae
702
703
  );
703
- if (b.length !== g.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 Be({ 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: (p) => {
719
- p.preventDefault(), t || s(!0);
719
+ onDragOver: (c) => {
720
+ c.preventDefault(), t || s(!0);
720
721
  },
721
722
  onDragLeave: () => s(!1),
722
- onDrop: (p) => {
723
- p.preventDefault(), s(!1), c(p.dataTransfer?.files ?? null);
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 Be({ files: r, onChange: e, disabled: t }) {
741
742
  multiple: !0,
742
743
  accept: X.join(","),
743
744
  class: "hidden",
744
- onChange: (p) => {
745
- c(p.target.files), p.currentTarget.value = "";
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((p, g) => /* @__PURE__ */ u(
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: p.name }),
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(g, 1), e(b);
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 ${p.name}`,
767
+ "aria-label": `Remove ${c.name}`,
767
768
  children: "✕"
768
769
  }
769
770
  )
770
771
  ]
771
772
  },
772
- `${p.name}-${p.size}-${g}`
773
+ `${c.name}-${c.size}-${m}`
773
774
  )) })
774
775
  ] });
775
776
  }
776
777
  function Ee({ block: r, ctx: e }) {
777
- const [t, n] = x(!1), i = r.priceId ?? e.selectedPriceId, s = t || r.action === "checkout" && !i;
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 Ee({ block: r, ctx: e }) {
800
801
  );
801
802
  }
802
803
  function Pe({ ctx: r }) {
803
- const e = r.authSession, t = r.auth, [n, i] = x(!1), s = () => r.onAction("support");
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 = B(null), l = t === 1 && !!e.bootstrap.settings.title_auto_fit;
901
- return M(() => {
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), c = parseFloat(a.lineHeight) || le * 1.5;
904
- je(s.current, c);
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 c = e.selectedPriceId === a.id, p = r.popular_price_id === a.id;
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": c,
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
- c ? "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",
951
- p ? "mt-2.5" : ""
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
- p ? /* @__PURE__ */ o(
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
- c ? "border-[var(--pw-accent)] bg-[var(--pw-accent)]" : "border-gray-300 bg-white group-hover:border-gray-400"
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: c ? /* @__PURE__ */ o("span", { class: "h-1.5 w-1.5 rounded-full bg-white" }) : null
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: [
@@ -1062,7 +1063,7 @@ const Ne = {
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] = x(s), c = {
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((p, g) => {
1074
- const b = Ne[p.type];
1075
- return b ? /* @__PURE__ */ o(b, { block: p, ctx: c }, g) : (typeof console < "u" && console.warn(`[paywall] unknown block type: ${p.type}`), null);
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,92 +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, p] = x({ status: "idle" }), [g, b] = x(
1096
+ const [c, m] = y({ status: "idle" }), [b, A] = y(
1095
1097
  () => r.auth?.getCachedSession() ?? null
1096
- ), [f, m] = x(() => i === "support" ? { kind: "support", origin: "standalone" } : i === "auth" ? { kind: "auth_gate", origin: "standalone" } : i === "anon" ? { kind: "anon_gate", origin: "standalone" } : { kind: "layout" }), y = B(!1), _ = B(null);
1097
- M(() => {
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), h = _.current;
1100
- h && We(h, d) || (_.current = d, a(d));
1101
- }, [e, c, f, s, a]), M(() => {
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) => b(d));
1104
- }, [r.auth]), M(() => {
1105
+ return r.auth.onAuthChange((d) => A(d));
1106
+ }, [r.auth]), B(() => {
1105
1107
  if (typeof r.onBootstrapChange == "function")
1106
1108
  return r.onBootstrapChange((d) => {
1107
- p(
1108
- (h) => h.status === "ready" ? { status: "ready", data: d } : h
1109
+ m(
1110
+ (p) => p.status === "ready" ? { status: "ready", data: d } : p
1109
1111
  );
1110
1112
  });
1111
- }, [r]), M(() => {
1113
+ }, [r]), B(() => {
1112
1114
  if (!e || c.status === "ready" || c.status === "loading") return;
1113
1115
  let d = !1;
1114
- return p({ status: "loading" }), r.bootstrap().then((h) => {
1115
- d || (p({ status: "ready", data: h }), n("ready", h), h.user?.has_active_subscription && !l && (n("purchase_completed", {
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", {
1116
1118
  priceId: null,
1117
1119
  sessionId: null,
1118
1120
  restored: !0
1119
- }), m({ kind: "purchase_success", restored: !0 })));
1120
- }).catch((h) => {
1121
+ }), g({ kind: "purchase_success", restored: !0 })));
1122
+ }).catch((p) => {
1121
1123
  if (d) return;
1122
- const k = h instanceof T ? h : new T("unknown", "Failed to load paywall", { cause: h });
1123
- p({ status: "error", error: k }), n("error", k);
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);
1124
1126
  }), () => {
1125
1127
  d = !0;
1126
1128
  };
1127
- }, [e, r]), M(() => {
1129
+ }, [e, r]), B(() => {
1128
1130
  if (!e) {
1129
- m({ kind: "layout" }), y.current = !1;
1131
+ g({ kind: "layout" }), _.current = !1;
1130
1132
  return;
1131
1133
  }
1132
- i === "support" ? m({ kind: "support", origin: "standalone" }) : i === "auth" ? m({ kind: "auth_gate", origin: "standalone" }) : i === "anon" && m({ kind: "anon_gate", origin: "standalone" });
1134
+ i === "support" ? g({ kind: "support", origin: "standalone" }) : i === "auth" ? g({ kind: "auth_gate", origin: "standalone" }) : i === "anon" && g({ kind: "anon_gate", origin: "standalone" });
1133
1135
  }, [e, i]);
1134
- const A = async (d) => {
1136
+ const x = async (d) => {
1135
1137
  try {
1136
- const h = await r.createCheckout({
1138
+ const p = await r.createCheckout({
1137
1139
  priceId: d,
1138
1140
  ignoreActivePurchase: l === !0
1139
1141
  });
1140
- if (n("checkout_started", { priceId: d, url: h.url, acquiring: h.acquiring }), typeof window > "u" || !h.url) return;
1141
- const k = window.open(h.url, "_blank");
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");
1142
1144
  if (k) {
1143
1145
  try {
1144
1146
  k.opener = null;
1145
1147
  } catch {
1146
1148
  }
1147
- m({ kind: "awaiting_payment", priceId: d, url: h.url });
1149
+ g({ kind: "awaiting_payment", priceId: d, url: p.url });
1148
1150
  } else
1149
- m({ kind: "popup_blocked", priceId: d, url: h.url });
1150
- } catch (h) {
1151
- if (h instanceof T && h.code === "already_purchased") {
1151
+ g({ kind: "popup_blocked", priceId: d, url: p.url });
1152
+ } catch (p) {
1153
+ if (p instanceof M && p.code === "already_purchased") {
1152
1154
  try {
1153
1155
  await r.getUser({ force: !0 });
1154
1156
  } catch {
1155
1157
  }
1156
- n("purchase_completed", { priceId: d, sessionId: null, restored: !0 }), m({ kind: "purchase_success", restored: !0 });
1158
+ n("purchase_completed", { priceId: d, sessionId: null, restored: !0 }), g({ kind: "purchase_success", restored: !0 });
1157
1159
  return;
1158
1160
  }
1159
- const k = h instanceof T ? h : new T("checkout_failed", "Checkout failed", { cause: h });
1160
- n("error", k), m({ kind: "layout" });
1161
+ const k = p instanceof M ? p : new M("checkout_failed", "Checkout failed", { cause: p });
1162
+ n("error", k), g({ kind: "layout" });
1161
1163
  }
1162
- }, v = (d, h) => {
1164
+ }, S = (d, p) => {
1163
1165
  if (typeof window > "u") return;
1164
- const k = window.open(h, "_blank");
1166
+ const k = window.open(p, "_blank");
1165
1167
  if (k) {
1166
1168
  try {
1167
1169
  k.opener = null;
1168
1170
  } catch {
1169
1171
  }
1170
- m({ kind: "awaiting_payment", priceId: d, url: h });
1172
+ g({ kind: "awaiting_payment", priceId: d, url: p });
1171
1173
  }
1172
1174
  };
1173
- M(() => {
1174
- if (f.kind !== "auth_gate" || !g || g.user.is_anonymous || y.current) return;
1175
- y.current = !0;
1176
- const d = f.pendingCheckout, h = f.origin;
1177
- m({ kind: "verifying" }), (async () => {
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 () => {
1178
1180
  if (!l)
1179
1181
  try {
1180
1182
  if ((await r.getUser({ force: !0 })).has_active_subscription) {
@@ -1182,51 +1184,51 @@ function Ze({
1182
1184
  priceId: d?.priceId ?? null,
1183
1185
  sessionId: null,
1184
1186
  restored: !0
1185
- }), m({ kind: "purchase_success", restored: !0 });
1187
+ }), g({ kind: "purchase_success", restored: !0 });
1186
1188
  return;
1187
1189
  }
1188
1190
  } catch {
1189
1191
  }
1190
1192
  if (!d) {
1191
- h === "standalone" ? t() : m({ kind: "layout" });
1193
+ p === "standalone" ? t() : g({ kind: "layout" });
1192
1194
  return;
1193
1195
  }
1194
- await A(d.priceId);
1196
+ await x(d.priceId);
1195
1197
  })().finally(() => {
1196
- y.current = !1;
1198
+ _.current = !1;
1197
1199
  });
1198
- }, [g, f]);
1199
- const S = async (d, h) => {
1200
+ }, [b, f]);
1201
+ const w = async (d, p) => {
1200
1202
  if (d === "close") {
1201
1203
  t();
1202
1204
  return;
1203
1205
  }
1204
1206
  if (d === "price_selected") {
1205
- n("price_selected", h);
1207
+ n("price_selected", p);
1206
1208
  return;
1207
1209
  }
1208
1210
  if (d === "restore") {
1209
1211
  if (!r.auth || r.auth.getCachedSession()) return;
1210
- m({ kind: "auth_gate" });
1212
+ g({ kind: "auth_gate" });
1211
1213
  return;
1212
1214
  }
1213
1215
  if (d === "support") {
1214
- m({ kind: "support", origin: "layout" });
1216
+ g({ kind: "support", origin: "layout" });
1215
1217
  return;
1216
1218
  }
1217
1219
  if (d === "checkout" && c.status === "ready") {
1218
- const k = h?.priceId;
1220
+ const k = p?.priceId;
1219
1221
  if (!k) {
1220
- n("error", new T("no_price", "No price selected"));
1222
+ n("error", new M("no_price", "No price selected"));
1221
1223
  return;
1222
1224
  }
1223
1225
  if ((c.data.settings.checkout_mode ?? "guest") === "preauth" && !!r.auth && !r.auth.getCachedSession()) {
1224
- m({ kind: "auth_gate", pendingCheckout: { priceId: k } });
1226
+ g({ kind: "auth_gate", pendingCheckout: { priceId: k } });
1225
1227
  return;
1226
1228
  }
1227
- await A(k);
1229
+ await x(k);
1228
1230
  }
1229
- }, w = c.status === "ready" ? c.data.settings.brand_color : null, P = c.status === "ready" ? !!c.data.settings.is_test_mode : !1, L = c.status === "ready" ? c.data.settings.allow_close !== !1 : !0, C = {
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 = {
1230
1232
  type: "auth_panel",
1231
1233
  heading: "Sign in to continue",
1232
1234
  allow_signup: !0,
@@ -1235,14 +1237,14 @@ function Ze({
1235
1237
  // чем хотим показывать "Signed in as ..." промежуточным экраном.
1236
1238
  hide_when_authenticated: !1,
1237
1239
  providers: c.status === "ready" ? c.data.settings.auth_providers : void 0
1238
- }, I = f.kind === "support" ? /* @__PURE__ */ o(
1240
+ }, C = f.kind === "support" ? /* @__PURE__ */ o(
1239
1241
  Te,
1240
1242
  {
1241
1243
  client: r,
1242
- authSession: g,
1244
+ authSession: b,
1243
1245
  origin: f.origin,
1244
1246
  onBack: () => {
1245
- f.origin === "standalone" ? t() : m({ kind: "layout" });
1247
+ f.origin === "standalone" ? t() : g({ kind: "layout" });
1246
1248
  }
1247
1249
  }
1248
1250
  ) : null;
@@ -1251,11 +1253,12 @@ function Ze({
1251
1253
  {
1252
1254
  open: e,
1253
1255
  onClose: t,
1254
- brandColor: w,
1256
+ brandColor: E,
1255
1257
  testMode: P,
1256
- allowClose: L,
1258
+ allowClose: I,
1259
+ inline: h,
1257
1260
  labelledBy: "pw-title",
1258
- children: s ? /* @__PURE__ */ o(te, { onContinue: t }) : f.kind === "purchase_success" ? /* @__PURE__ */ o(te, { restored: f.restored, onContinue: t }) : I || (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: [
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: [
1259
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)]" }),
1260
1263
  /* @__PURE__ */ o("span", { class: "text-xs font-medium tracking-wide text-gray-500", children: f.kind === "verifying" ? "Checking your subscription…" : "Loading…" })
1261
1264
  ] }) : c.status === "error" ? /* @__PURE__ */ u("div", { class: "flex flex-col items-center gap-2 py-8 text-center", children: [
@@ -1276,13 +1279,13 @@ function Ze({
1276
1279
  ] }) : f.kind === "auth_gate" && r.auth ? /* @__PURE__ */ o(
1277
1280
  Se,
1278
1281
  {
1279
- block: C,
1282
+ block: T,
1280
1283
  bootstrap: c.data,
1281
1284
  auth: r.auth,
1282
- authSession: g,
1285
+ authSession: b,
1283
1286
  showBack: f.origin !== "standalone",
1284
1287
  onBack: () => {
1285
- f.origin === "standalone" ? t() : m({ kind: "layout" });
1288
+ f.origin === "standalone" ? t() : g({ kind: "layout" });
1286
1289
  }
1287
1290
  }
1288
1291
  ) : f.kind === "anon_gate" && r.auth ? /* @__PURE__ */ o(
@@ -1290,15 +1293,15 @@ function Ze({
1290
1293
  {
1291
1294
  auth: r.auth,
1292
1295
  onSuccess: () => {
1293
- f.origin === "standalone" ? t() : m({ kind: "layout" });
1296
+ f.origin === "standalone" ? t() : g({ kind: "layout" });
1294
1297
  },
1295
- onBack: f.origin === "standalone" ? void 0 : () => m({ kind: "layout" })
1298
+ onBack: f.origin === "standalone" ? void 0 : () => g({ kind: "layout" })
1296
1299
  }
1297
1300
  ) : f.kind === "awaiting_payment" ? /* @__PURE__ */ o(
1298
1301
  Xe,
1299
1302
  {
1300
1303
  client: r,
1301
- onBack: () => m({ kind: "layout" }),
1304
+ onBack: () => g({ kind: "layout" }),
1302
1305
  onReopen: () => {
1303
1306
  if (typeof window > "u") return;
1304
1307
  const d = window.open(f.url, "_blank");
@@ -1308,7 +1311,7 @@ function Ze({
1308
1311
  } catch {
1309
1312
  }
1310
1313
  },
1311
- onRetry: () => A(f.priceId)
1314
+ onRetry: () => x(f.priceId)
1312
1315
  }
1313
1316
  ) : f.kind === "popup_blocked" ? /* @__PURE__ */ u("div", { class: "flex flex-col items-center gap-3 py-8 text-center", children: [
1314
1317
  /* @__PURE__ */ o(
@@ -1337,7 +1340,7 @@ function Ze({
1337
1340
  "button",
1338
1341
  {
1339
1342
  type: "button",
1340
- onClick: () => v(f.priceId, f.url),
1343
+ onClick: () => S(f.priceId, f.url),
1341
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)]",
1342
1345
  style: {
1343
1346
  background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
@@ -1351,9 +1354,9 @@ function Ze({
1351
1354
  {
1352
1355
  layout: c.data.layout,
1353
1356
  bootstrap: c.data,
1354
- onAction: S,
1357
+ onAction: w,
1355
1358
  auth: r.auth,
1356
- authSession: g
1359
+ authSession: b
1357
1360
  }
1358
1361
  ))
1359
1362
  }
@@ -1365,9 +1368,9 @@ function Xe({
1365
1368
  onReopen: t,
1366
1369
  onRetry: n
1367
1370
  }) {
1368
- const [i, s] = x(!1), [l, a] = x(!1), c = B(null);
1369
- return M(() => () => {
1370
- c.current !== null && clearTimeout(c.current);
1371
+ const [i, s] = y(!1), [l, a] = y(!1), h = L(null);
1372
+ return B(() => () => {
1373
+ h.current !== null && clearTimeout(h.current);
1371
1374
  }, []), /* @__PURE__ */ u("div", { class: "flex flex-col gap-3", children: [
1372
1375
  /* @__PURE__ */ o(
1373
1376
  "button",
@@ -1404,8 +1407,8 @@ function Xe({
1404
1407
  typeof window < "u" && window.postMessage({ type: "paywall_purchase" }, "*");
1405
1408
  return;
1406
1409
  }
1407
- a(!0), c.current !== null && clearTimeout(c.current), c.current = setTimeout(() => {
1408
- a(!1), c.current = null;
1410
+ a(!0), h.current !== null && clearTimeout(h.current), h.current = setTimeout(() => {
1411
+ a(!1), h.current = null;
1409
1412
  }, 5e3);
1410
1413
  } catch {
1411
1414
  a(!0);
@@ -1545,7 +1548,7 @@ class Qe {
1545
1548
  function et() {
1546
1549
  return !(typeof document > "u" || typeof window > "u" || typeof location < "u" && location.protocol === "chrome-extension:");
1547
1550
  }
1548
- const N = { open: !1, view: null, error: null }, E = {
1551
+ const N = { open: !1, view: null, error: null }, U = {
1549
1552
  status: "paywall_status",
1550
1553
  priceId: "paywall_price_id",
1551
1554
  sessionId: "paywall_session_id"
@@ -1554,7 +1557,7 @@ let tt = class {
1554
1557
  constructor(e) {
1555
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();
1556
1559
  const { auth: t, ownsAuth: n } = rt(e);
1557
- 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) => {
1558
1561
  this.emit("userChange", i);
1559
1562
  }), this.auth && (this.authUnsub = this.auth.onAuthChange((i) => {
1560
1563
  this.emit("authChange", i);
@@ -1855,9 +1858,10 @@ let tt = class {
1855
1858
  onEvent: (i, s) => {
1856
1859
  this.emit(i, s), i === "checkout_started" && this.startUserWatcher();
1857
1860
  },
1858
- onState: (i) => this.applyState(i)
1861
+ onState: (i) => this.applyState(i),
1862
+ inline: this.inline
1859
1863
  },
1860
- { host: this.host, shadowMode: this.shadowMode }
1864
+ { host: this.host, shadowMode: this.shadowMode, inline: this.inline }
1861
1865
  ), this.emit("open");
1862
1866
  }
1863
1867
  applyState(e) {
@@ -2095,11 +2099,11 @@ function ot(r, e) {
2095
2099
  }
2096
2100
  function re(r) {
2097
2101
  if (!r) return null;
2098
- const e = new URLSearchParams(r), t = e.get(E.status);
2102
+ const e = new URLSearchParams(r), t = e.get(U.status);
2099
2103
  return t ? {
2100
2104
  status: t,
2101
- priceId: e.get(E.priceId),
2102
- sessionId: e.get(E.sessionId)
2105
+ priceId: e.get(U.priceId),
2106
+ sessionId: e.get(U.sessionId)
2103
2107
  } : null;
2104
2108
  }
2105
2109
  function st(r) {
@@ -2121,7 +2125,7 @@ function lt(r) {
2121
2125
  const e = (n, i) => {
2122
2126
  if (!n) return "";
2123
2127
  const s = new URLSearchParams(n.replace(/^[?#]/, ""));
2124
- s.delete(E.status), s.delete(E.priceId), s.delete(E.sessionId);
2128
+ s.delete(U.status), s.delete(U.priceId), s.delete(U.sessionId);
2125
2129
  const l = s.toString();
2126
2130
  return l ? i + l : "";
2127
2131
  }, t = r.pathname + e(r.search, "?") + e(r.hash, "#");
@@ -2456,10 +2460,10 @@ class dt {
2456
2460
  */
2457
2461
  async signInWithOAuth(e) {
2458
2462
  if (typeof window > "u")
2459
- throw new T("oauth_unavailable", "window is required for OAuth");
2463
+ throw new M("oauth_unavailable", "window is required for OAuth");
2460
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");
2461
2465
  if (!n)
2462
- throw new T(
2466
+ throw new M(
2463
2467
  "popup_blocked",
2464
2468
  "browser blocked auth popup — call from a user gesture"
2465
2469
  );
@@ -2557,7 +2561,7 @@ class yt {
2557
2561
  }), e;
2558
2562
  }
2559
2563
  handleMessage(e) {
2560
- if (bt(e)) {
2564
+ if (xt(e)) {
2561
2565
  if (e.type === "response") {
2562
2566
  const t = this.pending.get(e.id);
2563
2567
  if (!t) return;
@@ -2582,7 +2586,7 @@ class yt {
2582
2586
  const e = Array.from(this.pending.values());
2583
2587
  this.pending.clear();
2584
2588
  for (const t of e)
2585
- t.signal?.removeEventListener("abort", t.abortListener), t.reject(new xt());
2589
+ t.signal?.removeEventListener("abort", t.abortListener), t.reject(new bt());
2586
2590
  }
2587
2591
  request(e, t, n = {}) {
2588
2592
  if (this.destroyed)
@@ -2591,12 +2595,12 @@ class yt {
2591
2595
  return Promise.reject(new DOMException("Aborted", "AbortError"));
2592
2596
  const i = this.ensureChannel(), s = `r${++this.nextId}`;
2593
2597
  return new Promise((l, a) => {
2594
- const c = {
2598
+ const h = {
2595
2599
  resolve: l,
2596
2600
  reject: a,
2597
2601
  signal: n.signal
2598
2602
  };
2599
- n.signal && (c.abortListener = () => {
2603
+ n.signal && (h.abortListener = () => {
2600
2604
  if (this.pending.delete(s)) {
2601
2605
  a(new DOMException("Aborted", "AbortError"));
2602
2606
  try {
@@ -2604,17 +2608,17 @@ class yt {
2604
2608
  } catch {
2605
2609
  }
2606
2610
  }
2607
- }, n.signal.addEventListener("abort", c.abortListener)), this.pending.set(s, c);
2608
- const p = {
2611
+ }, n.signal.addEventListener("abort", h.abortListener)), this.pending.set(s, h);
2612
+ const c = {
2609
2613
  type: "request",
2610
2614
  id: s,
2611
2615
  kind: e,
2612
2616
  params: t
2613
2617
  };
2614
2618
  try {
2615
- i.send(p);
2616
- } catch (g) {
2617
- this.pending.delete(s), n.signal?.removeEventListener("abort", c.abortListener), a(g);
2619
+ i.send(c);
2620
+ } catch (m) {
2621
+ this.pending.delete(s), n.signal?.removeEventListener("abort", h.abortListener), a(m);
2618
2622
  }
2619
2623
  });
2620
2624
  }
@@ -2638,12 +2642,12 @@ class yt {
2638
2642
  this.channel?.close(), this.channel = null;
2639
2643
  }
2640
2644
  }
2641
- class xt extends Error {
2645
+ class bt extends Error {
2642
2646
  constructor() {
2643
2647
  super("Transport channel disconnected mid-request"), this.code = "transport_disconnected", this.name = "TransportDisconnectedError";
2644
2648
  }
2645
2649
  }
2646
- function bt(r) {
2650
+ function xt(r) {
2647
2651
  if (typeof r != "object" || r === null) return !1;
2648
2652
  const e = r.type;
2649
2653
  return e === "request" || e === "response" || e === "event";
@@ -2652,7 +2656,7 @@ let q = null;
2652
2656
  function kt() {
2653
2657
  return q || (q = new yt(() => pe(fe)), q);
2654
2658
  }
2655
- class Tt extends tt {
2659
+ class Mt extends tt {
2656
2660
  constructor(e) {
2657
2661
  const t = kt(), n = new ct(t, {
2658
2662
  paywallId: e.paywallId,
@@ -2734,7 +2738,7 @@ class Tt extends tt {
2734
2738
  }
2735
2739
  export {
2736
2740
  R as PROTOCOL_VERSION,
2737
- Tt as PaywallUI,
2741
+ Mt as PaywallUI,
2738
2742
  dt as RemoteAuthClient,
2739
2743
  ct as RemoteBillingClient,
2740
2744
  mt as RemoteEventTracker,