@coinlist-co/react 0.12.1-rc.f2804ef → 0.12.1-rc.f51a0c2

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.
@@ -59,7 +59,6 @@ __export(client_exports, {
59
59
  OAUTH_STATE_KEY: () => OAUTH_STATE_KEY,
60
60
  OfferAssetCard: () => OfferAssetCard,
61
61
  OfferAssetCardUi: () => OfferAssetCardUi,
62
- OfferLogoUi: () => OfferLogoUi,
63
62
  OfferSaleCard: () => OfferSaleCard,
64
63
  OfferSaleCardUi: () => OfferSaleCardUi,
65
64
  OffersAssetGrid: () => OffersAssetGrid,
@@ -121,7 +120,6 @@ __export(client_exports, {
121
120
  quoteOverAsks: () => quoteOverAsks,
122
121
  stablecoinIconUrl: () => stablecoinIconUrl,
123
122
  submitErc20Approval: () => submitErc20Approval,
124
- tokenLogoSrcSet: () => tokenLogoSrcSet,
125
123
  tokenLogoUrl: () => tokenLogoUrl,
126
124
  tokenMetadataOf: () => tokenMetadataOf,
127
125
  useCheckoutOfferTokenMetadata: () => useCheckoutOfferTokenMetadata,
@@ -164,7 +162,6 @@ __export(client_exports, {
164
162
  useTaxDocument: () => useTaxDocument,
165
163
  useTaxDocumentModalViewModel: () => useTaxDocumentModalViewModel,
166
164
  useTokenMetadata: () => useTokenMetadata,
167
- useTokenRegistry: () => useTokenRegistry,
168
165
  validateAmount: () => validateAmount,
169
166
  validateSellAmount: () => validateSellAmount,
170
167
  validateSuperstateAmount: () => validateSuperstateAmount
@@ -3841,52 +3838,6 @@ var Erc20NamespaceImpl = class {
3841
3838
  }
3842
3839
  };
3843
3840
 
3844
- // src/universal/core/tokens/token-registry-snapshot.ts
3845
- var TokenRegistrySnapshot = {
3846
- /** Indexes a `tokens.list()` result. `[]` is a valid, empty snapshot. */
3847
- fromTokens: (tokens) => ({
3848
- tokens,
3849
- byKey: new Map(
3850
- tokens.map((token) => [registryKey(token.identifier), token])
3851
- )
3852
- }),
3853
- /**
3854
- * The registry's entry for one token, or `null` when it lists none. The
3855
- * registry is curated, so `null` is an ordinary answer rather than an
3856
- * error, and callers fall back to their own display defaults.
3857
- */
3858
- get: (snapshot, token) => snapshot.byKey.get(registryKey(token)) ?? null,
3859
- /**
3860
- * The registry's entry for the token an offer is *about*, or `null` when
3861
- * it lists none of them.
3862
- *
3863
- * Resolution follows {@link offerDisplayTokens}: the token a sale
3864
- * distributes or a swap hands over, never the funding token the user pays
3865
- * with. An offer deployed on several chains carries one such token per
3866
- * chain, and the first the registry knows wins - they are the same asset,
3867
- * so any listed one answers for the offer.
3868
- */
3869
- forOffer: (snapshot, offer) => {
3870
- for (const token of offerDisplayTokens(offer)) {
3871
- const metadata = TokenRegistrySnapshot.get(snapshot, token);
3872
- if (metadata !== null) {
3873
- return metadata;
3874
- }
3875
- }
3876
- return null;
3877
- }
3878
- };
3879
- function offerDisplayTokens(offer) {
3880
- const swaps = offer.tokens.filter((token) => token.role === "swap");
3881
- const distributions = offer.tokens.filter(
3882
- (token) => token.role === "distribution"
3883
- );
3884
- return [...swaps, ...distributions];
3885
- }
3886
- function registryKey(token) {
3887
- return `${token.chain}:${token.address.toLowerCase()}`;
3888
- }
3889
-
3890
3841
  // src/universal/api/nabu/tokens.ts
3891
3842
  var import_viem6 = require("viem");
3892
3843
 
@@ -5087,7 +5038,7 @@ var CoinListProvider = CoinListContextProvider;
5087
5038
  var import_react4 = require("react");
5088
5039
 
5089
5040
  // src/client/generated/sdk-styles.gen.ts
5090
- var sdkStyles = '/*! tailwindcss v4.3.3 | 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{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--clcosdk-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--clcosdk-color-red-400:oklch(70.4% .191 22.216);--clcosdk-color-red-500:oklch(63.7% .237 25.331);--clcosdk-color-amber-500:oklch(76.9% .188 70.08);--clcosdk-color-gray-400:oklch(70.7% .022 261.325);--clcosdk-color-gray-500:oklch(55.1% .027 264.364);--clcosdk-color-black:#000;--clcosdk-spacing:.25rem;--clcosdk-container-sm:24rem;--clcosdk-container-md:28rem;--clcosdk-container-xl:36rem;--clcosdk-text-xs:.75rem;--clcosdk-text-xs--line-height:calc(1 / .75);--clcosdk-text-sm:.875rem;--clcosdk-text-sm--line-height:calc(1.25 / .875);--clcosdk-text-base:1rem;--clcosdk-text-base--line-height:calc(1.5 / 1);--clcosdk-text-lg:1.125rem;--clcosdk-text-lg--line-height:calc(1.75 / 1.125);--clcosdk-font-weight-normal:400;--clcosdk-font-weight-medium:500;--clcosdk-font-weight-semibold:600;--clcosdk-radius-md:.375rem;--clcosdk-radius-lg:.5rem;--clcosdk-radius-xl:.75rem;--clcosdk-radius-2xl:1rem;--clcosdk-ease-out:cubic-bezier(0, 0, .2, 1);--clcosdk-ease-in-out:cubic-bezier(.4, 0, .2, 1);--clcosdk-animate-spin:spin 1s linear infinite;--clcosdk-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--clcosdk-color-brand-primary:var(--color-brand-primary)}}@layer base{.clco-sdk-root{--color-brand-primary:#171717;--color-brand-primary-hover:#000;--color-brand-primary-active:#262626;--color-accent:#2b3a67;--color-accent-hover:#243057;--color-accent-active:#1d2647;--color-accent-focus:#c7d2fe;--color-accent-subtle:#eef1f8;--color-text-primary:#171717;--color-text-secondary:#8c8c8c;--color-text-disabled:#d1d1d1;--color-text-inverse:#fff;--color-background:#fff;--color-surface:#fafafa;--color-section:#f3f3f3;--color-border:#e5e5e5;--color-divider:#ececec;--color-overlay:#00000080;--color-positive:#15803d;--color-positive-subtle:#dcfce7;--color-negative:#dc2626;--color-negative-subtle:#fee2e2;--color-success:#2c8c5e;--color-success-subtle:#e6f4ec;--color-success-border:#cfe9db;--color-warning:#e08a1a;--color-warning-subtle:#fff7ed;--color-warning-border:#fdead7;--color-error:#b42318;--color-error-subtle:#feeceb;--color-error-border:#fbd5d2;--shadow-step-active:0px 0px 10px 0px #0000001a;--shadow-dialog:0px 8px 32px 0px #0000001a;--btn-primary-gradient:linear-gradient(180deg, #262626 0%, #1c1c1c 50%, #0f0f0f 100%);--btn-primary-shadow:inset 0px -1px 3px 0px #00000059, inset 0px 1px 2px 0px #ffffff2e, inset 0px 1px 0px 0px #ffffff1a;--sale-card-surface:linear-gradient(to top, #0a0a0a 0%, #1a1a1a 100%);--color-sale-card-text:#f4f4f5;--color-sale-card-text-muted:#a1a1aa;--color-sale-card-text-strong:#fff;--color-sale-card-border:#ffffff40;--color-sale-card-chrome-border:#ffffff4d;--color-sale-card-chrome-bg:#ffffff26;--color-sale-card-chrome-emphasis-border:#fff6;--color-sale-card-chrome-emphasis-bg:#ffffff40;--color-sale-card-focus-ring:#ffffff80;--display-on-light:block;--display-on-dark:none}@media (prefers-color-scheme:dark){.clco-sdk-root:not(:where(.light,.light *)){--color-brand-primary:#f4f4f5;--color-brand-primary-hover:#fff;--color-brand-primary-active:#e4e4e7;--color-accent:#6f82c9;--color-accent-hover:#8799e4;--color-accent-active:#5b6fcf;--color-accent-focus:#6f82c959;--color-accent-subtle:#6f82c91f;--color-text-primary:#f4f4f5;--color-text-secondary:#a1a1aa;--color-text-disabled:#71717a;--color-text-inverse:#171717;--color-background:#0f1115;--color-surface:#161a20;--color-section:#20242c;--color-border:#2a2e35;--color-divider:#323741;--color-overlay:#000000b3;--color-positive:#22c55e;--color-positive-subtle:#22c55e1f;--color-negative:#ef4444;--color-negative-subtle:#ef44441f;--color-success:#34d399;--color-success-subtle:#34d3991f;--color-success-border:#34d39940;--color-warning:#f59e0b;--color-warning-subtle:#f59e0b1f;--color-warning-border:#f59e0b40;--color-error:#f87171;--color-error-subtle:#f871711f;--color-error-border:#f8717140;--shadow-step-active:0px 0px 10px 0px #00000080;--shadow-dialog:0px 8px 32px 0px #0009;--btn-primary-gradient:linear-gradient(180deg, #fafafa 0%, #f0f0f0 50%, #e4e4e7 100%);--btn-primary-shadow:inset 0px -1px 3px 0px #0000001f, inset 0px 1px 2px 0px #fff9, inset 0px 1px 0px 0px #fff6;--display-on-light:none;--display-on-dark:block}}:where(.dark,.dark *) .clco-sdk-root{--color-brand-primary:#f4f4f5;--color-brand-primary-hover:#fff;--color-brand-primary-active:#e4e4e7;--color-accent:#6f82c9;--color-accent-hover:#8799e4;--color-accent-active:#5b6fcf;--color-accent-focus:#6f82c959;--color-accent-subtle:#6f82c91f;--color-text-primary:#f4f4f5;--color-text-secondary:#a1a1aa;--color-text-disabled:#71717a;--color-text-inverse:#171717;--color-background:#0f1115;--color-surface:#161a20;--color-section:#20242c;--color-border:#2a2e35;--color-divider:#323741;--color-overlay:#000000b3;--color-positive:#22c55e;--color-positive-subtle:#22c55e1f;--color-negative:#ef4444;--color-negative-subtle:#ef44441f;--color-success:#34d399;--color-success-subtle:#34d3991f;--color-success-border:#34d39940;--color-warning:#f59e0b;--color-warning-subtle:#f59e0b1f;--color-warning-border:#f59e0b40;--color-error:#f87171;--color-error-subtle:#f871711f;--color-error-border:#f8717140;--shadow-step-active:0px 0px 10px 0px #00000080;--shadow-dialog:0px 8px 32px 0px #0009;--btn-primary-gradient:linear-gradient(180deg, #fafafa 0%, #f0f0f0 50%, #e4e4e7 100%);--btn-primary-shadow:inset 0px -1px 3px 0px #0000001f, inset 0px 1px 2px 0px #fff9, inset 0px 1px 0px 0px #fff6;--display-on-light:none;--display-on-dark:block}.clco-sdk-root{color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.clco-sdk-root *,.clco-sdk-root :before,.clco-sdk-root :after{box-sizing:border-box}.clco-sdk-root button{appearance:none;cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.clco-sdk-root input,.clco-sdk-root textarea,.clco-sdk-root select{font:inherit;color:inherit;background:0 0;border:none;border-radius:0;padding:0}.clco-sdk-root a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.clco-sdk-root ul,.clco-sdk-root ol{margin:0;padding:0;list-style:none}.clco-sdk-root h1,.clco-sdk-root h2,.clco-sdk-root h3,.clco-sdk-root h4,.clco-sdk-root h5,.clco-sdk-root h6,.clco-sdk-root p,.clco-sdk-root figure,.clco-sdk-root blockquote,.clco-sdk-root dl,.clco-sdk-root dd,.clco-sdk-root pre{margin:0}.clco-sdk-root img,.clco-sdk-root svg{max-width:100%;display:block}@keyframes clco-status-ping{0%{opacity:.7;transform:scale(1)}75%,to{opacity:0;transform:scale(3.25)}}.clco-sdk-root .clcosdk-status-dot-ping{animation:1.6s cubic-bezier(0,0,.2,1) infinite clco-status-ping}.clco-sdk-root .clcosdk-on-light{display:var(--display-on-light)}.clco-sdk-root .clcosdk-on-dark{display:var(--display-on-dark)}@media (prefers-reduced-motion:reduce){.clco-sdk-root .clcosdk-status-dot-ping{opacity:0;animation:none}}}@layer components;@layer utilities{.clcosdk\\:pointer-events-none{pointer-events:none}.clcosdk\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.clcosdk\\:absolute{position:absolute}.clcosdk\\:fixed{position:fixed}.clcosdk\\:relative{position:relative}.clcosdk\\:inset-0{inset:0}.clcosdk\\:top-1\\/2{top:50%}.clcosdk\\:top-4{top:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:top-full{top:100%}.clcosdk\\:-right-0\\.5{right:calc(var(--clcosdk-spacing) * -.5)}.clcosdk\\:right-4{right:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:right-\\[-14\\%\\]{right:-14%}.clcosdk\\:-bottom-0\\.5{bottom:calc(var(--clcosdk-spacing) * -.5)}.clcosdk\\:bottom-full{bottom:100%}.clcosdk\\:left-1\\/2{left:50%}.clcosdk\\:z-0{z-index:0}.clcosdk\\:z-10{z-index:10}.clcosdk\\:z-50{z-index:50}.clcosdk\\:order-1{order:1}.clcosdk\\:order-2{order:2}.clcosdk\\:mt-2{margin-top:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:mt-4{margin-top:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:mt-auto{margin-top:auto}.clcosdk\\:mb-2{margin-bottom:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:flex{display:flex}.clcosdk\\:grid{display:grid}.clcosdk\\:inline-flex{display:inline-flex}.clcosdk\\:size-2{width:calc(var(--clcosdk-spacing) * 2);height:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:size-3{width:calc(var(--clcosdk-spacing) * 3);height:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:size-3\\.5{width:calc(var(--clcosdk-spacing) * 3.5);height:calc(var(--clcosdk-spacing) * 3.5)}.clcosdk\\:size-4{width:calc(var(--clcosdk-spacing) * 4);height:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:size-5{width:calc(var(--clcosdk-spacing) * 5);height:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:size-10{width:calc(var(--clcosdk-spacing) * 10);height:calc(var(--clcosdk-spacing) * 10)}.clcosdk\\:size-12{width:calc(var(--clcosdk-spacing) * 12);height:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:size-16{width:calc(var(--clcosdk-spacing) * 16);height:calc(var(--clcosdk-spacing) * 16)}.clcosdk\\:size-24{width:calc(var(--clcosdk-spacing) * 24);height:calc(var(--clcosdk-spacing) * 24)}.clcosdk\\:size-\\[15rem\\]{width:15rem;height:15rem}.clcosdk\\:size-full{width:100%;height:100%}.clcosdk\\:h-1{height:var(--clcosdk-spacing)}.clcosdk\\:h-3{height:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:h-4{height:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:h-5{height:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:h-6{height:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:h-8{height:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:h-9{height:calc(var(--clcosdk-spacing) * 9)}.clcosdk\\:h-10{height:calc(var(--clcosdk-spacing) * 10)}.clcosdk\\:h-11{height:calc(var(--clcosdk-spacing) * 11)}.clcosdk\\:h-12{height:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:h-14{height:calc(var(--clcosdk-spacing) * 14)}.clcosdk\\:h-\\[1em\\]{height:1em}.clcosdk\\:h-\\[18px\\]{height:18px}.clcosdk\\:h-\\[54px\\]{height:54px}.clcosdk\\:h-\\[71px\\]{height:71px}.clcosdk\\:h-auto{height:auto}.clcosdk\\:h-full{height:100%}.clcosdk\\:h-px{height:1px}.clcosdk\\:max-h-\\[92vh\\]{max-height:92vh}.clcosdk\\:max-h-full{max-height:100%}.clcosdk\\:min-h-0{min-height:0}.clcosdk\\:min-h-9{min-height:calc(var(--clcosdk-spacing) * 9)}.clcosdk\\:min-h-40{min-height:calc(var(--clcosdk-spacing) * 40)}.clcosdk\\:min-h-\\[1lh\\]{min-height:1lh}.clcosdk\\:min-h-screen{min-height:100vh}.clcosdk\\:w-1{width:var(--clcosdk-spacing)}.clcosdk\\:w-4{width:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:w-5{width:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:w-6{width:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:w-8{width:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:w-10{width:calc(var(--clcosdk-spacing) * 10)}.clcosdk\\:w-12{width:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:w-16{width:calc(var(--clcosdk-spacing) * 16)}.clcosdk\\:w-20{width:calc(var(--clcosdk-spacing) * 20)}.clcosdk\\:w-24{width:calc(var(--clcosdk-spacing) * 24)}.clcosdk\\:w-28{width:calc(var(--clcosdk-spacing) * 28)}.clcosdk\\:w-32{width:calc(var(--clcosdk-spacing) * 32)}.clcosdk\\:w-40{width:calc(var(--clcosdk-spacing) * 40)}.clcosdk\\:w-48{width:calc(var(--clcosdk-spacing) * 48)}.clcosdk\\:w-80{width:calc(var(--clcosdk-spacing) * 80)}.clcosdk\\:w-96{width:calc(var(--clcosdk-spacing) * 96)}.clcosdk\\:w-\\[16px\\]{width:16px}.clcosdk\\:w-\\[28rem\\]{width:28rem}.clcosdk\\:w-\\[448px\\]{width:448px}.clcosdk\\:w-auto{width:auto}.clcosdk\\:w-component{width:448px}.clcosdk\\:w-fit{width:fit-content}.clcosdk\\:w-full{width:100%}.clcosdk\\:w-max{width:max-content}.clcosdk\\:max-w-\\[16rem\\]{max-width:16rem}.clcosdk\\:max-w-\\[28rem\\]{max-width:28rem}.clcosdk\\:max-w-\\[30rem\\]{max-width:30rem}.clcosdk\\:max-w-\\[40rem\\]{max-width:40rem}.clcosdk\\:max-w-\\[56rem\\]{max-width:56rem}.clcosdk\\:max-w-\\[64rem\\]{max-width:64rem}.clcosdk\\:max-w-\\[760px\\]{max-width:760px}.clcosdk\\:max-w-full{max-width:100%}.clcosdk\\:max-w-md{max-width:var(--clcosdk-container-md)}.clcosdk\\:max-w-sm{max-width:var(--clcosdk-container-sm)}.clcosdk\\:max-w-xl{max-width:var(--clcosdk-container-xl)}.clcosdk\\:min-w-0{min-width:0}.clcosdk\\:flex-1{flex:1}.clcosdk\\:shrink-0{flex-shrink:0}.clcosdk\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.clcosdk\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.clcosdk\\:rotate-90{rotate:90deg}.clcosdk\\:rotate-180{rotate:180deg}.clcosdk\\:animate-pulse{animation:var(--clcosdk-animate-pulse)}.clcosdk\\:animate-spin{animation:var(--clcosdk-animate-spin)}.clcosdk\\:cursor-pointer{cursor:pointer}.clcosdk\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.clcosdk\\:grid-rows-\\[0fr\\]{grid-template-rows:0fr}.clcosdk\\:grid-rows-\\[1fr\\]{grid-template-rows:1fr}.clcosdk\\:flex-col{flex-direction:column}.clcosdk\\:flex-wrap{flex-wrap:wrap}.clcosdk\\:items-center{align-items:center}.clcosdk\\:items-end{align-items:flex-end}.clcosdk\\:items-start{align-items:flex-start}.clcosdk\\:justify-between{justify-content:space-between}.clcosdk\\:justify-center{justify-content:center}.clcosdk\\:justify-end{justify-content:flex-end}.clcosdk\\:gap-1{gap:var(--clcosdk-spacing)}.clcosdk\\:gap-1\\.5{gap:calc(var(--clcosdk-spacing) * 1.5)}.clcosdk\\:gap-2{gap:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:gap-2\\.5{gap:calc(var(--clcosdk-spacing) * 2.5)}.clcosdk\\:gap-3{gap:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:gap-4{gap:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:gap-6{gap:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:gap-\\[5px\\]{gap:5px}:where(.clcosdk\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--clcosdk-spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--clcosdk-spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.clcosdk\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--clcosdk-spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--clcosdk-spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.clcosdk\\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.clcosdk\\:divide-border>:not(:last-child)){border-color:var(--color-border)}:where(.clcosdk\\:divide-divider>:not(:last-child)){border-color:var(--color-divider)}.clcosdk\\:self-start{align-self:flex-start}.clcosdk\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clcosdk\\:overflow-hidden{overflow:hidden}.clcosdk\\:overflow-y-auto{overflow-y:auto}.clcosdk\\:rounded{border-radius:.25rem}.clcosdk\\:rounded-2xl{border-radius:var(--clcosdk-radius-2xl)}.clcosdk\\:rounded-\\[20px\\]{border-radius:20px}.clcosdk\\:rounded-\\[28px\\]{border-radius:28px}.clcosdk\\:rounded-btn{border-radius:12px}.clcosdk\\:rounded-card{border-radius:24px}.clcosdk\\:rounded-full{border-radius:3.40282e38px}.clcosdk\\:rounded-lg{border-radius:var(--clcosdk-radius-lg)}.clcosdk\\:rounded-md{border-radius:var(--clcosdk-radius-md)}.clcosdk\\:rounded-xl{border-radius:var(--clcosdk-radius-xl)}.clcosdk\\:border{border-style:var(--tw-border-style);border-width:1px}.clcosdk\\:border-2{border-style:var(--tw-border-style);border-width:2px}.clcosdk\\:border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.clcosdk\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.clcosdk\\:border-accent\\/60{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.clcosdk\\:border-accent\\/60{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.clcosdk\\:border-amber-500{border-color:var(--clcosdk-color-amber-500)}.clcosdk\\:border-background{border-color:var(--color-background)}.clcosdk\\:border-border{border-color:var(--color-border)}.clcosdk\\:border-brand-primary{border-color:var(--color-brand-primary)}.clcosdk\\:border-current{border-color:currentColor}.clcosdk\\:border-divider{border-color:var(--color-divider)}.clcosdk\\:border-error-border{border-color:var(--color-error-border)}.clcosdk\\:border-sale-card-border{border-color:var(--color-sale-card-border)}.clcosdk\\:border-sale-card-chrome-border{border-color:var(--color-sale-card-chrome-border)}.clcosdk\\:border-success-border{border-color:var(--color-success-border)}.clcosdk\\:border-warning-border{border-color:var(--color-warning-border)}.clcosdk\\:border-t-transparent{border-top-color:#0000}.clcosdk\\:bg-background{background-color:var(--color-background)}.clcosdk\\:bg-black\\/50{background-color:var(--clcosdk-color-black)}@supports (color:color-mix(in lab, red, red)){.clcosdk\\:bg-black\\/50{background-color:color-mix(in oklab, var(--clcosdk-color-black) 50%, transparent)}}.clcosdk\\:bg-brand-primary{background-color:var(--color-brand-primary)}.clcosdk\\:bg-divider{background-color:var(--color-divider)}.clcosdk\\:bg-error-subtle{background-color:var(--color-error-subtle)}.clcosdk\\:bg-overlay{background-color:var(--color-overlay)}.clcosdk\\:bg-positive{background-color:var(--color-positive)}.clcosdk\\:bg-positive-subtle{background-color:var(--color-positive-subtle)}.clcosdk\\:bg-sale-card-chrome-bg{background-color:var(--color-sale-card-chrome-bg)}.clcosdk\\:bg-section{background-color:var(--color-section)}.clcosdk\\:bg-success-subtle{background-color:var(--color-success-subtle)}.clcosdk\\:bg-surface{background-color:var(--color-surface)}.clcosdk\\:bg-text-disabled{background-color:var(--color-text-disabled)}.clcosdk\\:bg-text-primary{background-color:var(--color-text-primary)}.clcosdk\\:bg-transparent{background-color:#0000}.clcosdk\\:bg-warning-subtle{background-color:var(--color-warning-subtle)}.clcosdk\\:bg-\\[image\\:var\\(--btn-primary-gradient\\)\\]{background-image:var(--btn-primary-gradient)}.clcosdk\\:bg-\\[image\\:var\\(--sale-card-surface\\)\\]{background-image:var(--sale-card-surface)}.clcosdk\\:object-contain{object-fit:contain}.clcosdk\\:object-cover{object-fit:cover}.clcosdk\\:p-0{padding:0}.clcosdk\\:p-1\\.5{padding:calc(var(--clcosdk-spacing) * 1.5)}.clcosdk\\:p-3{padding:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:p-3\\.5{padding:calc(var(--clcosdk-spacing) * 3.5)}.clcosdk\\:p-4{padding:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:p-5{padding:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:p-6{padding:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:p-8{padding:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:p-16{padding:calc(var(--clcosdk-spacing) * 16)}.clcosdk\\:px-2{padding-inline:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:px-3{padding-inline:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:px-4{padding-inline:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:px-5{padding-inline:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:px-6{padding-inline:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:py-1\\.5{padding-block:calc(var(--clcosdk-spacing) * 1.5)}.clcosdk\\:py-2{padding-block:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:py-3{padding-block:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:py-8{padding-block:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:py-12{padding-block:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:pt-1{padding-top:var(--clcosdk-spacing)}.clcosdk\\:pt-4{padding-top:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:pt-14{padding-top:calc(var(--clcosdk-spacing) * 14)}.clcosdk\\:pr-1\\.5{padding-right:calc(var(--clcosdk-spacing) * 1.5)}.clcosdk\\:pr-3{padding-right:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:pr-4{padding-right:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:pb-4{padding-bottom:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:pl-3{padding-left:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:text-center{text-align:center}.clcosdk\\:text-left{text-align:left}.clcosdk\\:text-right{text-align:right}.clcosdk\\:font-mono{font-family:var(--clcosdk-font-mono)}.clcosdk\\:text-base{font-size:var(--clcosdk-text-base);line-height:var(--tw-leading,var(--clcosdk-text-base--line-height))}.clcosdk\\:text-lg{font-size:var(--clcosdk-text-lg);line-height:var(--tw-leading,var(--clcosdk-text-lg--line-height))}.clcosdk\\:text-sm{font-size:var(--clcosdk-text-sm);line-height:var(--tw-leading,var(--clcosdk-text-sm--line-height))}.clcosdk\\:text-xs{font-size:var(--clcosdk-text-xs);line-height:var(--tw-leading,var(--clcosdk-text-xs--line-height))}.clcosdk\\:text-\\[11px\\]{font-size:11px}.clcosdk\\:text-\\[12px\\]{font-size:12px}.clcosdk\\:text-\\[13px\\]{font-size:13px}.clcosdk\\:text-\\[14px\\]{font-size:14px}.clcosdk\\:text-\\[15px\\]{font-size:15px}.clcosdk\\:text-\\[16px\\]{font-size:16px}.clcosdk\\:text-\\[18px\\]{font-size:18px}.clcosdk\\:text-\\[22px\\]{font-size:22px}.clcosdk\\:text-\\[28px\\]{font-size:28px}.clcosdk\\:text-\\[36px\\]{font-size:36px}.clcosdk\\:text-\\[48px\\]{font-size:48px}.clcosdk\\:text-\\[64px\\]{font-size:64px}.clcosdk\\:leading-\\[105\\%\\]{--tw-leading:105%;line-height:105%}.clcosdk\\:leading-\\[108\\%\\]{--tw-leading:108%;line-height:108%}.clcosdk\\:leading-\\[110\\%\\]{--tw-leading:110%;line-height:110%}.clcosdk\\:leading-\\[120\\%\\]{--tw-leading:120%;line-height:120%}.clcosdk\\:leading-\\[130\\%\\]{--tw-leading:130%;line-height:130%}.clcosdk\\:leading-\\[140\\%\\]{--tw-leading:140%;line-height:140%}.clcosdk\\:leading-\\[150\\%\\]{--tw-leading:150%;line-height:150%}.clcosdk\\:leading-\\[160\\%\\]{--tw-leading:160%;line-height:160%}.clcosdk\\:font-medium{--tw-font-weight:var(--clcosdk-font-weight-medium);font-weight:var(--clcosdk-font-weight-medium)}.clcosdk\\:font-normal{--tw-font-weight:var(--clcosdk-font-weight-normal);font-weight:var(--clcosdk-font-weight-normal)}.clcosdk\\:font-semibold{--tw-font-weight:var(--clcosdk-font-weight-semibold);font-weight:var(--clcosdk-font-weight-semibold)}.clcosdk\\:tracking-\\[0\\.12px\\]{--tw-tracking:.12px;letter-spacing:.12px}.clcosdk\\:tracking-\\[0\\.28px\\]{--tw-tracking:.28px;letter-spacing:.28px}.clcosdk\\:break-words{overflow-wrap:break-word}.clcosdk\\:whitespace-nowrap{white-space:nowrap}.clcosdk\\:text-background{color:var(--color-background)}.clcosdk\\:text-brand-primary{color:var(--color-brand-primary)}.clcosdk\\:text-error{color:var(--color-error)}.clcosdk\\:text-positive{color:var(--color-positive)}.clcosdk\\:text-sale-card-text{color:var(--color-sale-card-text)}.clcosdk\\:text-sale-card-text-muted{color:var(--color-sale-card-text-muted)}.clcosdk\\:text-sale-card-text-strong{color:var(--color-sale-card-text-strong)}.clcosdk\\:text-success{color:var(--color-success)}.clcosdk\\:text-text-disabled{color:var(--color-text-disabled)}.clcosdk\\:text-text-inverse{color:var(--color-text-inverse)}.clcosdk\\:text-text-primary{color:var(--color-text-primary)}.clcosdk\\:text-text-secondary{color:var(--color-text-secondary)}.clcosdk\\:text-warning{color:var(--color-warning)}.clcosdk\\:capitalize{text-transform:capitalize}.clcosdk\\:lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.clcosdk\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.clcosdk\\:no-underline{text-decoration-line:none}.clcosdk\\:underline{text-decoration-line:underline}.clcosdk\\:underline-offset-2{text-underline-offset:2px}.clcosdk\\:underline-offset-4{text-underline-offset:4px}.clcosdk\\:opacity-0{opacity:0}.clcosdk\\:opacity-60{opacity:.6}.clcosdk\\:shadow-\\[0_0_0_3px_rgba\\(59\\,130\\,246\\,0\\.2\\)\\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#3b82f633);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-\\[0px_1px_1px_0px_rgba\\(10\\,10\\,10\\,0\\.04\\)\\,0px_8px_12px_0px_rgba\\(10\\,10\\,10\\,0\\.08\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#0a0a0a0a), 0px 8px 12px 0px var(--tw-shadow-color,#0a0a0a14);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-\\[0px_4px_12px_0px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0px_12px_28px_0px_rgba\\(0\\,0\\,0\\,0\\.13\\)\\]{--tw-shadow:0px 4px 12px 0px var(--tw-shadow-color,#00000014), 0px 12px 28px 0px var(--tw-shadow-color,#00000021);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-\\[var\\(--btn-primary-shadow\\)\\]{--tw-shadow:var(--btn-primary-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-card{--tw-shadow:0px 4px 6px -2px var(--tw-shadow-color,#0000000d), 0px 12px 24px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-dialog{--tw-shadow:var(--shadow-dialog);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-step-active{--tw-shadow:var(--shadow-step-active);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:transition-\\[background-color\\,border-color\\]{transition-property:background-color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.clcosdk\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.clcosdk\\:duration-500{--tw-duration:.5s;transition-duration:.5s}.clcosdk\\:ease-in-out{--tw-ease:var(--clcosdk-ease-in-out);transition-timing-function:var(--clcosdk-ease-in-out)}.clcosdk\\:ease-out{--tw-ease:var(--clcosdk-ease-out);transition-timing-function:var(--clcosdk-ease-out)}.clcosdk\\:outline-none{--tw-outline-style:none;outline-style:none}.clcosdk\\:group-focus-within\\:opacity-100:is(:where(.clcosdk\\:group):focus-within *){opacity:1}@media (hover:hover){.clcosdk\\:group-hover\\:border-sale-card-chrome-emphasis-border:is(:where(.clcosdk\\:group):hover *){border-color:var(--color-sale-card-chrome-emphasis-border)}.clcosdk\\:group-hover\\:bg-sale-card-chrome-emphasis-bg:is(:where(.clcosdk\\:group):hover *){background-color:var(--color-sale-card-chrome-emphasis-bg)}.clcosdk\\:group-hover\\:opacity-100:is(:where(.clcosdk\\:group):hover *){opacity:1}}.clcosdk\\:group-focus-visible\\:border-sale-card-chrome-emphasis-border:is(:where(.clcosdk\\:group):focus-visible *){border-color:var(--color-sale-card-chrome-emphasis-border)}.clcosdk\\:group-focus-visible\\:bg-sale-card-chrome-emphasis-bg:is(:where(.clcosdk\\:group):focus-visible *){background-color:var(--color-sale-card-chrome-emphasis-bg)}.clcosdk\\:placeholder\\:text-text-disabled::placeholder{color:var(--color-text-disabled)}@media (hover:hover){.clcosdk\\:hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.clcosdk\\:hover\\:border-text-disabled:hover{border-color:var(--color-text-disabled)}.clcosdk\\:hover\\:bg-\\[\\#fcdcd8\\]:hover{background-color:#fcdcd8}.clcosdk\\:hover\\:bg-border:hover{background-color:var(--color-border)}.clcosdk\\:hover\\:bg-brand-primary:hover{background-color:var(--color-brand-primary)}.clcosdk\\:hover\\:bg-brand-primary-hover:hover{background-color:var(--color-brand-primary-hover)}.clcosdk\\:hover\\:bg-section:hover{background-color:var(--color-section)}.clcosdk\\:hover\\:bg-surface:hover{background-color:var(--color-surface)}.clcosdk\\:hover\\:text-\\[\\#8b1a13\\]:hover{color:#8b1a13}.clcosdk\\:hover\\:text-text-primary:hover{color:var(--color-text-primary)}.clcosdk\\:hover\\:underline:hover{text-decoration-line:underline}.clcosdk\\:hover\\:opacity-80:hover{opacity:.8}.clcosdk\\:hover\\:opacity-90:hover{opacity:.9}}.clcosdk\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:focus-visible\\:ring-gray-400:focus-visible{--tw-ring-color:var(--clcosdk-color-gray-400)}.clcosdk\\:focus-visible\\:ring-gray-500:focus-visible{--tw-ring-color:var(--clcosdk-color-gray-500)}.clcosdk\\:focus-visible\\:ring-red-400:focus-visible{--tw-ring-color:var(--clcosdk-color-red-400)}.clcosdk\\:focus-visible\\:ring-red-500:focus-visible{--tw-ring-color:var(--clcosdk-color-red-500)}.clcosdk\\:focus-visible\\:ring-sale-card-focus-ring:focus-visible{--tw-ring-color:var(--color-sale-card-focus-ring)}.clcosdk\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.clcosdk\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.clcosdk\\:active\\:bg-\\[\\#d9d9d9\\]:active{background-color:#d9d9d9}.clcosdk\\:active\\:bg-\\[\\#f9c9c4\\]:active{background-color:#f9c9c4}.clcosdk\\:active\\:bg-border:active{background-color:var(--color-border)}.clcosdk\\:active\\:bg-brand-primary-active:active{background-color:var(--color-brand-primary-active)}.clcosdk\\:active\\:text-\\[\\#6d1510\\]:active{color:#6d1510}.clcosdk\\:active\\:opacity-80:active{opacity:.8}.clcosdk\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.clcosdk\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.clcosdk\\:disabled\\:opacity-40:disabled{opacity:.4}.clcosdk\\:disabled\\:opacity-50:disabled{opacity:.5}.clcosdk\\:aria-disabled\\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.clcosdk\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}@media not all and (min-width:48rem){.clcosdk\\:max-md\\:hidden{display:none}.clcosdk\\:max-md\\:w-full{width:100%}.clcosdk\\:max-md\\:justify-start{justify-content:flex-start}.clcosdk\\:max-md\\:gap-4{gap:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:max-md\\:rounded-none{border-radius:0}.clcosdk\\:max-md\\:border-0{border-style:var(--tw-border-style);border-width:0}.clcosdk\\:max-md\\:bg-transparent{background-color:#0000}.clcosdk\\:max-md\\:p-0{padding:0}@media (hover:hover){.clcosdk\\:max-md\\:hover\\:scale-100:hover{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}@media (min-width:40rem){.clcosdk\\:sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.clcosdk\\:md\\:right-\\[-10\\%\\]{right:-10%}.clcosdk\\:md\\:order-1{order:1}.clcosdk\\:md\\:order-2{order:2}.clcosdk\\:md\\:hidden{display:none}.clcosdk\\:md\\:size-\\[20rem\\]{width:20rem;height:20rem}.clcosdk\\:md\\:h-9{height:calc(var(--clcosdk-spacing) * 9)}.clcosdk\\:md\\:h-12{height:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:md\\:h-\\[54px\\]{height:54px}.clcosdk\\:md\\:w-9{width:calc(var(--clcosdk-spacing) * 9)}.clcosdk\\:md\\:w-12{width:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.clcosdk\\:md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.clcosdk\\:md\\:grid-cols-\\[minmax\\(0\\,11fr\\)_minmax\\(0\\,8fr\\)\\]{grid-template-columns:minmax(0,11fr) minmax(0,8fr)}.clcosdk\\:md\\:flex-row{flex-direction:row}.clcosdk\\:md\\:items-center{align-items:center}.clcosdk\\:md\\:items-end{align-items:flex-end}.clcosdk\\:md\\:justify-between{justify-content:space-between}.clcosdk\\:md\\:justify-end{justify-content:flex-end}.clcosdk\\:md\\:gap-3{gap:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:md\\:gap-6{gap:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:md\\:gap-x-12{column-gap:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:md\\:self-end{align-self:flex-end}.clcosdk\\:md\\:rounded-\\[40px\\]{border-radius:40px}.clcosdk\\:md\\:rounded-card{border-radius:24px}.clcosdk\\:md\\:rounded-dialog{border-radius:32px}.clcosdk\\:md\\:p-4{padding:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:md\\:p-6{padding:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:md\\:p-8{padding:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:md\\:px-6{padding-inline:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:md\\:px-8{padding-inline:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:md\\:py-2{padding-block:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:md\\:pr-2{padding-right:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:md\\:pr-4{padding-right:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:md\\:pl-4{padding-left:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:md\\:text-base{font-size:var(--clcosdk-text-base);line-height:var(--tw-leading,var(--clcosdk-text-base--line-height))}.clcosdk\\:md\\:text-\\[14px\\]{font-size:14px}.clcosdk\\:md\\:text-\\[16px\\]{font-size:16px}.clcosdk\\:md\\:text-\\[18px\\]{font-size:18px}.clcosdk\\:md\\:text-\\[28px\\]{font-size:28px}.clcosdk\\:md\\:leading-\\[120\\%\\]{--tw-leading:120%;line-height:120%}.clcosdk\\:md\\:leading-\\[160\\%\\]{--tw-leading:160%;line-height:160%}}@media (prefers-color-scheme:dark){@media (hover:hover){.clcosdk\\:dark\\:hover\\:bg-\\[rgba\\(248\\,113\\,113\\,0\\.20\\)\\]:not(:where(.light,.light *)):hover{background-color:#f8717133}}}@media (hover:hover){.clcosdk\\:dark\\:hover\\:bg-\\[rgba\\(248\\,113\\,113\\,0\\.20\\)\\]:where(.dark,.dark *):hover{background-color:#f8717133}}@media (prefers-color-scheme:dark){@media (hover:hover){.clcosdk\\:dark\\:hover\\:text-\\[\\#fca5a5\\]:not(:where(.light,.light *)):hover{color:#fca5a5}}}@media (hover:hover){.clcosdk\\:dark\\:hover\\:text-\\[\\#fca5a5\\]:where(.dark,.dark *):hover{color:#fca5a5}}@media (prefers-color-scheme:dark){.clcosdk\\:dark\\:active\\:bg-\\[rgba\\(248\\,113\\,113\\,0\\.30\\)\\]:not(:where(.light,.light *)):active{background-color:#f871714d}}.clcosdk\\:dark\\:active\\:bg-\\[rgba\\(248\\,113\\,113\\,0\\.30\\)\\]:where(.dark,.dark *):active{background-color:#f871714d}@media (prefers-color-scheme:dark){.clcosdk\\:dark\\:active\\:bg-divider:not(:where(.light,.light *)):active{background-color:var(--color-divider)}}.clcosdk\\:dark\\:active\\:bg-divider:where(.dark,.dark *):active{background-color:var(--color-divider)}@media (prefers-color-scheme:dark){.clcosdk\\:dark\\:active\\:text-\\[\\#f87171\\]:not(:where(.light,.light *)):active{color:#f87171}}.clcosdk\\:dark\\:active\\:text-\\[\\#f87171\\]:where(.dark,.dark *):active{color:#f87171}.clcosdk\\:\\[\\&_circle\\]\\:fill-error-subtle circle{fill:var(--color-error-subtle)}.clcosdk\\:\\[\\&_circle\\]\\:fill-success-subtle circle{fill:var(--color-success-subtle)}.clcosdk\\:\\[\\&_circle\\]\\:fill-warning-subtle circle{fill:var(--color-warning-subtle)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}';
5041
+ var sdkStyles = '/*! tailwindcss v4.3.3 | 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{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--clcosdk-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--clcosdk-color-red-400:oklch(70.4% .191 22.216);--clcosdk-color-red-500:oklch(63.7% .237 25.331);--clcosdk-color-amber-500:oklch(76.9% .188 70.08);--clcosdk-color-gray-400:oklch(70.7% .022 261.325);--clcosdk-color-gray-500:oklch(55.1% .027 264.364);--clcosdk-color-black:#000;--clcosdk-spacing:.25rem;--clcosdk-container-sm:24rem;--clcosdk-container-md:28rem;--clcosdk-container-xl:36rem;--clcosdk-text-xs:.75rem;--clcosdk-text-xs--line-height:calc(1 / .75);--clcosdk-text-sm:.875rem;--clcosdk-text-sm--line-height:calc(1.25 / .875);--clcosdk-text-base:1rem;--clcosdk-text-base--line-height:calc(1.5 / 1);--clcosdk-text-lg:1.125rem;--clcosdk-text-lg--line-height:calc(1.75 / 1.125);--clcosdk-font-weight-normal:400;--clcosdk-font-weight-medium:500;--clcosdk-font-weight-semibold:600;--clcosdk-radius-md:.375rem;--clcosdk-radius-lg:.5rem;--clcosdk-radius-xl:.75rem;--clcosdk-radius-2xl:1rem;--clcosdk-ease-out:cubic-bezier(0, 0, .2, 1);--clcosdk-ease-in-out:cubic-bezier(.4, 0, .2, 1);--clcosdk-animate-spin:spin 1s linear infinite;--clcosdk-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--clcosdk-color-brand-primary:var(--color-brand-primary)}}@layer base{.clco-sdk-root{--color-brand-primary:#171717;--color-brand-primary-hover:#000;--color-brand-primary-active:#262626;--color-accent:#2b3a67;--color-accent-hover:#243057;--color-accent-active:#1d2647;--color-accent-focus:#c7d2fe;--color-accent-subtle:#eef1f8;--color-text-primary:#171717;--color-text-secondary:#8c8c8c;--color-text-disabled:#d1d1d1;--color-text-inverse:#fff;--color-background:#fff;--color-surface:#fafafa;--color-section:#f3f3f3;--color-border:#e5e5e5;--color-divider:#ececec;--color-overlay:#00000080;--color-positive:#15803d;--color-positive-subtle:#dcfce7;--color-negative:#dc2626;--color-negative-subtle:#fee2e2;--color-success:#2c8c5e;--color-success-subtle:#e6f4ec;--color-success-border:#cfe9db;--color-warning:#e08a1a;--color-warning-subtle:#fff7ed;--color-warning-border:#fdead7;--color-error:#b42318;--color-error-subtle:#feeceb;--color-error-border:#fbd5d2;--shadow-step-active:0px 0px 10px 0px #0000001a;--shadow-dialog:0px 8px 32px 0px #0000001a;--btn-primary-gradient:linear-gradient(180deg, #262626 0%, #1c1c1c 50%, #0f0f0f 100%);--btn-primary-shadow:inset 0px -1px 3px 0px #00000059, inset 0px 1px 2px 0px #ffffff2e, inset 0px 1px 0px 0px #ffffff1a;--sale-card-surface:linear-gradient(to top, #0a0a0a 0%, #1a1a1a 100%);--color-sale-card-text:#f4f4f5;--color-sale-card-text-muted:#a1a1aa;--color-sale-card-text-strong:#fff;--color-sale-card-border:#ffffff40;--color-sale-card-chrome-border:#ffffff4d;--color-sale-card-chrome-bg:#ffffff26;--color-sale-card-chrome-emphasis-border:#fff6;--color-sale-card-chrome-emphasis-bg:#ffffff40;--color-sale-card-focus-ring:#ffffff80}@media (prefers-color-scheme:dark){.clco-sdk-root:not(:where(.light,.light *)){--color-brand-primary:#f4f4f5;--color-brand-primary-hover:#fff;--color-brand-primary-active:#e4e4e7;--color-accent:#6f82c9;--color-accent-hover:#8799e4;--color-accent-active:#5b6fcf;--color-accent-focus:#6f82c959;--color-accent-subtle:#6f82c91f;--color-text-primary:#f4f4f5;--color-text-secondary:#a1a1aa;--color-text-disabled:#71717a;--color-text-inverse:#171717;--color-background:#0f1115;--color-surface:#161a20;--color-section:#20242c;--color-border:#2a2e35;--color-divider:#323741;--color-overlay:#000000b3;--color-positive:#22c55e;--color-positive-subtle:#22c55e1f;--color-negative:#ef4444;--color-negative-subtle:#ef44441f;--color-success:#34d399;--color-success-subtle:#34d3991f;--color-success-border:#34d39940;--color-warning:#f59e0b;--color-warning-subtle:#f59e0b1f;--color-warning-border:#f59e0b40;--color-error:#f87171;--color-error-subtle:#f871711f;--color-error-border:#f8717140;--shadow-step-active:0px 0px 10px 0px #00000080;--shadow-dialog:0px 8px 32px 0px #0009;--btn-primary-gradient:linear-gradient(180deg, #fafafa 0%, #f0f0f0 50%, #e4e4e7 100%);--btn-primary-shadow:inset 0px -1px 3px 0px #0000001f, inset 0px 1px 2px 0px #fff9, inset 0px 1px 0px 0px #fff6}}:where(.dark,.dark *) .clco-sdk-root{--color-brand-primary:#f4f4f5;--color-brand-primary-hover:#fff;--color-brand-primary-active:#e4e4e7;--color-accent:#6f82c9;--color-accent-hover:#8799e4;--color-accent-active:#5b6fcf;--color-accent-focus:#6f82c959;--color-accent-subtle:#6f82c91f;--color-text-primary:#f4f4f5;--color-text-secondary:#a1a1aa;--color-text-disabled:#71717a;--color-text-inverse:#171717;--color-background:#0f1115;--color-surface:#161a20;--color-section:#20242c;--color-border:#2a2e35;--color-divider:#323741;--color-overlay:#000000b3;--color-positive:#22c55e;--color-positive-subtle:#22c55e1f;--color-negative:#ef4444;--color-negative-subtle:#ef44441f;--color-success:#34d399;--color-success-subtle:#34d3991f;--color-success-border:#34d39940;--color-warning:#f59e0b;--color-warning-subtle:#f59e0b1f;--color-warning-border:#f59e0b40;--color-error:#f87171;--color-error-subtle:#f871711f;--color-error-border:#f8717140;--shadow-step-active:0px 0px 10px 0px #00000080;--shadow-dialog:0px 8px 32px 0px #0009;--btn-primary-gradient:linear-gradient(180deg, #fafafa 0%, #f0f0f0 50%, #e4e4e7 100%);--btn-primary-shadow:inset 0px -1px 3px 0px #0000001f, inset 0px 1px 2px 0px #fff9, inset 0px 1px 0px 0px #fff6}.clco-sdk-root{color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.clco-sdk-root *,.clco-sdk-root :before,.clco-sdk-root :after{box-sizing:border-box}.clco-sdk-root button{appearance:none;cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.clco-sdk-root input,.clco-sdk-root textarea,.clco-sdk-root select{font:inherit;color:inherit;background:0 0;border:none;border-radius:0;padding:0}.clco-sdk-root a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.clco-sdk-root ul,.clco-sdk-root ol{margin:0;padding:0;list-style:none}.clco-sdk-root h1,.clco-sdk-root h2,.clco-sdk-root h3,.clco-sdk-root h4,.clco-sdk-root h5,.clco-sdk-root h6,.clco-sdk-root p,.clco-sdk-root figure,.clco-sdk-root blockquote,.clco-sdk-root dl,.clco-sdk-root dd,.clco-sdk-root pre{margin:0}.clco-sdk-root img,.clco-sdk-root svg{max-width:100%;display:block}@keyframes clco-status-ping{0%{opacity:.7;transform:scale(1)}75%,to{opacity:0;transform:scale(3.25)}}.clco-sdk-root .clcosdk-status-dot-ping{animation:1.6s cubic-bezier(0,0,.2,1) infinite clco-status-ping}@media (prefers-reduced-motion:reduce){.clco-sdk-root .clcosdk-status-dot-ping{opacity:0;animation:none}}}@layer components;@layer utilities{.clcosdk\\:pointer-events-none{pointer-events:none}.clcosdk\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.clcosdk\\:absolute{position:absolute}.clcosdk\\:fixed{position:fixed}.clcosdk\\:relative{position:relative}.clcosdk\\:inset-0{inset:0}.clcosdk\\:top-1\\/2{top:50%}.clcosdk\\:top-4{top:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:top-full{top:100%}.clcosdk\\:-right-0\\.5{right:calc(var(--clcosdk-spacing) * -.5)}.clcosdk\\:right-4{right:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:right-\\[-14\\%\\]{right:-14%}.clcosdk\\:-bottom-0\\.5{bottom:calc(var(--clcosdk-spacing) * -.5)}.clcosdk\\:bottom-full{bottom:100%}.clcosdk\\:left-1\\/2{left:50%}.clcosdk\\:z-0{z-index:0}.clcosdk\\:z-10{z-index:10}.clcosdk\\:z-50{z-index:50}.clcosdk\\:order-1{order:1}.clcosdk\\:order-2{order:2}.clcosdk\\:mt-2{margin-top:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:mt-4{margin-top:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:mt-auto{margin-top:auto}.clcosdk\\:mb-2{margin-bottom:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:flex{display:flex}.clcosdk\\:grid{display:grid}.clcosdk\\:inline-flex{display:inline-flex}.clcosdk\\:size-2{width:calc(var(--clcosdk-spacing) * 2);height:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:size-3{width:calc(var(--clcosdk-spacing) * 3);height:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:size-3\\.5{width:calc(var(--clcosdk-spacing) * 3.5);height:calc(var(--clcosdk-spacing) * 3.5)}.clcosdk\\:size-4{width:calc(var(--clcosdk-spacing) * 4);height:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:size-5{width:calc(var(--clcosdk-spacing) * 5);height:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:size-10{width:calc(var(--clcosdk-spacing) * 10);height:calc(var(--clcosdk-spacing) * 10)}.clcosdk\\:size-16{width:calc(var(--clcosdk-spacing) * 16);height:calc(var(--clcosdk-spacing) * 16)}.clcosdk\\:size-24{width:calc(var(--clcosdk-spacing) * 24);height:calc(var(--clcosdk-spacing) * 24)}.clcosdk\\:size-\\[15rem\\]{width:15rem;height:15rem}.clcosdk\\:size-full{width:100%;height:100%}.clcosdk\\:h-1{height:var(--clcosdk-spacing)}.clcosdk\\:h-3{height:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:h-4{height:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:h-5{height:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:h-6{height:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:h-8{height:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:h-9{height:calc(var(--clcosdk-spacing) * 9)}.clcosdk\\:h-10{height:calc(var(--clcosdk-spacing) * 10)}.clcosdk\\:h-11{height:calc(var(--clcosdk-spacing) * 11)}.clcosdk\\:h-12{height:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:h-14{height:calc(var(--clcosdk-spacing) * 14)}.clcosdk\\:h-\\[1em\\]{height:1em}.clcosdk\\:h-\\[18px\\]{height:18px}.clcosdk\\:h-\\[54px\\]{height:54px}.clcosdk\\:h-\\[71px\\]{height:71px}.clcosdk\\:h-auto{height:auto}.clcosdk\\:h-full{height:100%}.clcosdk\\:h-px{height:1px}.clcosdk\\:max-h-\\[92vh\\]{max-height:92vh}.clcosdk\\:max-h-full{max-height:100%}.clcosdk\\:min-h-0{min-height:0}.clcosdk\\:min-h-9{min-height:calc(var(--clcosdk-spacing) * 9)}.clcosdk\\:min-h-40{min-height:calc(var(--clcosdk-spacing) * 40)}.clcosdk\\:min-h-\\[1lh\\]{min-height:1lh}.clcosdk\\:min-h-screen{min-height:100vh}.clcosdk\\:w-1{width:var(--clcosdk-spacing)}.clcosdk\\:w-4{width:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:w-5{width:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:w-6{width:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:w-8{width:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:w-10{width:calc(var(--clcosdk-spacing) * 10)}.clcosdk\\:w-12{width:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:w-16{width:calc(var(--clcosdk-spacing) * 16)}.clcosdk\\:w-20{width:calc(var(--clcosdk-spacing) * 20)}.clcosdk\\:w-24{width:calc(var(--clcosdk-spacing) * 24)}.clcosdk\\:w-28{width:calc(var(--clcosdk-spacing) * 28)}.clcosdk\\:w-32{width:calc(var(--clcosdk-spacing) * 32)}.clcosdk\\:w-40{width:calc(var(--clcosdk-spacing) * 40)}.clcosdk\\:w-48{width:calc(var(--clcosdk-spacing) * 48)}.clcosdk\\:w-80{width:calc(var(--clcosdk-spacing) * 80)}.clcosdk\\:w-96{width:calc(var(--clcosdk-spacing) * 96)}.clcosdk\\:w-\\[16px\\]{width:16px}.clcosdk\\:w-\\[28rem\\]{width:28rem}.clcosdk\\:w-\\[448px\\]{width:448px}.clcosdk\\:w-auto{width:auto}.clcosdk\\:w-component{width:448px}.clcosdk\\:w-fit{width:fit-content}.clcosdk\\:w-full{width:100%}.clcosdk\\:w-max{width:max-content}.clcosdk\\:max-w-\\[16rem\\]{max-width:16rem}.clcosdk\\:max-w-\\[28rem\\]{max-width:28rem}.clcosdk\\:max-w-\\[30rem\\]{max-width:30rem}.clcosdk\\:max-w-\\[40rem\\]{max-width:40rem}.clcosdk\\:max-w-\\[56rem\\]{max-width:56rem}.clcosdk\\:max-w-\\[64rem\\]{max-width:64rem}.clcosdk\\:max-w-\\[760px\\]{max-width:760px}.clcosdk\\:max-w-full{max-width:100%}.clcosdk\\:max-w-md{max-width:var(--clcosdk-container-md)}.clcosdk\\:max-w-sm{max-width:var(--clcosdk-container-sm)}.clcosdk\\:max-w-xl{max-width:var(--clcosdk-container-xl)}.clcosdk\\:min-w-0{min-width:0}.clcosdk\\:flex-1{flex:1}.clcosdk\\:shrink-0{flex-shrink:0}.clcosdk\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.clcosdk\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.clcosdk\\:rotate-90{rotate:90deg}.clcosdk\\:rotate-180{rotate:180deg}.clcosdk\\:animate-pulse{animation:var(--clcosdk-animate-pulse)}.clcosdk\\:animate-spin{animation:var(--clcosdk-animate-spin)}.clcosdk\\:cursor-pointer{cursor:pointer}.clcosdk\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.clcosdk\\:grid-rows-\\[0fr\\]{grid-template-rows:0fr}.clcosdk\\:grid-rows-\\[1fr\\]{grid-template-rows:1fr}.clcosdk\\:flex-col{flex-direction:column}.clcosdk\\:flex-wrap{flex-wrap:wrap}.clcosdk\\:items-center{align-items:center}.clcosdk\\:items-end{align-items:flex-end}.clcosdk\\:items-start{align-items:flex-start}.clcosdk\\:justify-between{justify-content:space-between}.clcosdk\\:justify-center{justify-content:center}.clcosdk\\:justify-end{justify-content:flex-end}.clcosdk\\:gap-1{gap:var(--clcosdk-spacing)}.clcosdk\\:gap-1\\.5{gap:calc(var(--clcosdk-spacing) * 1.5)}.clcosdk\\:gap-2{gap:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:gap-2\\.5{gap:calc(var(--clcosdk-spacing) * 2.5)}.clcosdk\\:gap-3{gap:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:gap-4{gap:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:gap-6{gap:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:gap-\\[5px\\]{gap:5px}:where(.clcosdk\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--clcosdk-spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--clcosdk-spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.clcosdk\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--clcosdk-spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--clcosdk-spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.clcosdk\\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.clcosdk\\:divide-border>:not(:last-child)){border-color:var(--color-border)}:where(.clcosdk\\:divide-divider>:not(:last-child)){border-color:var(--color-divider)}.clcosdk\\:self-start{align-self:flex-start}.clcosdk\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clcosdk\\:overflow-hidden{overflow:hidden}.clcosdk\\:overflow-y-auto{overflow-y:auto}.clcosdk\\:rounded{border-radius:.25rem}.clcosdk\\:rounded-2xl{border-radius:var(--clcosdk-radius-2xl)}.clcosdk\\:rounded-\\[20px\\]{border-radius:20px}.clcosdk\\:rounded-\\[28px\\]{border-radius:28px}.clcosdk\\:rounded-btn{border-radius:12px}.clcosdk\\:rounded-card{border-radius:24px}.clcosdk\\:rounded-full{border-radius:3.40282e38px}.clcosdk\\:rounded-lg{border-radius:var(--clcosdk-radius-lg)}.clcosdk\\:rounded-md{border-radius:var(--clcosdk-radius-md)}.clcosdk\\:rounded-xl{border-radius:var(--clcosdk-radius-xl)}.clcosdk\\:border{border-style:var(--tw-border-style);border-width:1px}.clcosdk\\:border-2{border-style:var(--tw-border-style);border-width:2px}.clcosdk\\:border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.clcosdk\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.clcosdk\\:border-accent\\/60{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.clcosdk\\:border-accent\\/60{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.clcosdk\\:border-amber-500{border-color:var(--clcosdk-color-amber-500)}.clcosdk\\:border-background{border-color:var(--color-background)}.clcosdk\\:border-border{border-color:var(--color-border)}.clcosdk\\:border-brand-primary{border-color:var(--color-brand-primary)}.clcosdk\\:border-current{border-color:currentColor}.clcosdk\\:border-divider{border-color:var(--color-divider)}.clcosdk\\:border-error-border{border-color:var(--color-error-border)}.clcosdk\\:border-sale-card-border{border-color:var(--color-sale-card-border)}.clcosdk\\:border-sale-card-chrome-border{border-color:var(--color-sale-card-chrome-border)}.clcosdk\\:border-success-border{border-color:var(--color-success-border)}.clcosdk\\:border-warning-border{border-color:var(--color-warning-border)}.clcosdk\\:border-t-transparent{border-top-color:#0000}.clcosdk\\:bg-background{background-color:var(--color-background)}.clcosdk\\:bg-black\\/50{background-color:var(--clcosdk-color-black)}@supports (color:color-mix(in lab, red, red)){.clcosdk\\:bg-black\\/50{background-color:color-mix(in oklab, var(--clcosdk-color-black) 50%, transparent)}}.clcosdk\\:bg-brand-primary{background-color:var(--color-brand-primary)}.clcosdk\\:bg-divider{background-color:var(--color-divider)}.clcosdk\\:bg-error-subtle{background-color:var(--color-error-subtle)}.clcosdk\\:bg-overlay{background-color:var(--color-overlay)}.clcosdk\\:bg-positive{background-color:var(--color-positive)}.clcosdk\\:bg-positive-subtle{background-color:var(--color-positive-subtle)}.clcosdk\\:bg-sale-card-chrome-bg{background-color:var(--color-sale-card-chrome-bg)}.clcosdk\\:bg-section{background-color:var(--color-section)}.clcosdk\\:bg-success-subtle{background-color:var(--color-success-subtle)}.clcosdk\\:bg-surface{background-color:var(--color-surface)}.clcosdk\\:bg-text-disabled{background-color:var(--color-text-disabled)}.clcosdk\\:bg-text-primary{background-color:var(--color-text-primary)}.clcosdk\\:bg-transparent{background-color:#0000}.clcosdk\\:bg-warning-subtle{background-color:var(--color-warning-subtle)}.clcosdk\\:bg-\\[image\\:var\\(--btn-primary-gradient\\)\\]{background-image:var(--btn-primary-gradient)}.clcosdk\\:bg-\\[image\\:var\\(--sale-card-surface\\)\\]{background-image:var(--sale-card-surface)}.clcosdk\\:object-contain{object-fit:contain}.clcosdk\\:object-cover{object-fit:cover}.clcosdk\\:p-0{padding:0}.clcosdk\\:p-1\\.5{padding:calc(var(--clcosdk-spacing) * 1.5)}.clcosdk\\:p-3{padding:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:p-3\\.5{padding:calc(var(--clcosdk-spacing) * 3.5)}.clcosdk\\:p-4{padding:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:p-5{padding:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:p-6{padding:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:p-8{padding:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:p-16{padding:calc(var(--clcosdk-spacing) * 16)}.clcosdk\\:px-2{padding-inline:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:px-3{padding-inline:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:px-4{padding-inline:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:px-5{padding-inline:calc(var(--clcosdk-spacing) * 5)}.clcosdk\\:px-6{padding-inline:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:py-1\\.5{padding-block:calc(var(--clcosdk-spacing) * 1.5)}.clcosdk\\:py-2{padding-block:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:py-3{padding-block:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:py-8{padding-block:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:py-12{padding-block:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:pt-1{padding-top:var(--clcosdk-spacing)}.clcosdk\\:pt-4{padding-top:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:pt-14{padding-top:calc(var(--clcosdk-spacing) * 14)}.clcosdk\\:pr-1\\.5{padding-right:calc(var(--clcosdk-spacing) * 1.5)}.clcosdk\\:pr-3{padding-right:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:pr-4{padding-right:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:pb-4{padding-bottom:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:pl-3{padding-left:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:text-center{text-align:center}.clcosdk\\:text-left{text-align:left}.clcosdk\\:text-right{text-align:right}.clcosdk\\:font-mono{font-family:var(--clcosdk-font-mono)}.clcosdk\\:text-base{font-size:var(--clcosdk-text-base);line-height:var(--tw-leading,var(--clcosdk-text-base--line-height))}.clcosdk\\:text-lg{font-size:var(--clcosdk-text-lg);line-height:var(--tw-leading,var(--clcosdk-text-lg--line-height))}.clcosdk\\:text-sm{font-size:var(--clcosdk-text-sm);line-height:var(--tw-leading,var(--clcosdk-text-sm--line-height))}.clcosdk\\:text-xs{font-size:var(--clcosdk-text-xs);line-height:var(--tw-leading,var(--clcosdk-text-xs--line-height))}.clcosdk\\:text-\\[11px\\]{font-size:11px}.clcosdk\\:text-\\[12px\\]{font-size:12px}.clcosdk\\:text-\\[13px\\]{font-size:13px}.clcosdk\\:text-\\[14px\\]{font-size:14px}.clcosdk\\:text-\\[15px\\]{font-size:15px}.clcosdk\\:text-\\[16px\\]{font-size:16px}.clcosdk\\:text-\\[18px\\]{font-size:18px}.clcosdk\\:text-\\[22px\\]{font-size:22px}.clcosdk\\:text-\\[28px\\]{font-size:28px}.clcosdk\\:text-\\[36px\\]{font-size:36px}.clcosdk\\:text-\\[48px\\]{font-size:48px}.clcosdk\\:text-\\[64px\\]{font-size:64px}.clcosdk\\:leading-\\[105\\%\\]{--tw-leading:105%;line-height:105%}.clcosdk\\:leading-\\[108\\%\\]{--tw-leading:108%;line-height:108%}.clcosdk\\:leading-\\[110\\%\\]{--tw-leading:110%;line-height:110%}.clcosdk\\:leading-\\[120\\%\\]{--tw-leading:120%;line-height:120%}.clcosdk\\:leading-\\[130\\%\\]{--tw-leading:130%;line-height:130%}.clcosdk\\:leading-\\[140\\%\\]{--tw-leading:140%;line-height:140%}.clcosdk\\:leading-\\[150\\%\\]{--tw-leading:150%;line-height:150%}.clcosdk\\:leading-\\[160\\%\\]{--tw-leading:160%;line-height:160%}.clcosdk\\:font-medium{--tw-font-weight:var(--clcosdk-font-weight-medium);font-weight:var(--clcosdk-font-weight-medium)}.clcosdk\\:font-normal{--tw-font-weight:var(--clcosdk-font-weight-normal);font-weight:var(--clcosdk-font-weight-normal)}.clcosdk\\:font-semibold{--tw-font-weight:var(--clcosdk-font-weight-semibold);font-weight:var(--clcosdk-font-weight-semibold)}.clcosdk\\:tracking-\\[0\\.12px\\]{--tw-tracking:.12px;letter-spacing:.12px}.clcosdk\\:tracking-\\[0\\.28px\\]{--tw-tracking:.28px;letter-spacing:.28px}.clcosdk\\:break-words{overflow-wrap:break-word}.clcosdk\\:whitespace-nowrap{white-space:nowrap}.clcosdk\\:text-background{color:var(--color-background)}.clcosdk\\:text-brand-primary{color:var(--color-brand-primary)}.clcosdk\\:text-error{color:var(--color-error)}.clcosdk\\:text-positive{color:var(--color-positive)}.clcosdk\\:text-sale-card-text{color:var(--color-sale-card-text)}.clcosdk\\:text-sale-card-text-muted{color:var(--color-sale-card-text-muted)}.clcosdk\\:text-sale-card-text-strong{color:var(--color-sale-card-text-strong)}.clcosdk\\:text-success{color:var(--color-success)}.clcosdk\\:text-text-disabled{color:var(--color-text-disabled)}.clcosdk\\:text-text-inverse{color:var(--color-text-inverse)}.clcosdk\\:text-text-primary{color:var(--color-text-primary)}.clcosdk\\:text-text-secondary{color:var(--color-text-secondary)}.clcosdk\\:text-warning{color:var(--color-warning)}.clcosdk\\:capitalize{text-transform:capitalize}.clcosdk\\:lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.clcosdk\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.clcosdk\\:no-underline{text-decoration-line:none}.clcosdk\\:underline{text-decoration-line:underline}.clcosdk\\:underline-offset-2{text-underline-offset:2px}.clcosdk\\:underline-offset-4{text-underline-offset:4px}.clcosdk\\:opacity-0{opacity:0}.clcosdk\\:opacity-60{opacity:.6}.clcosdk\\:shadow-\\[0_0_0_3px_rgba\\(59\\,130\\,246\\,0\\.2\\)\\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#3b82f633);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-\\[0px_1px_1px_0px_rgba\\(10\\,10\\,10\\,0\\.04\\)\\,0px_8px_12px_0px_rgba\\(10\\,10\\,10\\,0\\.08\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#0a0a0a0a), 0px 8px 12px 0px var(--tw-shadow-color,#0a0a0a14);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-\\[0px_4px_12px_0px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0px_12px_28px_0px_rgba\\(0\\,0\\,0\\,0\\.13\\)\\]{--tw-shadow:0px 4px 12px 0px var(--tw-shadow-color,#00000014), 0px 12px 28px 0px var(--tw-shadow-color,#00000021);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-\\[var\\(--btn-primary-shadow\\)\\]{--tw-shadow:var(--btn-primary-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-card{--tw-shadow:0px 4px 6px -2px var(--tw-shadow-color,#0000000d), 0px 12px 24px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-dialog{--tw-shadow:var(--shadow-dialog);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:shadow-step-active{--tw-shadow:var(--shadow-step-active);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:transition-\\[background-color\\,border-color\\]{transition-property:background-color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.clcosdk\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.clcosdk\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.clcosdk\\:duration-500{--tw-duration:.5s;transition-duration:.5s}.clcosdk\\:ease-in-out{--tw-ease:var(--clcosdk-ease-in-out);transition-timing-function:var(--clcosdk-ease-in-out)}.clcosdk\\:ease-out{--tw-ease:var(--clcosdk-ease-out);transition-timing-function:var(--clcosdk-ease-out)}.clcosdk\\:outline-none{--tw-outline-style:none;outline-style:none}.clcosdk\\:group-focus-within\\:opacity-100:is(:where(.clcosdk\\:group):focus-within *){opacity:1}@media (hover:hover){.clcosdk\\:group-hover\\:border-sale-card-chrome-emphasis-border:is(:where(.clcosdk\\:group):hover *){border-color:var(--color-sale-card-chrome-emphasis-border)}.clcosdk\\:group-hover\\:bg-sale-card-chrome-emphasis-bg:is(:where(.clcosdk\\:group):hover *){background-color:var(--color-sale-card-chrome-emphasis-bg)}.clcosdk\\:group-hover\\:opacity-100:is(:where(.clcosdk\\:group):hover *){opacity:1}}.clcosdk\\:group-focus-visible\\:border-sale-card-chrome-emphasis-border:is(:where(.clcosdk\\:group):focus-visible *){border-color:var(--color-sale-card-chrome-emphasis-border)}.clcosdk\\:group-focus-visible\\:bg-sale-card-chrome-emphasis-bg:is(:where(.clcosdk\\:group):focus-visible *){background-color:var(--color-sale-card-chrome-emphasis-bg)}.clcosdk\\:placeholder\\:text-text-disabled::placeholder{color:var(--color-text-disabled)}@media (hover:hover){.clcosdk\\:hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.clcosdk\\:hover\\:border-text-disabled:hover{border-color:var(--color-text-disabled)}.clcosdk\\:hover\\:bg-\\[\\#fcdcd8\\]:hover{background-color:#fcdcd8}.clcosdk\\:hover\\:bg-border:hover{background-color:var(--color-border)}.clcosdk\\:hover\\:bg-brand-primary:hover{background-color:var(--color-brand-primary)}.clcosdk\\:hover\\:bg-brand-primary-hover:hover{background-color:var(--color-brand-primary-hover)}.clcosdk\\:hover\\:bg-section:hover{background-color:var(--color-section)}.clcosdk\\:hover\\:bg-surface:hover{background-color:var(--color-surface)}.clcosdk\\:hover\\:text-\\[\\#8b1a13\\]:hover{color:#8b1a13}.clcosdk\\:hover\\:text-text-primary:hover{color:var(--color-text-primary)}.clcosdk\\:hover\\:underline:hover{text-decoration-line:underline}.clcosdk\\:hover\\:opacity-80:hover{opacity:.8}.clcosdk\\:hover\\:opacity-90:hover{opacity:.9}}.clcosdk\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.clcosdk\\:focus-visible\\:ring-gray-400:focus-visible{--tw-ring-color:var(--clcosdk-color-gray-400)}.clcosdk\\:focus-visible\\:ring-gray-500:focus-visible{--tw-ring-color:var(--clcosdk-color-gray-500)}.clcosdk\\:focus-visible\\:ring-red-400:focus-visible{--tw-ring-color:var(--clcosdk-color-red-400)}.clcosdk\\:focus-visible\\:ring-red-500:focus-visible{--tw-ring-color:var(--clcosdk-color-red-500)}.clcosdk\\:focus-visible\\:ring-sale-card-focus-ring:focus-visible{--tw-ring-color:var(--color-sale-card-focus-ring)}.clcosdk\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.clcosdk\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.clcosdk\\:active\\:bg-\\[\\#d9d9d9\\]:active{background-color:#d9d9d9}.clcosdk\\:active\\:bg-\\[\\#f9c9c4\\]:active{background-color:#f9c9c4}.clcosdk\\:active\\:bg-border:active{background-color:var(--color-border)}.clcosdk\\:active\\:bg-brand-primary-active:active{background-color:var(--color-brand-primary-active)}.clcosdk\\:active\\:text-\\[\\#6d1510\\]:active{color:#6d1510}.clcosdk\\:active\\:opacity-80:active{opacity:.8}.clcosdk\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.clcosdk\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.clcosdk\\:disabled\\:opacity-40:disabled{opacity:.4}.clcosdk\\:disabled\\:opacity-50:disabled{opacity:.5}.clcosdk\\:aria-disabled\\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.clcosdk\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}@media not all and (min-width:48rem){.clcosdk\\:max-md\\:hidden{display:none}.clcosdk\\:max-md\\:w-full{width:100%}.clcosdk\\:max-md\\:justify-start{justify-content:flex-start}.clcosdk\\:max-md\\:gap-4{gap:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:max-md\\:rounded-none{border-radius:0}.clcosdk\\:max-md\\:border-0{border-style:var(--tw-border-style);border-width:0}.clcosdk\\:max-md\\:bg-transparent{background-color:#0000}.clcosdk\\:max-md\\:p-0{padding:0}@media (hover:hover){.clcosdk\\:max-md\\:hover\\:scale-100:hover{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}@media (min-width:40rem){.clcosdk\\:sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.clcosdk\\:md\\:right-\\[-10\\%\\]{right:-10%}.clcosdk\\:md\\:order-1{order:1}.clcosdk\\:md\\:order-2{order:2}.clcosdk\\:md\\:hidden{display:none}.clcosdk\\:md\\:size-\\[20rem\\]{width:20rem;height:20rem}.clcosdk\\:md\\:h-9{height:calc(var(--clcosdk-spacing) * 9)}.clcosdk\\:md\\:h-12{height:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:md\\:h-\\[54px\\]{height:54px}.clcosdk\\:md\\:w-9{width:calc(var(--clcosdk-spacing) * 9)}.clcosdk\\:md\\:w-12{width:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.clcosdk\\:md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.clcosdk\\:md\\:grid-cols-\\[minmax\\(0\\,11fr\\)_minmax\\(0\\,8fr\\)\\]{grid-template-columns:minmax(0,11fr) minmax(0,8fr)}.clcosdk\\:md\\:flex-row{flex-direction:row}.clcosdk\\:md\\:items-center{align-items:center}.clcosdk\\:md\\:items-end{align-items:flex-end}.clcosdk\\:md\\:justify-between{justify-content:space-between}.clcosdk\\:md\\:justify-end{justify-content:flex-end}.clcosdk\\:md\\:gap-3{gap:calc(var(--clcosdk-spacing) * 3)}.clcosdk\\:md\\:gap-6{gap:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:md\\:gap-x-12{column-gap:calc(var(--clcosdk-spacing) * 12)}.clcosdk\\:md\\:self-end{align-self:flex-end}.clcosdk\\:md\\:rounded-\\[40px\\]{border-radius:40px}.clcosdk\\:md\\:rounded-card{border-radius:24px}.clcosdk\\:md\\:rounded-dialog{border-radius:32px}.clcosdk\\:md\\:p-4{padding:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:md\\:p-6{padding:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:md\\:p-8{padding:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:md\\:px-6{padding-inline:calc(var(--clcosdk-spacing) * 6)}.clcosdk\\:md\\:px-8{padding-inline:calc(var(--clcosdk-spacing) * 8)}.clcosdk\\:md\\:py-2{padding-block:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:md\\:pr-2{padding-right:calc(var(--clcosdk-spacing) * 2)}.clcosdk\\:md\\:pr-4{padding-right:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:md\\:pl-4{padding-left:calc(var(--clcosdk-spacing) * 4)}.clcosdk\\:md\\:text-base{font-size:var(--clcosdk-text-base);line-height:var(--tw-leading,var(--clcosdk-text-base--line-height))}.clcosdk\\:md\\:text-\\[14px\\]{font-size:14px}.clcosdk\\:md\\:text-\\[16px\\]{font-size:16px}.clcosdk\\:md\\:text-\\[18px\\]{font-size:18px}.clcosdk\\:md\\:text-\\[28px\\]{font-size:28px}.clcosdk\\:md\\:leading-\\[120\\%\\]{--tw-leading:120%;line-height:120%}.clcosdk\\:md\\:leading-\\[160\\%\\]{--tw-leading:160%;line-height:160%}}@media (prefers-color-scheme:dark){@media (hover:hover){.clcosdk\\:dark\\:hover\\:bg-\\[rgba\\(248\\,113\\,113\\,0\\.20\\)\\]:not(:where(.light,.light *)):hover{background-color:#f8717133}}}@media (hover:hover){.clcosdk\\:dark\\:hover\\:bg-\\[rgba\\(248\\,113\\,113\\,0\\.20\\)\\]:where(.dark,.dark *):hover{background-color:#f8717133}}@media (prefers-color-scheme:dark){@media (hover:hover){.clcosdk\\:dark\\:hover\\:text-\\[\\#fca5a5\\]:not(:where(.light,.light *)):hover{color:#fca5a5}}}@media (hover:hover){.clcosdk\\:dark\\:hover\\:text-\\[\\#fca5a5\\]:where(.dark,.dark *):hover{color:#fca5a5}}@media (prefers-color-scheme:dark){.clcosdk\\:dark\\:active\\:bg-\\[rgba\\(248\\,113\\,113\\,0\\.30\\)\\]:not(:where(.light,.light *)):active{background-color:#f871714d}}.clcosdk\\:dark\\:active\\:bg-\\[rgba\\(248\\,113\\,113\\,0\\.30\\)\\]:where(.dark,.dark *):active{background-color:#f871714d}@media (prefers-color-scheme:dark){.clcosdk\\:dark\\:active\\:bg-divider:not(:where(.light,.light *)):active{background-color:var(--color-divider)}}.clcosdk\\:dark\\:active\\:bg-divider:where(.dark,.dark *):active{background-color:var(--color-divider)}@media (prefers-color-scheme:dark){.clcosdk\\:dark\\:active\\:text-\\[\\#f87171\\]:not(:where(.light,.light *)):active{color:#f87171}}.clcosdk\\:dark\\:active\\:text-\\[\\#f87171\\]:where(.dark,.dark *):active{color:#f87171}.clcosdk\\:\\[\\&_circle\\]\\:fill-error-subtle circle{fill:var(--color-error-subtle)}.clcosdk\\:\\[\\&_circle\\]\\:fill-success-subtle circle{fill:var(--color-success-subtle)}.clcosdk\\:\\[\\&_circle\\]\\:fill-warning-subtle circle{fill:var(--color-warning-subtle)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}';
5091
5042
 
5092
5043
  // src/client/CoinListStyleScope.tsx
5093
5044
  var import_jsx_runtime2 = require("react/jsx-runtime");
@@ -7614,20 +7565,6 @@ function tokenLogoUrl(logo, minWidth = 40) {
7614
7565
  }
7615
7566
  }
7616
7567
  }
7617
- function tokenLogoSrcSet(logo) {
7618
- switch (logo.kind) {
7619
- case "VECTOR":
7620
- return null;
7621
- case "RASTER": {
7622
- const candidates = logo.variants.length > 0 ? logo.variants : [logo.original];
7623
- return [...candidates].sort((a, b) => a.width - b.width).map((image) => `${image.url} ${image.width}w`).join(", ");
7624
- }
7625
- default: {
7626
- const exhaustive = logo;
7627
- return exhaustive;
7628
- }
7629
- }
7630
- }
7631
7568
  function offerAssetIconUrl(offer, tokenMetadata) {
7632
7569
  return (tokenMetadata ? tokenLogoUrl(tokenMetadata.logo) : null) ?? offerIconUrl(offer);
7633
7570
  }
@@ -8859,9 +8796,8 @@ var NO_TOKEN_ADDRESS = EvmContractAddress(
8859
8796
  "0x0000000000000000000000000000000000000000"
8860
8797
  );
8861
8798
  function offerTokenIdentifier(offer, chain) {
8862
- const asset = offerDisplayTokens(offer).find(
8863
- (token) => token.chain === chain
8864
- );
8799
+ const byChain = offer.tokens.filter((token) => token.chain === chain);
8800
+ const asset = byChain.find((token) => token.role === "swap") ?? byChain.find((token) => token.role === "distribution");
8865
8801
  return asset === void 0 ? null : { chain, address: asset.address };
8866
8802
  }
8867
8803
  function tokenMetadataOf(state) {
@@ -13210,58 +13146,6 @@ function renderOndoSide(side, branches) {
13210
13146
  }
13211
13147
  }
13212
13148
 
13213
- // src/client/components/design-system/ThemedImage.tsx
13214
- var import_jsx_runtime51 = require("react/jsx-runtime");
13215
- function ThemedImage({
13216
- light,
13217
- dark,
13218
- sizes,
13219
- alt,
13220
- width,
13221
- height,
13222
- className,
13223
- style
13224
- }) {
13225
- const shared = { width, height, style };
13226
- if (!dark) {
13227
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13228
- "img",
13229
- {
13230
- src: light.src,
13231
- srcSet: light.srcSet,
13232
- sizes: light.srcSet ? sizes : void 0,
13233
- className,
13234
- alt,
13235
- ...shared
13236
- }
13237
- );
13238
- }
13239
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
13240
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13241
- "img",
13242
- {
13243
- src: light.src,
13244
- srcSet: light.srcSet,
13245
- sizes: light.srcSet ? sizes : void 0,
13246
- className: cn("clcosdk-on-light", className),
13247
- alt,
13248
- ...shared
13249
- }
13250
- ),
13251
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13252
- "img",
13253
- {
13254
- src: dark.src,
13255
- srcSet: dark.srcSet,
13256
- sizes: dark.srcSet ? sizes : void 0,
13257
- className: cn("clcosdk-on-dark", className),
13258
- alt,
13259
- ...shared
13260
- }
13261
- )
13262
- ] });
13263
- }
13264
-
13265
13149
  // src/client/components/offers/shared/offer-card-keyboard.ts
