@volr/react-ui 0.1.107 → 0.1.109

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/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var React13 = require('react');
3
+ var React12 = require('react');
4
4
  var reactDom = require('react-dom');
5
5
  var react = require('@volr/react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -10,7 +10,7 @@ var qrcode_react = require('qrcode.react');
10
10
 
11
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
12
 
13
- var React13__default = /*#__PURE__*/_interopDefault(React13);
13
+ var React12__default = /*#__PURE__*/_interopDefault(React12);
14
14
 
15
15
  var __getOwnPropNames = Object.getOwnPropertyNames;
16
16
  var __esm = (fn, res) => function __init() {
@@ -618,13 +618,13 @@ var translations = {
618
618
  function getTranslations(locale = "en") {
619
619
  return translations[locale] || translations.en;
620
620
  }
621
- var I18nContext = React13.createContext(null);
621
+ var I18nContext = React12.createContext(null);
622
622
  function interpolate(text, params) {
623
623
  if (!params) return text;
624
624
  return text.replace(/\{\{(\w+)\}\}/g, (_, key) => params[key] ?? `{{${key}}}`);
625
625
  }
626
626
  function useI18n() {
627
- const context = React13.useContext(I18nContext);
627
+ const context = React12.useContext(I18nContext);
628
628
  if (!context) {
629
629
  return {
630
630
  locale: "en",
@@ -659,9 +659,9 @@ function detectLocale() {
659
659
  return lang.startsWith("ko") ? "ko" : "en";
660
660
  }
661
661
  function I18nProvider({ children }) {
662
- const [locale, setLocale] = React13.useState(detectLocale());
663
- const translations2 = React13.useMemo(() => getTranslations(locale), [locale]);
664
- const t = React13.useMemo(() => {
662
+ const [locale, setLocale] = React12.useState(detectLocale());
663
+ const translations2 = React12.useMemo(() => getTranslations(locale), [locale]);
664
+ const t = React12.useMemo(() => {
665
665
  return (key, params) => {
666
666
  const keys = key.split(".");
667
667
  let value2 = translations2;
@@ -678,7 +678,7 @@ function I18nProvider({ children }) {
678
678
  return typeof value2 === "string" ? interpolate(value2, params) : key;
679
679
  };
680
680
  }, [translations2]);
681
- const value = React13.useMemo(
681
+ const value = React12.useMemo(
682
682
  () => ({
683
683
  locale,
684
684
  translations: translations2,
@@ -690,9 +690,9 @@ function I18nProvider({ children }) {
690
690
  return /* @__PURE__ */ jsxRuntime.jsx(I18nContext.Provider, { value, children });
691
691
  }
692
692
  var useTranslation = useI18n;
693
- var VolrModalContext = React13.createContext(null);
693
+ var VolrModalContext = React12.createContext(null);
694
694
  var useVolrModal = () => {
695
- const context = React13.useContext(VolrModalContext);
695
+ const context = React12.useContext(VolrModalContext);
696
696
  if (!context) {
697
697
  throw new Error("useVolrModal must be used within VolrUIProvider");
698
698
  }
@@ -701,17 +701,17 @@ var useVolrModal = () => {
701
701
  var VolrModalProvider = ({
702
702
  children
703
703
  }) => {
704
- const [isOpen, setIsOpen] = React13.useState(false);
705
- const [mode, setMode] = React13.useState("account");
706
- const [asset, setAsset] = React13.useState(null);
707
- const [paymentOptions, setPaymentOptions] = React13.useState(null);
708
- const open = React13.useCallback((options) => {
704
+ const [isOpen, setIsOpen] = React12.useState(false);
705
+ const [mode, setMode] = React12.useState("account");
706
+ const [asset, setAsset] = React12.useState(null);
707
+ const [paymentOptions, setPaymentOptions] = React12.useState(null);
708
+ const open = React12.useCallback((options) => {
709
709
  setMode(options?.mode ?? "account");
710
710
  setAsset(options?.asset ?? null);
711
711
  setPaymentOptions(options?.payment ?? null);
712
712
  setIsOpen(true);
713
713
  }, []);
714
- const close = React13.useCallback(() => {
714
+ const close = React12.useCallback(() => {
715
715
  setIsOpen(false);
716
716
  setAsset(null);
717
717
  setPaymentOptions(null);
@@ -725,11 +725,11 @@ function cn(...inputs) {
725
725
  return twMerge(clsx.clsx(inputs));
726
726
  }
727
727
  function useMediaQuery(query) {
728
- const [matches, setMatches] = React13.useState(() => {
728
+ const [matches, setMatches] = React12.useState(() => {
729
729
  if (typeof window === "undefined") return false;
730
730
  return window.matchMedia(query).matches;
731
731
  });
732
- React13.useEffect(() => {
732
+ React12.useEffect(() => {
733
733
  if (typeof window === "undefined") return;
734
734
  const mql = window.matchMedia(query);
735
735
  const handler = (event) => setMatches(event.matches);
@@ -741,14 +741,14 @@ function useMediaQuery(query) {
741
741
  }
742
742
 
743
743
  // src/generated/volr-sdk-css.ts
744
- var VOLR_SDK_CSS = '/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--volr-tw-translate-x:0;--volr-tw-translate-y:0;--volr-tw-translate-z:0;--volr-tw-space-y-reverse:0;--volr-tw-border-style:solid;--volr-tw-gradient-position:initial;--volr-tw-gradient-from:#0000;--volr-tw-gradient-via:#0000;--volr-tw-gradient-to:#0000;--volr-tw-gradient-stops:initial;--volr-tw-gradient-via-stops:initial;--volr-tw-gradient-from-position:0%;--volr-tw-gradient-via-position:50%;--volr-tw-gradient-to-position:100%;--volr-tw-leading:initial;--volr-tw-font-weight:initial;--volr-tw-shadow:0 0 #0000;--volr-tw-shadow-color:initial;--volr-tw-shadow-alpha:100%;--volr-tw-inset-shadow:0 0 #0000;--volr-tw-inset-shadow-color:initial;--volr-tw-inset-shadow-alpha:100%;--volr-tw-ring-color:initial;--volr-tw-ring-shadow:0 0 #0000;--volr-tw-inset-ring-color:initial;--volr-tw-inset-ring-shadow:0 0 #0000;--volr-tw-ring-inset:initial;--volr-tw-ring-offset-width:0px;--volr-tw-ring-offset-color:#fff;--volr-tw-ring-offset-shadow:0 0 #0000;--volr-tw-blur:initial;--volr-tw-brightness:initial;--volr-tw-contrast:initial;--volr-tw-grayscale:initial;--volr-tw-hue-rotate:initial;--volr-tw-invert:initial;--volr-tw-opacity:initial;--volr-tw-saturate:initial;--volr-tw-sepia:initial;--volr-tw-drop-shadow:initial;--volr-tw-drop-shadow-color:initial;--volr-tw-drop-shadow-alpha:100%;--volr-tw-drop-shadow-size:initial;--volr-tw-duration:initial;--volr-tw-ease:initial}}}@layer theme{:root,:host{--volr-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--volr-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--volr-color-red-50:oklch(97.1% .013 17.38);--volr-color-red-200:oklch(88.5% .062 18.334);--volr-color-red-500:oklch(63.7% .237 25.331);--volr-color-red-600:oklch(57.7% .245 27.325);--volr-color-red-700:oklch(50.5% .213 27.518);--volr-color-orange-600:oklch(64.6% .222 41.116);--volr-color-green-50:oklch(98.2% .018 155.826);--volr-color-green-600:oklch(62.7% .194 149.214);--volr-color-emerald-300:oklch(84.5% .143 164.978);--volr-color-emerald-400:oklch(76.5% .177 163.223);--volr-color-emerald-500:oklch(69.6% .17 162.48);--volr-color-emerald-600:oklch(59.6% .145 163.225);--volr-color-teal-400:oklch(77.7% .152 181.912);--volr-color-teal-500:oklch(70.4% .14 182.503);--volr-color-cyan-400:oklch(78.9% .154 211.53);--volr-color-blue-600:oklch(54.6% .245 262.881);--volr-color-purple-600:oklch(55.8% .288 302.321);--volr-color-slate-50:oklch(98.4% .003 247.858);--volr-color-slate-100:oklch(96.8% .007 247.896);--volr-color-slate-200:oklch(92.9% .013 255.508);--volr-color-slate-300:oklch(86.9% .022 252.894);--volr-color-slate-400:oklch(70.4% .04 256.788);--volr-color-slate-500:oklch(55.4% .046 257.417);--volr-color-slate-600:oklch(44.6% .043 257.281);--volr-color-slate-900:oklch(20.8% .042 265.755);--volr-color-gray-500:oklch(55.1% .027 264.364);--volr-color-black:#000;--volr-color-white:#fff;--volr-spacing:.25rem;--volr-container-md:28rem;--volr-container-4xl:56rem;--volr-text-xs:.75rem;--volr-text-xs--line-height:calc(1/.75);--volr-text-sm:.875rem;--volr-text-sm--line-height:calc(1.25/.875);--volr-text-base:1rem;--volr-text-base--line-height:calc(1.5/1);--volr-text-lg:1.125rem;--volr-text-lg--line-height:calc(1.75/1.125);--volr-text-xl:1.25rem;--volr-text-xl--line-height:calc(1.75/1.25);--volr-text-2xl:1.5rem;--volr-text-2xl--line-height:calc(2/1.5);--volr-text-8xl:6rem;--volr-text-8xl--line-height:1;--volr-font-weight-medium:500;--volr-font-weight-semibold:600;--volr-font-weight-bold:700;--volr-leading-relaxed:1.625;--volr-radius-md:.375rem;--volr-radius-lg:.5rem;--volr-radius-xl:.75rem;--volr-radius-2xl:1rem;--volr-radius-3xl:1.5rem;--volr-ease-out:cubic-bezier(0,0,.2,1);--volr-animate-spin:spin 1s linear infinite;--volr-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--volr-blur-2xl:40px;--volr-default-transition-duration:.15s;--volr-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--volr-default-font-family:var(--volr-font-sans);--volr-default-mono-font-family:var(--volr-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--volr-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--volr-default-font-feature-settings,normal);font-variation-settings:var(--volr-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--volr-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--volr-default-mono-font-feature-settings,normal);font-variation-settings:var(--volr-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{--volr-primary-color:var(--volr-accent-color,#303030);--volr-font-family:var(--volr-custom-font,inherit);--volr-bg:#fff;--volr-bg-secondary:#f8fafc;--volr-bg-tertiary:#f1f5f9;--volr-text:#0f172a;--volr-text-secondary:#475569;--volr-text-muted:#94a3b8;--volr-border:#e2e8f0;--volr-border-strong:#cbd5e1;--volr-hover-bg:#f8fafc;--volr-error-bg:#fef2f2;--volr-error-border:#fecaca;--volr-error-text:#991b1b}:host([data-theme=dark]){--volr-bg:#1c1c1e;--volr-bg-secondary:#2c2c2e;--volr-bg-tertiary:#3a3a3c;--volr-text:#f5f5f7;--volr-text-secondary:#c7c7cc;--volr-text-muted:#8e8e93;--volr-border:#3a3a3c;--volr-border-strong:#48484a;--volr-hover-bg:#2c2c2e;--volr-error-bg:#3c1f1f;--volr-error-border:#7f1d1d;--volr-error-text:#fca5a5}*,:before,:after{box-sizing:border-box}*{font-family:var(--volr-font-family);color:var(--volr-text)}button,input,select,textarea{color:var(--volr-text);background-color:#0000}button{cursor:pointer;background-color:#0000}input::placeholder{color:var(--volr-text-muted)}h1,h2,h3{color:var(--volr-text);margin:0;font-weight:700}h1{font-size:1.875rem;line-height:2.25rem}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.25rem;line-height:1.75rem}p{margin:0}}@layer components{.volr-dialog-overlay{inset:calc(var(--volr-spacing)*0);z-index:40;background-color:var(--volr-color-black);position:fixed}@supports (color:color-mix(in lab, red, red)){.volr-dialog-overlay{background-color:color-mix(in oklab,var(--volr-color-black)45%,transparent)}}.volr-dialog-content{z-index:50;border-radius:var(--volr-radius-2xl);border-style:var(--volr-tw-border-style);padding:calc(var(--volr-spacing)*7);--volr-tw-shadow:0 20px 25px -5px var(--volr-tw-shadow-color,#0000001a),0 8px 10px -6px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow);background-color:var(--volr-bg);border-width:1px;border-color:var(--volr-border-strong);width:calc(100% - 2rem);max-width:28rem;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@media (max-width:640px){.volr-dialog-content{top:auto;right:calc(var(--volr-spacing)*0);bottom:calc(var(--volr-spacing)*0);left:calc(var(--volr-spacing)*0);border-radius:1.25rem 1.25rem 0 0;width:100%;max-width:100%;margin:0 auto;transform:translateY(0)}}.volr-dialog-close{top:calc(var(--volr-spacing)*4);right:calc(var(--volr-spacing)*4);height:calc(var(--volr-spacing)*8);width:calc(var(--volr-spacing)*8);color:var(--volr-text-muted);cursor:pointer;background-color:#0000;border:none;border-radius:3.40282e38px;justify-content:center;align-items:center;display:inline-flex;position:absolute}.volr-dialog-close:hover{background-color:var(--volr-hover-bg);color:var(--volr-text-secondary)}.volr-dialog-close:focus-visible{box-shadow:0 0 0 2px var(--volr-border-strong);outline:none}.volr-dialog-close-icon{height:calc(var(--volr-spacing)*4);width:calc(var(--volr-spacing)*4)}.volr-email-input{border:1px solid var(--volr-border-strong);background-color:var(--volr-bg);width:100%;color:var(--volr-text);border-radius:.5rem;outline:none;padding:.75rem .75rem .75rem 2.75rem;font-size:1rem;line-height:1.5}.volr-email-input::placeholder{color:var(--volr-text-muted)}.volr-email-input:focus{border-color:var(--volr-border-strong);box-shadow:0 0 0 2px var(--volr-border-strong)}.volr-option-button{border:1px solid var(--volr-border);background-color:var(--volr-bg);width:100%;color:var(--volr-text);cursor:pointer;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem;transition:background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out;display:flex}.volr-option-button:hover{background-color:var(--volr-hover-bg);border-color:var(--volr-border)}.volr-option-button:focus-visible{box-shadow:0 0 0 2px var(--volr-border-strong);outline:none}}@layer utilities{.volr\\:pointer-events-auto{pointer-events:auto}.volr\\:pointer-events-none{pointer-events:none}.volr\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.volr\\:absolute{position:absolute}.volr\\:fixed{position:fixed}.volr\\:relative{position:relative}.volr\\:inset-0{inset:calc(var(--volr-spacing)*0)}.volr\\:-top-3{top:calc(var(--volr-spacing)*-3)}.volr\\:top-1\\/2{top:50%}.volr\\:-right-3{right:calc(var(--volr-spacing)*-3)}.volr\\:-right-4{right:calc(var(--volr-spacing)*-4)}.volr\\:right-2{right:calc(var(--volr-spacing)*2)}.volr\\:bottom-0{bottom:calc(var(--volr-spacing)*0)}.volr\\:-left-4{left:calc(var(--volr-spacing)*-4)}.volr\\:left-3{left:calc(var(--volr-spacing)*3)}.volr\\:-z-10{z-index:calc(10*-1)}.volr\\:z-10{z-index:10}.volr\\:z-20{z-index:20}.volr\\:z-40{z-index:40}.volr\\:z-50{z-index:50}.volr\\:mx-auto{margin-inline:auto}.volr\\:my-6{margin-block:calc(var(--volr-spacing)*6)}.volr\\:mt-0\\.5{margin-top:calc(var(--volr-spacing)*.5)}.volr\\:mt-1{margin-top:calc(var(--volr-spacing)*1)}.volr\\:mt-2{margin-top:calc(var(--volr-spacing)*2)}.volr\\:mt-3{margin-top:calc(var(--volr-spacing)*3)}.volr\\:mt-4{margin-top:calc(var(--volr-spacing)*4)}.volr\\:mt-6{margin-top:calc(var(--volr-spacing)*6)}.volr\\:mt-8{margin-top:calc(var(--volr-spacing)*8)}.volr\\:mb-1{margin-bottom:calc(var(--volr-spacing)*1)}.volr\\:mb-2{margin-bottom:calc(var(--volr-spacing)*2)}.volr\\:mb-3{margin-bottom:calc(var(--volr-spacing)*3)}.volr\\:mb-4{margin-bottom:calc(var(--volr-spacing)*4)}.volr\\:mb-5{margin-bottom:calc(var(--volr-spacing)*5)}.volr\\:mb-6{margin-bottom:calc(var(--volr-spacing)*6)}.volr\\:mb-8{margin-bottom:calc(var(--volr-spacing)*8)}.volr\\:-ml-2{margin-left:calc(var(--volr-spacing)*-2)}.volr\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.volr\\:flex{display:flex}.volr\\:grid{display:grid}.volr\\:inline-block{display:inline-block}.volr\\:inline-flex{display:inline-flex}.volr\\:h-1{height:calc(var(--volr-spacing)*1)}.volr\\:h-1\\.5{height:calc(var(--volr-spacing)*1.5)}.volr\\:h-2{height:calc(var(--volr-spacing)*2)}.volr\\:h-3{height:calc(var(--volr-spacing)*3)}.volr\\:h-4{height:calc(var(--volr-spacing)*4)}.volr\\:h-5{height:calc(var(--volr-spacing)*5)}.volr\\:h-6{height:calc(var(--volr-spacing)*6)}.volr\\:h-7{height:calc(var(--volr-spacing)*7)}.volr\\:h-8{height:calc(var(--volr-spacing)*8)}.volr\\:h-10{height:calc(var(--volr-spacing)*10)}.volr\\:h-12{height:calc(var(--volr-spacing)*12)}.volr\\:h-14{height:calc(var(--volr-spacing)*14)}.volr\\:h-16{height:calc(var(--volr-spacing)*16)}.volr\\:h-20{height:calc(var(--volr-spacing)*20)}.volr\\:h-24{height:calc(var(--volr-spacing)*24)}.volr\\:h-40{height:calc(var(--volr-spacing)*40)}.volr\\:h-44{height:calc(var(--volr-spacing)*44)}.volr\\:h-48{height:calc(var(--volr-spacing)*48)}.volr\\:h-\\[0\\.8em\\]{height:.8em}.volr\\:h-\\[200px\\]{height:200px}.volr\\:h-full{height:100%}.volr\\:h-px{height:1px}.volr\\:max-h-36{max-height:calc(var(--volr-spacing)*36)}.volr\\:max-h-60{max-height:calc(var(--volr-spacing)*60)}.volr\\:max-h-96{max-height:calc(var(--volr-spacing)*96)}.volr\\:max-h-\\[85vh\\]{max-height:85vh}.volr\\:max-h-\\[90vh\\]{max-height:90vh}.volr\\:min-h-\\[120px\\]{min-height:120px}.volr\\:min-h-\\[500px\\]{min-height:500px}.volr\\:w-1\\.5{width:calc(var(--volr-spacing)*1.5)}.volr\\:w-2{width:calc(var(--volr-spacing)*2)}.volr\\:w-4{width:calc(var(--volr-spacing)*4)}.volr\\:w-5{width:calc(var(--volr-spacing)*5)}.volr\\:w-6{width:calc(var(--volr-spacing)*6)}.volr\\:w-7{width:calc(var(--volr-spacing)*7)}.volr\\:w-8{width:calc(var(--volr-spacing)*8)}.volr\\:w-10{width:calc(var(--volr-spacing)*10)}.volr\\:w-12{width:calc(var(--volr-spacing)*12)}.volr\\:w-14{width:calc(var(--volr-spacing)*14)}.volr\\:w-16{width:calc(var(--volr-spacing)*16)}.volr\\:w-20{width:calc(var(--volr-spacing)*20)}.volr\\:w-24{width:calc(var(--volr-spacing)*24)}.volr\\:w-32{width:calc(var(--volr-spacing)*32)}.volr\\:w-36{width:calc(var(--volr-spacing)*36)}.volr\\:w-40{width:calc(var(--volr-spacing)*40)}.volr\\:w-44{width:calc(var(--volr-spacing)*44)}.volr\\:w-48{width:calc(var(--volr-spacing)*48)}.volr\\:w-\\[200px\\]{width:200px}.volr\\:w-auto{width:auto}.volr\\:w-full{width:100%}.volr\\:max-w-4xl{max-width:var(--volr-container-4xl)}.volr\\:max-w-full{max-width:100%}.volr\\:max-w-md{max-width:var(--volr-container-md)}.volr\\:max-w-none{max-width:none}.volr\\:min-w-0{min-width:calc(var(--volr-spacing)*0)}.volr\\:flex-1{flex:1}.volr\\:flex-shrink-0,.volr\\:shrink-0{flex-shrink:0}.volr\\:-translate-y-1\\/2{--volr-tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--volr-tw-translate-x)var(--volr-tw-translate-y)}.volr\\:rotate-180{rotate:180deg}.volr\\:animate-\\[volrFadeIn_0\\.2s_ease-out\\]{animation:.2s ease-out volrFadeIn}.volr\\:animate-pulse{animation:var(--volr-animate-pulse)}.volr\\:animate-spin{animation:var(--volr-animate-spin)}.volr\\:cursor-not-allowed{cursor:not-allowed}.volr\\:cursor-pointer{cursor:pointer}.volr\\:list-inside{list-style-position:inside}.volr\\:list-decimal{list-style-type:decimal}.volr\\:grid-cols-\\[minmax\\(0\\,1\\.1fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.volr\\:flex-col{flex-direction:column}.volr\\:flex-wrap{flex-wrap:wrap}.volr\\:items-baseline{align-items:baseline}.volr\\:items-center{align-items:center}.volr\\:items-end{align-items:flex-end}.volr\\:items-start{align-items:flex-start}.volr\\:justify-between{justify-content:space-between}.volr\\:justify-center{justify-content:center}.volr\\:gap-1{gap:calc(var(--volr-spacing)*1)}.volr\\:gap-2{gap:calc(var(--volr-spacing)*2)}.volr\\:gap-3{gap:calc(var(--volr-spacing)*3)}.volr\\:gap-4{gap:calc(var(--volr-spacing)*4)}:where(.volr\\:space-y-1>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*1)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*1)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-2>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*2)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*2)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-3>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*3)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*3)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-4>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*4)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*4)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-6>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*6)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*6)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-8>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*8)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*8)*calc(1 - var(--volr-tw-space-y-reverse)))}.volr\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.volr\\:overflow-auto{overflow:auto}.volr\\:overflow-hidden{overflow:hidden}.volr\\:overflow-visible{overflow:visible}.volr\\:overflow-y-auto{overflow-y:auto}.volr\\:rounded{border-radius:.25rem}.volr\\:rounded-2xl{border-radius:var(--volr-radius-2xl)}.volr\\:rounded-full{border-radius:3.40282e38px}.volr\\:rounded-lg{border-radius:var(--volr-radius-lg)}.volr\\:rounded-md{border-radius:var(--volr-radius-md)}.volr\\:rounded-xl{border-radius:var(--volr-radius-xl)}.volr\\:rounded-t-2xl{border-top-left-radius:var(--volr-radius-2xl);border-top-right-radius:var(--volr-radius-2xl)}.volr\\:rounded-t-3xl{border-top-left-radius:var(--volr-radius-3xl);border-top-right-radius:var(--volr-radius-3xl)}.volr\\:border{border-style:var(--volr-tw-border-style);border-width:1px}.volr\\:border-2{border-style:var(--volr-tw-border-style);border-width:2px}.volr\\:border-4{border-style:var(--volr-tw-border-style);border-width:4px}.volr\\:border-t{border-top-style:var(--volr-tw-border-style);border-top-width:1px}.volr\\:border-t-2{border-top-style:var(--volr-tw-border-style);border-top-width:2px}.volr\\:border-red-200{border-color:var(--volr-color-red-200)}.volr\\:border-slate-200{border-color:var(--volr-color-slate-200)}.volr\\:border-slate-300{border-color:var(--volr-color-slate-300)}.volr\\:border-white{border-color:var(--volr-color-white)}.volr\\:border-t-slate-600{border-top-color:var(--volr-color-slate-600)}.volr\\:bg-black\\/45{background-color:var(--volr-color-black)}@supports (color:color-mix(in lab, red, red)){.volr\\:bg-black\\/45{background-color:color-mix(in oklab,var(--volr-color-black)45%,transparent)}}.volr\\:bg-cyan-400{background-color:var(--volr-color-cyan-400)}.volr\\:bg-emerald-300{background-color:var(--volr-color-emerald-300)}.volr\\:bg-emerald-400{background-color:var(--volr-color-emerald-400)}.volr\\:bg-green-50{background-color:var(--volr-color-green-50)}.volr\\:bg-red-50{background-color:var(--volr-color-red-50)}.volr\\:bg-slate-50{background-color:var(--volr-color-slate-50)}.volr\\:bg-slate-100{background-color:var(--volr-color-slate-100)}.volr\\:bg-slate-200{background-color:var(--volr-color-slate-200)}.volr\\:bg-slate-900{background-color:var(--volr-color-slate-900)}.volr\\:bg-teal-400{background-color:var(--volr-color-teal-400)}.volr\\:bg-white{background-color:var(--volr-color-white)}.volr\\:bg-linear-to-br{--volr-tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.volr\\:bg-linear-to-br{--volr-tw-gradient-position:to bottom right in oklab}}.volr\\:bg-linear-to-br{background-image:linear-gradient(var(--volr-tw-gradient-stops))}.volr\\:from-emerald-400{--volr-tw-gradient-from:var(--volr-color-emerald-400);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:from-emerald-500{--volr-tw-gradient-from:var(--volr-color-emerald-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:to-teal-500{--volr-tw-gradient-to:var(--volr-color-teal-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:object-cover{object-fit:cover}.volr\\:p-1{padding:calc(var(--volr-spacing)*1)}.volr\\:p-2{padding:calc(var(--volr-spacing)*2)}.volr\\:p-3{padding:calc(var(--volr-spacing)*3)}.volr\\:p-4{padding:calc(var(--volr-spacing)*4)}.volr\\:p-5{padding:calc(var(--volr-spacing)*5)}.volr\\:p-8{padding:calc(var(--volr-spacing)*8)}.volr\\:px-1\\.5{padding-inline:calc(var(--volr-spacing)*1.5)}.volr\\:px-2{padding-inline:calc(var(--volr-spacing)*2)}.volr\\:px-3{padding-inline:calc(var(--volr-spacing)*3)}.volr\\:px-4{padding-inline:calc(var(--volr-spacing)*4)}.volr\\:py-0\\.5{padding-block:calc(var(--volr-spacing)*.5)}.volr\\:py-1{padding-block:calc(var(--volr-spacing)*1)}.volr\\:py-1\\.5{padding-block:calc(var(--volr-spacing)*1.5)}.volr\\:py-2{padding-block:calc(var(--volr-spacing)*2)}.volr\\:py-2\\.5{padding-block:calc(var(--volr-spacing)*2.5)}.volr\\:py-3{padding-block:calc(var(--volr-spacing)*3)}.volr\\:py-4{padding-block:calc(var(--volr-spacing)*4)}.volr\\:py-6{padding-block:calc(var(--volr-spacing)*6)}.volr\\:py-8{padding-block:calc(var(--volr-spacing)*8)}.volr\\:py-12{padding-block:calc(var(--volr-spacing)*12)}.volr\\:pt-2{padding-top:calc(var(--volr-spacing)*2)}.volr\\:pt-3{padding-top:calc(var(--volr-spacing)*3)}.volr\\:pt-4{padding-top:calc(var(--volr-spacing)*4)}.volr\\:pr-3{padding-right:calc(var(--volr-spacing)*3)}.volr\\:pb-2{padding-bottom:calc(var(--volr-spacing)*2)}.volr\\:pb-4{padding-bottom:calc(var(--volr-spacing)*4)}.volr\\:pl-4{padding-left:calc(var(--volr-spacing)*4)}.volr\\:pl-11{padding-left:calc(var(--volr-spacing)*11)}.volr\\:text-center{text-align:center}.volr\\:text-left{text-align:left}.volr\\:text-right{text-align:right}.volr\\:align-baseline{vertical-align:baseline}.volr\\:font-mono{font-family:var(--volr-font-mono)}.volr\\:text-2xl{font-size:var(--volr-text-2xl);line-height:var(--volr-tw-leading,var(--volr-text-2xl--line-height))}.volr\\:text-8xl{font-size:var(--volr-text-8xl);line-height:var(--volr-tw-leading,var(--volr-text-8xl--line-height))}.volr\\:text-base{font-size:var(--volr-text-base);line-height:var(--volr-tw-leading,var(--volr-text-base--line-height))}.volr\\:text-lg{font-size:var(--volr-text-lg);line-height:var(--volr-tw-leading,var(--volr-text-lg--line-height))}.volr\\:text-sm{font-size:var(--volr-text-sm);line-height:var(--volr-tw-leading,var(--volr-text-sm--line-height))}.volr\\:text-xl{font-size:var(--volr-text-xl);line-height:var(--volr-tw-leading,var(--volr-text-xl--line-height))}.volr\\:text-xs{font-size:var(--volr-text-xs);line-height:var(--volr-tw-leading,var(--volr-text-xs--line-height))}.volr\\:leading-relaxed{--volr-tw-leading:var(--volr-leading-relaxed);line-height:var(--volr-leading-relaxed)}.volr\\:font-bold{--volr-tw-font-weight:var(--volr-font-weight-bold);font-weight:var(--volr-font-weight-bold)}.volr\\:font-medium{--volr-tw-font-weight:var(--volr-font-weight-medium);font-weight:var(--volr-font-weight-medium)}.volr\\:font-semibold{--volr-tw-font-weight:var(--volr-font-weight-semibold);font-weight:var(--volr-font-weight-semibold)}.volr\\:break-all{word-break:break-all}.volr\\:text-blue-600{color:var(--volr-color-blue-600)}.volr\\:text-emerald-600{color:var(--volr-color-emerald-600)}.volr\\:text-gray-500{color:var(--volr-color-gray-500)}.volr\\:text-green-600{color:var(--volr-color-green-600)}.volr\\:text-orange-600{color:var(--volr-color-orange-600)}.volr\\:text-purple-600{color:var(--volr-color-purple-600)}.volr\\:text-red-500{color:var(--volr-color-red-500)}.volr\\:text-red-600{color:var(--volr-color-red-600)}.volr\\:text-red-700{color:var(--volr-color-red-700)}.volr\\:text-slate-100{color:var(--volr-color-slate-100)}.volr\\:text-slate-400{color:var(--volr-color-slate-400)}.volr\\:text-slate-500{color:var(--volr-color-slate-500)}.volr\\:text-slate-600{color:var(--volr-color-slate-600)}.volr\\:text-slate-900{color:var(--volr-color-slate-900)}.volr\\:text-white{color:var(--volr-color-white)}.volr\\:capitalize{text-transform:capitalize}.volr\\:underline{text-decoration-line:underline}.volr\\:opacity-0{opacity:0}.volr\\:opacity-25{opacity:.25}.volr\\:opacity-30{opacity:.3}.volr\\:opacity-50{opacity:.5}.volr\\:opacity-75{opacity:.75}.volr\\:shadow-2xl{--volr-tw-shadow:0 25px 50px -12px var(--volr-tw-shadow-color,#00000040);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-\\[0_-8px_30px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--volr-tw-shadow:0 -8px 30px var(--volr-tw-shadow-color,#0003);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-lg{--volr-tw-shadow:0 10px 15px -3px var(--volr-tw-shadow-color,#0000001a),0 4px 6px -4px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-md{--volr-tw-shadow:0 4px 6px -1px var(--volr-tw-shadow-color,#0000001a),0 2px 4px -2px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-sm{--volr-tw-shadow:0 1px 3px 0 var(--volr-tw-shadow-color,#0000001a),0 1px 2px -1px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-xl{--volr-tw-shadow:0 20px 25px -5px var(--volr-tw-shadow-color,#0000001a),0 8px 10px -6px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-emerald-500\\/50{--volr-tw-shadow-color:var(--volr-color-emerald-500)}@supports (color:color-mix(in lab, red, red)){.volr\\:shadow-emerald-500\\/50{--volr-tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--volr-color-emerald-500)50%,transparent)var(--volr-tw-shadow-alpha),transparent)}}.volr\\:blur-2xl{--volr-tw-blur:blur(var(--volr-blur-2xl));filter:var(--volr-tw-blur,)var(--volr-tw-brightness,)var(--volr-tw-contrast,)var(--volr-tw-grayscale,)var(--volr-tw-hue-rotate,)var(--volr-tw-invert,)var(--volr-tw-saturate,)var(--volr-tw-sepia,)var(--volr-tw-drop-shadow,)}.volr\\:transition-all{transition-property:all;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--volr-tw-gradient-from,--volr-tw-gradient-via,--volr-tw-gradient-to;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:duration-300{--volr-tw-duration:.3s;transition-duration:.3s}.volr\\:duration-500{--volr-tw-duration:.5s;transition-duration:.5s}.volr\\:ease-out{--volr-tw-ease:var(--volr-ease-out);transition-timing-function:var(--volr-ease-out)}.volr\\:outline-none{--volr-tw-outline-style:none;outline-style:none}@media (hover:hover){.volr\\:hover\\:border-slate-300:hover{border-color:var(--volr-color-slate-300)}.volr\\:hover\\:bg-slate-50:hover{background-color:var(--volr-color-slate-50)}}.volr\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.volr\\:disabled\\:opacity-50:disabled{opacity:.5}.volr-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.volr-text-secondary{color:var(--volr-text-secondary)}.volr-text-muted{color:var(--volr-text-muted)}.volr-bg-secondary{background-color:var(--volr-bg-secondary)}.volr-bg-tertiary{background-color:var(--volr-bg-tertiary)}.volr-border{border-color:var(--volr-border)}.volr-border-strong{border-color:var(--volr-border-strong)}.volr-divider-line{background-color:var(--volr-border)}.volr-error{background-color:var(--volr-error-bg);border-color:var(--volr-error-border);color:var(--volr-error-text)}.volr-hover:hover{background-color:var(--volr-hover-bg)}.volr-surface{background-color:var(--volr-bg)}}@property --volr-tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --volr-tw-gradient-position{syntax:"*";inherits:false}@property --volr-tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-stops{syntax:"*";inherits:false}@property --volr-tw-gradient-via-stops{syntax:"*";inherits:false}@property --volr-tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --volr-tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --volr-tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --volr-tw-leading{syntax:"*";inherits:false}@property --volr-tw-font-weight{syntax:"*";inherits:false}@property --volr-tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-shadow-color{syntax:"*";inherits:false}@property --volr-tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-inset-shadow-color{syntax:"*";inherits:false}@property --volr-tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-ring-color{syntax:"*";inherits:false}@property --volr-tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-inset-ring-color{syntax:"*";inherits:false}@property --volr-tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-ring-inset{syntax:"*";inherits:false}@property --volr-tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --volr-tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --volr-tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-blur{syntax:"*";inherits:false}@property --volr-tw-brightness{syntax:"*";inherits:false}@property --volr-tw-contrast{syntax:"*";inherits:false}@property --volr-tw-grayscale{syntax:"*";inherits:false}@property --volr-tw-hue-rotate{syntax:"*";inherits:false}@property --volr-tw-invert{syntax:"*";inherits:false}@property --volr-tw-opacity{syntax:"*";inherits:false}@property --volr-tw-saturate{syntax:"*";inherits:false}@property --volr-tw-sepia{syntax:"*";inherits:false}@property --volr-tw-drop-shadow{syntax:"*";inherits:false}@property --volr-tw-drop-shadow-color{syntax:"*";inherits:false}@property --volr-tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-drop-shadow-size{syntax:"*";inherits:false}@property --volr-tw-duration{syntax:"*";inherits:false}@property --volr-tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}';
744
+ var VOLR_SDK_CSS = '/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--volr-tw-translate-x:0;--volr-tw-translate-y:0;--volr-tw-translate-z:0;--volr-tw-space-y-reverse:0;--volr-tw-border-style:solid;--volr-tw-gradient-position:initial;--volr-tw-gradient-from:#0000;--volr-tw-gradient-via:#0000;--volr-tw-gradient-to:#0000;--volr-tw-gradient-stops:initial;--volr-tw-gradient-via-stops:initial;--volr-tw-gradient-from-position:0%;--volr-tw-gradient-via-position:50%;--volr-tw-gradient-to-position:100%;--volr-tw-leading:initial;--volr-tw-font-weight:initial;--volr-tw-tracking:initial;--volr-tw-shadow:0 0 #0000;--volr-tw-shadow-color:initial;--volr-tw-shadow-alpha:100%;--volr-tw-inset-shadow:0 0 #0000;--volr-tw-inset-shadow-color:initial;--volr-tw-inset-shadow-alpha:100%;--volr-tw-ring-color:initial;--volr-tw-ring-shadow:0 0 #0000;--volr-tw-inset-ring-color:initial;--volr-tw-inset-ring-shadow:0 0 #0000;--volr-tw-ring-inset:initial;--volr-tw-ring-offset-width:0px;--volr-tw-ring-offset-color:#fff;--volr-tw-ring-offset-shadow:0 0 #0000;--volr-tw-blur:initial;--volr-tw-brightness:initial;--volr-tw-contrast:initial;--volr-tw-grayscale:initial;--volr-tw-hue-rotate:initial;--volr-tw-invert:initial;--volr-tw-opacity:initial;--volr-tw-saturate:initial;--volr-tw-sepia:initial;--volr-tw-drop-shadow:initial;--volr-tw-drop-shadow-color:initial;--volr-tw-drop-shadow-alpha:100%;--volr-tw-drop-shadow-size:initial;--volr-tw-duration:initial;--volr-tw-ease:initial}}}@layer theme{:root,:host{--volr-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--volr-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--volr-color-red-50:oklch(97.1% .013 17.38);--volr-color-red-200:oklch(88.5% .062 18.334);--volr-color-red-500:oklch(63.7% .237 25.331);--volr-color-red-600:oklch(57.7% .245 27.325);--volr-color-red-700:oklch(50.5% .213 27.518);--volr-color-green-50:oklch(98.2% .018 155.826);--volr-color-green-600:oklch(62.7% .194 149.214);--volr-color-emerald-300:oklch(84.5% .143 164.978);--volr-color-emerald-400:oklch(76.5% .177 163.223);--volr-color-emerald-500:oklch(69.6% .17 162.48);--volr-color-emerald-600:oklch(59.6% .145 163.225);--volr-color-teal-400:oklch(77.7% .152 181.912);--volr-color-teal-500:oklch(70.4% .14 182.503);--volr-color-cyan-400:oklch(78.9% .154 211.53);--volr-color-slate-50:oklch(98.4% .003 247.858);--volr-color-slate-100:oklch(96.8% .007 247.896);--volr-color-slate-200:oklch(92.9% .013 255.508);--volr-color-slate-300:oklch(86.9% .022 252.894);--volr-color-slate-400:oklch(70.4% .04 256.788);--volr-color-slate-500:oklch(55.4% .046 257.417);--volr-color-slate-600:oklch(44.6% .043 257.281);--volr-color-slate-700:oklch(37.2% .044 257.287);--volr-color-slate-900:oklch(20.8% .042 265.755);--volr-color-gray-500:oklch(55.1% .027 264.364);--volr-color-black:#000;--volr-color-white:#fff;--volr-spacing:.25rem;--volr-container-md:28rem;--volr-container-4xl:56rem;--volr-text-xs:.75rem;--volr-text-xs--line-height:calc(1/.75);--volr-text-sm:.875rem;--volr-text-sm--line-height:calc(1.25/.875);--volr-text-base:1rem;--volr-text-base--line-height:calc(1.5/1);--volr-text-lg:1.125rem;--volr-text-lg--line-height:calc(1.75/1.125);--volr-text-xl:1.25rem;--volr-text-xl--line-height:calc(1.75/1.25);--volr-text-2xl:1.5rem;--volr-text-2xl--line-height:calc(2/1.5);--volr-text-8xl:6rem;--volr-text-8xl--line-height:1;--volr-font-weight-medium:500;--volr-font-weight-semibold:600;--volr-font-weight-bold:700;--volr-tracking-wide:.025em;--volr-leading-relaxed:1.625;--volr-radius-md:.375rem;--volr-radius-lg:.5rem;--volr-radius-xl:.75rem;--volr-radius-2xl:1rem;--volr-radius-3xl:1.5rem;--volr-ease-out:cubic-bezier(0,0,.2,1);--volr-animate-spin:spin 1s linear infinite;--volr-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--volr-blur-2xl:40px;--volr-default-transition-duration:.15s;--volr-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--volr-default-font-family:var(--volr-font-sans);--volr-default-mono-font-family:var(--volr-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--volr-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--volr-default-font-feature-settings,normal);font-variation-settings:var(--volr-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--volr-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--volr-default-mono-font-feature-settings,normal);font-variation-settings:var(--volr-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{--volr-primary-color:var(--volr-accent-color,#303030);--volr-font-family:var(--volr-custom-font,inherit);--volr-bg:#fff;--volr-bg-secondary:#f8fafc;--volr-bg-tertiary:#f1f5f9;--volr-text:#0f172a;--volr-text-secondary:#475569;--volr-text-muted:#94a3b8;--volr-border:#e2e8f0;--volr-border-strong:#cbd5e1;--volr-hover-bg:#f8fafc;--volr-error-bg:#fef2f2;--volr-error-border:#fecaca;--volr-error-text:#991b1b}:host([data-theme=dark]){--volr-bg:#1c1c1e;--volr-bg-secondary:#2c2c2e;--volr-bg-tertiary:#3a3a3c;--volr-text:#f5f5f7;--volr-text-secondary:#c7c7cc;--volr-text-muted:#8e8e93;--volr-border:#3a3a3c;--volr-border-strong:#48484a;--volr-hover-bg:#2c2c2e;--volr-error-bg:#3c1f1f;--volr-error-border:#7f1d1d;--volr-error-text:#fca5a5}*,:before,:after{box-sizing:border-box}*{font-family:var(--volr-font-family);color:var(--volr-text)}button,input,select,textarea{color:var(--volr-text);background-color:#0000}button{cursor:pointer;background-color:#0000}input::placeholder{color:var(--volr-text-muted)}h1,h2,h3{color:var(--volr-text);margin:0;font-weight:700}h1{font-size:1.875rem;line-height:2.25rem}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.25rem;line-height:1.75rem}p{margin:0}}@layer components{.volr-dialog-overlay{inset:calc(var(--volr-spacing)*0);z-index:40;background-color:var(--volr-color-black);position:fixed}@supports (color:color-mix(in lab, red, red)){.volr-dialog-overlay{background-color:color-mix(in oklab,var(--volr-color-black)45%,transparent)}}.volr-dialog-content{z-index:50;border-radius:var(--volr-radius-2xl);border-style:var(--volr-tw-border-style);padding:calc(var(--volr-spacing)*7);--volr-tw-shadow:0 20px 25px -5px var(--volr-tw-shadow-color,#0000001a),0 8px 10px -6px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow);background-color:var(--volr-bg);border-width:1px;border-color:var(--volr-border-strong);width:calc(100% - 2rem);max-width:28rem;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@media (max-width:640px){.volr-dialog-content{top:auto;right:calc(var(--volr-spacing)*0);bottom:calc(var(--volr-spacing)*0);left:calc(var(--volr-spacing)*0);border-radius:1.25rem 1.25rem 0 0;width:100%;max-width:100%;margin:0 auto;transform:translateY(0)}}.volr-dialog-close{top:calc(var(--volr-spacing)*4);right:calc(var(--volr-spacing)*4);height:calc(var(--volr-spacing)*8);width:calc(var(--volr-spacing)*8);color:var(--volr-text-muted);cursor:pointer;background-color:#0000;border:none;border-radius:3.40282e38px;justify-content:center;align-items:center;display:inline-flex;position:absolute}.volr-dialog-close:hover{background-color:var(--volr-hover-bg);color:var(--volr-text-secondary)}.volr-dialog-close:focus-visible{box-shadow:0 0 0 2px var(--volr-border-strong);outline:none}.volr-dialog-close-icon{height:calc(var(--volr-spacing)*4);width:calc(var(--volr-spacing)*4)}.volr-email-input{border:1px solid var(--volr-border-strong);background-color:var(--volr-bg);width:100%;color:var(--volr-text);border-radius:.5rem;outline:none;padding:.75rem .75rem .75rem 2.75rem;font-size:1rem;line-height:1.5}.volr-email-input::placeholder{color:var(--volr-text-muted)}.volr-email-input:focus{border-color:var(--volr-border-strong);box-shadow:0 0 0 2px var(--volr-border-strong)}.volr-option-button{border:1px solid var(--volr-border);background-color:var(--volr-bg);width:100%;color:var(--volr-text);cursor:pointer;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem;transition:background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out;display:flex}.volr-option-button:hover{background-color:var(--volr-hover-bg);border-color:var(--volr-border)}.volr-option-button:focus-visible{box-shadow:0 0 0 2px var(--volr-border-strong);outline:none}}@layer utilities{.volr\\:pointer-events-auto{pointer-events:auto}.volr\\:pointer-events-none{pointer-events:none}.volr\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.volr\\:absolute{position:absolute}.volr\\:fixed{position:fixed}.volr\\:relative{position:relative}.volr\\:inset-0{inset:calc(var(--volr-spacing)*0)}.volr\\:-top-3{top:calc(var(--volr-spacing)*-3)}.volr\\:top-1\\/2{top:50%}.volr\\:-right-3{right:calc(var(--volr-spacing)*-3)}.volr\\:-right-4{right:calc(var(--volr-spacing)*-4)}.volr\\:right-2{right:calc(var(--volr-spacing)*2)}.volr\\:bottom-0{bottom:calc(var(--volr-spacing)*0)}.volr\\:-left-4{left:calc(var(--volr-spacing)*-4)}.volr\\:left-3{left:calc(var(--volr-spacing)*3)}.volr\\:-z-10{z-index:calc(10*-1)}.volr\\:z-10{z-index:10}.volr\\:z-20{z-index:20}.volr\\:z-40{z-index:40}.volr\\:z-50{z-index:50}.volr\\:mx-auto{margin-inline:auto}.volr\\:my-6{margin-block:calc(var(--volr-spacing)*6)}.volr\\:mt-0\\.5{margin-top:calc(var(--volr-spacing)*.5)}.volr\\:mt-1{margin-top:calc(var(--volr-spacing)*1)}.volr\\:mt-2{margin-top:calc(var(--volr-spacing)*2)}.volr\\:mt-3{margin-top:calc(var(--volr-spacing)*3)}.volr\\:mt-4{margin-top:calc(var(--volr-spacing)*4)}.volr\\:mt-6{margin-top:calc(var(--volr-spacing)*6)}.volr\\:mt-8{margin-top:calc(var(--volr-spacing)*8)}.volr\\:mb-1{margin-bottom:calc(var(--volr-spacing)*1)}.volr\\:mb-2{margin-bottom:calc(var(--volr-spacing)*2)}.volr\\:mb-3{margin-bottom:calc(var(--volr-spacing)*3)}.volr\\:mb-4{margin-bottom:calc(var(--volr-spacing)*4)}.volr\\:mb-5{margin-bottom:calc(var(--volr-spacing)*5)}.volr\\:mb-6{margin-bottom:calc(var(--volr-spacing)*6)}.volr\\:mb-8{margin-bottom:calc(var(--volr-spacing)*8)}.volr\\:-ml-2{margin-left:calc(var(--volr-spacing)*-2)}.volr\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.volr\\:flex{display:flex}.volr\\:grid{display:grid}.volr\\:inline-block{display:inline-block}.volr\\:inline-flex{display:inline-flex}.volr\\:h-1{height:calc(var(--volr-spacing)*1)}.volr\\:h-1\\.5{height:calc(var(--volr-spacing)*1.5)}.volr\\:h-2{height:calc(var(--volr-spacing)*2)}.volr\\:h-3{height:calc(var(--volr-spacing)*3)}.volr\\:h-4{height:calc(var(--volr-spacing)*4)}.volr\\:h-5{height:calc(var(--volr-spacing)*5)}.volr\\:h-6{height:calc(var(--volr-spacing)*6)}.volr\\:h-7{height:calc(var(--volr-spacing)*7)}.volr\\:h-8{height:calc(var(--volr-spacing)*8)}.volr\\:h-10{height:calc(var(--volr-spacing)*10)}.volr\\:h-12{height:calc(var(--volr-spacing)*12)}.volr\\:h-14{height:calc(var(--volr-spacing)*14)}.volr\\:h-16{height:calc(var(--volr-spacing)*16)}.volr\\:h-20{height:calc(var(--volr-spacing)*20)}.volr\\:h-24{height:calc(var(--volr-spacing)*24)}.volr\\:h-40{height:calc(var(--volr-spacing)*40)}.volr\\:h-44{height:calc(var(--volr-spacing)*44)}.volr\\:h-48{height:calc(var(--volr-spacing)*48)}.volr\\:h-\\[0\\.8em\\]{height:.8em}.volr\\:h-\\[200px\\]{height:200px}.volr\\:h-full{height:100%}.volr\\:h-px{height:1px}.volr\\:max-h-36{max-height:calc(var(--volr-spacing)*36)}.volr\\:max-h-48{max-height:calc(var(--volr-spacing)*48)}.volr\\:max-h-60{max-height:calc(var(--volr-spacing)*60)}.volr\\:max-h-64{max-height:calc(var(--volr-spacing)*64)}.volr\\:max-h-96{max-height:calc(var(--volr-spacing)*96)}.volr\\:max-h-\\[85vh\\]{max-height:85vh}.volr\\:max-h-\\[90vh\\]{max-height:90vh}.volr\\:min-h-\\[120px\\]{min-height:120px}.volr\\:min-h-\\[500px\\]{min-height:500px}.volr\\:w-1\\.5{width:calc(var(--volr-spacing)*1.5)}.volr\\:w-2{width:calc(var(--volr-spacing)*2)}.volr\\:w-3{width:calc(var(--volr-spacing)*3)}.volr\\:w-4{width:calc(var(--volr-spacing)*4)}.volr\\:w-5{width:calc(var(--volr-spacing)*5)}.volr\\:w-6{width:calc(var(--volr-spacing)*6)}.volr\\:w-7{width:calc(var(--volr-spacing)*7)}.volr\\:w-8{width:calc(var(--volr-spacing)*8)}.volr\\:w-10{width:calc(var(--volr-spacing)*10)}.volr\\:w-12{width:calc(var(--volr-spacing)*12)}.volr\\:w-14{width:calc(var(--volr-spacing)*14)}.volr\\:w-16{width:calc(var(--volr-spacing)*16)}.volr\\:w-20{width:calc(var(--volr-spacing)*20)}.volr\\:w-24{width:calc(var(--volr-spacing)*24)}.volr\\:w-32{width:calc(var(--volr-spacing)*32)}.volr\\:w-36{width:calc(var(--volr-spacing)*36)}.volr\\:w-40{width:calc(var(--volr-spacing)*40)}.volr\\:w-44{width:calc(var(--volr-spacing)*44)}.volr\\:w-48{width:calc(var(--volr-spacing)*48)}.volr\\:w-\\[200px\\]{width:200px}.volr\\:w-auto{width:auto}.volr\\:w-full{width:100%}.volr\\:max-w-4xl{max-width:var(--volr-container-4xl)}.volr\\:max-w-full{max-width:100%}.volr\\:max-w-md{max-width:var(--volr-container-md)}.volr\\:max-w-none{max-width:none}.volr\\:min-w-0{min-width:calc(var(--volr-spacing)*0)}.volr\\:flex-1{flex:1}.volr\\:flex-shrink-0,.volr\\:shrink-0{flex-shrink:0}.volr\\:-translate-y-1\\/2{--volr-tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--volr-tw-translate-x)var(--volr-tw-translate-y)}.volr\\:rotate-90{rotate:90deg}.volr\\:rotate-180{rotate:180deg}.volr\\:animate-\\[volrFadeIn_0\\.2s_ease-out\\]{animation:.2s ease-out volrFadeIn}.volr\\:animate-pulse{animation:var(--volr-animate-pulse)}.volr\\:animate-spin{animation:var(--volr-animate-spin)}.volr\\:cursor-not-allowed{cursor:not-allowed}.volr\\:cursor-pointer{cursor:pointer}.volr\\:list-inside{list-style-position:inside}.volr\\:list-decimal{list-style-type:decimal}.volr\\:grid-cols-\\[minmax\\(0\\,1\\.1fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.volr\\:flex-col{flex-direction:column}.volr\\:items-baseline{align-items:baseline}.volr\\:items-center{align-items:center}.volr\\:items-end{align-items:flex-end}.volr\\:items-start{align-items:flex-start}.volr\\:justify-between{justify-content:space-between}.volr\\:justify-center{justify-content:center}.volr\\:gap-1{gap:calc(var(--volr-spacing)*1)}.volr\\:gap-2{gap:calc(var(--volr-spacing)*2)}.volr\\:gap-3{gap:calc(var(--volr-spacing)*3)}.volr\\:gap-4{gap:calc(var(--volr-spacing)*4)}:where(.volr\\:space-y-1>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*1)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*1)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-2>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*2)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*2)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-3>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*3)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*3)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-4>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*4)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*4)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-6>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*6)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*6)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-8>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*8)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*8)*calc(1 - var(--volr-tw-space-y-reverse)))}.volr\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.volr\\:overflow-auto{overflow:auto}.volr\\:overflow-hidden{overflow:hidden}.volr\\:overflow-visible{overflow:visible}.volr\\:overflow-x-auto{overflow-x:auto}.volr\\:overflow-y-auto{overflow-y:auto}.volr\\:rounded{border-radius:.25rem}.volr\\:rounded-2xl{border-radius:var(--volr-radius-2xl)}.volr\\:rounded-full{border-radius:3.40282e38px}.volr\\:rounded-lg{border-radius:var(--volr-radius-lg)}.volr\\:rounded-md{border-radius:var(--volr-radius-md)}.volr\\:rounded-xl{border-radius:var(--volr-radius-xl)}.volr\\:rounded-t-2xl{border-top-left-radius:var(--volr-radius-2xl);border-top-right-radius:var(--volr-radius-2xl)}.volr\\:rounded-t-3xl{border-top-left-radius:var(--volr-radius-3xl);border-top-right-radius:var(--volr-radius-3xl)}.volr\\:border{border-style:var(--volr-tw-border-style);border-width:1px}.volr\\:border-2{border-style:var(--volr-tw-border-style);border-width:2px}.volr\\:border-4{border-style:var(--volr-tw-border-style);border-width:4px}.volr\\:border-t{border-top-style:var(--volr-tw-border-style);border-top-width:1px}.volr\\:border-t-2{border-top-style:var(--volr-tw-border-style);border-top-width:2px}.volr\\:border-b{border-bottom-style:var(--volr-tw-border-style);border-bottom-width:1px}.volr\\:border-red-200{border-color:var(--volr-color-red-200)}.volr\\:border-slate-200{border-color:var(--volr-color-slate-200)}.volr\\:border-slate-300{border-color:var(--volr-color-slate-300)}.volr\\:border-white{border-color:var(--volr-color-white)}.volr\\:border-t-slate-600{border-top-color:var(--volr-color-slate-600)}.volr\\:bg-black\\/45{background-color:var(--volr-color-black)}@supports (color:color-mix(in lab, red, red)){.volr\\:bg-black\\/45{background-color:color-mix(in oklab,var(--volr-color-black)45%,transparent)}}.volr\\:bg-cyan-400{background-color:var(--volr-color-cyan-400)}.volr\\:bg-emerald-300{background-color:var(--volr-color-emerald-300)}.volr\\:bg-emerald-400{background-color:var(--volr-color-emerald-400)}.volr\\:bg-green-50{background-color:var(--volr-color-green-50)}.volr\\:bg-red-50{background-color:var(--volr-color-red-50)}.volr\\:bg-slate-50{background-color:var(--volr-color-slate-50)}.volr\\:bg-slate-100{background-color:var(--volr-color-slate-100)}.volr\\:bg-slate-200{background-color:var(--volr-color-slate-200)}.volr\\:bg-slate-900{background-color:var(--volr-color-slate-900)}.volr\\:bg-teal-400{background-color:var(--volr-color-teal-400)}.volr\\:bg-white{background-color:var(--volr-color-white)}.volr\\:bg-linear-to-br{--volr-tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.volr\\:bg-linear-to-br{--volr-tw-gradient-position:to bottom right in oklab}}.volr\\:bg-linear-to-br{background-image:linear-gradient(var(--volr-tw-gradient-stops))}.volr\\:from-emerald-400{--volr-tw-gradient-from:var(--volr-color-emerald-400);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:from-emerald-500{--volr-tw-gradient-from:var(--volr-color-emerald-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:to-teal-500{--volr-tw-gradient-to:var(--volr-color-teal-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:object-cover{object-fit:cover}.volr\\:p-1{padding:calc(var(--volr-spacing)*1)}.volr\\:p-2{padding:calc(var(--volr-spacing)*2)}.volr\\:p-3{padding:calc(var(--volr-spacing)*3)}.volr\\:p-4{padding:calc(var(--volr-spacing)*4)}.volr\\:p-5{padding:calc(var(--volr-spacing)*5)}.volr\\:p-8{padding:calc(var(--volr-spacing)*8)}.volr\\:px-1\\.5{padding-inline:calc(var(--volr-spacing)*1.5)}.volr\\:px-2{padding-inline:calc(var(--volr-spacing)*2)}.volr\\:px-3{padding-inline:calc(var(--volr-spacing)*3)}.volr\\:px-4{padding-inline:calc(var(--volr-spacing)*4)}.volr\\:py-0\\.5{padding-block:calc(var(--volr-spacing)*.5)}.volr\\:py-1\\.5{padding-block:calc(var(--volr-spacing)*1.5)}.volr\\:py-2{padding-block:calc(var(--volr-spacing)*2)}.volr\\:py-2\\.5{padding-block:calc(var(--volr-spacing)*2.5)}.volr\\:py-3{padding-block:calc(var(--volr-spacing)*3)}.volr\\:py-4{padding-block:calc(var(--volr-spacing)*4)}.volr\\:py-6{padding-block:calc(var(--volr-spacing)*6)}.volr\\:py-8{padding-block:calc(var(--volr-spacing)*8)}.volr\\:py-12{padding-block:calc(var(--volr-spacing)*12)}.volr\\:pt-2{padding-top:calc(var(--volr-spacing)*2)}.volr\\:pt-3{padding-top:calc(var(--volr-spacing)*3)}.volr\\:pt-4{padding-top:calc(var(--volr-spacing)*4)}.volr\\:pr-3{padding-right:calc(var(--volr-spacing)*3)}.volr\\:pb-2{padding-bottom:calc(var(--volr-spacing)*2)}.volr\\:pb-4{padding-bottom:calc(var(--volr-spacing)*4)}.volr\\:pl-11{padding-left:calc(var(--volr-spacing)*11)}.volr\\:text-center{text-align:center}.volr\\:text-left{text-align:left}.volr\\:text-right{text-align:right}.volr\\:align-baseline{vertical-align:baseline}.volr\\:font-mono{font-family:var(--volr-font-mono)}.volr\\:text-2xl{font-size:var(--volr-text-2xl);line-height:var(--volr-tw-leading,var(--volr-text-2xl--line-height))}.volr\\:text-8xl{font-size:var(--volr-text-8xl);line-height:var(--volr-tw-leading,var(--volr-text-8xl--line-height))}.volr\\:text-base{font-size:var(--volr-text-base);line-height:var(--volr-tw-leading,var(--volr-text-base--line-height))}.volr\\:text-lg{font-size:var(--volr-text-lg);line-height:var(--volr-tw-leading,var(--volr-text-lg--line-height))}.volr\\:text-sm{font-size:var(--volr-text-sm);line-height:var(--volr-tw-leading,var(--volr-text-sm--line-height))}.volr\\:text-xl{font-size:var(--volr-text-xl);line-height:var(--volr-tw-leading,var(--volr-text-xl--line-height))}.volr\\:text-xs{font-size:var(--volr-text-xs);line-height:var(--volr-tw-leading,var(--volr-text-xs--line-height))}.volr\\:leading-relaxed{--volr-tw-leading:var(--volr-leading-relaxed);line-height:var(--volr-leading-relaxed)}.volr\\:font-bold{--volr-tw-font-weight:var(--volr-font-weight-bold);font-weight:var(--volr-font-weight-bold)}.volr\\:font-medium{--volr-tw-font-weight:var(--volr-font-weight-medium);font-weight:var(--volr-font-weight-medium)}.volr\\:font-semibold{--volr-tw-font-weight:var(--volr-font-weight-semibold);font-weight:var(--volr-font-weight-semibold)}.volr\\:tracking-wide{--volr-tw-tracking:var(--volr-tracking-wide);letter-spacing:var(--volr-tracking-wide)}.volr\\:break-all{word-break:break-all}.volr\\:text-emerald-600{color:var(--volr-color-emerald-600)}.volr\\:text-gray-500{color:var(--volr-color-gray-500)}.volr\\:text-green-600{color:var(--volr-color-green-600)}.volr\\:text-red-500{color:var(--volr-color-red-500)}.volr\\:text-red-600{color:var(--volr-color-red-600)}.volr\\:text-red-700{color:var(--volr-color-red-700)}.volr\\:text-slate-100{color:var(--volr-color-slate-100)}.volr\\:text-slate-400{color:var(--volr-color-slate-400)}.volr\\:text-slate-500{color:var(--volr-color-slate-500)}.volr\\:text-slate-600{color:var(--volr-color-slate-600)}.volr\\:text-slate-700{color:var(--volr-color-slate-700)}.volr\\:text-slate-900{color:var(--volr-color-slate-900)}.volr\\:text-white{color:var(--volr-color-white)}.volr\\:capitalize{text-transform:capitalize}.volr\\:uppercase{text-transform:uppercase}.volr\\:underline{text-decoration-line:underline}.volr\\:opacity-0{opacity:0}.volr\\:opacity-25{opacity:.25}.volr\\:opacity-30{opacity:.3}.volr\\:opacity-50{opacity:.5}.volr\\:opacity-75{opacity:.75}.volr\\:shadow-2xl{--volr-tw-shadow:0 25px 50px -12px var(--volr-tw-shadow-color,#00000040);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-\\[0_-8px_30px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--volr-tw-shadow:0 -8px 30px var(--volr-tw-shadow-color,#0003);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-lg{--volr-tw-shadow:0 10px 15px -3px var(--volr-tw-shadow-color,#0000001a),0 4px 6px -4px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-md{--volr-tw-shadow:0 4px 6px -1px var(--volr-tw-shadow-color,#0000001a),0 2px 4px -2px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-sm{--volr-tw-shadow:0 1px 3px 0 var(--volr-tw-shadow-color,#0000001a),0 1px 2px -1px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-xl{--volr-tw-shadow:0 20px 25px -5px var(--volr-tw-shadow-color,#0000001a),0 8px 10px -6px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-emerald-500\\/50{--volr-tw-shadow-color:var(--volr-color-emerald-500)}@supports (color:color-mix(in lab, red, red)){.volr\\:shadow-emerald-500\\/50{--volr-tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--volr-color-emerald-500)50%,transparent)var(--volr-tw-shadow-alpha),transparent)}}.volr\\:blur-2xl{--volr-tw-blur:blur(var(--volr-blur-2xl));filter:var(--volr-tw-blur,)var(--volr-tw-brightness,)var(--volr-tw-contrast,)var(--volr-tw-grayscale,)var(--volr-tw-hue-rotate,)var(--volr-tw-invert,)var(--volr-tw-saturate,)var(--volr-tw-sepia,)var(--volr-tw-drop-shadow,)}.volr\\:transition-all{transition-property:all;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--volr-tw-gradient-from,--volr-tw-gradient-via,--volr-tw-gradient-to;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:duration-300{--volr-tw-duration:.3s;transition-duration:.3s}.volr\\:duration-500{--volr-tw-duration:.5s;transition-duration:.5s}.volr\\:ease-out{--volr-tw-ease:var(--volr-ease-out);transition-timing-function:var(--volr-ease-out)}.volr\\:outline-none{--volr-tw-outline-style:none;outline-style:none}@media (hover:hover){.volr\\:hover\\:border-slate-300:hover{border-color:var(--volr-color-slate-300)}.volr\\:hover\\:bg-slate-50:hover{background-color:var(--volr-color-slate-50)}.volr\\:hover\\:text-slate-700:hover{color:var(--volr-color-slate-700)}}.volr\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.volr\\:disabled\\:opacity-50:disabled{opacity:.5}.volr-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.volr-text-secondary{color:var(--volr-text-secondary)}.volr-text-muted{color:var(--volr-text-muted)}.volr-bg-secondary{background-color:var(--volr-bg-secondary)}.volr-bg-tertiary{background-color:var(--volr-bg-tertiary)}.volr-border{border-color:var(--volr-border)}.volr-border-strong{border-color:var(--volr-border-strong)}.volr-divider-line{background-color:var(--volr-border)}.volr-error{background-color:var(--volr-error-bg);border-color:var(--volr-error-border);color:var(--volr-error-text)}.volr-hover:hover{background-color:var(--volr-hover-bg)}.volr-surface{background-color:var(--volr-bg)}}@property --volr-tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --volr-tw-gradient-position{syntax:"*";inherits:false}@property --volr-tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-stops{syntax:"*";inherits:false}@property --volr-tw-gradient-via-stops{syntax:"*";inherits:false}@property --volr-tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --volr-tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --volr-tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --volr-tw-leading{syntax:"*";inherits:false}@property --volr-tw-font-weight{syntax:"*";inherits:false}@property --volr-tw-tracking{syntax:"*";inherits:false}@property --volr-tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-shadow-color{syntax:"*";inherits:false}@property --volr-tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-inset-shadow-color{syntax:"*";inherits:false}@property --volr-tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-ring-color{syntax:"*";inherits:false}@property --volr-tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-inset-ring-color{syntax:"*";inherits:false}@property --volr-tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-ring-inset{syntax:"*";inherits:false}@property --volr-tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --volr-tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --volr-tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-blur{syntax:"*";inherits:false}@property --volr-tw-brightness{syntax:"*";inherits:false}@property --volr-tw-contrast{syntax:"*";inherits:false}@property --volr-tw-grayscale{syntax:"*";inherits:false}@property --volr-tw-hue-rotate{syntax:"*";inherits:false}@property --volr-tw-invert{syntax:"*";inherits:false}@property --volr-tw-opacity{syntax:"*";inherits:false}@property --volr-tw-saturate{syntax:"*";inherits:false}@property --volr-tw-sepia{syntax:"*";inherits:false}@property --volr-tw-drop-shadow{syntax:"*";inherits:false}@property --volr-tw-drop-shadow-color{syntax:"*";inherits:false}@property --volr-tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-drop-shadow-size{syntax:"*";inherits:false}@property --volr-tw-duration{syntax:"*";inherits:false}@property --volr-tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}';
745
745
  function useResolvedTheme(theme = "light") {
746
- const [resolvedTheme, setResolvedTheme] = React13.useState(() => {
746
+ const [resolvedTheme, setResolvedTheme] = React12.useState(() => {
747
747
  if (theme !== "system") return theme;
748
748
  if (typeof window === "undefined") return "light";
749
749
  return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
750
750
  });
751
- React13.useEffect(() => {
751
+ React12.useEffect(() => {
752
752
  if (theme !== "system") {
753
753
  setResolvedTheme(theme);
754
754
  return;
@@ -764,10 +764,10 @@ function useResolvedTheme(theme = "light") {
764
764
  return resolvedTheme;
765
765
  }
766
766
  function ShadowPortal({ children, theme = "light" }) {
767
- const [mountNode, setMountNode] = React13.useState(null);
768
- const hostRef = React13.useRef(null);
767
+ const [mountNode, setMountNode] = React12.useState(null);
768
+ const hostRef = React12.useRef(null);
769
769
  const resolvedTheme = useResolvedTheme(theme);
770
- React13.useEffect(() => {
770
+ React12.useEffect(() => {
771
771
  const host = document.createElement("div");
772
772
  host.id = "volr-shadow-portal";
773
773
  host.style.position = "fixed";
@@ -791,7 +791,7 @@ function ShadowPortal({ children, theme = "light" }) {
791
791
  hostRef.current = null;
792
792
  };
793
793
  }, []);
794
- React13.useEffect(() => {
794
+ React12.useEffect(() => {
795
795
  if (hostRef.current) {
796
796
  hostRef.current.setAttribute("data-theme", resolvedTheme);
797
797
  }
@@ -800,7 +800,7 @@ function ShadowPortal({ children, theme = "light" }) {
800
800
  return reactDom.createPortal(children, mountNode);
801
801
  }
802
802
  function useFocusTrap(isActive, containerRef) {
803
- const previousActiveElement = React13.useRef(null);
803
+ const previousActiveElement = React12.useRef(null);
804
804
  const focusableSelector = [
805
805
  "button:not([disabled])",
806
806
  "input:not([disabled])",
@@ -809,7 +809,7 @@ function useFocusTrap(isActive, containerRef) {
809
809
  "a[href]",
810
810
  '[tabindex]:not([tabindex="-1"])'
811
811
  ].join(", ");
812
- const getFocusableElements = React13.useCallback(() => {
812
+ const getFocusableElements = React12.useCallback(() => {
813
813
  if (!containerRef.current) return [];
814
814
  return Array.from(
815
815
  containerRef.current.querySelectorAll(focusableSelector)
@@ -817,7 +817,7 @@ function useFocusTrap(isActive, containerRef) {
817
817
  return el.offsetParent !== null;
818
818
  });
819
819
  }, [containerRef, focusableSelector]);
820
- const handleKeyDown = React13.useCallback(
820
+ const handleKeyDown = React12.useCallback(
821
821
  (event) => {
822
822
  if (event.key !== "Tab") return;
823
823
  const focusableElements = getFocusableElements();
@@ -838,7 +838,7 @@ function useFocusTrap(isActive, containerRef) {
838
838
  },
839
839
  [getFocusableElements]
840
840
  );
841
- React13.useEffect(() => {
841
+ React12.useEffect(() => {
842
842
  if (!isActive) return;
843
843
  previousActiveElement.current = document.activeElement;
844
844
  const focusableElements = getFocusableElements();
@@ -869,12 +869,12 @@ var Modal = ({
869
869
  }) => {
870
870
  const isMobile2 = useMediaQuery("(max-width: 500px)");
871
871
  const variant = explicitVariant ?? (isMobile2 ? "bottom-sheet" : "centered");
872
- const dialogRef = React13.useRef(null);
873
- const dialogId = React13.useId();
872
+ const dialogRef = React12.useRef(null);
873
+ const dialogId = React12.useId();
874
874
  const uiContext = useVolrUIOptional();
875
875
  const theme = uiContext?.theme ?? "light";
876
876
  useFocusTrap(open, dialogRef);
877
- React13.useEffect(() => {
877
+ React12.useEffect(() => {
878
878
  const handleEscape = (e) => {
879
879
  if (e.key === "Escape" && open) {
880
880
  if (onEscapeKeyDown) {
@@ -1328,7 +1328,7 @@ var variantMap = {
1328
1328
  ghost: { backgroundColor: "transparent", color: "var(--volr-text-secondary)", border: "none" },
1329
1329
  outline: { backgroundColor: "transparent", color: "var(--volr-text-secondary)", border: "1px solid var(--volr-border)" }
1330
1330
  };
1331
- var Button = React13__default.default.forwardRef(
1331
+ var Button = React12__default.default.forwardRef(
1332
1332
  ({ variant = "primary", size = "md", fullWidth, className, style, disabled, children, ...props }, ref) => {
1333
1333
  const { accentColor } = useVolrUI();
1334
1334
  const sizeStyle = sizeMap[size];
@@ -1436,12 +1436,12 @@ function PasskeyEnrollView({
1436
1436
  isEnrolling,
1437
1437
  error: enrollmentError
1438
1438
  } = react.usePasskeyEnrollment();
1439
- const [hasStarted, setHasStarted] = React13.useState(false);
1440
- const [errorMessage, setErrorMessage] = React13.useState(null);
1441
- const [isRefreshing, setIsRefreshing] = React13.useState(false);
1439
+ const [hasStarted, setHasStarted] = React12.useState(false);
1440
+ const [errorMessage, setErrorMessage] = React12.useState(null);
1441
+ const [isRefreshing, setIsRefreshing] = React12.useState(false);
1442
1442
  const biometricType = getBiometricType();
1443
1443
  const hasPasskey = user?.keyStorageType === "passkey";
1444
- React13.useEffect(() => {
1444
+ React12.useEffect(() => {
1445
1445
  console.log("[PasskeyEnrollView] User state:", {
1446
1446
  user,
1447
1447
  keyStorageType: user?.keyStorageType,
@@ -1449,7 +1449,7 @@ function PasskeyEnrollView({
1449
1449
  hasPasskey
1450
1450
  });
1451
1451
  }, [user, hasPasskey]);
1452
- React13.useEffect(() => {
1452
+ React12.useEffect(() => {
1453
1453
  if (hasPasskey && !user?.evmAddress && !isRefreshing) {
1454
1454
  const refreshUserData = async () => {
1455
1455
  try {
@@ -1480,7 +1480,7 @@ function PasskeyEnrollView({
1480
1480
  refreshUserData();
1481
1481
  }
1482
1482
  }, [hasPasskey, user?.evmAddress, isRefreshing, client, setUser, user]);
1483
- React13.useEffect(() => {
1483
+ React12.useEffect(() => {
1484
1484
  if (!user?.id) {
1485
1485
  const error = new Error("User ID is required for passkey enrollment");
1486
1486
  setErrorMessage(getUserFriendlyError(error, t));
@@ -1489,7 +1489,7 @@ function PasskeyEnrollView({
1489
1489
  }
1490
1490
  }
1491
1491
  }, [user, onError, t]);
1492
- React13.useEffect(() => {
1492
+ React12.useEffect(() => {
1493
1493
  if (enrollmentError) {
1494
1494
  const friendlyMessage = getUserFriendlyError(enrollmentError, t);
1495
1495
  setErrorMessage(friendlyMessage);
@@ -1646,8 +1646,8 @@ function MpcConnectView({
1646
1646
  isConnecting,
1647
1647
  error: connectionError
1648
1648
  } = react.useMpcConnection();
1649
- const [errorMessage, setErrorMessage] = React13.useState(null);
1650
- React13.useEffect(() => {
1649
+ const [errorMessage, setErrorMessage] = React12.useState(null);
1650
+ React12.useEffect(() => {
1651
1651
  if (connectionError) {
1652
1652
  setErrorMessage(connectionError.message);
1653
1653
  if (onError) {
@@ -1655,7 +1655,7 @@ function MpcConnectView({
1655
1655
  }
1656
1656
  }
1657
1657
  }, [connectionError, onError]);
1658
- React13.useEffect(() => {
1658
+ React12.useEffect(() => {
1659
1659
  handleConnect();
1660
1660
  }, []);
1661
1661
  const handleConnect = async () => {
@@ -1716,7 +1716,7 @@ function MpcConnectView({
1716
1716
  );
1717
1717
  }
1718
1718
  var CopyButton = ({ text, className, onCopy }) => {
1719
- const [copied, setCopied] = React13.useState(false);
1719
+ const [copied, setCopied] = React12.useState(false);
1720
1720
  const handleCopy = async () => {
1721
1721
  try {
1722
1722
  await navigator.clipboard.writeText(text);
@@ -1899,7 +1899,7 @@ function PoweredBy() {
1899
1899
  fill: "none",
1900
1900
  xmlns: "http://www.w3.org/2000/svg",
1901
1901
  className: "volr:inline-block volr:h-[0.8em] volr:w-auto volr:align-baseline volr-text-secondary",
1902
- style: { fill: "currentColor" },
1902
+ style: { fill: "#303030" },
1903
1903
  "aria-label": "Volr",
1904
1904
  children: /* @__PURE__ */ jsxRuntime.jsx(
1905
1905
  "path",
@@ -1914,9 +1914,9 @@ function PoweredBy() {
1914
1914
  }
1915
1915
  function EmailInlineInput({ onSubmit, accentColor }) {
1916
1916
  const { t } = useI18n();
1917
- const [email, setEmail] = React13.useState("");
1918
- const [error, setError] = React13.useState(null);
1919
- const [isLoading, setIsLoading] = React13.useState(false);
1917
+ const [email, setEmail] = React12.useState("");
1918
+ const [error, setError] = React12.useState(null);
1919
+ const [isLoading, setIsLoading] = React12.useState(false);
1920
1920
  const handleSubmit = async (e) => {
1921
1921
  e.preventDefault();
1922
1922
  setError(null);
@@ -2040,14 +2040,14 @@ function SigninSelectScreen({
2040
2040
  function CodeInputScreen({ email, onSubmit, onResend }) {
2041
2041
  const { t } = useI18n();
2042
2042
  const { accentColor } = useVolrUI();
2043
- const [digits, setDigits] = React13.useState(Array(6).fill(""));
2044
- const [error, setError] = React13.useState(null);
2045
- const [isLoading, setIsLoading] = React13.useState(false);
2046
- const inputRefs = React13.useRef([]);
2047
- React13.useEffect(() => {
2043
+ const [digits, setDigits] = React12.useState(Array(6).fill(""));
2044
+ const [error, setError] = React12.useState(null);
2045
+ const [isLoading, setIsLoading] = React12.useState(false);
2046
+ const inputRefs = React12.useRef([]);
2047
+ React12.useEffect(() => {
2048
2048
  inputRefs.current[0]?.focus();
2049
2049
  }, []);
2050
- React13.useEffect(() => {
2050
+ React12.useEffect(() => {
2051
2051
  const code = digits.join("");
2052
2052
  if (code.length === 6 && !isLoading) {
2053
2053
  handleSubmit(code);
@@ -2210,23 +2210,23 @@ function SiweLoginScreen({
2210
2210
  checkSiweSession,
2211
2211
  getSiweSignUrl
2212
2212
  } = react.useVolrLogin();
2213
- const [isLoading, setIsLoading] = React13.useState(false);
2214
- const [loadingWallet, setLoadingWallet] = React13.useState(null);
2215
- const [error, setError] = React13.useState(null);
2216
- const [providers, setProviders] = React13.useState([]);
2217
- const [isDetecting, setIsDetecting] = React13.useState(true);
2218
- const [hasLegacyWallet, setHasLegacyWallet] = React13.useState(false);
2219
- const [showOtherWallet, setShowOtherWallet] = React13.useState(false);
2220
- const [sessionUrl, setSessionUrl] = React13.useState(null);
2221
- const [isPolling, setIsPolling] = React13.useState(false);
2222
- const pollingRef = React13.useRef(null);
2223
- const sessionCreatedRef = React13.useRef(false);
2224
- React13.useEffect(() => {
2213
+ const [isLoading, setIsLoading] = React12.useState(false);
2214
+ const [loadingWallet, setLoadingWallet] = React12.useState(null);
2215
+ const [error, setError] = React12.useState(null);
2216
+ const [providers, setProviders] = React12.useState([]);
2217
+ const [isDetecting, setIsDetecting] = React12.useState(true);
2218
+ const [hasLegacyWallet, setHasLegacyWallet] = React12.useState(false);
2219
+ const [showOtherWallet, setShowOtherWallet] = React12.useState(false);
2220
+ const [sessionUrl, setSessionUrl] = React12.useState(null);
2221
+ const [isPolling, setIsPolling] = React12.useState(false);
2222
+ const pollingRef = React12.useRef(null);
2223
+ const sessionCreatedRef = React12.useRef(false);
2224
+ React12.useEffect(() => {
2225
2225
  return () => {
2226
2226
  if (pollingRef.current) clearInterval(pollingRef.current);
2227
2227
  };
2228
2228
  }, []);
2229
- React13.useEffect(() => {
2229
+ React12.useEffect(() => {
2230
2230
  if (typeof window === "undefined") {
2231
2231
  setIsDetecting(false);
2232
2232
  return;
@@ -2252,7 +2252,7 @@ function SiweLoginScreen({
2252
2252
  };
2253
2253
  }, []);
2254
2254
  const hasAnyWallet = providers.length > 0 || hasLegacyWallet;
2255
- const createSession = React13.useCallback(async () => {
2255
+ const createSession = React12.useCallback(async () => {
2256
2256
  if (sessionCreatedRef.current || sessionUrl) return;
2257
2257
  sessionCreatedRef.current = true;
2258
2258
  try {
@@ -2294,17 +2294,17 @@ function SiweLoginScreen({
2294
2294
  onError(err instanceof Error ? err : new Error("Failed to create session"));
2295
2295
  }
2296
2296
  }, [createSiweSession, getSiweSignUrl, checkSiweSession, onSuccess, onError, t, sessionUrl]);
2297
- React13.useEffect(() => {
2297
+ React12.useEffect(() => {
2298
2298
  if (!isDetecting && !hasAnyWallet && !sessionUrl) {
2299
2299
  createSession();
2300
2300
  }
2301
2301
  }, [isDetecting, hasAnyWallet, sessionUrl, createSession]);
2302
- React13.useEffect(() => {
2302
+ React12.useEffect(() => {
2303
2303
  if (showOtherWallet && !sessionUrl) {
2304
2304
  createSession();
2305
2305
  }
2306
2306
  }, [showOtherWallet, sessionUrl, createSession]);
2307
- const handleWalletClick = React13.useCallback(async (provider, walletName, walletConnector) => {
2307
+ const handleWalletClick = React12.useCallback(async (provider, walletName, walletConnector) => {
2308
2308
  setError(null);
2309
2309
  setIsLoading(true);
2310
2310
  setLoadingWallet(walletName);
@@ -2328,7 +2328,7 @@ function SiweLoginScreen({
2328
2328
  setLoadingWallet(null);
2329
2329
  }
2330
2330
  }, [signWithWallet, onSuccess, onError]);
2331
- const handleLegacyWalletClick = React13.useCallback(async () => {
2331
+ const handleLegacyWalletClick = React12.useCallback(async () => {
2332
2332
  if (typeof window === "undefined" || !window.ethereum) return;
2333
2333
  const ethereum = window.ethereum;
2334
2334
  let walletName = "Wallet";
@@ -2337,7 +2337,7 @@ function SiweLoginScreen({
2337
2337
  else if (ethereum.isRabby) walletName = "Rabby";
2338
2338
  await handleWalletClick(ethereum, walletName);
2339
2339
  }, [handleWalletClick]);
2340
- const cancelOtherWallet = React13.useCallback(() => {
2340
+ const cancelOtherWallet = React12.useCallback(() => {
2341
2341
  if (pollingRef.current) {
2342
2342
  clearInterval(pollingRef.current);
2343
2343
  pollingRef.current = null;
@@ -2483,13 +2483,13 @@ function SigninModal({ isOpen, onClose, onError }) {
2483
2483
  const { logout, user } = react.useVolrContext();
2484
2484
  const { appName, branding } = useVolrUI();
2485
2485
  const { requestEmailCode, verifyEmailCode, handleSocialLogin } = react.useVolrLogin();
2486
- const [currentScreen, setCurrentScreen] = React13.useState("method-select");
2487
- const [email, setEmail] = React13.useState("");
2486
+ const [currentScreen, setCurrentScreen] = React12.useState("method-select");
2487
+ const [email, setEmail] = React12.useState("");
2488
2488
  const hasPasskey = user?.keyStorageType === "passkey";
2489
2489
  const isMobile2 = useMediaQuery("(max-width: 500px)");
2490
2490
  const isWideViewport = useMediaQuery("(min-width: 864px)");
2491
2491
  const shouldUseWideLayout = !isMobile2 && isWideViewport && Boolean(branding) && currentScreen === "method-select";
2492
- React13.useEffect(() => {
2492
+ React12.useEffect(() => {
2493
2493
  if (!isOpen) {
2494
2494
  setCurrentScreen("method-select");
2495
2495
  setEmail("");
@@ -2650,7 +2650,7 @@ function SigninModal({ isOpen, onClose, onError }) {
2650
2650
  function AccountModal({ isOpen, onClose, onError }) {
2651
2651
  const { user, logout } = react.useVolrContext();
2652
2652
  const { t } = useI18n();
2653
- const [isLoggingOut, setIsLoggingOut] = React13.useState(false);
2653
+ const [isLoggingOut, setIsLoggingOut] = React12.useState(false);
2654
2654
  if (!user) {
2655
2655
  return /* @__PURE__ */ jsxRuntime.jsx(SigninModal, { isOpen, onClose, onError });
2656
2656
  }
@@ -2659,9 +2659,7 @@ function AccountModal({ isOpen, onClose, onError }) {
2659
2659
  onClose();
2660
2660
  };
2661
2661
  const handlePasskeyError = (error) => {
2662
- if (onError) {
2663
- onError(error);
2664
- }
2662
+ if (onError) onError(error);
2665
2663
  };
2666
2664
  const handleLogout2 = async () => {
2667
2665
  try {
@@ -2708,13 +2706,7 @@ function AccountModal({ isOpen, onClose, onError }) {
2708
2706
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "volr:text-xs volr:mb-1 volr-text-secondary", children: t("account.walletAddress") }),
2709
2707
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "volr:font-mono volr:text-sm volr:font-medium", children: displayAddress })
2710
2708
  ] }),
2711
- /* @__PURE__ */ jsxRuntime.jsx(
2712
- CopyButton,
2713
- {
2714
- text: user.evmAddress,
2715
- className: "volr:shrink-0"
2716
- }
2717
- )
2709
+ /* @__PURE__ */ jsxRuntime.jsx(CopyButton, { text: user.evmAddress, className: "volr:shrink-0" })
2718
2710
  ] }),
2719
2711
  user.email && !user.email.includes("@wallet.") && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:mt-4 volr:pt-4 volr:border-t volr-border", children: [
2720
2712
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "volr:text-xs volr:mb-1 volr-text-secondary", children: t("account.email") }),
@@ -2784,7 +2776,7 @@ function AssetSelectView({
2784
2776
  }) })
2785
2777
  ] });
2786
2778
  }
2787
- var TextLinkButton = React13__default.default.forwardRef(({ showArrow = false, className, children, ...props }, ref) => {
2779
+ var TextLinkButton = React12__default.default.forwardRef(({ showArrow = false, className, children, ...props }, ref) => {
2788
2780
  return /* @__PURE__ */ jsxRuntime.jsxs(
2789
2781
  "button",
2790
2782
  {
@@ -3043,7 +3035,7 @@ var DepositCompletedToast = ({
3043
3035
  symbol
3044
3036
  }) => {
3045
3037
  const { t } = useI18n();
3046
- const [expanded, setExpanded] = React13.useState(false);
3038
+ const [expanded, setExpanded] = React12.useState(false);
3047
3039
  const formatAmount = (amount) => {
3048
3040
  const divisor = BigInt(10 ** decimals);
3049
3041
  const whole = amount / divisor;
@@ -3198,10 +3190,10 @@ function DepositQRView(props) {
3198
3190
  const { t } = useI18n();
3199
3191
  const { config } = react.useVolrContext();
3200
3192
  const { client } = react.useInternalAuth();
3201
- const [chainName, setChainName] = React13.useState(null);
3202
- const [showOtherTokenModal, setShowOtherTokenModal] = React13.useState(false);
3203
- const [showToast, setShowToast] = React13.useState(false);
3204
- const [toastData, setToastData] = React13.useState(null);
3193
+ const [chainName, setChainName] = React12.useState(null);
3194
+ const [showOtherTokenModal, setShowOtherTokenModal] = React12.useState(false);
3195
+ const [showToast, setShowToast] = React12.useState(false);
3196
+ const [toastData, setToastData] = React12.useState(null);
3205
3197
  const eip681 = `ethereum:${props.address}`;
3206
3198
  const status = react.useDepositListener({
3207
3199
  chainId: props.chainId,
@@ -3214,7 +3206,7 @@ function DepositQRView(props) {
3214
3206
  },
3215
3207
  address: props.address
3216
3208
  });
3217
- React13.useEffect(() => {
3209
+ React12.useEffect(() => {
3218
3210
  if (status.state === "detected") {
3219
3211
  setToastData({
3220
3212
  previousBalance: status.previousBalance,
@@ -3224,11 +3216,11 @@ function DepositQRView(props) {
3224
3216
  setShowToast(true);
3225
3217
  }
3226
3218
  }, [status]);
3227
- const getNetworkInfo = React13.useCallback(
3219
+ const getNetworkInfo = React12.useCallback(
3228
3220
  react.createGetNetworkInfo({ client, rpcOverrides: config.rpcOverrides }),
3229
3221
  [client, config.rpcOverrides]
3230
3222
  );
3231
- React13.useEffect(() => {
3223
+ React12.useEffect(() => {
3232
3224
  let cancelled = false;
3233
3225
  const loadChainName = async () => {
3234
3226
  try {
@@ -3395,11 +3387,11 @@ var DepositModal = ({
3395
3387
  }) => {
3396
3388
  const { user } = react.useVolrContext();
3397
3389
  const { client } = react.useInternalAuth();
3398
- const [depositAssets, setDepositAssets] = React13.useState([]);
3399
- const [isLoading, setIsLoading] = React13.useState(true);
3400
- const [error, setError] = React13.useState(null);
3401
- const [selectedIdx, setSelectedIdx] = React13.useState(-1);
3402
- React13.useEffect(() => {
3390
+ const [depositAssets, setDepositAssets] = React12.useState([]);
3391
+ const [isLoading, setIsLoading] = React12.useState(true);
3392
+ const [error, setError] = React12.useState(null);
3393
+ const [selectedIdx, setSelectedIdx] = React12.useState(-1);
3394
+ React12.useEffect(() => {
3403
3395
  if (!open) return;
3404
3396
  setIsLoading(true);
3405
3397
  setError(null);
@@ -3426,12 +3418,12 @@ var DepositModal = ({
3426
3418
  if (depositAssets.length === 1) return 0;
3427
3419
  return -1;
3428
3420
  };
3429
- React13.useEffect(() => {
3421
+ React12.useEffect(() => {
3430
3422
  if (open && !isLoading && depositAssets.length > 0) {
3431
3423
  setSelectedIdx(getInitialIndex());
3432
3424
  }
3433
3425
  }, [open, isLoading, depositAssets.length, asset]);
3434
- React13.useEffect(() => {
3426
+ React12.useEffect(() => {
3435
3427
  if (!open) {
3436
3428
  setSelectedIdx(-1);
3437
3429
  }
@@ -3579,7 +3571,7 @@ function usePaymentModalState(open, onOpenChange) {
3579
3571
  const { evm } = react.useVolr();
3580
3572
  const { paymentOptions } = useVolrModal();
3581
3573
  const { createPayment, updatePaymentToProcessing, pollPaymentStatus, failPendingPayment } = react.useVolrPaymentApi();
3582
- const [state, dispatch] = React13.useReducer(paymentModalReducer, initialState);
3574
+ const [state, dispatch] = React12.useReducer(paymentModalReducer, initialState);
3583
3575
  const tokensWithBalances = state.tokens.map((token) => {
3584
3576
  const balanceData = state.tokenBalances.get(token.id);
3585
3577
  return {
@@ -3591,7 +3583,7 @@ function usePaymentModalState(open, onOpenChange) {
3591
3583
  });
3592
3584
  const selectedToken = state.selectedTokenId ? tokensWithBalances.find((t) => t.id === state.selectedTokenId) ?? null : null;
3593
3585
  const isBalanceLoading = tokensWithBalances.some((t) => t.isBalanceLoading);
3594
- const fetchTokenBalance = React13.useCallback(
3586
+ const fetchTokenBalance = React12.useCallback(
3595
3587
  async (token) => {
3596
3588
  if (!user?.evmAddress) {
3597
3589
  dispatch({
@@ -3639,20 +3631,20 @@ function usePaymentModalState(open, onOpenChange) {
3639
3631
  },
3640
3632
  [user, evm]
3641
3633
  );
3642
- const fetchAllBalances = React13.useCallback(
3634
+ const fetchAllBalances = React12.useCallback(
3643
3635
  async (tokens) => {
3644
3636
  await Promise.all(tokens.map((token) => fetchTokenBalance(token)));
3645
3637
  },
3646
3638
  [fetchTokenBalance]
3647
3639
  );
3648
- const fetchBranding = React13.useCallback(async () => {
3640
+ const fetchBranding = React12.useCallback(async () => {
3649
3641
  try {
3650
3642
  const response = await client.get("/auth/branding");
3651
3643
  dispatch({ type: "SET_LOGO_URL", logoUrl: response.logoUrl });
3652
3644
  } catch {
3653
3645
  }
3654
3646
  }, [client]);
3655
- const fetchPaymentConfig = React13.useCallback(async () => {
3647
+ const fetchPaymentConfig = React12.useCallback(async () => {
3656
3648
  dispatch({ type: "SET_CONFIG_LOADING", loading: true });
3657
3649
  try {
3658
3650
  const response = await client.get("/payments/config");
@@ -3669,7 +3661,7 @@ function usePaymentModalState(open, onOpenChange) {
3669
3661
  dispatch({ type: "SET_CONFIG_LOADING", loading: false });
3670
3662
  }
3671
3663
  }, [client, fetchAllBalances]);
3672
- const selectBestToken = React13.useCallback(() => {
3664
+ const selectBestToken = React12.useCallback(() => {
3673
3665
  if (state.tokens.length === 0) return;
3674
3666
  if (state.selectedTokenId) return;
3675
3667
  let bestTokenId = state.tokens[0].id;
@@ -3683,7 +3675,7 @@ function usePaymentModalState(open, onOpenChange) {
3683
3675
  }
3684
3676
  dispatch({ type: "SELECT_TOKEN", tokenId: bestTokenId });
3685
3677
  }, [state.tokens, state.tokenBalances, state.selectedTokenId]);
3686
- React13.useEffect(() => {
3678
+ React12.useEffect(() => {
3687
3679
  if (open && paymentOptions?.options) {
3688
3680
  if (state.step === "processing" || state.step === "result") {
3689
3681
  return;
@@ -3695,15 +3687,15 @@ function usePaymentModalState(open, onOpenChange) {
3695
3687
  dispatch({ type: "RESET" });
3696
3688
  }
3697
3689
  }, [open, paymentOptions?.options?.amount]);
3698
- React13.useEffect(() => {
3690
+ React12.useEffect(() => {
3699
3691
  if (!isBalanceLoading && state.tokens.length > 0 && !state.selectedTokenId) {
3700
3692
  selectBestToken();
3701
3693
  }
3702
3694
  }, [isBalanceLoading, state.tokens.length, state.selectedTokenId, selectBestToken]);
3703
- const handleSelectToken = React13.useCallback((tokenId) => {
3695
+ const handleSelectToken = React12.useCallback((tokenId) => {
3704
3696
  dispatch({ type: "SELECT_TOKEN", tokenId });
3705
3697
  }, []);
3706
- const handlePay = React13.useCallback(async () => {
3698
+ const handlePay = React12.useCallback(async () => {
3707
3699
  const { payOptions, receiverAddress, selectedTokenId } = state;
3708
3700
  if (!payOptions || !user?.evmAddress || !paymentOptions || !receiverAddress || !selectedTokenId) {
3709
3701
  return;
@@ -3790,10 +3782,10 @@ function usePaymentModalState(open, onOpenChange) {
3790
3782
  pollPaymentStatus,
3791
3783
  failPendingPayment
3792
3784
  ]);
3793
- const handleDeposit = React13.useCallback(() => {
3785
+ const handleDeposit = React12.useCallback(() => {
3794
3786
  dispatch({ type: "SHOW_DEPOSIT" });
3795
3787
  }, []);
3796
- const handleDepositClose = React13.useCallback(
3788
+ const handleDepositClose = React12.useCallback(
3797
3789
  (depositOpen) => {
3798
3790
  if (!depositOpen) {
3799
3791
  dispatch({ type: "HIDE_DEPOSIT" });
@@ -3804,19 +3796,19 @@ function usePaymentModalState(open, onOpenChange) {
3804
3796
  },
3805
3797
  [state.tokens, fetchAllBalances]
3806
3798
  );
3807
- const handleDone = React13.useCallback(() => {
3799
+ const handleDone = React12.useCallback(() => {
3808
3800
  if (state.createdPayment?.status === "CONFIRMED") {
3809
3801
  paymentOptions?.onComplete?.(state.createdPayment);
3810
3802
  }
3811
3803
  onOpenChange(false);
3812
3804
  }, [state.createdPayment, paymentOptions, onOpenChange]);
3813
- const handleRetry = React13.useCallback(() => {
3805
+ const handleRetry = React12.useCallback(() => {
3814
3806
  dispatch({ type: "RETRY" });
3815
3807
  if (state.tokens.length > 0) {
3816
3808
  fetchAllBalances(state.tokens);
3817
3809
  }
3818
3810
  }, [state.tokens, fetchAllBalances]);
3819
- const handleClose = React13.useCallback(() => {
3811
+ const handleClose = React12.useCallback(() => {
3820
3812
  if (state.step === "processing") {
3821
3813
  return;
3822
3814
  }
@@ -3825,7 +3817,7 @@ function usePaymentModalState(open, onOpenChange) {
3825
3817
  }
3826
3818
  onOpenChange(false);
3827
3819
  }, [state.step, paymentOptions, onOpenChange]);
3828
- const handleReport = React13.useCallback(async () => {
3820
+ const handleReport = React12.useCallback(async () => {
3829
3821
  const { createdPayment, error, step, txHash, selectedTokenId } = state;
3830
3822
  const tokenInfo = state.tokens.find((t) => t.id === selectedTokenId);
3831
3823
  if (!createdPayment || !error) return;
@@ -3980,10 +3972,10 @@ var TokenSelector = ({
3980
3972
  onSelect,
3981
3973
  disabled = false
3982
3974
  }) => {
3983
- const [isOpen, setIsOpen] = React13.useState(false);
3984
- const dropdownRef = React13.useRef(null);
3975
+ const [isOpen, setIsOpen] = React12.useState(false);
3976
+ const dropdownRef = React12.useRef(null);
3985
3977
  const selectedToken = tokens.find((t) => t.id === selectedTokenId);
3986
- React13.useEffect(() => {
3978
+ React12.useEffect(() => {
3987
3979
  const handleClickOutside = (event) => {
3988
3980
  if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
3989
3981
  setIsOpen(false);
@@ -4489,19 +4481,19 @@ var PaymentModal = ({
4489
4481
  )
4490
4482
  ] });
4491
4483
  };
4492
- var SignRequestContext = React13.createContext(null);
4484
+ var SignRequestContext = React12.createContext(null);
4493
4485
  function SignRequestProvider({ children }) {
4494
- const [pendingRequest, setPendingRequest] = React13.useState(null);
4495
- const resolveRef = React13.useRef(null);
4496
- const rejectRef = React13.useRef(null);
4497
- const requestSign = React13.useCallback((request) => {
4486
+ const [pendingRequest, setPendingRequest] = React12.useState(null);
4487
+ const resolveRef = React12.useRef(null);
4488
+ const rejectRef = React12.useRef(null);
4489
+ const requestSign = React12.useCallback((request) => {
4498
4490
  return new Promise((resolve, reject2) => {
4499
4491
  setPendingRequest(request);
4500
4492
  resolveRef.current = resolve;
4501
4493
  rejectRef.current = reject2;
4502
4494
  });
4503
4495
  }, []);
4504
- const approve = React13.useCallback(() => {
4496
+ const approve = React12.useCallback(() => {
4505
4497
  if (resolveRef.current) {
4506
4498
  resolveRef.current();
4507
4499
  resolveRef.current = null;
@@ -4509,7 +4501,7 @@ function SignRequestProvider({ children }) {
4509
4501
  }
4510
4502
  setPendingRequest(null);
4511
4503
  }, []);
4512
- const reject = React13.useCallback(() => {
4504
+ const reject = React12.useCallback(() => {
4513
4505
  if (rejectRef.current) {
4514
4506
  rejectRef.current(new Error("Sign request cancelled by user"));
4515
4507
  resolveRef.current = null;
@@ -4531,7 +4523,7 @@ function SignRequestProvider({ children }) {
4531
4523
  );
4532
4524
  }
4533
4525
  function useSignRequest() {
4534
- const context = React13.useContext(SignRequestContext);
4526
+ const context = React12.useContext(SignRequestContext);
4535
4527
  if (!context) {
4536
4528
  throw new Error("useSignRequest must be used within SignRequestProvider");
4537
4529
  }
@@ -4540,7 +4532,7 @@ function useSignRequest() {
4540
4532
  };
4541
4533
  }
4542
4534
  function useSignRequestInternal() {
4543
- const context = React13.useContext(SignRequestContext);
4535
+ const context = React12.useContext(SignRequestContext);
4544
4536
  if (!context) {
4545
4537
  throw new Error("useSignRequestInternal must be used within SignRequestProvider");
4546
4538
  }
@@ -4574,111 +4566,86 @@ function MessageSignView({ message }) {
4574
4566
  ] })
4575
4567
  ] });
4576
4568
  }
4577
- function CollapsibleSection({
4578
- title,
4579
- children,
4580
- defaultExpanded = false
4581
- }) {
4582
- const [isExpanded, setIsExpanded] = React13.useState(defaultExpanded);
4583
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:border volr:rounded-xl volr:overflow-hidden volr-border-strong", children: [
4569
+ function TypedDataSignView({ typedData }) {
4570
+ const [showRawData, setShowRawData] = React12.useState(false);
4571
+ const { domain, message } = typedData;
4572
+ const appName = domain.name;
4573
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:space-y-4", children: [
4574
+ appName && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:flex volr:items-center volr:gap-2", children: [
4575
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "volr:w-8 volr:h-8 volr:rounded-lg volr:bg-slate-100 volr:flex volr:items-center volr:justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "volr:text-sm volr:font-medium volr:text-slate-600", children: appName.charAt(0).toUpperCase() }) }),
4576
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4577
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "volr:text-sm volr:font-medium volr:text-slate-900", children: appName }),
4578
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "volr:text-xs volr:text-slate-500", children: "Signature Request" })
4579
+ ] })
4580
+ ] }),
4581
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:rounded-lg volr:bg-slate-50 volr:border volr:border-slate-200 volr:overflow-hidden", children: [
4582
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "volr:px-3 volr:py-2 volr:border-b volr:border-slate-200 volr:bg-slate-100", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "volr:text-xs volr:font-medium volr:text-slate-500 volr:uppercase volr:tracking-wide", children: "Data to Sign" }) }),
4583
+ /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "volr:p-3 volr:text-xs volr:text-slate-700 volr:overflow-x-auto volr:max-h-48 volr:overflow-y-auto", style: { fontFamily: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace" }, children: formatMessage(message) })
4584
+ ] }),
4584
4585
  /* @__PURE__ */ jsxRuntime.jsxs(
4585
4586
  "button",
4586
4587
  {
4587
4588
  type: "button",
4588
- onClick: () => setIsExpanded(!isExpanded),
4589
- className: "volr:w-full volr:px-4 volr:py-3 volr:flex volr:items-center volr:justify-between volr-bg-tertiary volr:transition-colors hover:volr-bg-secondary",
4589
+ onClick: () => setShowRawData(!showRawData),
4590
+ className: "volr:text-xs volr:text-slate-500 volr:hover:text-slate-700 volr:flex volr:items-center volr:gap-1 volr:transition-colors",
4590
4591
  children: [
4591
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "volr:text-sm volr:font-medium volr-text", children: title }),
4592
4592
  /* @__PURE__ */ jsxRuntime.jsx(
4593
4593
  "svg",
4594
4594
  {
4595
- className: `volr:w-4 volr:h-4 volr:transition-transform volr-text-secondary ${isExpanded ? "volr:rotate-180" : ""}`,
4595
+ className: `volr:w-3 volr:h-3 volr:transition-transform ${showRawData ? "volr:rotate-90" : ""}`,
4596
4596
  fill: "none",
4597
4597
  viewBox: "0 0 24 24",
4598
4598
  stroke: "currentColor",
4599
- children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
4599
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
4600
4600
  }
4601
- )
4601
+ ),
4602
+ showRawData ? "Hide" : "View",
4603
+ " technical details"
4602
4604
  ]
4603
4605
  }
4604
4606
  ),
4605
- isExpanded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "volr:px-4 volr:py-3 volr:border-t volr-border-strong", children })
4607
+ showRawData && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "volr:rounded-lg volr:bg-slate-50 volr:border volr:border-slate-200 volr:overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "volr:p-3 volr:text-xs volr:text-slate-600 volr:overflow-x-auto volr:max-h-64 volr:overflow-y-auto", style: { fontFamily: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace" }, children: JSON.stringify(typedData, null, 2) }) })
4606
4608
  ] });
4607
4609
  }
4608
- function renderValue(value, depth = 0) {
4609
- if (value === null || value === void 0) {
4610
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "volr-text-secondary", children: "null" });
4611
- }
4612
- if (typeof value === "boolean") {
4613
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "volr:text-blue-600", children: String(value) });
4610
+ function formatMessage(message) {
4611
+ const lines = [];
4612
+ for (const [key, value] of Object.entries(message)) {
4613
+ const formattedValue = formatValue(value);
4614
+ lines.push(`${key}: ${formattedValue}`);
4614
4615
  }
4615
- if (typeof value === "number" || typeof value === "bigint") {
4616
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "volr:text-green-600", children: String(value) });
4616
+ return lines.join("\n");
4617
+ }
4618
+ function formatValue(value, indent = 0) {
4619
+ const pad = " ".repeat(indent);
4620
+ if (value === null || value === void 0) {
4621
+ return "null";
4617
4622
  }
4618
4623
  if (typeof value === "string") {
4619
- if (value.startsWith("0x") && value.length === 42) {
4620
- return /* @__PURE__ */ jsxRuntime.jsx(
4621
- "span",
4622
- {
4623
- className: "volr:text-purple-600",
4624
- style: { fontFamily: "ui-monospace, monospace", fontSize: "0.8125rem" },
4625
- children: value
4626
- }
4627
- );
4624
+ if (value.startsWith("0x") && value.length > 20) {
4625
+ return `${value.slice(0, 10)}...${value.slice(-8)}`;
4628
4626
  }
4629
- if (value.startsWith("0x")) {
4630
- return /* @__PURE__ */ jsxRuntime.jsx(
4631
- "span",
4632
- {
4633
- className: "volr:text-orange-600",
4634
- style: { fontFamily: "ui-monospace, monospace", fontSize: "0.8125rem", wordBreak: "break-all" },
4635
- children: value
4636
- }
4637
- );
4638
- }
4639
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "volr-text", children: value });
4627
+ return value;
4628
+ }
4629
+ if (typeof value === "number" || typeof value === "bigint" || typeof value === "boolean") {
4630
+ return String(value);
4640
4631
  }
4641
4632
  if (Array.isArray(value)) {
4642
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "volr:pl-4", children: value.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:flex volr:gap-2", children: [
4643
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "volr-text-secondary", children: [
4644
- "[",
4645
- index,
4646
- "]:"
4647
- ] }),
4648
- renderValue(item, depth + 1)
4649
- ] }, index)) });
4633
+ if (value.length === 0) return "[]";
4634
+ const items = value.map((v, i) => `${pad} [${i}]: ${formatValue(v, indent + 1)}`);
4635
+ return `[
4636
+ ${items.join("\n")}
4637
+ ${pad}]`;
4650
4638
  }
4651
4639
  if (typeof value === "object") {
4652
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: depth > 0 ? "volr:pl-4" : "", children: Object.entries(value).map(([key, val]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:py-1", children: [
4653
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "volr:font-medium volr-text-secondary", children: [
4654
- key,
4655
- ":"
4656
- ] }),
4657
- " ",
4658
- renderValue(val, depth + 1)
4659
- ] }, key)) });
4640
+ const entries = Object.entries(value);
4641
+ if (entries.length === 0) return "{}";
4642
+ const items = entries.map(([k, v]) => `${pad} ${k}: ${formatValue(v, indent + 1)}`);
4643
+ return `{
4644
+ ${items.join("\n")}
4645
+ ${pad}}`;
4660
4646
  }
4661
4647
  return String(value);
4662
4648
  }
4663
- function TypedDataSignView({ typedData }) {
4664
- const { domain, message } = typedData;
4665
- const domainInfo = {
4666
- ...domain.name && { Name: domain.name },
4667
- ...domain.version && { Version: domain.version },
4668
- ...domain.chainId !== void 0 && { "Chain ID": domain.chainId },
4669
- ...domain.verifyingContract && { Contract: domain.verifyingContract }
4670
- };
4671
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:space-y-3", children: [
4672
- /* @__PURE__ */ jsxRuntime.jsx(CollapsibleSection, { title: "Domain", defaultExpanded: false, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "volr:text-sm volr:space-y-2", children: Object.entries(domainInfo).map(([key, value]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "volr:flex volr:gap-2 volr:flex-wrap", children: [
4673
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "volr:font-medium volr-text-secondary", children: [
4674
- key,
4675
- ":"
4676
- ] }),
4677
- renderValue(value)
4678
- ] }, key)) }) }),
4679
- /* @__PURE__ */ jsxRuntime.jsx(CollapsibleSection, { title: "Message", defaultExpanded: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "volr:text-sm", children: renderValue(message) }) })
4680
- ] });
4681
- }
4682
4649
  function SignRequestModal({ open, onOpenChange }) {
4683
4650
  const { pendingRequest, approve, reject } = useSignRequestInternal();
4684
4651
  const { t } = useI18n();
@@ -4746,16 +4713,16 @@ function SignRequestModal({ open, onOpenChange }) {
4746
4713
  }
4747
4714
  );
4748
4715
  }
4749
- var VolrUIContext = React13__default.default.createContext(null);
4716
+ var VolrUIContext = React12__default.default.createContext(null);
4750
4717
  var useVolrUI = () => {
4751
- const context = React13.useContext(VolrUIContext);
4718
+ const context = React12.useContext(VolrUIContext);
4752
4719
  if (!context) {
4753
4720
  throw new Error("useVolrUI must be used within VolrUIProvider");
4754
4721
  }
4755
4722
  return context;
4756
4723
  };
4757
4724
  var useVolrUIOptional = () => {
4758
- return React13.useContext(VolrUIContext);
4725
+ return React12.useContext(VolrUIContext);
4759
4726
  };
4760
4727
  function OnboardingFlow({
4761
4728
  keyStorageType,
@@ -4811,10 +4778,10 @@ var VolrUIProvider = ({
4811
4778
  const providerPolicy = config.providerPolicy ?? {
4812
4779
  enforceOnFirstLogin: true
4813
4780
  };
4814
- const [keyStorageTypeError, setKeyStorageTypeError] = React13.useState(
4781
+ const [keyStorageTypeError, setKeyStorageTypeError] = React12.useState(
4815
4782
  null
4816
4783
  );
4817
- React13.useEffect(() => {
4784
+ React12.useEffect(() => {
4818
4785
  if (providerPolicy.enforceOnFirstLogin !== false && !keyStorageType) {
4819
4786
  const errorMessage = "keyStorageType must be specified in VolrUIProvider props. Please set keyStorageType prop in VolrUIProvider.";
4820
4787
  console.error(errorMessage);
@@ -4858,7 +4825,7 @@ function VolrUIProviderInner({
4858
4825
  providerPolicy,
4859
4826
  children
4860
4827
  }) {
4861
- const [showOnboarding, setShowOnboarding] = React13.useState(false);
4828
+ const [showOnboarding, setShowOnboarding] = React12.useState(false);
4862
4829
  const { requestSign } = useSignRequest();
4863
4830
  const configWithSignRequest = {
4864
4831
  ...config,
@@ -4921,9 +4888,9 @@ function VolrUIProviderInner({
4921
4888
  }
4922
4889
  function AccountModalPortal() {
4923
4890
  const { isOpen, mode, close } = useVolrModal();
4924
- const [portalRoot, setPortalRoot] = React13.useState(null);
4925
- const [error, setError] = React13.useState(null);
4926
- React13.useEffect(() => {
4891
+ const [portalRoot, setPortalRoot] = React12.useState(null);
4892
+ const [error, setError] = React12.useState(null);
4893
+ React12.useEffect(() => {
4927
4894
  if (typeof window === "undefined") return;
4928
4895
  let root = document.getElementById("volr-modal-root");
4929
4896
  if (!root) {
@@ -4982,9 +4949,9 @@ function AccountModalPortal() {
4982
4949
  function DepositModalPortal() {
4983
4950
  const { isOpen, mode, asset, close } = useVolrModal();
4984
4951
  const { user } = react.useVolrContext();
4985
- const [portalRoot, setPortalRoot] = React13.useState(null);
4986
- const [showLogin, setShowLogin] = React13.useState(false);
4987
- React13.useEffect(() => {
4952
+ const [portalRoot, setPortalRoot] = React12.useState(null);
4953
+ const [showLogin, setShowLogin] = React12.useState(false);
4954
+ React12.useEffect(() => {
4988
4955
  if (typeof window === "undefined") return;
4989
4956
  let root = document.getElementById("volr-modal-root");
4990
4957
  if (!root) {
@@ -4999,7 +4966,7 @@ function DepositModalPortal() {
4999
4966
  }
5000
4967
  };
5001
4968
  }, []);
5002
- React13.useEffect(() => {
4969
+ React12.useEffect(() => {
5003
4970
  if (isOpen && mode === "deposit" && !user) {
5004
4971
  setShowLogin(true);
5005
4972
  } else {
@@ -5033,8 +5000,8 @@ function DepositModalPortal() {
5033
5000
  }
5034
5001
  function PaymentModalPortal() {
5035
5002
  const { isOpen, mode, close } = useVolrModal();
5036
- const [portalRoot, setPortalRoot] = React13.useState(null);
5037
- React13.useEffect(() => {
5003
+ const [portalRoot, setPortalRoot] = React12.useState(null);
5004
+ React12.useEffect(() => {
5038
5005
  if (typeof window === "undefined") return;
5039
5006
  let root = document.getElementById("volr-modal-root");
5040
5007
  if (!root) {
@@ -5063,8 +5030,8 @@ function PaymentModalPortal() {
5063
5030
  }
5064
5031
  function SignRequestModalPortal() {
5065
5032
  const { pendingRequest } = useSignRequestInternal();
5066
- const [portalRoot, setPortalRoot] = React13.useState(null);
5067
- React13.useEffect(() => {
5033
+ const [portalRoot, setPortalRoot] = React12.useState(null);
5034
+ React12.useEffect(() => {
5068
5035
  if (typeof window === "undefined") return;
5069
5036
  let root = document.getElementById("volr-modal-root");
5070
5037
  if (!root) {
@@ -5095,8 +5062,8 @@ function SignRequestModalPortal() {
5095
5062
  function OAuthCallbackHandler({
5096
5063
  onShowOnboarding
5097
5064
  }) {
5098
- const [hasCode, setHasCode] = React13.useState(false);
5099
- React13.useEffect(() => {
5065
+ const [hasCode, setHasCode] = React12.useState(false);
5066
+ React12.useEffect(() => {
5100
5067
  if (typeof window === "undefined") return;
5101
5068
  const params = new URLSearchParams(window.location.search);
5102
5069
  const code = params.get("code");
@@ -5139,13 +5106,13 @@ function OnboardingChecker({
5139
5106
  }) {
5140
5107
  const { user, provider, isLoading } = react.useVolrContext();
5141
5108
  const { isOpen: isModalOpen } = useVolrModal();
5142
- const modalWasOpened = React13__default.default.useRef(false);
5143
- React13.useEffect(() => {
5109
+ const modalWasOpened = React12__default.default.useRef(false);
5110
+ React12.useEffect(() => {
5144
5111
  if (isModalOpen) {
5145
5112
  modalWasOpened.current = true;
5146
5113
  }
5147
5114
  }, [isModalOpen]);
5148
- React13.useEffect(() => {
5115
+ React12.useEffect(() => {
5149
5116
  if (isLoading) {
5150
5117
  return;
5151
5118
  }
@@ -5188,7 +5155,7 @@ function OnboardingChecker({
5188
5155
  }
5189
5156
  function useSwitchNetwork() {
5190
5157
  const { client } = react.useInternalAuth();
5191
- return React13.useCallback(
5158
+ return React12.useCallback(
5192
5159
  async (chainId) => {
5193
5160
  if (typeof window === "undefined" || !window.ethereum) {
5194
5161
  throw new Error("No wallet found");
@@ -5252,8 +5219,8 @@ var paymentPromiseResolver = null;
5252
5219
  function useVolrPay() {
5253
5220
  const { open: openModal, close: closeModal } = useVolrModal();
5254
5221
  const { checkPayment, getPaymentHistory } = react.useVolrPaymentApi();
5255
- const isInProgressRef = React13.useRef(false);
5256
- const pay = React13.useCallback(
5222
+ const isInProgressRef = React12.useRef(false);
5223
+ const pay = React12.useCallback(
5257
5224
  (options) => {
5258
5225
  isInProgressRef.current = true;
5259
5226
  const waitPromise = new Promise((resolve, reject) => {