@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.
- package/dist/{chunk-VH34YC3Q.js → chunk-QIAM2VUU.js} +1 -49
- package/dist/chunk-QIAM2VUU.js.map +1 -0
- package/dist/client/index.cjs +318 -562
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +100 -261
- package/dist/client/index.d.ts +100 -261
- package/dist/client/index.js +301 -498
- package/dist/client/index.js.map +1 -1
- package/dist/{token-registry-snapshot-BNBNuDu1.d.ts → collections-Biy3pQQL.d.cts} +2 -65
- package/dist/{token-registry-snapshot-CqI6dXM_.d.cts → collections-JfNDG8Tc.d.ts} +2 -65
- package/dist/universal/index.cjs +0 -50
- package/dist/universal/index.cjs.map +1 -1
- package/dist/universal/index.d.cts +2 -2
- package/dist/universal/index.d.ts +2 -2
- package/dist/universal/index.js +1 -5
- package/package.json +1 -1
- package/dist/chunk-VH34YC3Q.js.map +0 -1
package/dist/client/index.js
CHANGED
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
SWAP_POLL_INTERVAL_MS,
|
|
25
25
|
SwapQuote,
|
|
26
26
|
TOKEN_REGISTRY,
|
|
27
|
-
TokenRegistrySnapshot,
|
|
28
27
|
USDC,
|
|
29
28
|
USDC_SYMBOL,
|
|
30
29
|
computeOndoBuyPrice,
|
|
@@ -35,11 +34,10 @@ import {
|
|
|
35
34
|
formattedPricePerShare,
|
|
36
35
|
generatePKCEParams,
|
|
37
36
|
isSwapAvailable,
|
|
38
|
-
offerDisplayTokens,
|
|
39
37
|
ondoQuoteOfferDeadline,
|
|
40
38
|
superstateSwapContractAddress,
|
|
41
39
|
swapSpender
|
|
42
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-QIAM2VUU.js";
|
|
43
41
|
import {
|
|
44
42
|
API_VERSION,
|
|
45
43
|
AssetDecimals,
|
|
@@ -1096,7 +1094,7 @@ var CoinListProvider = CoinListContextProvider;
|
|
|
1096
1094
|
import { createContext as createContext4, useContext as useContext3 } from "react";
|
|
1097
1095
|
|
|
1098
1096
|
// src/client/generated/sdk-styles.gen.ts
|
|
1099
|
-
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}}';
|
|
1097
|
+
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}}';
|
|
1100
1098
|
|
|
1101
1099
|
// src/client/CoinListStyleScope.tsx
|
|
1102
1100
|
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
@@ -3623,20 +3621,6 @@ function tokenLogoUrl(logo, minWidth = 40) {
|
|
|
3623
3621
|
}
|
|
3624
3622
|
}
|
|
3625
3623
|
}
|
|
3626
|
-
function tokenLogoSrcSet(logo) {
|
|
3627
|
-
switch (logo.kind) {
|
|
3628
|
-
case "VECTOR":
|
|
3629
|
-
return null;
|
|
3630
|
-
case "RASTER": {
|
|
3631
|
-
const candidates = logo.variants.length > 0 ? logo.variants : [logo.original];
|
|
3632
|
-
return [...candidates].sort((a, b) => a.width - b.width).map((image) => `${image.url} ${image.width}w`).join(", ");
|
|
3633
|
-
}
|
|
3634
|
-
default: {
|
|
3635
|
-
const exhaustive = logo;
|
|
3636
|
-
return exhaustive;
|
|
3637
|
-
}
|
|
3638
|
-
}
|
|
3639
|
-
}
|
|
3640
3624
|
function offerAssetIconUrl(offer, tokenMetadata) {
|
|
3641
3625
|
return (tokenMetadata ? tokenLogoUrl(tokenMetadata.logo) : null) ?? offerIconUrl(offer);
|
|
3642
3626
|
}
|
|
@@ -4868,9 +4852,8 @@ var NO_TOKEN_ADDRESS = EvmContractAddress(
|
|
|
4868
4852
|
"0x0000000000000000000000000000000000000000"
|
|
4869
4853
|
);
|
|
4870
4854
|
function offerTokenIdentifier(offer, chain) {
|
|
4871
|
-
const
|
|
4872
|
-
|
|
4873
|
-
);
|
|
4855
|
+
const byChain = offer.tokens.filter((token) => token.chain === chain);
|
|
4856
|
+
const asset = byChain.find((token) => token.role === "swap") ?? byChain.find((token) => token.role === "distribution");
|
|
4874
4857
|
return asset === void 0 ? null : { chain, address: asset.address };
|
|
4875
4858
|
}
|
|
4876
4859
|
function tokenMetadataOf(state) {
|
|
@@ -9219,58 +9202,6 @@ function renderOndoSide(side, branches) {
|
|
|
9219
9202
|
}
|
|
9220
9203
|
}
|
|
9221
9204
|
|
|
9222
|
-
// src/client/components/design-system/ThemedImage.tsx
|
|
9223
|
-
import { Fragment as Fragment9, jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
9224
|
-
function ThemedImage({
|
|
9225
|
-
light,
|
|
9226
|
-
dark,
|
|
9227
|
-
sizes,
|
|
9228
|
-
alt,
|
|
9229
|
-
width,
|
|
9230
|
-
height,
|
|
9231
|
-
className,
|
|
9232
|
-
style
|
|
9233
|
-
}) {
|
|
9234
|
-
const shared = { width, height, style };
|
|
9235
|
-
if (!dark) {
|
|
9236
|
-
return /* @__PURE__ */ jsx51(
|
|
9237
|
-
"img",
|
|
9238
|
-
{
|
|
9239
|
-
src: light.src,
|
|
9240
|
-
srcSet: light.srcSet,
|
|
9241
|
-
sizes: light.srcSet ? sizes : void 0,
|
|
9242
|
-
className,
|
|
9243
|
-
alt,
|
|
9244
|
-
...shared
|
|
9245
|
-
}
|
|
9246
|
-
);
|
|
9247
|
-
}
|
|
9248
|
-
return /* @__PURE__ */ jsxs37(Fragment9, { children: [
|
|
9249
|
-
/* @__PURE__ */ jsx51(
|
|
9250
|
-
"img",
|
|
9251
|
-
{
|
|
9252
|
-
src: light.src,
|
|
9253
|
-
srcSet: light.srcSet,
|
|
9254
|
-
sizes: light.srcSet ? sizes : void 0,
|
|
9255
|
-
className: cn("clcosdk-on-light", className),
|
|
9256
|
-
alt,
|
|
9257
|
-
...shared
|
|
9258
|
-
}
|
|
9259
|
-
),
|
|
9260
|
-
/* @__PURE__ */ jsx51(
|
|
9261
|
-
"img",
|
|
9262
|
-
{
|
|
9263
|
-
src: dark.src,
|
|
9264
|
-
srcSet: dark.srcSet,
|
|
9265
|
-
sizes: dark.srcSet ? sizes : void 0,
|
|
9266
|
-
className: cn("clcosdk-on-dark", className),
|
|
9267
|
-
alt,
|
|
9268
|
-
...shared
|
|
9269
|
-
}
|
|
9270
|
-
)
|
|
9271
|
-
] });
|
|
9272
|
-
}
|
|
9273
|
-
|
|
9274
9205
|
// src/client/components/offers/shared/offer-card-keyboard.ts
|
|
9275
9206
|
function onOfferCardKeyDown(event, onClick) {
|
|
9276
9207
|
if (event.key !== "Enter" && event.key !== " ") return;
|
|
@@ -9279,8 +9210,7 @@ function onOfferCardKeyDown(event, onClick) {
|
|
|
9279
9210
|
}
|
|
9280
9211
|
|
|
9281
9212
|
// src/client/components/offers/shared/OfferAssetCard.tsx
|
|
9282
|
-
import { jsx as
|
|
9283
|
-
var LOGO_SIZES = "(min-width: 768px) 48px, 40px";
|
|
9213
|
+
import { jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
9284
9214
|
function OfferAssetCard({
|
|
9285
9215
|
offer,
|
|
9286
9216
|
onClick,
|
|
@@ -9288,7 +9218,7 @@ function OfferAssetCard({
|
|
|
9288
9218
|
containerClassName
|
|
9289
9219
|
}) {
|
|
9290
9220
|
const interactive = onClick !== void 0;
|
|
9291
|
-
const card = /* @__PURE__ */
|
|
9221
|
+
const card = /* @__PURE__ */ jsx51(
|
|
9292
9222
|
"article",
|
|
9293
9223
|
{
|
|
9294
9224
|
className: cn(
|
|
@@ -9302,13 +9232,11 @@ function OfferAssetCard({
|
|
|
9302
9232
|
tabIndex: interactive ? 0 : void 0,
|
|
9303
9233
|
onClick,
|
|
9304
9234
|
onKeyDown: interactive ? (event) => onOfferCardKeyDown(event, onClick) : void 0,
|
|
9305
|
-
children: /* @__PURE__ */
|
|
9306
|
-
offer.
|
|
9307
|
-
|
|
9235
|
+
children: /* @__PURE__ */ jsxs37("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: [
|
|
9236
|
+
offer.logoUrl ? /* @__PURE__ */ jsx51("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__ */ jsx51(
|
|
9237
|
+
"img",
|
|
9308
9238
|
{
|
|
9309
|
-
|
|
9310
|
-
dark: offer.logo.dark ?? void 0,
|
|
9311
|
-
sizes: LOGO_SIZES,
|
|
9239
|
+
src: offer.logoUrl,
|
|
9312
9240
|
alt: "",
|
|
9313
9241
|
width: 48,
|
|
9314
9242
|
height: 48,
|
|
@@ -9316,8 +9244,8 @@ function OfferAssetCard({
|
|
|
9316
9244
|
style: { maxWidth: "none", width: "100%", height: "100%" }
|
|
9317
9245
|
}
|
|
9318
9246
|
) }) : null,
|
|
9319
|
-
/* @__PURE__ */
|
|
9320
|
-
offer.name ? /* @__PURE__ */
|
|
9247
|
+
/* @__PURE__ */ jsxs37("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:flex-1 clcosdk:flex-col clcosdk:items-start clcosdk:justify-center", children: [
|
|
9248
|
+
offer.name ? /* @__PURE__ */ jsx51(
|
|
9321
9249
|
"h2",
|
|
9322
9250
|
{
|
|
9323
9251
|
className: cn(
|
|
@@ -9326,13 +9254,13 @@ function OfferAssetCard({
|
|
|
9326
9254
|
children: offer.name
|
|
9327
9255
|
}
|
|
9328
9256
|
) : null,
|
|
9329
|
-
offer.symbol ? /* @__PURE__ */
|
|
9257
|
+
offer.symbol ? /* @__PURE__ */ jsx51("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
|
|
9330
9258
|
] })
|
|
9331
9259
|
] })
|
|
9332
9260
|
}
|
|
9333
9261
|
);
|
|
9334
|
-
const wrapped = containerClassName ? /* @__PURE__ */
|
|
9335
|
-
return /* @__PURE__ */
|
|
9262
|
+
const wrapped = containerClassName ? /* @__PURE__ */ jsx51("div", { className: containerClassName, children: card }) : card;
|
|
9263
|
+
return /* @__PURE__ */ jsx51(CoinListStyleScope, { children: wrapped });
|
|
9336
9264
|
}
|
|
9337
9265
|
function cardActionLabel(offer) {
|
|
9338
9266
|
const parts = [offer.name, offer.symbol].filter(Boolean);
|
|
@@ -9340,7 +9268,7 @@ function cardActionLabel(offer) {
|
|
|
9340
9268
|
}
|
|
9341
9269
|
|
|
9342
9270
|
// src/client/components/offers/grid/OffersAssetGrid.tsx
|
|
9343
|
-
import { jsx as
|
|
9271
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
9344
9272
|
var DEFAULT_MAX_COLUMNS = 3;
|
|
9345
9273
|
function OffersAssetGrid({
|
|
9346
9274
|
offers,
|
|
@@ -9355,14 +9283,14 @@ function OffersAssetGrid({
|
|
|
9355
9283
|
);
|
|
9356
9284
|
const maxGridWidth = `calc(${cols} * 20rem + ${Math.max(cols - 1, 0)} * 1.5rem)`;
|
|
9357
9285
|
const interactive = onOfferClick !== void 0;
|
|
9358
|
-
return /* @__PURE__ */
|
|
9286
|
+
return /* @__PURE__ */ jsx52(CoinListStyleScope, { children: /* @__PURE__ */ jsx52(
|
|
9359
9287
|
"div",
|
|
9360
9288
|
{
|
|
9361
9289
|
className: cn(
|
|
9362
9290
|
"clcosdk:flex clcosdk:w-full clcosdk:justify-center",
|
|
9363
9291
|
containerClassName
|
|
9364
9292
|
),
|
|
9365
|
-
children: /* @__PURE__ */
|
|
9293
|
+
children: /* @__PURE__ */ jsx52(
|
|
9366
9294
|
"div",
|
|
9367
9295
|
{
|
|
9368
9296
|
className: cn(
|
|
@@ -9372,7 +9300,7 @@ function OffersAssetGrid({
|
|
|
9372
9300
|
className
|
|
9373
9301
|
),
|
|
9374
9302
|
style: { maxWidth: maxGridWidth },
|
|
9375
|
-
children: offers.map((offer) => /* @__PURE__ */
|
|
9303
|
+
children: offers.map((offer) => /* @__PURE__ */ jsx52(
|
|
9376
9304
|
OfferAssetCard,
|
|
9377
9305
|
{
|
|
9378
9306
|
offer,
|
|
@@ -9414,9 +9342,7 @@ function saleCardStatus({
|
|
|
9414
9342
|
}
|
|
9415
9343
|
|
|
9416
9344
|
// src/client/components/offers/shared/OfferSaleCard.tsx
|
|
9417
|
-
import { jsx as
|
|
9418
|
-
var HEADER_LOGO_SIZES = "(min-width: 768px) 36px, 32px";
|
|
9419
|
-
var WATERMARK_SIZES = "(min-width: 768px) 20rem, 15rem";
|
|
9345
|
+
import { jsx as jsx53, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
9420
9346
|
function OfferSaleCard({
|
|
9421
9347
|
offer,
|
|
9422
9348
|
onClick,
|
|
@@ -9431,8 +9357,7 @@ function OfferSaleCard({
|
|
|
9431
9357
|
secondsLeft
|
|
9432
9358
|
});
|
|
9433
9359
|
const interactive = onClick !== void 0;
|
|
9434
|
-
const
|
|
9435
|
-
const card = /* @__PURE__ */ jsxs39(
|
|
9360
|
+
const card = /* @__PURE__ */ jsxs38(
|
|
9436
9361
|
"article",
|
|
9437
9362
|
{
|
|
9438
9363
|
className: cn(
|
|
@@ -9447,17 +9372,16 @@ function OfferSaleCard({
|
|
|
9447
9372
|
onClick,
|
|
9448
9373
|
onKeyDown: interactive ? (event) => onOfferCardKeyDown(event, onClick) : void 0,
|
|
9449
9374
|
children: [
|
|
9450
|
-
|
|
9375
|
+
offer.logoUrl ? /* @__PURE__ */ jsx53(
|
|
9451
9376
|
"div",
|
|
9452
9377
|
{
|
|
9453
9378
|
"aria-hidden": "true",
|
|
9454
9379
|
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]",
|
|
9455
9380
|
style: { mixBlendMode: "overlay" },
|
|
9456
|
-
children: /* @__PURE__ */
|
|
9457
|
-
|
|
9381
|
+
children: /* @__PURE__ */ jsx53(
|
|
9382
|
+
"img",
|
|
9458
9383
|
{
|
|
9459
|
-
|
|
9460
|
-
sizes: WATERMARK_SIZES,
|
|
9384
|
+
src: offer.logoUrl,
|
|
9461
9385
|
alt: "",
|
|
9462
9386
|
className: "clcosdk:size-full clcosdk:rounded-full clcosdk:object-cover",
|
|
9463
9387
|
style: { maxWidth: "none", width: "100%", height: "100%" }
|
|
@@ -9465,13 +9389,12 @@ function OfferSaleCard({
|
|
|
9465
9389
|
)
|
|
9466
9390
|
}
|
|
9467
9391
|
) : null,
|
|
9468
|
-
/* @__PURE__ */
|
|
9469
|
-
/* @__PURE__ */
|
|
9470
|
-
|
|
9471
|
-
|
|
9392
|
+
/* @__PURE__ */ jsxs38("div", { className: "clcosdk:relative clcosdk:z-10 clcosdk:flex clcosdk:flex-col clcosdk:gap-2 clcosdk:md:gap-3", children: [
|
|
9393
|
+
/* @__PURE__ */ jsxs38("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:items-center clcosdk:gap-2.5 clcosdk:md:gap-3", children: [
|
|
9394
|
+
offer.logoUrl ? /* @__PURE__ */ jsx53("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__ */ jsx53(
|
|
9395
|
+
"img",
|
|
9472
9396
|
{
|
|
9473
|
-
|
|
9474
|
-
sizes: HEADER_LOGO_SIZES,
|
|
9397
|
+
src: offer.logoUrl,
|
|
9475
9398
|
alt: "",
|
|
9476
9399
|
width: 36,
|
|
9477
9400
|
height: 36,
|
|
@@ -9479,7 +9402,7 @@ function OfferSaleCard({
|
|
|
9479
9402
|
style: { maxWidth: "none", width: "100%", height: "100%" }
|
|
9480
9403
|
}
|
|
9481
9404
|
) }) : null,
|
|
9482
|
-
offer.name ? /* @__PURE__ */
|
|
9405
|
+
offer.name ? /* @__PURE__ */ jsx53(
|
|
9483
9406
|
"h2",
|
|
9484
9407
|
{
|
|
9485
9408
|
className: cn(
|
|
@@ -9489,7 +9412,7 @@ function OfferSaleCard({
|
|
|
9489
9412
|
}
|
|
9490
9413
|
) : null
|
|
9491
9414
|
] }),
|
|
9492
|
-
offer.tagline ? /* @__PURE__ */
|
|
9415
|
+
offer.tagline ? /* @__PURE__ */ jsx53(
|
|
9493
9416
|
"p",
|
|
9494
9417
|
{
|
|
9495
9418
|
className: cn(
|
|
@@ -9500,20 +9423,20 @@ function OfferSaleCard({
|
|
|
9500
9423
|
}
|
|
9501
9424
|
) : null
|
|
9502
9425
|
] }),
|
|
9503
|
-
/* @__PURE__ */
|
|
9504
|
-
/* @__PURE__ */
|
|
9505
|
-
status.phase === "live" ? /* @__PURE__ */
|
|
9426
|
+
/* @__PURE__ */ jsxs38("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: [
|
|
9427
|
+
/* @__PURE__ */ jsxs38("div", { className: "clcosdk:flex clcosdk:min-w-0 clcosdk:items-center clcosdk:gap-2 clcosdk:md:gap-3", children: [
|
|
9428
|
+
status.phase === "live" ? /* @__PURE__ */ jsxs38(
|
|
9506
9429
|
"span",
|
|
9507
9430
|
{
|
|
9508
9431
|
className: "clcosdk:relative clcosdk:inline-flex clcosdk:size-2 clcosdk:shrink-0",
|
|
9509
9432
|
"aria-hidden": "true",
|
|
9510
9433
|
children: [
|
|
9511
|
-
/* @__PURE__ */
|
|
9512
|
-
/* @__PURE__ */
|
|
9434
|
+
/* @__PURE__ */ jsx53("span", { className: "clcosdk-status-dot-ping clcosdk:absolute clcosdk:inset-0 clcosdk:rounded-full clcosdk:bg-positive" }),
|
|
9435
|
+
/* @__PURE__ */ jsx53("span", { className: "clcosdk:relative clcosdk:inline-flex clcosdk:size-full clcosdk:rounded-full clcosdk:bg-positive" })
|
|
9513
9436
|
]
|
|
9514
9437
|
}
|
|
9515
9438
|
) : null,
|
|
9516
|
-
/* @__PURE__ */
|
|
9439
|
+
/* @__PURE__ */ jsx53(
|
|
9517
9440
|
"p",
|
|
9518
9441
|
{
|
|
9519
9442
|
className: cn(
|
|
@@ -9524,7 +9447,7 @@ function OfferSaleCard({
|
|
|
9524
9447
|
}
|
|
9525
9448
|
)
|
|
9526
9449
|
] }),
|
|
9527
|
-
/* @__PURE__ */
|
|
9450
|
+
/* @__PURE__ */ jsxs38(
|
|
9528
9451
|
"span",
|
|
9529
9452
|
{
|
|
9530
9453
|
className: cn(
|
|
@@ -9534,8 +9457,8 @@ function OfferSaleCard({
|
|
|
9534
9457
|
"aria-hidden": "true",
|
|
9535
9458
|
children: [
|
|
9536
9459
|
"View",
|
|
9537
|
-
/* @__PURE__ */
|
|
9538
|
-
/* @__PURE__ */
|
|
9460
|
+
/* @__PURE__ */ jsx53("span", { className: "clcosdk:max-md:hidden", children: " offer" }),
|
|
9461
|
+
/* @__PURE__ */ jsx53(ArrowRight, { className: "clcosdk:size-4", "aria-hidden": true })
|
|
9539
9462
|
]
|
|
9540
9463
|
}
|
|
9541
9464
|
)
|
|
@@ -9543,8 +9466,8 @@ function OfferSaleCard({
|
|
|
9543
9466
|
]
|
|
9544
9467
|
}
|
|
9545
9468
|
);
|
|
9546
|
-
const wrapped = containerClassName ? /* @__PURE__ */
|
|
9547
|
-
return /* @__PURE__ */
|
|
9469
|
+
const wrapped = containerClassName ? /* @__PURE__ */ jsx53("div", { className: containerClassName, children: card }) : card;
|
|
9470
|
+
return /* @__PURE__ */ jsx53(CoinListStyleScope, { children: wrapped });
|
|
9548
9471
|
}
|
|
9549
9472
|
var SALE_PHASE_LABEL = {
|
|
9550
9473
|
upcoming: "Upcoming",
|
|
@@ -9557,10 +9480,10 @@ function cardActionLabel2(offer, phase) {
|
|
|
9557
9480
|
}
|
|
9558
9481
|
|
|
9559
9482
|
// src/client/components/offers/grid/OffersGridView.tsx
|
|
9560
|
-
import { jsx as
|
|
9483
|
+
import { jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
9561
9484
|
var DEFAULT_MAX_COLUMNS2 = 2;
|
|
9562
9485
|
function OffersGridView(props) {
|
|
9563
|
-
return /* @__PURE__ */
|
|
9486
|
+
return /* @__PURE__ */ jsx54(CoinListStyleScope, { children: /* @__PURE__ */ jsx54(OffersGridViewBody, { ...props }) });
|
|
9564
9487
|
}
|
|
9565
9488
|
function OffersGridViewBody({
|
|
9566
9489
|
state,
|
|
@@ -9574,13 +9497,13 @@ function OffersGridViewBody({
|
|
|
9574
9497
|
}) {
|
|
9575
9498
|
switch (state.type) {
|
|
9576
9499
|
case "loading":
|
|
9577
|
-
return loading ?? /* @__PURE__ */
|
|
9500
|
+
return loading ?? /* @__PURE__ */ jsx54(LoadingState, {});
|
|
9578
9501
|
case "error":
|
|
9579
|
-
return error ?? /* @__PURE__ */
|
|
9502
|
+
return error ?? /* @__PURE__ */ jsx54(ErrorState, { message: state.message });
|
|
9580
9503
|
case "empty":
|
|
9581
|
-
return emptyState ?? /* @__PURE__ */
|
|
9504
|
+
return emptyState ?? /* @__PURE__ */ jsx54(EmptyState, {});
|
|
9582
9505
|
case "content":
|
|
9583
|
-
return /* @__PURE__ */
|
|
9506
|
+
return /* @__PURE__ */ jsx54(
|
|
9584
9507
|
OffersGridContent,
|
|
9585
9508
|
{
|
|
9586
9509
|
offers: state.offers,
|
|
@@ -9610,14 +9533,14 @@ function OffersGridContent({
|
|
|
9610
9533
|
Math.max(1, maxColumns ?? DEFAULT_MAX_COLUMNS2)
|
|
9611
9534
|
);
|
|
9612
9535
|
const maxGridWidth = `calc(${cols} * 28rem + ${Math.max(cols - 1, 0)} * 1.5rem)`;
|
|
9613
|
-
return /* @__PURE__ */
|
|
9536
|
+
return /* @__PURE__ */ jsx54(
|
|
9614
9537
|
"div",
|
|
9615
9538
|
{
|
|
9616
9539
|
className: cn(
|
|
9617
9540
|
"clcosdk:flex clcosdk:w-full clcosdk:justify-center",
|
|
9618
9541
|
containerClassName
|
|
9619
9542
|
),
|
|
9620
|
-
children: /* @__PURE__ */
|
|
9543
|
+
children: /* @__PURE__ */ jsx54(
|
|
9621
9544
|
"div",
|
|
9622
9545
|
{
|
|
9623
9546
|
className: cn(
|
|
@@ -9626,7 +9549,7 @@ function OffersGridContent({
|
|
|
9626
9549
|
className
|
|
9627
9550
|
),
|
|
9628
9551
|
style: { maxWidth: maxGridWidth },
|
|
9629
|
-
children: offers.map((offer) => /* @__PURE__ */
|
|
9552
|
+
children: offers.map((offer) => /* @__PURE__ */ jsx54(
|
|
9630
9553
|
OfferSaleCard,
|
|
9631
9554
|
{
|
|
9632
9555
|
offer,
|
|
@@ -9640,17 +9563,17 @@ function OffersGridContent({
|
|
|
9640
9563
|
);
|
|
9641
9564
|
}
|
|
9642
9565
|
function LoadingState() {
|
|
9643
|
-
return /* @__PURE__ */
|
|
9566
|
+
return /* @__PURE__ */ jsx54(
|
|
9644
9567
|
"output",
|
|
9645
9568
|
{
|
|
9646
9569
|
"aria-live": "polite",
|
|
9647
9570
|
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",
|
|
9648
|
-
children: /* @__PURE__ */
|
|
9571
|
+
children: /* @__PURE__ */ jsx54("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading offers..." })
|
|
9649
9572
|
}
|
|
9650
9573
|
);
|
|
9651
9574
|
}
|
|
9652
9575
|
function ErrorState({ message }) {
|
|
9653
|
-
return /* @__PURE__ */
|
|
9576
|
+
return /* @__PURE__ */ jsx54(
|
|
9654
9577
|
AlertBanner,
|
|
9655
9578
|
{
|
|
9656
9579
|
variant: "error",
|
|
@@ -9661,13 +9584,13 @@ function ErrorState({ message }) {
|
|
|
9661
9584
|
);
|
|
9662
9585
|
}
|
|
9663
9586
|
function EmptyState() {
|
|
9664
|
-
return /* @__PURE__ */
|
|
9587
|
+
return /* @__PURE__ */ jsxs39(
|
|
9665
9588
|
"output",
|
|
9666
9589
|
{
|
|
9667
9590
|
"aria-live": "polite",
|
|
9668
9591
|
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",
|
|
9669
9592
|
children: [
|
|
9670
|
-
/* @__PURE__ */
|
|
9593
|
+
/* @__PURE__ */ jsx54(
|
|
9671
9594
|
"p",
|
|
9672
9595
|
{
|
|
9673
9596
|
className: cn(
|
|
@@ -9677,14 +9600,14 @@ function EmptyState() {
|
|
|
9677
9600
|
children: "No offers available"
|
|
9678
9601
|
}
|
|
9679
9602
|
),
|
|
9680
|
-
/* @__PURE__ */
|
|
9603
|
+
/* @__PURE__ */ jsx54("p", { className: cn(typeClasses.subhead, "clcosdk:text-text-secondary"), children: "Check back soon for upcoming opportunities." })
|
|
9681
9604
|
]
|
|
9682
9605
|
}
|
|
9683
9606
|
);
|
|
9684
9607
|
}
|
|
9685
9608
|
|
|
9686
9609
|
// src/client/hooks/offers/grid/useOffersGridViewModel.ts
|
|
9687
|
-
import { useCallback as
|
|
9610
|
+
import { useCallback as useCallback6, useMemo as useMemo6 } from "react";
|
|
9688
9611
|
|
|
9689
9612
|
// src/client/hooks/offers/data/useOffers.ts
|
|
9690
9613
|
import { useEffect as useEffect20, useState as useState24 } from "react";
|
|
@@ -9742,56 +9665,19 @@ function useOffers(options = {}) {
|
|
|
9742
9665
|
return { offersState };
|
|
9743
9666
|
}
|
|
9744
9667
|
|
|
9745
|
-
// src/client/hooks/offers/shared/offer-logo.types.ts
|
|
9746
|
-
var CARD_LOGO_WIDTH = 96;
|
|
9747
|
-
var OfferLogoUi = {
|
|
9748
|
-
/**
|
|
9749
|
-
* The registry's logo for the token an offer is about, or the offer's own
|
|
9750
|
-
* artwork otherwise, or `null` when neither exists.
|
|
9751
|
-
*
|
|
9752
|
-
* The registry wins when both exist because it is the token's real artwork
|
|
9753
|
-
* where `Offer.logoUrl` is catalogue artwork, and because a swap publishes
|
|
9754
|
-
* without artwork more often than not - which is why `logoUrl` is `null`
|
|
9755
|
-
* on the swap variants.
|
|
9756
|
-
*/
|
|
9757
|
-
fromOffer: (offer, tokenMetadata) => {
|
|
9758
|
-
const light = tokenMetadata ? logoImage(tokenMetadata.logo) : null;
|
|
9759
|
-
if (light !== null) {
|
|
9760
|
-
const dark = tokenMetadata?.logoDark ? logoImage(tokenMetadata.logoDark) : null;
|
|
9761
|
-
return { light, dark };
|
|
9762
|
-
}
|
|
9763
|
-
return offer.logoUrl ? { light: { src: offer.logoUrl }, dark: null } : null;
|
|
9764
|
-
}
|
|
9765
|
-
};
|
|
9766
|
-
function logoImage(logo) {
|
|
9767
|
-
const src = tokenLogoUrl(logo, CARD_LOGO_WIDTH);
|
|
9768
|
-
if (src === null) {
|
|
9769
|
-
return null;
|
|
9770
|
-
}
|
|
9771
|
-
const srcSet = tokenLogoSrcSet(logo);
|
|
9772
|
-
return srcSet === null ? { src } : { src, srcSet };
|
|
9773
|
-
}
|
|
9774
|
-
|
|
9775
9668
|
// src/client/hooks/offers/shared/offer-sale-card.types.ts
|
|
9776
9669
|
var OfferSaleCardUi = {
|
|
9777
|
-
|
|
9778
|
-
* `tokenMetadata` is the registry's entry for the token the offer is about
|
|
9779
|
-
* (`TokenRegistrySnapshot.forOffer`), or `null` when it lists none. The
|
|
9780
|
-
* registry names win over the offer's own where both exist: they are the
|
|
9781
|
-
* token's canonical name and artwork, where the offer's are catalogue copy.
|
|
9782
|
-
*/
|
|
9783
|
-
fromOffer: (offer, tokenMetadata = null) => ({
|
|
9670
|
+
fromOffer: (offer) => ({
|
|
9784
9671
|
id: offer.id,
|
|
9785
|
-
...tokenMetadata ? { name: tokenMetadata.name } : {},
|
|
9786
9672
|
...saleWindow(offer),
|
|
9787
|
-
|
|
9673
|
+
logoUrl: offer.logoUrl,
|
|
9788
9674
|
endsAt: offer.endsAt
|
|
9789
9675
|
}),
|
|
9790
|
-
fromDetail: (detail
|
|
9676
|
+
fromDetail: (detail) => ({
|
|
9791
9677
|
id: detail.id,
|
|
9792
|
-
name:
|
|
9678
|
+
name: detail.name,
|
|
9793
9679
|
...saleWindow(detail),
|
|
9794
|
-
|
|
9680
|
+
logoUrl: detail.logoUrl,
|
|
9795
9681
|
endsAt: detail.endsAt
|
|
9796
9682
|
})
|
|
9797
9683
|
};
|
|
@@ -9809,80 +9695,17 @@ function saleWindow(offer) {
|
|
|
9809
9695
|
}
|
|
9810
9696
|
}
|
|
9811
9697
|
|
|
9812
|
-
// src/client/hooks/shared/useTokenRegistry.ts
|
|
9813
|
-
import { useCallback as useCallback6, useEffect as useEffect21, useState as useState25 } from "react";
|
|
9814
|
-
var DISABLED_STATE2 = { type: "DISABLED" };
|
|
9815
|
-
var LOADING_STATE4 = { type: "LOADING" };
|
|
9816
|
-
function useTokenRegistry(options = {}) {
|
|
9817
|
-
const { data, enabled = true } = options;
|
|
9818
|
-
const { coinlist, isReady } = useCoinList();
|
|
9819
|
-
const log = useLogger("useTokenRegistry");
|
|
9820
|
-
const [state, setState] = useState25(
|
|
9821
|
-
() => data !== void 0 ? { type: "CONTENT", registry: TokenRegistrySnapshot.fromTokens(data) } : LOADING_STATE4
|
|
9822
|
-
);
|
|
9823
|
-
const [refetchCount, setRefetchCount] = useState25(0);
|
|
9824
|
-
const refetch = useCallback6(() => {
|
|
9825
|
-
setRefetchCount((count) => count + 1);
|
|
9826
|
-
}, []);
|
|
9827
|
-
useEffect21(() => {
|
|
9828
|
-
let isCancelled = false;
|
|
9829
|
-
const seedActive = data !== void 0 && refetchCount === 0;
|
|
9830
|
-
if (!isReady || !enabled || seedActive) {
|
|
9831
|
-
return () => {
|
|
9832
|
-
isCancelled = true;
|
|
9833
|
-
};
|
|
9834
|
-
}
|
|
9835
|
-
setState(LOADING_STATE4);
|
|
9836
|
-
coinlist.tokens.list().then((tokens) => {
|
|
9837
|
-
if (!isCancelled) {
|
|
9838
|
-
log.debug(() => ({
|
|
9839
|
-
msg: "settled",
|
|
9840
|
-
fields: { state: "CONTENT", count: tokens.length }
|
|
9841
|
-
}));
|
|
9842
|
-
setState({
|
|
9843
|
-
type: "CONTENT",
|
|
9844
|
-
registry: TokenRegistrySnapshot.fromTokens(tokens)
|
|
9845
|
-
});
|
|
9846
|
-
}
|
|
9847
|
-
}).catch((error) => {
|
|
9848
|
-
if (!isCancelled) {
|
|
9849
|
-
log.failure(
|
|
9850
|
-
() => ({
|
|
9851
|
-
msg: "settled",
|
|
9852
|
-
fields: { state: "ERROR", reason: "generic-error" }
|
|
9853
|
-
}),
|
|
9854
|
-
error
|
|
9855
|
-
);
|
|
9856
|
-
setState({ type: "ERROR", reason: "generic-error" });
|
|
9857
|
-
}
|
|
9858
|
-
});
|
|
9859
|
-
return () => {
|
|
9860
|
-
isCancelled = true;
|
|
9861
|
-
};
|
|
9862
|
-
}, [coinlist, isReady, enabled, data, refetchCount, log]);
|
|
9863
|
-
return {
|
|
9864
|
-
// LOADING would be a lie while disabled: nothing is in flight and nothing
|
|
9865
|
-
// will replace it. Settled states (a seed, a previous answer) survive.
|
|
9866
|
-
state: !enabled && state.type === "LOADING" ? DISABLED_STATE2 : state,
|
|
9867
|
-
refetch
|
|
9868
|
-
};
|
|
9869
|
-
}
|
|
9870
|
-
|
|
9871
9698
|
// src/client/hooks/offers/grid/useOffersGridViewModel.ts
|
|
9872
9699
|
var NOT_AUTHENTICATED_MESSAGE = "Sign in to view available offers.";
|
|
9873
9700
|
var GENERIC_ERROR_MESSAGE = "Unable to load offers right now. Please try again.";
|
|
9874
9701
|
function useOffersGridViewModel(options = {}) {
|
|
9875
9702
|
const { data, onOfferClick, enabled = true } = options;
|
|
9876
|
-
const { offersState } = useOffers({ data
|
|
9877
|
-
const { state: registryState } = useTokenRegistry({
|
|
9878
|
-
data: data?.tokens,
|
|
9879
|
-
enabled
|
|
9880
|
-
});
|
|
9703
|
+
const { offersState } = useOffers({ data, enabled });
|
|
9881
9704
|
const state = useMemo6(
|
|
9882
|
-
() => toUiState(offersState,
|
|
9883
|
-
[offersState,
|
|
9705
|
+
() => toUiState(offersState, onOfferClick !== void 0),
|
|
9706
|
+
[offersState, onOfferClick]
|
|
9884
9707
|
);
|
|
9885
|
-
const onEvent =
|
|
9708
|
+
const onEvent = useCallback6(
|
|
9886
9709
|
(event) => {
|
|
9887
9710
|
switch (event.type) {
|
|
9888
9711
|
case "ON_OFFER_CLICK": {
|
|
@@ -9905,7 +9728,7 @@ function useOffersGridViewModel(options = {}) {
|
|
|
9905
9728
|
);
|
|
9906
9729
|
return { state, onEvent };
|
|
9907
9730
|
}
|
|
9908
|
-
function toUiState(offersState,
|
|
9731
|
+
function toUiState(offersState, interactive) {
|
|
9909
9732
|
switch (offersState.type) {
|
|
9910
9733
|
case "LOADING":
|
|
9911
9734
|
return { type: "loading" };
|
|
@@ -9918,18 +9741,9 @@ function toUiState(offersState, registryState, interactive) {
|
|
|
9918
9741
|
if (offersState.offers.length === 0) {
|
|
9919
9742
|
return { type: "empty" };
|
|
9920
9743
|
}
|
|
9921
|
-
if (registryState.type === "LOADING") {
|
|
9922
|
-
return { type: "loading" };
|
|
9923
|
-
}
|
|
9924
|
-
const registry = registryState.type === "CONTENT" ? registryState.registry : null;
|
|
9925
9744
|
return {
|
|
9926
9745
|
type: "content",
|
|
9927
|
-
offers: offersState.offers.map(
|
|
9928
|
-
(offer) => OfferSaleCardUi.fromOffer(
|
|
9929
|
-
offer,
|
|
9930
|
-
registry ? TokenRegistrySnapshot.forOffer(registry, offer) : null
|
|
9931
|
-
)
|
|
9932
|
-
),
|
|
9746
|
+
offers: offersState.offers.map(OfferSaleCardUi.fromOffer),
|
|
9933
9747
|
interactive
|
|
9934
9748
|
};
|
|
9935
9749
|
}
|
|
@@ -9941,7 +9755,7 @@ function toUiState(offersState, registryState, interactive) {
|
|
|
9941
9755
|
}
|
|
9942
9756
|
|
|
9943
9757
|
// src/client/components/offers/grid/OffersGridContainer.tsx
|
|
9944
|
-
import { jsx as
|
|
9758
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
9945
9759
|
function OffersGridContainer({
|
|
9946
9760
|
data,
|
|
9947
9761
|
onOfferClick,
|
|
@@ -9953,17 +9767,17 @@ function OffersGridContainer({
|
|
|
9953
9767
|
onOfferClick,
|
|
9954
9768
|
enabled
|
|
9955
9769
|
});
|
|
9956
|
-
return /* @__PURE__ */
|
|
9770
|
+
return /* @__PURE__ */ jsx55(OffersGridView, { state, onEvent, ...viewProps });
|
|
9957
9771
|
}
|
|
9958
9772
|
|
|
9959
9773
|
// src/client/components/requirements/ConnectedWalletList.tsx
|
|
9960
|
-
import { useState as
|
|
9961
|
-
import { jsx as
|
|
9774
|
+
import { useState as useState25 } from "react";
|
|
9775
|
+
import { jsx as jsx56, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
9962
9776
|
function ConnectedWalletRow({
|
|
9963
9777
|
wallet,
|
|
9964
9778
|
onRemove
|
|
9965
9779
|
}) {
|
|
9966
|
-
const [state, setState] =
|
|
9780
|
+
const [state, setState] = useState25("idle");
|
|
9967
9781
|
const remove = async () => {
|
|
9968
9782
|
if (!onRemove) return;
|
|
9969
9783
|
setState("removing");
|
|
@@ -9974,8 +9788,8 @@ function ConnectedWalletRow({
|
|
|
9974
9788
|
setState("error");
|
|
9975
9789
|
}
|
|
9976
9790
|
};
|
|
9977
|
-
return /* @__PURE__ */
|
|
9978
|
-
/* @__PURE__ */
|
|
9791
|
+
return /* @__PURE__ */ jsxs40("div", { className: "clcosdk:flex clcosdk:min-h-9 clcosdk:flex-wrap clcosdk:items-center clcosdk:justify-between clcosdk:gap-2", children: [
|
|
9792
|
+
/* @__PURE__ */ jsx56(
|
|
9979
9793
|
"span",
|
|
9980
9794
|
{
|
|
9981
9795
|
title: wallet.address,
|
|
@@ -9986,16 +9800,16 @@ function ConnectedWalletRow({
|
|
|
9986
9800
|
children: wallet.shortAddress
|
|
9987
9801
|
}
|
|
9988
9802
|
),
|
|
9989
|
-
onRemove != null && (state === "confirming" ? /* @__PURE__ */
|
|
9990
|
-
/* @__PURE__ */
|
|
9803
|
+
onRemove != null && (state === "confirming" ? /* @__PURE__ */ jsxs40("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-2", children: [
|
|
9804
|
+
/* @__PURE__ */ jsx56(
|
|
9991
9805
|
"span",
|
|
9992
9806
|
{
|
|
9993
9807
|
className: cn(typeClasses.subhead, "clcosdk:text-text-secondary"),
|
|
9994
9808
|
children: "Remove?"
|
|
9995
9809
|
}
|
|
9996
9810
|
),
|
|
9997
|
-
/* @__PURE__ */
|
|
9998
|
-
/* @__PURE__ */
|
|
9811
|
+
/* @__PURE__ */ jsx56(ClButton, { size: "sm", variant: "destructive", onClick: remove, children: "Remove" }),
|
|
9812
|
+
/* @__PURE__ */ jsx56(
|
|
9999
9813
|
ClButton,
|
|
10000
9814
|
{
|
|
10001
9815
|
size: "sm",
|
|
@@ -10004,9 +9818,9 @@ function ConnectedWalletRow({
|
|
|
10004
9818
|
children: "Cancel"
|
|
10005
9819
|
}
|
|
10006
9820
|
)
|
|
10007
|
-
] }) : state === "error" ? /* @__PURE__ */
|
|
10008
|
-
/* @__PURE__ */
|
|
10009
|
-
/* @__PURE__ */
|
|
9821
|
+
] }) : state === "error" ? /* @__PURE__ */ jsxs40("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-2", children: [
|
|
9822
|
+
/* @__PURE__ */ jsx56("span", { className: cn(typeClasses.subhead, "clcosdk:text-error"), children: "Couldn't remove." }),
|
|
9823
|
+
/* @__PURE__ */ jsx56(
|
|
10010
9824
|
ClButton,
|
|
10011
9825
|
{
|
|
10012
9826
|
size: "sm",
|
|
@@ -10015,7 +9829,7 @@ function ConnectedWalletRow({
|
|
|
10015
9829
|
children: "Try again"
|
|
10016
9830
|
}
|
|
10017
9831
|
)
|
|
10018
|
-
] }) : /* @__PURE__ */
|
|
9832
|
+
] }) : /* @__PURE__ */ jsx56(
|
|
10019
9833
|
ClButton,
|
|
10020
9834
|
{
|
|
10021
9835
|
size: "sm",
|
|
@@ -10028,7 +9842,7 @@ function ConnectedWalletRow({
|
|
|
10028
9842
|
] });
|
|
10029
9843
|
}
|
|
10030
9844
|
function ConnectedWalletList(props) {
|
|
10031
|
-
return /* @__PURE__ */
|
|
9845
|
+
return /* @__PURE__ */ jsx56(CoinListStyleScope, { children: /* @__PURE__ */ jsx56(ConnectedWalletListBody, { ...props }) });
|
|
10032
9846
|
}
|
|
10033
9847
|
function ConnectedWalletListBody({
|
|
10034
9848
|
wallets,
|
|
@@ -10038,18 +9852,18 @@ function ConnectedWalletListBody({
|
|
|
10038
9852
|
status = "ready",
|
|
10039
9853
|
className
|
|
10040
9854
|
}) {
|
|
10041
|
-
return /* @__PURE__ */
|
|
9855
|
+
return /* @__PURE__ */ jsxs40(
|
|
10042
9856
|
"div",
|
|
10043
9857
|
{
|
|
10044
9858
|
className: cn("clcosdk:flex clcosdk:flex-col clcosdk:gap-2", className),
|
|
10045
9859
|
children: [
|
|
10046
|
-
status === "loading" ? /* @__PURE__ */
|
|
9860
|
+
status === "loading" ? /* @__PURE__ */ jsx56(AlertBanner, { variant: "info", content: "Loading your connected wallets\u2026" }) : status === "error" ? /* @__PURE__ */ jsx56(
|
|
10047
9861
|
AlertBanner,
|
|
10048
9862
|
{
|
|
10049
9863
|
variant: "error",
|
|
10050
9864
|
content: "Couldn't load your connected wallets."
|
|
10051
9865
|
}
|
|
10052
|
-
) : wallets.length === 0 ? /* @__PURE__ */
|
|
9866
|
+
) : wallets.length === 0 ? /* @__PURE__ */ jsx56(AlertBanner, { variant: "info", content: "No wallets connected yet." }) : /* @__PURE__ */ jsx56("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:divide-y clcosdk:divide-divider", children: wallets.map((wallet) => /* @__PURE__ */ jsx56(
|
|
10053
9867
|
ConnectedWalletRow,
|
|
10054
9868
|
{
|
|
10055
9869
|
wallet,
|
|
@@ -10057,7 +9871,7 @@ function ConnectedWalletListBody({
|
|
|
10057
9871
|
},
|
|
10058
9872
|
wallet.id
|
|
10059
9873
|
)) }),
|
|
10060
|
-
onAdd != null && status !== "loading" && /* @__PURE__ */
|
|
9874
|
+
onAdd != null && status !== "loading" && /* @__PURE__ */ jsx56(
|
|
10061
9875
|
ClButton,
|
|
10062
9876
|
{
|
|
10063
9877
|
size: "sm",
|
|
@@ -10074,9 +9888,9 @@ function ConnectedWalletListBody({
|
|
|
10074
9888
|
|
|
10075
9889
|
// src/client/components/requirements/identity-verification/IdentityVerificationView.tsx
|
|
10076
9890
|
import SumsubWebSdk from "@sumsub/websdk-react";
|
|
10077
|
-
import { jsx as
|
|
9891
|
+
import { jsx as jsx57, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
10078
9892
|
function IdentityVerificationView(props) {
|
|
10079
|
-
return /* @__PURE__ */
|
|
9893
|
+
return /* @__PURE__ */ jsx57(CoinListStyleScope, { children: /* @__PURE__ */ jsx57(IdentityVerificationViewBody, { ...props }) });
|
|
10080
9894
|
}
|
|
10081
9895
|
function IdentityVerificationViewBody({
|
|
10082
9896
|
state,
|
|
@@ -10085,7 +9899,7 @@ function IdentityVerificationViewBody({
|
|
|
10085
9899
|
}) {
|
|
10086
9900
|
switch (state.type) {
|
|
10087
9901
|
case "loading":
|
|
10088
|
-
return /* @__PURE__ */
|
|
9902
|
+
return /* @__PURE__ */ jsx57(
|
|
10089
9903
|
"output",
|
|
10090
9904
|
{
|
|
10091
9905
|
"aria-live": "polite",
|
|
@@ -10093,11 +9907,11 @@ function IdentityVerificationViewBody({
|
|
|
10093
9907
|
"clcosdk:flex clcosdk:min-h-40 clcosdk:items-center clcosdk:justify-center",
|
|
10094
9908
|
className
|
|
10095
9909
|
),
|
|
10096
|
-
children: /* @__PURE__ */
|
|
9910
|
+
children: /* @__PURE__ */ jsx57("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading identity verification..." })
|
|
10097
9911
|
}
|
|
10098
9912
|
);
|
|
10099
9913
|
case "error":
|
|
10100
|
-
return /* @__PURE__ */
|
|
9914
|
+
return /* @__PURE__ */ jsxs41(
|
|
10101
9915
|
"div",
|
|
10102
9916
|
{
|
|
10103
9917
|
className: cn(
|
|
@@ -10105,13 +9919,13 @@ function IdentityVerificationViewBody({
|
|
|
10105
9919
|
className
|
|
10106
9920
|
),
|
|
10107
9921
|
children: [
|
|
10108
|
-
/* @__PURE__ */
|
|
10109
|
-
state.retryable && /* @__PURE__ */
|
|
9922
|
+
/* @__PURE__ */ jsx57(AlertBanner, { variant: "error", icon: true, content: state.message }),
|
|
9923
|
+
state.retryable && /* @__PURE__ */ jsx57(ClButton, { size: "sm", onClick: () => onEvent({ type: "ON_RETRY" }), children: "Try again" })
|
|
10110
9924
|
]
|
|
10111
9925
|
}
|
|
10112
9926
|
);
|
|
10113
9927
|
case "ready":
|
|
10114
|
-
return /* @__PURE__ */
|
|
9928
|
+
return /* @__PURE__ */ jsx57("div", { className: cn("clcosdk:w-full", className), children: /* @__PURE__ */ jsx57(
|
|
10115
9929
|
SumsubWebSdk,
|
|
10116
9930
|
{
|
|
10117
9931
|
accessToken: state.accessToken,
|
|
@@ -10151,25 +9965,25 @@ function toError(error) {
|
|
|
10151
9965
|
}
|
|
10152
9966
|
|
|
10153
9967
|
// src/client/hooks/requirements/identity-verification/useIdentityVerificationViewModel.ts
|
|
10154
|
-
import { useCallback as
|
|
9968
|
+
import { useCallback as useCallback8, useEffect as useEffect22, useMemo as useMemo7, useRef as useRef15 } from "react";
|
|
10155
9969
|
|
|
10156
9970
|
// src/client/hooks/requirements/data/useKycToken.ts
|
|
10157
|
-
import { useCallback as
|
|
9971
|
+
import { useCallback as useCallback7, useEffect as useEffect21, useRef as useRef14, useState as useState26 } from "react";
|
|
10158
9972
|
var IDLE_STATE = { type: "IDLE" };
|
|
10159
|
-
var
|
|
9973
|
+
var LOADING_STATE4 = { type: "LOADING" };
|
|
10160
9974
|
function useKycToken(levelName, reset) {
|
|
10161
9975
|
const { coinlist } = useCoinList();
|
|
10162
9976
|
const log = useLogger("useKycToken");
|
|
10163
|
-
const [kycTokenState, setKycTokenState] =
|
|
9977
|
+
const [kycTokenState, setKycTokenState] = useState26(IDLE_STATE);
|
|
10164
9978
|
const resetPendingRef = useRef14(reset === true);
|
|
10165
9979
|
const tokenIssuedRef = useRef14(false);
|
|
10166
|
-
|
|
9980
|
+
useEffect21(() => {
|
|
10167
9981
|
if (!tokenIssuedRef.current) {
|
|
10168
9982
|
resetPendingRef.current = reset === true;
|
|
10169
9983
|
}
|
|
10170
9984
|
}, [reset]);
|
|
10171
|
-
const fetchToken =
|
|
10172
|
-
setKycTokenState(
|
|
9985
|
+
const fetchToken = useCallback7(async () => {
|
|
9986
|
+
setKycTokenState(LOADING_STATE4);
|
|
10173
9987
|
try {
|
|
10174
9988
|
const kycToken = await coinlist.requirements.createKycToken({
|
|
10175
9989
|
levelName,
|
|
@@ -10203,7 +10017,7 @@ function useIdentityVerificationViewModel(options = {}) {
|
|
|
10203
10017
|
const { levelName, reset, locale, onSubmitted, onError } = options;
|
|
10204
10018
|
const { kycTokenState, fetchToken } = useKycToken(levelName, reset);
|
|
10205
10019
|
const fetchedRef = useRef15(false);
|
|
10206
|
-
|
|
10020
|
+
useEffect22(() => {
|
|
10207
10021
|
if (fetchedRef.current) {
|
|
10208
10022
|
return;
|
|
10209
10023
|
}
|
|
@@ -10237,7 +10051,7 @@ function useIdentityVerificationViewModel(options = {}) {
|
|
|
10237
10051
|
}
|
|
10238
10052
|
}
|
|
10239
10053
|
}, [kycTokenState, locale, fetchToken]);
|
|
10240
|
-
const onEvent =
|
|
10054
|
+
const onEvent = useCallback8(
|
|
10241
10055
|
(event) => {
|
|
10242
10056
|
switch (event.type) {
|
|
10243
10057
|
case "ON_RETRY":
|
|
@@ -10262,7 +10076,7 @@ function useIdentityVerificationViewModel(options = {}) {
|
|
|
10262
10076
|
}
|
|
10263
10077
|
|
|
10264
10078
|
// src/client/components/requirements/identity-verification/IdentityVerificationContainer.tsx
|
|
10265
|
-
import { jsx as
|
|
10079
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
10266
10080
|
function IdentityVerificationContainer({
|
|
10267
10081
|
levelName,
|
|
10268
10082
|
reset,
|
|
@@ -10278,7 +10092,7 @@ function IdentityVerificationContainer({
|
|
|
10278
10092
|
onSubmitted,
|
|
10279
10093
|
onError
|
|
10280
10094
|
});
|
|
10281
|
-
return /* @__PURE__ */
|
|
10095
|
+
return /* @__PURE__ */ jsx58(
|
|
10282
10096
|
IdentityVerificationView,
|
|
10283
10097
|
{
|
|
10284
10098
|
state,
|
|
@@ -10293,7 +10107,7 @@ import { ChevronRight } from "lucide-react";
|
|
|
10293
10107
|
|
|
10294
10108
|
// src/client/components/design-system/StepStatusIcon.tsx
|
|
10295
10109
|
import { CircleCheck as CircleCheck2, CircleX, Info as Info5 } from "lucide-react";
|
|
10296
|
-
import { jsx as
|
|
10110
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
10297
10111
|
var statusConfig = {
|
|
10298
10112
|
required: {
|
|
10299
10113
|
Icon: Info5,
|
|
@@ -10318,7 +10132,7 @@ var statusConfig = {
|
|
|
10318
10132
|
};
|
|
10319
10133
|
function StepStatusIcon({ status, className }) {
|
|
10320
10134
|
const { Icon, colorClass, fillClass } = statusConfig[status];
|
|
10321
|
-
return /* @__PURE__ */
|
|
10135
|
+
return /* @__PURE__ */ jsx59(
|
|
10322
10136
|
Icon,
|
|
10323
10137
|
{
|
|
10324
10138
|
className: cn(
|
|
@@ -10333,7 +10147,7 @@ function StepStatusIcon({ status, className }) {
|
|
|
10333
10147
|
}
|
|
10334
10148
|
|
|
10335
10149
|
// src/client/components/requirements/RequirementItem.tsx
|
|
10336
|
-
import { Fragment as
|
|
10150
|
+
import { Fragment as Fragment9, jsx as jsx60, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
10337
10151
|
function VerificationActionZone({
|
|
10338
10152
|
status,
|
|
10339
10153
|
onAction,
|
|
@@ -10342,9 +10156,9 @@ function VerificationActionZone({
|
|
|
10342
10156
|
switch (status) {
|
|
10343
10157
|
case "required":
|
|
10344
10158
|
if (onAction === null) return null;
|
|
10345
|
-
return /* @__PURE__ */
|
|
10159
|
+
return /* @__PURE__ */ jsx60(ClButton, { size: "sm", onClick: onAction, children: "Continue" });
|
|
10346
10160
|
case "pending":
|
|
10347
|
-
return /* @__PURE__ */
|
|
10161
|
+
return /* @__PURE__ */ jsx60(
|
|
10348
10162
|
AlertBanner,
|
|
10349
10163
|
{
|
|
10350
10164
|
variant: "warning",
|
|
@@ -10352,16 +10166,16 @@ function VerificationActionZone({
|
|
|
10352
10166
|
}
|
|
10353
10167
|
);
|
|
10354
10168
|
case "completed":
|
|
10355
|
-
return /* @__PURE__ */
|
|
10169
|
+
return /* @__PURE__ */ jsx60(AlertBanner, { variant: "success", content: "Identity verified." });
|
|
10356
10170
|
case "rejected":
|
|
10357
|
-
return /* @__PURE__ */
|
|
10171
|
+
return /* @__PURE__ */ jsx60(
|
|
10358
10172
|
AlertBanner,
|
|
10359
10173
|
{
|
|
10360
10174
|
variant: "error",
|
|
10361
|
-
content: onContactSupport === null ? "Verification rejected." : /* @__PURE__ */
|
|
10175
|
+
content: onContactSupport === null ? "Verification rejected." : /* @__PURE__ */ jsxs42(Fragment9, { children: [
|
|
10362
10176
|
"Verification rejected.",
|
|
10363
10177
|
" ",
|
|
10364
|
-
/* @__PURE__ */
|
|
10178
|
+
/* @__PURE__ */ jsx60(
|
|
10365
10179
|
"button",
|
|
10366
10180
|
{
|
|
10367
10181
|
type: "button",
|
|
@@ -10385,8 +10199,8 @@ function WalletActionZone({
|
|
|
10385
10199
|
onRemoveWallet
|
|
10386
10200
|
}) {
|
|
10387
10201
|
if (multiWallet) {
|
|
10388
|
-
return /* @__PURE__ */
|
|
10389
|
-
/* @__PURE__ */
|
|
10202
|
+
return /* @__PURE__ */ jsxs42(Fragment9, { children: [
|
|
10203
|
+
/* @__PURE__ */ jsx60(
|
|
10390
10204
|
ConnectedWalletList,
|
|
10391
10205
|
{
|
|
10392
10206
|
wallets: connectedWallets,
|
|
@@ -10395,7 +10209,7 @@ function WalletActionZone({
|
|
|
10395
10209
|
status: walletsStatus
|
|
10396
10210
|
}
|
|
10397
10211
|
),
|
|
10398
|
-
status === "rejected" && /* @__PURE__ */
|
|
10212
|
+
status === "rejected" && /* @__PURE__ */ jsx60(
|
|
10399
10213
|
AlertBanner,
|
|
10400
10214
|
{
|
|
10401
10215
|
variant: "error",
|
|
@@ -10406,21 +10220,21 @@ function WalletActionZone({
|
|
|
10406
10220
|
}
|
|
10407
10221
|
if (status === "completed") {
|
|
10408
10222
|
const connected = connectedWallets[0];
|
|
10409
|
-
return /* @__PURE__ */
|
|
10410
|
-
onAction !== null && /* @__PURE__ */
|
|
10411
|
-
walletsStatus === "loading" ? /* @__PURE__ */
|
|
10223
|
+
return /* @__PURE__ */ jsxs42(Fragment9, { children: [
|
|
10224
|
+
onAction !== null && /* @__PURE__ */ jsx60(ClButton, { size: "sm", variant: "secondary", onClick: onAction, children: "Change wallet" }),
|
|
10225
|
+
walletsStatus === "loading" ? /* @__PURE__ */ jsx60(
|
|
10412
10226
|
AlertBanner,
|
|
10413
10227
|
{
|
|
10414
10228
|
variant: "info",
|
|
10415
10229
|
content: "Loading your connected wallet\u2026"
|
|
10416
10230
|
}
|
|
10417
|
-
) : walletsStatus === "error" ? /* @__PURE__ */
|
|
10231
|
+
) : walletsStatus === "error" ? /* @__PURE__ */ jsx60(
|
|
10418
10232
|
AlertBanner,
|
|
10419
10233
|
{
|
|
10420
10234
|
variant: "error",
|
|
10421
10235
|
content: "Couldn't load your connected wallet."
|
|
10422
10236
|
}
|
|
10423
|
-
) : /* @__PURE__ */
|
|
10237
|
+
) : /* @__PURE__ */ jsx60(
|
|
10424
10238
|
AlertBanner,
|
|
10425
10239
|
{
|
|
10426
10240
|
variant: "success",
|
|
@@ -10430,9 +10244,9 @@ function WalletActionZone({
|
|
|
10430
10244
|
] });
|
|
10431
10245
|
}
|
|
10432
10246
|
if (status === "rejected") {
|
|
10433
|
-
return /* @__PURE__ */
|
|
10434
|
-
onAction !== null && /* @__PURE__ */
|
|
10435
|
-
/* @__PURE__ */
|
|
10247
|
+
return /* @__PURE__ */ jsxs42(Fragment9, { children: [
|
|
10248
|
+
onAction !== null && /* @__PURE__ */ jsx60(ClButton, { size: "sm", onClick: onAction, children: "Connect wallet" }),
|
|
10249
|
+
/* @__PURE__ */ jsx60(
|
|
10436
10250
|
AlertBanner,
|
|
10437
10251
|
{
|
|
10438
10252
|
variant: "error",
|
|
@@ -10442,7 +10256,7 @@ function WalletActionZone({
|
|
|
10442
10256
|
] });
|
|
10443
10257
|
}
|
|
10444
10258
|
if (onAction === null) return null;
|
|
10445
|
-
return /* @__PURE__ */
|
|
10259
|
+
return /* @__PURE__ */ jsx60(ClButton, { size: "sm", onClick: onAction, children: "Connect wallet" });
|
|
10446
10260
|
}
|
|
10447
10261
|
function RequirementItem({
|
|
10448
10262
|
ui,
|
|
@@ -10454,7 +10268,7 @@ function RequirementItem({
|
|
|
10454
10268
|
walletsStatus,
|
|
10455
10269
|
onContactSupport
|
|
10456
10270
|
}) {
|
|
10457
|
-
return /* @__PURE__ */
|
|
10271
|
+
return /* @__PURE__ */ jsx60(CoinListStyleScope, { children: /* @__PURE__ */ jsxs42(
|
|
10458
10272
|
"div",
|
|
10459
10273
|
{
|
|
10460
10274
|
className: cn(
|
|
@@ -10462,7 +10276,7 @@ function RequirementItem({
|
|
|
10462
10276
|
className
|
|
10463
10277
|
),
|
|
10464
10278
|
children: [
|
|
10465
|
-
/* @__PURE__ */
|
|
10279
|
+
/* @__PURE__ */ jsxs42(
|
|
10466
10280
|
"button",
|
|
10467
10281
|
{
|
|
10468
10282
|
type: "button",
|
|
@@ -10470,9 +10284,9 @@ function RequirementItem({
|
|
|
10470
10284
|
"aria-expanded": expanded,
|
|
10471
10285
|
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",
|
|
10472
10286
|
children: [
|
|
10473
|
-
/* @__PURE__ */
|
|
10474
|
-
/* @__PURE__ */
|
|
10475
|
-
/* @__PURE__ */
|
|
10287
|
+
/* @__PURE__ */ jsxs42("div", { className: "clcosdk:flex clcosdk:items-center clcosdk:gap-3", children: [
|
|
10288
|
+
/* @__PURE__ */ jsx60(StepStatusIcon, { status: ui.status }),
|
|
10289
|
+
/* @__PURE__ */ jsx60(
|
|
10476
10290
|
"span",
|
|
10477
10291
|
{
|
|
10478
10292
|
className: cn(
|
|
@@ -10483,7 +10297,7 @@ function RequirementItem({
|
|
|
10483
10297
|
}
|
|
10484
10298
|
)
|
|
10485
10299
|
] }),
|
|
10486
|
-
/* @__PURE__ */
|
|
10300
|
+
/* @__PURE__ */ jsx60(
|
|
10487
10301
|
ChevronRight,
|
|
10488
10302
|
{
|
|
10489
10303
|
className: cn(
|
|
@@ -10496,15 +10310,15 @@ function RequirementItem({
|
|
|
10496
10310
|
]
|
|
10497
10311
|
}
|
|
10498
10312
|
),
|
|
10499
|
-
/* @__PURE__ */
|
|
10313
|
+
/* @__PURE__ */ jsx60(
|
|
10500
10314
|
"div",
|
|
10501
10315
|
{
|
|
10502
10316
|
className: cn(
|
|
10503
10317
|
"clcosdk:grid clcosdk:transition-[grid-template-rows] clcosdk:duration-300 clcosdk:ease-in-out",
|
|
10504
10318
|
expanded ? "clcosdk:grid-rows-[1fr]" : "clcosdk:grid-rows-[0fr]"
|
|
10505
10319
|
),
|
|
10506
|
-
children: /* @__PURE__ */
|
|
10507
|
-
/* @__PURE__ */
|
|
10320
|
+
children: /* @__PURE__ */ jsx60("div", { className: "clcosdk:min-h-0 clcosdk:overflow-hidden", children: /* @__PURE__ */ jsxs42("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4 clcosdk:px-2 clcosdk:pb-4", children: [
|
|
10321
|
+
/* @__PURE__ */ jsx60(
|
|
10508
10322
|
"p",
|
|
10509
10323
|
{
|
|
10510
10324
|
className: cn(
|
|
@@ -10514,14 +10328,14 @@ function RequirementItem({
|
|
|
10514
10328
|
children: ui.description
|
|
10515
10329
|
}
|
|
10516
10330
|
),
|
|
10517
|
-
ui.variant === "verification" ? /* @__PURE__ */
|
|
10331
|
+
ui.variant === "verification" ? /* @__PURE__ */ jsx60(
|
|
10518
10332
|
VerificationActionZone,
|
|
10519
10333
|
{
|
|
10520
10334
|
status: ui.status,
|
|
10521
10335
|
onAction,
|
|
10522
10336
|
onContactSupport
|
|
10523
10337
|
}
|
|
10524
|
-
) : /* @__PURE__ */
|
|
10338
|
+
) : /* @__PURE__ */ jsx60(
|
|
10525
10339
|
WalletActionZone,
|
|
10526
10340
|
{
|
|
10527
10341
|
status: ui.status,
|
|
@@ -10541,9 +10355,9 @@ function RequirementItem({
|
|
|
10541
10355
|
}
|
|
10542
10356
|
|
|
10543
10357
|
// src/client/components/requirements/RequirementsChecklistView.tsx
|
|
10544
|
-
import { jsx as
|
|
10358
|
+
import { jsx as jsx61, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
10545
10359
|
function RequirementsChecklistView(props) {
|
|
10546
|
-
return /* @__PURE__ */
|
|
10360
|
+
return /* @__PURE__ */ jsx61(CoinListStyleScope, { children: /* @__PURE__ */ jsx61(RequirementsChecklistViewBody, { ...props }) });
|
|
10547
10361
|
}
|
|
10548
10362
|
function RequirementsChecklistViewBody({
|
|
10549
10363
|
state,
|
|
@@ -10555,11 +10369,11 @@ function RequirementsChecklistViewBody({
|
|
|
10555
10369
|
}) {
|
|
10556
10370
|
switch (state.type) {
|
|
10557
10371
|
case "loading":
|
|
10558
|
-
return loading ?? /* @__PURE__ */
|
|
10372
|
+
return loading ?? /* @__PURE__ */ jsx61(LoadingState2, {});
|
|
10559
10373
|
case "not-authenticated":
|
|
10560
10374
|
return unauthenticatedState ?? null;
|
|
10561
10375
|
case "error":
|
|
10562
|
-
return error ?? /* @__PURE__ */
|
|
10376
|
+
return error ?? /* @__PURE__ */ jsx61(
|
|
10563
10377
|
AlertBanner,
|
|
10564
10378
|
{
|
|
10565
10379
|
variant: "error",
|
|
@@ -10569,7 +10383,7 @@ function RequirementsChecklistViewBody({
|
|
|
10569
10383
|
}
|
|
10570
10384
|
);
|
|
10571
10385
|
case "content":
|
|
10572
|
-
return /* @__PURE__ */
|
|
10386
|
+
return /* @__PURE__ */ jsxs43(
|
|
10573
10387
|
"div",
|
|
10574
10388
|
{
|
|
10575
10389
|
className: cn(
|
|
@@ -10577,11 +10391,11 @@ function RequirementsChecklistViewBody({
|
|
|
10577
10391
|
className
|
|
10578
10392
|
),
|
|
10579
10393
|
children: [
|
|
10580
|
-
/* @__PURE__ */
|
|
10581
|
-
/* @__PURE__ */
|
|
10582
|
-
/* @__PURE__ */
|
|
10394
|
+
/* @__PURE__ */ jsxs43("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
|
|
10395
|
+
/* @__PURE__ */ jsx61("h3", { className: cn(typeClasses.h3, "clcosdk:text-text-primary"), children: state.title }),
|
|
10396
|
+
/* @__PURE__ */ jsx61("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: state.description })
|
|
10583
10397
|
] }),
|
|
10584
|
-
/* @__PURE__ */
|
|
10398
|
+
/* @__PURE__ */ jsx61("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:divide-y clcosdk:divide-divider", children: state.items.map((row) => /* @__PURE__ */ jsx61(
|
|
10585
10399
|
RequirementItem,
|
|
10586
10400
|
{
|
|
10587
10401
|
ui: row.item,
|
|
@@ -10600,7 +10414,7 @@ function RequirementsChecklistViewBody({
|
|
|
10600
10414
|
},
|
|
10601
10415
|
row.id
|
|
10602
10416
|
)) }),
|
|
10603
|
-
state.ineligible && /* @__PURE__ */
|
|
10417
|
+
state.ineligible && /* @__PURE__ */ jsx61(
|
|
10604
10418
|
AlertBanner,
|
|
10605
10419
|
{
|
|
10606
10420
|
variant: "error",
|
|
@@ -10608,7 +10422,7 @@ function RequirementsChecklistViewBody({
|
|
|
10608
10422
|
content: "You are not eligible to participate."
|
|
10609
10423
|
}
|
|
10610
10424
|
),
|
|
10611
|
-
state.continueAction && /* @__PURE__ */
|
|
10425
|
+
state.continueAction && /* @__PURE__ */ jsx61(
|
|
10612
10426
|
ClButton,
|
|
10613
10427
|
{
|
|
10614
10428
|
fullWidth: true,
|
|
@@ -10627,18 +10441,18 @@ function RequirementsChecklistViewBody({
|
|
|
10627
10441
|
}
|
|
10628
10442
|
}
|
|
10629
10443
|
function LoadingState2() {
|
|
10630
|
-
return /* @__PURE__ */
|
|
10444
|
+
return /* @__PURE__ */ jsx61(
|
|
10631
10445
|
"output",
|
|
10632
10446
|
{
|
|
10633
10447
|
"aria-live": "polite",
|
|
10634
10448
|
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",
|
|
10635
|
-
children: /* @__PURE__ */
|
|
10449
|
+
children: /* @__PURE__ */ jsx61("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Loading requirements..." })
|
|
10636
10450
|
}
|
|
10637
10451
|
);
|
|
10638
10452
|
}
|
|
10639
10453
|
|
|
10640
10454
|
// src/client/components/requirements/tax-document/TaxDocumentModalView.tsx
|
|
10641
|
-
import { jsx as
|
|
10455
|
+
import { jsx as jsx62, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
10642
10456
|
function TaxDocumentModalView({
|
|
10643
10457
|
state,
|
|
10644
10458
|
onEvent,
|
|
@@ -10647,7 +10461,7 @@ function TaxDocumentModalView({
|
|
|
10647
10461
|
if (state.type === "hidden") {
|
|
10648
10462
|
return null;
|
|
10649
10463
|
}
|
|
10650
|
-
return /* @__PURE__ */
|
|
10464
|
+
return /* @__PURE__ */ jsx62(CoinListStyleScope, { children: /* @__PURE__ */ jsx62("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__ */ jsxs44(
|
|
10651
10465
|
"div",
|
|
10652
10466
|
{
|
|
10653
10467
|
className: cn(
|
|
@@ -10655,11 +10469,11 @@ function TaxDocumentModalView({
|
|
|
10655
10469
|
className
|
|
10656
10470
|
),
|
|
10657
10471
|
children: [
|
|
10658
|
-
/* @__PURE__ */
|
|
10659
|
-
/* @__PURE__ */
|
|
10660
|
-
/* @__PURE__ */
|
|
10472
|
+
/* @__PURE__ */ jsxs44("div", { className: "clcosdk:flex clcosdk:items-start clcosdk:justify-between clcosdk:gap-4", children: [
|
|
10473
|
+
/* @__PURE__ */ jsx62("h3", { className: cn(typeClasses.h3, "clcosdk:text-text-primary"), children: state.title }),
|
|
10474
|
+
/* @__PURE__ */ jsx62(CloseButton, { onClick: () => onEvent({ type: "ON_CLOSE" }) })
|
|
10661
10475
|
] }),
|
|
10662
|
-
/* @__PURE__ */
|
|
10476
|
+
/* @__PURE__ */ jsx62(Screen, { screen: state.screen, onEvent })
|
|
10663
10477
|
]
|
|
10664
10478
|
}
|
|
10665
10479
|
) }) });
|
|
@@ -10670,11 +10484,11 @@ function Screen({
|
|
|
10670
10484
|
}) {
|
|
10671
10485
|
switch (screen.type) {
|
|
10672
10486
|
case "loading":
|
|
10673
|
-
return /* @__PURE__ */
|
|
10487
|
+
return /* @__PURE__ */ jsx62(LoadingScreen, {});
|
|
10674
10488
|
case "error":
|
|
10675
|
-
return /* @__PURE__ */
|
|
10489
|
+
return /* @__PURE__ */ jsx62(AlertBanner, { variant: "error", icon: true, content: screen.message });
|
|
10676
10490
|
case "review":
|
|
10677
|
-
return /* @__PURE__ */
|
|
10491
|
+
return /* @__PURE__ */ jsx62(
|
|
10678
10492
|
ReviewScreen,
|
|
10679
10493
|
{
|
|
10680
10494
|
fields: screen.fields,
|
|
@@ -10685,9 +10499,9 @@ function Screen({
|
|
|
10685
10499
|
}
|
|
10686
10500
|
);
|
|
10687
10501
|
case "editing":
|
|
10688
|
-
return /* @__PURE__ */
|
|
10502
|
+
return /* @__PURE__ */ jsx62(EditScreen, { fields: screen.fields, onEvent });
|
|
10689
10503
|
case "sign-only":
|
|
10690
|
-
return /* @__PURE__ */
|
|
10504
|
+
return /* @__PURE__ */ jsx62(
|
|
10691
10505
|
SignOnlyScreen,
|
|
10692
10506
|
{
|
|
10693
10507
|
signing: screen.signing,
|
|
@@ -10702,14 +10516,14 @@ function Screen({
|
|
|
10702
10516
|
}
|
|
10703
10517
|
}
|
|
10704
10518
|
function LoadingScreen() {
|
|
10705
|
-
return /* @__PURE__ */
|
|
10519
|
+
return /* @__PURE__ */ jsx62(
|
|
10706
10520
|
"output",
|
|
10707
10521
|
{
|
|
10708
10522
|
"aria-live": "polite",
|
|
10709
10523
|
className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-4",
|
|
10710
|
-
children: [0, 1, 2, 3, 4].map((row) => /* @__PURE__ */
|
|
10711
|
-
/* @__PURE__ */
|
|
10712
|
-
/* @__PURE__ */
|
|
10524
|
+
children: [0, 1, 2, 3, 4].map((row) => /* @__PURE__ */ jsxs44("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1", children: [
|
|
10525
|
+
/* @__PURE__ */ jsx62("div", { className: "clcosdk:h-3 clcosdk:w-28 clcosdk:animate-pulse clcosdk:rounded clcosdk:bg-surface" }),
|
|
10526
|
+
/* @__PURE__ */ jsx62("div", { className: "clcosdk:h-5 clcosdk:w-48 clcosdk:animate-pulse clcosdk:rounded clcosdk:bg-surface" })
|
|
10713
10527
|
] }, row))
|
|
10714
10528
|
}
|
|
10715
10529
|
);
|
|
@@ -10721,9 +10535,9 @@ function ReviewScreen({
|
|
|
10721
10535
|
signError,
|
|
10722
10536
|
onEvent
|
|
10723
10537
|
}) {
|
|
10724
|
-
return /* @__PURE__ */
|
|
10725
|
-
/* @__PURE__ */
|
|
10726
|
-
piiUnavailable && /* @__PURE__ */
|
|
10538
|
+
return /* @__PURE__ */ jsxs44("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
|
|
10539
|
+
/* @__PURE__ */ jsx62("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Review your information below. If anything looks incorrect, edit before signing." }),
|
|
10540
|
+
piiUnavailable && /* @__PURE__ */ jsx62(
|
|
10727
10541
|
AlertBanner,
|
|
10728
10542
|
{
|
|
10729
10543
|
variant: "info",
|
|
@@ -10731,27 +10545,27 @@ function ReviewScreen({
|
|
|
10731
10545
|
content: "We don't have this information on file yet \u2014 please fill it in below."
|
|
10732
10546
|
}
|
|
10733
10547
|
),
|
|
10734
|
-
/* @__PURE__ */
|
|
10548
|
+
/* @__PURE__ */ jsx62("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__ */ jsxs44(
|
|
10735
10549
|
"div",
|
|
10736
10550
|
{
|
|
10737
10551
|
className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1",
|
|
10738
10552
|
children: [
|
|
10739
|
-
/* @__PURE__ */
|
|
10553
|
+
/* @__PURE__ */ jsx62(
|
|
10740
10554
|
"span",
|
|
10741
10555
|
{
|
|
10742
10556
|
className: cn(typeClasses.label, "clcosdk:text-text-secondary"),
|
|
10743
10557
|
children: label
|
|
10744
10558
|
}
|
|
10745
10559
|
),
|
|
10746
|
-
/* @__PURE__ */
|
|
10560
|
+
/* @__PURE__ */ jsx62("span", { className: cn(typeClasses.body, "clcosdk:text-text-primary"), children: displayValue })
|
|
10747
10561
|
]
|
|
10748
10562
|
},
|
|
10749
10563
|
field
|
|
10750
10564
|
)) }),
|
|
10751
|
-
/* @__PURE__ */
|
|
10752
|
-
signError && /* @__PURE__ */
|
|
10753
|
-
/* @__PURE__ */
|
|
10754
|
-
/* @__PURE__ */
|
|
10565
|
+
/* @__PURE__ */ jsx62("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." }),
|
|
10566
|
+
signError && /* @__PURE__ */ jsx62(AlertBanner, { variant: "error", icon: true, content: signError }),
|
|
10567
|
+
/* @__PURE__ */ jsxs44("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
|
|
10568
|
+
/* @__PURE__ */ jsx62(
|
|
10755
10569
|
ClButton,
|
|
10756
10570
|
{
|
|
10757
10571
|
fullWidth: true,
|
|
@@ -10761,7 +10575,7 @@ function ReviewScreen({
|
|
|
10761
10575
|
children: "Sign W-8BEN"
|
|
10762
10576
|
}
|
|
10763
10577
|
),
|
|
10764
|
-
/* @__PURE__ */
|
|
10578
|
+
/* @__PURE__ */ jsx62(
|
|
10765
10579
|
ClButton,
|
|
10766
10580
|
{
|
|
10767
10581
|
fullWidth: true,
|
|
@@ -10778,20 +10592,20 @@ function EditScreen({
|
|
|
10778
10592
|
fields,
|
|
10779
10593
|
onEvent
|
|
10780
10594
|
}) {
|
|
10781
|
-
return /* @__PURE__ */
|
|
10782
|
-
/* @__PURE__ */
|
|
10595
|
+
return /* @__PURE__ */ jsxs44("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
|
|
10596
|
+
/* @__PURE__ */ jsx62("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__ */ jsxs44(
|
|
10783
10597
|
"label",
|
|
10784
10598
|
{
|
|
10785
10599
|
className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1",
|
|
10786
10600
|
children: [
|
|
10787
|
-
/* @__PURE__ */
|
|
10601
|
+
/* @__PURE__ */ jsx62(
|
|
10788
10602
|
"span",
|
|
10789
10603
|
{
|
|
10790
10604
|
className: cn(typeClasses.label, "clcosdk:text-text-secondary"),
|
|
10791
10605
|
children: label
|
|
10792
10606
|
}
|
|
10793
10607
|
),
|
|
10794
|
-
/* @__PURE__ */
|
|
10608
|
+
/* @__PURE__ */ jsx62(
|
|
10795
10609
|
"input",
|
|
10796
10610
|
{
|
|
10797
10611
|
type: "text",
|
|
@@ -10812,9 +10626,9 @@ function EditScreen({
|
|
|
10812
10626
|
},
|
|
10813
10627
|
field
|
|
10814
10628
|
)) }),
|
|
10815
|
-
/* @__PURE__ */
|
|
10816
|
-
/* @__PURE__ */
|
|
10817
|
-
/* @__PURE__ */
|
|
10629
|
+
/* @__PURE__ */ jsxs44("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-2", children: [
|
|
10630
|
+
/* @__PURE__ */ jsx62(ClButton, { fullWidth: true, onClick: () => onEvent({ type: "ON_SAVE_EDIT" }), children: "Save & review" }),
|
|
10631
|
+
/* @__PURE__ */ jsx62(
|
|
10818
10632
|
ClButton,
|
|
10819
10633
|
{
|
|
10820
10634
|
fullWidth: true,
|
|
@@ -10831,10 +10645,10 @@ function SignOnlyScreen({
|
|
|
10831
10645
|
signError,
|
|
10832
10646
|
onEvent
|
|
10833
10647
|
}) {
|
|
10834
|
-
return /* @__PURE__ */
|
|
10835
|
-
/* @__PURE__ */
|
|
10836
|
-
signError && /* @__PURE__ */
|
|
10837
|
-
/* @__PURE__ */
|
|
10648
|
+
return /* @__PURE__ */ jsxs44("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
|
|
10649
|
+
/* @__PURE__ */ jsx62("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." }),
|
|
10650
|
+
signError && /* @__PURE__ */ jsx62(AlertBanner, { variant: "error", icon: true, content: signError }),
|
|
10651
|
+
/* @__PURE__ */ jsx62(
|
|
10838
10652
|
ClButton,
|
|
10839
10653
|
{
|
|
10840
10654
|
fullWidth: true,
|
|
@@ -10848,12 +10662,12 @@ function SignOnlyScreen({
|
|
|
10848
10662
|
}
|
|
10849
10663
|
|
|
10850
10664
|
// src/client/hooks/requirements/tax-document/useTaxDocumentModalViewModel.ts
|
|
10851
|
-
import { useCallback as
|
|
10665
|
+
import { useCallback as useCallback10, useEffect as useEffect24, useMemo as useMemo8 } from "react";
|
|
10852
10666
|
|
|
10853
10667
|
// src/client/hooks/requirements/data/useTaxDocument.ts
|
|
10854
|
-
import { useCallback as
|
|
10668
|
+
import { useCallback as useCallback9, useEffect as useEffect23, useState as useState27 } from "react";
|
|
10855
10669
|
var IDLE_SIGN = { type: "idle", error: null };
|
|
10856
|
-
var
|
|
10670
|
+
var LOADING_STATE5 = { type: "LOADING" };
|
|
10857
10671
|
var SIGN_FAILED_MESSAGE = "Unable to sign document. Please try again.";
|
|
10858
10672
|
var DOB_INVALID_MESSAGE = "Enter your date of birth as MM/DD/YYYY.";
|
|
10859
10673
|
var FIELD_KEYS = {
|
|
@@ -10926,8 +10740,8 @@ function useTaxDocument({
|
|
|
10926
10740
|
}) {
|
|
10927
10741
|
const { coinlist, isReady } = useCoinList();
|
|
10928
10742
|
const log = useLogger("useTaxDocument");
|
|
10929
|
-
const [state, setState] =
|
|
10930
|
-
|
|
10743
|
+
const [state, setState] = useState27(LOADING_STATE5);
|
|
10744
|
+
useEffect23(() => {
|
|
10931
10745
|
let isCancelled = false;
|
|
10932
10746
|
if (!isOpen) {
|
|
10933
10747
|
return () => {
|
|
@@ -10935,12 +10749,12 @@ function useTaxDocument({
|
|
|
10935
10749
|
};
|
|
10936
10750
|
}
|
|
10937
10751
|
if (!isReady) {
|
|
10938
|
-
setState(
|
|
10752
|
+
setState(LOADING_STATE5);
|
|
10939
10753
|
return () => {
|
|
10940
10754
|
isCancelled = true;
|
|
10941
10755
|
};
|
|
10942
10756
|
}
|
|
10943
|
-
setState(
|
|
10757
|
+
setState(LOADING_STATE5);
|
|
10944
10758
|
coinlist.requirements.getPii().then((pii) => {
|
|
10945
10759
|
if (isCancelled) return;
|
|
10946
10760
|
if (pii.kind === "company") {
|
|
@@ -10968,7 +10782,7 @@ function useTaxDocument({
|
|
|
10968
10782
|
isCancelled = true;
|
|
10969
10783
|
};
|
|
10970
10784
|
}, [coinlist, isReady, isOpen, log]);
|
|
10971
|
-
const onEditField =
|
|
10785
|
+
const onEditField = useCallback9(
|
|
10972
10786
|
(field, value) => {
|
|
10973
10787
|
setState(
|
|
10974
10788
|
(prev) => prev.type === "EDITING" ? { ...prev, fields: { ...prev.fields, [field]: value } } : prev
|
|
@@ -10976,7 +10790,7 @@ function useTaxDocument({
|
|
|
10976
10790
|
},
|
|
10977
10791
|
[]
|
|
10978
10792
|
);
|
|
10979
|
-
const onStartEdit =
|
|
10793
|
+
const onStartEdit = useCallback9(() => {
|
|
10980
10794
|
setState(
|
|
10981
10795
|
(prev) => prev.type === "REVIEW" ? {
|
|
10982
10796
|
type: "EDITING",
|
|
@@ -10987,7 +10801,7 @@ function useTaxDocument({
|
|
|
10987
10801
|
} : prev
|
|
10988
10802
|
);
|
|
10989
10803
|
}, []);
|
|
10990
|
-
const onSaveEdit =
|
|
10804
|
+
const onSaveEdit = useCallback9(() => {
|
|
10991
10805
|
setState(
|
|
10992
10806
|
(prev) => prev.type === "EDITING" ? {
|
|
10993
10807
|
type: "REVIEW",
|
|
@@ -10998,7 +10812,7 @@ function useTaxDocument({
|
|
|
10998
10812
|
} : prev
|
|
10999
10813
|
);
|
|
11000
10814
|
}, []);
|
|
11001
|
-
const onCancelEdit =
|
|
10815
|
+
const onCancelEdit = useCallback9(() => {
|
|
11002
10816
|
setState(
|
|
11003
10817
|
(prev) => prev.type === "EDITING" ? {
|
|
11004
10818
|
type: "REVIEW",
|
|
@@ -11009,7 +10823,7 @@ function useTaxDocument({
|
|
|
11009
10823
|
} : prev
|
|
11010
10824
|
);
|
|
11011
10825
|
}, []);
|
|
11012
|
-
const onSign =
|
|
10826
|
+
const onSign = useCallback9(() => {
|
|
11013
10827
|
if (state.type !== "REVIEW" && state.type !== "SIGN_ONLY") return;
|
|
11014
10828
|
if (state.type === "REVIEW" && state.fields.dob.trim() !== "" && !isValidUsDate(state.fields.dob)) {
|
|
11015
10829
|
setState({
|
|
@@ -11051,7 +10865,7 @@ function useTaxDocumentModalViewModel({
|
|
|
11051
10865
|
onSubmitted
|
|
11052
10866
|
}) {
|
|
11053
10867
|
const { state, onEditField, onStartEdit, onSaveEdit, onCancelEdit, onSign } = useTaxDocument({ isOpen });
|
|
11054
|
-
|
|
10868
|
+
useEffect24(() => {
|
|
11055
10869
|
if (state.type === "SUBMITTED") {
|
|
11056
10870
|
onSubmitted?.(state.submission);
|
|
11057
10871
|
onClose();
|
|
@@ -11063,7 +10877,7 @@ function useTaxDocumentModalViewModel({
|
|
|
11063
10877
|
}
|
|
11064
10878
|
return { type: "content", title: toTitle(state), screen: toScreen(state) };
|
|
11065
10879
|
}, [isOpen, state]);
|
|
11066
|
-
const onEvent =
|
|
10880
|
+
const onEvent = useCallback10(
|
|
11067
10881
|
(event) => {
|
|
11068
10882
|
switch (event.type) {
|
|
11069
10883
|
case "ON_CLOSE":
|
|
@@ -11146,7 +10960,7 @@ function toFieldsUi(fields) {
|
|
|
11146
10960
|
}
|
|
11147
10961
|
|
|
11148
10962
|
// src/client/components/requirements/tax-document/TaxDocumentModalContainer.tsx
|
|
11149
|
-
import { jsx as
|
|
10963
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
11150
10964
|
function TaxDocumentModalContainer({
|
|
11151
10965
|
isOpen,
|
|
11152
10966
|
onClose,
|
|
@@ -11158,7 +10972,7 @@ function TaxDocumentModalContainer({
|
|
|
11158
10972
|
onClose,
|
|
11159
10973
|
onSubmitted
|
|
11160
10974
|
});
|
|
11161
|
-
return /* @__PURE__ */
|
|
10975
|
+
return /* @__PURE__ */ jsx63(
|
|
11162
10976
|
TaxDocumentModalView,
|
|
11163
10977
|
{
|
|
11164
10978
|
state,
|
|
@@ -11169,26 +10983,26 @@ function TaxDocumentModalContainer({
|
|
|
11169
10983
|
}
|
|
11170
10984
|
|
|
11171
10985
|
// src/client/components/requirements/VerificationOverlay.tsx
|
|
11172
|
-
import { jsx as
|
|
10986
|
+
import { jsx as jsx64, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
11173
10987
|
function VerificationOverlay({
|
|
11174
10988
|
onClose,
|
|
11175
10989
|
children
|
|
11176
10990
|
}) {
|
|
11177
|
-
return /* @__PURE__ */
|
|
10991
|
+
return /* @__PURE__ */ jsx64(CoinListStyleScope, { children: /* @__PURE__ */ jsx64(VerificationOverlayBody, { onClose, children }) });
|
|
11178
10992
|
}
|
|
11179
10993
|
function VerificationOverlayBody({
|
|
11180
10994
|
onClose,
|
|
11181
10995
|
children
|
|
11182
10996
|
}) {
|
|
11183
|
-
return /* @__PURE__ */
|
|
10997
|
+
return /* @__PURE__ */ jsx64(
|
|
11184
10998
|
"div",
|
|
11185
10999
|
{
|
|
11186
11000
|
role: "dialog",
|
|
11187
11001
|
"aria-modal": "true",
|
|
11188
11002
|
"aria-label": "Identity verification",
|
|
11189
11003
|
className: "clcosdk:fixed clcosdk:inset-0 clcosdk:z-50 clcosdk:flex clcosdk:items-center clcosdk:justify-center clcosdk:bg-overlay clcosdk:p-4",
|
|
11190
|
-
children: /* @__PURE__ */
|
|
11191
|
-
/* @__PURE__ */
|
|
11004
|
+
children: /* @__PURE__ */ jsxs45("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: [
|
|
11005
|
+
/* @__PURE__ */ jsx64(
|
|
11192
11006
|
CloseButton,
|
|
11193
11007
|
{
|
|
11194
11008
|
onClick: onClose,
|
|
@@ -11203,7 +11017,7 @@ function VerificationOverlayBody({
|
|
|
11203
11017
|
|
|
11204
11018
|
// src/client/components/requirements/wallet/ConnectWalletModalView.tsx
|
|
11205
11019
|
import { useId as useId5 } from "react";
|
|
11206
|
-
import { jsx as
|
|
11020
|
+
import { jsx as jsx65, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
11207
11021
|
function ConnectWalletModalView({
|
|
11208
11022
|
state,
|
|
11209
11023
|
onEvent,
|
|
@@ -11213,7 +11027,7 @@ function ConnectWalletModalView({
|
|
|
11213
11027
|
if (state.type === "hidden") {
|
|
11214
11028
|
return null;
|
|
11215
11029
|
}
|
|
11216
|
-
return /* @__PURE__ */
|
|
11030
|
+
return /* @__PURE__ */ jsx65(CoinListStyleScope, { children: /* @__PURE__ */ jsx65("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__ */ jsxs46(
|
|
11217
11031
|
"div",
|
|
11218
11032
|
{
|
|
11219
11033
|
role: "dialog",
|
|
@@ -11224,8 +11038,8 @@ function ConnectWalletModalView({
|
|
|
11224
11038
|
className
|
|
11225
11039
|
),
|
|
11226
11040
|
children: [
|
|
11227
|
-
/* @__PURE__ */
|
|
11228
|
-
/* @__PURE__ */
|
|
11041
|
+
/* @__PURE__ */ jsxs46("div", { className: "clcosdk:flex clcosdk:items-start clcosdk:justify-between clcosdk:gap-4", children: [
|
|
11042
|
+
/* @__PURE__ */ jsx65(
|
|
11229
11043
|
"h3",
|
|
11230
11044
|
{
|
|
11231
11045
|
id: titleId,
|
|
@@ -11233,9 +11047,9 @@ function ConnectWalletModalView({
|
|
|
11233
11047
|
children: "Connect your wallet"
|
|
11234
11048
|
}
|
|
11235
11049
|
),
|
|
11236
|
-
/* @__PURE__ */
|
|
11050
|
+
/* @__PURE__ */ jsx65(CloseButton, { onClick: () => onEvent({ type: "ON_CLOSE" }) })
|
|
11237
11051
|
] }),
|
|
11238
|
-
/* @__PURE__ */
|
|
11052
|
+
/* @__PURE__ */ jsx65(
|
|
11239
11053
|
Screen2,
|
|
11240
11054
|
{
|
|
11241
11055
|
screen: state.screen,
|
|
@@ -11254,9 +11068,9 @@ function Screen2({
|
|
|
11254
11068
|
}) {
|
|
11255
11069
|
switch (screen.type) {
|
|
11256
11070
|
case "needs-wallet":
|
|
11257
|
-
return /* @__PURE__ */
|
|
11258
|
-
/* @__PURE__ */
|
|
11259
|
-
canRequestConnect && /* @__PURE__ */
|
|
11071
|
+
return /* @__PURE__ */ jsxs46("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
|
|
11072
|
+
/* @__PURE__ */ jsx65("p", { className: cn(typeClasses.body, "clcosdk:text-text-secondary"), children: "Connect an external wallet to prove ownership and bind it to this offer." }),
|
|
11073
|
+
canRequestConnect && /* @__PURE__ */ jsx65(
|
|
11260
11074
|
ClButton,
|
|
11261
11075
|
{
|
|
11262
11076
|
fullWidth: true,
|
|
@@ -11266,23 +11080,23 @@ function Screen2({
|
|
|
11266
11080
|
)
|
|
11267
11081
|
] });
|
|
11268
11082
|
case "ready":
|
|
11269
|
-
return /* @__PURE__ */
|
|
11270
|
-
/* @__PURE__ */
|
|
11271
|
-
/* @__PURE__ */
|
|
11272
|
-
/* @__PURE__ */
|
|
11083
|
+
return /* @__PURE__ */ jsxs46("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-6", children: [
|
|
11084
|
+
/* @__PURE__ */ jsx65("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." }),
|
|
11085
|
+
/* @__PURE__ */ jsxs46("div", { className: "clcosdk:flex clcosdk:flex-col clcosdk:gap-1 clcosdk:border-t clcosdk:border-divider clcosdk:pt-4", children: [
|
|
11086
|
+
/* @__PURE__ */ jsx65(
|
|
11273
11087
|
"span",
|
|
11274
11088
|
{
|
|
11275
11089
|
className: cn(typeClasses.label, "clcosdk:text-text-secondary"),
|
|
11276
11090
|
children: "Wallet address"
|
|
11277
11091
|
}
|
|
11278
11092
|
),
|
|
11279
|
-
/* @__PURE__ */
|
|
11093
|
+
/* @__PURE__ */ jsx65("span", { className: cn(typeClasses.body, "clcosdk:text-text-primary"), children: screen.shortAddress })
|
|
11280
11094
|
] }),
|
|
11281
11095
|
screen.signError && // Live region: the error is inserted async after a failed attempt,
|
|
11282
11096
|
// so screen readers need it announced rather than silently
|
|
11283
11097
|
// rendered.
|
|
11284
|
-
/* @__PURE__ */
|
|
11285
|
-
/* @__PURE__ */
|
|
11098
|
+
/* @__PURE__ */ jsx65("div", { role: "alert", children: /* @__PURE__ */ jsx65(AlertBanner, { variant: "error", icon: true, content: screen.signError }) }),
|
|
11099
|
+
/* @__PURE__ */ jsx65(
|
|
11286
11100
|
ClButton,
|
|
11287
11101
|
{
|
|
11288
11102
|
fullWidth: true,
|
|
@@ -11293,7 +11107,7 @@ function Screen2({
|
|
|
11293
11107
|
children: "Sign & connect"
|
|
11294
11108
|
}
|
|
11295
11109
|
),
|
|
11296
|
-
canRequestConnect && /* @__PURE__ */
|
|
11110
|
+
canRequestConnect && /* @__PURE__ */ jsx65(
|
|
11297
11111
|
ClButton,
|
|
11298
11112
|
{
|
|
11299
11113
|
fullWidth: true,
|
|
@@ -11312,10 +11126,10 @@ function Screen2({
|
|
|
11312
11126
|
}
|
|
11313
11127
|
|
|
11314
11128
|
// src/client/hooks/requirements/wallet/useConnectWalletModalViewModel.ts
|
|
11315
|
-
import { useCallback as
|
|
11129
|
+
import { useCallback as useCallback12, useEffect as useEffect26, useMemo as useMemo9 } from "react";
|
|
11316
11130
|
|
|
11317
11131
|
// src/client/hooks/requirements/data/useConnectWallet.ts
|
|
11318
|
-
import { useCallback as
|
|
11132
|
+
import { useCallback as useCallback11, useEffect as useEffect25, useRef as useRef16, useState as useState28 } from "react";
|
|
11319
11133
|
|
|
11320
11134
|
// src/client/core/wallets/connect-external-wallet.ts
|
|
11321
11135
|
var DEFAULT_STATEMENT = "Sign this message to prove you own this wallet. This does not cost gas or move funds.";
|
|
@@ -11446,24 +11260,24 @@ function useConnectWallet({
|
|
|
11446
11260
|
statement
|
|
11447
11261
|
}) {
|
|
11448
11262
|
const { coinlist } = useCoinList();
|
|
11449
|
-
const [state, setState] =
|
|
11263
|
+
const [state, setState] = useState28(
|
|
11450
11264
|
() => wallet ? { type: "READY", address: wallet.address, sign: IDLE_SIGN2 } : { type: "NEEDS_WALLET" }
|
|
11451
11265
|
);
|
|
11452
11266
|
const attempt = useRef16(0);
|
|
11453
|
-
|
|
11267
|
+
useEffect25(() => {
|
|
11454
11268
|
attempt.current += 1;
|
|
11455
11269
|
if (!isOpen) return;
|
|
11456
11270
|
setState(
|
|
11457
11271
|
wallet ? { type: "READY", address: wallet.address, sign: IDLE_SIGN2 } : { type: "NEEDS_WALLET" }
|
|
11458
11272
|
);
|
|
11459
11273
|
}, [isOpen, wallet?.address]);
|
|
11460
|
-
|
|
11274
|
+
useEffect25(
|
|
11461
11275
|
() => () => {
|
|
11462
11276
|
attempt.current += 1;
|
|
11463
11277
|
},
|
|
11464
11278
|
[]
|
|
11465
11279
|
);
|
|
11466
|
-
const onSign =
|
|
11280
|
+
const onSign = useCallback11(() => {
|
|
11467
11281
|
if (!wallet || state.type !== "READY") return;
|
|
11468
11282
|
attempt.current += 1;
|
|
11469
11283
|
const gen = attempt.current;
|
|
@@ -11525,7 +11339,7 @@ function useConnectWalletModalViewModel({
|
|
|
11525
11339
|
challengeType,
|
|
11526
11340
|
statement
|
|
11527
11341
|
});
|
|
11528
|
-
|
|
11342
|
+
useEffect26(() => {
|
|
11529
11343
|
if (state.type === "CONNECTED") {
|
|
11530
11344
|
onConnected?.(state.binding);
|
|
11531
11345
|
onClose();
|
|
@@ -11556,7 +11370,7 @@ function useConnectWalletModalViewModel({
|
|
|
11556
11370
|
canRequestConnect
|
|
11557
11371
|
};
|
|
11558
11372
|
}, [isOpen, state, onRequestConnect]);
|
|
11559
|
-
const onEvent =
|
|
11373
|
+
const onEvent = useCallback12(
|
|
11560
11374
|
(event) => {
|
|
11561
11375
|
switch (event.type) {
|
|
11562
11376
|
case "ON_CLOSE":
|
|
@@ -11580,13 +11394,13 @@ function useConnectWalletModalViewModel({
|
|
|
11580
11394
|
}
|
|
11581
11395
|
|
|
11582
11396
|
// src/client/components/requirements/wallet/ConnectWalletModalContainer.tsx
|
|
11583
|
-
import { jsx as
|
|
11397
|
+
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
11584
11398
|
function ConnectWalletModalContainer({
|
|
11585
11399
|
className,
|
|
11586
11400
|
...options
|
|
11587
11401
|
}) {
|
|
11588
11402
|
const { state, onEvent } = useConnectWalletModalViewModel(options);
|
|
11589
|
-
return /* @__PURE__ */
|
|
11403
|
+
return /* @__PURE__ */ jsx66(
|
|
11590
11404
|
ConnectWalletModalView,
|
|
11591
11405
|
{
|
|
11592
11406
|
state,
|
|
@@ -11597,11 +11411,11 @@ function ConnectWalletModalContainer({
|
|
|
11597
11411
|
}
|
|
11598
11412
|
|
|
11599
11413
|
// src/client/hooks/requirements/useRequirementsChecklistViewModel.ts
|
|
11600
|
-
import { useCallback as
|
|
11414
|
+
import { useCallback as useCallback15, useEffect as useEffect29, useMemo as useMemo10, useRef as useRef17, useState as useState31 } from "react";
|
|
11601
11415
|
|
|
11602
11416
|
// src/client/hooks/requirements/data/useOptionAddresses.ts
|
|
11603
|
-
import { useCallback as
|
|
11604
|
-
var
|
|
11417
|
+
import { useCallback as useCallback13, useEffect as useEffect27, useState as useState29 } from "react";
|
|
11418
|
+
var LOADING_STATE6 = { type: "LOADING" };
|
|
11605
11419
|
var EMPTY_STATE = {
|
|
11606
11420
|
type: "CONTENT",
|
|
11607
11421
|
addresses: []
|
|
@@ -11610,19 +11424,19 @@ function useOptionAddresses(offerId, offerOptionId, options = {}) {
|
|
|
11610
11424
|
const { coinlist, isReady } = useCoinList();
|
|
11611
11425
|
const log = useLogger("useOptionAddresses");
|
|
11612
11426
|
const { data, enabled = true } = options;
|
|
11613
|
-
const [addressesState, setAddressesState] =
|
|
11614
|
-
data !== void 0 ? { type: "CONTENT", addresses: data } :
|
|
11427
|
+
const [addressesState, setAddressesState] = useState29(
|
|
11428
|
+
data !== void 0 ? { type: "CONTENT", addresses: data } : LOADING_STATE6
|
|
11615
11429
|
);
|
|
11616
|
-
const [fetchKey, setFetchKey] =
|
|
11617
|
-
const refetch =
|
|
11618
|
-
const disconnect =
|
|
11430
|
+
const [fetchKey, setFetchKey] = useState29(0);
|
|
11431
|
+
const refetch = useCallback13(() => setFetchKey((k) => k + 1), []);
|
|
11432
|
+
const disconnect = useCallback13(
|
|
11619
11433
|
async (addressId) => {
|
|
11620
11434
|
await coinlist.wallets.remove({ offerId, addressId });
|
|
11621
11435
|
refetch();
|
|
11622
11436
|
},
|
|
11623
11437
|
[coinlist, offerId, refetch]
|
|
11624
11438
|
);
|
|
11625
|
-
|
|
11439
|
+
useEffect27(() => {
|
|
11626
11440
|
let isCancelled = false;
|
|
11627
11441
|
if (!enabled) {
|
|
11628
11442
|
setAddressesState(
|
|
@@ -11634,7 +11448,7 @@ function useOptionAddresses(offerId, offerOptionId, options = {}) {
|
|
|
11634
11448
|
}
|
|
11635
11449
|
if (!isReady) {
|
|
11636
11450
|
if (data === void 0) {
|
|
11637
|
-
setAddressesState(
|
|
11451
|
+
setAddressesState(LOADING_STATE6);
|
|
11638
11452
|
}
|
|
11639
11453
|
return () => {
|
|
11640
11454
|
isCancelled = true;
|
|
@@ -11651,7 +11465,7 @@ function useOptionAddresses(offerId, offerOptionId, options = {}) {
|
|
|
11651
11465
|
isCancelled = true;
|
|
11652
11466
|
};
|
|
11653
11467
|
}
|
|
11654
|
-
setAddressesState(
|
|
11468
|
+
setAddressesState(LOADING_STATE6);
|
|
11655
11469
|
coinlist.wallets.list({ offerId, offerOptionId }).then((addresses) => {
|
|
11656
11470
|
if (!isCancelled) {
|
|
11657
11471
|
log.debug(() => ({
|
|
@@ -11678,18 +11492,18 @@ function useOptionAddresses(offerId, offerOptionId, options = {}) {
|
|
|
11678
11492
|
}
|
|
11679
11493
|
|
|
11680
11494
|
// src/client/hooks/requirements/data/useRequirements.ts
|
|
11681
|
-
import { useCallback as
|
|
11682
|
-
var
|
|
11495
|
+
import { useCallback as useCallback14, useEffect as useEffect28, useState as useState30 } from "react";
|
|
11496
|
+
var LOADING_STATE7 = { type: "LOADING" };
|
|
11683
11497
|
function useRequirements(offerId, options = {}) {
|
|
11684
11498
|
const { coinlist, isReady } = useCoinList();
|
|
11685
11499
|
const log = useLogger("useRequirements");
|
|
11686
11500
|
const { data, enabled = true } = options;
|
|
11687
|
-
const [requirementsState, setRequirementsState] =
|
|
11688
|
-
data !== void 0 ? { type: "CONTENT", ...data } :
|
|
11501
|
+
const [requirementsState, setRequirementsState] = useState30(
|
|
11502
|
+
data !== void 0 ? { type: "CONTENT", ...data } : LOADING_STATE7
|
|
11689
11503
|
);
|
|
11690
|
-
const [fetchKey, setFetchKey] =
|
|
11691
|
-
const refetch =
|
|
11692
|
-
|
|
11504
|
+
const [fetchKey, setFetchKey] = useState30(0);
|
|
11505
|
+
const refetch = useCallback14(() => setFetchKey((k) => k + 1), []);
|
|
11506
|
+
useEffect28(() => {
|
|
11693
11507
|
let isCancelled = false;
|
|
11694
11508
|
if (!enabled) {
|
|
11695
11509
|
return () => {
|
|
@@ -11698,7 +11512,7 @@ function useRequirements(offerId, options = {}) {
|
|
|
11698
11512
|
}
|
|
11699
11513
|
if (!isReady) {
|
|
11700
11514
|
if (data === void 0) {
|
|
11701
|
-
setRequirementsState(
|
|
11515
|
+
setRequirementsState(LOADING_STATE7);
|
|
11702
11516
|
}
|
|
11703
11517
|
return () => {
|
|
11704
11518
|
isCancelled = true;
|
|
@@ -11715,7 +11529,7 @@ function useRequirements(offerId, options = {}) {
|
|
|
11715
11529
|
isCancelled = true;
|
|
11716
11530
|
};
|
|
11717
11531
|
}
|
|
11718
|
-
setRequirementsState(
|
|
11532
|
+
setRequirementsState(LOADING_STATE7);
|
|
11719
11533
|
Promise.all([
|
|
11720
11534
|
coinlist.requirements.forOffer(offerId),
|
|
11721
11535
|
coinlist.requirements.statuses(offerId)
|
|
@@ -11849,19 +11663,19 @@ function useRequirementsChecklistViewModel(options) {
|
|
|
11849
11663
|
data,
|
|
11850
11664
|
enabled
|
|
11851
11665
|
});
|
|
11852
|
-
const [expandedId, setExpandedId] =
|
|
11853
|
-
const [taxDocumentOpen, setTaxDocumentOpen] =
|
|
11854
|
-
const [connectWalletOpen, setConnectWalletOpen] =
|
|
11855
|
-
const [verifyingRequirementId, setVerifyingRequirementId] =
|
|
11666
|
+
const [expandedId, setExpandedId] = useState31(null);
|
|
11667
|
+
const [taxDocumentOpen, setTaxDocumentOpen] = useState31(false);
|
|
11668
|
+
const [connectWalletOpen, setConnectWalletOpen] = useState31(false);
|
|
11669
|
+
const [verifyingRequirementId, setVerifyingRequirementId] = useState31(null);
|
|
11856
11670
|
const isMountedRef = useRef17(true);
|
|
11857
|
-
|
|
11671
|
+
useEffect29(() => {
|
|
11858
11672
|
isMountedRef.current = true;
|
|
11859
11673
|
return () => {
|
|
11860
11674
|
isMountedRef.current = false;
|
|
11861
11675
|
};
|
|
11862
11676
|
}, []);
|
|
11863
|
-
const [hasWalletRequirement, setHasWalletRequirement] =
|
|
11864
|
-
|
|
11677
|
+
const [hasWalletRequirement, setHasWalletRequirement] = useState31(false);
|
|
11678
|
+
useEffect29(() => {
|
|
11865
11679
|
if (requirementsState.type === "CONTENT") {
|
|
11866
11680
|
setHasWalletRequirement(
|
|
11867
11681
|
(requirementsState.requirements[optionId] ?? []).some(
|
|
@@ -11877,14 +11691,14 @@ function useRequirementsChecklistViewModel(options) {
|
|
|
11877
11691
|
} = useOptionAddresses(offerId, optionId, {
|
|
11878
11692
|
enabled: enabled && hasWalletRequirement
|
|
11879
11693
|
});
|
|
11880
|
-
const removeWallet =
|
|
11694
|
+
const removeWallet = useCallback15(
|
|
11881
11695
|
async (addressId) => {
|
|
11882
11696
|
await disconnect(OfferOptionAddressId(addressId));
|
|
11883
11697
|
refetch();
|
|
11884
11698
|
},
|
|
11885
11699
|
[disconnect, refetch]
|
|
11886
11700
|
);
|
|
11887
|
-
const awaitVerificationResult =
|
|
11701
|
+
const awaitVerificationResult = useCallback15(
|
|
11888
11702
|
(requirementId, statusBeforeSubmit) => {
|
|
11889
11703
|
void (async () => {
|
|
11890
11704
|
const deadline = Date.now() + VERIFICATION_POLL_TIMEOUT_MS;
|
|
@@ -11993,7 +11807,7 @@ function useRequirementsChecklistViewModel(options) {
|
|
|
11993
11807
|
identityVerificationOptions,
|
|
11994
11808
|
removeWallet
|
|
11995
11809
|
]);
|
|
11996
|
-
const handleRequirementAction =
|
|
11810
|
+
const handleRequirementAction = useCallback15(
|
|
11997
11811
|
(requirement) => {
|
|
11998
11812
|
const inlineVerification = statusById.get(requirement.id)?.kycLevel !== void 0 && onRequirementActionOverride === void 0;
|
|
11999
11813
|
if (inlineVerification) {
|
|
@@ -12025,7 +11839,7 @@ function useRequirementsChecklistViewModel(options) {
|
|
|
12025
11839
|
coinlist
|
|
12026
11840
|
]
|
|
12027
11841
|
);
|
|
12028
|
-
const onEvent =
|
|
11842
|
+
const onEvent = useCallback15(
|
|
12029
11843
|
(event) => {
|
|
12030
11844
|
switch (event.type) {
|
|
12031
11845
|
case "ON_TOGGLE_ITEM":
|
|
@@ -12123,7 +11937,7 @@ function toVerificationUi(verifyingRequirementId, statusById, identityVerificati
|
|
|
12123
11937
|
}
|
|
12124
11938
|
|
|
12125
11939
|
// src/client/components/requirements/RequirementsChecklistContainer.tsx
|
|
12126
|
-
import { Fragment as
|
|
11940
|
+
import { Fragment as Fragment10, jsx as jsx67, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
12127
11941
|
function RequirementsChecklistContainer({
|
|
12128
11942
|
loading,
|
|
12129
11943
|
error,
|
|
@@ -12136,8 +11950,8 @@ function RequirementsChecklistContainer({
|
|
|
12136
11950
|
...options,
|
|
12137
11951
|
enabled
|
|
12138
11952
|
});
|
|
12139
|
-
return /* @__PURE__ */
|
|
12140
|
-
/* @__PURE__ */
|
|
11953
|
+
return /* @__PURE__ */ jsxs47(Fragment10, { children: [
|
|
11954
|
+
/* @__PURE__ */ jsx67(
|
|
12141
11955
|
RequirementsChecklistView,
|
|
12142
11956
|
{
|
|
12143
11957
|
state,
|
|
@@ -12147,13 +11961,13 @@ function RequirementsChecklistContainer({
|
|
|
12147
11961
|
unauthenticatedState: (
|
|
12148
11962
|
// The sign-in default lives here, not in the View: it is a connected
|
|
12149
11963
|
// component, and a View must render from what it is handed.
|
|
12150
|
-
unauthenticatedState !== void 0 ? unauthenticatedState : /* @__PURE__ */
|
|
11964
|
+
unauthenticatedState !== void 0 ? unauthenticatedState : /* @__PURE__ */ jsx67(CoinListSignInCardContainer, {})
|
|
12151
11965
|
),
|
|
12152
11966
|
className
|
|
12153
11967
|
}
|
|
12154
11968
|
),
|
|
12155
|
-
state.type === "content" && /* @__PURE__ */
|
|
12156
|
-
/* @__PURE__ */
|
|
11969
|
+
state.type === "content" && /* @__PURE__ */ jsxs47(Fragment10, { children: [
|
|
11970
|
+
/* @__PURE__ */ jsx67(
|
|
12157
11971
|
TaxDocumentModalContainer,
|
|
12158
11972
|
{
|
|
12159
11973
|
isOpen: state.taxDocumentOpen,
|
|
@@ -12161,11 +11975,11 @@ function RequirementsChecklistContainer({
|
|
|
12161
11975
|
onSubmitted: () => onEvent({ type: "ON_TAX_DOCUMENT_SUBMITTED" })
|
|
12162
11976
|
}
|
|
12163
11977
|
),
|
|
12164
|
-
state.verification && /* @__PURE__ */
|
|
11978
|
+
state.verification && /* @__PURE__ */ jsx67(
|
|
12165
11979
|
VerificationOverlay,
|
|
12166
11980
|
{
|
|
12167
11981
|
onClose: () => onEvent({ type: "ON_CLOSE_VERIFICATION" }),
|
|
12168
|
-
children: /* @__PURE__ */
|
|
11982
|
+
children: /* @__PURE__ */ jsx67(
|
|
12169
11983
|
IdentityVerificationContainer,
|
|
12170
11984
|
{
|
|
12171
11985
|
levelName: state.verification.levelName,
|
|
@@ -12176,7 +11990,7 @@ function RequirementsChecklistContainer({
|
|
|
12176
11990
|
)
|
|
12177
11991
|
}
|
|
12178
11992
|
),
|
|
12179
|
-
/* @__PURE__ */
|
|
11993
|
+
/* @__PURE__ */ jsx67(
|
|
12180
11994
|
ConnectWalletModalContainer,
|
|
12181
11995
|
{
|
|
12182
11996
|
isOpen: state.connectWalletOpen,
|
|
@@ -12209,7 +12023,7 @@ function pinoClientLogger(options) {
|
|
|
12209
12023
|
}
|
|
12210
12024
|
|
|
12211
12025
|
// src/client/hooks/auth/useCompleteOAuth.ts
|
|
12212
|
-
import { useEffect as
|
|
12026
|
+
import { useEffect as useEffect30, useRef as useRef18 } from "react";
|
|
12213
12027
|
function useCompleteOAuth(options) {
|
|
12214
12028
|
const { coinlist } = useCoinList();
|
|
12215
12029
|
const log = useLogger("useCompleteOAuth");
|
|
@@ -12220,7 +12034,7 @@ function useCompleteOAuth(options) {
|
|
|
12220
12034
|
onFailureRef.current = options.onFailure;
|
|
12221
12035
|
onSuccessRef.current = options.onSuccess;
|
|
12222
12036
|
const hasStartedExchangeRef = useRef18(false);
|
|
12223
|
-
|
|
12037
|
+
useEffect30(() => {
|
|
12224
12038
|
if (typeof window === "undefined") return;
|
|
12225
12039
|
const params = new URLSearchParams(window.location.search);
|
|
12226
12040
|
if (!params.has("code") && !params.has("error")) return;
|
|
@@ -12284,16 +12098,16 @@ function useCompleteOAuth(options) {
|
|
|
12284
12098
|
}
|
|
12285
12099
|
|
|
12286
12100
|
// src/client/hooks/checkout/coin-list/token-sale/data/useParticipations.ts
|
|
12287
|
-
import { useEffect as
|
|
12288
|
-
var
|
|
12101
|
+
import { useEffect as useEffect31, useState as useState32 } from "react";
|
|
12102
|
+
var LOADING_STATE8 = { type: "LOADING" };
|
|
12289
12103
|
function useParticipations(offerId, options = {}) {
|
|
12290
12104
|
const { coinlist, isReady } = useCoinList();
|
|
12291
12105
|
const log = useLogger("useParticipations");
|
|
12292
12106
|
const { data, enabled = true } = options;
|
|
12293
|
-
const [participationsState, setParticipationsState] =
|
|
12294
|
-
data !== void 0 ? { type: "CONTENT", participations: data } :
|
|
12107
|
+
const [participationsState, setParticipationsState] = useState32(
|
|
12108
|
+
data !== void 0 ? { type: "CONTENT", participations: data } : LOADING_STATE8
|
|
12295
12109
|
);
|
|
12296
|
-
|
|
12110
|
+
useEffect31(() => {
|
|
12297
12111
|
let isCancelled = false;
|
|
12298
12112
|
if (!enabled) {
|
|
12299
12113
|
return () => {
|
|
@@ -12302,7 +12116,7 @@ function useParticipations(offerId, options = {}) {
|
|
|
12302
12116
|
}
|
|
12303
12117
|
if (!isReady) {
|
|
12304
12118
|
if (data === void 0) {
|
|
12305
|
-
setParticipationsState(
|
|
12119
|
+
setParticipationsState(LOADING_STATE8);
|
|
12306
12120
|
}
|
|
12307
12121
|
return () => {
|
|
12308
12122
|
isCancelled = true;
|
|
@@ -12313,7 +12127,7 @@ function useParticipations(offerId, options = {}) {
|
|
|
12313
12127
|
isCancelled = true;
|
|
12314
12128
|
};
|
|
12315
12129
|
}
|
|
12316
|
-
setParticipationsState(
|
|
12130
|
+
setParticipationsState(LOADING_STATE8);
|
|
12317
12131
|
coinlist.tokenSale.list(offerId).then((participations) => {
|
|
12318
12132
|
if (!isCancelled) {
|
|
12319
12133
|
log.debug(() => ({
|
|
@@ -12340,16 +12154,16 @@ function useParticipations(offerId, options = {}) {
|
|
|
12340
12154
|
}
|
|
12341
12155
|
|
|
12342
12156
|
// src/client/hooks/offers/data/useOfferDetails.ts
|
|
12343
|
-
import { useEffect as
|
|
12344
|
-
var
|
|
12157
|
+
import { useEffect as useEffect32, useState as useState33 } from "react";
|
|
12158
|
+
var LOADING_STATE9 = { type: "LOADING" };
|
|
12345
12159
|
function useOfferDetails(offerId, options = {}) {
|
|
12346
12160
|
const { coinlist, isReady } = useCoinList();
|
|
12347
12161
|
const log = useLogger("useOfferDetails");
|
|
12348
12162
|
const { data, enabled = true } = options;
|
|
12349
|
-
const [offerDetailsState, setOfferDetailsState] =
|
|
12350
|
-
data !== void 0 ? { type: "CONTENT", offerDetail: data } :
|
|
12163
|
+
const [offerDetailsState, setOfferDetailsState] = useState33(
|
|
12164
|
+
data !== void 0 ? { type: "CONTENT", offerDetail: data } : LOADING_STATE9
|
|
12351
12165
|
);
|
|
12352
|
-
|
|
12166
|
+
useEffect32(() => {
|
|
12353
12167
|
let isCancelled = false;
|
|
12354
12168
|
if (!enabled) {
|
|
12355
12169
|
return () => {
|
|
@@ -12358,7 +12172,7 @@ function useOfferDetails(offerId, options = {}) {
|
|
|
12358
12172
|
}
|
|
12359
12173
|
if (!isReady) {
|
|
12360
12174
|
if (data === void 0) {
|
|
12361
|
-
setOfferDetailsState(
|
|
12175
|
+
setOfferDetailsState(LOADING_STATE9);
|
|
12362
12176
|
}
|
|
12363
12177
|
return () => {
|
|
12364
12178
|
isCancelled = true;
|
|
@@ -12369,7 +12183,7 @@ function useOfferDetails(offerId, options = {}) {
|
|
|
12369
12183
|
isCancelled = true;
|
|
12370
12184
|
};
|
|
12371
12185
|
}
|
|
12372
|
-
setOfferDetailsState(
|
|
12186
|
+
setOfferDetailsState(LOADING_STATE9);
|
|
12373
12187
|
coinlist.offers.get(offerId).then((offerDetail) => {
|
|
12374
12188
|
if (!isCancelled) {
|
|
12375
12189
|
log.debug(() => ({
|
|
@@ -12397,23 +12211,15 @@ function useOfferDetails(offerId, options = {}) {
|
|
|
12397
12211
|
|
|
12398
12212
|
// src/client/hooks/offers/shared/offer-asset-card.types.ts
|
|
12399
12213
|
var OfferAssetCardUi = {
|
|
12400
|
-
|
|
12401
|
-
* `tokenMetadata` is the registry's entry for the token the offer is about
|
|
12402
|
-
* (`TokenRegistrySnapshot.forOffer`), or `null` when it lists none. The
|
|
12403
|
-
* registry names win over the offer's own where both exist: they are the
|
|
12404
|
-
* token's canonical name, ticker and artwork, where the offer's are
|
|
12405
|
-
* catalogue copy.
|
|
12406
|
-
*/
|
|
12407
|
-
fromOffer: (offer, tokenMetadata = null) => ({
|
|
12214
|
+
fromOffer: (offer) => ({
|
|
12408
12215
|
id: offer.id,
|
|
12409
|
-
|
|
12410
|
-
logo: OfferLogoUi.fromOffer(offer, tokenMetadata)
|
|
12216
|
+
logoUrl: offer.logoUrl
|
|
12411
12217
|
}),
|
|
12412
|
-
fromDetail: (detail
|
|
12218
|
+
fromDetail: (detail) => ({
|
|
12413
12219
|
id: detail.id,
|
|
12414
|
-
name:
|
|
12415
|
-
symbol:
|
|
12416
|
-
|
|
12220
|
+
name: detail.name,
|
|
12221
|
+
symbol: detail.asset.code,
|
|
12222
|
+
logoUrl: detail.logoUrl
|
|
12417
12223
|
})
|
|
12418
12224
|
};
|
|
12419
12225
|
|
|
@@ -12455,7 +12261,6 @@ export {
|
|
|
12455
12261
|
OAUTH_STATE_KEY,
|
|
12456
12262
|
OfferAssetCard,
|
|
12457
12263
|
OfferAssetCardUi,
|
|
12458
|
-
OfferLogoUi,
|
|
12459
12264
|
OfferSaleCard,
|
|
12460
12265
|
OfferSaleCardUi,
|
|
12461
12266
|
OffersAssetGrid,
|
|
@@ -12517,7 +12322,6 @@ export {
|
|
|
12517
12322
|
quoteOverAsks,
|
|
12518
12323
|
stablecoinIconUrl,
|
|
12519
12324
|
submitErc20Approval,
|
|
12520
|
-
tokenLogoSrcSet,
|
|
12521
12325
|
tokenLogoUrl,
|
|
12522
12326
|
tokenMetadataOf,
|
|
12523
12327
|
useCheckoutOfferTokenMetadata,
|
|
@@ -12560,7 +12364,6 @@ export {
|
|
|
12560
12364
|
useTaxDocument,
|
|
12561
12365
|
useTaxDocumentModalViewModel,
|
|
12562
12366
|
useTokenMetadata,
|
|
12563
|
-
useTokenRegistry,
|
|
12564
12367
|
validateAmount,
|
|
12565
12368
|
validateSellAmount,
|
|
12566
12369
|
validateSuperstateAmount
|