13266
13150
  function onOfferCardKeyDown(event, onClick) {
13267
13151
  if (event.key !== "Enter" && event.key !== " ") return;
@@ -13270,8 +13154,7 @@ function onOfferCardKeyDown(event, onClick) {
13270
13154
  }
13271
13155
 
13272
13156
  // src/client/components/offers/shared/OfferAssetCard.tsx
13273
- var import_jsx_runtime52 = require("react/jsx-runtime");
13274
- var LOGO_SIZES = "(min-width: 768px) 48px, 40px";
13157
+ var import_jsx_runtime51 = require("react/jsx-runtime");
13275
13158
  function OfferAssetCard({
13276
13159
  offer,
13277
13160
  onClick,
@@ -13279,7 +13162,7 @@ function OfferAssetCard({
13279
13162
  containerClassName
13280
13163
  }) {
13281
13164
  const interactive = onClick !== void 0;
13282
- const card = /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
13165
+ const card = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13283
13166
  "article",
13284
13167
  {
13285
13168
  className: cn(
@@ -13293,13 +13176,11 @@ function OfferAssetCard({
13293
13176
  tabIndex: interactive ? 0 : void 0,
13294
13177
  onClick,
13295
13178
  onKeyDown: interactive ? (event) => onOfferCardKeyDown(event, onClick) : void 0,
13296
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:flex-1 clcosdk:items-center clcosdk:gap-2.5 clcosdk:pr-3 clcosdk:md:gap-3 clcosdk:md:pr-4", children: [
13297
- offer.logo ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "clcosdk:h-10 clcosdk:w-10 clcosdk:shrink-0 clcosdk:overflow-hidden clcosdk:rounded-full clcosdk:md:h-12 clcosdk:md:w-12", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
13298
- ThemedImage,
13179
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:flex-1 clcosdk:items-center clcosdk:gap-2.5 clcosdk:pr-3 clcosdk:md:gap-3 clcosdk:md:pr-4", children: [
13180
+ offer.logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "clcosdk:h-10 clcosdk:w-10 clcosdk:shrink-0 clcosdk:overflow-hidden clcosdk:rounded-full clcosdk:md:h-12 clcosdk:md:w-12", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13181
+ "img",
13299
13182
  {
13300
- light: offer.logo.light,
13301
- dark: offer.logo.dark ?? void 0,
13302
- sizes: LOGO_SIZES,
13183
+ src: offer.logoUrl,
13303
13184
  alt: "",
13304
13185
  width: 48,
13305
13186
  height: 48,
@@ -13307,8 +13188,8 @@ function OfferAssetCard({
13307
13188
  style: { maxWidth: "none", width: "100%", height: "100%" }
13308
13189
  }
13309
13190
  ) }) : null,
13310
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:flex-1 clcosdk:flex-col clcosdk:items-start clcosdk:justify-center", children: [
13311
- offer.name ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
13191
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:flex-1 clcosdk:flex-col clcosdk:items-start clcosdk:justify-center", children: [
13192
+ offer.name ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13312
13193
  "h2",
13313
13194
  {
13314
13195
  className: cn(
@@ -13317,13 +13198,13 @@ function OfferAssetCard({
13317
13198
  children: offer.name
13318
13199
  }
13319
13200
  ) : null,
13320
- offer.symbol ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "clcosdk:w-full clcosdk:truncate clcosdk:text-[13px] clcosdk:leading-[150%] clcosdk:font-normal clcosdk:text-text-secondary clcosdk:md:text-[14px]", children: offer.symbol }) : null
13201
+ offer.symbol ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "clcosdk:w-full clcosdk:truncate clcosdk:text-[13px] clcosdk:leading-[150%] clcosdk:font-normal clcosdk:text-text-secondary clcosdk:md:text-[14px]", children: offer.symbol }) : null
13321
13202
  ] })
13322
13203
  ] })
