kaleido-ui 0.1.20 → 0.1.21
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/web/index.cjs +39 -30
- package/dist/web/index.d.cts +3 -1
- package/dist/web/index.d.ts +3 -1
- package/dist/web/index.js +39 -30
- package/package.json +1 -1
package/dist/web/index.cjs
CHANGED
|
@@ -3070,9 +3070,14 @@ function AssetSelector({
|
|
|
3070
3070
|
" available"
|
|
3071
3071
|
] })
|
|
3072
3072
|
] }),
|
|
3073
|
-
selected && /*
|
|
3073
|
+
selected && /* Network-coloured chip — uses the existing NetworkBadge
|
|
3074
|
+
so the asset's network color carries through (matches
|
|
3075
|
+
the showcase / wallet main page styling). When the
|
|
3076
|
+
asset has no network we fall back to a neutral pill. */
|
|
3077
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-2.5 py-1", children: [
|
|
3074
3078
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AssetIcon, { ticker: selected.ticker, logoUri: selected.icon, size: 18 }),
|
|
3075
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-tiny font-semibold text-
|
|
3079
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-tiny font-semibold text-white", children: selected.ticker }),
|
|
3080
|
+
selected.network && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(NetworkBadge, { network: selected.network, showLabel: true, className: "py-[1px]" })
|
|
3076
3081
|
] })
|
|
3077
3082
|
] }) }),
|
|
3078
3083
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex-shrink-0 border-b border-white/[0.08] px-4 py-3", children: [
|
|
@@ -3093,7 +3098,7 @@ function AssetSelector({
|
|
|
3093
3098
|
value: search,
|
|
3094
3099
|
onChange: (event) => setSearch(event.target.value),
|
|
3095
3100
|
placeholder: "Search...",
|
|
3096
|
-
className: "h-11 w-full rounded-2xl border bg-black/20 pl-10 pr-3 text-sm text-white placeholder:text-white/25 focus:border-primary/50 focus:outline-none"
|
|
3101
|
+
className: "h-11 w-full rounded-2xl border border-transparent bg-black/20 pl-10 pr-3 text-sm text-white placeholder:text-white/25 focus:border-primary/50 focus:outline-none"
|
|
3097
3102
|
}
|
|
3098
3103
|
)
|
|
3099
3104
|
] }),
|
|
@@ -3116,7 +3121,7 @@ function AssetSelector({
|
|
|
3116
3121
|
);
|
|
3117
3122
|
}) })
|
|
3118
3123
|
] }),
|
|
3119
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ScrollArea, { className: "min-h-0", viewportClassName: "px-2 py-2", children: filtered.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-col items-center gap-2 px-4 py-10 text-center text-sm text-white/30", children: [
|
|
3124
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ScrollArea, { className: "min-h-0", viewportClassName: "px-2 py-2 pb-6", children: filtered.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-col items-center gap-2 px-4 py-10 text-center text-sm text-white/30", children: [
|
|
3120
3125
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Icon2, { name: "search", size: "md", className: "opacity-40" }),
|
|
3121
3126
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { children: [
|
|
3122
3127
|
"No results",
|
|
@@ -3293,6 +3298,7 @@ function SwapInputCard({
|
|
|
3293
3298
|
quoteExpiresUrgent = false,
|
|
3294
3299
|
warning,
|
|
3295
3300
|
submitLabel,
|
|
3301
|
+
submitIcon,
|
|
3296
3302
|
submitVariant = "cta",
|
|
3297
3303
|
submitDisabled = false,
|
|
3298
3304
|
onFromTickerChange,
|
|
@@ -3306,7 +3312,26 @@ function SwapInputCard({
|
|
|
3306
3312
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
3307
3313
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "relative mb-3 flex flex-col rounded-3xl bg-white/[0.03] shadow-2xl shadow-black/40 backdrop-blur-2xl transition-all duration-300", children: [
|
|
3308
3314
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "p-3.5 pb-4", children: [
|
|
3309
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.
|
|
3315
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "mb-2 flex items-center justify-between gap-2", children: [
|
|
3316
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-xs font-bold uppercase tracking-widest text-white/60", children: "You Pay" }),
|
|
3317
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex items-center gap-1", children: PERCENTAGES.map((percent) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
3318
|
+
"button",
|
|
3319
|
+
{
|
|
3320
|
+
type: "button",
|
|
3321
|
+
disabled: percentageDisabled,
|
|
3322
|
+
onClick: () => onPercentageClick(percent),
|
|
3323
|
+
className: cn(
|
|
3324
|
+
"rounded px-1.5 py-0.5 text-xxs font-bold transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-40",
|
|
3325
|
+
selectedPercentage === percent ? "border-primary/50 bg-primary/20 text-primary shadow-sm" : "bg-white/[0.03] text-muted-foreground hover:text-white"
|
|
3326
|
+
),
|
|
3327
|
+
children: [
|
|
3328
|
+
percent,
|
|
3329
|
+
"%"
|
|
3330
|
+
]
|
|
3331
|
+
},
|
|
3332
|
+
percent
|
|
3333
|
+
)) })
|
|
3334
|
+
] }),
|
|
3310
3335
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
3311
3336
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3312
3337
|
AssetSelector,
|
|
@@ -3338,44 +3363,25 @@ function SwapInputCard({
|
|
|
3338
3363
|
{
|
|
3339
3364
|
type: "button",
|
|
3340
3365
|
onClick: onToggleFromUnit,
|
|
3341
|
-
className: "mt-0.5 text-right text-xs text-muted-foreground
|
|
3366
|
+
className: "mt-0.5 text-right text-xs text-muted-foreground transition-colors hover:text-primary",
|
|
3342
3367
|
title: "Tap to switch unit",
|
|
3343
3368
|
children: fromUnitLabel
|
|
3344
3369
|
}
|
|
3345
3370
|
) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "mt-0.5 text-xs text-muted-foreground", children: fromUnitLabel })
|
|
3346
3371
|
] })
|
|
3347
3372
|
] }),
|
|
3348
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.
|
|
3349
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-xxs font-medium text-white/60", children: showMaxText && maxText ? `Max: ${maxText}` : `Available: ${availableText}` }),
|
|
3350
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex items-center gap-1", children: PERCENTAGES.map((percent) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
3351
|
-
"button",
|
|
3352
|
-
{
|
|
3353
|
-
type: "button",
|
|
3354
|
-
disabled: percentageDisabled,
|
|
3355
|
-
onClick: () => onPercentageClick(percent),
|
|
3356
|
-
className: cn(
|
|
3357
|
-
"rounded px-1.5 py-0.5 text-xxs font-bold transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-40",
|
|
3358
|
-
selectedPercentage === percent ? "border-primary/50 bg-primary/20 text-primary shadow-sm" : "bg-white/[0.03] text-muted-foreground hover:text-white"
|
|
3359
|
-
),
|
|
3360
|
-
children: [
|
|
3361
|
-
percent,
|
|
3362
|
-
"%"
|
|
3363
|
-
]
|
|
3364
|
-
},
|
|
3365
|
-
percent
|
|
3366
|
-
)) })
|
|
3367
|
-
] })
|
|
3373
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "mt-2 flex items-center justify-between gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-xxs font-medium text-white/60", children: showMaxText && maxText ? `Max: ${maxText}` : `Available: ${availableText}` }) })
|
|
3368
3374
|
] }),
|
|
3369
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "relative mx-6 flex h-px items-center justify-center bg-white/[0.08]", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3375
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "relative mx-6 flex h-px items-center justify-center bg-white/[0.08]", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "absolute flex h-11 w-11 items-center justify-center rounded-full bg-card shadow-lg shadow-black/35", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3370
3376
|
"button",
|
|
3371
3377
|
{
|
|
3372
3378
|
type: "button",
|
|
3373
3379
|
onClick: onFlip,
|
|
3374
3380
|
title: "Flip assets",
|
|
3375
|
-
className: "
|
|
3381
|
+
className: "flex h-11 w-11 items-center justify-center rounded-full bg-card text-primary transition-transform duration-500 hover:rotate-180 hover:bg-accent active:scale-95",
|
|
3376
3382
|
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon2, { name: "swap_vert", size: "md" })
|
|
3377
3383
|
}
|
|
3378
|
-
) }),
|
|
3384
|
+
) }) }),
|
|
3379
3385
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "rounded-b-3xl bg-gradient-to-br from-white/[0.01] to-primary/[0.04] p-3.5 pt-4 transition-all duration-300", children: [
|
|
3380
3386
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "mb-2 text-xs font-bold uppercase tracking-widest text-primary/70", children: "You Receive" }),
|
|
3381
3387
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
@@ -3434,7 +3440,10 @@ function SwapInputCard({
|
|
|
3434
3440
|
className: "w-full",
|
|
3435
3441
|
onClick: onSubmit,
|
|
3436
3442
|
disabled: submitDisabled,
|
|
3437
|
-
children:
|
|
3443
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { className: "inline-flex items-center justify-center gap-2", children: [
|
|
3444
|
+
submitIcon,
|
|
3445
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { children: submitLabel })
|
|
3446
|
+
] })
|
|
3438
3447
|
}
|
|
3439
3448
|
)
|
|
3440
3449
|
] });
|
package/dist/web/index.d.cts
CHANGED
|
@@ -618,6 +618,8 @@ interface SwapInputCardProps {
|
|
|
618
618
|
quoteExpiresUrgent?: boolean;
|
|
619
619
|
warning?: string | null;
|
|
620
620
|
submitLabel: string;
|
|
621
|
+
/** Optional leading icon for the submit CTA (e.g. a Material-Symbols glyph). */
|
|
622
|
+
submitIcon?: ReactNode;
|
|
621
623
|
submitVariant?: ButtonProps['variant'];
|
|
622
624
|
submitDisabled?: boolean;
|
|
623
625
|
onFromTickerChange: (ticker: string) => void;
|
|
@@ -628,7 +630,7 @@ interface SwapInputCardProps {
|
|
|
628
630
|
onFlip: () => void;
|
|
629
631
|
onSubmit: () => void;
|
|
630
632
|
}
|
|
631
|
-
declare function SwapInputCard({ fromTicker, toTicker, fromInput, fromOptions, toOptions, categories, defaultActiveCategories, availableText, showMaxText, maxText, selectedPercentage, percentageDisabled, fromUnitLabel, fromUnitIsToggle, receiveAmount, receiveUnitLabel, isLoadingQuote, quoteError, quoteRateText, quoteFeeText, quoteExpiresText, quoteExpiresUrgent, warning, submitLabel, submitVariant, submitDisabled, onFromTickerChange, onToTickerChange, onFromInputChange, onPercentageClick, onToggleFromUnit, onFlip, onSubmit, }: SwapInputCardProps): react_jsx_runtime.JSX.Element;
|
|
633
|
+
declare function SwapInputCard({ fromTicker, toTicker, fromInput, fromOptions, toOptions, categories, defaultActiveCategories, availableText, showMaxText, maxText, selectedPercentage, percentageDisabled, fromUnitLabel, fromUnitIsToggle, receiveAmount, receiveUnitLabel, isLoadingQuote, quoteError, quoteRateText, quoteFeeText, quoteExpiresText, quoteExpiresUrgent, warning, submitLabel, submitIcon, submitVariant, submitDisabled, onFromTickerChange, onToTickerChange, onFromInputChange, onPercentageClick, onToggleFromUnit, onFlip, onSubmit, }: SwapInputCardProps): react_jsx_runtime.JSX.Element;
|
|
632
634
|
|
|
633
635
|
interface ActivityListItem<TData = unknown> {
|
|
634
636
|
id: string;
|
package/dist/web/index.d.ts
CHANGED
|
@@ -618,6 +618,8 @@ interface SwapInputCardProps {
|
|
|
618
618
|
quoteExpiresUrgent?: boolean;
|
|
619
619
|
warning?: string | null;
|
|
620
620
|
submitLabel: string;
|
|
621
|
+
/** Optional leading icon for the submit CTA (e.g. a Material-Symbols glyph). */
|
|
622
|
+
submitIcon?: ReactNode;
|
|
621
623
|
submitVariant?: ButtonProps['variant'];
|
|
622
624
|
submitDisabled?: boolean;
|
|
623
625
|
onFromTickerChange: (ticker: string) => void;
|
|
@@ -628,7 +630,7 @@ interface SwapInputCardProps {
|
|
|
628
630
|
onFlip: () => void;
|
|
629
631
|
onSubmit: () => void;
|
|
630
632
|
}
|
|
631
|
-
declare function SwapInputCard({ fromTicker, toTicker, fromInput, fromOptions, toOptions, categories, defaultActiveCategories, availableText, showMaxText, maxText, selectedPercentage, percentageDisabled, fromUnitLabel, fromUnitIsToggle, receiveAmount, receiveUnitLabel, isLoadingQuote, quoteError, quoteRateText, quoteFeeText, quoteExpiresText, quoteExpiresUrgent, warning, submitLabel, submitVariant, submitDisabled, onFromTickerChange, onToTickerChange, onFromInputChange, onPercentageClick, onToggleFromUnit, onFlip, onSubmit, }: SwapInputCardProps): react_jsx_runtime.JSX.Element;
|
|
633
|
+
declare function SwapInputCard({ fromTicker, toTicker, fromInput, fromOptions, toOptions, categories, defaultActiveCategories, availableText, showMaxText, maxText, selectedPercentage, percentageDisabled, fromUnitLabel, fromUnitIsToggle, receiveAmount, receiveUnitLabel, isLoadingQuote, quoteError, quoteRateText, quoteFeeText, quoteExpiresText, quoteExpiresUrgent, warning, submitLabel, submitIcon, submitVariant, submitDisabled, onFromTickerChange, onToTickerChange, onFromInputChange, onPercentageClick, onToggleFromUnit, onFlip, onSubmit, }: SwapInputCardProps): react_jsx_runtime.JSX.Element;
|
|
632
634
|
|
|
633
635
|
interface ActivityListItem<TData = unknown> {
|
|
634
636
|
id: string;
|
package/dist/web/index.js
CHANGED
|
@@ -2915,9 +2915,14 @@ function AssetSelector({
|
|
|
2915
2915
|
" available"
|
|
2916
2916
|
] })
|
|
2917
2917
|
] }),
|
|
2918
|
-
selected && /*
|
|
2918
|
+
selected && /* Network-coloured chip — uses the existing NetworkBadge
|
|
2919
|
+
so the asset's network color carries through (matches
|
|
2920
|
+
the showcase / wallet main page styling). When the
|
|
2921
|
+
asset has no network we fall back to a neutral pill. */
|
|
2922
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-2.5 py-1", children: [
|
|
2919
2923
|
/* @__PURE__ */ jsx34(AssetIcon, { ticker: selected.ticker, logoUri: selected.icon, size: 18 }),
|
|
2920
|
-
/* @__PURE__ */ jsx34("span", { className: "text-tiny font-semibold text-
|
|
2924
|
+
/* @__PURE__ */ jsx34("span", { className: "text-tiny font-semibold text-white", children: selected.ticker }),
|
|
2925
|
+
selected.network && /* @__PURE__ */ jsx34(NetworkBadge, { network: selected.network, showLabel: true, className: "py-[1px]" })
|
|
2921
2926
|
] })
|
|
2922
2927
|
] }) }),
|
|
2923
2928
|
/* @__PURE__ */ jsxs22("div", { className: "flex-shrink-0 border-b border-white/[0.08] px-4 py-3", children: [
|
|
@@ -2938,7 +2943,7 @@ function AssetSelector({
|
|
|
2938
2943
|
value: search,
|
|
2939
2944
|
onChange: (event) => setSearch(event.target.value),
|
|
2940
2945
|
placeholder: "Search...",
|
|
2941
|
-
className: "h-11 w-full rounded-2xl border bg-black/20 pl-10 pr-3 text-sm text-white placeholder:text-white/25 focus:border-primary/50 focus:outline-none"
|
|
2946
|
+
className: "h-11 w-full rounded-2xl border border-transparent bg-black/20 pl-10 pr-3 text-sm text-white placeholder:text-white/25 focus:border-primary/50 focus:outline-none"
|
|
2942
2947
|
}
|
|
2943
2948
|
)
|
|
2944
2949
|
] }),
|
|
@@ -2961,7 +2966,7 @@ function AssetSelector({
|
|
|
2961
2966
|
);
|
|
2962
2967
|
}) })
|
|
2963
2968
|
] }),
|
|
2964
|
-
/* @__PURE__ */ jsx34(ScrollArea, { className: "min-h-0", viewportClassName: "px-2 py-2", children: filtered.length === 0 ? /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center gap-2 px-4 py-10 text-center text-sm text-white/30", children: [
|
|
2969
|
+
/* @__PURE__ */ jsx34(ScrollArea, { className: "min-h-0", viewportClassName: "px-2 py-2 pb-6", children: filtered.length === 0 ? /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center gap-2 px-4 py-10 text-center text-sm text-white/30", children: [
|
|
2965
2970
|
/* @__PURE__ */ jsx34(Icon2, { name: "search", size: "md", className: "opacity-40" }),
|
|
2966
2971
|
/* @__PURE__ */ jsxs22("span", { children: [
|
|
2967
2972
|
"No results",
|
|
@@ -3138,6 +3143,7 @@ function SwapInputCard({
|
|
|
3138
3143
|
quoteExpiresUrgent = false,
|
|
3139
3144
|
warning,
|
|
3140
3145
|
submitLabel,
|
|
3146
|
+
submitIcon,
|
|
3141
3147
|
submitVariant = "cta",
|
|
3142
3148
|
submitDisabled = false,
|
|
3143
3149
|
onFromTickerChange,
|
|
@@ -3151,7 +3157,26 @@ function SwapInputCard({
|
|
|
3151
3157
|
return /* @__PURE__ */ jsxs23(Fragment8, { children: [
|
|
3152
3158
|
/* @__PURE__ */ jsxs23("div", { className: "relative mb-3 flex flex-col rounded-3xl bg-white/[0.03] shadow-2xl shadow-black/40 backdrop-blur-2xl transition-all duration-300", children: [
|
|
3153
3159
|
/* @__PURE__ */ jsxs23("div", { className: "p-3.5 pb-4", children: [
|
|
3154
|
-
/* @__PURE__ */
|
|
3160
|
+
/* @__PURE__ */ jsxs23("div", { className: "mb-2 flex items-center justify-between gap-2", children: [
|
|
3161
|
+
/* @__PURE__ */ jsx35("p", { className: "text-xs font-bold uppercase tracking-widest text-white/60", children: "You Pay" }),
|
|
3162
|
+
/* @__PURE__ */ jsx35("div", { className: "flex items-center gap-1", children: PERCENTAGES.map((percent) => /* @__PURE__ */ jsxs23(
|
|
3163
|
+
"button",
|
|
3164
|
+
{
|
|
3165
|
+
type: "button",
|
|
3166
|
+
disabled: percentageDisabled,
|
|
3167
|
+
onClick: () => onPercentageClick(percent),
|
|
3168
|
+
className: cn(
|
|
3169
|
+
"rounded px-1.5 py-0.5 text-xxs font-bold transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-40",
|
|
3170
|
+
selectedPercentage === percent ? "border-primary/50 bg-primary/20 text-primary shadow-sm" : "bg-white/[0.03] text-muted-foreground hover:text-white"
|
|
3171
|
+
),
|
|
3172
|
+
children: [
|
|
3173
|
+
percent,
|
|
3174
|
+
"%"
|
|
3175
|
+
]
|
|
3176
|
+
},
|
|
3177
|
+
percent
|
|
3178
|
+
)) })
|
|
3179
|
+
] }),
|
|
3155
3180
|
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
|
|
3156
3181
|
/* @__PURE__ */ jsx35(
|
|
3157
3182
|
AssetSelector,
|
|
@@ -3183,44 +3208,25 @@ function SwapInputCard({
|
|
|
3183
3208
|
{
|
|
3184
3209
|
type: "button",
|
|
3185
3210
|
onClick: onToggleFromUnit,
|
|
3186
|
-
className: "mt-0.5 text-right text-xs text-muted-foreground
|
|
3211
|
+
className: "mt-0.5 text-right text-xs text-muted-foreground transition-colors hover:text-primary",
|
|
3187
3212
|
title: "Tap to switch unit",
|
|
3188
3213
|
children: fromUnitLabel
|
|
3189
3214
|
}
|
|
3190
3215
|
) : /* @__PURE__ */ jsx35("p", { className: "mt-0.5 text-xs text-muted-foreground", children: fromUnitLabel })
|
|
3191
3216
|
] })
|
|
3192
3217
|
] }),
|
|
3193
|
-
/* @__PURE__ */
|
|
3194
|
-
/* @__PURE__ */ jsx35("p", { className: "text-xxs font-medium text-white/60", children: showMaxText && maxText ? `Max: ${maxText}` : `Available: ${availableText}` }),
|
|
3195
|
-
/* @__PURE__ */ jsx35("div", { className: "flex items-center gap-1", children: PERCENTAGES.map((percent) => /* @__PURE__ */ jsxs23(
|
|
3196
|
-
"button",
|
|
3197
|
-
{
|
|
3198
|
-
type: "button",
|
|
3199
|
-
disabled: percentageDisabled,
|
|
3200
|
-
onClick: () => onPercentageClick(percent),
|
|
3201
|
-
className: cn(
|
|
3202
|
-
"rounded px-1.5 py-0.5 text-xxs font-bold transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-40",
|
|
3203
|
-
selectedPercentage === percent ? "border-primary/50 bg-primary/20 text-primary shadow-sm" : "bg-white/[0.03] text-muted-foreground hover:text-white"
|
|
3204
|
-
),
|
|
3205
|
-
children: [
|
|
3206
|
-
percent,
|
|
3207
|
-
"%"
|
|
3208
|
-
]
|
|
3209
|
-
},
|
|
3210
|
-
percent
|
|
3211
|
-
)) })
|
|
3212
|
-
] })
|
|
3218
|
+
/* @__PURE__ */ jsx35("div", { className: "mt-2 flex items-center justify-between gap-2", children: /* @__PURE__ */ jsx35("p", { className: "text-xxs font-medium text-white/60", children: showMaxText && maxText ? `Max: ${maxText}` : `Available: ${availableText}` }) })
|
|
3213
3219
|
] }),
|
|
3214
|
-
/* @__PURE__ */ jsx35("div", { className: "relative mx-6 flex h-px items-center justify-center bg-white/[0.08]", children: /* @__PURE__ */ jsx35(
|
|
3220
|
+
/* @__PURE__ */ jsx35("div", { className: "relative mx-6 flex h-px items-center justify-center bg-white/[0.08]", children: /* @__PURE__ */ jsx35("span", { className: "absolute flex h-11 w-11 items-center justify-center rounded-full bg-card shadow-lg shadow-black/35", children: /* @__PURE__ */ jsx35(
|
|
3215
3221
|
"button",
|
|
3216
3222
|
{
|
|
3217
3223
|
type: "button",
|
|
3218
3224
|
onClick: onFlip,
|
|
3219
3225
|
title: "Flip assets",
|
|
3220
|
-
className: "
|
|
3226
|
+
className: "flex h-11 w-11 items-center justify-center rounded-full bg-card text-primary transition-transform duration-500 hover:rotate-180 hover:bg-accent active:scale-95",
|
|
3221
3227
|
children: /* @__PURE__ */ jsx35(Icon2, { name: "swap_vert", size: "md" })
|
|
3222
3228
|
}
|
|
3223
|
-
) }),
|
|
3229
|
+
) }) }),
|
|
3224
3230
|
/* @__PURE__ */ jsxs23("div", { className: "rounded-b-3xl bg-gradient-to-br from-white/[0.01] to-primary/[0.04] p-3.5 pt-4 transition-all duration-300", children: [
|
|
3225
3231
|
/* @__PURE__ */ jsx35("p", { className: "mb-2 text-xs font-bold uppercase tracking-widest text-primary/70", children: "You Receive" }),
|
|
3226
3232
|
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
|
|
@@ -3279,7 +3285,10 @@ function SwapInputCard({
|
|
|
3279
3285
|
className: "w-full",
|
|
3280
3286
|
onClick: onSubmit,
|
|
3281
3287
|
disabled: submitDisabled,
|
|
3282
|
-
children:
|
|
3288
|
+
children: /* @__PURE__ */ jsxs23("span", { className: "inline-flex items-center justify-center gap-2", children: [
|
|
3289
|
+
submitIcon,
|
|
3290
|
+
/* @__PURE__ */ jsx35("span", { children: submitLabel })
|
|
3291
|
+
] })
|
|
3283
3292
|
}
|
|
3284
3293
|
)
|
|
3285
3294
|
] });
|
package/package.json
CHANGED