kaleido-ui 0.1.49 → 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.
@@ -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/setting-item.tsx
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, import_jsx_runtime52.jsx)(
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, import_jsx_runtime52.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
5366
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex items-center gap-3 flex-1 min-w-0", children: [
5367
- (icon || iconSrc) && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
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, import_jsx_runtime52.jsx)("img", { src: iconSrc, alt: iconAlt ?? title, className: "size-5 object-contain" }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "material-symbols-outlined text-icon-xl", children: icon })
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, import_jsx_runtime52.jsxs)("div", { className: "flex flex-col flex-1 min-w-0", children: [
5378
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "font-bold text-body text-foreground tracking-wide", children: title }),
5379
- description && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-sm text-muted-foreground mt-0.5 font-medium", children: description })
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, import_jsx_runtime52.jsxs)("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
5383
- value && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-xs text-muted-foreground font-mono", children: value }),
5384
- showChevron && isClickable && /* @__PURE__ */ (0, import_jsx_runtime52.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" })
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 import_jsx_runtime53 = require("react/jsx-runtime");
5472
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5393
5473
  function SectionLabel({ children, className }) {
5394
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
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 import_jsx_runtime54 = require("react/jsx-runtime");
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, import_jsx_runtime54.jsxs)("div", { className: cn("rounded-xl p-3 flex items-center gap-2", styles.container, className), children: [
5414
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Icon, { name: icon ?? styles.iconName, size: "md", className: cn("shrink-0", styles.icon) }),
5415
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: cn("text-sm", styles.icon), children })
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 import_jsx_runtime55 = require("react/jsx-runtime");
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, import_jsx_runtime55.jsxs)("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
5436
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
5437
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
5438
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
5439
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
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 import_jsx_runtime56 = require("react/jsx-runtime");
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, import_jsx_runtime56.jsxs)("section", { className: cn("space-y-2", className), children: [
5469
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center justify-between px-0.5", children: [
5470
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
5471
- hasWords && revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
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, import_jsx_runtime56.jsx)(Icon, { name: "visibility_off", className: "text-icon-md" }),
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, import_jsx_runtime56.jsxs)("div", { className: "relative", children: [
5487
- hasWords ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
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, import_jsx_runtime56.jsxs)("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
5495
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
5496
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "font-mono text-sm text-white", children: word })
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, import_jsx_runtime56.jsx)("div", { className: "rounded-xl border border-warning/30 bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
5500
- hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
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, import_jsx_runtime56.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
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, import_jsx_runtime56.jsxs)(
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, import_jsx_runtime56.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
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 import_jsx_runtime57 = require("react/jsx-runtime");
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, import_jsx_runtime57.jsxs)(
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, import_jsx_runtime57.jsx)("style", { children: KEYFRAMES }),
5600
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { style: {
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, import_jsx_runtime57.jsxs)(
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, import_jsx_runtime57.jsxs)("defs", { children: [
5619
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
5620
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
5621
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
5622
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "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, import_jsx_runtime57.jsxs)("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
5625
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
5626
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
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, import_jsx_runtime57.jsxs)("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
5629
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
5630
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
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, import_jsx_runtime57.jsxs)("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
5633
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
5634
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("feMerge", { children: [
5635
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("feMergeNode", { in: "blur" }),
5636
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("feMergeNode", { in: "SourceGraphic" })
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, import_jsx_runtime57.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_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
5641
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
5642
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
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, import_jsx_runtime57.jsx)("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
5645
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("g", { children: [
5646
- anim && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
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, import_jsx_runtime57.jsxs)("g", { children: [
5668
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
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, import_jsx_runtime57.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
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, import_jsx_runtime57.jsx)("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
5683
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
5684
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
5685
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
5686
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
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, import_jsx_runtime57.jsx)("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
5692
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
5693
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
5694
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
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, import_jsx_runtime57.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_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
5697
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
5698
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
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, import_jsx_runtime57.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("g", { children: [
5701
- anim && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
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, import_jsx_runtime57.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_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
5714
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
5715
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
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, import_jsx_runtime57.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("g", { children: [
5719
- anim && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
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, import_jsx_runtime57.jsx)("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
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, import_jsx_runtime57.jsxs)("g", { transform: `translate(${C - 19},${C - 19}) scale(0.182)`, children: [
5734
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
5735
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
5736
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
5737
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
5738
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
5739
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
5740
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
5741
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
5742
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
5743
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
5744
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
5745
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
5746
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
5747
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
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, import_jsx_runtime57.jsx)("div", { style: {
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, import_jsx_runtime57.jsx)(
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, import_jsx_runtime57.jsx)("div", { style: {
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, import_jsx_runtime57.jsx)(
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 import_jsx_runtime58 = require("react/jsx-runtime");
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)(
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, import_jsx_runtime58.jsxs)("defs", { children: [
5926
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
5927
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
5928
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
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, import_jsx_runtime58.jsxs)("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
5931
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
5932
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
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, import_jsx_runtime58.jsxs)("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
5935
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
5936
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
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, import_jsx_runtime58.jsxs)("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
5939
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
5940
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
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, import_jsx_runtime58.jsxs)("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
5943
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0%", stopColor: "#F7931A" }),
5944
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "100%", stopColor: "#06b6d4" })
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, import_jsx_runtime58.jsxs)("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
5947
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
5948
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
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, import_jsx_runtime58.jsxs)("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
5951
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
5952
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
5953
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "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, import_jsx_runtime58.jsxs)("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
5956
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
5957
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
5958
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
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, import_jsx_runtime58.jsxs)("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
5961
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
5962
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("feMerge", { children: [
5963
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("feMergeNode", { in: "blur" }),
5964
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("feMergeNode", { in: "SourceGraphic" })
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, import_jsx_runtime58.jsxs)("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
5968
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
5969
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("feMerge", { children: [
5970
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("feMergeNode", { in: "blur" }),
5971
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("feMergeNode", { in: "SourceGraphic" })
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, import_jsx_runtime58.jsx)("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
5976
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("g", { transform: px(20), children: [
5977
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("g", { children: [
5978
- anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
5992
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
5993
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsxs)("g", { children: [
6026
- anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
6040
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
6041
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsxs)("g", { children: [
6060
- anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsxs)("g", { transform: px(14), children: [
6089
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("g", { children: [
6090
- anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
6104
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
6105
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsxs)("g", { transform: px(10), children: [
6132
- /* @__PURE__ */ (0, import_jsx_runtime58.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_runtime58.jsx)("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
6133
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
6134
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("g", { children: [
6135
- anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)("g", { children: [
6151
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsx)("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
6166
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6167
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6168
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6169
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsx)("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
6206
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
6207
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
6249
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
6258
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)("g", { transform: px(5), children: [
6293
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("g", { children: [
6294
- anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsxs)("g", { children: [
6351
- anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
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, import_jsx_runtime58.jsx)("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
6393
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
6394
- /* @__PURE__ */ (0, import_jsx_runtime58.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` }),
6395
- /* @__PURE__ */ (0, import_jsx_runtime58.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` })
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, import_jsx_runtime58.jsxs)("g", { children: [
6402
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
6403
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
6404
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
6405
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
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, import_jsx_runtime58.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_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
6408
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
6409
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
6422
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
6423
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
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, import_jsx_runtime58.jsx)(
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, import_jsx_runtime58.jsxs)("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
6438
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
6439
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
6440
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
6441
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
6442
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
6443
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
6444
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
6445
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
6446
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
6447
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
6448
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
6449
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
6450
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
6451
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
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 import_jsx_runtime59 = require("react/jsx-runtime");
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, import_jsx_runtime59.jsx)("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
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, import_jsx_runtime59.jsx)("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
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, import_jsx_runtime59.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
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, import_jsx_runtime59.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
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, import_jsx_runtime59.jsx)("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
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, import_jsx_runtime59.jsx)(
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, import_jsx_runtime59.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
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, import_jsx_runtime59.jsxs)(
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, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
6678
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
6679
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "Waiting for payment..." })
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, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
6682
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
6683
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "Payment received!" })
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, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
6686
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
6687
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("span", { children: [
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, import_jsx_runtime59.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
6698
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
6699
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-sm font-bold text-primary", children: "Received!" })
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, import_jsx_runtime59.jsx)(
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, import_jsx_runtime59.jsx)(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { name: "content_copy", size: "sm" })
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, import_jsx_runtime59.jsxs)(
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, import_jsx_runtime59.jsx)("span", { children: meta.shortLabel })
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, import_jsx_runtime59.jsxs)("div", { className: cn("overflow-hidden rounded-xl border border-white/8 bg-white/3 transition-all", className), children: [
6782
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
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, import_jsx_runtime59.jsx)(Icon, { name: "info", size: "xs", className: "text-white/40" }),
6791
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
6792
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
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, import_jsx_runtime59.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) => {
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, import_jsx_runtime59.jsxs)("div", { className: "space-y-1", children: [
6800
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-1.5", children: [
6801
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
6802
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
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, import_jsx_runtime59.jsx)("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
6805
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
6806
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "mt-[1px] text-white/30", children: "-" }),
6807
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: bullet })
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, import_jsx_runtime59.jsxs)(
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, import_jsx_runtime59.jsx)("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
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 import_jsx_runtime60 = require("react/jsx-runtime");
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, import_jsx_runtime60.jsx)("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
6855
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "relative mb-8", children: [
6856
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
6857
- /* @__PURE__ */ (0, import_jsx_runtime60.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_runtime60.jsx)("span", { className: "material-symbols-outlined text-display text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
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, import_jsx_runtime60.jsx)("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
6860
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
6861
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "mb-10 flex items-center gap-3 rounded-2xl border bg-white/5 px-4 py-3", children: [
6862
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(AssetIcon, { ticker: displayTicker, size: 36 }),
6863
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "text-left", children: [
6864
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-sm font-bold text-white", children: displayTicker }),
6865
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
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, import_jsx_runtime60.jsxs)(
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, import_jsx_runtime60.jsx)("span", { children: networkLabel })
7553
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: networkLabel })
6879
7554
  ]
6880
7555
  }
6881
7556
  )
6882
7557
  ] }),
6883
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
6884
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "home" }),
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 import_jsx_runtime61 = require("react/jsx-runtime");
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, import_jsx_runtime61.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
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, import_jsx_runtime61.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
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, import_jsx_runtime61.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
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, import_jsx_runtime61.jsx)("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-black/60 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime61.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: [
6934
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
6935
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { children: [
6936
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
6937
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("p", { className: "mt-0.5 text-tiny text-white/45", children: [
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, import_jsx_runtime61.jsx)("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
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, import_jsx_runtime61.jsx)("div", { className: "space-y-2", children: options.map((option) => {
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, import_jsx_runtime61.jsxs)(
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, import_jsx_runtime61.jsx)(
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, import_jsx_runtime61.jsxs)("div", { className: "min-w-0 flex-1", children: [
6968
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center gap-2", children: [
6969
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
6970
- isSuggested && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
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, import_jsx_runtime61.jsx)("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
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, import_jsx_runtime61.jsx)(
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 import_jsx_runtime62 = require("react/jsx-runtime");
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, import_jsx_runtime62.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
7030
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
7031
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }) }),
7032
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
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, import_jsx_runtime62.jsxs)("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
7044
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
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, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
7049
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
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, import_jsx_runtime62.jsx)(QrCode, { value: accountReceiveResult.qrValue, size: 200 }),
7059
- isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(PaidOverlay, {})
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, import_jsx_runtime62.jsxs)(
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, import_jsx_runtime62.jsx)(Icon, { name: isQrCopied ? "check" : "content_copy", size: "xs" }),
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, import_jsx_runtime62.jsx)(
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, import_jsx_runtime62.jsxs)("div", { className: "space-y-1.5", children: [
7095
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
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, import_jsx_runtime62.jsxs)(
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, import_jsx_runtime62.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
7110
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "min-w-0 flex-1", children: [
7111
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center gap-1.5", children: [
7112
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
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, import_jsx_runtime62.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;
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, import_jsx_runtime62.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 })
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, import_jsx_runtime62.jsx)(CopyIcon, { copied: copied === address.value })
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, import_jsx_runtime62.jsx)(
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, import_jsx_runtime62.jsxs)("div", { className: "flex gap-2.5 pt-1", children: [
7136
- showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
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, import_jsx_runtime62.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "refresh" }),
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, import_jsx_runtime62.jsxs)(Button, { variant: "cta", onClick: handleDone, className: showRegenerate ? void 0 : "flex-1", children: [
7154
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check" }),
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 import_jsx_runtime63 = require("react/jsx-runtime");
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, import_jsx_runtime63.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
7204
- (network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
7205
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
7206
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
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, import_jsx_runtime63.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "flex items-center gap-1", children: [
7218
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
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, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
7225
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
7226
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
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, import_jsx_runtime63.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "flex items-center gap-1", children: [
7238
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
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, import_jsx_runtime63.jsxs)("p", { className: "rounded-lg border border-danger/20 bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
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, import_jsx_runtime63.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
7249
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
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, import_jsx_runtime63.jsxs)(
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, import_jsx_runtime63.jsx)("span", { children: net.label })
7943
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { children: net.label })
7269
7944
  ]
7270
7945
  }
7271
7946
  ),
7272
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(QrCode, { value: address, size: 188 }),
7273
- isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(PaidOverlay, {}),
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, import_jsx_runtime63.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
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, import_jsx_runtime63.jsxs)(
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, import_jsx_runtime63.jsx)(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
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, import_jsx_runtime63.jsx)(
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, import_jsx_runtime63.jsxs)(
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, import_jsx_runtime63.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
7325
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "min-w-0 flex-1", children: [
7326
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
7327
- /* @__PURE__ */ (0, import_jsx_runtime63.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 })
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, import_jsx_runtime63.jsx)(CopyIcon, { copied: copied === address })
8004
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CopyIcon, { copied: copied === address })
7330
8005
  ]
7331
8006
  }
7332
8007
  ),
7333
- recipientId && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
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, import_jsx_runtime63.jsx)("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
7344
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "min-w-0 flex-1", children: [
7345
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
7346
- /* @__PURE__ */ (0, import_jsx_runtime63.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 })
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, import_jsx_runtime63.jsx)(CopyIcon, { copied: copied === recipientId })
8023
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CopyIcon, { copied: copied === recipientId })
7349
8024
  ]
7350
8025
  }
7351
8026
  ),
7352
- showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
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, import_jsx_runtime63.jsx)(
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 import_jsx_runtime64 = require("react/jsx-runtime");
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, import_jsx_runtime64.jsxs)("div", { className: "space-y-3", children: [
7424
- showReceiveSummary && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "rounded-2xl border border-white/8 bg-white/4 p-3", children: [
7425
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
7426
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
7427
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
7428
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-white/45", children: "Asset" }),
7429
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
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, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
7432
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-white/45", children: "Destination account" }),
7433
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
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, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
7436
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-white/45", children: "Transfer method" }),
7437
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "font-bold text-white", children: method.label })
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, import_jsx_runtime64.jsx)("p", { className: "text-tiny text-white/35", children: method.summary })
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, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-2.5 rounded-xl border bg-card p-3", children: [
7443
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
7444
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
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, import_jsx_runtime64.jsxs)(AlertBanner, { variant: "warning", children: [
7447
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
7448
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
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, import_jsx_runtime64.jsxs)(AlertBanner, { variant: "warning", children: [
7451
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
7452
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("p", { className: "text-tiny text-warning/70", children: [
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, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
7459
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: cn("flex size-16 items-center justify-center rounded-2xl border", net.bg, net.border), children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
7460
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "space-y-1 text-center", children: [
7461
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("p", { className: "text-sm font-bold text-muted-foreground", children: [
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, import_jsx_runtime64.jsxs)("p", { className: "text-xs text-white/30", children: [
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, import_jsx_runtime64.jsxs)("div", { className: "space-y-2 rounded-xl border bg-card p-3", children: [
7473
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
7474
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "min-w-0 flex-1", children: [
7475
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h4", { className: "text-xs font-bold text-white", children: "Receive with Privacy" }),
7476
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Blinded UTXO - enhanced privacy" : "Witness address - less private" })
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, import_jsx_runtime64.jsx)(
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, import_jsx_runtime64.jsx)(
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, import_jsx_runtime64.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." })
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, import_jsx_runtime64.jsxs)("div", { className: "space-y-1.5", children: [
7502
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-between", children: [
7503
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
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, import_jsx_runtime64.jsxs)("span", { className: "text-xxs text-white/30", children: [
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, import_jsx_runtime64.jsx)(
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, import_jsx_runtime64.jsxs)(AlertBanner, { variant: "warning", children: [
7526
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
7527
- /* @__PURE__ */ (0, import_jsx_runtime64.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." })
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, import_jsx_runtime64.jsx)(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
7530
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
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, import_jsx_runtime64.jsx)(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
7533
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
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, import_jsx_runtime64.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
7536
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
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 import_jsx_runtime65 = require("react/jsx-runtime");
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, import_jsx_runtime65.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
7616
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
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, import_jsx_runtime65.jsx)(Icon, { name: "arrow_back", size: "xl" })
8299
+ children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "arrow_back", size: "xl" })
7625
8300
  }
7626
8301
  ) }),
7627
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
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, import_jsx_runtime65.jsx)("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "relative", children: [
7636
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
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, import_jsx_runtime65.jsx)(
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, import_jsx_runtime65.jsxs)(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
7658
- btcAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
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, import_jsx_runtime65.jsx)(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
7667
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
7668
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
7669
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
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, import_jsx_runtime65.jsxs)("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
7672
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(NetworkBadge, { network: "L1", size: "sm" }),
7673
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(NetworkBadge, { network: "LN", size: "sm" }),
7674
- isSparkConnected && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(NetworkBadge, { network: "Spark", size: "sm" }),
7675
- isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(NetworkBadge, { network: "Arkade", size: "sm" })
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, import_jsx_runtime65.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" })
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, import_jsx_runtime65.jsxs)("div", { className: "py-8 text-center text-sm text-white/30", children: [
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, import_jsx_runtime65.jsxs)("div", { className: "space-y-1.5 pt-1", children: [
7686
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
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, import_jsx_runtime65.jsx)("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
7700
- /* @__PURE__ */ (0, import_jsx_runtime65.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 }),
7701
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex-1" }),
7702
- !isSearching && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "material-symbols-outlined text-icon-md text-white/40", children: showOwnedAssets ? "expand_less" : "expand_more" })
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, import_jsx_runtime65.jsx)("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
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, import_jsx_runtime65.jsxs)(
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, import_jsx_runtime65.jsx)(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
7718
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
7719
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
7720
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
7721
- protocolBadge && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
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, import_jsx_runtime65.jsx)("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
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, import_jsx_runtime65.jsxs)("div", { className: "flex-shrink-0 text-right", children: [
7735
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "font-mono text-xs font-bold text-white", children: formatAssetBalance(asset) }),
7736
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
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, import_jsx_runtime65.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" })
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, import_jsx_runtime65.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
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, import_jsx_runtime65.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
7753
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex-1 text-left", children: [
7754
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
7755
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
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, import_jsx_runtime65.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
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, import_jsx_runtime65.jsxs)("div", { className: "space-y-2 pt-2", children: [
7762
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "px-1", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/35", children: "New Asset" }) }),
7763
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
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, import_jsx_runtime65.jsxs)(
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, import_jsx_runtime65.jsxs)("div", { className: "relative", children: [
7784
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(AssetIcon, { ticker: option.ticker, size: 40 }),
7785
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "absolute -bottom-1 -right-1 flex size-4 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Icon, { name: "add", size: "xs", className: "text-background" }) })
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, import_jsx_runtime65.jsx)("div", { className: "mt-2 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
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, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
7808
- /* @__PURE__ */ (0, import_jsx_runtime65.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_runtime65.jsxs)("div", { className: "space-y-2 rounded-2xl border border-network-arkade/20 bg-network-arkade/5 p-3", children: [
7809
- /* @__PURE__ */ (0, import_jsx_runtime65.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." }),
7810
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
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, import_jsx_runtime65.jsx)("div", { className: "flex-shrink-0 px-5 pb-5 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleContinueToGenerate, children: [
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, import_jsx_runtime65.jsx)("span", { className: "material-symbols-outlined text-icon-xl font-bold", children: "arrow_forward" })
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 import_jsx_runtime66 = require("react/jsx-runtime");
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, import_jsx_runtime66.jsx)(
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, import_jsx_runtime66.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
8003
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Icon, { name: "arrow_back", size: "xl" }) }) }),
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, import_jsx_runtime66.jsx)("div", { className: "flex-shrink-0 border-b border-border bg-background px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "space-y-2", children: [
8008
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { children: [
8009
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
8010
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
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, import_jsx_runtime66.jsxs)("div", { children: [
8036
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
8037
- /* @__PURE__ */ (0, import_jsx_runtime66.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_runtime66.jsx)(
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, import_jsx_runtime66.jsx)(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
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, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
8072
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
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, import_jsx_runtime66.jsx)(
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, import_jsx_runtime66.jsxs)("div", { className: "space-y-1 text-center", children: [
8093
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
8094
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
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, import_jsx_runtime66.jsx)(
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, import_jsx_runtime66.jsx)(
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,