13323
13204
  }
13324
13205
  );
13325
- const wrapped = containerClassName ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: containerClassName, children: card }) : card;
13326
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CoinListStyleScope, { children: wrapped });
13206
+ const wrapped = containerClassName ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: containerClassName, children: card }) : card;
13207
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(CoinListStyleScope, { children: wrapped });
13327
13208
  }
13328
13209
  function cardActionLabel(offer) {
13329
13210
  const parts = [offer.name, offer.symbol].filter(Boolean);
@@ -13331,7 +13212,7 @@ function cardActionLabel(offer) {
13331
13212
  }
13332
13213
 
13333
13214
  // src/client/components/offers/grid/OffersAssetGrid.tsx
13334
- var import_jsx_runtime53 = require("react/jsx-runtime");
13215
+ var import_jsx_runtime52 = require("react/jsx-runtime");
13335
13216
  var DEFAULT_MAX_COLUMNS = 3;
13336
13217
  function OffersAssetGrid({
13337
13218
  offers,
@@ -13346,14 +13227,14 @@ function OffersAssetGrid({
13346
13227
  );
13347
13228
  const maxGridWidth = `calc(${cols} * 20rem + ${Math.max(cols - 1, 0)} * 1.5rem)`;
13348
13229
  const interactive = onOfferClick !== void 0;
13349
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13230
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
13350
13231
  "div",
13351
13232
  {
13352
13233
  className: cn(
13353
13234
  "clcosdk:flex clcosdk:w-full clcosdk:justify-center",
13354
13235
  containerClassName
13355
13236
  ),
13356
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13237
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
13357
13238
  "div",
13358
13239
  {
13359
13240
  className: cn(
@@ -13363,7 +13244,7 @@ function OffersAssetGrid({
13363
13244
  className
13364
13245
  ),
13365
13246
  style: { maxWidth: maxGridWidth },
13366
- children: offers.map((offer) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13247
+ children: offers.map((offer) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
13367
13248
  OfferAssetCard,
13368
13249
  {
13369
13250
  offer,
@@ -13405,9 +13286,7 @@ function saleCardStatus({
13405
13286
  }
13406
13287
 
13407
13288
  // src/client/components/offers/shared/OfferSaleCard.tsx
13408
- var import_jsx_runtime54 = require("react/jsx-runtime");
13409
- var HEADER_LOGO_SIZES = "(min-width: 768px) 36px, 32px";
13410
- var WATERMARK_SIZES = "(min-width: 768px) 20rem, 15rem";
13289
+ var import_jsx_runtime53 = require("react/jsx-runtime");
13411
13290
  function OfferSaleCard({
13412
13291
  offer,
13413
13292
  onClick,
@@ -13422,8 +13301,7 @@ function OfferSaleCard({
13422
13301
  secondsLeft
13423
13302
  });
13424
13303
  const interactive = onClick !== void 0;
13425
- const logo = offer.logo ? offer.logo.dark ?? offer.logo.light : null;
13426
- const card = /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
13304
+ const card = /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
13427
13305
  "article",
13428
13306
  {
13429
13307
  className: cn(
@@ -13438,17 +13316,16 @@ function OfferSaleCard({
13438
13316
  onClick,
13439
13317
  onKeyDown: interactive ? (event) => onOfferCardKeyDown(event, onClick) : void 0,
13440
13318
  children: [
13441
- logo ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13319
+ offer.logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13442
13320
  "div",
13443
13321
  {
13444
13322
  "aria-hidden": "true",
13445
13323
  className: "clcosdk:pointer-events-none clcosdk:absolute clcosdk:top-1/2 clcosdk:right-[-14%] clcosdk:z-0 clcosdk:size-[15rem] clcosdk:-translate-y-1/2 clcosdk:md:right-[-10%] clcosdk:md:size-[20rem]",
13446
13324
  style: { mixBlendMode: "overlay" },
13447
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13448
- ThemedImage,
13325
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13326
+ "img",
13449
13327
  {
13450
- light: logo,
13451
- sizes: WATERMARK_SIZES,
13328
+ src: offer.logoUrl,
13452
13329
  alt: "",
13453
13330
  className: "clcosdk:size-full clcosdk:rounded-full clcosdk:object-cover",
13454
13331
  style: { maxWidth: "none", width: "100%", height: "100%" }
@@ -13456,13 +13333,12 @@ function OfferSaleCard({
13456
13333
  )
13457
13334
  }
13458
13335
  ) : null,
13459
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "clcosdk:relative clcosdk:z-10 clcosdk:flex clcosdk:flex-col clcosdk:gap-2 clcosdk:md:gap-3", children: [
13460
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:items-center clcosdk:gap-2.5 clcosdk:md:gap-3", children: [
13461
- logo ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "clcosdk:h-8 clcosdk:w-8 clcosdk:shrink-0 clcosdk:overflow-hidden clcosdk:rounded-full clcosdk:md:h-9 clcosdk:md:w-9", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13462
- ThemedImage,
13336
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "clcosdk:relative clcosdk:z-10 clcosdk:flex clcosdk:flex-col clcosdk:gap-2 clcosdk:md:gap-3", children: [
13337
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:items-center clcosdk:gap-2.5 clcosdk:md:gap-3", children: [
13338
+ offer.logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "clcosdk:h-8 clcosdk:w-8 clcosdk:shrink-0 clcosdk:overflow-hidden clcosdk:rounded-full clcosdk:md:h-9 clcosdk:md:w-9", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13339
+ "img",
13463
13340
  {
13464
- light: logo,
13465
- sizes: HEADER_LOGO_SIZES,
13341
+ src: offer.logoUrl,
13466
13342
  alt: "",
13467
13343
  width: 36,
13468
13344
  height: 36,
@@ -13470,7 +13346,7 @@ function OfferSaleCard({
13470
13346
  style: { maxWidth: "none", width: "100%", height: "100%" }
13471
13347
  }
13472
13348
  ) }) : null,
13473
- offer.name ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13349
+ offer.name ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13474
13350
  "h2",
13475
13351
  {
13476
13352
  className: cn(
@@ -13480,7 +13356,7 @@ function OfferSaleCard({
13480
13356
  }
13481
13357
  ) : null
13482
13358
  ] }),
13483
- offer.tagline ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13359
+ offer.tagline ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13484
13360
  "p",
13485
13361
  {
13486
13362
  className: cn(
@@ -13491,20 +13367,20 @@ function OfferSaleCard({
13491
13367
  }
13492
13368
  ) : null
13493
13369
  ] }),
13494
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "clcosdk:relative clcosdk:z-10 clcosdk:mt-auto clcosdk:flex clcosdk:h-11 clcosdk:w-full clcosdk:min-w-0 clcosdk:items-center clcosdk:justify-between clcosdk:gap-2 clcosdk:rounded-full clcosdk:border clcosdk:border-sale-card-chrome-border clcosdk:bg-sale-card-chrome-bg clcosdk:py-1.5 clcosdk:pr-1.5 clcosdk:pl-3 clcosdk:md:h-[54px] clcosdk:md:gap-3 clcosdk:md:py-2 clcosdk:md:pr-2 clcosdk:md:pl-4", children: [
13495
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:items-center clcosdk:gap-2 clcosdk:md:gap-3", children: [
13496
- status.phase === "live" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
13370
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "clcosdk:relative clcosdk:z-10 clcosdk:mt-auto clcosdk:flex clcosdk:h-11 clcosdk:w-full clcosdk:min-w-0 clcosdk:items-center clcosdk:justify-between clcosdk:gap-2 clcosdk:rounded-full clcosdk:border clcosdk:border-sale-card-chrome-border clcosdk:bg-sale-card-chrome-bg clcosdk:py-1.5 clcosdk:pr-1.5 clcosdk:pl-3 clcosdk:md:h-[54px] clcosdk:md:gap-3 clcosdk:md:py-2 clcosdk:md:pr-2 clcosdk:md:pl-4", children: [
13371
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:items-center clcosdk:gap-2 clcosdk:md:gap-3", children: [
13372
+ status.phase === "live" ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
13497
13373
  "span",
13498
13374
  {
13499
13375
  className: "clcosdk:relative clcosdk:inline-flex clcosdk:size-2 clcosdk:shrink-0",
13500
13376
  "aria-hidden": "true",
13501
13377
  children: [
13502
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "clcosdk-status-dot-ping clcosdk:absolute clcosdk:inset-0 clcosdk:rounded-full clcosdk:bg-positive" }),
13503
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "clcosdk:relative clcosdk:inline-flex clcosdk:size-full clcosdk:rounded-full clcosdk:bg-positive" })
13378
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "clcosdk-status-dot-ping clcosdk:absolute clcosdk:inset-0 clcosdk:rounded-full clcosdk:bg-positive" }),
13379
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "clcosdk:relative clcosdk:inline-flex clcosdk:size-full clcosdk:rounded-full clcosdk:bg-positive" })
13504
13380
  ]
13505
13381
  }
13506
13382
  ) : null,
13507
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13383
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13508
13384
  "p",
13509
13385
  {
13510
13386
  className: cn(
@@ -13515,7 +13391,7 @@ function OfferSaleCard({
13515
13391
  }
13516
13392
  )
13517
13393
  ] }),
13518
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
13394
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
13519
13395
  "span",
13520
13396
  {
13521
13397
  className: cn(
@@ -13525,8 +13401,8 @@ function OfferSaleCard({
13525
13401
  "aria-hidden": "true",
13526
13402
  children: [
13527
13403
  "View",
13528
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "clcosdk:max-md:hidden", children: " offer" }),
13529
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react13.ArrowRight, { className: "clcosdk:size-4", "aria-hidden": true })
13404
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "clcosdk:max-md:hidden", children: " offer" }),
13405
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react13.ArrowRight, { className: "clcosdk:size-4", "aria-hidden": true })
13530
13406
  ]
13531
13407
  }
13532
13408
  )
@@ -13534,8 +13410,8 @@ function OfferSaleCard({
13534
13410
  ]
13535
13411
  }
13536
13412
  );
13537
- const wrapped = containerClassName ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: containerClassName, children: card }) : card;
13538
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CoinListStyleScope, { children: wrapped });
13413
+ const wrapped = containerClassName ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: containerClassName, children: card }) : card;
13414
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(CoinListStyleScope, { children: wrapped });
13539
13415
  }
