kaleido-ui 0.1.50 → 0.1.51
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 +1218 -527
- package/dist/web/index.d.cts +189 -1
- package/dist/web/index.d.ts +189 -1
- package/dist/web/index.js +1202 -527
- package/package.json +1 -1
package/dist/web/index.cjs
CHANGED
|
@@ -48,6 +48,7 @@ __export(web_exports, {
|
|
|
48
48
|
ActivityFilterBar: () => ActivityFilterBar,
|
|
49
49
|
ActivityList: () => ActivityList,
|
|
50
50
|
ActivityNetworkFilters: () => ActivityNetworkFilters,
|
|
51
|
+
ActivityRow: () => ActivityRow,
|
|
51
52
|
ActivityTypeTabs: () => ActivityTypeTabs,
|
|
52
53
|
AlertBanner: () => AlertBanner,
|
|
53
54
|
AppIcon: () => AppIcon,
|
|
@@ -57,6 +58,7 @@ __export(web_exports, {
|
|
|
57
58
|
AssetSelector: () => AssetSelector,
|
|
58
59
|
BalanceBreakdown: () => BalanceBreakdown,
|
|
59
60
|
BottomNav: () => BottomNav,
|
|
61
|
+
BottomSheet: () => BottomSheet,
|
|
60
62
|
BtcUnifiedReceive: () => BtcUnifiedReceive,
|
|
61
63
|
Button: () => Button,
|
|
62
64
|
Card: () => Card,
|
|
@@ -82,15 +84,19 @@ __export(web_exports, {
|
|
|
82
84
|
DialogPortal: () => DialogPortal,
|
|
83
85
|
DialogTitle: () => DialogTitle,
|
|
84
86
|
DialogTrigger: () => DialogTrigger,
|
|
87
|
+
DisclosureCard: () => DisclosureCard,
|
|
85
88
|
DotPagination: () => DotPagination,
|
|
86
89
|
ErrorBoundary: () => ErrorBoundary,
|
|
87
90
|
ErrorCard: () => ErrorCard,
|
|
88
91
|
ExpandIcon: () => ExpandIcon,
|
|
92
|
+
ExtensionPageFrame: () => ExtensionPageFrame,
|
|
89
93
|
FadeOverlay: () => FadeOverlay,
|
|
94
|
+
FilterChipGroup: () => FilterChipGroup,
|
|
90
95
|
FilterDropdown: () => FilterDropdown,
|
|
91
96
|
HeadlineGradient: () => HeadlineGradient,
|
|
92
97
|
Icon: () => Icon,
|
|
93
98
|
Icons: () => Icons,
|
|
99
|
+
InfoPanel: () => InfoPanel,
|
|
94
100
|
InlineAction: () => InlineAction,
|
|
95
101
|
InlineSelector: () => InlineSelector,
|
|
96
102
|
Input: () => Input,
|
|
@@ -98,8 +104,10 @@ __export(web_exports, {
|
|
|
98
104
|
KaleidoScopeHeroAnimation: () => KaleidoScopeHeroAnimation,
|
|
99
105
|
Label: () => Label2,
|
|
100
106
|
LightningNetworkIcon: () => LightningNetworkIcon,
|
|
107
|
+
ListSkeletonRows: () => ListSkeletonRows,
|
|
101
108
|
LoadingCard: () => LoadingCard,
|
|
102
109
|
MethodChoiceChip: () => MethodChoiceChip,
|
|
110
|
+
MetricCard: () => MetricCard,
|
|
103
111
|
MobileHeroAnimation: () => MobileHeroAnimation,
|
|
104
112
|
NETWORK_CONFIG: () => NETWORK_CONFIG,
|
|
105
113
|
NetworkBadge: () => NetworkBadge,
|
|
@@ -113,6 +121,8 @@ __export(web_exports, {
|
|
|
113
121
|
QrCode: () => QrCode,
|
|
114
122
|
RecoveryPhraseCard: () => RecoveryPhraseCard,
|
|
115
123
|
ScrollArea: () => ScrollArea,
|
|
124
|
+
SecretRevealCard: () => SecretRevealCard,
|
|
125
|
+
SectionHeader: () => SectionHeader,
|
|
116
126
|
SectionLabel: () => SectionLabel,
|
|
117
127
|
SectionTitle: () => SectionTitle,
|
|
118
128
|
Select: () => Select,
|
|
@@ -123,12 +133,17 @@ __export(web_exports, {
|
|
|
123
133
|
SelectSeparator: () => SelectSeparator,
|
|
124
134
|
SelectTrigger: () => SelectTrigger,
|
|
125
135
|
SelectValue: () => SelectValue,
|
|
136
|
+
SelectableCard: () => SelectableCard,
|
|
126
137
|
SettingItem: () => SettingItem,
|
|
127
138
|
SettingsActionButton: () => SettingsActionButton,
|
|
139
|
+
SettingsSectionCard: () => SettingsSectionCard,
|
|
140
|
+
SettingsSelectorRow: () => SettingsSelectorRow,
|
|
128
141
|
SettingsStatusPanel: () => SettingsStatusPanel,
|
|
129
142
|
SettingsTile: () => SettingsTile,
|
|
143
|
+
Skeleton: () => Skeleton,
|
|
130
144
|
SparkNetworkIcon: () => SparkNetworkIcon,
|
|
131
145
|
StatusBadge: () => StatusBadge,
|
|
146
|
+
StepperNumberInput: () => StepperNumberInput,
|
|
132
147
|
SwapInputCard: () => SwapInputCard,
|
|
133
148
|
Switch: () => Switch,
|
|
134
149
|
Tabs: () => Tabs,
|
|
@@ -143,6 +158,7 @@ __export(web_exports, {
|
|
|
143
158
|
ToastTitle: () => ToastTitle,
|
|
144
159
|
ToastViewport: () => ToastViewport,
|
|
145
160
|
Toaster: () => Toaster,
|
|
161
|
+
ToneBadge: () => ToneBadge,
|
|
146
162
|
TransactionCard: () => TransactionCard,
|
|
147
163
|
TransferRouteCard: () => TransferRouteCard,
|
|
148
164
|
WalletAssetList: () => WalletAssetList,
|
|
@@ -5338,8 +5354,72 @@ function PageHeader({
|
|
|
5338
5354
|
] }) });
|
|
5339
5355
|
}
|
|
5340
5356
|
|
|
5341
|
-
// src/web/components/
|
|
5357
|
+
// src/web/components/extension-page-frame.tsx
|
|
5342
5358
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
5359
|
+
function ExtensionPageFrame({
|
|
5360
|
+
children,
|
|
5361
|
+
header,
|
|
5362
|
+
title,
|
|
5363
|
+
subtitle,
|
|
5364
|
+
left,
|
|
5365
|
+
right,
|
|
5366
|
+
onBack,
|
|
5367
|
+
backLabel,
|
|
5368
|
+
titleAlign,
|
|
5369
|
+
bottomNav,
|
|
5370
|
+
bottomFade = Boolean(bottomNav),
|
|
5371
|
+
scroll = true,
|
|
5372
|
+
viewportAs = "main",
|
|
5373
|
+
className,
|
|
5374
|
+
contentClassName,
|
|
5375
|
+
viewportClassName,
|
|
5376
|
+
fadeClassName
|
|
5377
|
+
}) {
|
|
5378
|
+
const renderedHeader = header ?? (title || subtitle || left || right || onBack ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
5379
|
+
PageHeader,
|
|
5380
|
+
{
|
|
5381
|
+
title,
|
|
5382
|
+
subtitle,
|
|
5383
|
+
left,
|
|
5384
|
+
right,
|
|
5385
|
+
onBack,
|
|
5386
|
+
backLabel,
|
|
5387
|
+
titleAlign
|
|
5388
|
+
}
|
|
5389
|
+
) : null);
|
|
5390
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
5391
|
+
"div",
|
|
5392
|
+
{
|
|
5393
|
+
className: cn(
|
|
5394
|
+
"relative flex h-screen flex-col overflow-hidden bg-background font-display text-foreground",
|
|
5395
|
+
className
|
|
5396
|
+
),
|
|
5397
|
+
children: [
|
|
5398
|
+
renderedHeader,
|
|
5399
|
+
scroll ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
5400
|
+
ScrollArea,
|
|
5401
|
+
{
|
|
5402
|
+
className: cn("flex-1", contentClassName),
|
|
5403
|
+
viewportAs,
|
|
5404
|
+
viewportClassName,
|
|
5405
|
+
children
|
|
5406
|
+
}
|
|
5407
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: cn("min-h-0 flex-1", contentClassName), children }),
|
|
5408
|
+
bottomNav,
|
|
5409
|
+
bottomFade && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
5410
|
+
FadeOverlay,
|
|
5411
|
+
{
|
|
5412
|
+
heightClassName: "h-20",
|
|
5413
|
+
className: cn("fixed inset-x-0 bottom-0 z-20", fadeClassName)
|
|
5414
|
+
}
|
|
5415
|
+
)
|
|
5416
|
+
]
|
|
5417
|
+
}
|
|
5418
|
+
);
|
|
5419
|
+
}
|
|
5420
|
+
|
|
5421
|
+
// src/web/components/setting-item.tsx
|
|
5422
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
5343
5423
|
function SettingItem({
|
|
5344
5424
|
icon,
|
|
5345
5425
|
iconSrc,
|
|
@@ -5353,7 +5433,7 @@ function SettingItem({
|
|
|
5353
5433
|
iconColor = "text-primary"
|
|
5354
5434
|
}) {
|
|
5355
5435
|
const isClickable = !!onClick;
|
|
5356
|
-
return /* @__PURE__ */ (0,
|
|
5436
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
5357
5437
|
"div",
|
|
5358
5438
|
{
|
|
5359
5439
|
className: cn(
|
|
@@ -5362,26 +5442,26 @@ function SettingItem({
|
|
|
5362
5442
|
className
|
|
5363
5443
|
),
|
|
5364
5444
|
onClick,
|
|
5365
|
-
children: /* @__PURE__ */ (0,
|
|
5366
|
-
/* @__PURE__ */ (0,
|
|
5367
|
-
(icon || iconSrc) && /* @__PURE__ */ (0,
|
|
5445
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
5446
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center gap-3 flex-1 min-w-0", children: [
|
|
5447
|
+
(icon || iconSrc) && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
5368
5448
|
"div",
|
|
5369
5449
|
{
|
|
5370
5450
|
className: cn(
|
|
5371
5451
|
"flex-shrink-0 size-10 rounded-xl flex items-center justify-center bg-primary/15 group-hover:bg-primary/25 group-hover:scale-105 transition-all",
|
|
5372
5452
|
iconColor
|
|
5373
5453
|
),
|
|
5374
|
-
children: iconSrc ? /* @__PURE__ */ (0,
|
|
5454
|
+
children: iconSrc ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("img", { src: iconSrc, alt: iconAlt ?? title, className: "size-5 object-contain" }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "material-symbols-outlined text-icon-xl", children: icon })
|
|
5375
5455
|
}
|
|
5376
5456
|
),
|
|
5377
|
-
/* @__PURE__ */ (0,
|
|
5378
|
-
/* @__PURE__ */ (0,
|
|
5379
|
-
description && /* @__PURE__ */ (0,
|
|
5457
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col flex-1 min-w-0", children: [
|
|
5458
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "font-bold text-body text-foreground tracking-wide", children: title }),
|
|
5459
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-muted-foreground mt-0.5 font-medium", children: description })
|
|
5380
5460
|
] })
|
|
5381
5461
|
] }),
|
|
5382
|
-
/* @__PURE__ */ (0,
|
|
5383
|
-
value && /* @__PURE__ */ (0,
|
|
5384
|
-
showChevron && isClickable && /* @__PURE__ */ (0,
|
|
5462
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
|
|
5463
|
+
value && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-xs text-muted-foreground font-mono", children: value }),
|
|
5464
|
+
showChevron && isClickable && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "material-symbols-outlined text-icon-md text-muted-foreground group-hover:scale-110 group-hover:text-white transition-all", children: "chevron_right" })
|
|
5385
5465
|
] })
|
|
5386
5466
|
] })
|
|
5387
5467
|
}
|
|
@@ -5389,9 +5469,9 @@ function SettingItem({
|
|
|
5389
5469
|
}
|
|
5390
5470
|
|
|
5391
5471
|
// src/web/components/section-label.tsx
|
|
5392
|
-
var
|
|
5472
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
5393
5473
|
function SectionLabel({ children, className }) {
|
|
5394
|
-
return /* @__PURE__ */ (0,
|
|
5474
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5395
5475
|
"span",
|
|
5396
5476
|
{
|
|
5397
5477
|
className: cn("text-xxs font-black uppercase tracking-eyebrow-wide text-muted-foreground", className),
|
|
@@ -5400,8 +5480,22 @@ function SectionLabel({ children, className }) {
|
|
|
5400
5480
|
);
|
|
5401
5481
|
}
|
|
5402
5482
|
|
|
5483
|
+
// src/web/components/section-header.tsx
|
|
5484
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
5485
|
+
function SectionHeader({
|
|
5486
|
+
children,
|
|
5487
|
+
right,
|
|
5488
|
+
as: Tag = "h2",
|
|
5489
|
+
className
|
|
5490
|
+
}) {
|
|
5491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: cn("flex items-center justify-between gap-3 px-1", className), children: [
|
|
5492
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Tag, { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children }),
|
|
5493
|
+
right
|
|
5494
|
+
] });
|
|
5495
|
+
}
|
|
5496
|
+
|
|
5403
5497
|
// src/web/components/alert-banner.tsx
|
|
5404
|
-
var
|
|
5498
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
5405
5499
|
var variantStyles = {
|
|
5406
5500
|
error: { container: "bg-danger/40", icon: "text-danger", iconName: "error" },
|
|
5407
5501
|
warning: { container: "bg-warning/40", icon: "text-warning", iconName: "warning" },
|
|
@@ -5410,15 +5504,67 @@ var variantStyles = {
|
|
|
5410
5504
|
};
|
|
5411
5505
|
function AlertBanner({ variant = "info", icon, children, className }) {
|
|
5412
5506
|
const styles = variantStyles[variant];
|
|
5413
|
-
return /* @__PURE__ */ (0,
|
|
5414
|
-
/* @__PURE__ */ (0,
|
|
5415
|
-
/* @__PURE__ */ (0,
|
|
5507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: cn("rounded-xl p-3 flex items-center gap-2", styles.container, className), children: [
|
|
5508
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Icon, { name: icon ?? styles.iconName, size: "md", className: cn("shrink-0", styles.icon) }),
|
|
5509
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: cn("text-sm", styles.icon), children })
|
|
5416
5510
|
] });
|
|
5417
5511
|
}
|
|
5418
5512
|
|
|
5513
|
+
// src/web/components/info-panel.tsx
|
|
5514
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
5515
|
+
var toneClass = {
|
|
5516
|
+
default: {
|
|
5517
|
+
panel: "border-white/8 bg-white/[0.03]",
|
|
5518
|
+
icon: "text-muted-foreground",
|
|
5519
|
+
title: "text-foreground"
|
|
5520
|
+
},
|
|
5521
|
+
primary: {
|
|
5522
|
+
panel: "border-primary/30 bg-primary/5",
|
|
5523
|
+
icon: "text-primary",
|
|
5524
|
+
title: "text-primary"
|
|
5525
|
+
},
|
|
5526
|
+
info: {
|
|
5527
|
+
panel: "border-info/20 bg-info/10",
|
|
5528
|
+
icon: "text-info",
|
|
5529
|
+
title: "text-info"
|
|
5530
|
+
},
|
|
5531
|
+
warning: {
|
|
5532
|
+
panel: "border-warning/20 bg-warning/5",
|
|
5533
|
+
icon: "text-warning",
|
|
5534
|
+
title: "text-warning"
|
|
5535
|
+
},
|
|
5536
|
+
danger: {
|
|
5537
|
+
panel: "border-danger/20 bg-danger/10",
|
|
5538
|
+
icon: "text-danger",
|
|
5539
|
+
title: "text-danger"
|
|
5540
|
+
},
|
|
5541
|
+
success: {
|
|
5542
|
+
panel: "border-success/20 bg-success/10",
|
|
5543
|
+
icon: "text-success",
|
|
5544
|
+
title: "text-success"
|
|
5545
|
+
}
|
|
5546
|
+
};
|
|
5547
|
+
function InfoPanel({
|
|
5548
|
+
tone = "info",
|
|
5549
|
+
title,
|
|
5550
|
+
icon = tone === "danger" ? "warning" : tone === "success" ? "check_circle" : "info",
|
|
5551
|
+
children,
|
|
5552
|
+
className
|
|
5553
|
+
}) {
|
|
5554
|
+
const styles = toneClass[tone];
|
|
5555
|
+
const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { name: icon, className: cn("mt-0.5 shrink-0 text-icon-xl", styles.icon) }) : icon;
|
|
5556
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn("rounded-xl border p-4", styles.panel, className), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex items-start gap-3", children: [
|
|
5557
|
+
renderedIcon,
|
|
5558
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
5559
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: cn("text-sm font-bold", styles.title), children: title }),
|
|
5560
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn("text-xs leading-relaxed", title ? "mt-1" : "", styles.title), children })
|
|
5561
|
+
] })
|
|
5562
|
+
] }) });
|
|
5563
|
+
}
|
|
5564
|
+
|
|
5419
5565
|
// src/web/components/error-boundary.tsx
|
|
5420
5566
|
var import_react12 = require("react");
|
|
5421
|
-
var
|
|
5567
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
5422
5568
|
var ErrorBoundary = class extends import_react12.Component {
|
|
5423
5569
|
constructor(props) {
|
|
5424
5570
|
super(props);
|
|
@@ -5432,11 +5578,11 @@ var ErrorBoundary = class extends import_react12.Component {
|
|
|
5432
5578
|
}
|
|
5433
5579
|
render() {
|
|
5434
5580
|
if (this.state.hasError) {
|
|
5435
|
-
return this.props.fallback ?? /* @__PURE__ */ (0,
|
|
5436
|
-
/* @__PURE__ */ (0,
|
|
5437
|
-
/* @__PURE__ */ (0,
|
|
5438
|
-
/* @__PURE__ */ (0,
|
|
5439
|
-
/* @__PURE__ */ (0,
|
|
5581
|
+
return this.props.fallback ?? /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
|
|
5582
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
|
|
5583
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
|
|
5584
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
|
|
5585
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
5440
5586
|
"button",
|
|
5441
5587
|
{
|
|
5442
5588
|
onClick: () => {
|
|
@@ -5454,7 +5600,7 @@ var ErrorBoundary = class extends import_react12.Component {
|
|
|
5454
5600
|
};
|
|
5455
5601
|
|
|
5456
5602
|
// src/web/components/recovery-phrase-card.tsx
|
|
5457
|
-
var
|
|
5603
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
5458
5604
|
function RecoveryPhraseCard({
|
|
5459
5605
|
words,
|
|
5460
5606
|
revealed = false,
|
|
@@ -5465,10 +5611,10 @@ function RecoveryPhraseCard({
|
|
|
5465
5611
|
className
|
|
5466
5612
|
}) {
|
|
5467
5613
|
const hasWords = words.length > 0;
|
|
5468
|
-
return /* @__PURE__ */ (0,
|
|
5469
|
-
/* @__PURE__ */ (0,
|
|
5470
|
-
/* @__PURE__ */ (0,
|
|
5471
|
-
hasWords && revealed && onRevealChange && /* @__PURE__ */ (0,
|
|
5614
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("section", { className: cn("space-y-2", className), children: [
|
|
5615
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center justify-between px-0.5", children: [
|
|
5616
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
|
|
5617
|
+
hasWords && revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
|
|
5472
5618
|
Button,
|
|
5473
5619
|
{
|
|
5474
5620
|
type: "button",
|
|
@@ -5477,27 +5623,27 @@ function RecoveryPhraseCard({
|
|
|
5477
5623
|
onClick: () => onRevealChange(!revealed),
|
|
5478
5624
|
className: "h-auto rounded-lg px-2 py-1 text-xs text-muted-foreground hover:text-white",
|
|
5479
5625
|
children: [
|
|
5480
|
-
/* @__PURE__ */ (0,
|
|
5626
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { name: "visibility_off", className: "text-icon-md" }),
|
|
5481
5627
|
"Hide"
|
|
5482
5628
|
]
|
|
5483
5629
|
}
|
|
5484
5630
|
)
|
|
5485
5631
|
] }),
|
|
5486
|
-
/* @__PURE__ */ (0,
|
|
5487
|
-
hasWords ? /* @__PURE__ */ (0,
|
|
5632
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "relative", children: [
|
|
5633
|
+
hasWords ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
5488
5634
|
"div",
|
|
5489
5635
|
{
|
|
5490
5636
|
className: cn(
|
|
5491
5637
|
"grid grid-cols-3 gap-2 transition-all duration-300",
|
|
5492
5638
|
!revealed && "pointer-events-none select-none blur-sm"
|
|
5493
5639
|
),
|
|
5494
|
-
children: words.map((word, index) => /* @__PURE__ */ (0,
|
|
5495
|
-
/* @__PURE__ */ (0,
|
|
5496
|
-
/* @__PURE__ */ (0,
|
|
5640
|
+
children: words.map((word, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
|
|
5641
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
|
|
5642
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "font-mono text-sm text-white", children: word })
|
|
5497
5643
|
] }, `${index}-${word}`))
|
|
5498
5644
|
}
|
|
5499
|
-
) : /* @__PURE__ */ (0,
|
|
5500
|
-
hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0,
|
|
5645
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "rounded-xl border border-warning/30 bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
|
|
5646
|
+
hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
|
|
5501
5647
|
Button,
|
|
5502
5648
|
{
|
|
5503
5649
|
type: "button",
|
|
@@ -5505,13 +5651,13 @@ function RecoveryPhraseCard({
|
|
|
5505
5651
|
size: "sm",
|
|
5506
5652
|
onClick: () => onRevealChange(true),
|
|
5507
5653
|
children: [
|
|
5508
|
-
/* @__PURE__ */ (0,
|
|
5654
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
5509
5655
|
"Tap to reveal"
|
|
5510
5656
|
]
|
|
5511
5657
|
}
|
|
5512
5658
|
) })
|
|
5513
5659
|
] }),
|
|
5514
|
-
hasWords && revealed && onCopy && /* @__PURE__ */ (0,
|
|
5660
|
+
hasWords && revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
|
|
5515
5661
|
Button,
|
|
5516
5662
|
{
|
|
5517
5663
|
type: "button",
|
|
@@ -5520,7 +5666,7 @@ function RecoveryPhraseCard({
|
|
|
5520
5666
|
onClick: onCopy,
|
|
5521
5667
|
className: "w-full",
|
|
5522
5668
|
children: [
|
|
5523
|
-
/* @__PURE__ */ (0,
|
|
5669
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
5524
5670
|
"Copy to clipboard"
|
|
5525
5671
|
]
|
|
5526
5672
|
}
|
|
@@ -5528,9 +5674,538 @@ function RecoveryPhraseCard({
|
|
|
5528
5674
|
] });
|
|
5529
5675
|
}
|
|
5530
5676
|
|
|
5677
|
+
// src/web/components/settings-selector-row.tsx
|
|
5678
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
5679
|
+
function SettingsSelectorRow({
|
|
5680
|
+
icon,
|
|
5681
|
+
title,
|
|
5682
|
+
description,
|
|
5683
|
+
control,
|
|
5684
|
+
className,
|
|
5685
|
+
iconClassName
|
|
5686
|
+
}) {
|
|
5687
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: cn("flex items-start justify-between gap-3 rounded-2xl bg-card p-5", className), children: [
|
|
5688
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
5689
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
5690
|
+
"div",
|
|
5691
|
+
{
|
|
5692
|
+
className: cn(
|
|
5693
|
+
"flex size-10 shrink-0 items-center justify-center rounded-xl bg-muted",
|
|
5694
|
+
iconClassName
|
|
5695
|
+
),
|
|
5696
|
+
children: icon
|
|
5697
|
+
}
|
|
5698
|
+
),
|
|
5699
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
5700
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
|
|
5701
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
|
|
5702
|
+
] })
|
|
5703
|
+
] }),
|
|
5704
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "shrink-0", children: control })
|
|
5705
|
+
] });
|
|
5706
|
+
}
|
|
5707
|
+
|
|
5708
|
+
// src/web/components/bottom-sheet.tsx
|
|
5709
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
5710
|
+
function BottomSheet({
|
|
5711
|
+
open,
|
|
5712
|
+
title,
|
|
5713
|
+
icon,
|
|
5714
|
+
children,
|
|
5715
|
+
onClose,
|
|
5716
|
+
closeOnBackdrop = true,
|
|
5717
|
+
actions,
|
|
5718
|
+
className,
|
|
5719
|
+
contentClassName
|
|
5720
|
+
}) {
|
|
5721
|
+
if (!open) return null;
|
|
5722
|
+
const handleBackdropClick = (event) => {
|
|
5723
|
+
if (closeOnBackdrop && event.target === event.currentTarget) onClose?.();
|
|
5724
|
+
};
|
|
5725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
5726
|
+
"div",
|
|
5727
|
+
{
|
|
5728
|
+
className: cn(
|
|
5729
|
+
"fixed inset-0 z-50 flex items-end justify-center bg-black/60 backdrop-blur-sm",
|
|
5730
|
+
className
|
|
5731
|
+
),
|
|
5732
|
+
onClick: handleBackdropClick,
|
|
5733
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
5734
|
+
"div",
|
|
5735
|
+
{
|
|
5736
|
+
className: cn(
|
|
5737
|
+
"max-h-[90vh] w-full overflow-y-auto rounded-t-2xl border-t border-border bg-background px-4 pb-6 pt-5 shadow-xl animate-in slide-in-from-bottom-4 duration-200",
|
|
5738
|
+
contentClassName
|
|
5739
|
+
),
|
|
5740
|
+
children: [
|
|
5741
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "-mt-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
|
|
5742
|
+
(title || icon) && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "mt-4 flex items-center gap-2", children: [
|
|
5743
|
+
icon,
|
|
5744
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-sm font-bold text-foreground", children: title })
|
|
5745
|
+
] }),
|
|
5746
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: cn((title || icon) && "mt-3"), children }),
|
|
5747
|
+
actions && actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "mt-4 flex gap-2", children: actions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
5748
|
+
Button,
|
|
5749
|
+
{
|
|
5750
|
+
type: "button",
|
|
5751
|
+
variant: action.variant ?? (index === actions.length - 1 ? "cta" : "outline"),
|
|
5752
|
+
size: "cta",
|
|
5753
|
+
className: "flex-1",
|
|
5754
|
+
onClick: action.onClick,
|
|
5755
|
+
disabled: action.disabled,
|
|
5756
|
+
children: [
|
|
5757
|
+
action.icon && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: action.icon, className: "text-icon-md" }),
|
|
5758
|
+
action.label
|
|
5759
|
+
]
|
|
5760
|
+
},
|
|
5761
|
+
index
|
|
5762
|
+
)) })
|
|
5763
|
+
]
|
|
5764
|
+
}
|
|
5765
|
+
)
|
|
5766
|
+
}
|
|
5767
|
+
);
|
|
5768
|
+
}
|
|
5769
|
+
|
|
5770
|
+
// src/web/components/disclosure-card.tsx
|
|
5771
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
5772
|
+
function DisclosureCard({
|
|
5773
|
+
title,
|
|
5774
|
+
children,
|
|
5775
|
+
open,
|
|
5776
|
+
onOpenChange,
|
|
5777
|
+
icon,
|
|
5778
|
+
className,
|
|
5779
|
+
triggerClassName,
|
|
5780
|
+
contentClassName
|
|
5781
|
+
}) {
|
|
5782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className, children: [
|
|
5783
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
5784
|
+
"button",
|
|
5785
|
+
{
|
|
5786
|
+
type: "button",
|
|
5787
|
+
onClick: () => onOpenChange(!open),
|
|
5788
|
+
className: cn(
|
|
5789
|
+
"flex w-full items-center justify-between rounded-xl border border-border bg-white/3 px-3 py-2 text-left transition-colors hover:bg-white/6",
|
|
5790
|
+
triggerClassName
|
|
5791
|
+
),
|
|
5792
|
+
children: [
|
|
5793
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
5794
|
+
icon,
|
|
5795
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "truncate text-xs font-bold text-foreground", children: title })
|
|
5796
|
+
] }),
|
|
5797
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
5798
|
+
Icon,
|
|
5799
|
+
{
|
|
5800
|
+
name: open ? "expand_less" : "expand_more",
|
|
5801
|
+
className: "text-icon-md text-muted-foreground"
|
|
5802
|
+
}
|
|
5803
|
+
)
|
|
5804
|
+
]
|
|
5805
|
+
}
|
|
5806
|
+
),
|
|
5807
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
5808
|
+
"div",
|
|
5809
|
+
{
|
|
5810
|
+
className: cn(
|
|
5811
|
+
"mt-3 rounded-xl border border-border bg-white/3 px-3 py-3",
|
|
5812
|
+
contentClassName
|
|
5813
|
+
),
|
|
5814
|
+
children
|
|
5815
|
+
}
|
|
5816
|
+
)
|
|
5817
|
+
] });
|
|
5818
|
+
}
|
|
5819
|
+
|
|
5820
|
+
// src/web/components/stepper-number-input.tsx
|
|
5821
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
5822
|
+
function StepperNumberInput({
|
|
5823
|
+
value,
|
|
5824
|
+
onChange,
|
|
5825
|
+
min,
|
|
5826
|
+
max,
|
|
5827
|
+
step = 1,
|
|
5828
|
+
disabled,
|
|
5829
|
+
className,
|
|
5830
|
+
inputClassName,
|
|
5831
|
+
ariaLabel
|
|
5832
|
+
}) {
|
|
5833
|
+
const clamp = (next) => {
|
|
5834
|
+
const boundedMin = min === void 0 ? next : Math.max(min, next);
|
|
5835
|
+
const bounded = max === void 0 ? boundedMin : Math.min(max, boundedMin);
|
|
5836
|
+
onChange(Number.isFinite(bounded) ? bounded : min ?? 0);
|
|
5837
|
+
};
|
|
5838
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
|
|
5839
|
+
"div",
|
|
5840
|
+
{
|
|
5841
|
+
className: cn(
|
|
5842
|
+
"flex items-center gap-1.5 overflow-hidden rounded-lg border border-border bg-black/25",
|
|
5843
|
+
className
|
|
5844
|
+
),
|
|
5845
|
+
children: [
|
|
5846
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5847
|
+
"button",
|
|
5848
|
+
{
|
|
5849
|
+
type: "button",
|
|
5850
|
+
className: "px-3 py-1.5 text-white/70 transition-colors hover:bg-white/8 hover:text-white disabled:opacity-30",
|
|
5851
|
+
disabled: disabled || min !== void 0 && value <= min,
|
|
5852
|
+
onClick: () => clamp(value - step),
|
|
5853
|
+
"aria-label": "Decrease",
|
|
5854
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Icon, { name: "remove", className: "text-icon-md" })
|
|
5855
|
+
}
|
|
5856
|
+
),
|
|
5857
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5858
|
+
"input",
|
|
5859
|
+
{
|
|
5860
|
+
type: "number",
|
|
5861
|
+
min,
|
|
5862
|
+
max,
|
|
5863
|
+
step,
|
|
5864
|
+
value,
|
|
5865
|
+
disabled,
|
|
5866
|
+
"aria-label": ariaLabel,
|
|
5867
|
+
onChange: (event) => clamp(Number(event.target.value)),
|
|
5868
|
+
className: cn(
|
|
5869
|
+
"min-w-0 flex-1 bg-transparent text-center text-sm font-bold text-foreground focus:outline-none",
|
|
5870
|
+
inputClassName
|
|
5871
|
+
)
|
|
5872
|
+
}
|
|
5873
|
+
),
|
|
5874
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5875
|
+
"button",
|
|
5876
|
+
{
|
|
5877
|
+
type: "button",
|
|
5878
|
+
className: "px-3 py-1.5 text-white/70 transition-colors hover:bg-white/8 hover:text-white disabled:opacity-30",
|
|
5879
|
+
disabled: disabled || max !== void 0 && value >= max,
|
|
5880
|
+
onClick: () => clamp(value + step),
|
|
5881
|
+
"aria-label": "Increase",
|
|
5882
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Icon, { name: "add", className: "text-icon-md" })
|
|
5883
|
+
}
|
|
5884
|
+
)
|
|
5885
|
+
]
|
|
5886
|
+
}
|
|
5887
|
+
);
|
|
5888
|
+
}
|
|
5889
|
+
|
|
5890
|
+
// src/web/components/metric-card.tsx
|
|
5891
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
5892
|
+
var toneClasses2 = {
|
|
5893
|
+
primary: "border-primary/20 bg-primary/10 text-primary",
|
|
5894
|
+
purple: "border-network-arkade/20 bg-network-arkade/10 text-network-arkade",
|
|
5895
|
+
blue: "border-info/20 bg-info/10 text-info",
|
|
5896
|
+
info: "border-info/20 bg-info/10 text-info",
|
|
5897
|
+
warning: "border-warning/20 bg-warning/10 text-warning",
|
|
5898
|
+
success: "border-success/20 bg-success/10 text-success",
|
|
5899
|
+
muted: "border-white/8 bg-white/5 text-muted-foreground"
|
|
5900
|
+
};
|
|
5901
|
+
function MetricCard({
|
|
5902
|
+
label,
|
|
5903
|
+
value,
|
|
5904
|
+
description,
|
|
5905
|
+
icon,
|
|
5906
|
+
tone = "muted",
|
|
5907
|
+
className
|
|
5908
|
+
}) {
|
|
5909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn("space-y-1 rounded-xl border border-white/8 bg-white/3 p-2.5", className), children: [
|
|
5910
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
5911
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: cn("flex size-5 items-center justify-center rounded-md", toneClasses2[tone]), children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: icon, className: "text-icon-xs" }) : icon }),
|
|
5912
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
|
|
5913
|
+
] }),
|
|
5914
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "font-mono text-sm font-bold text-foreground", children: value }),
|
|
5915
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "text-xxs text-white/45", children: description })
|
|
5916
|
+
] });
|
|
5917
|
+
}
|
|
5918
|
+
|
|
5919
|
+
// src/web/components/filter-chip-group.tsx
|
|
5920
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
5921
|
+
function FilterChipGroup({
|
|
5922
|
+
options,
|
|
5923
|
+
value,
|
|
5924
|
+
onChange,
|
|
5925
|
+
className
|
|
5926
|
+
}) {
|
|
5927
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
|
|
5928
|
+
const active = option.value === value;
|
|
5929
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
5930
|
+
"button",
|
|
5931
|
+
{
|
|
5932
|
+
type: "button",
|
|
5933
|
+
disabled: option.disabled,
|
|
5934
|
+
onClick: () => onChange(option.value),
|
|
5935
|
+
className: cn(
|
|
5936
|
+
"flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-full border px-2.5 py-1 text-tiny font-bold transition-all",
|
|
5937
|
+
active ? "border-white/20 bg-white/12 text-white" : "border-white/8 bg-white/5 text-muted-foreground hover:border-white/20 hover:text-white/80",
|
|
5938
|
+
option.disabled && "cursor-not-allowed opacity-40"
|
|
5939
|
+
),
|
|
5940
|
+
children: [
|
|
5941
|
+
option.icon,
|
|
5942
|
+
option.label,
|
|
5943
|
+
option.count !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
5944
|
+
"span",
|
|
5945
|
+
{
|
|
5946
|
+
className: cn(
|
|
5947
|
+
"rounded-full px-1.5 py-0.5 text-xxs",
|
|
5948
|
+
active ? "bg-white/20" : "bg-white/8"
|
|
5949
|
+
),
|
|
5950
|
+
children: option.count
|
|
5951
|
+
}
|
|
5952
|
+
)
|
|
5953
|
+
]
|
|
5954
|
+
},
|
|
5955
|
+
option.value
|
|
5956
|
+
);
|
|
5957
|
+
}) });
|
|
5958
|
+
}
|
|
5959
|
+
|
|
5960
|
+
// src/web/components/activity-row.tsx
|
|
5961
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
5962
|
+
var directionUi = {
|
|
5963
|
+
inbound: { icon: "south_west", iconClass: "bg-primary/20 text-primary", amountClass: "text-primary", sign: "+" },
|
|
5964
|
+
outbound: { icon: "north_east", iconClass: "bg-white/10 text-muted-foreground", amountClass: "text-foreground", sign: "-" },
|
|
5965
|
+
swap: { icon: "swap_horiz", iconClass: "bg-white/10 text-foreground", amountClass: "text-foreground", sign: "" },
|
|
5966
|
+
neutral: { icon: "receipt_long", iconClass: "bg-white/10 text-muted-foreground", amountClass: "text-foreground", sign: "" }
|
|
5967
|
+
};
|
|
5968
|
+
function ActivityRow({
|
|
5969
|
+
title,
|
|
5970
|
+
amount,
|
|
5971
|
+
direction = "neutral",
|
|
5972
|
+
status,
|
|
5973
|
+
timestamp,
|
|
5974
|
+
networkBadge,
|
|
5975
|
+
unit,
|
|
5976
|
+
icon,
|
|
5977
|
+
onClick,
|
|
5978
|
+
className
|
|
5979
|
+
}) {
|
|
5980
|
+
const ui = directionUi[direction];
|
|
5981
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
|
|
5982
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
5983
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: cn("flex size-10 shrink-0 items-center justify-center rounded-xl shadow-inner", ui.iconClass), children: typeof icon === "string" || !icon ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Icon, { name: icon ?? ui.icon, className: "text-icon-xl" }) : icon }),
|
|
5984
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex min-w-0 flex-col", children: [
|
|
5985
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
5986
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
|
|
5987
|
+
networkBadge
|
|
5988
|
+
] }),
|
|
5989
|
+
(status || timestamp) && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "mt-1 flex items-center gap-2", children: [
|
|
5990
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(StatusBadge, { status, className: "px-1.5 py-0.5 text-xxs" }),
|
|
5991
|
+
timestamp && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-xxs text-muted-foreground", children: timestamp })
|
|
5992
|
+
] })
|
|
5993
|
+
] })
|
|
5994
|
+
] }),
|
|
5995
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "shrink-0 text-right", children: [
|
|
5996
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
|
|
5997
|
+
ui.sign,
|
|
5998
|
+
amount
|
|
5999
|
+
] }),
|
|
6000
|
+
unit && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
|
|
6001
|
+
] })
|
|
6002
|
+
] });
|
|
6003
|
+
const rowClassName = cn(
|
|
6004
|
+
"flex w-full items-center justify-between gap-3 rounded-2xl bg-card p-4 shadow-inner transition-colors",
|
|
6005
|
+
onClick && "hover:bg-accent",
|
|
6006
|
+
className
|
|
6007
|
+
);
|
|
6008
|
+
if (onClick) {
|
|
6009
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("button", { type: "button", onClick, className: rowClassName, children: content });
|
|
6010
|
+
}
|
|
6011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: rowClassName, children: content });
|
|
6012
|
+
}
|
|
6013
|
+
|
|
6014
|
+
// src/web/components/skeleton.tsx
|
|
6015
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
6016
|
+
var toneClass2 = {
|
|
6017
|
+
primary: "bg-white/10",
|
|
6018
|
+
secondary: "bg-white/5",
|
|
6019
|
+
card: "bg-white/[0.06]"
|
|
6020
|
+
};
|
|
6021
|
+
function Skeleton({ className, tone = "primary" }) {
|
|
6022
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
|
|
6023
|
+
}
|
|
6024
|
+
function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
6025
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: cn("space-y-2", className), children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
|
|
6026
|
+
"div",
|
|
6027
|
+
{
|
|
6028
|
+
className: cn(
|
|
6029
|
+
"flex items-center gap-3 rounded-2xl bg-white/[0.02] p-4 animate-pulse",
|
|
6030
|
+
rowClassName
|
|
6031
|
+
),
|
|
6032
|
+
children: [
|
|
6033
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
|
|
6034
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
6035
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Skeleton, { className: "h-3 w-28" }),
|
|
6036
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
|
|
6037
|
+
] }),
|
|
6038
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex flex-col items-end space-y-1.5", children: [
|
|
6039
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Skeleton, { className: "h-3 w-14" }),
|
|
6040
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Skeleton, { tone: "secondary", className: "h-2 w-10" })
|
|
6041
|
+
] })
|
|
6042
|
+
]
|
|
6043
|
+
},
|
|
6044
|
+
index
|
|
6045
|
+
)) });
|
|
6046
|
+
}
|
|
6047
|
+
|
|
6048
|
+
// src/web/components/secret-reveal-card.tsx
|
|
6049
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
6050
|
+
function SecretRevealCard({
|
|
6051
|
+
value,
|
|
6052
|
+
revealed,
|
|
6053
|
+
onRevealChange,
|
|
6054
|
+
onCopy,
|
|
6055
|
+
revealLabel = "Tap to reveal",
|
|
6056
|
+
hideLabel = "Hide",
|
|
6057
|
+
copyLabel = "Copy",
|
|
6058
|
+
className,
|
|
6059
|
+
valueClassName
|
|
6060
|
+
}) {
|
|
6061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: cn("space-y-3", className), children: [
|
|
6062
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "relative", children: [
|
|
6063
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
6064
|
+
"p",
|
|
6065
|
+
{
|
|
6066
|
+
className: cn(
|
|
6067
|
+
"break-all font-mono text-sm text-foreground transition-all duration-300",
|
|
6068
|
+
!revealed && "pointer-events-none select-none blur-sm",
|
|
6069
|
+
valueClassName
|
|
6070
|
+
),
|
|
6071
|
+
children: value
|
|
6072
|
+
}
|
|
6073
|
+
) }),
|
|
6074
|
+
!revealed && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
6075
|
+
"button",
|
|
6076
|
+
{
|
|
6077
|
+
type: "button",
|
|
6078
|
+
onClick: () => onRevealChange(true),
|
|
6079
|
+
className: "flex items-center gap-2 rounded-xl border border-white/20 bg-card px-4 py-2 text-sm font-bold text-foreground shadow-lg transition-all hover:bg-accent",
|
|
6080
|
+
children: [
|
|
6081
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
6082
|
+
revealLabel
|
|
6083
|
+
]
|
|
6084
|
+
}
|
|
6085
|
+
) })
|
|
6086
|
+
] }),
|
|
6087
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex gap-2", children: [
|
|
6088
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
6089
|
+
"button",
|
|
6090
|
+
{
|
|
6091
|
+
type: "button",
|
|
6092
|
+
onClick: () => onRevealChange(!revealed),
|
|
6093
|
+
className: "flex flex-1 items-center justify-center gap-2 rounded-xl bg-white/5 py-3 text-sm font-semibold text-muted-foreground transition-all hover:bg-accent hover:text-foreground",
|
|
6094
|
+
children: [
|
|
6095
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
|
|
6096
|
+
revealed ? hideLabel : revealLabel
|
|
6097
|
+
]
|
|
6098
|
+
}
|
|
6099
|
+
),
|
|
6100
|
+
revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
6101
|
+
"button",
|
|
6102
|
+
{
|
|
6103
|
+
type: "button",
|
|
6104
|
+
onClick: onCopy,
|
|
6105
|
+
className: "flex flex-1 items-center justify-center gap-2 rounded-xl bg-white/5 py-3 text-sm font-semibold text-muted-foreground transition-all hover:bg-accent hover:text-foreground",
|
|
6106
|
+
children: [
|
|
6107
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
6108
|
+
copyLabel
|
|
6109
|
+
]
|
|
6110
|
+
}
|
|
6111
|
+
)
|
|
6112
|
+
] })
|
|
6113
|
+
] });
|
|
6114
|
+
}
|
|
6115
|
+
|
|
6116
|
+
// src/web/components/settings-section-card.tsx
|
|
6117
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
6118
|
+
function SettingsSectionCard({
|
|
6119
|
+
title,
|
|
6120
|
+
description,
|
|
6121
|
+
badge,
|
|
6122
|
+
children,
|
|
6123
|
+
className,
|
|
6124
|
+
bodyClassName
|
|
6125
|
+
}) {
|
|
6126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("section", { className: cn("space-y-4 rounded-xl bg-card p-4", className), children: [
|
|
6127
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-start justify-between gap-4", children: [
|
|
6128
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
6129
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("h2", { className: "text-sm font-bold text-foreground", children: title }),
|
|
6130
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
|
|
6131
|
+
] }),
|
|
6132
|
+
badge
|
|
6133
|
+
] }),
|
|
6134
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: bodyClassName, children })
|
|
6135
|
+
] });
|
|
6136
|
+
}
|
|
6137
|
+
var badgeToneClass = {
|
|
6138
|
+
primary: "border-primary/30 bg-primary/10 text-primary",
|
|
6139
|
+
info: "border-info/30 bg-info/10 text-info",
|
|
6140
|
+
warning: "border-warning/30 bg-warning/10 text-warning",
|
|
6141
|
+
danger: "border-danger/30 bg-danger/10 text-danger",
|
|
6142
|
+
success: "border-success/30 bg-success/10 text-success",
|
|
6143
|
+
muted: "border-white/10 bg-white/[0.05] text-white/55"
|
|
6144
|
+
};
|
|
6145
|
+
function ToneBadge({ children, tone = "muted", className }) {
|
|
6146
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6147
|
+
"span",
|
|
6148
|
+
{
|
|
6149
|
+
className: cn(
|
|
6150
|
+
"rounded-full border px-2.5 py-1 text-xxs font-bold uppercase tracking-wider",
|
|
6151
|
+
badgeToneClass[tone],
|
|
6152
|
+
className
|
|
6153
|
+
),
|
|
6154
|
+
children
|
|
6155
|
+
}
|
|
6156
|
+
);
|
|
6157
|
+
}
|
|
6158
|
+
|
|
6159
|
+
// src/web/components/selectable-card.tsx
|
|
6160
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
6161
|
+
function SelectableCard({
|
|
6162
|
+
selected,
|
|
6163
|
+
onClick,
|
|
6164
|
+
title,
|
|
6165
|
+
description,
|
|
6166
|
+
badge,
|
|
6167
|
+
preview,
|
|
6168
|
+
indicator = true,
|
|
6169
|
+
children,
|
|
6170
|
+
className
|
|
6171
|
+
}) {
|
|
6172
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
6173
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
6174
|
+
indicator && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
6175
|
+
"div",
|
|
6176
|
+
{
|
|
6177
|
+
className: cn(
|
|
6178
|
+
"mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
|
|
6179
|
+
selected ? "border-primary bg-primary" : "border-white/20"
|
|
6180
|
+
),
|
|
6181
|
+
children: selected && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "size-2 rounded-full bg-background" })
|
|
6182
|
+
}
|
|
6183
|
+
),
|
|
6184
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
6185
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
6186
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "text-body font-bold text-foreground", children: title }),
|
|
6187
|
+
badge
|
|
6188
|
+
] }),
|
|
6189
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
|
|
6190
|
+
children
|
|
6191
|
+
] })
|
|
6192
|
+
] }),
|
|
6193
|
+
preview && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "shrink-0 text-right", children: preview })
|
|
6194
|
+
] });
|
|
6195
|
+
const cardClassName = cn(
|
|
6196
|
+
"w-full rounded-2xl border p-4 text-left transition-all duration-200",
|
|
6197
|
+
selected ? "border-primary/40 bg-primary/10 shadow-sm" : "border-border bg-card hover:bg-accent",
|
|
6198
|
+
className
|
|
6199
|
+
);
|
|
6200
|
+
if (onClick) {
|
|
6201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("button", { type: "button", onClick, className: cardClassName, children: content });
|
|
6202
|
+
}
|
|
6203
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: cardClassName, children: content });
|
|
6204
|
+
}
|
|
6205
|
+
|
|
5531
6206
|
// src/web/components/mobile-hero-animation.tsx
|
|
5532
6207
|
var import_react13 = require("react");
|
|
5533
|
-
var
|
|
6208
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
5534
6209
|
var PROTOCOLS = [
|
|
5535
6210
|
{ name: "Bitcoin", network: "Bitcoin", iconSuffix: "bitcoin/bitcoin-logo.svg" },
|
|
5536
6211
|
{ name: "Lightning", network: "LN", iconSuffix: "lightning/lightning.svg" },
|
|
@@ -5589,15 +6264,15 @@ var MobileHeroAnimation = ({
|
|
|
5589
6264
|
}, []);
|
|
5590
6265
|
const anim = !reducedMotion && isVisible;
|
|
5591
6266
|
const scale = size / 280;
|
|
5592
|
-
return /* @__PURE__ */ (0,
|
|
6267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
5593
6268
|
"div",
|
|
5594
6269
|
{
|
|
5595
6270
|
ref: containerRef,
|
|
5596
6271
|
className,
|
|
5597
6272
|
style: { position: "relative", width: size, height: size },
|
|
5598
6273
|
children: [
|
|
5599
|
-
/* @__PURE__ */ (0,
|
|
5600
|
-
/* @__PURE__ */ (0,
|
|
6274
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("style", { children: KEYFRAMES }),
|
|
6275
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { style: {
|
|
5601
6276
|
position: "absolute",
|
|
5602
6277
|
top: 0,
|
|
5603
6278
|
left: 0,
|
|
@@ -5606,7 +6281,7 @@ var MobileHeroAnimation = ({
|
|
|
5606
6281
|
transformOrigin: "top left",
|
|
5607
6282
|
transform: scale !== 1 ? `scale(${scale})` : void 0
|
|
5608
6283
|
}, children: [
|
|
5609
|
-
/* @__PURE__ */ (0,
|
|
6284
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
5610
6285
|
"svg",
|
|
5611
6286
|
{
|
|
5612
6287
|
viewBox: "0 0 280 280",
|
|
@@ -5615,35 +6290,35 @@ var MobileHeroAnimation = ({
|
|
|
5615
6290
|
style: { position: "absolute", inset: 0 },
|
|
5616
6291
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5617
6292
|
children: [
|
|
5618
|
-
/* @__PURE__ */ (0,
|
|
5619
|
-
/* @__PURE__ */ (0,
|
|
5620
|
-
/* @__PURE__ */ (0,
|
|
5621
|
-
/* @__PURE__ */ (0,
|
|
5622
|
-
/* @__PURE__ */ (0,
|
|
6293
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("defs", { children: [
|
|
6294
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6295
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6296
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6297
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
5623
6298
|
] }),
|
|
5624
|
-
/* @__PURE__ */ (0,
|
|
5625
|
-
/* @__PURE__ */ (0,
|
|
5626
|
-
/* @__PURE__ */ (0,
|
|
6299
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6300
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6301
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
5627
6302
|
] }),
|
|
5628
|
-
/* @__PURE__ */ (0,
|
|
5629
|
-
/* @__PURE__ */ (0,
|
|
5630
|
-
/* @__PURE__ */ (0,
|
|
6303
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6304
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6305
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
5631
6306
|
] }),
|
|
5632
|
-
/* @__PURE__ */ (0,
|
|
5633
|
-
/* @__PURE__ */ (0,
|
|
5634
|
-
/* @__PURE__ */ (0,
|
|
5635
|
-
/* @__PURE__ */ (0,
|
|
5636
|
-
/* @__PURE__ */ (0,
|
|
6307
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6308
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
|
|
6309
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("feMerge", { children: [
|
|
6310
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("feMergeNode", { in: "blur" }),
|
|
6311
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
5637
6312
|
] })
|
|
5638
6313
|
] })
|
|
5639
6314
|
] }),
|
|
5640
|
-
/* @__PURE__ */ (0,
|
|
5641
|
-
/* @__PURE__ */ (0,
|
|
5642
|
-
/* @__PURE__ */ (0,
|
|
6315
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("circle", { cx: C, cy: C, r: ORBIT_R, fill: "none", stroke: "#0e9dff", strokeWidth: "1", strokeOpacity: "0.25", opacity: "0.4", children: anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
|
|
6316
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
|
|
6317
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
|
|
5643
6318
|
] }) }),
|
|
5644
|
-
/* @__PURE__ */ (0,
|
|
5645
|
-
/* @__PURE__ */ (0,
|
|
5646
|
-
anim && /* @__PURE__ */ (0,
|
|
6319
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
|
|
6320
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("g", { children: [
|
|
6321
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
5647
6322
|
"animateTransform",
|
|
5648
6323
|
{
|
|
5649
6324
|
attributeName: "transform",
|
|
@@ -5664,8 +6339,8 @@ var MobileHeroAnimation = ({
|
|
|
5664
6339
|
const y2 = C + dy * (ORBIT_R - BADGE_HALF);
|
|
5665
6340
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
5666
6341
|
const dur = `${2 + i * 0.3}s`;
|
|
5667
|
-
return /* @__PURE__ */ (0,
|
|
5668
|
-
/* @__PURE__ */ (0,
|
|
6342
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("g", { children: [
|
|
6343
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
5669
6344
|
"line",
|
|
5670
6345
|
{
|
|
5671
6346
|
x1,
|
|
@@ -5676,29 +6351,29 @@ var MobileHeroAnimation = ({
|
|
|
5676
6351
|
strokeWidth: "0.8",
|
|
5677
6352
|
strokeDasharray: "2 4",
|
|
5678
6353
|
opacity: "0.25",
|
|
5679
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6354
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
5680
6355
|
}
|
|
5681
6356
|
),
|
|
5682
|
-
/* @__PURE__ */ (0,
|
|
5683
|
-
/* @__PURE__ */ (0,
|
|
5684
|
-
/* @__PURE__ */ (0,
|
|
5685
|
-
/* @__PURE__ */ (0,
|
|
5686
|
-
/* @__PURE__ */ (0,
|
|
6357
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
|
|
6358
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
|
|
6359
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
|
|
6360
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
|
|
6361
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
|
|
5687
6362
|
] }) })
|
|
5688
6363
|
] }, `line-${i}`);
|
|
5689
6364
|
})
|
|
5690
6365
|
] }),
|
|
5691
|
-
/* @__PURE__ */ (0,
|
|
5692
|
-
/* @__PURE__ */ (0,
|
|
5693
|
-
/* @__PURE__ */ (0,
|
|
5694
|
-
/* @__PURE__ */ (0,
|
|
6366
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
|
|
6367
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
|
|
6368
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
|
|
6369
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
5695
6370
|
] }) }),
|
|
5696
|
-
/* @__PURE__ */ (0,
|
|
5697
|
-
/* @__PURE__ */ (0,
|
|
5698
|
-
/* @__PURE__ */ (0,
|
|
6371
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("circle", { cx: C, cy: C, r: "27", fill: "none", stroke: "url(#mh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
|
|
6372
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
6373
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
5699
6374
|
] }) }),
|
|
5700
|
-
/* @__PURE__ */ (0,
|
|
5701
|
-
anim && /* @__PURE__ */ (0,
|
|
6375
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("g", { children: [
|
|
6376
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
5702
6377
|
"animateTransform",
|
|
5703
6378
|
{
|
|
5704
6379
|
attributeName: "transform",
|
|
@@ -5710,13 +6385,13 @@ var MobileHeroAnimation = ({
|
|
|
5710
6385
|
additive: "sum"
|
|
5711
6386
|
}
|
|
5712
6387
|
),
|
|
5713
|
-
/* @__PURE__ */ (0,
|
|
5714
|
-
/* @__PURE__ */ (0,
|
|
5715
|
-
/* @__PURE__ */ (0,
|
|
6388
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: hexPath(34), fill: "none", stroke: "url(#mh-gp)", strokeWidth: "1.5", opacity: "0.4", filter: "url(#mh-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
|
|
6389
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
6390
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
5716
6391
|
] }) })
|
|
5717
6392
|
] }) }),
|
|
5718
|
-
/* @__PURE__ */ (0,
|
|
5719
|
-
anim && /* @__PURE__ */ (0,
|
|
6393
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("g", { children: [
|
|
6394
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
5720
6395
|
"animateTransform",
|
|
5721
6396
|
{
|
|
5722
6397
|
attributeName: "transform",
|
|
@@ -5728,28 +6403,28 @@ var MobileHeroAnimation = ({
|
|
|
5728
6403
|
additive: "sum"
|
|
5729
6404
|
}
|
|
5730
6405
|
),
|
|
5731
|
-
/* @__PURE__ */ (0,
|
|
6406
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
|
|
5732
6407
|
] }) }),
|
|
5733
|
-
/* @__PURE__ */ (0,
|
|
5734
|
-
/* @__PURE__ */ (0,
|
|
5735
|
-
/* @__PURE__ */ (0,
|
|
5736
|
-
/* @__PURE__ */ (0,
|
|
5737
|
-
/* @__PURE__ */ (0,
|
|
5738
|
-
/* @__PURE__ */ (0,
|
|
5739
|
-
/* @__PURE__ */ (0,
|
|
5740
|
-
/* @__PURE__ */ (0,
|
|
5741
|
-
/* @__PURE__ */ (0,
|
|
5742
|
-
/* @__PURE__ */ (0,
|
|
5743
|
-
/* @__PURE__ */ (0,
|
|
5744
|
-
/* @__PURE__ */ (0,
|
|
5745
|
-
/* @__PURE__ */ (0,
|
|
5746
|
-
/* @__PURE__ */ (0,
|
|
5747
|
-
/* @__PURE__ */ (0,
|
|
6408
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("g", { transform: `translate(${C - 19},${C - 19}) scale(0.182)`, children: [
|
|
6409
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
|
|
6410
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
|
|
6411
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
|
|
6412
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
|
|
6413
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
|
|
6414
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
|
|
6415
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
|
|
6416
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
|
|
6417
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
|
|
6418
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
|
|
6419
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
|
|
6420
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
|
|
6421
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
|
|
6422
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
|
|
5748
6423
|
] })
|
|
5749
6424
|
]
|
|
5750
6425
|
}
|
|
5751
6426
|
),
|
|
5752
|
-
/* @__PURE__ */ (0,
|
|
6427
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { style: {
|
|
5753
6428
|
position: "absolute",
|
|
5754
6429
|
inset: 0,
|
|
5755
6430
|
width: 280,
|
|
@@ -5760,7 +6435,7 @@ var MobileHeroAnimation = ({
|
|
|
5760
6435
|
const x = C + Math.cos(angle) * ORBIT_R - BADGE_HALF;
|
|
5761
6436
|
const y = C + Math.sin(angle) * ORBIT_R - BADGE_HALF;
|
|
5762
6437
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
5763
|
-
return /* @__PURE__ */ (0,
|
|
6438
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
5764
6439
|
"div",
|
|
5765
6440
|
{
|
|
5766
6441
|
style: {
|
|
@@ -5771,7 +6446,7 @@ var MobileHeroAnimation = ({
|
|
|
5771
6446
|
height: BADGE_SIZE,
|
|
5772
6447
|
animation: anim ? "mha-counter-spin 20s linear infinite" : "none"
|
|
5773
6448
|
},
|
|
5774
|
-
children: /* @__PURE__ */ (0,
|
|
6449
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { style: {
|
|
5775
6450
|
width: "100%",
|
|
5776
6451
|
height: "100%",
|
|
5777
6452
|
borderRadius: "50%",
|
|
@@ -5782,7 +6457,7 @@ var MobileHeroAnimation = ({
|
|
|
5782
6457
|
display: "flex",
|
|
5783
6458
|
alignItems: "center",
|
|
5784
6459
|
justifyContent: "center"
|
|
5785
|
-
}, children: /* @__PURE__ */ (0,
|
|
6460
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
5786
6461
|
"img",
|
|
5787
6462
|
{
|
|
5788
6463
|
src: iconBasePath ? `${iconBasePath}/${protocol.iconSuffix}` : protocolIcons[protocol.network] ?? protocol.iconSuffix,
|
|
@@ -5802,7 +6477,7 @@ var MobileHeroAnimation = ({
|
|
|
5802
6477
|
|
|
5803
6478
|
// src/web/components/kaleidoscope-hero-animation.tsx
|
|
5804
6479
|
var import_react14 = require("react");
|
|
5805
|
-
var
|
|
6480
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
5806
6481
|
var PROTOCOLS2 = [
|
|
5807
6482
|
{ name: "Bitcoin L1", network: "L1", color: "#F7931A", glowColor: "rgba(247,147,26,0.5)" },
|
|
5808
6483
|
{ name: "Lightning", network: "LN", color: "#fbbf24", glowColor: "rgba(251,191,36,0.5)" },
|
|
@@ -5907,13 +6582,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
5907
6582
|
const angle = Math.PI * 2 * i / 7 - Math.PI / 2;
|
|
5908
6583
|
return { x: c + orbitR * Math.cos(angle), y: c + orbitR * Math.sin(angle) };
|
|
5909
6584
|
});
|
|
5910
|
-
return /* @__PURE__ */ (0,
|
|
6585
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
5911
6586
|
"div",
|
|
5912
6587
|
{
|
|
5913
6588
|
ref: containerRef,
|
|
5914
6589
|
className: `relative ${className}`,
|
|
5915
6590
|
style: size ? { width: size, height: size } : void 0,
|
|
5916
|
-
children: /* @__PURE__ */ (0,
|
|
6591
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
5917
6592
|
"svg",
|
|
5918
6593
|
{
|
|
5919
6594
|
viewBox: "0 0 500 500",
|
|
@@ -5922,60 +6597,60 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
5922
6597
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5923
6598
|
className: "overflow-visible",
|
|
5924
6599
|
children: [
|
|
5925
|
-
/* @__PURE__ */ (0,
|
|
5926
|
-
/* @__PURE__ */ (0,
|
|
5927
|
-
/* @__PURE__ */ (0,
|
|
5928
|
-
/* @__PURE__ */ (0,
|
|
6600
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("defs", { children: [
|
|
6601
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6602
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
|
|
6603
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
|
|
5929
6604
|
] }),
|
|
5930
|
-
/* @__PURE__ */ (0,
|
|
5931
|
-
/* @__PURE__ */ (0,
|
|
5932
|
-
/* @__PURE__ */ (0,
|
|
6605
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
|
|
6606
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
|
|
6607
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
|
|
5933
6608
|
] }),
|
|
5934
|
-
/* @__PURE__ */ (0,
|
|
5935
|
-
/* @__PURE__ */ (0,
|
|
5936
|
-
/* @__PURE__ */ (0,
|
|
6609
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
|
|
6610
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
|
|
6611
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
|
|
5937
6612
|
] }),
|
|
5938
|
-
/* @__PURE__ */ (0,
|
|
5939
|
-
/* @__PURE__ */ (0,
|
|
5940
|
-
/* @__PURE__ */ (0,
|
|
6613
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6614
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6615
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
5941
6616
|
] }),
|
|
5942
|
-
/* @__PURE__ */ (0,
|
|
5943
|
-
/* @__PURE__ */ (0,
|
|
5944
|
-
/* @__PURE__ */ (0,
|
|
6617
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6618
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#F7931A" }),
|
|
6619
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "#06b6d4" })
|
|
5945
6620
|
] }),
|
|
5946
|
-
/* @__PURE__ */ (0,
|
|
5947
|
-
/* @__PURE__ */ (0,
|
|
5948
|
-
/* @__PURE__ */ (0,
|
|
6621
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6622
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6623
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
5949
6624
|
] }),
|
|
5950
|
-
/* @__PURE__ */ (0,
|
|
5951
|
-
/* @__PURE__ */ (0,
|
|
5952
|
-
/* @__PURE__ */ (0,
|
|
5953
|
-
/* @__PURE__ */ (0,
|
|
6625
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6626
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6627
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6628
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
5954
6629
|
] }),
|
|
5955
|
-
/* @__PURE__ */ (0,
|
|
5956
|
-
/* @__PURE__ */ (0,
|
|
5957
|
-
/* @__PURE__ */ (0,
|
|
5958
|
-
/* @__PURE__ */ (0,
|
|
6630
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6631
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
|
|
6632
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
|
|
6633
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
|
|
5959
6634
|
] }),
|
|
5960
|
-
/* @__PURE__ */ (0,
|
|
5961
|
-
/* @__PURE__ */ (0,
|
|
5962
|
-
/* @__PURE__ */ (0,
|
|
5963
|
-
/* @__PURE__ */ (0,
|
|
5964
|
-
/* @__PURE__ */ (0,
|
|
6635
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6636
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
|
|
6637
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("feMerge", { children: [
|
|
6638
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feMergeNode", { in: "blur" }),
|
|
6639
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
5965
6640
|
] })
|
|
5966
6641
|
] }),
|
|
5967
|
-
/* @__PURE__ */ (0,
|
|
5968
|
-
/* @__PURE__ */ (0,
|
|
5969
|
-
/* @__PURE__ */ (0,
|
|
5970
|
-
/* @__PURE__ */ (0,
|
|
5971
|
-
/* @__PURE__ */ (0,
|
|
6642
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6643
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
|
|
6644
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("feMerge", { children: [
|
|
6645
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feMergeNode", { in: "blur" }),
|
|
6646
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
5972
6647
|
] })
|
|
5973
6648
|
] })
|
|
5974
6649
|
] }),
|
|
5975
|
-
/* @__PURE__ */ (0,
|
|
5976
|
-
/* @__PURE__ */ (0,
|
|
5977
|
-
/* @__PURE__ */ (0,
|
|
5978
|
-
anim && /* @__PURE__ */ (0,
|
|
6650
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
|
|
6651
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: px(20), children: [
|
|
6652
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6653
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
5979
6654
|
"animateTransform",
|
|
5980
6655
|
{
|
|
5981
6656
|
attributeName: "transform",
|
|
@@ -5988,14 +6663,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
5988
6663
|
),
|
|
5989
6664
|
Array.from({ length: 6 }, (_, i) => {
|
|
5990
6665
|
const a = Math.PI / 3 * i;
|
|
5991
|
-
return /* @__PURE__ */ (0,
|
|
5992
|
-
/* @__PURE__ */ (0,
|
|
5993
|
-
/* @__PURE__ */ (0,
|
|
6666
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
|
|
6667
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
|
|
6668
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
|
|
5994
6669
|
] }, `ha-${i}`);
|
|
5995
6670
|
}),
|
|
5996
6671
|
Array.from({ length: 6 }, (_, i) => {
|
|
5997
6672
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
5998
|
-
return /* @__PURE__ */ (0,
|
|
6673
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
5999
6674
|
"path",
|
|
6000
6675
|
{
|
|
6001
6676
|
d: triPath(14),
|
|
@@ -6008,7 +6683,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6008
6683
|
}),
|
|
6009
6684
|
Array.from({ length: 12 }, (_, i) => {
|
|
6010
6685
|
const a = Math.PI / 6 * i;
|
|
6011
|
-
return /* @__PURE__ */ (0,
|
|
6686
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6012
6687
|
"circle",
|
|
6013
6688
|
{
|
|
6014
6689
|
cx: c + outerR1 * 0.92 * Math.cos(a),
|
|
@@ -6016,14 +6691,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6016
6691
|
r: "1.5",
|
|
6017
6692
|
fill: "url(#kh-grad-a)",
|
|
6018
6693
|
opacity: "0.15",
|
|
6019
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6694
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
|
|
6020
6695
|
},
|
|
6021
6696
|
`od-${i}`
|
|
6022
6697
|
);
|
|
6023
6698
|
})
|
|
6024
6699
|
] }),
|
|
6025
|
-
/* @__PURE__ */ (0,
|
|
6026
|
-
anim && /* @__PURE__ */ (0,
|
|
6700
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6701
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6027
6702
|
"animateTransform",
|
|
6028
6703
|
{
|
|
6029
6704
|
attributeName: "transform",
|
|
@@ -6036,28 +6711,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6036
6711
|
),
|
|
6037
6712
|
Array.from({ length: 6 }, (_, i) => {
|
|
6038
6713
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6039
|
-
return /* @__PURE__ */ (0,
|
|
6040
|
-
/* @__PURE__ */ (0,
|
|
6041
|
-
/* @__PURE__ */ (0,
|
|
6714
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
|
|
6715
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
|
|
6716
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
|
|
6042
6717
|
] }, `hb-${i}`);
|
|
6043
6718
|
}),
|
|
6044
6719
|
Array.from({ length: 6 }, (_, i) => {
|
|
6045
6720
|
const a = Math.PI / 3 * i;
|
|
6046
|
-
return /* @__PURE__ */ (0,
|
|
6721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6047
6722
|
"path",
|
|
6048
6723
|
{
|
|
6049
6724
|
d: diamondPath(8, 16),
|
|
6050
6725
|
transform: `translate(${c + outerR2 * 0.85 * Math.cos(a)},${c + outerR2 * 0.85 * Math.sin(a)}) rotate(${i * 60})`,
|
|
6051
6726
|
fill: "url(#kh-grad-b)",
|
|
6052
6727
|
opacity: "0.08",
|
|
6053
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6728
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
|
|
6054
6729
|
},
|
|
6055
6730
|
`db-${i}`
|
|
6056
6731
|
);
|
|
6057
6732
|
})
|
|
6058
6733
|
] }),
|
|
6059
|
-
/* @__PURE__ */ (0,
|
|
6060
|
-
anim && /* @__PURE__ */ (0,
|
|
6734
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6735
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6061
6736
|
"animateTransform",
|
|
6062
6737
|
{
|
|
6063
6738
|
attributeName: "transform",
|
|
@@ -6071,23 +6746,23 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6071
6746
|
Array.from({ length: 12 }, (_, i) => {
|
|
6072
6747
|
const a = Math.PI / 6 * i;
|
|
6073
6748
|
const r = outerR1 * (0.6 + i % 2 * 0.15);
|
|
6074
|
-
return /* @__PURE__ */ (0,
|
|
6749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6075
6750
|
"path",
|
|
6076
6751
|
{
|
|
6077
6752
|
d: triPath(10),
|
|
6078
6753
|
transform: `translate(${c + r * Math.cos(a)},${c + r * Math.sin(a)}) rotate(${i * 30 + 15})`,
|
|
6079
6754
|
fill: "url(#kh-grad-c)",
|
|
6080
6755
|
opacity: "0.05",
|
|
6081
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6756
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
|
|
6082
6757
|
},
|
|
6083
6758
|
`tc-${i}`
|
|
6084
6759
|
);
|
|
6085
6760
|
})
|
|
6086
6761
|
] })
|
|
6087
6762
|
] }),
|
|
6088
|
-
/* @__PURE__ */ (0,
|
|
6089
|
-
/* @__PURE__ */ (0,
|
|
6090
|
-
anim && /* @__PURE__ */ (0,
|
|
6763
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: px(14), children: [
|
|
6764
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6765
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6091
6766
|
"animateTransform",
|
|
6092
6767
|
{
|
|
6093
6768
|
attributeName: "transform",
|
|
@@ -6100,9 +6775,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6100
6775
|
),
|
|
6101
6776
|
Array.from({ length: 12 }, (_, i) => {
|
|
6102
6777
|
const a = Math.PI / 6 * i;
|
|
6103
|
-
return /* @__PURE__ */ (0,
|
|
6104
|
-
/* @__PURE__ */ (0,
|
|
6105
|
-
/* @__PURE__ */ (0,
|
|
6778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
|
|
6779
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
|
|
6780
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
|
|
6106
6781
|
] }, `mh-${i}`);
|
|
6107
6782
|
})
|
|
6108
6783
|
] }),
|
|
@@ -6113,7 +6788,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6113
6788
|
const y1 = c + midR * Math.sin(a1);
|
|
6114
6789
|
const x2 = c + midR * Math.cos(a2);
|
|
6115
6790
|
const y2 = c + midR * Math.sin(a2);
|
|
6116
|
-
return /* @__PURE__ */ (0,
|
|
6791
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6117
6792
|
"path",
|
|
6118
6793
|
{
|
|
6119
6794
|
d: `M${x1},${y1} Q${c},${c} ${x2},${y2}`,
|
|
@@ -6122,17 +6797,17 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6122
6797
|
strokeWidth: "0.5",
|
|
6123
6798
|
strokeDasharray: "3 5",
|
|
6124
6799
|
opacity: "0.1",
|
|
6125
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6800
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6126
6801
|
},
|
|
6127
6802
|
`arc-${i}`
|
|
6128
6803
|
);
|
|
6129
6804
|
})
|
|
6130
6805
|
] }),
|
|
6131
|
-
/* @__PURE__ */ (0,
|
|
6132
|
-
/* @__PURE__ */ (0,
|
|
6133
|
-
/* @__PURE__ */ (0,
|
|
6134
|
-
/* @__PURE__ */ (0,
|
|
6135
|
-
anim && /* @__PURE__ */ (0,
|
|
6806
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: px(10), children: [
|
|
6807
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: c, cy: c, r: orbitR, fill: "none", stroke: "rgba(255,255,255,0.05)", strokeWidth: "1", strokeDasharray: "3 5", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
|
|
6808
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
|
|
6809
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6810
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6136
6811
|
"animateTransform",
|
|
6137
6812
|
{
|
|
6138
6813
|
attributeName: "transform",
|
|
@@ -6147,8 +6822,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6147
6822
|
const angle = Math.atan2(pos.y - c, pos.x - c);
|
|
6148
6823
|
const dx = Math.cos(angle);
|
|
6149
6824
|
const dy = Math.sin(angle);
|
|
6150
|
-
return /* @__PURE__ */ (0,
|
|
6151
|
-
/* @__PURE__ */ (0,
|
|
6825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6826
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6152
6827
|
"line",
|
|
6153
6828
|
{
|
|
6154
6829
|
x1: c + dx * 52,
|
|
@@ -6159,14 +6834,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6159
6834
|
strokeWidth: "0.8",
|
|
6160
6835
|
strokeDasharray: "2 4",
|
|
6161
6836
|
opacity: "0.2",
|
|
6162
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6837
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6163
6838
|
}
|
|
6164
6839
|
),
|
|
6165
|
-
/* @__PURE__ */ (0,
|
|
6166
|
-
/* @__PURE__ */ (0,
|
|
6167
|
-
/* @__PURE__ */ (0,
|
|
6168
|
-
/* @__PURE__ */ (0,
|
|
6169
|
-
/* @__PURE__ */ (0,
|
|
6840
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
6841
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6842
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6843
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6844
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6170
6845
|
] }) })
|
|
6171
6846
|
] }, `conn-${i}`);
|
|
6172
6847
|
}),
|
|
@@ -6174,14 +6849,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6174
6849
|
const pos = iconPositions[i];
|
|
6175
6850
|
const labelWidth = Math.max(proto.name.length * 5.5 + 10, 32);
|
|
6176
6851
|
const isHovered = hoveredProtocol === proto.name;
|
|
6177
|
-
return /* @__PURE__ */ (0,
|
|
6852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6178
6853
|
"g",
|
|
6179
6854
|
{
|
|
6180
6855
|
onMouseEnter: () => setHoveredProtocol(proto.name),
|
|
6181
6856
|
onMouseLeave: () => setHoveredProtocol(null),
|
|
6182
6857
|
style: { cursor: "pointer" },
|
|
6183
6858
|
children: [
|
|
6184
|
-
anim && /* @__PURE__ */ (0,
|
|
6859
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6185
6860
|
"animateTransform",
|
|
6186
6861
|
{
|
|
6187
6862
|
attributeName: "transform",
|
|
@@ -6192,7 +6867,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6192
6867
|
repeatCount: "indefinite"
|
|
6193
6868
|
}
|
|
6194
6869
|
),
|
|
6195
|
-
/* @__PURE__ */ (0,
|
|
6870
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6196
6871
|
"circle",
|
|
6197
6872
|
{
|
|
6198
6873
|
cx: "0",
|
|
@@ -6202,13 +6877,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6202
6877
|
stroke: proto.color,
|
|
6203
6878
|
strokeWidth: "1",
|
|
6204
6879
|
opacity: "0",
|
|
6205
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6206
|
-
/* @__PURE__ */ (0,
|
|
6207
|
-
/* @__PURE__ */ (0,
|
|
6880
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
6881
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
|
|
6882
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
|
|
6208
6883
|
] })
|
|
6209
6884
|
}
|
|
6210
6885
|
),
|
|
6211
|
-
/* @__PURE__ */ (0,
|
|
6886
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6212
6887
|
"circle",
|
|
6213
6888
|
{
|
|
6214
6889
|
cx: "0",
|
|
@@ -6218,10 +6893,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6218
6893
|
stroke: proto.color,
|
|
6219
6894
|
strokeWidth: "1",
|
|
6220
6895
|
opacity: "0.15",
|
|
6221
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6896
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
|
|
6222
6897
|
}
|
|
6223
6898
|
),
|
|
6224
|
-
/* @__PURE__ */ (0,
|
|
6899
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6225
6900
|
"circle",
|
|
6226
6901
|
{
|
|
6227
6902
|
cx: "0",
|
|
@@ -6231,10 +6906,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6231
6906
|
stroke: proto.color,
|
|
6232
6907
|
strokeWidth: "1.5",
|
|
6233
6908
|
opacity: "0.25",
|
|
6234
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6909
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6235
6910
|
}
|
|
6236
6911
|
),
|
|
6237
|
-
/* @__PURE__ */ (0,
|
|
6912
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6238
6913
|
"circle",
|
|
6239
6914
|
{
|
|
6240
6915
|
cx: "0",
|
|
@@ -6245,8 +6920,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6245
6920
|
strokeWidth: "1"
|
|
6246
6921
|
}
|
|
6247
6922
|
),
|
|
6248
|
-
/* @__PURE__ */ (0,
|
|
6249
|
-
/* @__PURE__ */ (0,
|
|
6923
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
|
|
6924
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6250
6925
|
NetworkBadge,
|
|
6251
6926
|
{
|
|
6252
6927
|
network: proto.network,
|
|
@@ -6254,8 +6929,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6254
6929
|
className: "w-full h-full"
|
|
6255
6930
|
}
|
|
6256
6931
|
) }),
|
|
6257
|
-
/* @__PURE__ */ (0,
|
|
6258
|
-
/* @__PURE__ */ (0,
|
|
6932
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
|
|
6933
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6259
6934
|
"rect",
|
|
6260
6935
|
{
|
|
6261
6936
|
x: -labelWidth / 2,
|
|
@@ -6269,7 +6944,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6269
6944
|
strokeOpacity: 0.4
|
|
6270
6945
|
}
|
|
6271
6946
|
),
|
|
6272
|
-
/* @__PURE__ */ (0,
|
|
6947
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6273
6948
|
"text",
|
|
6274
6949
|
{
|
|
6275
6950
|
x: "0",
|
|
@@ -6289,9 +6964,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6289
6964
|
})
|
|
6290
6965
|
] })
|
|
6291
6966
|
] }),
|
|
6292
|
-
/* @__PURE__ */ (0,
|
|
6293
|
-
/* @__PURE__ */ (0,
|
|
6294
|
-
anim && /* @__PURE__ */ (0,
|
|
6967
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: px(5), children: [
|
|
6968
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6969
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6295
6970
|
"animateTransform",
|
|
6296
6971
|
{
|
|
6297
6972
|
attributeName: "transform",
|
|
@@ -6304,28 +6979,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6304
6979
|
),
|
|
6305
6980
|
Array.from({ length: 6 }, (_, i) => {
|
|
6306
6981
|
const a = Math.PI / 3 * i;
|
|
6307
|
-
return /* @__PURE__ */ (0,
|
|
6982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6308
6983
|
"path",
|
|
6309
6984
|
{
|
|
6310
6985
|
d: diamondPath(10, 22),
|
|
6311
6986
|
transform: `translate(${c + innerR * Math.cos(a)},${c + innerR * Math.sin(a)}) rotate(${i * 60})`,
|
|
6312
6987
|
fill: "url(#kh-gp)",
|
|
6313
6988
|
opacity: "0.15",
|
|
6314
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6989
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
|
|
6315
6990
|
},
|
|
6316
6991
|
`d-${i}`
|
|
6317
6992
|
);
|
|
6318
6993
|
}),
|
|
6319
6994
|
Array.from({ length: 6 }, (_, i) => {
|
|
6320
6995
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6321
|
-
return /* @__PURE__ */ (0,
|
|
6996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6322
6997
|
"path",
|
|
6323
6998
|
{
|
|
6324
6999
|
d: triPath(8),
|
|
6325
7000
|
transform: `translate(${c + innerR * 0.75 * Math.cos(a)},${c + innerR * 0.75 * Math.sin(a)}) rotate(${i * 60 + 30})`,
|
|
6326
7001
|
fill: "url(#kh-oc)",
|
|
6327
7002
|
opacity: "0.1",
|
|
6328
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7003
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6329
7004
|
},
|
|
6330
7005
|
`it-${i}`
|
|
6331
7006
|
);
|
|
@@ -6333,7 +7008,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6333
7008
|
Array.from({ length: 12 }, (_, i) => {
|
|
6334
7009
|
const a = Math.PI / 6 * i;
|
|
6335
7010
|
const r = innerR * (i % 2 === 0 ? 0.55 : 0.65);
|
|
6336
|
-
return /* @__PURE__ */ (0,
|
|
7011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6337
7012
|
"circle",
|
|
6338
7013
|
{
|
|
6339
7014
|
cx: c + r * Math.cos(a),
|
|
@@ -6341,14 +7016,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6341
7016
|
r: i % 2 === 0 ? 2 : 1.5,
|
|
6342
7017
|
fill: "url(#kh-oc)",
|
|
6343
7018
|
opacity: "0.2",
|
|
6344
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7019
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
|
|
6345
7020
|
},
|
|
6346
7021
|
`id-${i}`
|
|
6347
7022
|
);
|
|
6348
7023
|
})
|
|
6349
7024
|
] }),
|
|
6350
|
-
/* @__PURE__ */ (0,
|
|
6351
|
-
anim && /* @__PURE__ */ (0,
|
|
7025
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
7026
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6352
7027
|
"animateTransform",
|
|
6353
7028
|
{
|
|
6354
7029
|
attributeName: "transform",
|
|
@@ -6361,27 +7036,27 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6361
7036
|
),
|
|
6362
7037
|
Array.from({ length: 6 }, (_, i) => {
|
|
6363
7038
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6364
|
-
return /* @__PURE__ */ (0,
|
|
7039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6365
7040
|
"path",
|
|
6366
7041
|
{
|
|
6367
7042
|
d: hexPath2(6),
|
|
6368
7043
|
transform: `translate(${c + innerR * 0.42 * Math.cos(a)},${c + innerR * 0.42 * Math.sin(a)})`,
|
|
6369
7044
|
fill: "url(#kh-bp)",
|
|
6370
7045
|
opacity: "0.1",
|
|
6371
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7046
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6372
7047
|
},
|
|
6373
7048
|
`ih-${i}`
|
|
6374
7049
|
);
|
|
6375
7050
|
})
|
|
6376
7051
|
] })
|
|
6377
7052
|
] }),
|
|
6378
|
-
/* @__PURE__ */ (0,
|
|
7053
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
|
|
6379
7054
|
const a = Math.PI * 2 * i / 16;
|
|
6380
7055
|
const baseR = 60 + i % 4 * 45;
|
|
6381
7056
|
const x = c + baseR * Math.cos(a);
|
|
6382
7057
|
const y = c + baseR * Math.sin(a);
|
|
6383
7058
|
const colors2 = ["#0e9dff", "#8a5cf6", "#22c55e", "#F7931A", "#06b6d4", "#15E99A"];
|
|
6384
|
-
return /* @__PURE__ */ (0,
|
|
7059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6385
7060
|
"circle",
|
|
6386
7061
|
{
|
|
6387
7062
|
cx: x,
|
|
@@ -6389,26 +7064,26 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6389
7064
|
r: 1 + i % 3 * 0.5,
|
|
6390
7065
|
fill: colors2[i % colors2.length],
|
|
6391
7066
|
opacity: "0",
|
|
6392
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6393
|
-
/* @__PURE__ */ (0,
|
|
6394
|
-
/* @__PURE__ */ (0,
|
|
6395
|
-
/* @__PURE__ */ (0,
|
|
7067
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
7068
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
|
|
7069
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "cx", values: `${x};${x + Math.cos(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
|
|
7070
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "cy", values: `${y};${y + Math.sin(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` })
|
|
6396
7071
|
] })
|
|
6397
7072
|
},
|
|
6398
7073
|
`p-${i}`
|
|
6399
7074
|
);
|
|
6400
7075
|
}) }),
|
|
6401
|
-
/* @__PURE__ */ (0,
|
|
6402
|
-
/* @__PURE__ */ (0,
|
|
6403
|
-
/* @__PURE__ */ (0,
|
|
6404
|
-
/* @__PURE__ */ (0,
|
|
6405
|
-
/* @__PURE__ */ (0,
|
|
7076
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
7077
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
|
|
7078
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
7079
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
|
|
7080
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
6406
7081
|
] }) }),
|
|
6407
|
-
/* @__PURE__ */ (0,
|
|
6408
|
-
/* @__PURE__ */ (0,
|
|
6409
|
-
/* @__PURE__ */ (0,
|
|
7082
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: c, cy: c, r: "48", fill: "none", stroke: "url(#kh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
7083
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
7084
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
6410
7085
|
] }) }),
|
|
6411
|
-
/* @__PURE__ */ (0,
|
|
7086
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6412
7087
|
"path",
|
|
6413
7088
|
{
|
|
6414
7089
|
d: hexPath2(50),
|
|
@@ -6418,13 +7093,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6418
7093
|
strokeWidth: "1.5",
|
|
6419
7094
|
opacity: "0.4",
|
|
6420
7095
|
filter: "url(#kh-glow)",
|
|
6421
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6422
|
-
/* @__PURE__ */ (0,
|
|
6423
|
-
/* @__PURE__ */ (0,
|
|
7096
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
7097
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
7098
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
6424
7099
|
] })
|
|
6425
7100
|
}
|
|
6426
7101
|
),
|
|
6427
|
-
/* @__PURE__ */ (0,
|
|
7102
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6428
7103
|
"path",
|
|
6429
7104
|
{
|
|
6430
7105
|
d: hexPath2(46),
|
|
@@ -6434,21 +7109,21 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6434
7109
|
strokeWidth: "0.5"
|
|
6435
7110
|
}
|
|
6436
7111
|
),
|
|
6437
|
-
/* @__PURE__ */ (0,
|
|
6438
|
-
/* @__PURE__ */ (0,
|
|
6439
|
-
/* @__PURE__ */ (0,
|
|
6440
|
-
/* @__PURE__ */ (0,
|
|
6441
|
-
/* @__PURE__ */ (0,
|
|
6442
|
-
/* @__PURE__ */ (0,
|
|
6443
|
-
/* @__PURE__ */ (0,
|
|
6444
|
-
/* @__PURE__ */ (0,
|
|
6445
|
-
/* @__PURE__ */ (0,
|
|
6446
|
-
/* @__PURE__ */ (0,
|
|
6447
|
-
/* @__PURE__ */ (0,
|
|
6448
|
-
/* @__PURE__ */ (0,
|
|
6449
|
-
/* @__PURE__ */ (0,
|
|
6450
|
-
/* @__PURE__ */ (0,
|
|
6451
|
-
/* @__PURE__ */ (0,
|
|
7112
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
|
|
7113
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
|
|
7114
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
|
|
7115
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
|
|
7116
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
|
|
7117
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
|
|
7118
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
|
|
7119
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
|
|
7120
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
|
|
7121
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
|
|
7122
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
|
|
7123
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
|
|
7124
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
|
|
7125
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
|
|
7126
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
|
|
6452
7127
|
] })
|
|
6453
7128
|
] })
|
|
6454
7129
|
]
|
|
@@ -6575,7 +7250,7 @@ var colors = {
|
|
|
6575
7250
|
};
|
|
6576
7251
|
|
|
6577
7252
|
// src/web/components/deposit-ui-shared.tsx
|
|
6578
|
-
var
|
|
7253
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
6579
7254
|
var GLOW_ALPHA = "26";
|
|
6580
7255
|
function qrGlowStyle(hex) {
|
|
6581
7256
|
return { boxShadow: `0 0 30px ${hex}${GLOW_ALPHA}` };
|
|
@@ -6589,7 +7264,7 @@ var NETWORK_CONFIG = {
|
|
|
6589
7264
|
border: "border-network-bitcoin/40",
|
|
6590
7265
|
qrBorder: "border-network-bitcoin/30",
|
|
6591
7266
|
qrGlow: qrGlowStyle(colors.network.bitcoin),
|
|
6592
|
-
icon: /* @__PURE__ */ (0,
|
|
7267
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
|
|
6593
7268
|
},
|
|
6594
7269
|
lightning: {
|
|
6595
7270
|
label: "Lightning",
|
|
@@ -6599,7 +7274,7 @@ var NETWORK_CONFIG = {
|
|
|
6599
7274
|
border: "border-network-lightning/40",
|
|
6600
7275
|
qrBorder: "border-network-lightning/30",
|
|
6601
7276
|
qrGlow: qrGlowStyle(colors.network.lightning),
|
|
6602
|
-
icon: /* @__PURE__ */ (0,
|
|
7277
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
|
|
6603
7278
|
},
|
|
6604
7279
|
spark: {
|
|
6605
7280
|
label: "Spark",
|
|
@@ -6609,7 +7284,7 @@ var NETWORK_CONFIG = {
|
|
|
6609
7284
|
border: "border-info/40",
|
|
6610
7285
|
qrBorder: "border-info/30",
|
|
6611
7286
|
qrGlow: qrGlowStyle(colors.info),
|
|
6612
|
-
icon: /* @__PURE__ */ (0,
|
|
7287
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
|
|
6613
7288
|
},
|
|
6614
7289
|
arkade: {
|
|
6615
7290
|
label: "Arkade",
|
|
@@ -6619,7 +7294,7 @@ var NETWORK_CONFIG = {
|
|
|
6619
7294
|
border: "border-network-arkade/40",
|
|
6620
7295
|
qrBorder: "border-network-arkade/30",
|
|
6621
7296
|
qrGlow: qrGlowStyle(colors.network.arkade),
|
|
6622
|
-
icon: /* @__PURE__ */ (0,
|
|
7297
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
|
|
6623
7298
|
}
|
|
6624
7299
|
};
|
|
6625
7300
|
var ACCOUNT_META = {
|
|
@@ -6628,14 +7303,14 @@ var ACCOUNT_META = {
|
|
|
6628
7303
|
accentBg: "bg-primary/10",
|
|
6629
7304
|
accentText: "text-primary",
|
|
6630
7305
|
accentBorder: "border-primary/30",
|
|
6631
|
-
icon: /* @__PURE__ */ (0,
|
|
7306
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
|
|
6632
7307
|
},
|
|
6633
7308
|
SPARK: {
|
|
6634
7309
|
shortLabel: "Spark",
|
|
6635
7310
|
accentBg: "bg-info/10",
|
|
6636
7311
|
accentText: "text-info",
|
|
6637
7312
|
accentBorder: "border-info/30",
|
|
6638
|
-
icon: /* @__PURE__ */ (0,
|
|
7313
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6639
7314
|
"img",
|
|
6640
7315
|
{
|
|
6641
7316
|
src: "/icons/spark/Asterisk/Spark Asterisk White.svg",
|
|
@@ -6649,7 +7324,7 @@ var ACCOUNT_META = {
|
|
|
6649
7324
|
accentBg: "bg-network-arkade/10",
|
|
6650
7325
|
accentText: "text-network-arkade",
|
|
6651
7326
|
accentBorder: "border-network-arkade/30",
|
|
6652
|
-
icon: /* @__PURE__ */ (0,
|
|
7327
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
|
|
6653
7328
|
}
|
|
6654
7329
|
};
|
|
6655
7330
|
var METHOD_META = {
|
|
@@ -6666,7 +7341,7 @@ function InvoiceStatusBanner({
|
|
|
6666
7341
|
isInvoiceFailedOrExpired,
|
|
6667
7342
|
invoiceStatus
|
|
6668
7343
|
}) {
|
|
6669
|
-
return /* @__PURE__ */ (0,
|
|
7344
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6670
7345
|
"div",
|
|
6671
7346
|
{
|
|
6672
7347
|
className: cn(
|
|
@@ -6674,17 +7349,17 @@ function InvoiceStatusBanner({
|
|
|
6674
7349
|
isInvoicePaid ? "border-primary/30 bg-primary/10 text-primary" : isInvoiceFailedOrExpired ? "border-danger/20 bg-danger/10 text-danger" : "border-warning/20 bg-warning/10 text-warning"
|
|
6675
7350
|
),
|
|
6676
7351
|
children: [
|
|
6677
|
-
isInvoicePending && /* @__PURE__ */ (0,
|
|
6678
|
-
/* @__PURE__ */ (0,
|
|
6679
|
-
/* @__PURE__ */ (0,
|
|
7352
|
+
isInvoicePending && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7353
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
|
|
7354
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: "Waiting for payment..." })
|
|
6680
7355
|
] }),
|
|
6681
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
6682
|
-
/* @__PURE__ */ (0,
|
|
6683
|
-
/* @__PURE__ */ (0,
|
|
7356
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7357
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
|
|
7358
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: "Payment received!" })
|
|
6684
7359
|
] }),
|
|
6685
|
-
isInvoiceFailedOrExpired && /* @__PURE__ */ (0,
|
|
6686
|
-
/* @__PURE__ */ (0,
|
|
6687
|
-
/* @__PURE__ */ (0,
|
|
7360
|
+
isInvoiceFailedOrExpired && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7361
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
|
|
7362
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("span", { children: [
|
|
6688
7363
|
"Invoice ",
|
|
6689
7364
|
invoiceStatus?.toLowerCase() === "expired" ? "expired" : "failed"
|
|
6690
7365
|
] })
|
|
@@ -6694,20 +7369,20 @@ function InvoiceStatusBanner({
|
|
|
6694
7369
|
);
|
|
6695
7370
|
}
|
|
6696
7371
|
function PaidOverlay() {
|
|
6697
|
-
return /* @__PURE__ */ (0,
|
|
6698
|
-
/* @__PURE__ */ (0,
|
|
6699
|
-
/* @__PURE__ */ (0,
|
|
7372
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
|
|
7373
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
|
|
7374
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-sm font-bold text-primary", children: "Received!" })
|
|
6700
7375
|
] }) });
|
|
6701
7376
|
}
|
|
6702
7377
|
function CopyIcon({ copied }) {
|
|
6703
|
-
return /* @__PURE__ */ (0,
|
|
7378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6704
7379
|
"div",
|
|
6705
7380
|
{
|
|
6706
7381
|
className: cn(
|
|
6707
7382
|
"flex-shrink-0 rounded-lg p-2 transition-all",
|
|
6708
7383
|
copied ? "bg-primary/15 text-primary" : "bg-white/5 text-white/40 group-hover:bg-primary/10 group-hover:text-primary"
|
|
6709
7384
|
),
|
|
6710
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
7385
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Icon, { name: "content_copy", size: "sm" })
|
|
6711
7386
|
}
|
|
6712
7387
|
);
|
|
6713
7388
|
}
|
|
@@ -6717,7 +7392,7 @@ function AccountChoiceChip({
|
|
|
6717
7392
|
onClick
|
|
6718
7393
|
}) {
|
|
6719
7394
|
const meta = ACCOUNT_META[account];
|
|
6720
|
-
return /* @__PURE__ */ (0,
|
|
7395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6721
7396
|
"button",
|
|
6722
7397
|
{
|
|
6723
7398
|
type: "button",
|
|
@@ -6729,7 +7404,7 @@ function AccountChoiceChip({
|
|
|
6729
7404
|
),
|
|
6730
7405
|
children: [
|
|
6731
7406
|
meta.icon,
|
|
6732
|
-
/* @__PURE__ */ (0,
|
|
7407
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: meta.shortLabel })
|
|
6733
7408
|
]
|
|
6734
7409
|
}
|
|
6735
7410
|
);
|
|
@@ -6778,8 +7453,8 @@ function NetworkInfoDisclosure({
|
|
|
6778
7453
|
}) {
|
|
6779
7454
|
const [open, setOpen] = (0, import_react15.useState)(false);
|
|
6780
7455
|
if (networks.length === 0) return null;
|
|
6781
|
-
return /* @__PURE__ */ (0,
|
|
6782
|
-
/* @__PURE__ */ (0,
|
|
7456
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: cn("overflow-hidden rounded-xl border border-white/8 bg-white/3 transition-all", className), children: [
|
|
7457
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6783
7458
|
"button",
|
|
6784
7459
|
{
|
|
6785
7460
|
type: "button",
|
|
@@ -6787,24 +7462,24 @@ function NetworkInfoDisclosure({
|
|
|
6787
7462
|
"aria-expanded": open,
|
|
6788
7463
|
className: "flex w-full items-center gap-2 px-2.5 py-1.5 text-left transition-colors hover:bg-white/4",
|
|
6789
7464
|
children: [
|
|
6790
|
-
/* @__PURE__ */ (0,
|
|
6791
|
-
/* @__PURE__ */ (0,
|
|
6792
|
-
/* @__PURE__ */ (0,
|
|
7465
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Icon, { name: "info", size: "xs", className: "text-white/40" }),
|
|
7466
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
|
|
7467
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
|
|
6793
7468
|
]
|
|
6794
7469
|
}
|
|
6795
7470
|
),
|
|
6796
|
-
open && /* @__PURE__ */ (0,
|
|
7471
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "space-y-2 px-2.5 pb-2.5 pt-0.5 animate-in fade-in slide-in-from-top-1 duration-200", children: networks.map((network) => {
|
|
6797
7472
|
const info = NETWORK_INFO[network];
|
|
6798
7473
|
const cfg = NETWORK_CONFIG[network];
|
|
6799
|
-
return /* @__PURE__ */ (0,
|
|
6800
|
-
/* @__PURE__ */ (0,
|
|
6801
|
-
/* @__PURE__ */ (0,
|
|
6802
|
-
/* @__PURE__ */ (0,
|
|
7474
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-1", children: [
|
|
7475
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
7476
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
|
|
7477
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
|
|
6803
7478
|
] }),
|
|
6804
|
-
/* @__PURE__ */ (0,
|
|
6805
|
-
/* @__PURE__ */ (0,
|
|
6806
|
-
/* @__PURE__ */ (0,
|
|
6807
|
-
/* @__PURE__ */ (0,
|
|
7479
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
|
|
7480
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
|
|
7481
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "mt-[1px] text-white/30", children: "-" }),
|
|
7482
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: bullet })
|
|
6808
7483
|
] }, bullet)) })
|
|
6809
7484
|
] }, network);
|
|
6810
7485
|
}) })
|
|
@@ -6818,7 +7493,7 @@ function MethodChoiceChip({
|
|
|
6818
7493
|
onClick
|
|
6819
7494
|
}) {
|
|
6820
7495
|
const meta = METHOD_META[method];
|
|
6821
|
-
return /* @__PURE__ */ (0,
|
|
7496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6822
7497
|
"button",
|
|
6823
7498
|
{
|
|
6824
7499
|
type: "button",
|
|
@@ -6831,14 +7506,14 @@ function MethodChoiceChip({
|
|
|
6831
7506
|
),
|
|
6832
7507
|
children: [
|
|
6833
7508
|
meta.label,
|
|
6834
|
-
!enabled && disabledReason && /* @__PURE__ */ (0,
|
|
7509
|
+
!enabled && disabledReason && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
|
|
6835
7510
|
]
|
|
6836
7511
|
}
|
|
6837
7512
|
);
|
|
6838
7513
|
}
|
|
6839
7514
|
|
|
6840
7515
|
// src/web/components/deposit-success-screen.tsx
|
|
6841
|
-
var
|
|
7516
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
6842
7517
|
function DepositSuccessScreen({
|
|
6843
7518
|
handleDone,
|
|
6844
7519
|
displayTicker,
|
|
@@ -6851,20 +7526,20 @@ function DepositSuccessScreen({
|
|
|
6851
7526
|
const isInstant = network === "lightning" || network === "spark";
|
|
6852
7527
|
const title = isInstant ? "Payment Received!" : "Deposit Detected!";
|
|
6853
7528
|
const subtitle = isInstant ? `Your ${displayTicker} has arrived via ${networkLabel}.` : `Incoming deposit detected via ${networkLabel}. Funds will be available after confirmation.`;
|
|
6854
|
-
return /* @__PURE__ */ (0,
|
|
6855
|
-
/* @__PURE__ */ (0,
|
|
6856
|
-
/* @__PURE__ */ (0,
|
|
6857
|
-
/* @__PURE__ */ (0,
|
|
7529
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
|
|
7530
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "relative mb-8", children: [
|
|
7531
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
|
|
7532
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "relative flex size-28 items-center justify-center rounded-full border-2 border-primary/40 bg-primary/10 shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-display text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
|
|
6858
7533
|
] }),
|
|
6859
|
-
/* @__PURE__ */ (0,
|
|
6860
|
-
/* @__PURE__ */ (0,
|
|
6861
|
-
/* @__PURE__ */ (0,
|
|
6862
|
-
/* @__PURE__ */ (0,
|
|
6863
|
-
/* @__PURE__ */ (0,
|
|
6864
|
-
/* @__PURE__ */ (0,
|
|
6865
|
-
/* @__PURE__ */ (0,
|
|
7534
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
|
|
7535
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
|
|
7536
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "mb-10 flex items-center gap-3 rounded-2xl border bg-white/5 px-4 py-3", children: [
|
|
7537
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(AssetIcon, { ticker: displayTicker, size: 36 }),
|
|
7538
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "text-left", children: [
|
|
7539
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("p", { className: "text-sm font-bold text-white", children: displayTicker }),
|
|
7540
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
|
|
6866
7541
|
] }),
|
|
6867
|
-
/* @__PURE__ */ (0,
|
|
7542
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
6868
7543
|
"div",
|
|
6869
7544
|
{
|
|
6870
7545
|
className: cn(
|
|
@@ -6875,27 +7550,27 @@ function DepositSuccessScreen({
|
|
|
6875
7550
|
),
|
|
6876
7551
|
children: [
|
|
6877
7552
|
net.icon,
|
|
6878
|
-
/* @__PURE__ */ (0,
|
|
7553
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: networkLabel })
|
|
6879
7554
|
]
|
|
6880
7555
|
}
|
|
6881
7556
|
)
|
|
6882
7557
|
] }),
|
|
6883
|
-
/* @__PURE__ */ (0,
|
|
6884
|
-
/* @__PURE__ */ (0,
|
|
7558
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
|
|
7559
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "home" }),
|
|
6885
7560
|
"Back to Dashboard"
|
|
6886
7561
|
] })
|
|
6887
7562
|
] }) });
|
|
6888
7563
|
}
|
|
6889
7564
|
|
|
6890
7565
|
// src/web/components/deposit-network-default-modal.tsx
|
|
6891
|
-
var
|
|
7566
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
6892
7567
|
var NETWORK_OPTIONS = {
|
|
6893
7568
|
RGB: {
|
|
6894
7569
|
network: "onchain",
|
|
6895
7570
|
account: "RGB",
|
|
6896
7571
|
label: "On-chain / Lightning",
|
|
6897
7572
|
description: "Classic Bitcoin address or Lightning invoice via the RLN node.",
|
|
6898
|
-
icon: /* @__PURE__ */ (0,
|
|
7573
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
|
|
6899
7574
|
accentBg: "bg-network-bitcoin/10",
|
|
6900
7575
|
accentBorder: "border-network-bitcoin/30",
|
|
6901
7576
|
accentText: "text-network-bitcoin"
|
|
@@ -6905,7 +7580,7 @@ var NETWORK_OPTIONS = {
|
|
|
6905
7580
|
account: "SPARK",
|
|
6906
7581
|
label: "Spark",
|
|
6907
7582
|
description: "Receive directly into your Spark account. Fast and free.",
|
|
6908
|
-
icon: /* @__PURE__ */ (0,
|
|
7583
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
|
|
6909
7584
|
accentBg: "bg-info/10",
|
|
6910
7585
|
accentBorder: "border-info/30",
|
|
6911
7586
|
accentText: "text-info"
|
|
@@ -6915,7 +7590,7 @@ var NETWORK_OPTIONS = {
|
|
|
6915
7590
|
account: "ARKADE",
|
|
6916
7591
|
label: "Arkade",
|
|
6917
7592
|
description: "Receive directly into your Arkade account. Low fees, near-instant settlement.",
|
|
6918
|
-
icon: /* @__PURE__ */ (0,
|
|
7593
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
|
|
6919
7594
|
accentBg: "bg-network-arkade/10",
|
|
6920
7595
|
accentBorder: "border-network-arkade/30",
|
|
6921
7596
|
accentText: "text-network-arkade"
|
|
@@ -6930,20 +7605,20 @@ function DepositNetworkDefaultModal({
|
|
|
6930
7605
|
}) {
|
|
6931
7606
|
if (!open) return null;
|
|
6932
7607
|
const options = availableAccounts.map((id) => NETWORK_OPTIONS[id]).filter(Boolean);
|
|
6933
|
-
return /* @__PURE__ */ (0,
|
|
6934
|
-
/* @__PURE__ */ (0,
|
|
6935
|
-
/* @__PURE__ */ (0,
|
|
6936
|
-
/* @__PURE__ */ (0,
|
|
6937
|
-
/* @__PURE__ */ (0,
|
|
7608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-black/60 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "w-full space-y-4 rounded-t-2xl border-t border-border bg-background px-4 pb-7 pt-5 animate-in slide-in-from-bottom-4 duration-200", children: [
|
|
7609
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
|
|
7610
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { children: [
|
|
7611
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
|
|
7612
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("p", { className: "mt-0.5 text-tiny text-white/45", children: [
|
|
6938
7613
|
"Pick how you would like to receive",
|
|
6939
7614
|
" ",
|
|
6940
|
-
/* @__PURE__ */ (0,
|
|
7615
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
|
|
6941
7616
|
" by default. You can always switch in the deposit screen."
|
|
6942
7617
|
] })
|
|
6943
7618
|
] }),
|
|
6944
|
-
/* @__PURE__ */ (0,
|
|
7619
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "space-y-2", children: options.map((option) => {
|
|
6945
7620
|
const isSuggested = option.account === suggestedAccount;
|
|
6946
|
-
return /* @__PURE__ */ (0,
|
|
7621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
|
|
6947
7622
|
"button",
|
|
6948
7623
|
{
|
|
6949
7624
|
type: "button",
|
|
@@ -6953,7 +7628,7 @@ function DepositNetworkDefaultModal({
|
|
|
6953
7628
|
isSuggested ? cn("border-2", option.accentBorder, option.accentBg) : "border border-white/8 bg-white/4 hover:bg-white/8"
|
|
6954
7629
|
),
|
|
6955
7630
|
children: [
|
|
6956
|
-
/* @__PURE__ */ (0,
|
|
7631
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
6957
7632
|
"div",
|
|
6958
7633
|
{
|
|
6959
7634
|
className: cn(
|
|
@@ -6964,10 +7639,10 @@ function DepositNetworkDefaultModal({
|
|
|
6964
7639
|
children: option.icon
|
|
6965
7640
|
}
|
|
6966
7641
|
),
|
|
6967
|
-
/* @__PURE__ */ (0,
|
|
6968
|
-
/* @__PURE__ */ (0,
|
|
6969
|
-
/* @__PURE__ */ (0,
|
|
6970
|
-
isSuggested && /* @__PURE__ */ (0,
|
|
7642
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
7643
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
7644
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
|
|
7645
|
+
isSuggested && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
6971
7646
|
"span",
|
|
6972
7647
|
{
|
|
6973
7648
|
className: cn(
|
|
@@ -6979,9 +7654,9 @@ function DepositNetworkDefaultModal({
|
|
|
6979
7654
|
}
|
|
6980
7655
|
)
|
|
6981
7656
|
] }),
|
|
6982
|
-
/* @__PURE__ */ (0,
|
|
7657
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
|
|
6983
7658
|
] }),
|
|
6984
|
-
/* @__PURE__ */ (0,
|
|
7659
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
6985
7660
|
"span",
|
|
6986
7661
|
{
|
|
6987
7662
|
className: cn(
|
|
@@ -7000,7 +7675,7 @@ function DepositNetworkDefaultModal({
|
|
|
7000
7675
|
}
|
|
7001
7676
|
|
|
7002
7677
|
// src/web/components/btc-unified-receive.tsx
|
|
7003
|
-
var
|
|
7678
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
7004
7679
|
function formatSatsForRow(value) {
|
|
7005
7680
|
if (!value || value <= 0 || !Number.isFinite(value)) return null;
|
|
7006
7681
|
return `${value.toLocaleString("en-US")} sats`;
|
|
@@ -7026,10 +7701,10 @@ function BtcUnifiedReceive({
|
|
|
7026
7701
|
}) {
|
|
7027
7702
|
const accountNetwork = btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain";
|
|
7028
7703
|
const qrNetwork = NETWORK_CONFIG[accountNetwork];
|
|
7029
|
-
return /* @__PURE__ */ (0,
|
|
7030
|
-
/* @__PURE__ */ (0,
|
|
7031
|
-
/* @__PURE__ */ (0,
|
|
7032
|
-
/* @__PURE__ */ (0,
|
|
7704
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
7705
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
|
|
7706
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }) }),
|
|
7707
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7033
7708
|
"input",
|
|
7034
7709
|
{
|
|
7035
7710
|
type: "text",
|
|
@@ -7040,13 +7715,13 @@ function BtcUnifiedReceive({
|
|
|
7040
7715
|
inputMode: "decimal"
|
|
7041
7716
|
}
|
|
7042
7717
|
),
|
|
7043
|
-
amount && loading && /* @__PURE__ */ (0,
|
|
7044
|
-
/* @__PURE__ */ (0,
|
|
7718
|
+
amount && loading && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
|
|
7719
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7045
7720
|
"Updating invoice..."
|
|
7046
7721
|
] })
|
|
7047
7722
|
] }),
|
|
7048
|
-
/* @__PURE__ */ (0,
|
|
7049
|
-
/* @__PURE__ */ (0,
|
|
7723
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
|
|
7724
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7050
7725
|
"div",
|
|
7051
7726
|
{
|
|
7052
7727
|
className: cn(
|
|
@@ -7055,14 +7730,14 @@ function BtcUnifiedReceive({
|
|
|
7055
7730
|
),
|
|
7056
7731
|
style: qrNetwork.qrGlow,
|
|
7057
7732
|
children: [
|
|
7058
|
-
/* @__PURE__ */ (0,
|
|
7059
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
7733
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(QrCode, { value: accountReceiveResult.qrValue, size: 200 }),
|
|
7734
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PaidOverlay, {})
|
|
7060
7735
|
]
|
|
7061
7736
|
}
|
|
7062
7737
|
),
|
|
7063
7738
|
(() => {
|
|
7064
7739
|
const isQrCopied = copied === accountReceiveResult.qrValue;
|
|
7065
|
-
return /* @__PURE__ */ (0,
|
|
7740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7066
7741
|
"button",
|
|
7067
7742
|
{
|
|
7068
7743
|
type: "button",
|
|
@@ -7075,14 +7750,14 @@ function BtcUnifiedReceive({
|
|
|
7075
7750
|
void copyToClipboard(accountReceiveResult.qrValue);
|
|
7076
7751
|
},
|
|
7077
7752
|
children: [
|
|
7078
|
-
/* @__PURE__ */ (0,
|
|
7753
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: isQrCopied ? "check" : "content_copy", size: "xs" }),
|
|
7079
7754
|
isQrCopied ? "Copied" : `Copy ${accountReceiveResult.qrLabel}`
|
|
7080
7755
|
]
|
|
7081
7756
|
}
|
|
7082
7757
|
);
|
|
7083
7758
|
})()
|
|
7084
7759
|
] }),
|
|
7085
|
-
invoiceStatus && /* @__PURE__ */ (0,
|
|
7760
|
+
invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7086
7761
|
InvoiceStatusBanner,
|
|
7087
7762
|
{
|
|
7088
7763
|
isInvoicePending,
|
|
@@ -7091,11 +7766,11 @@ function BtcUnifiedReceive({
|
|
|
7091
7766
|
invoiceStatus
|
|
7092
7767
|
}
|
|
7093
7768
|
),
|
|
7094
|
-
/* @__PURE__ */ (0,
|
|
7095
|
-
/* @__PURE__ */ (0,
|
|
7769
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "space-y-1.5", children: [
|
|
7770
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
|
|
7096
7771
|
accountReceiveResult.addresses.map((address) => {
|
|
7097
7772
|
const network = NETWORK_CONFIG[address.network];
|
|
7098
|
-
return /* @__PURE__ */ (0,
|
|
7773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7099
7774
|
"div",
|
|
7100
7775
|
{
|
|
7101
7776
|
className: cn(
|
|
@@ -7106,25 +7781,25 @@ function BtcUnifiedReceive({
|
|
|
7106
7781
|
style: { borderLeftWidth: 3, borderLeftColor: network.color },
|
|
7107
7782
|
onClick: () => void copyToClipboard(address.value),
|
|
7108
7783
|
children: [
|
|
7109
|
-
/* @__PURE__ */ (0,
|
|
7110
|
-
/* @__PURE__ */ (0,
|
|
7111
|
-
/* @__PURE__ */ (0,
|
|
7112
|
-
/* @__PURE__ */ (0,
|
|
7784
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
|
|
7785
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
7786
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
7787
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
|
|
7113
7788
|
(() => {
|
|
7114
7789
|
const amountLabel = formatSatsForRow(address.amountSats);
|
|
7115
|
-
return amountLabel ? /* @__PURE__ */ (0,
|
|
7790
|
+
return amountLabel ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "rounded-full bg-white/10 px-1.5 py-0.5 text-tiny font-bold tabular-nums text-white/70", children: amountLabel }) : null;
|
|
7116
7791
|
})()
|
|
7117
7792
|
] }),
|
|
7118
|
-
/* @__PURE__ */ (0,
|
|
7793
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.value.length > 50 ? `${address.value.slice(0, 18)}...${address.value.slice(-14)}` : address.value })
|
|
7119
7794
|
] }),
|
|
7120
|
-
/* @__PURE__ */ (0,
|
|
7795
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(CopyIcon, { copied: copied === address.value })
|
|
7121
7796
|
]
|
|
7122
7797
|
},
|
|
7123
7798
|
address.network
|
|
7124
7799
|
);
|
|
7125
7800
|
})
|
|
7126
7801
|
] }),
|
|
7127
|
-
/* @__PURE__ */ (0,
|
|
7802
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7128
7803
|
NetworkInfoDisclosure,
|
|
7129
7804
|
{
|
|
7130
7805
|
networks: Array.from(
|
|
@@ -7132,8 +7807,8 @@ function BtcUnifiedReceive({
|
|
|
7132
7807
|
)
|
|
7133
7808
|
}
|
|
7134
7809
|
),
|
|
7135
|
-
/* @__PURE__ */ (0,
|
|
7136
|
-
showRegenerate && /* @__PURE__ */ (0,
|
|
7810
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex gap-2.5 pt-1", children: [
|
|
7811
|
+
showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7137
7812
|
"button",
|
|
7138
7813
|
{
|
|
7139
7814
|
type: "button",
|
|
@@ -7145,13 +7820,13 @@ function BtcUnifiedReceive({
|
|
|
7145
7820
|
},
|
|
7146
7821
|
className: "flex flex-1 items-center justify-center gap-1.5 rounded-xl border py-3 text-xs font-bold text-muted-foreground transition-all hover:border-border hover:bg-accent hover:text-white active:scale-[0.98]",
|
|
7147
7822
|
children: [
|
|
7148
|
-
/* @__PURE__ */ (0,
|
|
7823
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "refresh" }),
|
|
7149
7824
|
"New Address"
|
|
7150
7825
|
]
|
|
7151
7826
|
}
|
|
7152
7827
|
),
|
|
7153
|
-
/* @__PURE__ */ (0,
|
|
7154
|
-
/* @__PURE__ */ (0,
|
|
7828
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Button, { variant: "cta", onClick: handleDone, className: showRegenerate ? void 0 : "flex-1", children: [
|
|
7829
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check" }),
|
|
7155
7830
|
"Done"
|
|
7156
7831
|
] })
|
|
7157
7832
|
] })
|
|
@@ -7159,7 +7834,7 @@ function BtcUnifiedReceive({
|
|
|
7159
7834
|
}
|
|
7160
7835
|
|
|
7161
7836
|
// src/web/components/deposit-generated-view.tsx
|
|
7162
|
-
var
|
|
7837
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
7163
7838
|
function parseAssetAmount(amountString, asset) {
|
|
7164
7839
|
const value = Number(amountString);
|
|
7165
7840
|
if (!Number.isFinite(value)) return 0;
|
|
@@ -7200,10 +7875,10 @@ function DepositGeneratedView({
|
|
|
7200
7875
|
showRegenerate = true,
|
|
7201
7876
|
onRegenerate
|
|
7202
7877
|
}) {
|
|
7203
|
-
return /* @__PURE__ */ (0,
|
|
7204
|
-
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0,
|
|
7205
|
-
/* @__PURE__ */ (0,
|
|
7206
|
-
/* @__PURE__ */ (0,
|
|
7878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
7879
|
+
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
|
|
7880
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
|
|
7881
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7207
7882
|
"input",
|
|
7208
7883
|
{
|
|
7209
7884
|
type: "text",
|
|
@@ -7214,16 +7889,16 @@ function DepositGeneratedView({
|
|
|
7214
7889
|
inputMode: "decimal"
|
|
7215
7890
|
}
|
|
7216
7891
|
),
|
|
7217
|
-
amount && /* @__PURE__ */ (0,
|
|
7218
|
-
/* @__PURE__ */ (0,
|
|
7892
|
+
amount && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
7893
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7219
7894
|
"Updating ",
|
|
7220
7895
|
network === "arkade" ? "URI" : "invoice",
|
|
7221
7896
|
"..."
|
|
7222
7897
|
] }) : network === "arkade" ? `Unified URI for ${amount} ${getUnitLabel()}` : `Invoice for ${amount} ${getUnitLabel()}` })
|
|
7223
7898
|
] }),
|
|
7224
|
-
network === "lightning" && !isBtc && /* @__PURE__ */ (0,
|
|
7225
|
-
/* @__PURE__ */ (0,
|
|
7226
|
-
/* @__PURE__ */ (0,
|
|
7899
|
+
network === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
|
|
7900
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
|
|
7901
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7227
7902
|
"input",
|
|
7228
7903
|
{
|
|
7229
7904
|
type: "text",
|
|
@@ -7234,19 +7909,19 @@ function DepositGeneratedView({
|
|
|
7234
7909
|
inputMode: "decimal"
|
|
7235
7910
|
}
|
|
7236
7911
|
),
|
|
7237
|
-
amount && /* @__PURE__ */ (0,
|
|
7238
|
-
/* @__PURE__ */ (0,
|
|
7912
|
+
amount && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
7913
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7239
7914
|
"Updating invoice..."
|
|
7240
7915
|
] }) : `Invoice for ${amount} ${getUnitLabel()}` }),
|
|
7241
|
-
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0,
|
|
7916
|
+
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("p", { className: "rounded-lg border border-danger/20 bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
|
|
7242
7917
|
"Exceeds max: ",
|
|
7243
7918
|
formatAssetAmount(maxDepositAmount, selectedAsset),
|
|
7244
7919
|
" ",
|
|
7245
7920
|
getUnitLabel()
|
|
7246
7921
|
] })
|
|
7247
7922
|
] }),
|
|
7248
|
-
/* @__PURE__ */ (0,
|
|
7249
|
-
/* @__PURE__ */ (0,
|
|
7923
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
|
|
7924
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
7250
7925
|
"div",
|
|
7251
7926
|
{
|
|
7252
7927
|
className: cn(
|
|
@@ -7255,7 +7930,7 @@ function DepositGeneratedView({
|
|
|
7255
7930
|
),
|
|
7256
7931
|
style: net.qrGlow,
|
|
7257
7932
|
children: [
|
|
7258
|
-
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0,
|
|
7933
|
+
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
7259
7934
|
"div",
|
|
7260
7935
|
{
|
|
7261
7936
|
className: cn(
|
|
@@ -7265,21 +7940,21 @@ function DepositGeneratedView({
|
|
|
7265
7940
|
),
|
|
7266
7941
|
children: [
|
|
7267
7942
|
net.icon,
|
|
7268
|
-
/* @__PURE__ */ (0,
|
|
7943
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { children: net.label })
|
|
7269
7944
|
]
|
|
7270
7945
|
}
|
|
7271
7946
|
),
|
|
7272
|
-
/* @__PURE__ */ (0,
|
|
7273
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
7947
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(QrCode, { value: address, size: 188 }),
|
|
7948
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(PaidOverlay, {}),
|
|
7274
7949
|
loading && !isInvoicePaid && // Loading scrim — sits over the QR while a fresh address/invoice
|
|
7275
7950
|
// is being fetched (e.g. after the New Address button).
|
|
7276
|
-
/* @__PURE__ */ (0,
|
|
7951
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
|
|
7277
7952
|
]
|
|
7278
7953
|
}
|
|
7279
7954
|
),
|
|
7280
7955
|
(() => {
|
|
7281
7956
|
const isAddressCopied = copied === address;
|
|
7282
|
-
return /* @__PURE__ */ (0,
|
|
7957
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
7283
7958
|
"button",
|
|
7284
7959
|
{
|
|
7285
7960
|
type: "button",
|
|
@@ -7292,14 +7967,14 @@ function DepositGeneratedView({
|
|
|
7292
7967
|
void copyToClipboard(address);
|
|
7293
7968
|
},
|
|
7294
7969
|
children: [
|
|
7295
|
-
/* @__PURE__ */ (0,
|
|
7970
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
|
|
7296
7971
|
isAddressCopied ? "Copied" : network === "lightning" ? "Copy Invoice" : "Copy Address"
|
|
7297
7972
|
]
|
|
7298
7973
|
}
|
|
7299
7974
|
);
|
|
7300
7975
|
})()
|
|
7301
7976
|
] }),
|
|
7302
|
-
network === "lightning" && invoiceStatus && /* @__PURE__ */ (0,
|
|
7977
|
+
network === "lightning" && invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7303
7978
|
InvoiceStatusBanner,
|
|
7304
7979
|
{
|
|
7305
7980
|
isInvoicePending,
|
|
@@ -7308,7 +7983,7 @@ function DepositGeneratedView({
|
|
|
7308
7983
|
invoiceStatus
|
|
7309
7984
|
}
|
|
7310
7985
|
),
|
|
7311
|
-
/* @__PURE__ */ (0,
|
|
7986
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
7312
7987
|
"div",
|
|
7313
7988
|
{
|
|
7314
7989
|
"data-testid": "deposit-generated-address",
|
|
@@ -7321,16 +7996,16 @@ function DepositGeneratedView({
|
|
|
7321
7996
|
style: { borderLeftWidth: 3, borderLeftColor: net.color },
|
|
7322
7997
|
onClick: () => void copyToClipboard(address),
|
|
7323
7998
|
children: [
|
|
7324
|
-
/* @__PURE__ */ (0,
|
|
7325
|
-
/* @__PURE__ */ (0,
|
|
7326
|
-
/* @__PURE__ */ (0,
|
|
7327
|
-
/* @__PURE__ */ (0,
|
|
7999
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
|
|
8000
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8001
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
|
|
8002
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.length > 50 ? `${address.slice(0, 18)}...${address.slice(-14)}` : address })
|
|
7328
8003
|
] }),
|
|
7329
|
-
/* @__PURE__ */ (0,
|
|
8004
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CopyIcon, { copied: copied === address })
|
|
7330
8005
|
]
|
|
7331
8006
|
}
|
|
7332
8007
|
),
|
|
7333
|
-
recipientId && /* @__PURE__ */ (0,
|
|
8008
|
+
recipientId && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
7334
8009
|
"div",
|
|
7335
8010
|
{
|
|
7336
8011
|
className: cn(
|
|
@@ -7340,16 +8015,16 @@ function DepositGeneratedView({
|
|
|
7340
8015
|
style: { borderLeftWidth: 3, borderLeftColor: "var(--primary)" },
|
|
7341
8016
|
onClick: () => void copyToClipboard(recipientId),
|
|
7342
8017
|
children: [
|
|
7343
|
-
/* @__PURE__ */ (0,
|
|
7344
|
-
/* @__PURE__ */ (0,
|
|
7345
|
-
/* @__PURE__ */ (0,
|
|
7346
|
-
/* @__PURE__ */ (0,
|
|
8018
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
|
|
8019
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8020
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
|
|
8021
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: recipientId.length > 50 ? `${recipientId.slice(0, 18)}...${recipientId.slice(-14)}` : recipientId })
|
|
7347
8022
|
] }),
|
|
7348
|
-
/* @__PURE__ */ (0,
|
|
8023
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CopyIcon, { copied: copied === recipientId })
|
|
7349
8024
|
]
|
|
7350
8025
|
}
|
|
7351
8026
|
),
|
|
7352
|
-
showRegenerate && /* @__PURE__ */ (0,
|
|
8027
|
+
showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7353
8028
|
"button",
|
|
7354
8029
|
{
|
|
7355
8030
|
type: "button",
|
|
@@ -7367,7 +8042,7 @@ function DepositGeneratedView({
|
|
|
7367
8042
|
setInvoiceStatus(null);
|
|
7368
8043
|
},
|
|
7369
8044
|
className: "flex size-10 items-center justify-center rounded-full bg-primary/15 text-primary transition-all hover:bg-primary/25 active:scale-[0.98] disabled:opacity-50",
|
|
7370
|
-
children: /* @__PURE__ */ (0,
|
|
8045
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7371
8046
|
"span",
|
|
7372
8047
|
{
|
|
7373
8048
|
className: cn("material-symbols-outlined text-icon-md", loading && "animate-spin"),
|
|
@@ -7380,7 +8055,7 @@ function DepositGeneratedView({
|
|
|
7380
8055
|
}
|
|
7381
8056
|
|
|
7382
8057
|
// src/web/components/deposit-pre-generation.tsx
|
|
7383
|
-
var
|
|
8058
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
7384
8059
|
var ACCOUNT_TITLES = {
|
|
7385
8060
|
RGB: "RGB & Lightning",
|
|
7386
8061
|
SPARK: "Spark",
|
|
@@ -7420,62 +8095,62 @@ function DepositPreGeneration({
|
|
|
7420
8095
|
showReceiveSummary = true
|
|
7421
8096
|
}) {
|
|
7422
8097
|
const method = METHOD_META2[currentMethod];
|
|
7423
|
-
return /* @__PURE__ */ (0,
|
|
7424
|
-
showReceiveSummary && /* @__PURE__ */ (0,
|
|
7425
|
-
/* @__PURE__ */ (0,
|
|
7426
|
-
/* @__PURE__ */ (0,
|
|
7427
|
-
/* @__PURE__ */ (0,
|
|
7428
|
-
/* @__PURE__ */ (0,
|
|
7429
|
-
/* @__PURE__ */ (0,
|
|
8098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-3", children: [
|
|
8099
|
+
showReceiveSummary && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "rounded-2xl border border-white/8 bg-white/4 p-3", children: [
|
|
8100
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
|
|
8101
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
|
|
8102
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8103
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-white/45", children: "Asset" }),
|
|
8104
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
|
|
7430
8105
|
] }),
|
|
7431
|
-
/* @__PURE__ */ (0,
|
|
7432
|
-
/* @__PURE__ */ (0,
|
|
7433
|
-
/* @__PURE__ */ (0,
|
|
8106
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8107
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-white/45", children: "Destination account" }),
|
|
8108
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
|
|
7434
8109
|
] }),
|
|
7435
|
-
/* @__PURE__ */ (0,
|
|
7436
|
-
/* @__PURE__ */ (0,
|
|
7437
|
-
/* @__PURE__ */ (0,
|
|
8110
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8111
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-white/45", children: "Transfer method" }),
|
|
8112
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "font-bold text-white", children: method.label })
|
|
7438
8113
|
] }),
|
|
7439
|
-
/* @__PURE__ */ (0,
|
|
8114
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-tiny text-white/35", children: method.summary })
|
|
7440
8115
|
] })
|
|
7441
8116
|
] }),
|
|
7442
|
-
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0,
|
|
7443
|
-
/* @__PURE__ */ (0,
|
|
7444
|
-
/* @__PURE__ */ (0,
|
|
8117
|
+
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center gap-2.5 rounded-xl border bg-card p-3", children: [
|
|
8118
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
|
|
8119
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
|
|
7445
8120
|
] }),
|
|
7446
|
-
showChannelWarning && /* @__PURE__ */ (0,
|
|
7447
|
-
/* @__PURE__ */ (0,
|
|
7448
|
-
/* @__PURE__ */ (0,
|
|
8121
|
+
showChannelWarning && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8122
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
|
|
8123
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
|
|
7449
8124
|
] }),
|
|
7450
|
-
showLiquidityWarning && /* @__PURE__ */ (0,
|
|
7451
|
-
/* @__PURE__ */ (0,
|
|
7452
|
-
/* @__PURE__ */ (0,
|
|
8125
|
+
showLiquidityWarning && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8126
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
|
|
8127
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "text-tiny text-warning/70", children: [
|
|
7453
8128
|
"No channels with inbound capacity for ",
|
|
7454
8129
|
selectedAsset?.ticker ?? "this asset",
|
|
7455
8130
|
"."
|
|
7456
8131
|
] })
|
|
7457
8132
|
] }),
|
|
7458
|
-
isAutoGenerate && loading && /* @__PURE__ */ (0,
|
|
7459
|
-
/* @__PURE__ */ (0,
|
|
7460
|
-
/* @__PURE__ */ (0,
|
|
7461
|
-
/* @__PURE__ */ (0,
|
|
8133
|
+
isAutoGenerate && loading && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
8134
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: cn("flex size-16 items-center justify-center rounded-2xl border", net.bg, net.border), children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
|
|
8135
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-1 text-center", children: [
|
|
8136
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "text-sm font-bold text-muted-foreground", children: [
|
|
7462
8137
|
"Generating ",
|
|
7463
8138
|
network === "lightning" ? "invoice" : "address",
|
|
7464
8139
|
"..."
|
|
7465
8140
|
] }),
|
|
7466
|
-
/* @__PURE__ */ (0,
|
|
8141
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "text-xs text-white/30", children: [
|
|
7467
8142
|
net.label,
|
|
7468
8143
|
" network"
|
|
7469
8144
|
] })
|
|
7470
8145
|
] })
|
|
7471
8146
|
] }),
|
|
7472
|
-
network === "onchain" && !isBtc && /* @__PURE__ */ (0,
|
|
7473
|
-
/* @__PURE__ */ (0,
|
|
7474
|
-
/* @__PURE__ */ (0,
|
|
7475
|
-
/* @__PURE__ */ (0,
|
|
7476
|
-
/* @__PURE__ */ (0,
|
|
8147
|
+
network === "onchain" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-2 rounded-xl border bg-card p-3", children: [
|
|
8148
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8149
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8150
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("h4", { className: "text-xs font-bold text-white", children: "Receive with Privacy" }),
|
|
8151
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Blinded UTXO - enhanced privacy" : "Witness address - less private" })
|
|
7477
8152
|
] }),
|
|
7478
|
-
/* @__PURE__ */ (0,
|
|
8153
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7479
8154
|
"button",
|
|
7480
8155
|
{
|
|
7481
8156
|
type: "button",
|
|
@@ -7484,7 +8159,7 @@ function DepositPreGeneration({
|
|
|
7484
8159
|
usePrivacy ? "bg-primary" : "bg-white/10"
|
|
7485
8160
|
),
|
|
7486
8161
|
onClick: () => setUsePrivacy(!usePrivacy),
|
|
7487
|
-
children: /* @__PURE__ */ (0,
|
|
8162
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7488
8163
|
"span",
|
|
7489
8164
|
{
|
|
7490
8165
|
className: cn(
|
|
@@ -7496,21 +8171,21 @@ function DepositPreGeneration({
|
|
|
7496
8171
|
}
|
|
7497
8172
|
)
|
|
7498
8173
|
] }),
|
|
7499
|
-
!usePrivacy && /* @__PURE__ */ (0,
|
|
8174
|
+
!usePrivacy && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "rounded-lg border border-warning/15 bg-warning/5 px-2.5 py-1.5 text-xxs text-warning/80", children: "Sender needs to add sats to create a new UTXO for you." })
|
|
7500
8175
|
] }),
|
|
7501
|
-
network === "onchain" && !isBtc && /* @__PURE__ */ (0,
|
|
7502
|
-
/* @__PURE__ */ (0,
|
|
7503
|
-
/* @__PURE__ */ (0,
|
|
8176
|
+
network === "onchain" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8177
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
8178
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
|
|
7504
8179
|
"Amount (",
|
|
7505
8180
|
getUnitLabel(),
|
|
7506
8181
|
") - Optional"
|
|
7507
8182
|
] }),
|
|
7508
|
-
selectedAsset && /* @__PURE__ */ (0,
|
|
8183
|
+
selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "text-xxs text-white/30", children: [
|
|
7509
8184
|
selectedAsset.precision ?? 0,
|
|
7510
8185
|
" decimals"
|
|
7511
8186
|
] })
|
|
7512
8187
|
] }),
|
|
7513
|
-
/* @__PURE__ */ (0,
|
|
8188
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7514
8189
|
"input",
|
|
7515
8190
|
{
|
|
7516
8191
|
type: "text",
|
|
@@ -7522,18 +8197,18 @@ function DepositPreGeneration({
|
|
|
7522
8197
|
}
|
|
7523
8198
|
)
|
|
7524
8199
|
] }),
|
|
7525
|
-
needsColorableUtxos && /* @__PURE__ */ (0,
|
|
7526
|
-
/* @__PURE__ */ (0,
|
|
7527
|
-
/* @__PURE__ */ (0,
|
|
8200
|
+
needsColorableUtxos && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8201
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
|
|
8202
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-tiny text-warning/70", children: "To receive RGB assets on-chain you need at least one uncolored UTXO. Create some now and the invoice will be generated automatically." })
|
|
7528
8203
|
] }),
|
|
7529
|
-
!isAutoGenerate && (needsColorableUtxos && onOpenCreateUtxos ? /* @__PURE__ */ (0,
|
|
7530
|
-
/* @__PURE__ */ (0,
|
|
8204
|
+
!isAutoGenerate && (needsColorableUtxos && onOpenCreateUtxos ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8205
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
|
|
7531
8206
|
"Create Colorable UTXOs"
|
|
7532
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
7533
|
-
/* @__PURE__ */ (0,
|
|
8207
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8208
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
|
|
7534
8209
|
"Generating..."
|
|
7535
|
-
] }) : /* @__PURE__ */ (0,
|
|
7536
|
-
/* @__PURE__ */ (0,
|
|
8210
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8211
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
|
|
7537
8212
|
"Generate Address"
|
|
7538
8213
|
] }) }))
|
|
7539
8214
|
] });
|
|
@@ -7541,7 +8216,7 @@ function DepositPreGeneration({
|
|
|
7541
8216
|
|
|
7542
8217
|
// src/web/components/deposit-asset-selection.tsx
|
|
7543
8218
|
var import_react16 = require("react");
|
|
7544
|
-
var
|
|
8219
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
7545
8220
|
var PROTOCOL_BADGE = {
|
|
7546
8221
|
RGB: { label: "RGB", className: "bg-network-rgb-chip text-network-rgb-text" },
|
|
7547
8222
|
SPARK: { label: "Spark", className: "bg-network-spark-chip text-network-spark-text" },
|
|
@@ -7612,8 +8287,8 @@ function DepositAssetSelection({
|
|
|
7612
8287
|
titleHoverClass: "group-hover:text-network-arkade"
|
|
7613
8288
|
}
|
|
7614
8289
|
].filter((option) => option.enabled);
|
|
7615
|
-
return /* @__PURE__ */ (0,
|
|
7616
|
-
/* @__PURE__ */ (0,
|
|
8290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
|
|
8291
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
7617
8292
|
Button,
|
|
7618
8293
|
{
|
|
7619
8294
|
type: "button",
|
|
@@ -7621,10 +8296,10 @@ function DepositAssetSelection({
|
|
|
7621
8296
|
size: "icon-xl",
|
|
7622
8297
|
onClick: () => setCurrentView("dashboard"),
|
|
7623
8298
|
"aria-label": "Go back",
|
|
7624
|
-
children: /* @__PURE__ */ (0,
|
|
8299
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "arrow_back", size: "xl" })
|
|
7625
8300
|
}
|
|
7626
8301
|
) }),
|
|
7627
|
-
/* @__PURE__ */ (0,
|
|
8302
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
7628
8303
|
DotPagination,
|
|
7629
8304
|
{
|
|
7630
8305
|
count: 2,
|
|
@@ -7632,8 +8307,8 @@ function DepositAssetSelection({
|
|
|
7632
8307
|
ariaLabel: "Deposit step 1 of 2: select asset"
|
|
7633
8308
|
}
|
|
7634
8309
|
) }),
|
|
7635
|
-
/* @__PURE__ */ (0,
|
|
7636
|
-
/* @__PURE__ */ (0,
|
|
8310
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "relative", children: [
|
|
8311
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
7637
8312
|
Icon,
|
|
7638
8313
|
{
|
|
7639
8314
|
name: "search",
|
|
@@ -7641,7 +8316,7 @@ function DepositAssetSelection({
|
|
|
7641
8316
|
className: "absolute left-3 top-1/2 -translate-y-1/2 text-white/30"
|
|
7642
8317
|
}
|
|
7643
8318
|
),
|
|
7644
|
-
/* @__PURE__ */ (0,
|
|
8319
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
7645
8320
|
"input",
|
|
7646
8321
|
{
|
|
7647
8322
|
autoFocus: true,
|
|
@@ -7654,8 +8329,8 @@ function DepositAssetSelection({
|
|
|
7654
8329
|
}
|
|
7655
8330
|
)
|
|
7656
8331
|
] }) }),
|
|
7657
|
-
/* @__PURE__ */ (0,
|
|
7658
|
-
btcAsset && /* @__PURE__ */ (0,
|
|
8332
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
|
|
8333
|
+
btcAsset && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
7659
8334
|
"button",
|
|
7660
8335
|
{
|
|
7661
8336
|
type: "button",
|
|
@@ -7663,27 +8338,27 @@ function DepositAssetSelection({
|
|
|
7663
8338
|
className: "group flex w-full min-w-0 items-center gap-3 overflow-hidden rounded-2xl bg-white/3 px-4 py-3 text-sm transition-all hover:bg-accent",
|
|
7664
8339
|
onClick: () => onSelectAsset(btcAsset),
|
|
7665
8340
|
children: [
|
|
7666
|
-
/* @__PURE__ */ (0,
|
|
7667
|
-
/* @__PURE__ */ (0,
|
|
7668
|
-
/* @__PURE__ */ (0,
|
|
7669
|
-
/* @__PURE__ */ (0,
|
|
8341
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
|
|
8342
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8343
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
|
|
8344
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
|
|
7670
8345
|
] }),
|
|
7671
|
-
/* @__PURE__ */ (0,
|
|
7672
|
-
/* @__PURE__ */ (0,
|
|
7673
|
-
/* @__PURE__ */ (0,
|
|
7674
|
-
isSparkConnected && /* @__PURE__ */ (0,
|
|
7675
|
-
isArkadeConnected && /* @__PURE__ */ (0,
|
|
8346
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
|
|
8347
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(NetworkBadge, { network: "L1", size: "sm" }),
|
|
8348
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(NetworkBadge, { network: "LN", size: "sm" }),
|
|
8349
|
+
isSparkConnected && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(NetworkBadge, { network: "Spark", size: "sm" }),
|
|
8350
|
+
isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(NetworkBadge, { network: "Arkade", size: "sm" })
|
|
7676
8351
|
] }),
|
|
7677
|
-
/* @__PURE__ */ (0,
|
|
8352
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
|
|
7678
8353
|
]
|
|
7679
8354
|
}
|
|
7680
8355
|
),
|
|
7681
|
-
noResults ? /* @__PURE__ */ (0,
|
|
8356
|
+
noResults ? /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "py-8 text-center text-sm text-white/30", children: [
|
|
7682
8357
|
'No assets match "',
|
|
7683
8358
|
searchQuery,
|
|
7684
8359
|
'"'
|
|
7685
|
-
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0,
|
|
7686
|
-
/* @__PURE__ */ (0,
|
|
8360
|
+
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5 pt-1", children: [
|
|
8361
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
7687
8362
|
"button",
|
|
7688
8363
|
{
|
|
7689
8364
|
type: "button",
|
|
@@ -7696,17 +8371,17 @@ function DepositAssetSelection({
|
|
|
7696
8371
|
isSearching && "cursor-default"
|
|
7697
8372
|
),
|
|
7698
8373
|
children: [
|
|
7699
|
-
/* @__PURE__ */ (0,
|
|
7700
|
-
/* @__PURE__ */ (0,
|
|
7701
|
-
/* @__PURE__ */ (0,
|
|
7702
|
-
!isSearching && /* @__PURE__ */ (0,
|
|
8374
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
|
|
8375
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "inline-flex size-5 items-center justify-center rounded-full bg-white/10 text-tiny font-bold text-white/70", children: ownedAssetsCount }),
|
|
8376
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex-1" }),
|
|
8377
|
+
!isSearching && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
|
|
7703
8378
|
]
|
|
7704
8379
|
}
|
|
7705
8380
|
),
|
|
7706
|
-
showOwnedAssets && /* @__PURE__ */ (0,
|
|
8381
|
+
showOwnedAssets && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
|
|
7707
8382
|
const protocolBadge = asset.accountId ? PROTOCOL_BADGE[asset.accountId] : null;
|
|
7708
8383
|
const balance = asset.balance ?? 0;
|
|
7709
|
-
return /* @__PURE__ */ (0,
|
|
8384
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
7710
8385
|
"button",
|
|
7711
8386
|
{
|
|
7712
8387
|
type: "button",
|
|
@@ -7714,11 +8389,11 @@ function DepositAssetSelection({
|
|
|
7714
8389
|
className: "group flex w-full min-w-0 items-center gap-3 overflow-hidden rounded-2xl border border-white/8 bg-white/3 px-4 py-3 text-sm transition-all hover:border-border hover:bg-accent",
|
|
7715
8390
|
onClick: () => onSelectAsset(asset),
|
|
7716
8391
|
children: [
|
|
7717
|
-
/* @__PURE__ */ (0,
|
|
7718
|
-
/* @__PURE__ */ (0,
|
|
7719
|
-
/* @__PURE__ */ (0,
|
|
7720
|
-
/* @__PURE__ */ (0,
|
|
7721
|
-
protocolBadge && /* @__PURE__ */ (0,
|
|
8392
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
|
|
8393
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8394
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
8395
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
|
|
8396
|
+
protocolBadge && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
7722
8397
|
"span",
|
|
7723
8398
|
{
|
|
7724
8399
|
className: cn(
|
|
@@ -7729,38 +8404,38 @@ function DepositAssetSelection({
|
|
|
7729
8404
|
}
|
|
7730
8405
|
)
|
|
7731
8406
|
] }),
|
|
7732
|
-
/* @__PURE__ */ (0,
|
|
8407
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
|
|
7733
8408
|
] }),
|
|
7734
|
-
balance > 0 && /* @__PURE__ */ (0,
|
|
7735
|
-
/* @__PURE__ */ (0,
|
|
7736
|
-
/* @__PURE__ */ (0,
|
|
8409
|
+
balance > 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex-shrink-0 text-right", children: [
|
|
8410
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "font-mono text-xs font-bold text-white", children: formatAssetBalance(asset) }),
|
|
8411
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
|
|
7737
8412
|
] }),
|
|
7738
|
-
/* @__PURE__ */ (0,
|
|
8413
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-sm text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
|
|
7739
8414
|
]
|
|
7740
8415
|
},
|
|
7741
8416
|
asset.asset_id
|
|
7742
8417
|
);
|
|
7743
8418
|
}) })
|
|
7744
8419
|
] }) : null,
|
|
7745
|
-
!searchQuery && /* @__PURE__ */ (0,
|
|
8420
|
+
!searchQuery && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
7746
8421
|
"button",
|
|
7747
8422
|
{
|
|
7748
8423
|
type: "button",
|
|
7749
8424
|
onClick: () => setCurrentView("bridge"),
|
|
7750
8425
|
className: "group flex w-full items-center gap-3 rounded-2xl bg-gradient-to-r from-primary/10 to-primary/5 p-3 transition-all hover:from-primary/20 hover:to-primary/10",
|
|
7751
8426
|
children: [
|
|
7752
|
-
/* @__PURE__ */ (0,
|
|
7753
|
-
/* @__PURE__ */ (0,
|
|
7754
|
-
/* @__PURE__ */ (0,
|
|
7755
|
-
/* @__PURE__ */ (0,
|
|
8427
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
|
|
8428
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex-1 text-left", children: [
|
|
8429
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
|
|
8430
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
|
|
7756
8431
|
] }),
|
|
7757
|
-
/* @__PURE__ */ (0,
|
|
8432
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
|
|
7758
8433
|
]
|
|
7759
8434
|
}
|
|
7760
8435
|
) }),
|
|
7761
|
-
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0,
|
|
7762
|
-
/* @__PURE__ */ (0,
|
|
7763
|
-
/* @__PURE__ */ (0,
|
|
8436
|
+
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-2 pt-2", children: [
|
|
8437
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "px-1", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/35", children: "New Asset" }) }),
|
|
8438
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
7764
8439
|
"div",
|
|
7765
8440
|
{
|
|
7766
8441
|
className: cn(
|
|
@@ -7769,7 +8444,7 @@ function DepositAssetSelection({
|
|
|
7769
8444
|
),
|
|
7770
8445
|
children: newAssetOptions.map((option) => {
|
|
7771
8446
|
const active = isNewAsset && newAssetAccount === option.account;
|
|
7772
|
-
return /* @__PURE__ */ (0,
|
|
8447
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
7773
8448
|
"button",
|
|
7774
8449
|
{
|
|
7775
8450
|
type: "button",
|
|
@@ -7780,11 +8455,11 @@ function DepositAssetSelection({
|
|
|
7780
8455
|
),
|
|
7781
8456
|
onClick: () => handleAddNewAsset(option.account),
|
|
7782
8457
|
children: [
|
|
7783
|
-
/* @__PURE__ */ (0,
|
|
7784
|
-
/* @__PURE__ */ (0,
|
|
7785
|
-
/* @__PURE__ */ (0,
|
|
8458
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "relative", children: [
|
|
8459
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(AssetIcon, { ticker: option.ticker, size: 40 }),
|
|
8460
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "absolute -bottom-1 -right-1 flex size-4 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "add", size: "xs", className: "text-background" }) })
|
|
7786
8461
|
] }),
|
|
7787
|
-
/* @__PURE__ */ (0,
|
|
8462
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "mt-2 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
7788
8463
|
"div",
|
|
7789
8464
|
{
|
|
7790
8465
|
className: cn(
|
|
@@ -7804,10 +8479,10 @@ function DepositAssetSelection({
|
|
|
7804
8479
|
)
|
|
7805
8480
|
] })
|
|
7806
8481
|
] }),
|
|
7807
|
-
isNewAsset && newAssetAccount === "RGB" && /* @__PURE__ */ (0,
|
|
7808
|
-
/* @__PURE__ */ (0,
|
|
7809
|
-
/* @__PURE__ */ (0,
|
|
7810
|
-
/* @__PURE__ */ (0,
|
|
8482
|
+
isNewAsset && newAssetAccount === "RGB" && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_jsx_runtime79.Fragment, { children: [
|
|
8483
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex-shrink-0 px-5 pb-3 animate-in fade-in slide-in-from-bottom-2 duration-300", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-2 rounded-2xl border border-network-arkade/20 bg-network-arkade/5 p-3", children: [
|
|
8484
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-tiny leading-relaxed text-network-arkade/80", children: "Leave empty to receive any RGB asset, or enter a specific asset ID." }),
|
|
8485
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
7811
8486
|
"input",
|
|
7812
8487
|
{
|
|
7813
8488
|
className: "w-full rounded-xl border bg-white/5 px-3 py-2 font-mono text-sm text-white transition-all placeholder:text-white/25 focus:border-network-arkade/40 focus:outline-none",
|
|
@@ -7818,16 +8493,16 @@ function DepositAssetSelection({
|
|
|
7818
8493
|
}
|
|
7819
8494
|
)
|
|
7820
8495
|
] }) }),
|
|
7821
|
-
/* @__PURE__ */ (0,
|
|
8496
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex-shrink-0 px-5 pb-5 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleContinueToGenerate, children: [
|
|
7822
8497
|
"Continue with New Asset",
|
|
7823
|
-
/* @__PURE__ */ (0,
|
|
8498
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined text-icon-xl font-bold", children: "arrow_forward" })
|
|
7824
8499
|
] }) })
|
|
7825
8500
|
] })
|
|
7826
8501
|
] });
|
|
7827
8502
|
}
|
|
7828
8503
|
|
|
7829
8504
|
// src/web/components/deposit-invoice-generation.tsx
|
|
7830
|
-
var
|
|
8505
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
7831
8506
|
var ACCOUNT_TITLES2 = {
|
|
7832
8507
|
RGB: "RGB & Lightning",
|
|
7833
8508
|
SPARK: "Spark",
|
|
@@ -7982,7 +8657,7 @@ function DepositInvoiceGeneration({
|
|
|
7982
8657
|
if (nextMethod) applyMethodSelection(account, nextMethod);
|
|
7983
8658
|
};
|
|
7984
8659
|
if (depositDetected) {
|
|
7985
|
-
return /* @__PURE__ */ (0,
|
|
8660
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
7986
8661
|
DepositSuccessScreen,
|
|
7987
8662
|
{
|
|
7988
8663
|
handleDone,
|
|
@@ -7999,15 +8674,15 @@ function DepositInvoiceGeneration({
|
|
|
7999
8674
|
const showChannelWarning = selectedAccount === "RGB" && network === "lightning" && !channelsLoading && channels.length === 0 && !isSparkConnected;
|
|
8000
8675
|
const showLiquidityWarning = !isSparkLightning && network === "lightning" && maxDepositAmount === 0 && !channelsLoading && !isBtc;
|
|
8001
8676
|
const isNewRgbAsset = isNewAsset && assetFamily === "RGB";
|
|
8002
|
-
return /* @__PURE__ */ (0,
|
|
8003
|
-
/* @__PURE__ */ (0,
|
|
8677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
|
|
8678
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: "arrow_back", size: "xl" }) }) }),
|
|
8004
8679
|
(() => {
|
|
8005
8680
|
const hideDestinationRail = isNewAsset && (network === "spark" || network === "arkade");
|
|
8006
8681
|
if (hideDestinationRail) return null;
|
|
8007
|
-
return /* @__PURE__ */ (0,
|
|
8008
|
-
/* @__PURE__ */ (0,
|
|
8009
|
-
/* @__PURE__ */ (0,
|
|
8010
|
-
/* @__PURE__ */ (0,
|
|
8682
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex-shrink-0 border-b border-border bg-background px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-2", children: [
|
|
8683
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { children: [
|
|
8684
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
|
|
8685
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8011
8686
|
AccountChoiceChip,
|
|
8012
8687
|
{
|
|
8013
8688
|
account,
|
|
@@ -8032,9 +8707,9 @@ function DepositInvoiceGeneration({
|
|
|
8032
8707
|
account
|
|
8033
8708
|
)) })
|
|
8034
8709
|
] }),
|
|
8035
|
-
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0,
|
|
8036
|
-
/* @__PURE__ */ (0,
|
|
8037
|
-
/* @__PURE__ */ (0,
|
|
8710
|
+
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { children: [
|
|
8711
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
|
|
8712
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: methodOptions.map(({ method, enabled, disabledReason }) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8038
8713
|
MethodChoiceChip,
|
|
8039
8714
|
{
|
|
8040
8715
|
method,
|
|
@@ -8048,7 +8723,7 @@ function DepositInvoiceGeneration({
|
|
|
8048
8723
|
] })
|
|
8049
8724
|
] }) });
|
|
8050
8725
|
})(),
|
|
8051
|
-
/* @__PURE__ */ (0,
|
|
8726
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8052
8727
|
BtcUnifiedReceive,
|
|
8053
8728
|
{
|
|
8054
8729
|
btcSelectedAccount,
|
|
@@ -8068,8 +8743,8 @@ function DepositInvoiceGeneration({
|
|
|
8068
8743
|
setAccountReceiveResult,
|
|
8069
8744
|
handleDone
|
|
8070
8745
|
}
|
|
8071
|
-
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0,
|
|
8072
|
-
/* @__PURE__ */ (0,
|
|
8746
|
+
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
8747
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8073
8748
|
"div",
|
|
8074
8749
|
{
|
|
8075
8750
|
className: cn(
|
|
@@ -8077,7 +8752,7 @@ function DepositInvoiceGeneration({
|
|
|
8077
8752
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].bg,
|
|
8078
8753
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].border
|
|
8079
8754
|
),
|
|
8080
|
-
children: /* @__PURE__ */ (0,
|
|
8755
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8081
8756
|
"span",
|
|
8082
8757
|
{
|
|
8083
8758
|
className: cn(
|
|
@@ -8089,11 +8764,11 @@ function DepositInvoiceGeneration({
|
|
|
8089
8764
|
)
|
|
8090
8765
|
}
|
|
8091
8766
|
),
|
|
8092
|
-
/* @__PURE__ */ (0,
|
|
8093
|
-
/* @__PURE__ */ (0,
|
|
8094
|
-
/* @__PURE__ */ (0,
|
|
8767
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-1 text-center", children: [
|
|
8768
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
|
|
8769
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
|
|
8095
8770
|
] })
|
|
8096
|
-
] }) : !address ? /* @__PURE__ */ (0,
|
|
8771
|
+
] }) : !address ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8097
8772
|
DepositPreGeneration,
|
|
8098
8773
|
{
|
|
8099
8774
|
selectedAsset,
|
|
@@ -8117,7 +8792,7 @@ function DepositInvoiceGeneration({
|
|
|
8117
8792
|
onOpenCreateUtxos,
|
|
8118
8793
|
showReceiveSummary: !isNewRgbAsset
|
|
8119
8794
|
}
|
|
8120
|
-
) : /* @__PURE__ */ (0,
|
|
8795
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8121
8796
|
DepositGeneratedView,
|
|
8122
8797
|
{
|
|
8123
8798
|
network,
|
|
@@ -8168,6 +8843,7 @@ function DepositInvoiceGeneration({
|
|
|
8168
8843
|
ActivityFilterBar,
|
|
8169
8844
|
ActivityList,
|
|
8170
8845
|
ActivityNetworkFilters,
|
|
8846
|
+
ActivityRow,
|
|
8171
8847
|
ActivityTypeTabs,
|
|
8172
8848
|
AlertBanner,
|
|
8173
8849
|
AppIcon,
|
|
@@ -8177,6 +8853,7 @@ function DepositInvoiceGeneration({
|
|
|
8177
8853
|
AssetSelector,
|
|
8178
8854
|
BalanceBreakdown,
|
|
8179
8855
|
BottomNav,
|
|
8856
|
+
BottomSheet,
|
|
8180
8857
|
BtcUnifiedReceive,
|
|
8181
8858
|
Button,
|
|
8182
8859
|
Card,
|
|
@@ -8202,15 +8879,19 @@ function DepositInvoiceGeneration({
|
|
|
8202
8879
|
DialogPortal,
|
|
8203
8880
|
DialogTitle,
|
|
8204
8881
|
DialogTrigger,
|
|
8882
|
+
DisclosureCard,
|
|
8205
8883
|
DotPagination,
|
|
8206
8884
|
ErrorBoundary,
|
|
8207
8885
|
ErrorCard,
|
|
8208
8886
|
ExpandIcon,
|
|
8887
|
+
ExtensionPageFrame,
|
|
8209
8888
|
FadeOverlay,
|
|
8889
|
+
FilterChipGroup,
|
|
8210
8890
|
FilterDropdown,
|
|
8211
8891
|
HeadlineGradient,
|
|
8212
8892
|
Icon,
|
|
8213
8893
|
Icons,
|
|
8894
|
+
InfoPanel,
|
|
8214
8895
|
InlineAction,
|
|
8215
8896
|
InlineSelector,
|
|
8216
8897
|
Input,
|
|
@@ -8218,8 +8899,10 @@ function DepositInvoiceGeneration({
|
|
|
8218
8899
|
KaleidoScopeHeroAnimation,
|
|
8219
8900
|
Label,
|
|
8220
8901
|
LightningNetworkIcon,
|
|
8902
|
+
ListSkeletonRows,
|
|
8221
8903
|
LoadingCard,
|
|
8222
8904
|
MethodChoiceChip,
|
|
8905
|
+
MetricCard,
|
|
8223
8906
|
MobileHeroAnimation,
|
|
8224
8907
|
NETWORK_CONFIG,
|
|
8225
8908
|
NetworkBadge,
|
|
@@ -8233,6 +8916,8 @@ function DepositInvoiceGeneration({
|
|
|
8233
8916
|
QrCode,
|
|
8234
8917
|
RecoveryPhraseCard,
|
|
8235
8918
|
ScrollArea,
|
|
8919
|
+
SecretRevealCard,
|
|
8920
|
+
SectionHeader,
|
|
8236
8921
|
SectionLabel,
|
|
8237
8922
|
SectionTitle,
|
|
8238
8923
|
Select,
|
|
@@ -8243,12 +8928,17 @@ function DepositInvoiceGeneration({
|
|
|
8243
8928
|
SelectSeparator,
|
|
8244
8929
|
SelectTrigger,
|
|
8245
8930
|
SelectValue,
|
|
8931
|
+
SelectableCard,
|
|
8246
8932
|
SettingItem,
|
|
8247
8933
|
SettingsActionButton,
|
|
8934
|
+
SettingsSectionCard,
|
|
8935
|
+
SettingsSelectorRow,
|
|
8248
8936
|
SettingsStatusPanel,
|
|
8249
8937
|
SettingsTile,
|
|
8938
|
+
Skeleton,
|
|
8250
8939
|
SparkNetworkIcon,
|
|
8251
8940
|
StatusBadge,
|
|
8941
|
+
StepperNumberInput,
|
|
8252
8942
|
SwapInputCard,
|
|
8253
8943
|
Switch,
|
|
8254
8944
|
Tabs,
|
|
@@ -8263,6 +8953,7 @@ function DepositInvoiceGeneration({
|
|
|
8263
8953
|
ToastTitle,
|
|
8264
8954
|
ToastViewport,
|
|
8265
8955
|
Toaster,
|
|
8956
|
+
ToneBadge,
|
|
8266
8957
|
TransactionCard,
|
|
8267
8958
|
TransferRouteCard,
|
|
8268
8959
|
WalletAssetList,
|