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