13540
13416
  var SALE_PHASE_LABEL = {
13541
13417
  upcoming: "Upcoming",
@@ -13548,10 +13424,10 @@ function cardActionLabel2(offer, phase) {
13548
13424
  }
13549
13425
 
13550
13426
  // src/client/components/offers/grid/OffersGridView.tsx
13551
- var import_jsx_runtime55 = require("react/jsx-runtime");
13427
+ var import_jsx_runtime54 = require("react/jsx-runtime");
13552
13428
  var DEFAULT_MAX_COLUMNS2 = 2;
13553
13429
  function OffersGridView(props) {
13554
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(OffersGridViewBody, { ...props }) });
13430
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(OffersGridViewBody, { ...props }) });
13555
13431
  }
13556
13432
  function OffersGridViewBody({
13557
13433
  state,
@@ -13565,13 +13441,13 @@ function OffersGridViewBody({
13565
13441
  }) {
13566
13442
  switch (state.type) {
13567
13443
  case "loading":
13568
- return loading ?? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(LoadingState, {});
13444
+ return loading ?? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(LoadingState, {});
13569
13445
  case "error":
13570
- return error ?? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ErrorState, { message: state.message });
13446
+ return error ?? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ErrorState, { message: state.message });
13571
13447
  case "empty":
13572
- return emptyState ?? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmptyState, {});
13448
+ return emptyState ?? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(EmptyState, {});
13573
13449
  case "content":
13574
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13450
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13575
13451
  OffersGridContent,
13576
13452
  {
13577
13453
  offers: state.offers,
@@ -13601,14 +13477,14 @@ function OffersGridContent({
13601
13477
  Math.max(1, maxColumns ?? DEFAULT_MAX_COLUMNS2)
13602
13478
  );
13603
13479
  const maxGridWidth = `calc(${cols} * 28rem + ${Math.max(cols - 1, 0)} * 1.5rem)`;
13604
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13480
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13605
13481
  "div",
13606
13482
  {
13607
13483
  className: cn(
13608
13484
  "clcosdk:flex clcosdk:w-full clcosdk:justify-center",
13609
13485
  containerClassName
13610
13486
  ),
13611
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13487
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13612
13488
  "div",
13613
13489
  {
13614
13490
  className: cn(
@@ -13617,7 +13493,7 @@ function OffersGridContent({
13617
13493
  className
13618
13494
  ),
13619
13495
  style: { maxWidth: maxGridWidth },
13620
- children: offers.map((offer) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13496
+ children: offers.map((offer) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13621
13497
  OfferSaleCard,
13622
13498
  {
13623
13499
  offer,
@@ -13631,17 +13507,17 @@ function OffersGridContent({
13631
13507
  );
13632
13508
  }
13633
13509
  function LoadingState() {
13634
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13510
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13635
13511
  "output",
13636
13512
  {
13637
13513
  "aria-live": "polite",
13638
13514
  className: "clcosdk:flex clcosdk:min-h-40 clcosdk:items-center clcosdk:justify-center clcosdk:rounded-2xl clcosdk:border clcosdk:border-border clcosdk:bg-background clcosdk:p-6",
13639
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading offers..." })
13515
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading offers..." })
13640
13516
  }
13641
13517
  );
13642
13518
  }
13643
13519
  function ErrorState({ message }) {
13644
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13520
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13645
13521
  AlertBanner,
13646
13522
  {
13647
13523
  variant: "error",
@@ -13652,13 +13528,13 @@ function ErrorState({ message }) {
13652
13528
  );
13653
13529
  }
13654
13530
  function EmptyState() {
13655
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
13531
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
13656
13532
  "output",
13657
13533
  {
13658
13534
  "aria-live": "polite",
13659
13535
  className: "clcosdk:flex clcosdk:min-h-40 clcosdk:flex-col clcosdk:items-center clcosdk:justify-center clcosdk:gap-2 clcosdk:rounded-2xl clcosdk:border clcosdk:border-border clcosdk:bg-background clcosdk:p-6 clcosdk:text-center",
13660
13536
  children: [
13661
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13537
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13662
13538
  "p",
13663
13539
  {
13664
13540
  className: cn(
@@ -13668,14 +13544,14 @@ function EmptyState() {
13668
13544
  children: "No offers available"
13669
13545
  }
13670
13546
  ),
13671
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: cn(typeClasses.subhead, "clcosdk:text-text-secondary"), children: "Check back soon for upcoming opportunities." })
13547
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: cn(typeClasses.subhead, "clcosdk:text-text-secondary"), children: "Check back soon for upcoming opportunities." })
13672
13548
  ]
13673
13549
  }
13674
13550
  );
13675
13551
  }
13676
13552
 
13677
13553
  // src/client/hooks/offers/grid/useOffersGridViewModel.ts
13678
- var import_react38 = require("react");
13554
+ var import_react37 = require("react");
13679
13555
 
13680
13556
  // src/client/hooks/offers/data/useOffers.ts
13681
13557
  var import_react36 = require("react");
@@ -13733,56 +13609,19 @@ function useOffers(options = {}) {
13733
13609
  return { offersState };
13734
13610
  }
13735
13611
 
13736
- // src/client/hooks/offers/shared/offer-logo.types.ts
13737
- var CARD_LOGO_WIDTH = 96;
13738
- var OfferLogoUi = {
13739
- /**
13740
- * The registry's logo for the token an offer is about, or the offer's own
13741
- * artwork otherwise, or `null` when neither exists.
13742
- *
13743
- * The registry wins when both exist because it is the token's real artwork
13744
- * where `Offer.logoUrl` is catalogue artwork, and because a swap publishes
13745
- * without artwork more often than not - which is why `logoUrl` is `null`
13746
- * on the swap variants.
13747
- */
13748
- fromOffer: (offer, tokenMetadata) => {
13749
- const light = tokenMetadata ? logoImage(tokenMetadata.logo) : null;
13750
- if (light !== null) {
13751
- const dark = tokenMetadata?.logoDark ? logoImage(tokenMetadata.logoDark) : null;
13752
- return { light, dark };
13753
- }
13754
- return offer.logoUrl ? { light: { src: offer.logoUrl }, dark: null } : null;
13755
- }
13756
- };
13757
- function logoImage(logo) {
13758
- const src = tokenLogoUrl(logo, CARD_LOGO_WIDTH);
13759
- if (src === null) {
13760
- return null;
13761
- }
13762
- const srcSet = tokenLogoSrcSet(logo);
13763
- return srcSet === null ? { src } : { src, srcSet };
13764
- }
13765
-
13766
13612
  // src/client/hooks/offers/shared/offer-sale-card.types.ts
13767
13613
  var OfferSaleCardUi = {
13768
- /**
13769
- * `tokenMetadata` is the registry's entry for the token the offer is about
13770
- * (`TokenRegistrySnapshot.forOffer`), or `null` when it lists none. The
13771
- * registry names win over the offer's own where both exist: they are the
13772
- * token's canonical name and artwork, where the offer's are catalogue copy.
13773
- */
13774
- fromOffer: (offer, tokenMetadata = null) => ({
13614
+ fromOffer: (offer) => ({
13775
13615
  id: offer.id,
13776
- ...tokenMetadata ? { name: tokenMetadata.name } : {},
13777
13616
  ...saleWindow(offer),
13778
- logo: OfferLogoUi.fromOffer(offer, tokenMetadata),
13617
+ logoUrl: offer.logoUrl,
13779
13618
  endsAt: offer.endsAt
13780
13619
  }),
13781
- fromDetail: (detail, tokenMetadata = null) => ({
13620
+ fromDetail: (detail) => ({
13782
13621
  id: detail.id,
13783
- name: tokenMetadata?.name ?? detail.name,
13622
+ name: detail.name,
13784
13623
  ...saleWindow(detail),
13785
- logo: OfferLogoUi.fromOffer(detail, tokenMetadata),
13624
+ logoUrl: detail.logoUrl,
13786
13625
  endsAt: detail.endsAt
13787
13626
  })
13788
13627
  };
@@ -13800,80 +13639,17 @@ function saleWindow(offer) {
13800
13639
  }
13801
13640
  }
13802
13641
 
13803
- // src/client/hooks/shared/useTokenRegistry.ts
13804
- var import_react37 = require("react");
13805
- var DISABLED_STATE2 = { type: "DISABLED" };
13806
- var LOADING_STATE4 = { type: "LOADING" };
13807
- function useTokenRegistry(options = {}) {
13808
- const { data, enabled = true } = options;
13809
- const { coinlist, isReady } = useCoinList();
13810
- const log = useLogger("useTokenRegistry");
13811
- const [state, setState] = (0, import_react37.useState)(
13812
- () => data !== void 0 ? { type: "CONTENT", registry: TokenRegistrySnapshot.fromTokens(data) } : LOADING_STATE4
13813
- );
13814
- const [refetchCount, setRefetchCount] = (0, import_react37.useState)(0);
13815
- const refetch = (0, import_react37.useCallback)(() => {
13816
- setRefetchCount((count) => count + 1);
13817
- }, []);
13818
- (0, import_react37.useEffect)(() => {
13819
- let isCancelled = false;
13820
- const seedActive = data !== void 0 && refetchCount === 0;
13821
- if (!isReady || !enabled || seedActive) {
13822
- return () => {
13823
- isCancelled = true;
13824
- };
13825
- }
13826
- setState(LOADING_STATE4);
13827
- coinlist.tokens.list().then((tokens) => {
13828
- if (!isCancelled) {
13829
- log.debug(() => ({
13830
- msg: "settled",
13831
- fields: { state: "CONTENT", count: tokens.length }
13832
- }));
13833
- setState({
13834
- type: "CONTENT",
13835
- registry: TokenRegistrySnapshot.fromTokens(tokens)
13836
- });
13837
- }
13838
- }).catch((error) => {
13839
- if (!isCancelled) {
13840
- log.failure(
13841
- () => ({
13842
- msg: "settled",
13843
- fields: { state: "ERROR", reason: "generic-error" }
13844
- }),
13845
- error
13846
- );
13847
- setState({ type: "ERROR", reason: "generic-error" });
13848
- }
13849
- });
13850
- return () => {
13851
- isCancelled = true;
13852
- };
13853
- }, [coinlist, isReady, enabled, data, refetchCount, log]);
13854
- return {
13855
- // LOADING would be a lie while disabled: nothing is in flight and nothing
13856
- // will replace it. Settled states (a seed, a previous answer) survive.
13857
- state: !enabled && state.type === "LOADING" ? DISABLED_STATE2 : state,
13858
- refetch
13859
- };
13860
- }
13861
-
13862
13642
  // src/client/hooks/offers/grid/useOffersGridViewModel.ts
13863
13643
  var NOT_AUTHENTICATED_MESSAGE = "Sign in to view available offers.";
13864
13644
  var GENERIC_ERROR_MESSAGE = "Unable to load offers right now. Please try again.";
13865
13645
  function useOffersGridViewModel(options = {}) {
13866
13646
  const { data, onOfferClick, enabled = true } = options;
13867
- const { offersState } = useOffers({ data: data?.offers, enabled });
13868
- const { state: registryState } = useTokenRegistry({
13869
- data: data?.tokens,
13870
- enabled
13871
- });
13872
- const state = (0, import_react38.useMemo)(
13873
- () => toUiState(offersState, registryState, onOfferClick !== void 0),
13874
- [offersState, registryState, onOfferClick]
13647
+ const { offersState } = useOffers({ data, enabled });
13648
+ const state = (0, import_react37.useMemo)(
13649
+ () => toUiState(offersState, onOfferClick !== void 0),
13650
+ [offersState, onOfferClick]
13875
13651
  );
13876
- const onEvent = (0, import_react38.useCallback)(
13652
+ const onEvent = (0, import_react37.useCallback)(
13877
13653
  (event) => {
13878
13654
  switch (event.type) {
13879
13655
  case "ON_OFFER_CLICK": {
@@ -13896,7 +13672,7 @@ function useOffersGridViewModel(options = {}) {
13896
13672
  );
13897
13673
  return { state, onEvent };
13898
13674
  }
13899
- function toUiState(offersState, registryState, interactive) {
13675
+ function toUiState(offersState, interactive) {
13900
13676
  switch (offersState.type) {
13901
13677
  case "LOADING":
13902
13678
  return { type: "loading" };
@@ -13909,18 +13685,9 @@ function toUiState(offersState, registryState, interactive) {
13909
13685
  if (offersState.offers.length === 0) {
13910
13686
  return { type: "empty" };
13911
13687
  }
13912
- if (registryState.type === "LOADING") {
13913
- return { type: "loading" };
13914
- }
13915
- const registry = registryState.type === "CONTENT" ? registryState.registry : null;
13916
13688
  return {
13917
13689
  type: "content",
13918
- offers: offersState.offers.map(
13919
- (offer) => OfferSaleCardUi.fromOffer(
13920
- offer,
13921
- registry ? TokenRegistrySnapshot.forOffer(registry, offer) : null
13922
- )
13923
- ),
13690
+ offers: offersState.offers.map(OfferSaleCardUi.fromOffer),
13924
13691
  interactive
13925
13692
  };
13926
13693
  }
@@ -13932,7 +13699,7 @@ function toUiState(offersState, registryState, interactive) {
13932
13699
  }
13933
13700
 
13934
13701
  // src/client/components/offers/grid/OffersGridContainer.tsx
13935
- var import_jsx_runtime56 = require("react/jsx-runtime");
13702
+ var import_jsx_runtime55 = require("react/jsx-runtime");
13936
13703
  function OffersGridContainer({
13937
13704
  data,
13938
13705
  onOfferClick,
@@ -13944,17 +13711,17 @@ function OffersGridContainer({
13944
13711
  onOfferClick,
13945
13712
  enabled
13946
13713
  });
13947
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(OffersGridView, { state, onEvent, ...viewProps });
13714
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(OffersGridView, { state, onEvent, ...viewProps });
13948
13715
  }
13949
13716
 
13950
13717
  // src/client/components/requirements/ConnectedWalletList.tsx
13951
- var import_react39 = require("react");
13952
- var import_jsx_runtime57 = require("react/jsx-runtime");
13718
+ var import_react38 = require("react");
13719
+ var import_jsx_runtime56 = require("react/jsx-runtime");
13953
13720
  function ConnectedWalletRow({
13954
13721
  wallet,
13955
13722
  onRemove
13956
13723
  }) {
13957
- const [state, setState] = (0, import_react39.useState)("idle");
13724
+ const [state, setState] = (0, import_react38.useState)("idle");
13958
13725
  const remove = async () => {
13959
13726
  if (!onRemove) return;
13960
13727
  setState("removing");
@@ -13965,8 +13732,8 @@ function ConnectedWalletRow({
13965
13732
  setState("error");
13966
13733
  }
13967
13734
  };
13968
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "clcosdk:flex clcosdk:min-h-9 clcosdk:flex-wrap clcosdk:items-center clcosdk:justify-between clcosdk:gap-2", children: [
13969
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13735
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "clcosdk:flex clcosdk:min-h-9 clcosdk:flex-wrap clcosdk:items-center clcosdk:justify-between clcosdk:gap-2", children: [
13736
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13970
13737
  "span",
13971
13738
  {
13972
13739
  title: wallet.address,
@@ -13977,16 +13744,16 @@ function ConnectedWalletRow({
13977
13744
  children: wallet.shortAddress
13978
13745
  }
13979
13746
  ),
13980
- onRemove != null && (state === "confirming" ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-2", children: [
13981
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13747
+ onRemove != null && (state === "confirming" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-2", children: [
13748
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13982
13749
  "span",
13983
13750
  {
13984
13751
  className: cn(typeClasses.subhead, "clcosdk:text-text-secondary"),
13985
13752
  children: "Remove?"
13986
13753
  }
13987
13754
  ),
13988
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ClButton, { size: "sm", variant: "destructive", onClick: remove, children: "Remove" }),
13989
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13755
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ClButton, { size: "sm", variant: "destructive", onClick: remove, children: "Remove" }),
13756
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13990
13757
  ClButton,
13991
13758
  {
13992
13759
  size: "sm",
@@ -13995,9 +13762,9 @@ function ConnectedWalletRow({
13995
13762
  children: "Cancel"
13996
13763
  }
13997
13764
  )
13998
- ] }) : state === "error" ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-2", children: [
13999
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: cn(typeClasses.subhead, "clcosdk:text-error"), children: "Couldn't remove." }),
14000
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13765
+ ] }) : state === "error" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-2", children: [
13766
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: cn(typeClasses.subhead, "clcosdk:text-error"), children: "Couldn't remove." }),
13767
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
14001
13768
  ClButton,
14002
13769
  {
14003
13770
  size: "sm",
@@ -14006,7 +13773,7 @@ function ConnectedWalletRow({
14006
13773
  children: "Try again"
14007
13774
  }
14008
13775
  )
14009
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13776
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
14010
13777
  ClButton,
14011
13778
  {
14012
13779
  size: "sm",
@@ -14019,7 +13786,7 @@ function ConnectedWalletRow({
14019
13786
  ] });
14020
13787
  }
14021
13788
  function ConnectedWalletList(props) {
14022
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ConnectedWalletListBody, { ...props }) });
13789
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ConnectedWalletListBody, { ...props }) });
14023
13790
  }
14024
13791
  function ConnectedWalletListBody({
14025
13792
  wallets,
@@ -14029,18 +13796,18 @@ function ConnectedWalletListBody({
14029
13796
  status = "ready",
14030
13797
  className
14031
13798
  }) {
14032
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
13799
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
14033
13800
  "div",
14034
13801
  {
14035
13802
  className: cn("clcosdk:flex clcosdk:flex-col clcosdk:gap-2", className),
14036
13803
  children: [
14037
- status === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlertBanner, { variant: "info", content: "Loading your connected wallets\u2026" }) : status === "error" ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13804
+ status === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertBanner, { variant: "info", content: "Loading your connected wallets\u2026" }) : status === "error" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
14038
13805
  AlertBanner,
14039
13806
  {
14040
13807
  variant: "error",
14041
13808
  content: "Couldn't load your connected wallets."
14042
13809
  }
14043
- ) : wallets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlertBanner, { variant: "info", content: "No wallets connected yet." }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:divide-y clcosdk:divide-divider", children: wallets.map((wallet) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13810
+ ) : wallets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertBanner, { variant: "info", content: "No wallets connected yet." }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:divide-y clcosdk:divide-divider", children: wallets.map((wallet) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
14044
13811
  ConnectedWalletRow,
14045
13812
  {
14046
13813
  wallet,
@@ -14048,7 +13815,7 @@ function ConnectedWalletListBody({
14048
13815
  },
14049
13816
  wallet.id
14050
13817
  )) }),
14051
- onAdd != null && status !== "loading" && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13818
+ onAdd != null && status !== "loading" && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
14052
13819
  ClButton,
14053
13820
  {
14054
13821
  size: "sm",
@@ -14065,9 +13832,9 @@ function ConnectedWalletListBody({
14065
13832
 
14066
13833
  // src/client/components/requirements/identity-verification/IdentityVerificationView.tsx
14067
13834
  var import_websdk_react = __toESM(require("@sumsub/websdk-react"), 1);
14068
- var import_jsx_runtime58 = require("react/jsx-runtime");
13835
+ var import_jsx_runtime57 = require("react/jsx-runtime");
14069
13836
  function IdentityVerificationView(props) {
14070
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(IdentityVerificationViewBody, { ...props }) });
13837
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(IdentityVerificationViewBody, { ...props }) });
14071
13838
  }
14072
13839
  function IdentityVerificationViewBody({
14073
13840
  state,
@@ -14076,7 +13843,7 @@ function IdentityVerificationViewBody({
14076
13843
  }) {
14077
13844
  switch (state.type) {
14078
13845
  case "loading":
14079
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13846
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
14080
13847
  "output",
14081
13848
  {
14082
13849
  "aria-live": "polite",
@@ -14084,11 +13851,11 @@ function IdentityVerificationViewBody({
14084
13851
  "clcosdk:flex clcosdk:min-h-40 clcosdk:items-center clcosdk:justify-center",
14085
13852
  className
14086
13853
  ),
14087
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading identity verification..." })
13854
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading identity verification..." })
14088
13855
  }
14089
13856
  );
14090
13857
  case "error":
14091
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
13858
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
14092
13859
  "div",
14093
13860
  {
14094
13861
  className: cn(
@@ -14096,13 +13863,13 @@ function IdentityVerificationViewBody({
14096
13863
  className
14097
13864
  ),
14098
13865
  children: [
14099
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(AlertBanner, { variant: "error", icon: true, content: state.message }),
14100
- state.retryable && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ClButton, { size: "sm", onClick: () => onEvent({ type: "ON_RETRY" }), children: "Try again" })
13866
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlertBanner, { variant: "error", icon: true, content: state.message }),
13867
+ state.retryable && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ClButton, { size: "sm", onClick: () => onEvent({ type: "ON_RETRY" }), children: "Try again" })
14101
13868
  ]
14102
13869
  }
14103
13870
  );
14104
13871
  case "ready":
14105
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn("clcosdk:w-full", className), children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13872
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn("clcosdk:w-full", className), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
14106
13873
  import_websdk_react.default,
14107
13874
  {
14108
13875
  accessToken: state.accessToken,
@@ -14142,25 +13909,25 @@ function toError(error) {
14142
13909
  }
14143
13910
 
14144
13911
  // src/client/hooks/requirements/identity-verification/useIdentityVerificationViewModel.ts
14145
- var import_react41 = require("react");
13912
+ var import_react40 = require("react");
14146
13913
 
14147
13914
  // src/client/hooks/requirements/data/useKycToken.ts
14148
- var import_react40 = require("react");
13915
+ var import_react39 = require("react");
14149
13916
  var IDLE_STATE = { type: "IDLE" };
14150
- var LOADING_STATE5 = { type: "LOADING" };
13917
+ var LOADING_STATE4 = { type: "LOADING" };
14151
13918
  function useKycToken(levelName, reset) {
14152
13919
  const { coinlist } = useCoinList();
14153
13920
  const log = useLogger("useKycToken");
14154
- const [kycTokenState, setKycTokenState] = (0, import_react40.useState)(IDLE_STATE);
14155
- const resetPendingRef = (0, import_react40.useRef)(reset === true);
14156
- const tokenIssuedRef = (0, import_react40.useRef)(false);
14157
- (0, import_react40.useEffect)(() => {
13921
+ const [kycTokenState, setKycTokenState] = (0, import_react39.useState)(IDLE_STATE);
13922
+ const resetPendingRef = (0, import_react39.useRef)(reset === true);
13923
+ const tokenIssuedRef = (0, import_react39.useRef)(false);
13924
+ (0, import_react39.useEffect)(() => {
14158
13925
  if (!tokenIssuedRef.current) {
14159
13926
  resetPendingRef.current = reset === true;
14160
13927
  }
14161
13928
  }, [reset]);
14162
- const fetchToken = (0, import_react40.useCallback)(async () => {
14163
- setKycTokenState(LOADING_STATE5);
13929
+ const fetchToken = (0, import_react39.useCallback)(async () => {
13930
+ setKycTokenState(LOADING_STATE4);
14164
13931
  try {
14165
13932
  const kycToken = await coinlist.requirements.createKycToken({
14166
13933
  levelName,
@@ -14193,8 +13960,8 @@ var GENERIC_ERROR_MESSAGE2 = "Unable to start identity verification right now. P
14193
13960
  function useIdentityVerificationViewModel(options = {}) {
14194
13961
  const { levelName, reset, locale, onSubmitted, onError } = options;
14195
13962
  const { kycTokenState, fetchToken } = useKycToken(levelName, reset);
14196
- const fetchedRef = (0, import_react41.useRef)(false);
14197
- (0, import_react41.useEffect)(() => {
13963
+ const fetchedRef = (0, import_react40.useRef)(false);
13964
+ (0, import_react40.useEffect)(() => {
14198
13965
  if (fetchedRef.current) {
14199
13966
  return;
14200
13967
  }
@@ -14202,7 +13969,7 @@ function useIdentityVerificationViewModel(options = {}) {
14202
13969
  fetchToken().catch(() => {
14203
13970
  });
14204
13971
  }, [fetchToken]);
14205
- const state = (0, import_react41.useMemo)(() => {
13972
+ const state = (0, import_react40.useMemo)(() => {
14206
13973
  switch (kycTokenState.type) {
14207
13974
  case "IDLE":
14208
13975
  case "LOADING":
@@ -14228,7 +13995,7 @@ function useIdentityVerificationViewModel(options = {}) {
14228
13995
  }
14229
13996
  }
14230
13997
  }, [kycTokenState, locale, fetchToken]);
14231
- const onEvent = (0, import_react41.useCallback)(
13998
+ const onEvent = (0, import_react40.useCallback)(
14232
13999
  (event) => {
14233
14000
  switch (event.type) {
14234
14001
  case "ON_RETRY":
@@ -14253,7 +14020,7 @@ function useIdentityVerificationViewModel(options = {}) {
14253
14020
  }
14254
14021
 
14255
14022
  // src/client/components/requirements/identity-verification/IdentityVerificationContainer.tsx
14256
- var import_jsx_runtime59 = require("react/jsx-runtime");
14023
+ var import_jsx_runtime58 = require("react/jsx-runtime");
14257
14024
  function IdentityVerificationContainer({
14258
14025
  levelName,
14259
14026
  reset,
@@ -14269,7 +14036,7 @@ function IdentityVerificationContainer({
14269
14036
  onSubmitted,
14270
14037
  onError
14271
14038
  });
14272
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
14039
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
14273
14040
  IdentityVerificationView,
14274
14041
  {
14275
14042
  state,
@@ -14284,7 +14051,7 @@ var import_lucide_react15 = require("lucide-react");
14284
14051
 
14285
14052
  // src/client/components/design-system/StepStatusIcon.tsx
14286
14053
  var import_lucide_react14 = require("lucide-react");
14287
- var import_jsx_runtime60 = require("react/jsx-runtime");
14054
+ var import_jsx_runtime59 = require("react/jsx-runtime");
14288
14055
  var statusConfig = {
14289
14056
  required: {
14290
14057
  Icon: import_lucide_react14.Info,
@@ -14309,7 +14076,7 @@ var statusConfig = {
14309
14076
  };
14310
14077
  function StepStatusIcon({ status, className }) {
14311
14078
  const { Icon, colorClass, fillClass } = statusConfig[status];
14312
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14079
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
14313
14080
  Icon,
14314
14081
  {
14315
14082
  className: cn(
@@ -14324,7 +14091,7 @@ function StepStatusIcon({ status, className }) {
14324
14091
  }
14325
14092
 
14326
14093
  // src/client/components/requirements/RequirementItem.tsx
14327
- var import_jsx_runtime61 = require("react/jsx-runtime");
14094
+ var import_jsx_runtime60 = require("react/jsx-runtime");
14328
14095
  function VerificationActionZone({
14329
14096
  status,
14330
14097
  onAction,
@@ -14333,9 +14100,9 @@ function VerificationActionZone({
14333
14100
  switch (status) {
14334
14101
  case "required":
14335
14102
  if (onAction === null) return null;
14336
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ClButton, { size: "sm", onClick: onAction, children: "Continue" });
14103
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ClButton, { size: "sm", onClick: onAction, children: "Continue" });
14337
14104
  case "pending":
14338
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14105
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14339
14106
  AlertBanner,
14340
14107
  {
14341
14108
  variant: "warning",
@@ -14343,16 +14110,16 @@ function VerificationActionZone({
14343
14110
  }
14344
14111
  );
14345
14112
  case "completed":
14346
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AlertBanner, { variant: "success", content: "Identity verified." });
14113
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(AlertBanner, { variant: "success", content: "Identity verified." });
14347
14114
  case "rejected":
14348
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14115
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14349
14116
  AlertBanner,
14350
14117
  {
14351
14118
  variant: "error",
14352
- content: onContactSupport === null ? "Verification rejected." : /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
14119
+ content: onContactSupport === null ? "Verification rejected." : /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
14353
14120
  "Verification rejected.",
14354
14121
  " ",
14355
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14122
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14356
14123
  "button",
14357
14124
  {
14358
14125
  type: "button",
@@ -14376,8 +14143,8 @@ function WalletActionZone({
14376
14143
  onRemoveWallet
14377
14144
  }) {
14378
14145
  if (multiWallet) {
14379
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
14380
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14146
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
14147
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14381
14148
  ConnectedWalletList,
14382
14149
  {
14383
14150
  wallets: connectedWallets,
@@ -14386,7 +14153,7 @@ function WalletActionZone({
14386
14153
  status: walletsStatus
14387
14154
  }
14388
14155
  ),
14389
- status === "rejected" && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14156
+ status === "rejected" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14390
14157
  AlertBanner,
14391
14158
  {
14392
14159
  variant: "error",
@@ -14397,21 +14164,21 @@ function WalletActionZone({
14397
14164
  }
14398
14165
  if (status === "completed") {
14399
14166
  const connected = connectedWallets[0];
14400
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
14401
- onAction !== null && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ClButton, { size: "sm", variant: "secondary", onClick: onAction, children: "Change wallet" }),
14402
- walletsStatus === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14167
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
14168
+ onAction !== null && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ClButton, { size: "sm", variant: "secondary", onClick: onAction, children: "Change wallet" }),
14169
+ walletsStatus === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14403
14170
  AlertBanner,
14404
14171
  {
14405
14172
  variant: "info",
14406
14173
  content: "Loading your connected wallet\u2026"
14407
14174
  }
14408
- ) : walletsStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14175
+ ) : walletsStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14409
14176
  AlertBanner,
14410
14177
  {
14411
14178
  variant: "error",
14412
14179
  content: "Couldn't load your connected wallet."
14413
14180
  }
14414
- ) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14181
+ ) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14415
14182
  AlertBanner,
14416
14183
  {
14417
14184
  variant: "success",
@@ -14421,9 +14188,9 @@ function WalletActionZone({
14421
14188
  ] });
14422
14189
  }
14423
14190
  if (status === "rejected") {
14424
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
14425
- onAction !== null && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ClButton, { size: "sm", onClick: onAction, children: "Connect wallet" }),
14426
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14191
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
14192
+ onAction !== null && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ClButton, { size: "sm", onClick: onAction, children: "Connect wallet" }),
14193
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14427
14194
  AlertBanner,
14428
14195
  {
14429
14196
  variant: "error",
@@ -14433,7 +14200,7 @@ function WalletActionZone({
14433
14200
  ] });
14434
14201
  }
14435
14202
  if (onAction === null) return null;
14436
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ClButton, { size: "sm", onClick: onAction, children: "Connect wallet" });
14203
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ClButton, { size: "sm", onClick: onAction, children: "Connect wallet" });
14437
14204
  }
14438
14205
  function RequirementItem({
14439
14206
  ui,
@@ -14445,7 +14212,7 @@ function RequirementItem({
14445
14212
  walletsStatus,
14446
14213
  onContactSupport
14447
14214
  }) {
14448
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
14215
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
14449
14216
  "div",
14450
14217
  {
14451
14218
  className: cn(
@@ -14453,7 +14220,7 @@ function RequirementItem({
14453
14220
  className
14454
14221
  ),
14455
14222
  children: [
14456
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
14223
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
14457
14224
  "button",
14458
14225
  {
14459
14226
  type: "button",
@@ -14461,9 +14228,9 @@ function RequirementItem({
14461
14228
  "aria-expanded": expanded,
14462
14229
  className: "clcosdk:flex clcosdk:h-14 clcosdk:w-full clcosdk:cursor-pointer clcosdk:items-center clcosdk:justify-between clcosdk:rounded-2xl clcosdk:px-2 clcosdk:transition-colors clcosdk:hover:bg-surface",
14463
14230
  children: [
14464
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-3", children: [
14465
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(StepStatusIcon, { status: ui.status }),
14466
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14231
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-3", children: [
14232
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StepStatusIcon, { status: ui.status }),
14233
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14467
14234
  "span",
14468
14235
  {
14469
14236
  className: cn(
@@ -14474,7 +14241,7 @@ function RequirementItem({
14474
14241
  }
14475
14242
  )
14476
14243
  ] }),
14477
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14244
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14478
14245
  import_lucide_react15.ChevronRight,
14479
14246
  {
14480
14247
  className: cn(
@@ -14487,15 +14254,15 @@ function RequirementItem({
14487
14254
  ]
14488
14255
  }
14489
14256
  ),
14490
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14257
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14491
14258
  "div",
14492
14259
  {
14493
14260
  className: cn(
14494
14261
  "clcosdk:grid clcosdk:transition-[grid-template-rows] clcosdk:duration-300 clcosdk:ease-in-out",
14495
14262
  expanded ? "clcosdk:grid-rows-[1fr]" : "clcosdk:grid-rows-[0fr]"
14496
14263
  ),
14497
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "clcosdk:min-h-0 clcosdk:overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4 clcosdk:px-2 clcosdk:pb-4", children: [
14498
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14264
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "clcosdk:min-h-0 clcosdk:overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4 clcosdk:px-2 clcosdk:pb-4", children: [
14265
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14499
14266
  "p",
14500
14267
  {
14501
14268
  className: cn(
@@ -14505,14 +14272,14 @@ function RequirementItem({
14505
14272
  children: ui.description
14506
14273
  }
14507
14274
  ),
14508
- ui.variant === "verification" ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14275
+ ui.variant === "verification" ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14509
14276
  VerificationActionZone,
14510
14277
  {
14511
14278
  status: ui.status,
14512
14279
  onAction,
14513
14280
  onContactSupport
14514
14281
  }
14515
- ) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14282
+ ) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14516
14283
  WalletActionZone,
14517
14284
  {
14518
14285
  status: ui.status,
@@ -14532,9 +14299,9 @@ function RequirementItem({
14532
14299
  }
14533
14300
 
14534
14301
  // src/client/components/requirements/RequirementsChecklistView.tsx
14535
- var import_jsx_runtime62 = require("react/jsx-runtime");
14302
+ var import_jsx_runtime61 = require("react/jsx-runtime");
14536
14303
  function RequirementsChecklistView(props) {
14537
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(RequirementsChecklistViewBody, { ...props }) });
14304
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(RequirementsChecklistViewBody, { ...props }) });
14538
14305
  }
14539
14306
  function RequirementsChecklistViewBody({
14540
14307
  state,
@@ -14546,11 +14313,11 @@ function RequirementsChecklistViewBody({
14546
14313
  }) {
14547
14314
  switch (state.type) {
14548
14315
  case "loading":
14549
- return loading ?? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(LoadingState2, {});
14316
+ return loading ?? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(LoadingState2, {});
14550
14317
  case "not-authenticated":
14551
14318
  return unauthenticatedState ?? null;
14552
14319
  case "error":
14553
- return error ?? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14320
+ return error ?? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14554
14321
  AlertBanner,
14555
14322
  {
14556
14323
  variant: "error",
@@ -14560,7 +14327,7 @@ function RequirementsChecklistViewBody({
14560
14327
  }
14561
14328
  );
14562
14329
  case "content":
14563
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
14330
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
14564
14331
  "div",
14565
14332
  {
14566
14333
  className: cn(
@@ -14568,11 +14335,11 @@ function RequirementsChecklistViewBody({
14568
14335
  className
14569
14336
  ),
14570
14337
  children: [
14571
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
14572
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h3", { className: cn(typeClasses.h3, "clcosdk:text-text-primary"), children: state.title }),
14573
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: state.description })
14338
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
14339
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("h3", { className: cn(typeClasses.h3, "clcosdk:text-text-primary"), children: state.title }),
14340
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: state.description })
14574
14341
  ] }),
14575
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:divide-y clcosdk:divide-divider", children: state.items.map((row) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14342
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:divide-y clcosdk:divide-divider", children: state.items.map((row) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14576
14343
  RequirementItem,
14577
14344
  {
14578
14345
  ui: row.item,
@@ -14591,7 +14358,7 @@ function RequirementsChecklistViewBody({
14591
14358
  },
14592
14359
  row.id
14593
14360
  )) }),
14594
- state.ineligible && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14361
+ state.ineligible && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14595
14362
  AlertBanner,
14596
14363
  {
14597
14364
  variant: "error",
@@ -14599,7 +14366,7 @@ function RequirementsChecklistViewBody({
14599
14366
  content: "You are not eligible to participate."
14600
14367
  }
14601
14368
  ),
14602
- state.continueAction && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14369
+ state.continueAction && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14603
14370
  ClButton,
14604
14371
  {
14605
14372
  fullWidth: true,
@@ -14618,18 +14385,18 @@ function RequirementsChecklistViewBody({
14618
14385
  }
14619
14386
  }
14620
14387
  function LoadingState2() {
14621
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14388
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14622
14389
  "output",
14623
14390
  {
14624
14391
  "aria-live": "polite",
14625
14392
  className: "clcosdk:flex clcosdk:min-h-40 clcosdk:items-center clcosdk:justify-center clcosdk:rounded-2xl clcosdk:border clcosdk:border-border clcosdk:bg-background clcosdk:p-6",
14626
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading requirements..." })
14393
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading requirements..." })
14627
14394
  }
14628
14395
  );
14629
14396
  }
14630
14397
 
14631
14398
  // src/client/components/requirements/tax-document/TaxDocumentModalView.tsx
14632
- var import_jsx_runtime63 = require("react/jsx-runtime");
14399
+ var import_jsx_runtime62 = require("react/jsx-runtime");
14633
14400
  function TaxDocumentModalView({
14634
14401
  state,
14635
14402
  onEvent,
@@ -14638,7 +14405,7 @@ function TaxDocumentModalView({
14638
14405
  if (state.type === "hidden") {
14639
14406
  return null;
14640
14407
  }
14641
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "clcosdk:fixed clcosdk:inset-0 clcosdk:z-50 clcosdk:flex clcosdk:items-center clcosdk:justify-center clcosdk:bg-black/50 clcosdk:p-4", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
14408
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "clcosdk:fixed clcosdk:inset-0 clcosdk:z-50 clcosdk:flex clcosdk:items-center clcosdk:justify-center clcosdk:bg-black/50 clcosdk:p-4", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
14642
14409
  "div",
14643
14410
  {
14644
14411
  className: cn(
@@ -14646,11 +14413,11 @@ function TaxDocumentModalView({
14646
14413
  className
14647
14414
  ),
14648
14415
  children: [
14649
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "clcosdk:flex clcosdk:items-start clcosdk:justify-between clcosdk:gap-4", children: [
14650
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h3", { className: cn(typeClasses.h3, "clcosdk:text-text-primary"), children: state.title }),
14651
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(CloseButton, { onClick: () => onEvent({ type: "ON_CLOSE" }) })
14416
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "clcosdk:flex clcosdk:items-start clcosdk:justify-between clcosdk:gap-4", children: [
14417
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h3", { className: cn(typeClasses.h3, "clcosdk:text-text-primary"), children: state.title }),
14418
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CloseButton, { onClick: () => onEvent({ type: "ON_CLOSE" }) })
14652
14419
  ] }),
14653
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Screen, { screen: state.screen, onEvent })
14420
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Screen, { screen: state.screen, onEvent })
14654
14421
  ]
14655
14422
  }
14656
14423
  ) }) });
@@ -14661,11 +14428,11 @@ function Screen({
14661
14428
  }) {
14662
14429
  switch (screen.type) {
14663
14430
  case "loading":
14664
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LoadingScreen, {});
14431
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(LoadingScreen, {});
14665
14432
  case "error":
14666
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AlertBanner, { variant: "error", icon: true, content: screen.message });
14433
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AlertBanner, { variant: "error", icon: true, content: screen.message });
14667
14434
  case "review":
14668
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14435
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14669
14436
  ReviewScreen,
14670
14437
  {
14671
14438
  fields: screen.fields,
@@ -14676,9 +14443,9 @@ function Screen({
14676
14443
  }
14677
14444
  );
14678
14445
  case "editing":
14679
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(EditScreen, { fields: screen.fields, onEvent });
14446
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(EditScreen, { fields: screen.fields, onEvent });
14680
14447
  case "sign-only":
14681
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14448
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14682
14449
  SignOnlyScreen,
14683
14450
  {
14684
14451
  signing: screen.signing,
@@ -14693,14 +14460,14 @@ function Screen({
14693
14460
  }
14694
14461
  }
14695
14462
  function LoadingScreen() {
14696
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14463
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14697
14464
  "output",
14698
14465
  {
14699
14466
  "aria-live": "polite",
14700
14467
  className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4",
14701
- children: [0, 1, 2, 3, 4].map((row) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1", children: [
14702
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "clcosdk:h-3 clcosdk:w-28 clcosdk:animate-pulse clcosdk:rounded clcosdk:bg-surface" }),
14703
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "clcosdk:h-5 clcosdk:w-48 clcosdk:animate-pulse clcosdk:rounded clcosdk:bg-surface" })
14468
+ children: [0, 1, 2, 3, 4].map((row) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1", children: [
14469
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "clcosdk:h-3 clcosdk:w-28 clcosdk:animate-pulse clcosdk:rounded clcosdk:bg-surface" }),
14470
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "clcosdk:h-5 clcosdk:w-48 clcosdk:animate-pulse clcosdk:rounded clcosdk:bg-surface" })
14704
14471
  ] }, row))
14705
14472
  }
14706
14473
  );
@@ -14712,9 +14479,9 @@ function ReviewScreen({
14712
14479
  signError,
14713
14480
  onEvent
14714
14481
  }) {
14715
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
14716
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Review your information below. If anything looks incorrect, edit before signing." }),
14717
- piiUnavailable && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14482
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
14483
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Review your information below. If anything looks incorrect, edit before signing." }),
14484
+ piiUnavailable && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14718
14485
  AlertBanner,
14719
14486
  {
14720
14487
  variant: "info",
@@ -14722,27 +14489,27 @@ function ReviewScreen({
14722
14489
  content: "We don't have this information on file yet \u2014 please fill it in below."
14723
14490
  }
14724
14491
  ),
14725
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4 clcosdk:border-t clcosdk:border-divider clcosdk:pt-4", children: fields.map(({ field, label, displayValue }) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
14492
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4 clcosdk:border-t clcosdk:border-divider clcosdk:pt-4", children: fields.map(({ field, label, displayValue }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
14726
14493
  "div",
14727
14494
  {
14728
14495
  className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1",
14729
14496
  children: [
14730
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14497
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14731
14498
  "span",
14732
14499
  {
14733
14500
  className: cn(typeClasses.label, "clcosdk:text-text-secondary"),
14734
14501
  children: label
14735
14502
  }
14736
14503
  ),
14737
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: cn(typeClasses.body, "clcosdk:text-text-primary"), children: displayValue })
14504
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: cn(typeClasses.body, "clcosdk:text-text-primary"), children: displayValue })
14738
14505
  ]
14739
14506
  },
14740
14507
  field
14741
14508
  )) }),
14742
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: cn(typeClasses.caption, "clcosdk:text-text-secondary"), children: "By signing, you certify that the information above is accurate and that you are the beneficial owner of the income this form relates to. This document cannot be edited once signed." }),
14743
- signError && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AlertBanner, { variant: "error", icon: true, content: signError }),
14744
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
14745
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14509
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: cn(typeClasses.caption, "clcosdk:text-text-secondary"), children: "By signing, you certify that the information above is accurate and that you are the beneficial owner of the income this form relates to. This document cannot be edited once signed." }),
14510
+ signError && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AlertBanner, { variant: "error", icon: true, content: signError }),
14511
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
14512
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14746
14513
  ClButton,
14747
14514
  {
14748
14515
  fullWidth: true,
@@ -14752,7 +14519,7 @@ function ReviewScreen({
14752
14519
  children: "Sign W-8BEN"
14753
14520
  }
14754
14521
  ),
14755
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14522
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14756
14523
  ClButton,
14757
14524
  {
14758
14525
  fullWidth: true,
@@ -14769,20 +14536,20 @@ function EditScreen({
14769
14536
  fields,
14770
14537
  onEvent
14771
14538
  }) {
14772
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
14773
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4 clcosdk:border-t clcosdk:border-divider clcosdk:pt-4", children: fields.map(({ field, label, placeholder, value }) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
14539
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
14540
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4 clcosdk:border-t clcosdk:border-divider clcosdk:pt-4", children: fields.map(({ field, label, placeholder, value }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
14774
14541
  "label",
14775
14542
  {
14776
14543
  className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1",
14777
14544
  children: [
14778
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14545
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14779
14546
  "span",
14780
14547
  {
14781
14548
  className: cn(typeClasses.label, "clcosdk:text-text-secondary"),
14782
14549
  children: label
14783
14550
  }
14784
14551
  ),
14785
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14552
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14786
14553
  "input",
14787
14554
  {
14788
14555
  type: "text",
@@ -14803,9 +14570,9 @@ function EditScreen({
14803
14570
  },
14804
14571
  field
14805
14572
  )) }),
14806
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
14807
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ClButton, { fullWidth: true, onClick: () => onEvent({ type: "ON_SAVE_EDIT" }), children: "Save & review" }),
14808
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14573
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
14574
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ClButton, { fullWidth: true, onClick: () => onEvent({ type: "ON_SAVE_EDIT" }), children: "Save & review" }),
14575
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14809
14576
  ClButton,
14810
14577
  {
14811
14578
  fullWidth: true,
@@ -14822,10 +14589,10 @@ function SignOnlyScreen({
14822
14589
  signError,
14823
14590
  onEvent
14824
14591
  }) {
14825
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
14826
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "As an entity investor, you must complete a W-8BEN-E to confirm your foreign tax status and claim applicable treaty benefits. You'll receive an email to complete the signing." }),
14827
- signError && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AlertBanner, { variant: "error", icon: true, content: signError }),
14828
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14592
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
14593
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "As an entity investor, you must complete a W-8BEN-E to confirm your foreign tax status and claim applicable treaty benefits. You'll receive an email to complete the signing." }),
14594
+ signError && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AlertBanner, { variant: "error", icon: true, content: signError }),
14595
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
14829
14596
  ClButton,
14830
14597
  {
14831
14598
  fullWidth: true,
@@ -14839,12 +14606,12 @@ function SignOnlyScreen({
14839
14606
  }
14840
14607
 
14841
14608
  // src/client/hooks/requirements/tax-document/useTaxDocumentModalViewModel.ts
14842
- var import_react43 = require("react");
14609
+ var import_react42 = require("react");
14843
14610
 
14844
14611
  // src/client/hooks/requirements/data/useTaxDocument.ts
14845
- var import_react42 = require("react");
14612
+ var import_react41 = require("react");
14846
14613
  var IDLE_SIGN = { type: "idle", error: null };
14847
- var LOADING_STATE6 = { type: "LOADING" };
14614
+ var LOADING_STATE5 = { type: "LOADING" };
14848
14615
  var SIGN_FAILED_MESSAGE = "Unable to sign document. Please try again.";
14849
14616
  var DOB_INVALID_MESSAGE = "Enter your date of birth as MM/DD/YYYY.";
14850
14617
  var FIELD_KEYS = {
@@ -14917,8 +14684,8 @@ function useTaxDocument({
14917
14684
  }) {
14918
14685
  const { coinlist, isReady } = useCoinList();
14919
14686
  const log = useLogger("useTaxDocument");
14920
- const [state, setState] = (0, import_react42.useState)(LOADING_STATE6);
14921
- (0, import_react42.useEffect)(() => {
14687
+ const [state, setState] = (0, import_react41.useState)(LOADING_STATE5);
14688
+ (0, import_react41.useEffect)(() => {
14922
14689
  let isCancelled = false;
14923
14690
  if (!isOpen) {
14924
14691
  return () => {
@@ -14926,12 +14693,12 @@ function useTaxDocument({
14926
14693
  };
14927
14694
  }
14928
14695
  if (!isReady) {
14929
- setState(LOADING_STATE6);
14696
+ setState(LOADING_STATE5);
14930
14697
  return () => {
14931
14698
  isCancelled = true;
14932
14699
  };
14933
14700
  }
14934
- setState(LOADING_STATE6);
14701
+ setState(LOADING_STATE5);
14935
14702
  coinlist.requirements.getPii().then((pii) => {
14936
14703
  if (isCancelled) return;
14937
14704
  if (pii.kind === "company") {
@@ -14959,7 +14726,7 @@ function useTaxDocument({
14959
14726
  isCancelled = true;
14960
14727
  };
14961
14728
  }, [coinlist, isReady, isOpen, log]);
14962
- const onEditField = (0, import_react42.useCallback)(
14729
+ const onEditField = (0, import_react41.useCallback)(
14963
14730
  (field, value) => {
14964
14731
  setState(
14965
14732
  (prev) => prev.type === "EDITING" ? { ...prev, fields: { ...prev.fields, [field]: value } } : prev
@@ -14967,7 +14734,7 @@ function useTaxDocument({
14967
14734
  },
14968
14735
  []
14969
14736
  );
14970
- const onStartEdit = (0, import_react42.useCallback)(() => {
14737
+ const onStartEdit = (0, import_react41.useCallback)(() => {
14971
14738
  setState(
14972
14739
  (prev) => prev.type === "REVIEW" ? {
14973
14740
  type: "EDITING",
@@ -14978,7 +14745,7 @@ function useTaxDocument({
14978
14745
  } : prev
14979
14746
  );
14980
14747
  }, []);
14981
- const onSaveEdit = (0, import_react42.useCallback)(() => {
14748
+ const onSaveEdit = (0, import_react41.useCallback)(() => {
14982
14749
  setState(
14983
14750
  (prev) => prev.type === "EDITING" ? {
14984
14751
  type: "REVIEW",
@@ -14989,7 +14756,7 @@ function useTaxDocument({
14989
14756
  } : prev
14990
14757
  );
14991
14758
  }, []);
14992
- const onCancelEdit = (0, import_react42.useCallback)(() => {
14759
+ const onCancelEdit = (0, import_react41.useCallback)(() => {
14993
14760
  setState(
14994
14761
  (prev) => prev.type === "EDITING" ? {
14995
14762
  type: "REVIEW",
@@ -15000,7 +14767,7 @@ function useTaxDocument({
15000
14767
  } : prev
15001
14768
  );
15002
14769
  }, []);
15003
- const onSign = (0, import_react42.useCallback)(() => {
14770
+ const onSign = (0, import_react41.useCallback)(() => {
15004
14771
  if (state.type !== "REVIEW" && state.type !== "SIGN_ONLY") return;
15005
14772
  if (state.type === "REVIEW" && state.fields.dob.trim() !== "" && !isValidUsDate(state.fields.dob)) {
15006
14773
  setState({
@@ -15042,19 +14809,19 @@ function useTaxDocumentModalViewModel({
15042
14809
  onSubmitted
15043
14810
  }) {
15044
14811
  const { state, onEditField, onStartEdit, onSaveEdit, onCancelEdit, onSign } = useTaxDocument({ isOpen });
15045
- (0, import_react43.useEffect)(() => {
14812
+ (0, import_react42.useEffect)(() => {
15046
14813
  if (state.type === "SUBMITTED") {
15047
14814
  onSubmitted?.(state.submission);
15048
14815
  onClose();
15049
14816
  }
15050
14817
  }, [state]);
15051
- const uiState = (0, import_react43.useMemo)(() => {
14818
+ const uiState = (0, import_react42.useMemo)(() => {
15052
14819
  if (!isOpen || state.type === "SUBMITTED") {
15053
14820
  return { type: "hidden" };
15054
14821
  }
15055
14822
  return { type: "content", title: toTitle(state), screen: toScreen(state) };
15056
14823
  }, [isOpen, state]);
15057
- const onEvent = (0, import_react43.useCallback)(
14824
+ const onEvent = (0, import_react42.useCallback)(
15058
14825
  (event) => {
15059
14826
  switch (event.type) {
15060
14827
  case "ON_CLOSE":
@@ -15137,7 +14904,7 @@ function toFieldsUi(fields) {
15137
14904
  }
15138
14905
 
15139
14906
  // src/client/components/requirements/tax-document/TaxDocumentModalContainer.tsx
15140
- var import_jsx_runtime64 = require("react/jsx-runtime");
14907
+ var import_jsx_runtime63 = require("react/jsx-runtime");
15141
14908
  function TaxDocumentModalContainer({
15142
14909
  isOpen,
15143
14910
  onClose,
@@ -15149,7 +14916,7 @@ function TaxDocumentModalContainer({
15149
14916
  onClose,
15150
14917
  onSubmitted
15151
14918
  });
15152
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
14919
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
15153
14920
  TaxDocumentModalView,
15154
14921
  {
15155
14922
  state,
@@ -15160,26 +14927,26 @@ function TaxDocumentModalContainer({
15160
14927
  }
15161
14928
 
15162
14929
  // src/client/components/requirements/VerificationOverlay.tsx
15163
- var import_jsx_runtime65 = require("react/jsx-runtime");
14930
+ var import_jsx_runtime64 = require("react/jsx-runtime");
15164
14931
  function VerificationOverlay({
15165
14932
  onClose,
15166
14933
  children
15167
14934
  }) {
15168
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(VerificationOverlayBody, { onClose, children }) });
14935
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(VerificationOverlayBody, { onClose, children }) });
15169
14936
  }
15170
14937
  function VerificationOverlayBody({
15171
14938
  onClose,
15172
14939
  children
15173
14940
  }) {
15174
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
14941
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
15175
14942
  "div",
15176
14943
  {
15177
14944
  role: "dialog",
15178
14945
  "aria-modal": "true",
15179
14946
  "aria-label": "Identity verification",
15180
14947
  className: "clcosdk:fixed clcosdk:inset-0 clcosdk:z-50 clcosdk:flex clcosdk:items-center clcosdk:justify-center clcosdk:bg-overlay clcosdk:p-4",
15181
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "clcosdk:relative clcosdk:flex clcosdk:max-h-[92vh] clcosdk:w-full clcosdk:max-w-[760px] clcosdk:flex-col clcosdk:overflow-y-auto clcosdk:rounded-2xl clcosdk:bg-background clcosdk:p-6 clcosdk:pt-14", children: [
15182
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
14948
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "clcosdk:relative clcosdk:flex clcosdk:max-h-[92vh] clcosdk:w-full clcosdk:max-w-[760px] clcosdk:flex-col clcosdk:overflow-y-auto clcosdk:rounded-2xl clcosdk:bg-background clcosdk:p-6 clcosdk:pt-14", children: [
14949
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
15183
14950
  CloseButton,
15184
14951
  {
15185
14952
  onClick: onClose,
@@ -15193,18 +14960,18 @@ function VerificationOverlayBody({
15193
14960
  }
15194
14961
 
15195
14962
  // src/client/components/requirements/wallet/ConnectWalletModalView.tsx
15196
- var import_react44 = require("react");
15197
- var import_jsx_runtime66 = require("react/jsx-runtime");
14963
+ var import_react43 = require("react");
14964
+ var import_jsx_runtime65 = require("react/jsx-runtime");
15198
14965
  function ConnectWalletModalView({
15199
14966
  state,
15200
14967
  onEvent,
15201
14968
  className
15202
14969
  }) {
15203
- const titleId = (0, import_react44.useId)();
14970
+ const titleId = (0, import_react43.useId)();
15204
14971
  if (state.type === "hidden") {
15205
14972
  return null;
15206
14973
  }
15207
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "clcosdk:fixed clcosdk:inset-0 clcosdk:z-50 clcosdk:flex clcosdk:items-center clcosdk:justify-center clcosdk:bg-black/50 clcosdk:p-4", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
14974
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CoinListStyleScope, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "clcosdk:fixed clcosdk:inset-0 clcosdk:z-50 clcosdk:flex clcosdk:items-center clcosdk:justify-center clcosdk:bg-black/50 clcosdk:p-4", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
15208
14975
  "div",
15209
14976
  {
15210
14977
  role: "dialog",
@@ -15215,8 +14982,8 @@ function ConnectWalletModalView({
15215
14982
  className
15216
14983
  ),
15217
14984
  children: [
15218
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "clcosdk:flex clcosdk:items-start clcosdk:justify-between clcosdk:gap-4", children: [
15219
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
14985
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "clcosdk:flex clcosdk:items-start clcosdk:justify-between clcosdk:gap-4", children: [
14986
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
15220
14987
  "h3",
15221
14988
  {
15222
14989
  id: titleId,
@@ -15224,9 +14991,9 @@ function ConnectWalletModalView({
15224
14991
  children: "Connect your wallet"
15225
14992
  }
15226
14993
  ),
15227
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CloseButton, { onClick: () => onEvent({ type: "ON_CLOSE" }) })
14994
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CloseButton, { onClick: () => onEvent({ type: "ON_CLOSE" }) })
15228
14995
  ] }),
15229
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
14996
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
15230
14997
  Screen2,
15231
14998
  {
15232
14999
  screen: state.screen,
@@ -15245,9 +15012,9 @@ function Screen2({
15245
15012
  }) {
15246
15013
  switch (screen.type) {
15247
15014
  case "needs-wallet":
15248
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
15249
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Connect an external wallet to prove ownership and bind it to this offer." }),
15250
- canRequestConnect && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
15015
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
15016
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Connect an external wallet to prove ownership and bind it to this offer." }),
15017
+ canRequestConnect && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
15251
15018
  ClButton,
15252
15019
  {
15253
15020
  fullWidth: true,
@@ -15257,23 +15024,23 @@ function Screen2({
15257
15024
  )
15258
15025
  ] });
15259
15026
  case "ready":
15260
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
15261
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Sign a message with your connected wallet to prove you own it. This does not cost gas or move any funds." }),
15262
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1 clcosdk:border-t clcosdk:border-divider clcosdk:pt-4", children: [
15263
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
15027
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
15028
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Sign a message with your connected wallet to prove you own it. This does not cost gas or move any funds." }),
15029
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1 clcosdk:border-t clcosdk:border-divider clcosdk:pt-4", children: [
15030
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
15264
15031
  "span",
15265
15032
  {
15266
15033
  className: cn(typeClasses.label, "clcosdk:text-text-secondary"),
15267
15034
  children: "Wallet address"
15268
15035
  }
15269
15036
  ),
15270
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: cn(typeClasses.body, "clcosdk:text-text-primary"), children: screen.shortAddress })
15037
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: cn(typeClasses.body, "clcosdk:text-text-primary"), children: screen.shortAddress })
15271
15038
  ] }),
15272
15039
  screen.signError && // Live region: the error is inserted async after a failed attempt,
15273
15040
  // so screen readers need it announced rather than silently
15274
15041
  // rendered.
15275
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { role: "alert", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(AlertBanner, { variant: "error", icon: true, content: screen.signError }) }),
15276
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
15042
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { role: "alert", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(AlertBanner, { variant: "error", icon: true, content: screen.signError }) }),
15043
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
15277
15044
  ClButton,
15278
15045
  {
15279
15046
  fullWidth: true,
@@ -15284,7 +15051,7 @@ function Screen2({
15284
15051
  children: "Sign & connect"
15285
15052
  }
15286
15053
  ),
15287
- canRequestConnect && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
15054
+ canRequestConnect && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
15288
15055
  ClButton,
15289
15056
  {
15290
15057
  fullWidth: true,
@@ -15303,10 +15070,10 @@ function Screen2({
15303
15070
  }
15304
15071
 
15305
15072
  // src/client/hooks/requirements/wallet/useConnectWalletModalViewModel.ts
15306
- var import_react46 = require("react");
15073
+ var import_react45 = require("react");
15307
15074
 
15308
15075
  // src/client/hooks/requirements/data/useConnectWallet.ts
15309
- var import_react45 = require("react");
15076
+ var import_react44 = require("react");
15310
15077
 
15311
15078
  // src/client/core/wallets/connect-external-wallet.ts
15312
15079
  var DEFAULT_STATEMENT = "Sign this message to prove you own this wallet. This does not cost gas or move funds.";
@@ -15437,24 +15204,24 @@ function useConnectWallet({
15437
15204
  statement
15438
15205
  }) {
15439
15206
  const { coinlist } = useCoinList();
15440
- const [state, setState] = (0, import_react45.useState)(
15207
+ const [state, setState] = (0, import_react44.useState)(
15441
15208
  () => wallet ? { type: "READY", address: wallet.address, sign: IDLE_SIGN2 } : { type: "NEEDS_WALLET" }
15442
15209
  );
15443
- const attempt = (0, import_react45.useRef)(0);
15444
- (0, import_react45.useEffect)(() => {
15210
+ const attempt = (0, import_react44.useRef)(0);
15211
+ (0, import_react44.useEffect)(() => {
15445
15212
  attempt.current += 1;
15446
15213
  if (!isOpen) return;
15447
15214
  setState(
15448
15215
  wallet ? { type: "READY", address: wallet.address, sign: IDLE_SIGN2 } : { type: "NEEDS_WALLET" }
15449
15216
  );
15450
15217
  }, [isOpen, wallet?.address]);
15451
- (0, import_react45.useEffect)(
15218
+ (0, import_react44.useEffect)(
15452
15219
  () => () => {
15453
15220
  attempt.current += 1;
15454
15221
  },
15455
15222
  []
15456
15223
  );
15457
- const onSign = (0, import_react45.useCallback)(() => {
15224
+ const onSign = (0, import_react44.useCallback)(() => {
15458
15225
  if (!wallet || state.type !== "READY") return;
15459
15226
  attempt.current += 1;
15460
15227
  const gen = attempt.current;
@@ -15516,13 +15283,13 @@ function useConnectWalletModalViewModel({
15516
15283
  challengeType,
15517
15284
  statement
15518
15285
  });
15519
- (0, import_react46.useEffect)(() => {
15286
+ (0, import_react45.useEffect)(() => {
15520
15287
  if (state.type === "CONNECTED") {
15521
15288
  onConnected?.(state.binding);
15522
15289
  onClose();
15523
15290
  }
15524
15291
  }, [state]);
15525
- const uiState = (0, import_react46.useMemo)(() => {
15292
+ const uiState = (0, import_react45.useMemo)(() => {
15526
15293
  if (!isOpen || state.type === "CONNECTED") {
15527
15294
  return { type: "hidden" };
15528
15295
  }
@@ -15547,7 +15314,7 @@ function useConnectWalletModalViewModel({
15547
15314
  canRequestConnect
15548
15315
  };
15549
15316
  }, [isOpen, state, onRequestConnect]);
15550
- const onEvent = (0, import_react46.useCallback)(
15317
+ const onEvent = (0, import_react45.useCallback)(
15551
15318
  (event) => {
15552
15319
  switch (event.type) {
15553
15320
  case "ON_CLOSE":
@@ -15571,13 +15338,13 @@ function useConnectWalletModalViewModel({
15571
15338
  }
15572
15339
 
15573
15340
  // src/client/components/requirements/wallet/ConnectWalletModalContainer.tsx
15574
- var import_jsx_runtime67 = require("react/jsx-runtime");
15341
+ var import_jsx_runtime66 = require("react/jsx-runtime");
15575
15342
  function ConnectWalletModalContainer({
15576
15343
  className,
15577
15344
  ...options
15578
15345
  }) {
15579
15346
  const { state, onEvent } = useConnectWalletModalViewModel(options);
15580
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
15347
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
15581
15348
  ConnectWalletModalView,
15582
15349
  {
15583
15350
  state,
@@ -15588,11 +15355,11 @@ function ConnectWalletModalContainer({
15588
15355
  }
15589
15356
 
15590
15357
  // src/client/hooks/requirements/useRequirementsChecklistViewModel.ts
15591
- var import_react49 = require("react");
15358
+ var import_react48 = require("react");
15592
15359
 
15593
15360
  // src/client/hooks/requirements/data/useOptionAddresses.ts
15594
- var import_react47 = require("react");
15595
- var LOADING_STATE7 = { type: "LOADING" };
15361
+ var import_react46 = require("react");
15362
+ var LOADING_STATE6 = { type: "LOADING" };
15596
15363
  var EMPTY_STATE = {
15597
15364
  type: "CONTENT",
15598
15365
  addresses: []
@@ -15601,19 +15368,19 @@ function useOptionAddresses(offerId, offerOptionId, options = {}) {
15601
15368
  const { coinlist, isReady } = useCoinList();
15602
15369
  const log = useLogger("useOptionAddresses");
15603
15370
  const { data, enabled = true } = options;
15604
- const [addressesState, setAddressesState] = (0, import_react47.useState)(
15605
- data !== void 0 ? { type: "CONTENT", addresses: data } : LOADING_STATE7
15371
+ const [addressesState, setAddressesState] = (0, import_react46.useState)(
15372
+ data !== void 0 ? { type: "CONTENT", addresses: data } : LOADING_STATE6
15606
15373
  );
15607
- const [fetchKey, setFetchKey] = (0, import_react47.useState)(0);
15608
- const refetch = (0, import_react47.useCallback)(() => setFetchKey((k) => k + 1), []);
15609
- const disconnect = (0, import_react47.useCallback)(
15374
+ const [fetchKey, setFetchKey] = (0, import_react46.useState)(0);
15375
+ const refetch = (0, import_react46.useCallback)(() => setFetchKey((k) => k + 1), []);
15376
+ const disconnect = (0, import_react46.useCallback)(
15610
15377
  async (addressId) => {
15611
15378
  await coinlist.wallets.remove({ offerId, addressId });
15612
15379
  refetch();
15613
15380
  },
15614
15381
  [coinlist, offerId, refetch]
15615
15382
  );
15616
- (0, import_react47.useEffect)(() => {
15383
+ (0, import_react46.useEffect)(() => {
15617
15384
  let isCancelled = false;
15618
15385
  if (!enabled) {
15619
15386
  setAddressesState(
@@ -15625,7 +15392,7 @@ function useOptionAddresses(offerId, offerOptionId, options = {}) {
15625
15392
  }
15626
15393
  if (!isReady) {
15627
15394
  if (data === void 0) {
15628
- setAddressesState(LOADING_STATE7);
15395
+ setAddressesState(LOADING_STATE6);
15629
15396
  }
15630
15397
  return () => {
15631
15398
  isCancelled = true;
@@ -15642,7 +15409,7 @@ function useOptionAddresses(offerId, offerOptionId, options = {}) {
15642
15409
  isCancelled = true;
15643
15410
  };
15644
15411
  }
15645
- setAddressesState(LOADING_STATE7);
15412
+ setAddressesState(LOADING_STATE6);
15646
15413
  coinlist.wallets.list({ offerId, offerOptionId }).then((addresses) => {
15647
15414
  if (!isCancelled) {
15648
15415
  log.debug(() => ({
@@ -15669,18 +15436,18 @@ function useOptionAddresses(offerId, offerOptionId, options = {}) {
15669
15436
  }
15670
15437
 
15671
15438
  // src/client/hooks/requirements/data/useRequirements.ts
15672
- var import_react48 = require("react");
15673
- var LOADING_STATE8 = { type: "LOADING" };
15439
+ var import_react47 = require("react");
15440
+ var LOADING_STATE7 = { type: "LOADING" };
15674
15441
  function useRequirements(offerId, options = {}) {
15675
15442
  const { coinlist, isReady } = useCoinList();
15676
15443
  const log = useLogger("useRequirements");
15677
15444
  const { data, enabled = true } = options;
15678
- const [requirementsState, setRequirementsState] = (0, import_react48.useState)(
15679
- data !== void 0 ? { type: "CONTENT", ...data } : LOADING_STATE8
15445
+ const [requirementsState, setRequirementsState] = (0, import_react47.useState)(
15446
+ data !== void 0 ? { type: "CONTENT", ...data } : LOADING_STATE7
15680
15447
  );
15681
- const [fetchKey, setFetchKey] = (0, import_react48.useState)(0);
15682
- const refetch = (0, import_react48.useCallback)(() => setFetchKey((k) => k + 1), []);
15683
- (0, import_react48.useEffect)(() => {
15448
+ const [fetchKey, setFetchKey] = (0, import_react47.useState)(0);
15449
+ const refetch = (0, import_react47.useCallback)(() => setFetchKey((k) => k + 1), []);
15450
+ (0, import_react47.useEffect)(() => {
15684
15451
  let isCancelled = false;
15685
15452
  if (!enabled) {
15686
15453
  return () => {
@@ -15689,7 +15456,7 @@ function useRequirements(offerId, options = {}) {
15689
15456
  }
15690
15457
  if (!isReady) {
15691
15458
  if (data === void 0) {
15692
- setRequirementsState(LOADING_STATE8);
15459
+ setRequirementsState(LOADING_STATE7);
15693
15460
  }
15694
15461
  return () => {
15695
15462
  isCancelled = true;
@@ -15706,7 +15473,7 @@ function useRequirements(offerId, options = {}) {
15706
15473
  isCancelled = true;
15707
15474
  };
15708
15475
  }
15709
- setRequirementsState(LOADING_STATE8);
15476
+ setRequirementsState(LOADING_STATE7);
15710
15477
  Promise.all([
15711
15478
  coinlist.requirements.forOffer(offerId),
15712
15479
  coinlist.requirements.statuses(offerId)
@@ -15840,19 +15607,19 @@ function useRequirementsChecklistViewModel(options) {
15840
15607
  data,
15841
15608
  enabled
15842
15609
  });
15843
- const [expandedId, setExpandedId] = (0, import_react49.useState)(null);
15844
- const [taxDocumentOpen, setTaxDocumentOpen] = (0, import_react49.useState)(false);
15845
- const [connectWalletOpen, setConnectWalletOpen] = (0, import_react49.useState)(false);
15846
- const [verifyingRequirementId, setVerifyingRequirementId] = (0, import_react49.useState)(null);
15847
- const isMountedRef = (0, import_react49.useRef)(true);
15848
- (0, import_react49.useEffect)(() => {
15610
+ const [expandedId, setExpandedId] = (0, import_react48.useState)(null);
15611
+ const [taxDocumentOpen, setTaxDocumentOpen] = (0, import_react48.useState)(false);
15612
+ const [connectWalletOpen, setConnectWalletOpen] = (0, import_react48.useState)(false);
15613
+ const [verifyingRequirementId, setVerifyingRequirementId] = (0, import_react48.useState)(null);
15614
+ const isMountedRef = (0, import_react48.useRef)(true);
15615
+ (0, import_react48.useEffect)(() => {
15849
15616
  isMountedRef.current = true;
15850
15617
  return () => {
15851
15618
  isMountedRef.current = false;
15852
15619
  };
15853
15620
  }, []);
15854
- const [hasWalletRequirement, setHasWalletRequirement] = (0, import_react49.useState)(false);
15855
- (0, import_react49.useEffect)(() => {
15621
+ const [hasWalletRequirement, setHasWalletRequirement] = (0, import_react48.useState)(false);
15622
+ (0, import_react48.useEffect)(() => {
15856
15623
  if (requirementsState.type === "CONTENT") {
15857
15624
  setHasWalletRequirement(
15858
15625
  (requirementsState.requirements[optionId] ?? []).some(
@@ -15868,14 +15635,14 @@ function useRequirementsChecklistViewModel(options) {
15868
15635
  } = useOptionAddresses(offerId, optionId, {
15869
15636
  enabled: enabled && hasWalletRequirement
15870
15637
  });
15871
- const removeWallet = (0, import_react49.useCallback)(
15638
+ const removeWallet = (0, import_react48.useCallback)(
15872
15639
  async (addressId) => {
15873
15640
  await disconnect(OfferOptionAddressId(addressId));
15874
15641
  refetch();
15875
15642
  },
15876
15643
  [disconnect, refetch]
15877
15644
  );
15878
- const awaitVerificationResult = (0, import_react49.useCallback)(
15645
+ const awaitVerificationResult = (0, import_react48.useCallback)(
15879
15646
  (requirementId, statusBeforeSubmit) => {
15880
15647
  void (async () => {
15881
15648
  const deadline = Date.now() + VERIFICATION_POLL_TIMEOUT_MS;
@@ -15902,11 +15669,11 @@ function useRequirementsChecklistViewModel(options) {
15902
15669
  },
15903
15670
  [coinlist, offerId, refetch, log]
15904
15671
  );
15905
- const requirements = (0, import_react49.useMemo)(
15672
+ const requirements = (0, import_react48.useMemo)(
15906
15673
  () => requirementsState.type === "CONTENT" ? requirementsState.requirements[optionId] ?? [] : [],
15907
15674
  [requirementsState, optionId]
15908
15675
  );
15909
- const statusById = (0, import_react49.useMemo)(() => {
15676
+ const statusById = (0, import_react48.useMemo)(() => {
15910
15677
  if (requirementsState.type !== "CONTENT") {
15911
15678
  return /* @__PURE__ */ new Map();
15912
15679
  }
@@ -15915,7 +15682,7 @@ function useRequirementsChecklistViewModel(options) {
15915
15682
  requirementsState.statuses.filter((s) => ids.has(s.id)).map((s) => [s.id, s])
15916
15683
  );
15917
15684
  }, [requirementsState, requirements]);
15918
- const state = (0, import_react49.useMemo)(() => {
15685
+ const state = (0, import_react48.useMemo)(() => {
15919
15686
  switch (requirementsState.type) {
15920
15687
  case "LOADING":
15921
15688
  return { type: "loading" };
@@ -15984,7 +15751,7 @@ function useRequirementsChecklistViewModel(options) {
15984
15751
  identityVerificationOptions,
15985
15752
  removeWallet
15986
15753
  ]);
15987
- const handleRequirementAction = (0, import_react49.useCallback)(
15754
+ const handleRequirementAction = (0, import_react48.useCallback)(
15988
15755
  (requirement) => {
15989
15756
  const inlineVerification = statusById.get(requirement.id)?.kycLevel !== void 0 && onRequirementActionOverride === void 0;
15990
15757
  if (inlineVerification) {
@@ -16016,7 +15783,7 @@ function useRequirementsChecklistViewModel(options) {
16016
15783
  coinlist
16017
15784
  ]
16018
15785
  );
16019
- const onEvent = (0, import_react49.useCallback)(
15786
+ const onEvent = (0, import_react48.useCallback)(
16020
15787
  (event) => {
16021
15788
  switch (event.type) {
16022
15789
  case "ON_TOGGLE_ITEM":
@@ -16114,7 +15881,7 @@ function toVerificationUi(verifyingRequirementId, statusById, identityVerificati
16114
15881
  }
16115
15882
 
16116
15883
  // src/client/components/requirements/RequirementsChecklistContainer.tsx
16117
- var import_jsx_runtime68 = require("react/jsx-runtime");
15884
+ var import_jsx_runtime67 = require("react/jsx-runtime");
16118
15885
  function RequirementsChecklistContainer({
16119
15886
  loading,
16120
15887
  error,
@@ -16127,8 +15894,8 @@ function RequirementsChecklistContainer({
16127
15894
  ...options,
16128
15895
  enabled
16129
15896
  });
16130
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
16131
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
15897
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
15898
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
16132
15899
  RequirementsChecklistView,
16133
15900
  {
16134
15901
  state,
@@ -16138,13 +15905,13 @@ function RequirementsChecklistContainer({
16138
15905
  unauthenticatedState: (
16139
15906
  // The sign-in default lives here, not in the View: it is a connected
16140
15907
  // component, and a View must render from what it is handed.
16141
- unauthenticatedState !== void 0 ? unauthenticatedState : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(CoinListSignInCardContainer, {})
15908
+ unauthenticatedState !== void 0 ? unauthenticatedState : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(CoinListSignInCardContainer, {})
16142
15909
  ),
16143
15910
  className
16144
15911
  }
16145
15912
  ),
16146
- state.type === "content" && /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
16147
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
15913
+ state.type === "content" && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
15914
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
16148
15915
  TaxDocumentModalContainer,
16149
15916
  {
16150
15917
  isOpen: state.taxDocumentOpen,
@@ -16152,11 +15919,11 @@ function RequirementsChecklistContainer({
16152
15919
  onSubmitted: () => onEvent({ type: "ON_TAX_DOCUMENT_SUBMITTED" })
16153
15920
  }
16154
15921
  ),
16155
- state.verification && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
15922
+ state.verification && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
16156
15923
  VerificationOverlay,
16157
15924
  {
16158
15925
  onClose: () => onEvent({ type: "ON_CLOSE_VERIFICATION" }),
16159
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
15926
+ children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
16160
15927
  IdentityVerificationContainer,
16161
15928
  {
16162
15929
  levelName: state.verification.levelName,
@@ -16167,7 +15934,7 @@ function RequirementsChecklistContainer({
16167
15934
  )
16168
15935
  }
16169
15936
  ),
16170
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
15937
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
16171
15938
  ConnectWalletModalContainer,
16172
15939
  {
16173
15940
  isOpen: state.connectWalletOpen,
@@ -16328,18 +16095,18 @@ function pinoClientLogger(options) {
16328
16095
  }
16329
16096
 
16330
16097
  // src/client/hooks/auth/useCompleteOAuth.ts
16331
- var import_react50 = require("react");
16098
+ var import_react49 = require("react");
16332
16099
  function useCompleteOAuth(options) {
16333
16100
  const { coinlist } = useCoinList();
16334
16101
  const log = useLogger("useCompleteOAuth");
16335
- const postOAuthCompleteRef = (0, import_react50.useRef)(options.postOAuthComplete);
16336
- const onFailureRef = (0, import_react50.useRef)(options.onFailure);
16337
- const onSuccessRef = (0, import_react50.useRef)(options.onSuccess);
16102
+ const postOAuthCompleteRef = (0, import_react49.useRef)(options.postOAuthComplete);
16103
+ const onFailureRef = (0, import_react49.useRef)(options.onFailure);
16104
+ const onSuccessRef = (0, import_react49.useRef)(options.onSuccess);
16338
16105
  postOAuthCompleteRef.current = options.postOAuthComplete;
16339
16106
  onFailureRef.current = options.onFailure;
16340
16107
  onSuccessRef.current = options.onSuccess;
16341
- const hasStartedExchangeRef = (0, import_react50.useRef)(false);
16342
- (0, import_react50.useEffect)(() => {
16108
+ const hasStartedExchangeRef = (0, import_react49.useRef)(false);
16109
+ (0, import_react49.useEffect)(() => {
16343
16110
  if (typeof window === "undefined") return;
16344
16111
  const params = new URLSearchParams(window.location.search);
16345
16112
  if (!params.has("code") && !params.has("error")) return;
@@ -16403,16 +16170,16 @@ function useCompleteOAuth(options) {
16403
16170
  }
16404
16171
 
16405
16172
  // src/client/hooks/checkout/coin-list/token-sale/data/useParticipations.ts
16406
- var import_react51 = require("react");
16407
- var LOADING_STATE9 = { type: "LOADING" };
16173
+ var import_react50 = require("react");
16174
+ var LOADING_STATE8 = { type: "LOADING" };
16408
16175
  function useParticipations(offerId, options = {}) {
16409
16176
  const { coinlist, isReady } = useCoinList();
16410
16177
  const log = useLogger("useParticipations");
16411
16178
  const { data, enabled = true } = options;
16412
- const [participationsState, setParticipationsState] = (0, import_react51.useState)(
16413
- data !== void 0 ? { type: "CONTENT", participations: data } : LOADING_STATE9
16179
+ const [participationsState, setParticipationsState] = (0, import_react50.useState)(
16180
+ data !== void 0 ? { type: "CONTENT", participations: data } : LOADING_STATE8
16414
16181
  );
16415
- (0, import_react51.useEffect)(() => {
16182
+ (0, import_react50.useEffect)(() => {
16416
16183
  let isCancelled = false;
16417
16184
  if (!enabled) {
16418
16185
  return () => {
@@ -16421,7 +16188,7 @@ function useParticipations(offerId, options = {}) {
16421
16188
  }
16422
16189
  if (!isReady) {
16423
16190
  if (data === void 0) {
16424
- setParticipationsState(LOADING_STATE9);
16191
+ setParticipationsState(LOADING_STATE8);
16425
16192
  }
16426
16193
  return () => {
16427
16194
  isCancelled = true;
@@ -16432,7 +16199,7 @@ function useParticipations(offerId, options = {}) {
16432
16199
  isCancelled = true;
16433
16200
  };
16434
16201
  }
16435
- setParticipationsState(LOADING_STATE9);
16202
+ setParticipationsState(LOADING_STATE8);
16436
16203
  coinlist.tokenSale.list(offerId).then((participations) => {
16437
16204
  if (!isCancelled) {
16438
16205
  log.debug(() => ({
@@ -16459,16 +16226,16 @@ function useParticipations(offerId, options = {}) {
16459
16226
  }
16460
16227
 
16461
16228
  // src/client/hooks/offers/data/useOfferDetails.ts
16462
- var import_react52 = require("react");
16463
- var LOADING_STATE10 = { type: "LOADING" };
16229
+ var import_react51 = require("react");
16230
+ var LOADING_STATE9 = { type: "LOADING" };
16464
16231
  function useOfferDetails(offerId, options = {}) {
16465
16232
  const { coinlist, isReady } = useCoinList();
16466
16233
  const log = useLogger("useOfferDetails");
16467
16234
  const { data, enabled = true } = options;
16468
- const [offerDetailsState, setOfferDetailsState] = (0, import_react52.useState)(
16469
- data !== void 0 ? { type: "CONTENT", offerDetail: data } : LOADING_STATE10
16235
+ const [offerDetailsState, setOfferDetailsState] = (0, import_react51.useState)(
16236
+ data !== void 0 ? { type: "CONTENT", offerDetail: data } : LOADING_STATE9
16470
16237
  );
16471
- (0, import_react52.useEffect)(() => {
16238
+ (0, import_react51.useEffect)(() => {
16472
16239
  let isCancelled = false;
16473
16240
  if (!enabled) {
16474
16241
  return () => {
@@ -16477,7 +16244,7 @@ function useOfferDetails(offerId, options = {}) {
16477
16244
  }
16478
16245
  if (!isReady) {
16479
16246
  if (data === void 0) {
16480
- setOfferDetailsState(LOADING_STATE10);
16247
+ setOfferDetailsState(LOADING_STATE9);
16481
16248
  }
16482
16249
  return () => {
16483
16250
  isCancelled = true;
@@ -16488,7 +16255,7 @@ function useOfferDetails(offerId, options = {}) {
16488
16255
  isCancelled = true;
16489
16256
  };
16490
16257
  }
16491
- setOfferDetailsState(LOADING_STATE10);
16258
+ setOfferDetailsState(LOADING_STATE9);
16492
16259
  coinlist.offers.get(offerId).then((offerDetail) => {
16493
16260
  if (!isCancelled) {
16494
16261
  log.debug(() => ({
@@ -16516,23 +16283,15 @@ function useOfferDetails(offerId, options = {}) {
16516
16283
 
16517
16284
  // src/client/hooks/offers/shared/offer-asset-card.types.ts
16518
16285
  var OfferAssetCardUi = {
16519
- /**
16520
- * `tokenMetadata` is the registry's entry for the token the offer is about
16521
- * (`TokenRegistrySnapshot.forOffer`), or `null` when it lists none. The
16522
- * registry names win over the offer's own where both exist: they are the
16523
- * token's canonical name, ticker and artwork, where the offer's are
16524
- * catalogue copy.
16525
- */
16526
- fromOffer: (offer, tokenMetadata = null) => ({
16286
+ fromOffer: (offer) => ({
16527
16287
  id: offer.id,
16528
- ...tokenMetadata ? { name: tokenMetadata.name, symbol: String(tokenMetadata.symbol) } : {},
16529
- logo: OfferLogoUi.fromOffer(offer, tokenMetadata)
16288
+ logoUrl: offer.logoUrl
16530
16289
  }),
16531
- fromDetail: (detail, tokenMetadata = null) => ({
16290
+ fromDetail: (detail) => ({
16532
16291
  id: detail.id,
16533
- name: tokenMetadata?.name ?? detail.name,
16534
- symbol: tokenMetadata ? String(tokenMetadata.symbol) : detail.asset.code,
16535
- logo: OfferLogoUi.fromOffer(detail, tokenMetadata)
16292
+ name: detail.name,
16293
+ symbol: detail.asset.code,
16294
+ logoUrl: detail.logoUrl
16536
16295
  })
16537
16296
  };
16538
16297
 
@@ -16575,7 +16334,6 @@ function formatMonthYear(date, locale) {
16575
16334
  OAUTH_STATE_KEY,
16576
16335
  OfferAssetCard,
16577
16336
  OfferAssetCardUi,
16578
- OfferLogoUi,
16579
16337
  OfferSaleCard,
16580
16338
  OfferSaleCardUi,
16581
16339
  OffersAssetGrid,
@@ -16637,7 +16395,6 @@ function formatMonthYear(date, locale) {
16637
16395
  quoteOverAsks,
16638
16396
  stablecoinIconUrl,
16639
16397
  submitErc20Approval,
16640
- tokenLogoSrcSet,
16641
16398
  tokenLogoUrl,
16642
16399
  tokenMetadataOf,
16643
16400
  useCheckoutOfferTokenMetadata,
@@ -16680,7 +16437,6 @@ function formatMonthYear(date, locale) {
16680
16437
  useTaxDocument,
16681
16438
  useTaxDocumentModalViewModel,
16682
16439
  useTokenMetadata,
16683
- useTokenRegistry,
16684
16440
  validateAmount,
16685
16441
  validateSellAmount,
16686
16442
  validateSuperstateAmount