kaleido-ui 0.1.76 → 0.1.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/web/index.js CHANGED
@@ -1985,6 +1985,19 @@ function ArkadeNetworkIcon({
1985
1985
  }
1986
1986
  );
1987
1987
  }
1988
+ function NostrNetworkIcon({
1989
+ className = "size-3.5",
1990
+ alt = "Nostr"
1991
+ }) {
1992
+ return /* @__PURE__ */ jsx24(
1993
+ "img",
1994
+ {
1995
+ src: "/icons/nostr-icon.svg",
1996
+ alt,
1997
+ className: cn("object-contain", className)
1998
+ }
1999
+ );
2000
+ }
1988
2001
  function RgbNetworkIcon({ className = "size-3.5", alt = "RGB" }) {
1989
2002
  return /* @__PURE__ */ jsx24("img", { src: protocolIcons["RGB20"], alt, className: cn("object-contain", className) });
1990
2003
  }
@@ -2679,7 +2692,10 @@ import { Fragment as Fragment4, jsx as jsx33, jsxs as jsxs20 } from "react/jsx-r
2679
2692
  var SUPPORTED_ACCOUNT_NETWORKS = {
2680
2693
  RGB: ["regtest", "testnet", "signet"],
2681
2694
  SPARK: ["regtest", "mainnet"],
2682
- ARKADE: ["signet", "mainnet"]
2695
+ ARKADE: ["signet", "mainnet"],
2696
+ // Nostr is network-agnostic; mainnet is the placeholder consumers pass
2697
+ // (the network chip is typically hidden for NOSTR rows anyway).
2698
+ NOSTR: ["mainnet"]
2683
2699
  };
2684
2700
  function getAccountNetworkLabel(network) {
2685
2701
  switch (network) {
@@ -2722,6 +2738,9 @@ function AccountHeaderIcons({ accountId }) {
2722
2738
  if (accountId === "SPARK") {
2723
2739
  return /* @__PURE__ */ jsx33("span", { className: "flex size-10 items-center justify-center rounded-full bg-info/10 shadow-inner", children: /* @__PURE__ */ jsx33("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "Spark", className: "size-5 object-contain" }) });
2724
2740
  }
2741
+ if (accountId === "NOSTR") {
2742
+ return /* @__PURE__ */ jsx33("span", { className: "flex size-10 items-center justify-center rounded-full bg-network-arkade/10 shadow-inner", children: /* @__PURE__ */ jsx33(NostrNetworkIcon, { className: "size-5" }) });
2743
+ }
2725
2744
  return /* @__PURE__ */ jsx33("span", { className: "flex size-10 items-center justify-center rounded-full bg-network-arkade/10 shadow-inner", children: /* @__PURE__ */ jsx33("img", { src: "/icons/arkade/arkade-icon.svg", alt: "Arkade", className: "size-5 rounded-sm object-contain" }) });
2726
2745
  }
2727
2746
  function getAccountStatusUi(status) {
@@ -2951,7 +2970,8 @@ function ExpandIcon({ expanded }) {
2951
2970
  var ACCOUNT_ACCENT_BG = {
2952
2971
  RGB: "bg-gradient-to-br from-primary/[0.06] via-card to-primary/[0.10]",
2953
2972
  SPARK: "bg-gradient-to-br from-info/[0.06] via-card to-info/[0.10]",
2954
- ARKADE: "bg-gradient-to-br from-network-arkade/[0.06] via-card to-network-arkade/[0.10]"
2973
+ ARKADE: "bg-gradient-to-br from-network-arkade/[0.06] via-card to-network-arkade/[0.10]",
2974
+ NOSTR: "bg-gradient-to-br from-network-arkade/[0.06] via-card to-network-arkade/[0.10]"
2955
2975
  };
2956
2976
  function AccountSettingsRow({
2957
2977
  accountId,
@@ -5295,10 +5315,37 @@ function SettingItem({
5295
5315
  );
5296
5316
  }
5297
5317
 
5318
+ // src/web/components/switch-row.tsx
5319
+ import { jsx as jsx54, jsxs as jsxs41 } from "react/jsx-runtime";
5320
+ function SwitchRow({
5321
+ label,
5322
+ description,
5323
+ checked,
5324
+ disabled,
5325
+ onCheckedChange,
5326
+ className
5327
+ }) {
5328
+ return /* @__PURE__ */ jsxs41("div", { className: cn("flex items-start justify-between gap-3 rounded-xl bg-muted/40 p-3", className), children: [
5329
+ /* @__PURE__ */ jsxs41("div", { className: "min-w-0", children: [
5330
+ /* @__PURE__ */ jsx54("p", { className: "text-sm font-medium text-foreground", children: label }),
5331
+ description && /* @__PURE__ */ jsx54("p", { className: "mt-0.5 text-xs leading-snug text-muted-foreground", children: description })
5332
+ ] }),
5333
+ /* @__PURE__ */ jsx54(
5334
+ Switch,
5335
+ {
5336
+ checked,
5337
+ disabled,
5338
+ onCheckedChange,
5339
+ "aria-label": label
5340
+ }
5341
+ )
5342
+ ] });
5343
+ }
5344
+
5298
5345
  // src/web/components/section-label.tsx
5299
- import { jsx as jsx54 } from "react/jsx-runtime";
5346
+ import { jsx as jsx55 } from "react/jsx-runtime";
5300
5347
  function SectionLabel({ children, className }) {
5301
- return /* @__PURE__ */ jsx54(
5348
+ return /* @__PURE__ */ jsx55(
5302
5349
  "span",
5303
5350
  {
5304
5351
  className: cn("text-xxs font-black uppercase tracking-eyebrow-wide text-muted-foreground", className),
@@ -5308,21 +5355,21 @@ function SectionLabel({ children, className }) {
5308
5355
  }
5309
5356
 
5310
5357
  // src/web/components/section-header.tsx
5311
- import { jsx as jsx55, jsxs as jsxs41 } from "react/jsx-runtime";
5358
+ import { jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
5312
5359
  function SectionHeader({
5313
5360
  children,
5314
5361
  right,
5315
5362
  as: Tag = "h2",
5316
5363
  className
5317
5364
  }) {
5318
- return /* @__PURE__ */ jsxs41("div", { className: cn("flex items-center justify-between gap-3 px-1", className), children: [
5319
- /* @__PURE__ */ jsx55(Tag, { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children }),
5365
+ return /* @__PURE__ */ jsxs42("div", { className: cn("flex items-center justify-between gap-3 px-1", className), children: [
5366
+ /* @__PURE__ */ jsx56(Tag, { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children }),
5320
5367
  right
5321
5368
  ] });
5322
5369
  }
5323
5370
 
5324
5371
  // src/web/components/alert-banner.tsx
5325
- import { jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
5372
+ import { jsx as jsx57, jsxs as jsxs43 } from "react/jsx-runtime";
5326
5373
  var variantStyles = {
5327
5374
  error: { container: "bg-danger/40", icon: "text-danger", iconName: "error" },
5328
5375
  warning: { container: "bg-warning/40", icon: "text-warning", iconName: "warning" },
@@ -5331,14 +5378,14 @@ var variantStyles = {
5331
5378
  };
5332
5379
  function AlertBanner({ variant = "info", icon, children, className }) {
5333
5380
  const styles = variantStyles[variant];
5334
- return /* @__PURE__ */ jsxs42("div", { className: cn("rounded-xl p-3 flex items-center gap-2", styles.container, className), children: [
5335
- /* @__PURE__ */ jsx56(Icon, { name: icon ?? styles.iconName, size: "md", className: cn("shrink-0", styles.icon) }),
5336
- /* @__PURE__ */ jsx56("div", { className: cn("text-sm", styles.icon), children })
5381
+ return /* @__PURE__ */ jsxs43("div", { className: cn("rounded-xl p-3 flex items-center gap-2", styles.container, className), children: [
5382
+ /* @__PURE__ */ jsx57(Icon, { name: icon ?? styles.iconName, size: "md", className: cn("shrink-0", styles.icon) }),
5383
+ /* @__PURE__ */ jsx57("div", { className: cn("text-sm", styles.icon), children })
5337
5384
  ] });
5338
5385
  }
5339
5386
 
5340
5387
  // src/web/components/info-panel.tsx
5341
- import { jsx as jsx57, jsxs as jsxs43 } from "react/jsx-runtime";
5388
+ import { jsx as jsx58, jsxs as jsxs44 } from "react/jsx-runtime";
5342
5389
  var toneClass = {
5343
5390
  default: {
5344
5391
  panel: "border-white/8 bg-white/[0.03]",
@@ -5379,19 +5426,19 @@ function InfoPanel({
5379
5426
  className
5380
5427
  }) {
5381
5428
  const styles = toneClass[tone];
5382
- const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ jsx57(Icon, { name: icon, className: cn("mt-0.5 shrink-0 text-icon-xl", styles.icon) }) : icon;
5383
- return /* @__PURE__ */ jsx57("div", { className: cn("rounded-xl border p-4", styles.panel, className), children: /* @__PURE__ */ jsxs43("div", { className: "flex items-start gap-3", children: [
5429
+ const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ jsx58(Icon, { name: icon, className: cn("mt-0.5 shrink-0 text-icon-xl", styles.icon) }) : icon;
5430
+ return /* @__PURE__ */ jsx58("div", { className: cn("rounded-xl border p-4", styles.panel, className), children: /* @__PURE__ */ jsxs44("div", { className: "flex items-start gap-3", children: [
5384
5431
  renderedIcon,
5385
- /* @__PURE__ */ jsxs43("div", { className: "min-w-0 flex-1", children: [
5386
- title && /* @__PURE__ */ jsx57("p", { className: cn("text-sm font-bold", styles.title), children: title }),
5387
- /* @__PURE__ */ jsx57("div", { className: cn("text-xs leading-relaxed", title ? "mt-1" : "", styles.title), children })
5432
+ /* @__PURE__ */ jsxs44("div", { className: "min-w-0 flex-1", children: [
5433
+ title && /* @__PURE__ */ jsx58("p", { className: cn("text-sm font-bold", styles.title), children: title }),
5434
+ /* @__PURE__ */ jsx58("div", { className: cn("text-xs leading-relaxed", title ? "mt-1" : "", styles.title), children })
5388
5435
  ] })
5389
5436
  ] }) });
5390
5437
  }
5391
5438
 
5392
5439
  // src/web/components/error-boundary.tsx
5393
5440
  import { Component } from "react";
5394
- import { jsx as jsx58, jsxs as jsxs44 } from "react/jsx-runtime";
5441
+ import { jsx as jsx59, jsxs as jsxs45 } from "react/jsx-runtime";
5395
5442
  var ErrorBoundary = class extends Component {
5396
5443
  constructor(props) {
5397
5444
  super(props);
@@ -5405,11 +5452,11 @@ var ErrorBoundary = class extends Component {
5405
5452
  }
5406
5453
  render() {
5407
5454
  if (this.state.hasError) {
5408
- return this.props.fallback ?? /* @__PURE__ */ jsxs44("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
5409
- /* @__PURE__ */ jsx58("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
5410
- /* @__PURE__ */ jsx58("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
5411
- /* @__PURE__ */ jsx58("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
5412
- /* @__PURE__ */ jsx58(
5455
+ return this.props.fallback ?? /* @__PURE__ */ jsxs45("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
5456
+ /* @__PURE__ */ jsx59("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
5457
+ /* @__PURE__ */ jsx59("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
5458
+ /* @__PURE__ */ jsx59("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
5459
+ /* @__PURE__ */ jsx59(
5413
5460
  "button",
5414
5461
  {
5415
5462
  onClick: () => {
@@ -5427,7 +5474,7 @@ var ErrorBoundary = class extends Component {
5427
5474
  };
5428
5475
 
5429
5476
  // src/web/components/recovery-phrase-card.tsx
5430
- import { jsx as jsx59, jsxs as jsxs45 } from "react/jsx-runtime";
5477
+ import { jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
5431
5478
  function RecoveryPhraseCard({
5432
5479
  words,
5433
5480
  revealed = false,
@@ -5438,10 +5485,10 @@ function RecoveryPhraseCard({
5438
5485
  className
5439
5486
  }) {
5440
5487
  const hasWords = words.length > 0;
5441
- return /* @__PURE__ */ jsxs45("section", { className: cn("space-y-2", className), children: [
5442
- /* @__PURE__ */ jsxs45("div", { className: "flex items-center justify-between px-0.5", children: [
5443
- /* @__PURE__ */ jsx59("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
5444
- hasWords && revealed && onRevealChange && /* @__PURE__ */ jsxs45(
5488
+ return /* @__PURE__ */ jsxs46("section", { className: cn("space-y-2", className), children: [
5489
+ /* @__PURE__ */ jsxs46("div", { className: "flex items-center justify-between px-0.5", children: [
5490
+ /* @__PURE__ */ jsx60("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
5491
+ hasWords && revealed && onRevealChange && /* @__PURE__ */ jsxs46(
5445
5492
  Button,
5446
5493
  {
5447
5494
  type: "button",
@@ -5450,27 +5497,27 @@ function RecoveryPhraseCard({
5450
5497
  onClick: () => onRevealChange(!revealed),
5451
5498
  className: "h-auto rounded-lg px-2 py-1 text-xs text-muted-foreground hover:text-white",
5452
5499
  children: [
5453
- /* @__PURE__ */ jsx59(Icon, { name: "visibility_off", className: "text-icon-md" }),
5500
+ /* @__PURE__ */ jsx60(Icon, { name: "visibility_off", className: "text-icon-md" }),
5454
5501
  "Hide"
5455
5502
  ]
5456
5503
  }
5457
5504
  )
5458
5505
  ] }),
5459
- /* @__PURE__ */ jsxs45("div", { className: "relative", children: [
5460
- hasWords ? /* @__PURE__ */ jsx59(
5506
+ /* @__PURE__ */ jsxs46("div", { className: "relative", children: [
5507
+ hasWords ? /* @__PURE__ */ jsx60(
5461
5508
  "div",
5462
5509
  {
5463
5510
  className: cn(
5464
5511
  "grid grid-cols-3 gap-2 transition-all duration-300",
5465
5512
  !revealed && "pointer-events-none select-none blur-sm"
5466
5513
  ),
5467
- children: words.map((word, index) => /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
5468
- /* @__PURE__ */ jsx59("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
5469
- /* @__PURE__ */ jsx59("span", { className: "font-mono text-sm text-white", children: word })
5514
+ children: words.map((word, index) => /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
5515
+ /* @__PURE__ */ jsx60("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
5516
+ /* @__PURE__ */ jsx60("span", { className: "font-mono text-sm text-white", children: word })
5470
5517
  ] }, `${index}-${word}`))
5471
5518
  }
5472
- ) : /* @__PURE__ */ jsx59("div", { className: "rounded-xl border border-warning/30 bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
5473
- hasWords && !revealed && onRevealChange && /* @__PURE__ */ jsx59("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs45(
5519
+ ) : /* @__PURE__ */ jsx60("div", { className: "rounded-xl border border-warning/30 bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
5520
+ hasWords && !revealed && onRevealChange && /* @__PURE__ */ jsx60("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs46(
5474
5521
  Button,
5475
5522
  {
5476
5523
  type: "button",
@@ -5478,13 +5525,13 @@ function RecoveryPhraseCard({
5478
5525
  size: "sm",
5479
5526
  onClick: () => onRevealChange(true),
5480
5527
  children: [
5481
- /* @__PURE__ */ jsx59(Icon, { name: "visibility", className: "text-icon-lg" }),
5528
+ /* @__PURE__ */ jsx60(Icon, { name: "visibility", className: "text-icon-lg" }),
5482
5529
  "Tap to reveal"
5483
5530
  ]
5484
5531
  }
5485
5532
  ) })
5486
5533
  ] }),
5487
- hasWords && revealed && onCopy && /* @__PURE__ */ jsxs45(
5534
+ hasWords && revealed && onCopy && /* @__PURE__ */ jsxs46(
5488
5535
  Button,
5489
5536
  {
5490
5537
  type: "button",
@@ -5493,7 +5540,7 @@ function RecoveryPhraseCard({
5493
5540
  onClick: onCopy,
5494
5541
  className: "w-full",
5495
5542
  children: [
5496
- /* @__PURE__ */ jsx59(Icon, { name: "content_copy", className: "text-icon-lg" }),
5543
+ /* @__PURE__ */ jsx60(Icon, { name: "content_copy", className: "text-icon-lg" }),
5497
5544
  "Copy to clipboard"
5498
5545
  ]
5499
5546
  }
@@ -5502,7 +5549,7 @@ function RecoveryPhraseCard({
5502
5549
  }
5503
5550
 
5504
5551
  // src/web/components/settings-selector-row.tsx
5505
- import { jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
5552
+ import { jsx as jsx61, jsxs as jsxs47 } from "react/jsx-runtime";
5506
5553
  function SettingsSelectorRow({
5507
5554
  icon,
5508
5555
  title,
@@ -5511,9 +5558,9 @@ function SettingsSelectorRow({
5511
5558
  className,
5512
5559
  iconClassName
5513
5560
  }) {
5514
- return /* @__PURE__ */ jsxs46("div", { className: cn("flex items-start justify-between gap-3 rounded-2xl bg-card p-5", className), children: [
5515
- /* @__PURE__ */ jsxs46("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
5516
- /* @__PURE__ */ jsx60(
5561
+ return /* @__PURE__ */ jsxs47("div", { className: cn("flex items-start justify-between gap-3 rounded-2xl bg-card p-5", className), children: [
5562
+ /* @__PURE__ */ jsxs47("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
5563
+ /* @__PURE__ */ jsx61(
5517
5564
  "div",
5518
5565
  {
5519
5566
  className: cn(
@@ -5523,17 +5570,17 @@ function SettingsSelectorRow({
5523
5570
  children: icon
5524
5571
  }
5525
5572
  ),
5526
- /* @__PURE__ */ jsxs46("div", { className: "flex min-w-0 flex-1 flex-col", children: [
5527
- /* @__PURE__ */ jsx60("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
5528
- description && /* @__PURE__ */ jsx60("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
5573
+ /* @__PURE__ */ jsxs47("div", { className: "flex min-w-0 flex-1 flex-col", children: [
5574
+ /* @__PURE__ */ jsx61("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
5575
+ description && /* @__PURE__ */ jsx61("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
5529
5576
  ] })
5530
5577
  ] }),
5531
- /* @__PURE__ */ jsx60("div", { className: "shrink-0", children: control })
5578
+ /* @__PURE__ */ jsx61("div", { className: "shrink-0", children: control })
5532
5579
  ] });
5533
5580
  }
5534
5581
 
5535
5582
  // src/web/components/bottom-sheet.tsx
5536
- import { jsx as jsx61, jsxs as jsxs47 } from "react/jsx-runtime";
5583
+ import { jsx as jsx62, jsxs as jsxs48 } from "react/jsx-runtime";
5537
5584
  function BottomSheet({
5538
5585
  open,
5539
5586
  title,
@@ -5549,7 +5596,7 @@ function BottomSheet({
5549
5596
  const handleBackdropClick = (event) => {
5550
5597
  if (closeOnBackdrop && event.target === event.currentTarget) onClose?.();
5551
5598
  };
5552
- return /* @__PURE__ */ jsx61(
5599
+ return /* @__PURE__ */ jsx62(
5553
5600
  "div",
5554
5601
  {
5555
5602
  className: cn(
@@ -5557,7 +5604,7 @@ function BottomSheet({
5557
5604
  className
5558
5605
  ),
5559
5606
  onClick: handleBackdropClick,
5560
- children: /* @__PURE__ */ jsxs47(
5607
+ children: /* @__PURE__ */ jsxs48(
5561
5608
  "div",
5562
5609
  {
5563
5610
  className: cn(
@@ -5565,13 +5612,13 @@ function BottomSheet({
5565
5612
  contentClassName
5566
5613
  ),
5567
5614
  children: [
5568
- /* @__PURE__ */ jsx61("div", { className: "-mt-1 flex justify-center", children: /* @__PURE__ */ jsx61("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
5569
- (title || icon) && /* @__PURE__ */ jsxs47("div", { className: "mt-4 flex items-center gap-2", children: [
5615
+ /* @__PURE__ */ jsx62("div", { className: "-mt-1 flex justify-center", children: /* @__PURE__ */ jsx62("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
5616
+ (title || icon) && /* @__PURE__ */ jsxs48("div", { className: "mt-4 flex items-center gap-2", children: [
5570
5617
  icon,
5571
- /* @__PURE__ */ jsx61("p", { className: "text-sm font-bold text-foreground", children: title })
5618
+ /* @__PURE__ */ jsx62("p", { className: "text-sm font-bold text-foreground", children: title })
5572
5619
  ] }),
5573
- /* @__PURE__ */ jsx61("div", { className: cn((title || icon) && "mt-3"), children }),
5574
- actions && actions.length > 0 && /* @__PURE__ */ jsx61("div", { className: "mt-4 flex gap-2", children: actions.map((action, index) => /* @__PURE__ */ jsxs47(
5620
+ /* @__PURE__ */ jsx62("div", { className: cn((title || icon) && "mt-3"), children }),
5621
+ actions && actions.length > 0 && /* @__PURE__ */ jsx62("div", { className: "mt-4 flex gap-2", children: actions.map((action, index) => /* @__PURE__ */ jsxs48(
5575
5622
  Button,
5576
5623
  {
5577
5624
  type: "button",
@@ -5581,7 +5628,7 @@ function BottomSheet({
5581
5628
  onClick: action.onClick,
5582
5629
  disabled: action.disabled,
5583
5630
  children: [
5584
- action.icon && /* @__PURE__ */ jsx61(Icon, { name: action.icon, className: "text-icon-md" }),
5631
+ action.icon && /* @__PURE__ */ jsx62(Icon, { name: action.icon, className: "text-icon-md" }),
5585
5632
  action.label
5586
5633
  ]
5587
5634
  },
@@ -5595,7 +5642,7 @@ function BottomSheet({
5595
5642
  }
5596
5643
 
5597
5644
  // src/web/components/disclosure-card.tsx
5598
- import { jsx as jsx62, jsxs as jsxs48 } from "react/jsx-runtime";
5645
+ import { jsx as jsx63, jsxs as jsxs49 } from "react/jsx-runtime";
5599
5646
  function DisclosureCard({
5600
5647
  title,
5601
5648
  children,
@@ -5606,8 +5653,8 @@ function DisclosureCard({
5606
5653
  triggerClassName,
5607
5654
  contentClassName
5608
5655
  }) {
5609
- return /* @__PURE__ */ jsxs48("div", { className, children: [
5610
- /* @__PURE__ */ jsxs48(
5656
+ return /* @__PURE__ */ jsxs49("div", { className, children: [
5657
+ /* @__PURE__ */ jsxs49(
5611
5658
  "button",
5612
5659
  {
5613
5660
  type: "button",
@@ -5617,11 +5664,11 @@ function DisclosureCard({
5617
5664
  triggerClassName
5618
5665
  ),
5619
5666
  children: [
5620
- /* @__PURE__ */ jsxs48("span", { className: "flex min-w-0 items-center gap-1.5", children: [
5667
+ /* @__PURE__ */ jsxs49("span", { className: "flex min-w-0 items-center gap-1.5", children: [
5621
5668
  icon,
5622
- /* @__PURE__ */ jsx62("span", { className: "truncate text-xs font-bold text-foreground", children: title })
5669
+ /* @__PURE__ */ jsx63("span", { className: "truncate text-xs font-bold text-foreground", children: title })
5623
5670
  ] }),
5624
- /* @__PURE__ */ jsx62(
5671
+ /* @__PURE__ */ jsx63(
5625
5672
  Icon,
5626
5673
  {
5627
5674
  name: open ? "expand_less" : "expand_more",
@@ -5631,7 +5678,7 @@ function DisclosureCard({
5631
5678
  ]
5632
5679
  }
5633
5680
  ),
5634
- open && /* @__PURE__ */ jsx62(
5681
+ open && /* @__PURE__ */ jsx63(
5635
5682
  "div",
5636
5683
  {
5637
5684
  className: cn(
@@ -5645,7 +5692,7 @@ function DisclosureCard({
5645
5692
  }
5646
5693
 
5647
5694
  // src/web/components/stepper-number-input.tsx
5648
- import { jsx as jsx63, jsxs as jsxs49 } from "react/jsx-runtime";
5695
+ import { jsx as jsx64, jsxs as jsxs50 } from "react/jsx-runtime";
5649
5696
  function StepperNumberInput({
5650
5697
  value,
5651
5698
  onChange,
@@ -5662,7 +5709,7 @@ function StepperNumberInput({
5662
5709
  const bounded = max === void 0 ? boundedMin : Math.min(max, boundedMin);
5663
5710
  onChange(Number.isFinite(bounded) ? bounded : min ?? 0);
5664
5711
  };
5665
- return /* @__PURE__ */ jsxs49(
5712
+ return /* @__PURE__ */ jsxs50(
5666
5713
  "div",
5667
5714
  {
5668
5715
  className: cn(
@@ -5670,7 +5717,7 @@ function StepperNumberInput({
5670
5717
  className
5671
5718
  ),
5672
5719
  children: [
5673
- /* @__PURE__ */ jsx63(
5720
+ /* @__PURE__ */ jsx64(
5674
5721
  "button",
5675
5722
  {
5676
5723
  type: "button",
@@ -5678,10 +5725,10 @@ function StepperNumberInput({
5678
5725
  disabled: disabled || min !== void 0 && value <= min,
5679
5726
  onClick: () => clamp(value - step),
5680
5727
  "aria-label": "Decrease",
5681
- children: /* @__PURE__ */ jsx63(Icon, { name: "remove", className: "text-icon-md" })
5728
+ children: /* @__PURE__ */ jsx64(Icon, { name: "remove", className: "text-icon-md" })
5682
5729
  }
5683
5730
  ),
5684
- /* @__PURE__ */ jsx63(
5731
+ /* @__PURE__ */ jsx64(
5685
5732
  "input",
5686
5733
  {
5687
5734
  type: "number",
@@ -5698,7 +5745,7 @@ function StepperNumberInput({
5698
5745
  )
5699
5746
  }
5700
5747
  ),
5701
- /* @__PURE__ */ jsx63(
5748
+ /* @__PURE__ */ jsx64(
5702
5749
  "button",
5703
5750
  {
5704
5751
  type: "button",
@@ -5706,7 +5753,7 @@ function StepperNumberInput({
5706
5753
  disabled: disabled || max !== void 0 && value >= max,
5707
5754
  onClick: () => clamp(value + step),
5708
5755
  "aria-label": "Increase",
5709
- children: /* @__PURE__ */ jsx63(Icon, { name: "add", className: "text-icon-md" })
5756
+ children: /* @__PURE__ */ jsx64(Icon, { name: "add", className: "text-icon-md" })
5710
5757
  }
5711
5758
  )
5712
5759
  ]
@@ -5715,7 +5762,7 @@ function StepperNumberInput({
5715
5762
  }
5716
5763
 
5717
5764
  // src/web/components/metric-card.tsx
5718
- import { jsx as jsx64, jsxs as jsxs50 } from "react/jsx-runtime";
5765
+ import { jsx as jsx65, jsxs as jsxs51 } from "react/jsx-runtime";
5719
5766
  var toneClasses2 = {
5720
5767
  primary: "border-primary/20 bg-primary/10 text-primary",
5721
5768
  purple: "border-network-arkade/20 bg-network-arkade/10 text-network-arkade",
@@ -5733,27 +5780,27 @@ function MetricCard({
5733
5780
  tone = "muted",
5734
5781
  className
5735
5782
  }) {
5736
- return /* @__PURE__ */ jsxs50("div", { className: cn("space-y-1 rounded-xl border border-white/8 bg-white/3 p-2.5", className), children: [
5737
- /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-1.5", children: [
5738
- icon && /* @__PURE__ */ jsx64("span", { className: cn("flex size-5 items-center justify-center rounded-md", toneClasses2[tone]), children: typeof icon === "string" ? /* @__PURE__ */ jsx64(Icon, { name: icon, className: "text-icon-xs" }) : icon }),
5739
- /* @__PURE__ */ jsx64("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
5783
+ return /* @__PURE__ */ jsxs51("div", { className: cn("space-y-1 rounded-xl border border-white/8 bg-white/3 p-2.5", className), children: [
5784
+ /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-1.5", children: [
5785
+ icon && /* @__PURE__ */ jsx65("span", { className: cn("flex size-5 items-center justify-center rounded-md", toneClasses2[tone]), children: typeof icon === "string" ? /* @__PURE__ */ jsx65(Icon, { name: icon, className: "text-icon-xs" }) : icon }),
5786
+ /* @__PURE__ */ jsx65("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
5740
5787
  ] }),
5741
- /* @__PURE__ */ jsx64("p", { className: "font-mono text-sm font-bold text-foreground", children: value }),
5742
- description && /* @__PURE__ */ jsx64("p", { className: "text-xxs text-white/45", children: description })
5788
+ /* @__PURE__ */ jsx65("p", { className: "font-mono text-sm font-bold text-foreground", children: value }),
5789
+ description && /* @__PURE__ */ jsx65("p", { className: "text-xxs text-white/45", children: description })
5743
5790
  ] });
5744
5791
  }
5745
5792
 
5746
5793
  // src/web/components/filter-chip-group.tsx
5747
- import { jsx as jsx65, jsxs as jsxs51 } from "react/jsx-runtime";
5794
+ import { jsx as jsx66, jsxs as jsxs52 } from "react/jsx-runtime";
5748
5795
  function FilterChipGroup({
5749
5796
  options,
5750
5797
  value,
5751
5798
  onChange,
5752
5799
  className
5753
5800
  }) {
5754
- return /* @__PURE__ */ jsx65("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
5801
+ return /* @__PURE__ */ jsx66("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
5755
5802
  const active = option.value === value;
5756
- return /* @__PURE__ */ jsxs51(
5803
+ return /* @__PURE__ */ jsxs52(
5757
5804
  "button",
5758
5805
  {
5759
5806
  type: "button",
@@ -5767,7 +5814,7 @@ function FilterChipGroup({
5767
5814
  children: [
5768
5815
  option.icon,
5769
5816
  option.label,
5770
- option.count !== void 0 && /* @__PURE__ */ jsx65(
5817
+ option.count !== void 0 && /* @__PURE__ */ jsx66(
5771
5818
  "span",
5772
5819
  {
5773
5820
  className: cn(
@@ -5785,7 +5832,7 @@ function FilterChipGroup({
5785
5832
  }
5786
5833
 
5787
5834
  // src/web/components/activity-row.tsx
5788
- import { Fragment as Fragment12, jsx as jsx66, jsxs as jsxs52 } from "react/jsx-runtime";
5835
+ import { Fragment as Fragment12, jsx as jsx67, jsxs as jsxs53 } from "react/jsx-runtime";
5789
5836
  var directionUi = {
5790
5837
  inbound: { icon: "south_west", iconClass: "bg-primary/20 text-primary", amountClass: "text-primary", sign: "+" },
5791
5838
  outbound: { icon: "north_east", iconClass: "bg-white/10 text-muted-foreground", amountClass: "text-foreground", sign: "-" },
@@ -5805,26 +5852,26 @@ function ActivityRow({
5805
5852
  className
5806
5853
  }) {
5807
5854
  const ui = directionUi[direction];
5808
- const content = /* @__PURE__ */ jsxs52(Fragment12, { children: [
5809
- /* @__PURE__ */ jsxs52("div", { className: "flex min-w-0 items-center gap-3", children: [
5810
- /* @__PURE__ */ jsx66("div", { className: cn("flex size-10 shrink-0 items-center justify-center rounded-xl shadow-inner", ui.iconClass), children: typeof icon === "string" || !icon ? /* @__PURE__ */ jsx66(Icon, { name: icon ?? ui.icon, className: "text-icon-xl" }) : icon }),
5811
- /* @__PURE__ */ jsxs52("div", { className: "flex min-w-0 flex-col", children: [
5812
- /* @__PURE__ */ jsxs52("div", { className: "flex min-w-0 items-center gap-1.5", children: [
5813
- /* @__PURE__ */ jsx66("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
5855
+ const content = /* @__PURE__ */ jsxs53(Fragment12, { children: [
5856
+ /* @__PURE__ */ jsxs53("div", { className: "flex min-w-0 items-center gap-3", children: [
5857
+ /* @__PURE__ */ jsx67("div", { className: cn("flex size-10 shrink-0 items-center justify-center rounded-xl shadow-inner", ui.iconClass), children: typeof icon === "string" || !icon ? /* @__PURE__ */ jsx67(Icon, { name: icon ?? ui.icon, className: "text-icon-xl" }) : icon }),
5858
+ /* @__PURE__ */ jsxs53("div", { className: "flex min-w-0 flex-col", children: [
5859
+ /* @__PURE__ */ jsxs53("div", { className: "flex min-w-0 items-center gap-1.5", children: [
5860
+ /* @__PURE__ */ jsx67("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
5814
5861
  networkBadge
5815
5862
  ] }),
5816
- (status || timestamp) && /* @__PURE__ */ jsxs52("div", { className: "mt-1 flex items-center gap-2", children: [
5817
- status && /* @__PURE__ */ jsx66(StatusBadge, { status, className: "px-1.5 py-0.5 text-xxs" }),
5818
- timestamp && /* @__PURE__ */ jsx66("span", { className: "text-xxs text-muted-foreground", children: timestamp })
5863
+ (status || timestamp) && /* @__PURE__ */ jsxs53("div", { className: "mt-1 flex items-center gap-2", children: [
5864
+ status && /* @__PURE__ */ jsx67(StatusBadge, { status, className: "px-1.5 py-0.5 text-xxs" }),
5865
+ timestamp && /* @__PURE__ */ jsx67("span", { className: "text-xxs text-muted-foreground", children: timestamp })
5819
5866
  ] })
5820
5867
  ] })
5821
5868
  ] }),
5822
- /* @__PURE__ */ jsxs52("div", { className: "shrink-0 text-right", children: [
5823
- /* @__PURE__ */ jsxs52("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
5869
+ /* @__PURE__ */ jsxs53("div", { className: "shrink-0 text-right", children: [
5870
+ /* @__PURE__ */ jsxs53("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
5824
5871
  ui.sign,
5825
5872
  amount
5826
5873
  ] }),
5827
- unit && /* @__PURE__ */ jsx66("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
5874
+ unit && /* @__PURE__ */ jsx67("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
5828
5875
  ] })
5829
5876
  ] });
5830
5877
  const rowClassName = cn(
@@ -5833,23 +5880,23 @@ function ActivityRow({
5833
5880
  className
5834
5881
  );
5835
5882
  if (onClick) {
5836
- return /* @__PURE__ */ jsx66("button", { type: "button", onClick, className: rowClassName, children: content });
5883
+ return /* @__PURE__ */ jsx67("button", { type: "button", onClick, className: rowClassName, children: content });
5837
5884
  }
5838
- return /* @__PURE__ */ jsx66("div", { className: rowClassName, children: content });
5885
+ return /* @__PURE__ */ jsx67("div", { className: rowClassName, children: content });
5839
5886
  }
5840
5887
 
5841
5888
  // src/web/components/skeleton.tsx
5842
- import { jsx as jsx67, jsxs as jsxs53 } from "react/jsx-runtime";
5889
+ import { jsx as jsx68, jsxs as jsxs54 } from "react/jsx-runtime";
5843
5890
  var toneClass2 = {
5844
5891
  primary: "bg-white/10",
5845
5892
  secondary: "bg-white/5",
5846
5893
  card: "bg-white/[0.06]"
5847
5894
  };
5848
5895
  function Skeleton({ className, tone = "primary" }) {
5849
- return /* @__PURE__ */ jsx67("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
5896
+ return /* @__PURE__ */ jsx68("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
5850
5897
  }
5851
5898
  function ListSkeletonRows({ rows = 3, className, rowClassName }) {
5852
- return /* @__PURE__ */ jsx67("div", { className: cn("space-y-2", className), children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs53(
5899
+ return /* @__PURE__ */ jsx68("div", { className: cn("space-y-2", className), children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs54(
5853
5900
  "div",
5854
5901
  {
5855
5902
  className: cn(
@@ -5857,14 +5904,14 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
5857
5904
  rowClassName
5858
5905
  ),
5859
5906
  children: [
5860
- /* @__PURE__ */ jsx67(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
5861
- /* @__PURE__ */ jsxs53("div", { className: "flex-1 space-y-2", children: [
5862
- /* @__PURE__ */ jsx67(Skeleton, { className: "h-3 w-28" }),
5863
- /* @__PURE__ */ jsx67(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
5907
+ /* @__PURE__ */ jsx68(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
5908
+ /* @__PURE__ */ jsxs54("div", { className: "flex-1 space-y-2", children: [
5909
+ /* @__PURE__ */ jsx68(Skeleton, { className: "h-3 w-28" }),
5910
+ /* @__PURE__ */ jsx68(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
5864
5911
  ] }),
5865
- /* @__PURE__ */ jsxs53("div", { className: "flex flex-col items-end space-y-1.5", children: [
5866
- /* @__PURE__ */ jsx67(Skeleton, { className: "h-3 w-14" }),
5867
- /* @__PURE__ */ jsx67(Skeleton, { tone: "secondary", className: "h-2 w-10" })
5912
+ /* @__PURE__ */ jsxs54("div", { className: "flex flex-col items-end space-y-1.5", children: [
5913
+ /* @__PURE__ */ jsx68(Skeleton, { className: "h-3 w-14" }),
5914
+ /* @__PURE__ */ jsx68(Skeleton, { tone: "secondary", className: "h-2 w-10" })
5868
5915
  ] })
5869
5916
  ]
5870
5917
  },
@@ -5873,7 +5920,7 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
5873
5920
  }
5874
5921
 
5875
5922
  // src/web/components/secret-reveal-card.tsx
5876
- import { jsx as jsx68, jsxs as jsxs54 } from "react/jsx-runtime";
5923
+ import { jsx as jsx69, jsxs as jsxs55 } from "react/jsx-runtime";
5877
5924
  function SecretRevealCard({
5878
5925
  value,
5879
5926
  revealed,
@@ -5885,9 +5932,9 @@ function SecretRevealCard({
5885
5932
  className,
5886
5933
  valueClassName
5887
5934
  }) {
5888
- return /* @__PURE__ */ jsxs54("div", { className: cn("space-y-3", className), children: [
5889
- /* @__PURE__ */ jsxs54("div", { className: "relative", children: [
5890
- /* @__PURE__ */ jsx68("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ jsx68(
5935
+ return /* @__PURE__ */ jsxs55("div", { className: cn("space-y-3", className), children: [
5936
+ /* @__PURE__ */ jsxs55("div", { className: "relative", children: [
5937
+ /* @__PURE__ */ jsx69("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ jsx69(
5891
5938
  "p",
5892
5939
  {
5893
5940
  className: cn(
@@ -5898,40 +5945,40 @@ function SecretRevealCard({
5898
5945
  children: value
5899
5946
  }
5900
5947
  ) }),
5901
- !revealed && /* @__PURE__ */ jsx68("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs54(
5948
+ !revealed && /* @__PURE__ */ jsx69("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs55(
5902
5949
  "button",
5903
5950
  {
5904
5951
  type: "button",
5905
5952
  onClick: () => onRevealChange(true),
5906
5953
  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",
5907
5954
  children: [
5908
- /* @__PURE__ */ jsx68(Icon, { name: "visibility", className: "text-icon-lg" }),
5955
+ /* @__PURE__ */ jsx69(Icon, { name: "visibility", className: "text-icon-lg" }),
5909
5956
  revealLabel
5910
5957
  ]
5911
5958
  }
5912
5959
  ) })
5913
5960
  ] }),
5914
- /* @__PURE__ */ jsxs54("div", { className: "flex gap-2", children: [
5915
- /* @__PURE__ */ jsxs54(
5961
+ /* @__PURE__ */ jsxs55("div", { className: "flex gap-2", children: [
5962
+ /* @__PURE__ */ jsxs55(
5916
5963
  "button",
5917
5964
  {
5918
5965
  type: "button",
5919
5966
  onClick: () => onRevealChange(!revealed),
5920
5967
  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",
5921
5968
  children: [
5922
- /* @__PURE__ */ jsx68(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
5969
+ /* @__PURE__ */ jsx69(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
5923
5970
  revealed ? hideLabel : revealLabel
5924
5971
  ]
5925
5972
  }
5926
5973
  ),
5927
- revealed && onCopy && /* @__PURE__ */ jsxs54(
5974
+ revealed && onCopy && /* @__PURE__ */ jsxs55(
5928
5975
  "button",
5929
5976
  {
5930
5977
  type: "button",
5931
5978
  onClick: onCopy,
5932
5979
  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",
5933
5980
  children: [
5934
- /* @__PURE__ */ jsx68(Icon, { name: "content_copy", className: "text-icon-lg" }),
5981
+ /* @__PURE__ */ jsx69(Icon, { name: "content_copy", className: "text-icon-lg" }),
5935
5982
  copyLabel
5936
5983
  ]
5937
5984
  }
@@ -5941,7 +5988,7 @@ function SecretRevealCard({
5941
5988
  }
5942
5989
 
5943
5990
  // src/web/components/settings-section-card.tsx
5944
- import { jsx as jsx69, jsxs as jsxs55 } from "react/jsx-runtime";
5991
+ import { jsx as jsx70, jsxs as jsxs56 } from "react/jsx-runtime";
5945
5992
  function SettingsSectionCard({
5946
5993
  title,
5947
5994
  description,
@@ -5950,15 +5997,15 @@ function SettingsSectionCard({
5950
5997
  className,
5951
5998
  bodyClassName
5952
5999
  }) {
5953
- return /* @__PURE__ */ jsxs55("section", { className: cn("space-y-4 rounded-xl bg-card p-4", className), children: [
5954
- /* @__PURE__ */ jsxs55("div", { className: "flex items-start justify-between gap-4", children: [
5955
- /* @__PURE__ */ jsxs55("div", { className: "min-w-0 flex-1", children: [
5956
- /* @__PURE__ */ jsx69("h2", { className: "text-sm font-bold text-foreground", children: title }),
5957
- description && /* @__PURE__ */ jsx69("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
6000
+ return /* @__PURE__ */ jsxs56("section", { className: cn("space-y-4 rounded-xl bg-card p-4", className), children: [
6001
+ /* @__PURE__ */ jsxs56("div", { className: "flex items-start justify-between gap-4", children: [
6002
+ /* @__PURE__ */ jsxs56("div", { className: "min-w-0 flex-1", children: [
6003
+ /* @__PURE__ */ jsx70("h2", { className: "text-sm font-bold text-foreground", children: title }),
6004
+ description && /* @__PURE__ */ jsx70("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
5958
6005
  ] }),
5959
6006
  badge
5960
6007
  ] }),
5961
- /* @__PURE__ */ jsx69("div", { className: bodyClassName, children })
6008
+ /* @__PURE__ */ jsx70("div", { className: bodyClassName, children })
5962
6009
  ] });
5963
6010
  }
5964
6011
  var badgeToneClass = {
@@ -5970,7 +6017,7 @@ var badgeToneClass = {
5970
6017
  muted: "border-white/10 bg-white/[0.05] text-white/55"
5971
6018
  };
5972
6019
  function ToneBadge({ children, tone = "muted", className }) {
5973
- return /* @__PURE__ */ jsx69(
6020
+ return /* @__PURE__ */ jsx70(
5974
6021
  "span",
5975
6022
  {
5976
6023
  className: cn(
@@ -5984,7 +6031,7 @@ function ToneBadge({ children, tone = "muted", className }) {
5984
6031
  }
5985
6032
 
5986
6033
  // src/web/components/selectable-card.tsx
5987
- import { jsx as jsx70, jsxs as jsxs56 } from "react/jsx-runtime";
6034
+ import { jsx as jsx71, jsxs as jsxs57 } from "react/jsx-runtime";
5988
6035
  function SelectableCard({
5989
6036
  selected,
5990
6037
  onClick,
@@ -5996,28 +6043,28 @@ function SelectableCard({
5996
6043
  children,
5997
6044
  className
5998
6045
  }) {
5999
- const content = /* @__PURE__ */ jsxs56("div", { className: "flex items-start justify-between gap-3", children: [
6000
- /* @__PURE__ */ jsxs56("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
6001
- indicator && /* @__PURE__ */ jsx70(
6046
+ const content = /* @__PURE__ */ jsxs57("div", { className: "flex items-start justify-between gap-3", children: [
6047
+ /* @__PURE__ */ jsxs57("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
6048
+ indicator && /* @__PURE__ */ jsx71(
6002
6049
  "div",
6003
6050
  {
6004
6051
  className: cn(
6005
6052
  "mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
6006
6053
  selected ? "border-primary bg-primary" : "border-white/20"
6007
6054
  ),
6008
- children: selected && /* @__PURE__ */ jsx70("div", { className: "size-2 rounded-full bg-background" })
6055
+ children: selected && /* @__PURE__ */ jsx71("div", { className: "size-2 rounded-full bg-background" })
6009
6056
  }
6010
6057
  ),
6011
- /* @__PURE__ */ jsxs56("div", { className: "min-w-0 flex-1", children: [
6012
- /* @__PURE__ */ jsxs56("div", { className: "flex flex-wrap items-center gap-2", children: [
6013
- /* @__PURE__ */ jsx70("span", { className: "text-body font-bold text-foreground", children: title }),
6058
+ /* @__PURE__ */ jsxs57("div", { className: "min-w-0 flex-1", children: [
6059
+ /* @__PURE__ */ jsxs57("div", { className: "flex flex-wrap items-center gap-2", children: [
6060
+ /* @__PURE__ */ jsx71("span", { className: "text-body font-bold text-foreground", children: title }),
6014
6061
  badge
6015
6062
  ] }),
6016
- description && /* @__PURE__ */ jsx70("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
6063
+ description && /* @__PURE__ */ jsx71("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
6017
6064
  children
6018
6065
  ] })
6019
6066
  ] }),
6020
- preview && /* @__PURE__ */ jsx70("div", { className: "shrink-0 text-right", children: preview })
6067
+ preview && /* @__PURE__ */ jsx71("div", { className: "shrink-0 text-right", children: preview })
6021
6068
  ] });
6022
6069
  const cardClassName = cn(
6023
6070
  "w-full rounded-2xl border p-4 text-left transition-all duration-200",
@@ -6025,14 +6072,14 @@ function SelectableCard({
6025
6072
  className
6026
6073
  );
6027
6074
  if (onClick) {
6028
- return /* @__PURE__ */ jsx70("button", { type: "button", onClick, className: cardClassName, children: content });
6075
+ return /* @__PURE__ */ jsx71("button", { type: "button", onClick, className: cardClassName, children: content });
6029
6076
  }
6030
- return /* @__PURE__ */ jsx70("div", { className: cardClassName, children: content });
6077
+ return /* @__PURE__ */ jsx71("div", { className: cardClassName, children: content });
6031
6078
  }
6032
6079
 
6033
6080
  // src/web/components/mobile-hero-animation.tsx
6034
6081
  import { useRef as useRef4, useEffect as useEffect8, useState as useState12 } from "react";
6035
- import { Fragment as Fragment13, jsx as jsx71, jsxs as jsxs57 } from "react/jsx-runtime";
6082
+ import { Fragment as Fragment13, jsx as jsx72, jsxs as jsxs58 } from "react/jsx-runtime";
6036
6083
  var PROTOCOLS = [
6037
6084
  { name: "Bitcoin", network: "Bitcoin", iconSuffix: "bitcoin/bitcoin-logo.svg" },
6038
6085
  { name: "Lightning", network: "LN", iconSuffix: "lightning/lightning.svg" },
@@ -6091,15 +6138,15 @@ var MobileHeroAnimation = ({
6091
6138
  }, []);
6092
6139
  const anim = !reducedMotion && isVisible;
6093
6140
  const scale = size / 280;
6094
- return /* @__PURE__ */ jsxs57(
6141
+ return /* @__PURE__ */ jsxs58(
6095
6142
  "div",
6096
6143
  {
6097
6144
  ref: containerRef,
6098
6145
  className,
6099
6146
  style: { position: "relative", width: size, height: size },
6100
6147
  children: [
6101
- /* @__PURE__ */ jsx71("style", { children: KEYFRAMES }),
6102
- /* @__PURE__ */ jsxs57("div", { style: {
6148
+ /* @__PURE__ */ jsx72("style", { children: KEYFRAMES }),
6149
+ /* @__PURE__ */ jsxs58("div", { style: {
6103
6150
  position: "absolute",
6104
6151
  top: 0,
6105
6152
  left: 0,
@@ -6108,7 +6155,7 @@ var MobileHeroAnimation = ({
6108
6155
  transformOrigin: "top left",
6109
6156
  transform: scale !== 1 ? `scale(${scale})` : void 0
6110
6157
  }, children: [
6111
- /* @__PURE__ */ jsxs57(
6158
+ /* @__PURE__ */ jsxs58(
6112
6159
  "svg",
6113
6160
  {
6114
6161
  viewBox: "0 0 280 280",
@@ -6117,35 +6164,35 @@ var MobileHeroAnimation = ({
6117
6164
  style: { position: "absolute", inset: 0 },
6118
6165
  xmlns: "http://www.w3.org/2000/svg",
6119
6166
  children: [
6120
- /* @__PURE__ */ jsxs57("defs", { children: [
6121
- /* @__PURE__ */ jsxs57("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
6122
- /* @__PURE__ */ jsx71("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
6123
- /* @__PURE__ */ jsx71("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
6124
- /* @__PURE__ */ jsx71("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
6167
+ /* @__PURE__ */ jsxs58("defs", { children: [
6168
+ /* @__PURE__ */ jsxs58("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
6169
+ /* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
6170
+ /* @__PURE__ */ jsx72("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
6171
+ /* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
6125
6172
  ] }),
6126
- /* @__PURE__ */ jsxs57("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6127
- /* @__PURE__ */ jsx71("stop", { offset: "0%", stopColor: "#22c55e" }),
6128
- /* @__PURE__ */ jsx71("stop", { offset: "100%", stopColor: "#8a5cf6" })
6173
+ /* @__PURE__ */ jsxs58("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6174
+ /* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#22c55e" }),
6175
+ /* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "#8a5cf6" })
6129
6176
  ] }),
6130
- /* @__PURE__ */ jsxs57("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6131
- /* @__PURE__ */ jsx71("stop", { offset: "0%", stopColor: "#0e9dff" }),
6132
- /* @__PURE__ */ jsx71("stop", { offset: "100%", stopColor: "#8a5cf6" })
6177
+ /* @__PURE__ */ jsxs58("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6178
+ /* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#0e9dff" }),
6179
+ /* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "#8a5cf6" })
6133
6180
  ] }),
6134
- /* @__PURE__ */ jsxs57("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6135
- /* @__PURE__ */ jsx71("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
6136
- /* @__PURE__ */ jsxs57("feMerge", { children: [
6137
- /* @__PURE__ */ jsx71("feMergeNode", { in: "blur" }),
6138
- /* @__PURE__ */ jsx71("feMergeNode", { in: "SourceGraphic" })
6181
+ /* @__PURE__ */ jsxs58("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6182
+ /* @__PURE__ */ jsx72("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
6183
+ /* @__PURE__ */ jsxs58("feMerge", { children: [
6184
+ /* @__PURE__ */ jsx72("feMergeNode", { in: "blur" }),
6185
+ /* @__PURE__ */ jsx72("feMergeNode", { in: "SourceGraphic" })
6139
6186
  ] })
6140
6187
  ] })
6141
6188
  ] }),
6142
- /* @__PURE__ */ jsx71("circle", { cx: C, cy: C, r: ORBIT_R, fill: "none", stroke: "#0e9dff", strokeWidth: "1", strokeOpacity: "0.25", opacity: "0.4", children: anim && /* @__PURE__ */ jsxs57(Fragment13, { children: [
6143
- /* @__PURE__ */ jsx71("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
6144
- /* @__PURE__ */ jsx71("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
6189
+ /* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: ORBIT_R, fill: "none", stroke: "#0e9dff", strokeWidth: "1", strokeOpacity: "0.25", opacity: "0.4", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
6190
+ /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
6191
+ /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
6145
6192
  ] }) }),
6146
- /* @__PURE__ */ jsx71("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
6147
- /* @__PURE__ */ jsxs57("g", { children: [
6148
- anim && /* @__PURE__ */ jsx71(
6193
+ /* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
6194
+ /* @__PURE__ */ jsxs58("g", { children: [
6195
+ anim && /* @__PURE__ */ jsx72(
6149
6196
  "animateTransform",
6150
6197
  {
6151
6198
  attributeName: "transform",
@@ -6166,8 +6213,8 @@ var MobileHeroAnimation = ({
6166
6213
  const y2 = C + dy * (ORBIT_R - BADGE_HALF);
6167
6214
  const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
6168
6215
  const dur = `${2 + i * 0.3}s`;
6169
- return /* @__PURE__ */ jsxs57("g", { children: [
6170
- /* @__PURE__ */ jsx71(
6216
+ return /* @__PURE__ */ jsxs58("g", { children: [
6217
+ /* @__PURE__ */ jsx72(
6171
6218
  "line",
6172
6219
  {
6173
6220
  x1,
@@ -6178,29 +6225,29 @@ var MobileHeroAnimation = ({
6178
6225
  strokeWidth: "0.8",
6179
6226
  strokeDasharray: "2 4",
6180
6227
  opacity: "0.25",
6181
- children: anim && /* @__PURE__ */ jsx71("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
6228
+ children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
6182
6229
  }
6183
6230
  ),
6184
- /* @__PURE__ */ jsx71("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ jsxs57(Fragment13, { children: [
6185
- /* @__PURE__ */ jsx71("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
6186
- /* @__PURE__ */ jsx71("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
6187
- /* @__PURE__ */ jsx71("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
6188
- /* @__PURE__ */ jsx71("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
6231
+ /* @__PURE__ */ jsx72("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
6232
+ /* @__PURE__ */ jsx72("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
6233
+ /* @__PURE__ */ jsx72("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
6234
+ /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
6235
+ /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
6189
6236
  ] }) })
6190
6237
  ] }, `line-${i}`);
6191
6238
  })
6192
6239
  ] }),
6193
- /* @__PURE__ */ jsx71("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ jsx71("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
6194
- /* @__PURE__ */ jsx71("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ jsxs57(Fragment13, { children: [
6195
- /* @__PURE__ */ jsx71("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
6196
- /* @__PURE__ */ jsx71("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
6240
+ /* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
6241
+ /* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
6242
+ /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
6243
+ /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
6197
6244
  ] }) }),
6198
- /* @__PURE__ */ jsx71("circle", { cx: C, cy: C, r: "27", fill: "none", stroke: "url(#mh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ jsxs57(Fragment13, { children: [
6199
- /* @__PURE__ */ jsx71("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
6200
- /* @__PURE__ */ jsx71("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
6245
+ /* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: "27", fill: "none", stroke: "url(#mh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
6246
+ /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
6247
+ /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
6201
6248
  ] }) }),
6202
- /* @__PURE__ */ jsx71("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ jsxs57("g", { children: [
6203
- anim && /* @__PURE__ */ jsx71(
6249
+ /* @__PURE__ */ jsx72("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ jsxs58("g", { children: [
6250
+ anim && /* @__PURE__ */ jsx72(
6204
6251
  "animateTransform",
6205
6252
  {
6206
6253
  attributeName: "transform",
@@ -6212,13 +6259,13 @@ var MobileHeroAnimation = ({
6212
6259
  additive: "sum"
6213
6260
  }
6214
6261
  ),
6215
- /* @__PURE__ */ jsx71("path", { d: hexPath(34), fill: "none", stroke: "url(#mh-gp)", strokeWidth: "1.5", opacity: "0.4", filter: "url(#mh-glow)", children: anim && /* @__PURE__ */ jsxs57(Fragment13, { children: [
6216
- /* @__PURE__ */ jsx71("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
6217
- /* @__PURE__ */ jsx71("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
6262
+ /* @__PURE__ */ jsx72("path", { d: hexPath(34), fill: "none", stroke: "url(#mh-gp)", strokeWidth: "1.5", opacity: "0.4", filter: "url(#mh-glow)", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
6263
+ /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
6264
+ /* @__PURE__ */ jsx72("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
6218
6265
  ] }) })
6219
6266
  ] }) }),
6220
- /* @__PURE__ */ jsx71("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ jsxs57("g", { children: [
6221
- anim && /* @__PURE__ */ jsx71(
6267
+ /* @__PURE__ */ jsx72("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ jsxs58("g", { children: [
6268
+ anim && /* @__PURE__ */ jsx72(
6222
6269
  "animateTransform",
6223
6270
  {
6224
6271
  attributeName: "transform",
@@ -6230,19 +6277,19 @@ var MobileHeroAnimation = ({
6230
6277
  additive: "sum"
6231
6278
  }
6232
6279
  ),
6233
- /* @__PURE__ */ jsx71("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
6280
+ /* @__PURE__ */ jsx72("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
6234
6281
  ] }) }),
6235
- /* @__PURE__ */ jsxs57("g", { transform: `translate(${C - 18.8},${C - 18.8}) scale(0.0912)`, children: [
6236
- /* @__PURE__ */ jsx71("path", { d: "M137.306 411.865H0.000244141L68.6795 343.29L137.306 411.865Z", fill: "#6F32FF" }),
6237
- /* @__PURE__ */ jsx71("path", { d: "M0 0H137.306L68.6267 68.574L0 0Z", fill: "#6F32FF" }),
6238
- /* @__PURE__ */ jsx71("path", { d: "M137.148 274.559H274.455L411.708 411.866H274.401L137.148 274.559Z", fill: "#17B581" }),
6239
- /* @__PURE__ */ jsx71("path", { d: "M137.149 274.559L68.6274 205.933L137.201 137.306L274.455 137.411L205.776 206.038L274.456 274.559H137.149Z", fill: "#15E99A" }),
6240
- /* @__PURE__ */ jsx71("path", { d: "M274.479 0.104797H411.786L274.533 137.411H137.226L274.479 0.104797Z", fill: "#17B581" })
6282
+ /* @__PURE__ */ jsxs58("g", { transform: `translate(${C - 18.8},${C - 18.8}) scale(0.0912)`, children: [
6283
+ /* @__PURE__ */ jsx72("path", { d: "M137.306 411.865H0.000244141L68.6795 343.29L137.306 411.865Z", fill: "#6F32FF" }),
6284
+ /* @__PURE__ */ jsx72("path", { d: "M0 0H137.306L68.6267 68.574L0 0Z", fill: "#6F32FF" }),
6285
+ /* @__PURE__ */ jsx72("path", { d: "M137.148 274.559H274.455L411.708 411.866H274.401L137.148 274.559Z", fill: "#17B581" }),
6286
+ /* @__PURE__ */ jsx72("path", { d: "M137.149 274.559L68.6274 205.933L137.201 137.306L274.455 137.411L205.776 206.038L274.456 274.559H137.149Z", fill: "#15E99A" }),
6287
+ /* @__PURE__ */ jsx72("path", { d: "M274.479 0.104797H411.786L274.533 137.411H137.226L274.479 0.104797Z", fill: "#17B581" })
6241
6288
  ] })
6242
6289
  ]
6243
6290
  }
6244
6291
  ),
6245
- /* @__PURE__ */ jsx71("div", { style: {
6292
+ /* @__PURE__ */ jsx72("div", { style: {
6246
6293
  position: "absolute",
6247
6294
  inset: 0,
6248
6295
  width: 280,
@@ -6253,7 +6300,7 @@ var MobileHeroAnimation = ({
6253
6300
  const x = C + Math.cos(angle) * ORBIT_R - BADGE_HALF;
6254
6301
  const y = C + Math.sin(angle) * ORBIT_R - BADGE_HALF;
6255
6302
  const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
6256
- return /* @__PURE__ */ jsx71(
6303
+ return /* @__PURE__ */ jsx72(
6257
6304
  "div",
6258
6305
  {
6259
6306
  style: {
@@ -6264,7 +6311,7 @@ var MobileHeroAnimation = ({
6264
6311
  height: BADGE_SIZE,
6265
6312
  animation: anim ? "mha-counter-spin 20s linear infinite" : "none"
6266
6313
  },
6267
- children: /* @__PURE__ */ jsx71("div", { style: {
6314
+ children: /* @__PURE__ */ jsx72("div", { style: {
6268
6315
  width: "100%",
6269
6316
  height: "100%",
6270
6317
  borderRadius: "50%",
@@ -6275,7 +6322,7 @@ var MobileHeroAnimation = ({
6275
6322
  display: "flex",
6276
6323
  alignItems: "center",
6277
6324
  justifyContent: "center"
6278
- }, children: /* @__PURE__ */ jsx71(
6325
+ }, children: /* @__PURE__ */ jsx72(
6279
6326
  "img",
6280
6327
  {
6281
6328
  src: iconBasePath ? `${iconBasePath}/${protocol.iconSuffix}` : protocolIcons[protocol.network] ?? protocol.iconSuffix,
@@ -6295,7 +6342,7 @@ var MobileHeroAnimation = ({
6295
6342
 
6296
6343
  // src/web/components/kaleidoscope-hero-animation.tsx
6297
6344
  import { useRef as useRef5, useEffect as useEffect9, useState as useState13, useCallback as useCallback2 } from "react";
6298
- import { Fragment as Fragment14, jsx as jsx72, jsxs as jsxs58 } from "react/jsx-runtime";
6345
+ import { Fragment as Fragment14, jsx as jsx73, jsxs as jsxs59 } from "react/jsx-runtime";
6299
6346
  var PROTOCOLS2 = [
6300
6347
  { name: "Bitcoin L1", network: "L1", color: "#F7931A", glowColor: "rgba(247,147,26,0.5)" },
6301
6348
  { name: "Lightning", network: "LN", color: "#fbbf24", glowColor: "rgba(251,191,36,0.5)" },
@@ -6400,13 +6447,13 @@ var KaleidoScopeHeroAnimation = ({
6400
6447
  const angle = Math.PI * 2 * i / 7 - Math.PI / 2;
6401
6448
  return { x: c + orbitR * Math.cos(angle), y: c + orbitR * Math.sin(angle) };
6402
6449
  });
6403
- return /* @__PURE__ */ jsx72(
6450
+ return /* @__PURE__ */ jsx73(
6404
6451
  "div",
6405
6452
  {
6406
6453
  ref: containerRef,
6407
6454
  className: `relative ${className}`,
6408
6455
  style: size ? { width: size, height: size } : void 0,
6409
- children: /* @__PURE__ */ jsxs58(
6456
+ children: /* @__PURE__ */ jsxs59(
6410
6457
  "svg",
6411
6458
  {
6412
6459
  viewBox: "0 0 500 500",
@@ -6415,60 +6462,60 @@ var KaleidoScopeHeroAnimation = ({
6415
6462
  xmlns: "http://www.w3.org/2000/svg",
6416
6463
  className: "overflow-visible",
6417
6464
  children: [
6418
- /* @__PURE__ */ jsxs58("defs", { children: [
6419
- /* @__PURE__ */ jsxs58("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6420
- /* @__PURE__ */ jsx72("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
6421
- /* @__PURE__ */ jsx72("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
6465
+ /* @__PURE__ */ jsxs59("defs", { children: [
6466
+ /* @__PURE__ */ jsxs59("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6467
+ /* @__PURE__ */ jsx73("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
6468
+ /* @__PURE__ */ jsx73("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
6422
6469
  ] }),
6423
- /* @__PURE__ */ jsxs58("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
6424
- /* @__PURE__ */ jsx72("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
6425
- /* @__PURE__ */ jsx72("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
6470
+ /* @__PURE__ */ jsxs59("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
6471
+ /* @__PURE__ */ jsx73("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
6472
+ /* @__PURE__ */ jsx73("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
6426
6473
  ] }),
6427
- /* @__PURE__ */ jsxs58("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
6428
- /* @__PURE__ */ jsx72("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
6429
- /* @__PURE__ */ jsx72("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
6474
+ /* @__PURE__ */ jsxs59("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
6475
+ /* @__PURE__ */ jsx73("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
6476
+ /* @__PURE__ */ jsx73("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
6430
6477
  ] }),
6431
- /* @__PURE__ */ jsxs58("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6432
- /* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#22c55e" }),
6433
- /* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "#8a5cf6" })
6478
+ /* @__PURE__ */ jsxs59("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6479
+ /* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "#22c55e" }),
6480
+ /* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "#8a5cf6" })
6434
6481
  ] }),
6435
- /* @__PURE__ */ jsxs58("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6436
- /* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#F7931A" }),
6437
- /* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "#06b6d4" })
6482
+ /* @__PURE__ */ jsxs59("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6483
+ /* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "#F7931A" }),
6484
+ /* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "#06b6d4" })
6438
6485
  ] }),
6439
- /* @__PURE__ */ jsxs58("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6440
- /* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#0e9dff" }),
6441
- /* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "#8a5cf6" })
6486
+ /* @__PURE__ */ jsxs59("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6487
+ /* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "#0e9dff" }),
6488
+ /* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "#8a5cf6" })
6442
6489
  ] }),
6443
- /* @__PURE__ */ jsxs58("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
6444
- /* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
6445
- /* @__PURE__ */ jsx72("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
6446
- /* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
6490
+ /* @__PURE__ */ jsxs59("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
6491
+ /* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
6492
+ /* @__PURE__ */ jsx73("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
6493
+ /* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
6447
6494
  ] }),
6448
- /* @__PURE__ */ jsxs58("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
6449
- /* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
6450
- /* @__PURE__ */ jsx72("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
6451
- /* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
6495
+ /* @__PURE__ */ jsxs59("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
6496
+ /* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
6497
+ /* @__PURE__ */ jsx73("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
6498
+ /* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
6452
6499
  ] }),
6453
- /* @__PURE__ */ jsxs58("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6454
- /* @__PURE__ */ jsx72("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
6455
- /* @__PURE__ */ jsxs58("feMerge", { children: [
6456
- /* @__PURE__ */ jsx72("feMergeNode", { in: "blur" }),
6457
- /* @__PURE__ */ jsx72("feMergeNode", { in: "SourceGraphic" })
6500
+ /* @__PURE__ */ jsxs59("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6501
+ /* @__PURE__ */ jsx73("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
6502
+ /* @__PURE__ */ jsxs59("feMerge", { children: [
6503
+ /* @__PURE__ */ jsx73("feMergeNode", { in: "blur" }),
6504
+ /* @__PURE__ */ jsx73("feMergeNode", { in: "SourceGraphic" })
6458
6505
  ] })
6459
6506
  ] }),
6460
- /* @__PURE__ */ jsxs58("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6461
- /* @__PURE__ */ jsx72("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
6462
- /* @__PURE__ */ jsxs58("feMerge", { children: [
6463
- /* @__PURE__ */ jsx72("feMergeNode", { in: "blur" }),
6464
- /* @__PURE__ */ jsx72("feMergeNode", { in: "SourceGraphic" })
6507
+ /* @__PURE__ */ jsxs59("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6508
+ /* @__PURE__ */ jsx73("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
6509
+ /* @__PURE__ */ jsxs59("feMerge", { children: [
6510
+ /* @__PURE__ */ jsx73("feMergeNode", { in: "blur" }),
6511
+ /* @__PURE__ */ jsx73("feMergeNode", { in: "SourceGraphic" })
6465
6512
  ] })
6466
6513
  ] })
6467
6514
  ] }),
6468
- /* @__PURE__ */ jsx72("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
6469
- /* @__PURE__ */ jsxs58("g", { transform: px(20), children: [
6470
- /* @__PURE__ */ jsxs58("g", { children: [
6471
- anim && /* @__PURE__ */ jsx72(
6515
+ /* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
6516
+ /* @__PURE__ */ jsxs59("g", { transform: px(20), children: [
6517
+ /* @__PURE__ */ jsxs59("g", { children: [
6518
+ anim && /* @__PURE__ */ jsx73(
6472
6519
  "animateTransform",
6473
6520
  {
6474
6521
  attributeName: "transform",
@@ -6481,14 +6528,14 @@ var KaleidoScopeHeroAnimation = ({
6481
6528
  ),
6482
6529
  Array.from({ length: 6 }, (_, i) => {
6483
6530
  const a = Math.PI / 3 * i;
6484
- return /* @__PURE__ */ jsxs58("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
6485
- /* @__PURE__ */ jsx72("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
6486
- /* @__PURE__ */ jsx72("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
6531
+ return /* @__PURE__ */ jsxs59("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
6532
+ /* @__PURE__ */ jsx73("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
6533
+ /* @__PURE__ */ jsx73("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
6487
6534
  ] }, `ha-${i}`);
6488
6535
  }),
6489
6536
  Array.from({ length: 6 }, (_, i) => {
6490
6537
  const a = Math.PI / 3 * i + Math.PI / 6;
6491
- return /* @__PURE__ */ jsx72(
6538
+ return /* @__PURE__ */ jsx73(
6492
6539
  "path",
6493
6540
  {
6494
6541
  d: triPath(14),
@@ -6501,7 +6548,7 @@ var KaleidoScopeHeroAnimation = ({
6501
6548
  }),
6502
6549
  Array.from({ length: 12 }, (_, i) => {
6503
6550
  const a = Math.PI / 6 * i;
6504
- return /* @__PURE__ */ jsx72(
6551
+ return /* @__PURE__ */ jsx73(
6505
6552
  "circle",
6506
6553
  {
6507
6554
  cx: c + outerR1 * 0.92 * Math.cos(a),
@@ -6509,14 +6556,14 @@ var KaleidoScopeHeroAnimation = ({
6509
6556
  r: "1.5",
6510
6557
  fill: "url(#kh-grad-a)",
6511
6558
  opacity: "0.15",
6512
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
6559
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
6513
6560
  },
6514
6561
  `od-${i}`
6515
6562
  );
6516
6563
  })
6517
6564
  ] }),
6518
- /* @__PURE__ */ jsxs58("g", { children: [
6519
- anim && /* @__PURE__ */ jsx72(
6565
+ /* @__PURE__ */ jsxs59("g", { children: [
6566
+ anim && /* @__PURE__ */ jsx73(
6520
6567
  "animateTransform",
6521
6568
  {
6522
6569
  attributeName: "transform",
@@ -6529,28 +6576,28 @@ var KaleidoScopeHeroAnimation = ({
6529
6576
  ),
6530
6577
  Array.from({ length: 6 }, (_, i) => {
6531
6578
  const a = Math.PI / 3 * i + Math.PI / 6;
6532
- return /* @__PURE__ */ jsxs58("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
6533
- /* @__PURE__ */ jsx72("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
6534
- /* @__PURE__ */ jsx72("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
6579
+ return /* @__PURE__ */ jsxs59("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
6580
+ /* @__PURE__ */ jsx73("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
6581
+ /* @__PURE__ */ jsx73("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
6535
6582
  ] }, `hb-${i}`);
6536
6583
  }),
6537
6584
  Array.from({ length: 6 }, (_, i) => {
6538
6585
  const a = Math.PI / 3 * i;
6539
- return /* @__PURE__ */ jsx72(
6586
+ return /* @__PURE__ */ jsx73(
6540
6587
  "path",
6541
6588
  {
6542
6589
  d: diamondPath(8, 16),
6543
6590
  transform: `translate(${c + outerR2 * 0.85 * Math.cos(a)},${c + outerR2 * 0.85 * Math.sin(a)}) rotate(${i * 60})`,
6544
6591
  fill: "url(#kh-grad-b)",
6545
6592
  opacity: "0.08",
6546
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
6593
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
6547
6594
  },
6548
6595
  `db-${i}`
6549
6596
  );
6550
6597
  })
6551
6598
  ] }),
6552
- /* @__PURE__ */ jsxs58("g", { children: [
6553
- anim && /* @__PURE__ */ jsx72(
6599
+ /* @__PURE__ */ jsxs59("g", { children: [
6600
+ anim && /* @__PURE__ */ jsx73(
6554
6601
  "animateTransform",
6555
6602
  {
6556
6603
  attributeName: "transform",
@@ -6564,23 +6611,23 @@ var KaleidoScopeHeroAnimation = ({
6564
6611
  Array.from({ length: 12 }, (_, i) => {
6565
6612
  const a = Math.PI / 6 * i;
6566
6613
  const r = outerR1 * (0.6 + i % 2 * 0.15);
6567
- return /* @__PURE__ */ jsx72(
6614
+ return /* @__PURE__ */ jsx73(
6568
6615
  "path",
6569
6616
  {
6570
6617
  d: triPath(10),
6571
6618
  transform: `translate(${c + r * Math.cos(a)},${c + r * Math.sin(a)}) rotate(${i * 30 + 15})`,
6572
6619
  fill: "url(#kh-grad-c)",
6573
6620
  opacity: "0.05",
6574
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
6621
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
6575
6622
  },
6576
6623
  `tc-${i}`
6577
6624
  );
6578
6625
  })
6579
6626
  ] })
6580
6627
  ] }),
6581
- /* @__PURE__ */ jsxs58("g", { transform: px(14), children: [
6582
- /* @__PURE__ */ jsxs58("g", { children: [
6583
- anim && /* @__PURE__ */ jsx72(
6628
+ /* @__PURE__ */ jsxs59("g", { transform: px(14), children: [
6629
+ /* @__PURE__ */ jsxs59("g", { children: [
6630
+ anim && /* @__PURE__ */ jsx73(
6584
6631
  "animateTransform",
6585
6632
  {
6586
6633
  attributeName: "transform",
@@ -6593,9 +6640,9 @@ var KaleidoScopeHeroAnimation = ({
6593
6640
  ),
6594
6641
  Array.from({ length: 12 }, (_, i) => {
6595
6642
  const a = Math.PI / 6 * i;
6596
- return /* @__PURE__ */ jsxs58("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
6597
- /* @__PURE__ */ jsx72("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
6598
- /* @__PURE__ */ jsx72("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
6643
+ return /* @__PURE__ */ jsxs59("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
6644
+ /* @__PURE__ */ jsx73("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
6645
+ /* @__PURE__ */ jsx73("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
6599
6646
  ] }, `mh-${i}`);
6600
6647
  })
6601
6648
  ] }),
@@ -6606,7 +6653,7 @@ var KaleidoScopeHeroAnimation = ({
6606
6653
  const y1 = c + midR * Math.sin(a1);
6607
6654
  const x2 = c + midR * Math.cos(a2);
6608
6655
  const y2 = c + midR * Math.sin(a2);
6609
- return /* @__PURE__ */ jsx72(
6656
+ return /* @__PURE__ */ jsx73(
6610
6657
  "path",
6611
6658
  {
6612
6659
  d: `M${x1},${y1} Q${c},${c} ${x2},${y2}`,
@@ -6615,17 +6662,17 @@ var KaleidoScopeHeroAnimation = ({
6615
6662
  strokeWidth: "0.5",
6616
6663
  strokeDasharray: "3 5",
6617
6664
  opacity: "0.1",
6618
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
6665
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
6619
6666
  },
6620
6667
  `arc-${i}`
6621
6668
  );
6622
6669
  })
6623
6670
  ] }),
6624
- /* @__PURE__ */ jsxs58("g", { transform: px(10), children: [
6625
- /* @__PURE__ */ jsx72("circle", { cx: c, cy: c, r: orbitR, fill: "none", stroke: "rgba(255,255,255,0.05)", strokeWidth: "1", strokeDasharray: "3 5", children: anim && /* @__PURE__ */ jsx72("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
6626
- /* @__PURE__ */ jsx72("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
6627
- /* @__PURE__ */ jsxs58("g", { children: [
6628
- anim && /* @__PURE__ */ jsx72(
6671
+ /* @__PURE__ */ jsxs59("g", { transform: px(10), children: [
6672
+ /* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: orbitR, fill: "none", stroke: "rgba(255,255,255,0.05)", strokeWidth: "1", strokeDasharray: "3 5", children: anim && /* @__PURE__ */ jsx73("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
6673
+ /* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
6674
+ /* @__PURE__ */ jsxs59("g", { children: [
6675
+ anim && /* @__PURE__ */ jsx73(
6629
6676
  "animateTransform",
6630
6677
  {
6631
6678
  attributeName: "transform",
@@ -6640,8 +6687,8 @@ var KaleidoScopeHeroAnimation = ({
6640
6687
  const angle = Math.atan2(pos.y - c, pos.x - c);
6641
6688
  const dx = Math.cos(angle);
6642
6689
  const dy = Math.sin(angle);
6643
- return /* @__PURE__ */ jsxs58("g", { children: [
6644
- /* @__PURE__ */ jsx72(
6690
+ return /* @__PURE__ */ jsxs59("g", { children: [
6691
+ /* @__PURE__ */ jsx73(
6645
6692
  "line",
6646
6693
  {
6647
6694
  x1: c + dx * 52,
@@ -6652,14 +6699,14 @@ var KaleidoScopeHeroAnimation = ({
6652
6699
  strokeWidth: "0.8",
6653
6700
  strokeDasharray: "2 4",
6654
6701
  opacity: "0.2",
6655
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
6702
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
6656
6703
  }
6657
6704
  ),
6658
- /* @__PURE__ */ jsx72("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment14, { children: [
6659
- /* @__PURE__ */ jsx72("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6660
- /* @__PURE__ */ jsx72("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6661
- /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6662
- /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
6705
+ /* @__PURE__ */ jsx73("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
6706
+ /* @__PURE__ */ jsx73("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6707
+ /* @__PURE__ */ jsx73("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6708
+ /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
6709
+ /* @__PURE__ */ jsx73("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
6663
6710
  ] }) })
6664
6711
  ] }, `conn-${i}`);
6665
6712
  }),
@@ -6667,14 +6714,14 @@ var KaleidoScopeHeroAnimation = ({
6667
6714
  const pos = iconPositions[i];
6668
6715
  const labelWidth = Math.max(proto.name.length * 5.5 + 10, 32);
6669
6716
  const isHovered = hoveredProtocol === proto.name;
6670
- return /* @__PURE__ */ jsx72("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ jsxs58(
6717
+ return /* @__PURE__ */ jsx73("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ jsxs59(
6671
6718
  "g",
6672
6719
  {
6673
6720
  onMouseEnter: () => setHoveredProtocol(proto.name),
6674
6721
  onMouseLeave: () => setHoveredProtocol(null),
6675
6722
  style: { cursor: "pointer" },
6676
6723
  children: [
6677
- anim && /* @__PURE__ */ jsx72(
6724
+ anim && /* @__PURE__ */ jsx73(
6678
6725
  "animateTransform",
6679
6726
  {
6680
6727
  attributeName: "transform",
@@ -6685,7 +6732,7 @@ var KaleidoScopeHeroAnimation = ({
6685
6732
  repeatCount: "indefinite"
6686
6733
  }
6687
6734
  ),
6688
- /* @__PURE__ */ jsx72(
6735
+ /* @__PURE__ */ jsx73(
6689
6736
  "circle",
6690
6737
  {
6691
6738
  cx: "0",
@@ -6695,13 +6742,13 @@ var KaleidoScopeHeroAnimation = ({
6695
6742
  stroke: proto.color,
6696
6743
  strokeWidth: "1",
6697
6744
  opacity: "0",
6698
- children: anim && /* @__PURE__ */ jsxs58(Fragment14, { children: [
6699
- /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
6700
- /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
6745
+ children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
6746
+ /* @__PURE__ */ jsx73("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
6747
+ /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
6701
6748
  ] })
6702
6749
  }
6703
6750
  ),
6704
- /* @__PURE__ */ jsx72(
6751
+ /* @__PURE__ */ jsx73(
6705
6752
  "circle",
6706
6753
  {
6707
6754
  cx: "0",
@@ -6711,10 +6758,10 @@ var KaleidoScopeHeroAnimation = ({
6711
6758
  stroke: proto.color,
6712
6759
  strokeWidth: "1",
6713
6760
  opacity: "0.15",
6714
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
6761
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
6715
6762
  }
6716
6763
  ),
6717
- /* @__PURE__ */ jsx72(
6764
+ /* @__PURE__ */ jsx73(
6718
6765
  "circle",
6719
6766
  {
6720
6767
  cx: "0",
@@ -6724,10 +6771,10 @@ var KaleidoScopeHeroAnimation = ({
6724
6771
  stroke: proto.color,
6725
6772
  strokeWidth: "1.5",
6726
6773
  opacity: "0.25",
6727
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
6774
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
6728
6775
  }
6729
6776
  ),
6730
- /* @__PURE__ */ jsx72(
6777
+ /* @__PURE__ */ jsx73(
6731
6778
  "circle",
6732
6779
  {
6733
6780
  cx: "0",
@@ -6738,8 +6785,8 @@ var KaleidoScopeHeroAnimation = ({
6738
6785
  strokeWidth: "1"
6739
6786
  }
6740
6787
  ),
6741
- /* @__PURE__ */ jsx72("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
6742
- /* @__PURE__ */ jsx72("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ jsx72(
6788
+ /* @__PURE__ */ jsx73("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
6789
+ /* @__PURE__ */ jsx73("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ jsx73(
6743
6790
  NetworkBadge,
6744
6791
  {
6745
6792
  network: proto.network,
@@ -6747,8 +6794,8 @@ var KaleidoScopeHeroAnimation = ({
6747
6794
  className: "w-full h-full"
6748
6795
  }
6749
6796
  ) }),
6750
- /* @__PURE__ */ jsxs58("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
6751
- /* @__PURE__ */ jsx72(
6797
+ /* @__PURE__ */ jsxs59("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
6798
+ /* @__PURE__ */ jsx73(
6752
6799
  "rect",
6753
6800
  {
6754
6801
  x: -labelWidth / 2,
@@ -6762,7 +6809,7 @@ var KaleidoScopeHeroAnimation = ({
6762
6809
  strokeOpacity: 0.4
6763
6810
  }
6764
6811
  ),
6765
- /* @__PURE__ */ jsx72(
6812
+ /* @__PURE__ */ jsx73(
6766
6813
  "text",
6767
6814
  {
6768
6815
  x: "0",
@@ -6782,9 +6829,9 @@ var KaleidoScopeHeroAnimation = ({
6782
6829
  })
6783
6830
  ] })
6784
6831
  ] }),
6785
- /* @__PURE__ */ jsxs58("g", { transform: px(5), children: [
6786
- /* @__PURE__ */ jsxs58("g", { children: [
6787
- anim && /* @__PURE__ */ jsx72(
6832
+ /* @__PURE__ */ jsxs59("g", { transform: px(5), children: [
6833
+ /* @__PURE__ */ jsxs59("g", { children: [
6834
+ anim && /* @__PURE__ */ jsx73(
6788
6835
  "animateTransform",
6789
6836
  {
6790
6837
  attributeName: "transform",
@@ -6797,28 +6844,28 @@ var KaleidoScopeHeroAnimation = ({
6797
6844
  ),
6798
6845
  Array.from({ length: 6 }, (_, i) => {
6799
6846
  const a = Math.PI / 3 * i;
6800
- return /* @__PURE__ */ jsx72(
6847
+ return /* @__PURE__ */ jsx73(
6801
6848
  "path",
6802
6849
  {
6803
6850
  d: diamondPath(10, 22),
6804
6851
  transform: `translate(${c + innerR * Math.cos(a)},${c + innerR * Math.sin(a)}) rotate(${i * 60})`,
6805
6852
  fill: "url(#kh-gp)",
6806
6853
  opacity: "0.15",
6807
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
6854
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
6808
6855
  },
6809
6856
  `d-${i}`
6810
6857
  );
6811
6858
  }),
6812
6859
  Array.from({ length: 6 }, (_, i) => {
6813
6860
  const a = Math.PI / 3 * i + Math.PI / 6;
6814
- return /* @__PURE__ */ jsx72(
6861
+ return /* @__PURE__ */ jsx73(
6815
6862
  "path",
6816
6863
  {
6817
6864
  d: triPath(8),
6818
6865
  transform: `translate(${c + innerR * 0.75 * Math.cos(a)},${c + innerR * 0.75 * Math.sin(a)}) rotate(${i * 60 + 30})`,
6819
6866
  fill: "url(#kh-oc)",
6820
6867
  opacity: "0.1",
6821
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
6868
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
6822
6869
  },
6823
6870
  `it-${i}`
6824
6871
  );
@@ -6826,7 +6873,7 @@ var KaleidoScopeHeroAnimation = ({
6826
6873
  Array.from({ length: 12 }, (_, i) => {
6827
6874
  const a = Math.PI / 6 * i;
6828
6875
  const r = innerR * (i % 2 === 0 ? 0.55 : 0.65);
6829
- return /* @__PURE__ */ jsx72(
6876
+ return /* @__PURE__ */ jsx73(
6830
6877
  "circle",
6831
6878
  {
6832
6879
  cx: c + r * Math.cos(a),
@@ -6834,14 +6881,14 @@ var KaleidoScopeHeroAnimation = ({
6834
6881
  r: i % 2 === 0 ? 2 : 1.5,
6835
6882
  fill: "url(#kh-oc)",
6836
6883
  opacity: "0.2",
6837
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
6884
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
6838
6885
  },
6839
6886
  `id-${i}`
6840
6887
  );
6841
6888
  })
6842
6889
  ] }),
6843
- /* @__PURE__ */ jsxs58("g", { children: [
6844
- anim && /* @__PURE__ */ jsx72(
6890
+ /* @__PURE__ */ jsxs59("g", { children: [
6891
+ anim && /* @__PURE__ */ jsx73(
6845
6892
  "animateTransform",
6846
6893
  {
6847
6894
  attributeName: "transform",
@@ -6854,27 +6901,27 @@ var KaleidoScopeHeroAnimation = ({
6854
6901
  ),
6855
6902
  Array.from({ length: 6 }, (_, i) => {
6856
6903
  const a = Math.PI / 3 * i + Math.PI / 6;
6857
- return /* @__PURE__ */ jsx72(
6904
+ return /* @__PURE__ */ jsx73(
6858
6905
  "path",
6859
6906
  {
6860
6907
  d: hexPath2(6),
6861
6908
  transform: `translate(${c + innerR * 0.42 * Math.cos(a)},${c + innerR * 0.42 * Math.sin(a)})`,
6862
6909
  fill: "url(#kh-bp)",
6863
6910
  opacity: "0.1",
6864
- children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
6911
+ children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
6865
6912
  },
6866
6913
  `ih-${i}`
6867
6914
  );
6868
6915
  })
6869
6916
  ] })
6870
6917
  ] }),
6871
- /* @__PURE__ */ jsx72("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
6918
+ /* @__PURE__ */ jsx73("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
6872
6919
  const a = Math.PI * 2 * i / 16;
6873
6920
  const baseR = 60 + i % 4 * 45;
6874
6921
  const x = c + baseR * Math.cos(a);
6875
6922
  const y = c + baseR * Math.sin(a);
6876
6923
  const colors2 = ["#0e9dff", "#8a5cf6", "#22c55e", "#F7931A", "#06b6d4", "#15E99A"];
6877
- return /* @__PURE__ */ jsx72(
6924
+ return /* @__PURE__ */ jsx73(
6878
6925
  "circle",
6879
6926
  {
6880
6927
  cx: x,
@@ -6882,26 +6929,26 @@ var KaleidoScopeHeroAnimation = ({
6882
6929
  r: 1 + i % 3 * 0.5,
6883
6930
  fill: colors2[i % colors2.length],
6884
6931
  opacity: "0",
6885
- children: anim && /* @__PURE__ */ jsxs58(Fragment14, { children: [
6886
- /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
6887
- /* @__PURE__ */ jsx72("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` }),
6888
- /* @__PURE__ */ jsx72("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` })
6932
+ children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
6933
+ /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
6934
+ /* @__PURE__ */ jsx73("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` }),
6935
+ /* @__PURE__ */ jsx73("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` })
6889
6936
  ] })
6890
6937
  },
6891
6938
  `p-${i}`
6892
6939
  );
6893
6940
  }) }),
6894
- /* @__PURE__ */ jsxs58("g", { children: [
6895
- /* @__PURE__ */ jsx72("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
6896
- /* @__PURE__ */ jsx72("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment14, { children: [
6897
- /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
6898
- /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
6941
+ /* @__PURE__ */ jsxs59("g", { children: [
6942
+ /* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
6943
+ /* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
6944
+ /* @__PURE__ */ jsx73("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
6945
+ /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
6899
6946
  ] }) }),
6900
- /* @__PURE__ */ jsx72("circle", { cx: c, cy: c, r: "48", fill: "none", stroke: "url(#kh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment14, { children: [
6901
- /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
6902
- /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
6947
+ /* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: "48", fill: "none", stroke: "url(#kh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
6948
+ /* @__PURE__ */ jsx73("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
6949
+ /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
6903
6950
  ] }) }),
6904
- /* @__PURE__ */ jsx72(
6951
+ /* @__PURE__ */ jsx73(
6905
6952
  "path",
6906
6953
  {
6907
6954
  d: hexPath2(50),
@@ -6911,13 +6958,13 @@ var KaleidoScopeHeroAnimation = ({
6911
6958
  strokeWidth: "1.5",
6912
6959
  opacity: "0.4",
6913
6960
  filter: "url(#kh-glow)",
6914
- children: anim && /* @__PURE__ */ jsxs58(Fragment14, { children: [
6915
- /* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
6916
- /* @__PURE__ */ jsx72("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
6961
+ children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
6962
+ /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
6963
+ /* @__PURE__ */ jsx73("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
6917
6964
  ] })
6918
6965
  }
6919
6966
  ),
6920
- /* @__PURE__ */ jsx72(
6967
+ /* @__PURE__ */ jsx73(
6921
6968
  "path",
6922
6969
  {
6923
6970
  d: hexPath2(46),
@@ -6927,21 +6974,21 @@ var KaleidoScopeHeroAnimation = ({
6927
6974
  strokeWidth: "0.5"
6928
6975
  }
6929
6976
  ),
6930
- /* @__PURE__ */ jsxs58("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
6931
- /* @__PURE__ */ jsx72("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
6932
- /* @__PURE__ */ jsx72("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
6933
- /* @__PURE__ */ jsx72("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
6934
- /* @__PURE__ */ jsx72("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
6935
- /* @__PURE__ */ jsx72("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
6936
- /* @__PURE__ */ jsx72("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
6937
- /* @__PURE__ */ jsx72("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
6938
- /* @__PURE__ */ jsx72("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
6939
- /* @__PURE__ */ jsx72("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
6940
- /* @__PURE__ */ jsx72("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
6941
- /* @__PURE__ */ jsx72("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
6942
- /* @__PURE__ */ jsx72("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
6943
- /* @__PURE__ */ jsx72("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
6944
- /* @__PURE__ */ jsx72("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
6977
+ /* @__PURE__ */ jsxs59("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
6978
+ /* @__PURE__ */ jsx73("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
6979
+ /* @__PURE__ */ jsx73("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
6980
+ /* @__PURE__ */ jsx73("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
6981
+ /* @__PURE__ */ jsx73("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
6982
+ /* @__PURE__ */ jsx73("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
6983
+ /* @__PURE__ */ jsx73("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
6984
+ /* @__PURE__ */ jsx73("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
6985
+ /* @__PURE__ */ jsx73("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
6986
+ /* @__PURE__ */ jsx73("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
6987
+ /* @__PURE__ */ jsx73("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
6988
+ /* @__PURE__ */ jsx73("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
6989
+ /* @__PURE__ */ jsx73("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
6990
+ /* @__PURE__ */ jsx73("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
6991
+ /* @__PURE__ */ jsx73("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
6945
6992
  ] })
6946
6993
  ] })
6947
6994
  ]
@@ -7075,7 +7122,7 @@ var colors = {
7075
7122
  };
7076
7123
 
7077
7124
  // src/web/components/deposit-ui-shared.tsx
7078
- import { Fragment as Fragment15, jsx as jsx73, jsxs as jsxs59 } from "react/jsx-runtime";
7125
+ import { Fragment as Fragment15, jsx as jsx74, jsxs as jsxs60 } from "react/jsx-runtime";
7079
7126
  var GLOW_ALPHA = "26";
7080
7127
  function qrGlowStyle(hex) {
7081
7128
  return { boxShadow: `0 0 30px ${hex}${GLOW_ALPHA}` };
@@ -7092,7 +7139,7 @@ var NETWORK_CONFIG = {
7092
7139
  // On-chain uses a chain-link glyph rather than the ₿ coin — the coin reads
7093
7140
  // as "the BTC asset", whereas this row is specifically the *on-chain* (L1)
7094
7141
  // receive rail alongside Lightning/Spark/Arkade, so a chain mark disambiguates.
7095
- icon: /* @__PURE__ */ jsx73("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
7142
+ icon: /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
7096
7143
  },
7097
7144
  lightning: {
7098
7145
  label: "Lightning",
@@ -7102,7 +7149,7 @@ var NETWORK_CONFIG = {
7102
7149
  border: "border-network-lightning/40",
7103
7150
  qrBorder: "border-network-lightning/30",
7104
7151
  qrGlow: qrGlowStyle(colors.network.lightning),
7105
- icon: /* @__PURE__ */ jsx73("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
7152
+ icon: /* @__PURE__ */ jsx74("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
7106
7153
  },
7107
7154
  spark: {
7108
7155
  label: "Spark",
@@ -7112,7 +7159,7 @@ var NETWORK_CONFIG = {
7112
7159
  border: "border-info/40",
7113
7160
  qrBorder: "border-info/30",
7114
7161
  qrGlow: qrGlowStyle(colors.info),
7115
- icon: /* @__PURE__ */ jsx73("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
7162
+ icon: /* @__PURE__ */ jsx74("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
7116
7163
  },
7117
7164
  arkade: {
7118
7165
  label: "Arkade",
@@ -7122,7 +7169,7 @@ var NETWORK_CONFIG = {
7122
7169
  border: "border-network-arkade/40",
7123
7170
  qrBorder: "border-network-arkade/30",
7124
7171
  qrGlow: qrGlowStyle(colors.network.arkade),
7125
- icon: /* @__PURE__ */ jsx73("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
7172
+ icon: /* @__PURE__ */ jsx74("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
7126
7173
  }
7127
7174
  };
7128
7175
  var ACCOUNT_META = {
@@ -7131,14 +7178,14 @@ var ACCOUNT_META = {
7131
7178
  accentBg: "bg-primary/10",
7132
7179
  accentText: "text-primary",
7133
7180
  accentBorder: "border-primary/30",
7134
- icon: /* @__PURE__ */ jsx73("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
7181
+ icon: /* @__PURE__ */ jsx74("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
7135
7182
  },
7136
7183
  SPARK: {
7137
7184
  shortLabel: "Spark",
7138
7185
  accentBg: "bg-info/10",
7139
7186
  accentText: "text-info",
7140
7187
  accentBorder: "border-info/30",
7141
- icon: /* @__PURE__ */ jsx73(
7188
+ icon: /* @__PURE__ */ jsx74(
7142
7189
  "img",
7143
7190
  {
7144
7191
  src: "/icons/spark/Asterisk/Spark Asterisk White.svg",
@@ -7152,7 +7199,7 @@ var ACCOUNT_META = {
7152
7199
  accentBg: "bg-network-arkade/10",
7153
7200
  accentText: "text-network-arkade",
7154
7201
  accentBorder: "border-network-arkade/30",
7155
- icon: /* @__PURE__ */ jsx73("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
7202
+ icon: /* @__PURE__ */ jsx74("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
7156
7203
  }
7157
7204
  };
7158
7205
  var METHOD_META = {
@@ -7169,7 +7216,7 @@ function InvoiceStatusBanner({
7169
7216
  isInvoiceFailedOrExpired,
7170
7217
  invoiceStatus
7171
7218
  }) {
7172
- return /* @__PURE__ */ jsxs59(
7219
+ return /* @__PURE__ */ jsxs60(
7173
7220
  "div",
7174
7221
  {
7175
7222
  className: cn(
@@ -7177,17 +7224,17 @@ function InvoiceStatusBanner({
7177
7224
  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"
7178
7225
  ),
7179
7226
  children: [
7180
- isInvoicePending && /* @__PURE__ */ jsxs59(Fragment15, { children: [
7181
- /* @__PURE__ */ jsx73("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
7182
- /* @__PURE__ */ jsx73("span", { children: "Waiting for payment..." })
7227
+ isInvoicePending && /* @__PURE__ */ jsxs60(Fragment15, { children: [
7228
+ /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
7229
+ /* @__PURE__ */ jsx74("span", { children: "Waiting for payment..." })
7183
7230
  ] }),
7184
- isInvoicePaid && /* @__PURE__ */ jsxs59(Fragment15, { children: [
7185
- /* @__PURE__ */ jsx73("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
7186
- /* @__PURE__ */ jsx73("span", { children: "Payment received!" })
7231
+ isInvoicePaid && /* @__PURE__ */ jsxs60(Fragment15, { children: [
7232
+ /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
7233
+ /* @__PURE__ */ jsx74("span", { children: "Payment received!" })
7187
7234
  ] }),
7188
- isInvoiceFailedOrExpired && /* @__PURE__ */ jsxs59(Fragment15, { children: [
7189
- /* @__PURE__ */ jsx73("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
7190
- /* @__PURE__ */ jsxs59("span", { children: [
7235
+ isInvoiceFailedOrExpired && /* @__PURE__ */ jsxs60(Fragment15, { children: [
7236
+ /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
7237
+ /* @__PURE__ */ jsxs60("span", { children: [
7191
7238
  "Invoice ",
7192
7239
  invoiceStatus?.toLowerCase() === "expired" ? "expired" : "failed"
7193
7240
  ] })
@@ -7197,20 +7244,20 @@ function InvoiceStatusBanner({
7197
7244
  );
7198
7245
  }
7199
7246
  function PaidOverlay() {
7200
- return /* @__PURE__ */ jsx73("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ jsxs59("div", { className: "flex flex-col items-center gap-2", children: [
7201
- /* @__PURE__ */ jsx73("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ jsx73("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
7202
- /* @__PURE__ */ jsx73("span", { className: "text-sm font-bold text-primary", children: "Received!" })
7247
+ return /* @__PURE__ */ jsx74("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ jsxs60("div", { className: "flex flex-col items-center gap-2", children: [
7248
+ /* @__PURE__ */ jsx74("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
7249
+ /* @__PURE__ */ jsx74("span", { className: "text-sm font-bold text-primary", children: "Received!" })
7203
7250
  ] }) });
7204
7251
  }
7205
7252
  function CopyIcon({ copied }) {
7206
- return /* @__PURE__ */ jsx73(
7253
+ return /* @__PURE__ */ jsx74(
7207
7254
  "div",
7208
7255
  {
7209
7256
  className: cn(
7210
7257
  "flex-shrink-0 rounded-lg p-2 transition-all",
7211
7258
  copied ? "bg-primary/15 text-primary" : "bg-white/5 text-white/40 group-hover:bg-primary/10 group-hover:text-primary"
7212
7259
  ),
7213
- children: copied ? /* @__PURE__ */ jsx73(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ jsx73(Icon, { name: "content_copy", size: "sm" })
7260
+ children: copied ? /* @__PURE__ */ jsx74(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ jsx74(Icon, { name: "content_copy", size: "sm" })
7214
7261
  }
7215
7262
  );
7216
7263
  }
@@ -7221,7 +7268,7 @@ function AccountChoiceChip({
7221
7268
  label
7222
7269
  }) {
7223
7270
  const meta = ACCOUNT_META[account];
7224
- return /* @__PURE__ */ jsxs59(
7271
+ return /* @__PURE__ */ jsxs60(
7225
7272
  "button",
7226
7273
  {
7227
7274
  type: "button",
@@ -7233,7 +7280,7 @@ function AccountChoiceChip({
7233
7280
  ),
7234
7281
  children: [
7235
7282
  meta.icon,
7236
- /* @__PURE__ */ jsx73("span", { children: label ?? meta.shortLabel })
7283
+ /* @__PURE__ */ jsx74("span", { children: label ?? meta.shortLabel })
7237
7284
  ]
7238
7285
  }
7239
7286
  );
@@ -7282,8 +7329,8 @@ function NetworkInfoDisclosure({
7282
7329
  }) {
7283
7330
  const [open, setOpen] = useState14(false);
7284
7331
  if (networks.length === 0) return null;
7285
- return /* @__PURE__ */ jsxs59("div", { className: cn("overflow-hidden rounded-xl border border-white/8 bg-white/3 transition-all", className), children: [
7286
- /* @__PURE__ */ jsxs59(
7332
+ return /* @__PURE__ */ jsxs60("div", { className: cn("overflow-hidden rounded-xl border border-white/8 bg-white/3 transition-all", className), children: [
7333
+ /* @__PURE__ */ jsxs60(
7287
7334
  "button",
7288
7335
  {
7289
7336
  type: "button",
@@ -7291,24 +7338,24 @@ function NetworkInfoDisclosure({
7291
7338
  "aria-expanded": open,
7292
7339
  className: "flex w-full items-center gap-2 px-2.5 py-1.5 text-left transition-colors hover:bg-white/4",
7293
7340
  children: [
7294
- /* @__PURE__ */ jsx73(Icon, { name: "info", size: "xs", className: "text-white/40" }),
7295
- /* @__PURE__ */ jsx73("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
7296
- /* @__PURE__ */ jsx73(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
7341
+ /* @__PURE__ */ jsx74(Icon, { name: "info", size: "xs", className: "text-white/40" }),
7342
+ /* @__PURE__ */ jsx74("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
7343
+ /* @__PURE__ */ jsx74(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
7297
7344
  ]
7298
7345
  }
7299
7346
  ),
7300
- open && /* @__PURE__ */ jsx73("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) => {
7347
+ open && /* @__PURE__ */ jsx74("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) => {
7301
7348
  const info = NETWORK_INFO[network];
7302
7349
  const cfg = NETWORK_CONFIG[network];
7303
- return /* @__PURE__ */ jsxs59("div", { className: "space-y-1", children: [
7304
- /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-1.5", children: [
7305
- /* @__PURE__ */ jsx73("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
7306
- /* @__PURE__ */ jsx73("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
7350
+ return /* @__PURE__ */ jsxs60("div", { className: "space-y-1", children: [
7351
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-1.5", children: [
7352
+ /* @__PURE__ */ jsx74("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
7353
+ /* @__PURE__ */ jsx74("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
7307
7354
  ] }),
7308
- /* @__PURE__ */ jsx73("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
7309
- /* @__PURE__ */ jsx73("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ jsxs59("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
7310
- /* @__PURE__ */ jsx73("span", { className: "mt-[1px] text-white/30", children: "-" }),
7311
- /* @__PURE__ */ jsx73("span", { children: bullet })
7355
+ /* @__PURE__ */ jsx74("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
7356
+ /* @__PURE__ */ jsx74("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ jsxs60("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
7357
+ /* @__PURE__ */ jsx74("span", { className: "mt-[1px] text-white/30", children: "-" }),
7358
+ /* @__PURE__ */ jsx74("span", { children: bullet })
7312
7359
  ] }, bullet)) })
7313
7360
  ] }, network);
7314
7361
  }) })
@@ -7322,7 +7369,7 @@ function MethodChoiceChip({
7322
7369
  onClick
7323
7370
  }) {
7324
7371
  const meta = METHOD_META[method];
7325
- return /* @__PURE__ */ jsxs59(
7372
+ return /* @__PURE__ */ jsxs60(
7326
7373
  "button",
7327
7374
  {
7328
7375
  type: "button",
@@ -7335,14 +7382,14 @@ function MethodChoiceChip({
7335
7382
  ),
7336
7383
  children: [
7337
7384
  meta.label,
7338
- !enabled && disabledReason && /* @__PURE__ */ jsx73("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
7385
+ !enabled && disabledReason && /* @__PURE__ */ jsx74("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
7339
7386
  ]
7340
7387
  }
7341
7388
  );
7342
7389
  }
7343
7390
 
7344
7391
  // src/web/components/deposit-success-screen.tsx
7345
- import { jsx as jsx74, jsxs as jsxs60 } from "react/jsx-runtime";
7392
+ import { jsx as jsx75, jsxs as jsxs61 } from "react/jsx-runtime";
7346
7393
  function DepositSuccessScreen({
7347
7394
  handleDone,
7348
7395
  displayTicker,
@@ -7355,20 +7402,20 @@ function DepositSuccessScreen({
7355
7402
  const isInstant = network === "lightning" || network === "spark";
7356
7403
  const title = isInstant ? "Payment Received!" : "Deposit Detected!";
7357
7404
  const subtitle = isInstant ? `Your ${displayTicker} has arrived via ${networkLabel}.` : `Incoming deposit detected via ${networkLabel}. Funds will be available after confirmation.`;
7358
- return /* @__PURE__ */ jsx74("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ jsxs60("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
7359
- /* @__PURE__ */ jsxs60("div", { className: "relative mb-8", children: [
7360
- /* @__PURE__ */ jsx74("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
7361
- /* @__PURE__ */ jsx74("div", { className: "relative flex size-20 items-center justify-center rounded-full border-2 border-primary/40 bg-primary/10 shadow-sm", children: /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-5xl text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
7405
+ return /* @__PURE__ */ jsx75("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ jsxs61("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
7406
+ /* @__PURE__ */ jsxs61("div", { className: "relative mb-8", children: [
7407
+ /* @__PURE__ */ jsx75("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
7408
+ /* @__PURE__ */ jsx75("div", { className: "relative flex size-20 items-center justify-center rounded-full border-2 border-primary/40 bg-primary/10 shadow-sm", children: /* @__PURE__ */ jsx75("span", { className: "material-symbols-outlined text-5xl text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
7362
7409
  ] }),
7363
- /* @__PURE__ */ jsx74("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
7364
- /* @__PURE__ */ jsx74("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
7365
- /* @__PURE__ */ jsxs60("div", { className: "mb-10 flex items-center gap-3 rounded-2xl border bg-white/5 px-4 py-3", children: [
7366
- /* @__PURE__ */ jsx74(AssetIcon, { ticker: displayTicker, size: 36 }),
7367
- /* @__PURE__ */ jsxs60("div", { className: "text-left", children: [
7368
- /* @__PURE__ */ jsx74("p", { className: "text-sm font-bold text-white", children: displayTicker }),
7369
- /* @__PURE__ */ jsx74("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
7410
+ /* @__PURE__ */ jsx75("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
7411
+ /* @__PURE__ */ jsx75("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
7412
+ /* @__PURE__ */ jsxs61("div", { className: "mb-10 flex items-center gap-3 rounded-2xl border bg-white/5 px-4 py-3", children: [
7413
+ /* @__PURE__ */ jsx75(AssetIcon, { ticker: displayTicker, size: 36 }),
7414
+ /* @__PURE__ */ jsxs61("div", { className: "text-left", children: [
7415
+ /* @__PURE__ */ jsx75("p", { className: "text-sm font-bold text-white", children: displayTicker }),
7416
+ /* @__PURE__ */ jsx75("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
7370
7417
  ] }),
7371
- /* @__PURE__ */ jsxs60(
7418
+ /* @__PURE__ */ jsxs61(
7372
7419
  "div",
7373
7420
  {
7374
7421
  className: cn(
@@ -7379,27 +7426,27 @@ function DepositSuccessScreen({
7379
7426
  ),
7380
7427
  children: [
7381
7428
  net.icon,
7382
- /* @__PURE__ */ jsx74("span", { children: networkLabel })
7429
+ /* @__PURE__ */ jsx75("span", { children: networkLabel })
7383
7430
  ]
7384
7431
  }
7385
7432
  )
7386
7433
  ] }),
7387
- /* @__PURE__ */ jsxs60(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
7388
- /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-lg", children: "account_balance_wallet" }),
7434
+ /* @__PURE__ */ jsxs61(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
7435
+ /* @__PURE__ */ jsx75("span", { className: "material-symbols-outlined text-icon-lg", children: "account_balance_wallet" }),
7389
7436
  "Back to Wallet"
7390
7437
  ] })
7391
7438
  ] }) });
7392
7439
  }
7393
7440
 
7394
7441
  // src/web/components/deposit-network-default-modal.tsx
7395
- import { jsx as jsx75, jsxs as jsxs61 } from "react/jsx-runtime";
7442
+ import { jsx as jsx76, jsxs as jsxs62 } from "react/jsx-runtime";
7396
7443
  var NETWORK_OPTIONS = {
7397
7444
  RGB: {
7398
7445
  network: "onchain",
7399
7446
  account: "RGB",
7400
7447
  label: "On-chain / Lightning",
7401
7448
  description: "Classic Bitcoin address or Lightning invoice via the RLN node.",
7402
- icon: /* @__PURE__ */ jsx75("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
7449
+ icon: /* @__PURE__ */ jsx76("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
7403
7450
  accentBg: "bg-network-bitcoin/10",
7404
7451
  accentBorder: "border-network-bitcoin/30",
7405
7452
  accentText: "text-network-bitcoin"
@@ -7409,7 +7456,7 @@ var NETWORK_OPTIONS = {
7409
7456
  account: "SPARK",
7410
7457
  label: "Spark",
7411
7458
  description: "Receive directly into your Spark account. Fast and free.",
7412
- icon: /* @__PURE__ */ jsx75("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
7459
+ icon: /* @__PURE__ */ jsx76("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
7413
7460
  accentBg: "bg-info/10",
7414
7461
  accentBorder: "border-info/30",
7415
7462
  accentText: "text-info"
@@ -7419,7 +7466,7 @@ var NETWORK_OPTIONS = {
7419
7466
  account: "ARKADE",
7420
7467
  label: "Arkade",
7421
7468
  description: "Receive directly into your Arkade account. Low fees, near-instant settlement.",
7422
- icon: /* @__PURE__ */ jsx75("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
7469
+ icon: /* @__PURE__ */ jsx76("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
7423
7470
  accentBg: "bg-network-arkade/10",
7424
7471
  accentBorder: "border-network-arkade/30",
7425
7472
  accentText: "text-network-arkade"
@@ -7434,20 +7481,20 @@ function DepositNetworkDefaultModal({
7434
7481
  }) {
7435
7482
  if (!open) return null;
7436
7483
  const options = availableAccounts.map((id) => NETWORK_OPTIONS[id]).filter(Boolean);
7437
- return /* @__PURE__ */ jsx75("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-black/60 backdrop-blur-sm", children: /* @__PURE__ */ jsxs61("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: [
7438
- /* @__PURE__ */ jsx75("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ jsx75("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
7439
- /* @__PURE__ */ jsxs61("div", { children: [
7440
- /* @__PURE__ */ jsx75("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
7441
- /* @__PURE__ */ jsxs61("p", { className: "mt-0.5 text-tiny text-white/45", children: [
7484
+ return /* @__PURE__ */ jsx76("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-black/60 backdrop-blur-sm", children: /* @__PURE__ */ jsxs62("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: [
7485
+ /* @__PURE__ */ jsx76("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ jsx76("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
7486
+ /* @__PURE__ */ jsxs62("div", { children: [
7487
+ /* @__PURE__ */ jsx76("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
7488
+ /* @__PURE__ */ jsxs62("p", { className: "mt-0.5 text-tiny text-white/45", children: [
7442
7489
  "Pick how you would like to receive",
7443
7490
  " ",
7444
- /* @__PURE__ */ jsx75("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
7491
+ /* @__PURE__ */ jsx76("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
7445
7492
  " by default. You can always switch in the deposit screen."
7446
7493
  ] })
7447
7494
  ] }),
7448
- /* @__PURE__ */ jsx75("div", { className: "space-y-2", children: options.map((option) => {
7495
+ /* @__PURE__ */ jsx76("div", { className: "space-y-2", children: options.map((option) => {
7449
7496
  const isSuggested = option.account === suggestedAccount;
7450
- return /* @__PURE__ */ jsxs61(
7497
+ return /* @__PURE__ */ jsxs62(
7451
7498
  "button",
7452
7499
  {
7453
7500
  type: "button",
@@ -7457,7 +7504,7 @@ function DepositNetworkDefaultModal({
7457
7504
  isSuggested ? cn("border-2", option.accentBorder, option.accentBg) : "border border-white/8 bg-white/4 hover:bg-white/8"
7458
7505
  ),
7459
7506
  children: [
7460
- /* @__PURE__ */ jsx75(
7507
+ /* @__PURE__ */ jsx76(
7461
7508
  "div",
7462
7509
  {
7463
7510
  className: cn(
@@ -7468,10 +7515,10 @@ function DepositNetworkDefaultModal({
7468
7515
  children: option.icon
7469
7516
  }
7470
7517
  ),
7471
- /* @__PURE__ */ jsxs61("div", { className: "min-w-0 flex-1", children: [
7472
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-2", children: [
7473
- /* @__PURE__ */ jsx75("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
7474
- isSuggested && /* @__PURE__ */ jsx75(
7518
+ /* @__PURE__ */ jsxs62("div", { className: "min-w-0 flex-1", children: [
7519
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-2", children: [
7520
+ /* @__PURE__ */ jsx76("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
7521
+ isSuggested && /* @__PURE__ */ jsx76(
7475
7522
  "span",
7476
7523
  {
7477
7524
  className: cn(
@@ -7483,9 +7530,9 @@ function DepositNetworkDefaultModal({
7483
7530
  }
7484
7531
  )
7485
7532
  ] }),
7486
- /* @__PURE__ */ jsx75("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
7533
+ /* @__PURE__ */ jsx76("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
7487
7534
  ] }),
7488
- /* @__PURE__ */ jsx75(
7535
+ /* @__PURE__ */ jsx76(
7489
7536
  "span",
7490
7537
  {
7491
7538
  className: cn(
@@ -7505,7 +7552,7 @@ function DepositNetworkDefaultModal({
7505
7552
 
7506
7553
  // src/web/components/btc-unified-receive.tsx
7507
7554
  import { useState as useState15 } from "react";
7508
- import { jsx as jsx76, jsxs as jsxs62 } from "react/jsx-runtime";
7555
+ import { jsx as jsx77, jsxs as jsxs63 } from "react/jsx-runtime";
7509
7556
  function formatSatsForRow(value) {
7510
7557
  if (!value || value <= 0 || !Number.isFinite(value)) return null;
7511
7558
  return `${value.toLocaleString("en-US")} sats`;
@@ -7537,46 +7584,46 @@ function BtcUnifiedReceive({
7537
7584
  setInvoiceStatus(null);
7538
7585
  setAccountReceiveResult(null);
7539
7586
  };
7540
- return /* @__PURE__ */ jsxs62("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
7541
- /* @__PURE__ */ jsxs62("div", { className: "flex flex-col items-center gap-3", children: [
7542
- /* @__PURE__ */ jsxs62("div", { className: "relative flex flex-col items-center p-2", children: [
7543
- /* @__PURE__ */ jsx76(QrCode, { value: accountReceiveResult.qrValue, size: 200, tone: "onDark" }),
7544
- isInvoicePaid && /* @__PURE__ */ jsx76(PaidOverlay, {})
7587
+ return /* @__PURE__ */ jsxs63("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
7588
+ /* @__PURE__ */ jsxs63("div", { className: "flex flex-col items-center gap-3", children: [
7589
+ /* @__PURE__ */ jsxs63("div", { className: "relative flex flex-col items-center p-2", children: [
7590
+ /* @__PURE__ */ jsx77(QrCode, { value: accountReceiveResult.qrValue, size: 200, tone: "onDark" }),
7591
+ isInvoicePaid && /* @__PURE__ */ jsx77(PaidOverlay, {})
7545
7592
  ] }),
7546
- /* @__PURE__ */ jsxs62("div", { className: "flex items-center justify-center gap-2.5", children: [
7547
- /* @__PURE__ */ jsx76(
7593
+ /* @__PURE__ */ jsxs63("div", { className: "flex items-center justify-center gap-2.5", children: [
7594
+ /* @__PURE__ */ jsx77(
7548
7595
  Button,
7549
7596
  {
7550
7597
  variant: "surface",
7551
7598
  size: "icon-xl",
7552
7599
  "aria-label": `Copy ${accountReceiveResult.qrLabel}`,
7553
7600
  onClick: () => void copyToClipboard(accountReceiveResult.qrValue),
7554
- children: /* @__PURE__ */ jsx76(Icon, { name: isQrCopied ? "check" : "content_copy", size: "lg" })
7601
+ children: /* @__PURE__ */ jsx77(Icon, { name: isQrCopied ? "check" : "content_copy", size: "lg" })
7555
7602
  }
7556
7603
  ),
7557
- showRegenerate && /* @__PURE__ */ jsx76(
7604
+ showRegenerate && /* @__PURE__ */ jsx77(
7558
7605
  Button,
7559
7606
  {
7560
7607
  variant: "surface",
7561
7608
  size: "icon-xl",
7562
7609
  "aria-label": "New address",
7563
7610
  onClick: handleNewAddress,
7564
- children: /* @__PURE__ */ jsx76(Icon, { name: "refresh", size: "lg" })
7611
+ children: /* @__PURE__ */ jsx77(Icon, { name: "refresh", size: "lg" })
7565
7612
  }
7566
7613
  ),
7567
- /* @__PURE__ */ jsx76(
7614
+ /* @__PURE__ */ jsx77(
7568
7615
  Button,
7569
7616
  {
7570
7617
  variant: "surface",
7571
7618
  size: "icon-xl",
7572
7619
  "aria-label": "Edit amount and description",
7573
7620
  onClick: () => setShowEdit(true),
7574
- children: /* @__PURE__ */ jsx76(Icon, { name: "edit", size: "lg" })
7621
+ children: /* @__PURE__ */ jsx77(Icon, { name: "edit", size: "lg" })
7575
7622
  }
7576
7623
  )
7577
7624
  ] })
7578
7625
  ] }),
7579
- invoiceStatus && /* @__PURE__ */ jsx76(
7626
+ invoiceStatus && /* @__PURE__ */ jsx77(
7580
7627
  InvoiceStatusBanner,
7581
7628
  {
7582
7629
  isInvoicePending,
@@ -7585,11 +7632,11 @@ function BtcUnifiedReceive({
7585
7632
  invoiceStatus
7586
7633
  }
7587
7634
  ),
7588
- /* @__PURE__ */ jsxs62("div", { className: "space-y-1.5", children: [
7589
- /* @__PURE__ */ jsx76("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
7635
+ /* @__PURE__ */ jsxs63("div", { className: "space-y-1.5", children: [
7636
+ /* @__PURE__ */ jsx77("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
7590
7637
  accountReceiveResult.addresses.map((address) => {
7591
7638
  const network = NETWORK_CONFIG[address.network];
7592
- return /* @__PURE__ */ jsxs62(
7639
+ return /* @__PURE__ */ jsxs63(
7593
7640
  "div",
7594
7641
  {
7595
7642
  className: cn(
@@ -7599,35 +7646,35 @@ function BtcUnifiedReceive({
7599
7646
  style: { borderLeftWidth: 3, borderLeftColor: network.color },
7600
7647
  onClick: () => void copyToClipboard(address.value),
7601
7648
  children: [
7602
- /* @__PURE__ */ jsx76("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
7603
- /* @__PURE__ */ jsxs62("div", { className: "min-w-0 flex-1", children: [
7604
- /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-1.5", children: [
7605
- /* @__PURE__ */ jsx76("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
7649
+ /* @__PURE__ */ jsx77("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
7650
+ /* @__PURE__ */ jsxs63("div", { className: "min-w-0 flex-1", children: [
7651
+ /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-1.5", children: [
7652
+ /* @__PURE__ */ jsx77("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
7606
7653
  (() => {
7607
7654
  const amountLabel = formatSatsForRow(address.amountSats);
7608
- return amountLabel ? /* @__PURE__ */ jsx76("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;
7655
+ return amountLabel ? /* @__PURE__ */ jsx77("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;
7609
7656
  })()
7610
7657
  ] }),
7611
- /* @__PURE__ */ jsx76("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 })
7658
+ /* @__PURE__ */ jsx77("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 })
7612
7659
  ] }),
7613
- /* @__PURE__ */ jsx76(CopyIcon, { copied: copied === address.value })
7660
+ /* @__PURE__ */ jsx77(CopyIcon, { copied: copied === address.value })
7614
7661
  ]
7615
7662
  },
7616
7663
  address.network
7617
7664
  );
7618
7665
  })
7619
7666
  ] }),
7620
- /* @__PURE__ */ jsx76(
7667
+ /* @__PURE__ */ jsx77(
7621
7668
  BottomSheet,
7622
7669
  {
7623
7670
  open: showEdit,
7624
7671
  title: "Edit request",
7625
- icon: /* @__PURE__ */ jsx76(Icon, { name: "edit", size: "md" }),
7672
+ icon: /* @__PURE__ */ jsx77(Icon, { name: "edit", size: "md" }),
7626
7673
  onClose: () => setShowEdit(false),
7627
- children: /* @__PURE__ */ jsxs62("div", { className: "space-y-4", children: [
7628
- /* @__PURE__ */ jsxs62("div", { className: "space-y-1.5", children: [
7629
- /* @__PURE__ */ jsx76("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }),
7630
- /* @__PURE__ */ jsx76(
7674
+ children: /* @__PURE__ */ jsxs63("div", { className: "space-y-4", children: [
7675
+ /* @__PURE__ */ jsxs63("div", { className: "space-y-1.5", children: [
7676
+ /* @__PURE__ */ jsx77("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }),
7677
+ /* @__PURE__ */ jsx77(
7631
7678
  "input",
7632
7679
  {
7633
7680
  type: "text",
@@ -7638,14 +7685,14 @@ function BtcUnifiedReceive({
7638
7685
  inputMode: "decimal"
7639
7686
  }
7640
7687
  ),
7641
- amount && loading && /* @__PURE__ */ jsxs62("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
7642
- /* @__PURE__ */ jsx76("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
7688
+ amount && loading && /* @__PURE__ */ jsxs63("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
7689
+ /* @__PURE__ */ jsx77("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
7643
7690
  "Updating invoice..."
7644
7691
  ] })
7645
7692
  ] }),
7646
- onDescriptionChange && /* @__PURE__ */ jsxs62("div", { className: "space-y-1.5", children: [
7647
- /* @__PURE__ */ jsx76("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Description (optional)" }),
7648
- /* @__PURE__ */ jsx76(
7693
+ onDescriptionChange && /* @__PURE__ */ jsxs63("div", { className: "space-y-1.5", children: [
7694
+ /* @__PURE__ */ jsx77("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Description (optional)" }),
7695
+ /* @__PURE__ */ jsx77(
7649
7696
  "input",
7650
7697
  {
7651
7698
  type: "text",
@@ -7656,7 +7703,7 @@ function BtcUnifiedReceive({
7656
7703
  }
7657
7704
  )
7658
7705
  ] }),
7659
- /* @__PURE__ */ jsx76(Button, { variant: "cta", className: "w-full", onClick: () => setShowEdit(false), children: "Done" })
7706
+ /* @__PURE__ */ jsx77(Button, { variant: "cta", className: "w-full", onClick: () => setShowEdit(false), children: "Done" })
7660
7707
  ] })
7661
7708
  }
7662
7709
  )
@@ -7664,7 +7711,7 @@ function BtcUnifiedReceive({
7664
7711
  }
7665
7712
 
7666
7713
  // src/web/components/deposit-generated-view.tsx
7667
- import { jsx as jsx77, jsxs as jsxs63 } from "react/jsx-runtime";
7714
+ import { jsx as jsx78, jsxs as jsxs64 } from "react/jsx-runtime";
7668
7715
  function parseAssetAmount(amountString, asset) {
7669
7716
  const value = Number(amountString);
7670
7717
  if (!Number.isFinite(value)) return 0;
@@ -7705,10 +7752,10 @@ function DepositGeneratedView({
7705
7752
  showRegenerate = true,
7706
7753
  onRegenerate
7707
7754
  }) {
7708
- return /* @__PURE__ */ jsxs63("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
7709
- (network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ jsxs63("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
7710
- /* @__PURE__ */ jsx77("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ jsx77("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
7711
- /* @__PURE__ */ jsx77(
7755
+ return /* @__PURE__ */ jsxs64("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
7756
+ (network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ jsxs64("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
7757
+ /* @__PURE__ */ jsx78("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ jsx78("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
7758
+ /* @__PURE__ */ jsx78(
7712
7759
  "input",
7713
7760
  {
7714
7761
  type: "text",
@@ -7719,16 +7766,16 @@ function DepositGeneratedView({
7719
7766
  inputMode: "decimal"
7720
7767
  }
7721
7768
  ),
7722
- amount && /* @__PURE__ */ jsx77("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ jsxs63("span", { className: "flex items-center gap-1", children: [
7723
- /* @__PURE__ */ jsx77("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
7769
+ amount && /* @__PURE__ */ jsx78("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ jsxs64("span", { className: "flex items-center gap-1", children: [
7770
+ /* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
7724
7771
  "Updating ",
7725
7772
  network === "arkade" ? "URI" : "invoice",
7726
7773
  "..."
7727
7774
  ] }) : network === "arkade" ? `Unified URI for ${amount} ${getUnitLabel()}` : `Invoice for ${amount} ${getUnitLabel()}` })
7728
7775
  ] }),
7729
- network === "lightning" && !isBtc && /* @__PURE__ */ jsxs63("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
7730
- /* @__PURE__ */ jsx77("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ jsx77("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
7731
- /* @__PURE__ */ jsx77(
7776
+ network === "lightning" && !isBtc && /* @__PURE__ */ jsxs64("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
7777
+ /* @__PURE__ */ jsx78("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ jsx78("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
7778
+ /* @__PURE__ */ jsx78(
7732
7779
  "input",
7733
7780
  {
7734
7781
  type: "text",
@@ -7739,19 +7786,19 @@ function DepositGeneratedView({
7739
7786
  inputMode: "decimal"
7740
7787
  }
7741
7788
  ),
7742
- amount && /* @__PURE__ */ jsx77("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ jsxs63("span", { className: "flex items-center gap-1", children: [
7743
- /* @__PURE__ */ jsx77("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
7789
+ amount && /* @__PURE__ */ jsx78("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ jsxs64("span", { className: "flex items-center gap-1", children: [
7790
+ /* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
7744
7791
  "Updating invoice..."
7745
7792
  ] }) : `Invoice for ${amount} ${getUnitLabel()}` }),
7746
- amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ jsxs63("p", { className: "rounded-lg border border-danger/20 bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
7793
+ amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ jsxs64("p", { className: "rounded-lg border border-danger/20 bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
7747
7794
  "Exceeds max: ",
7748
7795
  formatAssetAmount(maxDepositAmount, selectedAsset),
7749
7796
  " ",
7750
7797
  getUnitLabel()
7751
7798
  ] })
7752
7799
  ] }),
7753
- /* @__PURE__ */ jsxs63("div", { className: "flex flex-col items-center gap-3", children: [
7754
- /* @__PURE__ */ jsxs63(
7800
+ /* @__PURE__ */ jsxs64("div", { className: "flex flex-col items-center gap-3", children: [
7801
+ /* @__PURE__ */ jsxs64(
7755
7802
  "div",
7756
7803
  {
7757
7804
  className: cn(
@@ -7760,7 +7807,7 @@ function DepositGeneratedView({
7760
7807
  ),
7761
7808
  style: net.qrGlow,
7762
7809
  children: [
7763
- showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ jsxs63(
7810
+ showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ jsxs64(
7764
7811
  "div",
7765
7812
  {
7766
7813
  className: cn(
@@ -7770,21 +7817,21 @@ function DepositGeneratedView({
7770
7817
  ),
7771
7818
  children: [
7772
7819
  net.icon,
7773
- /* @__PURE__ */ jsx77("span", { children: net.label })
7820
+ /* @__PURE__ */ jsx78("span", { children: net.label })
7774
7821
  ]
7775
7822
  }
7776
7823
  ),
7777
- /* @__PURE__ */ jsx77(QrCode, { value: address, size: 188 }),
7778
- isInvoicePaid && /* @__PURE__ */ jsx77(PaidOverlay, {}),
7824
+ /* @__PURE__ */ jsx78(QrCode, { value: address, size: 188 }),
7825
+ isInvoicePaid && /* @__PURE__ */ jsx78(PaidOverlay, {}),
7779
7826
  loading && !isInvoicePaid && // Loading scrim — sits over the QR while a fresh address/invoice
7780
7827
  // is being fetched (e.g. after the New Address button).
7781
- /* @__PURE__ */ jsx77("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ jsx77("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
7828
+ /* @__PURE__ */ jsx78("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
7782
7829
  ]
7783
7830
  }
7784
7831
  ),
7785
7832
  (() => {
7786
7833
  const isAddressCopied = copied === address;
7787
- return /* @__PURE__ */ jsxs63(
7834
+ return /* @__PURE__ */ jsxs64(
7788
7835
  "button",
7789
7836
  {
7790
7837
  type: "button",
@@ -7797,14 +7844,14 @@ function DepositGeneratedView({
7797
7844
  void copyToClipboard(address);
7798
7845
  },
7799
7846
  children: [
7800
- /* @__PURE__ */ jsx77(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
7847
+ /* @__PURE__ */ jsx78(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
7801
7848
  isAddressCopied ? "Copied" : network === "lightning" ? "Copy Invoice" : "Copy Address"
7802
7849
  ]
7803
7850
  }
7804
7851
  );
7805
7852
  })()
7806
7853
  ] }),
7807
- network === "lightning" && invoiceStatus && /* @__PURE__ */ jsx77(
7854
+ network === "lightning" && invoiceStatus && /* @__PURE__ */ jsx78(
7808
7855
  InvoiceStatusBanner,
7809
7856
  {
7810
7857
  isInvoicePending,
@@ -7813,7 +7860,7 @@ function DepositGeneratedView({
7813
7860
  invoiceStatus
7814
7861
  }
7815
7862
  ),
7816
- /* @__PURE__ */ jsxs63(
7863
+ /* @__PURE__ */ jsxs64(
7817
7864
  "div",
7818
7865
  {
7819
7866
  "data-testid": "deposit-generated-address",
@@ -7826,16 +7873,16 @@ function DepositGeneratedView({
7826
7873
  style: { borderLeftWidth: 3, borderLeftColor: net.color },
7827
7874
  onClick: () => void copyToClipboard(address),
7828
7875
  children: [
7829
- /* @__PURE__ */ jsx77("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
7830
- /* @__PURE__ */ jsxs63("div", { className: "min-w-0 flex-1", children: [
7831
- /* @__PURE__ */ jsx77("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ jsx77("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
7832
- /* @__PURE__ */ jsx77("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 })
7876
+ /* @__PURE__ */ jsx78("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
7877
+ /* @__PURE__ */ jsxs64("div", { className: "min-w-0 flex-1", children: [
7878
+ /* @__PURE__ */ jsx78("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ jsx78("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
7879
+ /* @__PURE__ */ jsx78("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 })
7833
7880
  ] }),
7834
- /* @__PURE__ */ jsx77(CopyIcon, { copied: copied === address })
7881
+ /* @__PURE__ */ jsx78(CopyIcon, { copied: copied === address })
7835
7882
  ]
7836
7883
  }
7837
7884
  ),
7838
- recipientId && /* @__PURE__ */ jsxs63(
7885
+ recipientId && /* @__PURE__ */ jsxs64(
7839
7886
  "div",
7840
7887
  {
7841
7888
  className: cn(
@@ -7845,16 +7892,16 @@ function DepositGeneratedView({
7845
7892
  style: { borderLeftWidth: 3, borderLeftColor: "var(--primary)" },
7846
7893
  onClick: () => void copyToClipboard(recipientId),
7847
7894
  children: [
7848
- /* @__PURE__ */ jsx77("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ jsx77(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
7849
- /* @__PURE__ */ jsxs63("div", { className: "min-w-0 flex-1", children: [
7850
- /* @__PURE__ */ jsx77("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
7851
- /* @__PURE__ */ jsx77("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 })
7895
+ /* @__PURE__ */ jsx78("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ jsx78(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
7896
+ /* @__PURE__ */ jsxs64("div", { className: "min-w-0 flex-1", children: [
7897
+ /* @__PURE__ */ jsx78("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
7898
+ /* @__PURE__ */ jsx78("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 })
7852
7899
  ] }),
7853
- /* @__PURE__ */ jsx77(CopyIcon, { copied: copied === recipientId })
7900
+ /* @__PURE__ */ jsx78(CopyIcon, { copied: copied === recipientId })
7854
7901
  ]
7855
7902
  }
7856
7903
  ),
7857
- showRegenerate && /* @__PURE__ */ jsx77("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ jsx77(
7904
+ showRegenerate && /* @__PURE__ */ jsx78("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ jsx78(
7858
7905
  "button",
7859
7906
  {
7860
7907
  type: "button",
@@ -7872,7 +7919,7 @@ function DepositGeneratedView({
7872
7919
  setInvoiceStatus(null);
7873
7920
  },
7874
7921
  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",
7875
- children: /* @__PURE__ */ jsx77(
7922
+ children: /* @__PURE__ */ jsx78(
7876
7923
  "span",
7877
7924
  {
7878
7925
  className: cn("material-symbols-outlined text-icon-md", loading && "animate-spin"),
@@ -7885,7 +7932,7 @@ function DepositGeneratedView({
7885
7932
  }
7886
7933
 
7887
7934
  // src/web/components/deposit-pre-generation.tsx
7888
- import { jsx as jsx78, jsxs as jsxs64 } from "react/jsx-runtime";
7935
+ import { jsx as jsx79, jsxs as jsxs65 } from "react/jsx-runtime";
7889
7936
  var ACCOUNT_TITLES = {
7890
7937
  RGB: "RGB & Lightning",
7891
7938
  SPARK: "Spark",
@@ -7930,58 +7977,58 @@ function DepositPreGeneration({
7930
7977
  }) {
7931
7978
  const method = METHOD_META2[currentMethod];
7932
7979
  const isRgbOnchain = network === "onchain" && !isBtc;
7933
- return /* @__PURE__ */ jsxs64("div", { className: "space-y-3", children: [
7934
- showReceiveSummary && /* @__PURE__ */ jsxs64("div", { className: "rounded-2xl border border-white/8 bg-white/4 p-3", children: [
7935
- /* @__PURE__ */ jsx78("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
7936
- /* @__PURE__ */ jsxs64("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
7937
- /* @__PURE__ */ jsxs64("div", { className: "flex items-center justify-between gap-3", children: [
7938
- /* @__PURE__ */ jsx78("span", { className: "text-white/45", children: "Asset" }),
7939
- /* @__PURE__ */ jsx78("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
7980
+ return /* @__PURE__ */ jsxs65("div", { className: "space-y-3", children: [
7981
+ showReceiveSummary && /* @__PURE__ */ jsxs65("div", { className: "rounded-2xl border border-white/8 bg-white/4 p-3", children: [
7982
+ /* @__PURE__ */ jsx79("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
7983
+ /* @__PURE__ */ jsxs65("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
7984
+ /* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-3", children: [
7985
+ /* @__PURE__ */ jsx79("span", { className: "text-white/45", children: "Asset" }),
7986
+ /* @__PURE__ */ jsx79("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
7940
7987
  ] }),
7941
- /* @__PURE__ */ jsxs64("div", { className: "flex items-center justify-between gap-3", children: [
7942
- /* @__PURE__ */ jsx78("span", { className: "text-white/45", children: "Destination account" }),
7943
- /* @__PURE__ */ jsx78("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
7988
+ /* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-3", children: [
7989
+ /* @__PURE__ */ jsx79("span", { className: "text-white/45", children: "Destination account" }),
7990
+ /* @__PURE__ */ jsx79("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
7944
7991
  ] }),
7945
- /* @__PURE__ */ jsxs64("div", { className: "flex items-center justify-between gap-3", children: [
7946
- /* @__PURE__ */ jsx78("span", { className: "text-white/45", children: "Transfer method" }),
7947
- /* @__PURE__ */ jsx78("span", { className: "font-bold text-white", children: method.label })
7992
+ /* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-3", children: [
7993
+ /* @__PURE__ */ jsx79("span", { className: "text-white/45", children: "Transfer method" }),
7994
+ /* @__PURE__ */ jsx79("span", { className: "font-bold text-white", children: method.label })
7948
7995
  ] }),
7949
- /* @__PURE__ */ jsx78("p", { className: "text-tiny text-white/35", children: method.summary })
7996
+ /* @__PURE__ */ jsx79("p", { className: "text-tiny text-white/35", children: method.summary })
7950
7997
  ] })
7951
7998
  ] }),
7952
- channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-2.5 rounded-xl border bg-card p-3", children: [
7953
- /* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
7954
- /* @__PURE__ */ jsx78("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
7999
+ channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-2.5 rounded-xl border bg-card p-3", children: [
8000
+ /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
8001
+ /* @__PURE__ */ jsx79("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
7955
8002
  ] }),
7956
- showChannelWarning && /* @__PURE__ */ jsxs64(AlertBanner, { variant: "warning", children: [
7957
- /* @__PURE__ */ jsx78("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
7958
- /* @__PURE__ */ jsx78("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
8003
+ showChannelWarning && /* @__PURE__ */ jsxs65(AlertBanner, { variant: "warning", children: [
8004
+ /* @__PURE__ */ jsx79("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
8005
+ /* @__PURE__ */ jsx79("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
7959
8006
  ] }),
7960
- showLiquidityWarning && /* @__PURE__ */ jsxs64(AlertBanner, { variant: "warning", children: [
7961
- /* @__PURE__ */ jsx78("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
7962
- /* @__PURE__ */ jsxs64("p", { className: "text-tiny text-warning/70", children: [
8007
+ showLiquidityWarning && /* @__PURE__ */ jsxs65(AlertBanner, { variant: "warning", children: [
8008
+ /* @__PURE__ */ jsx79("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
8009
+ /* @__PURE__ */ jsxs65("p", { className: "text-tiny text-warning/70", children: [
7963
8010
  "No channels with inbound capacity for ",
7964
8011
  selectedAsset?.ticker ?? "this asset",
7965
8012
  "."
7966
8013
  ] })
7967
8014
  ] }),
7968
- isAutoGenerate && loading && /* @__PURE__ */ jsxs64("div", { className: "flex flex-col items-center gap-4 py-10", children: [
7969
- /* @__PURE__ */ jsx78("div", { className: cn("flex size-16 items-center justify-center rounded-2xl border", net.bg, net.border), children: /* @__PURE__ */ jsx78("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
7970
- /* @__PURE__ */ jsxs64("div", { className: "space-y-1 text-center", children: [
7971
- /* @__PURE__ */ jsxs64("p", { className: "text-sm font-bold text-muted-foreground", children: [
8015
+ isAutoGenerate && loading && /* @__PURE__ */ jsxs65("div", { className: "flex flex-col items-center gap-4 py-10", children: [
8016
+ /* @__PURE__ */ jsx79("div", { className: cn("flex size-16 items-center justify-center rounded-2xl border", net.bg, net.border), children: /* @__PURE__ */ jsx79("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
8017
+ /* @__PURE__ */ jsxs65("div", { className: "space-y-1 text-center", children: [
8018
+ /* @__PURE__ */ jsxs65("p", { className: "text-sm font-bold text-muted-foreground", children: [
7972
8019
  "Generating ",
7973
8020
  network === "lightning" ? "invoice" : "address",
7974
8021
  "..."
7975
8022
  ] }),
7976
- /* @__PURE__ */ jsxs64("p", { className: "text-xs text-white/30", children: [
8023
+ /* @__PURE__ */ jsxs65("p", { className: "text-xs text-white/30", children: [
7977
8024
  net.label,
7978
8025
  " network"
7979
8026
  ] })
7980
8027
  ] })
7981
8028
  ] }),
7982
- isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ jsxs64("div", { className: "space-y-1.5", children: [
7983
- /* @__PURE__ */ jsx78("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "RGB Asset ID - Optional" }),
7984
- /* @__PURE__ */ jsx78(
8029
+ isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ jsxs65("div", { className: "space-y-1.5", children: [
8030
+ /* @__PURE__ */ jsx79("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "RGB Asset ID - Optional" }),
8031
+ /* @__PURE__ */ jsx79(
7985
8032
  "input",
7986
8033
  {
7987
8034
  type: "text",
@@ -7993,15 +8040,15 @@ function DepositPreGeneration({
7993
8040
  className: "w-full rounded-xl border bg-white/5 px-3 py-2.5 font-mono text-sm text-white transition-all placeholder:text-white/20 focus:border-primary/50 focus:outline-none"
7994
8041
  }
7995
8042
  ),
7996
- /* @__PURE__ */ jsx78("p", { className: "text-xxs text-white/35", children: "Enter a specific asset ID to receive it, or leave empty to accept any RGB asset to this invoice." })
8043
+ /* @__PURE__ */ jsx79("p", { className: "text-xxs text-white/35", children: "Enter a specific asset ID to receive it, or leave empty to accept any RGB asset to this invoice." })
7997
8044
  ] }),
7998
- isRgbOnchain && /* @__PURE__ */ jsxs64("div", { className: "space-y-2.5 rounded-xl border bg-card p-3", children: [
7999
- /* @__PURE__ */ jsxs64("div", { className: "flex items-center justify-between gap-3", children: [
8000
- /* @__PURE__ */ jsxs64("div", { className: "min-w-0 flex-1", children: [
8001
- /* @__PURE__ */ jsx78("h4", { className: "text-xs font-bold text-white", children: usePrivacy ? "Blinded receive" : "Witness receive" }),
8002
- /* @__PURE__ */ jsx78("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Private - recommended" : "Simpler - less private" })
8045
+ isRgbOnchain && /* @__PURE__ */ jsxs65("div", { className: "space-y-2.5 rounded-xl border bg-card p-3", children: [
8046
+ /* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-3", children: [
8047
+ /* @__PURE__ */ jsxs65("div", { className: "min-w-0 flex-1", children: [
8048
+ /* @__PURE__ */ jsx79("h4", { className: "text-xs font-bold text-white", children: usePrivacy ? "Blinded receive" : "Witness receive" }),
8049
+ /* @__PURE__ */ jsx79("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Private - recommended" : "Simpler - less private" })
8003
8050
  ] }),
8004
- /* @__PURE__ */ jsx78(
8051
+ /* @__PURE__ */ jsx79(
8005
8052
  "button",
8006
8053
  {
8007
8054
  type: "button",
@@ -8011,7 +8058,7 @@ function DepositPreGeneration({
8011
8058
  usePrivacy ? "bg-primary" : "bg-white/10"
8012
8059
  ),
8013
8060
  onClick: () => setUsePrivacy(!usePrivacy),
8014
- children: /* @__PURE__ */ jsx78(
8061
+ children: /* @__PURE__ */ jsx79(
8015
8062
  "span",
8016
8063
  {
8017
8064
  className: cn(
@@ -8023,8 +8070,8 @@ function DepositPreGeneration({
8023
8070
  }
8024
8071
  )
8025
8072
  ] }),
8026
- /* @__PURE__ */ jsx78("p", { className: "text-tiny leading-relaxed text-white/45", children: usePrivacy ? "Blinded: the sender never sees which UTXO you receive into. Spends one of your colorable UTXOs as the receiving slot." : "Witness: the sender creates the receiving UTXO for you. No colorable UTXO needed, but the sender sees the receiving output." }),
8027
- usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ jsxs64(
8073
+ /* @__PURE__ */ jsx79("p", { className: "text-tiny leading-relaxed text-white/45", children: usePrivacy ? "Blinded: the sender never sees which UTXO you receive into. Spends one of your colorable UTXOs as the receiving slot." : "Witness: the sender creates the receiving UTXO for you. No colorable UTXO needed, but the sender sees the receiving output." }),
8074
+ usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ jsxs65(
8028
8075
  "div",
8029
8076
  {
8030
8077
  className: cn(
@@ -8032,26 +8079,26 @@ function DepositPreGeneration({
8032
8079
  colorableUtxoCount > 0 ? "border-success/20 bg-success/5 text-success/80" : "border-warning/20 bg-warning/5 text-warning/80"
8033
8080
  ),
8034
8081
  children: [
8035
- /* @__PURE__ */ jsx78("span", { className: "font-medium", children: "Available colorable UTXOs" }),
8036
- /* @__PURE__ */ jsx78("span", { className: "font-mono font-bold", children: colorableUtxoCount })
8082
+ /* @__PURE__ */ jsx79("span", { className: "font-medium", children: "Available colorable UTXOs" }),
8083
+ /* @__PURE__ */ jsx79("span", { className: "font-mono font-bold", children: colorableUtxoCount })
8037
8084
  ]
8038
8085
  }
8039
8086
  ),
8040
- usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ jsx78("p", { className: "text-tiny text-warning/70", children: "None available \u2014 create a colorable UTXO below to receive privately, or switch off privacy to use a witness receive." })
8087
+ usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ jsx79("p", { className: "text-tiny text-warning/70", children: "None available \u2014 create a colorable UTXO below to receive privately, or switch off privacy to use a witness receive." })
8041
8088
  ] }),
8042
- network === "onchain" && !isBtc && /* @__PURE__ */ jsxs64("div", { className: "space-y-1.5", children: [
8043
- /* @__PURE__ */ jsxs64("div", { className: "flex items-center justify-between", children: [
8044
- /* @__PURE__ */ jsxs64("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
8089
+ network === "onchain" && !isBtc && /* @__PURE__ */ jsxs65("div", { className: "space-y-1.5", children: [
8090
+ /* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between", children: [
8091
+ /* @__PURE__ */ jsxs65("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
8045
8092
  "Amount (",
8046
8093
  getUnitLabel(),
8047
8094
  ") - Optional"
8048
8095
  ] }),
8049
- selectedAsset && /* @__PURE__ */ jsxs64("span", { className: "text-xxs text-white/30", children: [
8096
+ selectedAsset && /* @__PURE__ */ jsxs65("span", { className: "text-xxs text-white/30", children: [
8050
8097
  selectedAsset.precision ?? 0,
8051
8098
  " decimals"
8052
8099
  ] })
8053
8100
  ] }),
8054
- /* @__PURE__ */ jsx78(
8101
+ /* @__PURE__ */ jsx79(
8055
8102
  "input",
8056
8103
  {
8057
8104
  type: "text",
@@ -8063,18 +8110,18 @@ function DepositPreGeneration({
8063
8110
  }
8064
8111
  )
8065
8112
  ] }),
8066
- needsColorableUtxos && /* @__PURE__ */ jsxs64(AlertBanner, { variant: "warning", children: [
8067
- /* @__PURE__ */ jsx78("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
8068
- /* @__PURE__ */ jsx78("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." })
8113
+ needsColorableUtxos && /* @__PURE__ */ jsxs65(AlertBanner, { variant: "warning", children: [
8114
+ /* @__PURE__ */ jsx79("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
8115
+ /* @__PURE__ */ jsx79("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." })
8069
8116
  ] }),
8070
- !isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ jsx78(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ jsxs64("span", { className: "flex items-center justify-center gap-2", children: [
8071
- /* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
8117
+ !isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ jsx79(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ jsxs65("span", { className: "flex items-center justify-center gap-2", children: [
8118
+ /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
8072
8119
  "Create Colorable UTXOs"
8073
- ] }) }) : /* @__PURE__ */ jsx78(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ jsxs64("span", { className: "flex items-center justify-center gap-2", children: [
8074
- /* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
8120
+ ] }) }) : /* @__PURE__ */ jsx79(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ jsxs65("span", { className: "flex items-center justify-center gap-2", children: [
8121
+ /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
8075
8122
  "Generating..."
8076
- ] }) : /* @__PURE__ */ jsxs64("span", { className: "flex items-center justify-center gap-2", children: [
8077
- /* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
8123
+ ] }) : /* @__PURE__ */ jsxs65("span", { className: "flex items-center justify-center gap-2", children: [
8124
+ /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
8078
8125
  "Generate Address"
8079
8126
  ] }) }))
8080
8127
  ] });
@@ -8082,7 +8129,7 @@ function DepositPreGeneration({
8082
8129
 
8083
8130
  // src/web/components/deposit-asset-selection.tsx
8084
8131
  import { useEffect as useEffect10, useState as useState16 } from "react";
8085
- import { jsx as jsx79, jsxs as jsxs65 } from "react/jsx-runtime";
8132
+ import { jsx as jsx80, jsxs as jsxs66 } from "react/jsx-runtime";
8086
8133
  var ADD_ASSET_SUBTITLE = {
8087
8134
  RGB: "RGB asset on Bitcoin",
8088
8135
  SPARK: "Spark-native asset",
@@ -8159,8 +8206,8 @@ function DepositAssetSelection({
8159
8206
  titleHoverClass: "group-hover:text-network-arkade"
8160
8207
  }
8161
8208
  ].filter((option) => option.enabled);
8162
- return /* @__PURE__ */ jsxs65("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
8163
- /* @__PURE__ */ jsx79("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ jsx79(
8209
+ return /* @__PURE__ */ jsxs66("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
8210
+ /* @__PURE__ */ jsx80("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ jsx80(
8164
8211
  Button,
8165
8212
  {
8166
8213
  type: "button",
@@ -8168,10 +8215,10 @@ function DepositAssetSelection({
8168
8215
  size: "icon-xl",
8169
8216
  onClick: () => setCurrentView("dashboard"),
8170
8217
  "aria-label": "Go back",
8171
- children: /* @__PURE__ */ jsx79(Icon, { name: "arrow_back", size: "xl" })
8218
+ children: /* @__PURE__ */ jsx80(Icon, { name: "arrow_back", size: "xl" })
8172
8219
  }
8173
8220
  ) }),
8174
- /* @__PURE__ */ jsx79("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ jsx79(
8221
+ /* @__PURE__ */ jsx80("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ jsx80(
8175
8222
  DotPagination,
8176
8223
  {
8177
8224
  count: 2,
@@ -8179,8 +8226,8 @@ function DepositAssetSelection({
8179
8226
  ariaLabel: "Deposit step 1 of 2: select asset"
8180
8227
  }
8181
8228
  ) }),
8182
- /* @__PURE__ */ jsx79("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ jsxs65("div", { className: "relative", children: [
8183
- /* @__PURE__ */ jsx79(
8229
+ /* @__PURE__ */ jsx80("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ jsxs66("div", { className: "relative", children: [
8230
+ /* @__PURE__ */ jsx80(
8184
8231
  Icon,
8185
8232
  {
8186
8233
  name: "search",
@@ -8188,7 +8235,7 @@ function DepositAssetSelection({
8188
8235
  className: "absolute left-3 top-1/2 -translate-y-1/2 text-white/30"
8189
8236
  }
8190
8237
  ),
8191
- /* @__PURE__ */ jsx79(
8238
+ /* @__PURE__ */ jsx80(
8192
8239
  "input",
8193
8240
  {
8194
8241
  autoFocus: true,
@@ -8201,8 +8248,8 @@ function DepositAssetSelection({
8201
8248
  }
8202
8249
  )
8203
8250
  ] }) }),
8204
- /* @__PURE__ */ jsxs65(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
8205
- btcAsset && /* @__PURE__ */ jsxs65(
8251
+ /* @__PURE__ */ jsxs66(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
8252
+ btcAsset && /* @__PURE__ */ jsxs66(
8206
8253
  "button",
8207
8254
  {
8208
8255
  type: "button",
@@ -8210,27 +8257,27 @@ function DepositAssetSelection({
8210
8257
  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",
8211
8258
  onClick: () => onSelectAsset(btcAsset),
8212
8259
  children: [
8213
- /* @__PURE__ */ jsx79(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
8214
- /* @__PURE__ */ jsxs65("div", { className: "min-w-0 flex-1 text-left", children: [
8215
- /* @__PURE__ */ jsx79("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
8216
- /* @__PURE__ */ jsx79("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
8260
+ /* @__PURE__ */ jsx80(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
8261
+ /* @__PURE__ */ jsxs66("div", { className: "min-w-0 flex-1 text-left", children: [
8262
+ /* @__PURE__ */ jsx80("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
8263
+ /* @__PURE__ */ jsx80("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
8217
8264
  ] }),
8218
- /* @__PURE__ */ jsxs65("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
8219
- /* @__PURE__ */ jsx79(NetworkBadge, { network: "L1", size: "sm" }),
8220
- /* @__PURE__ */ jsx79(NetworkBadge, { network: "LN", size: "sm" }),
8221
- isSparkConnected && /* @__PURE__ */ jsx79(NetworkBadge, { network: "Spark", size: "sm" }),
8222
- isArkadeConnected && /* @__PURE__ */ jsx79(NetworkBadge, { network: "Arkade", size: "sm" })
8265
+ /* @__PURE__ */ jsxs66("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
8266
+ /* @__PURE__ */ jsx80(NetworkBadge, { network: "L1", size: "sm" }),
8267
+ /* @__PURE__ */ jsx80(NetworkBadge, { network: "LN", size: "sm" }),
8268
+ isSparkConnected && /* @__PURE__ */ jsx80(NetworkBadge, { network: "Spark", size: "sm" }),
8269
+ isArkadeConnected && /* @__PURE__ */ jsx80(NetworkBadge, { network: "Arkade", size: "sm" })
8223
8270
  ] }),
8224
- /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8271
+ /* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8225
8272
  ]
8226
8273
  }
8227
8274
  ),
8228
- noResults ? /* @__PURE__ */ jsxs65("div", { className: "py-8 text-center text-sm text-white/30", children: [
8275
+ noResults ? /* @__PURE__ */ jsxs66("div", { className: "py-8 text-center text-sm text-white/30", children: [
8229
8276
  'No assets match "',
8230
8277
  searchQuery,
8231
8278
  '"'
8232
- ] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ jsxs65("div", { className: "space-y-1.5 pt-1", children: [
8233
- /* @__PURE__ */ jsxs65(
8279
+ ] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ jsxs66("div", { className: "space-y-1.5 pt-1", children: [
8280
+ /* @__PURE__ */ jsxs66(
8234
8281
  "button",
8235
8282
  {
8236
8283
  type: "button",
@@ -8243,17 +8290,17 @@ function DepositAssetSelection({
8243
8290
  isSearching && "cursor-default"
8244
8291
  ),
8245
8292
  children: [
8246
- /* @__PURE__ */ jsx79("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
8247
- /* @__PURE__ */ jsx79("span", { className: "inline-flex size-5 items-center justify-center rounded-full bg-white/10 text-tiny font-bold text-white/70", children: ownedAssetsCount }),
8248
- /* @__PURE__ */ jsx79("div", { className: "flex-1" }),
8249
- !isSearching && /* @__PURE__ */ jsx79(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
8293
+ /* @__PURE__ */ jsx80("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
8294
+ /* @__PURE__ */ jsx80("span", { className: "inline-flex size-5 items-center justify-center rounded-full bg-white/10 text-tiny font-bold text-white/70", children: ownedAssetsCount }),
8295
+ /* @__PURE__ */ jsx80("div", { className: "flex-1" }),
8296
+ !isSearching && /* @__PURE__ */ jsx80(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
8250
8297
  ]
8251
8298
  }
8252
8299
  ),
8253
- showOwnedAssets && /* @__PURE__ */ jsx79("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
8300
+ showOwnedAssets && /* @__PURE__ */ jsx80("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
8254
8301
  const protocolBadge = asset.accountId ? PROTOCOL_BADGE[asset.accountId] : null;
8255
8302
  const balance = asset.balance ?? 0;
8256
- return /* @__PURE__ */ jsxs65(
8303
+ return /* @__PURE__ */ jsxs66(
8257
8304
  "button",
8258
8305
  {
8259
8306
  type: "button",
@@ -8261,11 +8308,11 @@ function DepositAssetSelection({
8261
8308
  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",
8262
8309
  onClick: () => onSelectAsset(asset),
8263
8310
  children: [
8264
- /* @__PURE__ */ jsx79(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
8265
- /* @__PURE__ */ jsxs65("div", { className: "min-w-0 flex-1 text-left", children: [
8266
- /* @__PURE__ */ jsxs65("div", { className: "flex min-w-0 items-center gap-1.5", children: [
8267
- /* @__PURE__ */ jsx79("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
8268
- protocolBadge && /* @__PURE__ */ jsx79(
8311
+ /* @__PURE__ */ jsx80(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
8312
+ /* @__PURE__ */ jsxs66("div", { className: "min-w-0 flex-1 text-left", children: [
8313
+ /* @__PURE__ */ jsxs66("div", { className: "flex min-w-0 items-center gap-1.5", children: [
8314
+ /* @__PURE__ */ jsx80("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
8315
+ protocolBadge && /* @__PURE__ */ jsx80(
8269
8316
  "span",
8270
8317
  {
8271
8318
  className: cn(
@@ -8276,36 +8323,36 @@ function DepositAssetSelection({
8276
8323
  }
8277
8324
  )
8278
8325
  ] }),
8279
- /* @__PURE__ */ jsx79("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
8326
+ /* @__PURE__ */ jsx80("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
8280
8327
  ] }),
8281
- balance > 0 && /* @__PURE__ */ jsxs65("div", { className: "flex-shrink-0 text-right", children: [
8282
- /* @__PURE__ */ jsx79("div", { className: "font-mono text-xs font-bold text-white", children: formatAssetBalance(asset) }),
8283
- /* @__PURE__ */ jsx79("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
8328
+ balance > 0 && /* @__PURE__ */ jsxs66("div", { className: "flex-shrink-0 text-right", children: [
8329
+ /* @__PURE__ */ jsx80("div", { className: "font-mono text-xs font-bold text-white", children: formatAssetBalance(asset) }),
8330
+ /* @__PURE__ */ jsx80("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
8284
8331
  ] }),
8285
- /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-sm text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8332
+ /* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-sm text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8286
8333
  ]
8287
8334
  },
8288
8335
  asset.asset_id
8289
8336
  );
8290
8337
  }) })
8291
8338
  ] }) : null,
8292
- !searchQuery && /* @__PURE__ */ jsx79("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ jsxs65(
8339
+ !searchQuery && /* @__PURE__ */ jsx80("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ jsxs66(
8293
8340
  "button",
8294
8341
  {
8295
8342
  type: "button",
8296
8343
  onClick: () => setCurrentView("bridge"),
8297
8344
  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",
8298
8345
  children: [
8299
- /* @__PURE__ */ jsx79("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
8300
- /* @__PURE__ */ jsxs65("div", { className: "flex-1 text-left", children: [
8301
- /* @__PURE__ */ jsx79("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
8302
- /* @__PURE__ */ jsx79("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
8346
+ /* @__PURE__ */ jsx80("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
8347
+ /* @__PURE__ */ jsxs66("div", { className: "flex-1 text-left", children: [
8348
+ /* @__PURE__ */ jsx80("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
8349
+ /* @__PURE__ */ jsx80("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
8303
8350
  ] }),
8304
- /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
8351
+ /* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
8305
8352
  ]
8306
8353
  }
8307
8354
  ) }),
8308
- !searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ jsx79("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ jsxs65(
8355
+ !searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ jsx80("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ jsxs66(
8309
8356
  "button",
8310
8357
  {
8311
8358
  type: "button",
@@ -8313,27 +8360,27 @@ function DepositAssetSelection({
8313
8360
  onClick: () => setShowAddAssetModal(true),
8314
8361
  className: "group flex w-full items-center gap-3 rounded-2xl border border-white/8 bg-white/3 p-3 transition-all hover:border-border hover:bg-accent",
8315
8362
  children: [
8316
- /* @__PURE__ */ jsx79("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/15", children: /* @__PURE__ */ jsx79(Icon, { name: "add", size: "md", className: "text-primary" }) }),
8317
- /* @__PURE__ */ jsxs65("div", { className: "flex-1 text-left", children: [
8318
- /* @__PURE__ */ jsx79("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Add an asset" }),
8319
- /* @__PURE__ */ jsxs65("p", { className: "text-xxs leading-tight text-white/40", children: [
8363
+ /* @__PURE__ */ jsx80("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/15", children: /* @__PURE__ */ jsx80(Icon, { name: "add", size: "md", className: "text-primary" }) }),
8364
+ /* @__PURE__ */ jsxs66("div", { className: "flex-1 text-left", children: [
8365
+ /* @__PURE__ */ jsx80("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Add an asset" }),
8366
+ /* @__PURE__ */ jsxs66("p", { className: "text-xxs leading-tight text-white/40", children: [
8320
8367
  "Receive a new ",
8321
8368
  newAssetOptions.map((o) => o.ticker).join(", "),
8322
8369
  " asset"
8323
8370
  ] })
8324
8371
  ] }),
8325
- /* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
8372
+ /* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
8326
8373
  ]
8327
8374
  }
8328
8375
  ) })
8329
8376
  ] }),
8330
- /* @__PURE__ */ jsx79(
8377
+ /* @__PURE__ */ jsx80(
8331
8378
  BottomSheet,
8332
8379
  {
8333
8380
  open: showAddAssetModal,
8334
8381
  title: "Add an asset",
8335
8382
  onClose: () => setShowAddAssetModal(false),
8336
- children: /* @__PURE__ */ jsx79("div", { className: "space-y-2", children: newAssetOptions.map((option) => /* @__PURE__ */ jsxs65(
8383
+ children: /* @__PURE__ */ jsx80("div", { className: "space-y-2", children: newAssetOptions.map((option) => /* @__PURE__ */ jsxs66(
8337
8384
  "button",
8338
8385
  {
8339
8386
  type: "button",
@@ -8347,12 +8394,12 @@ function DepositAssetSelection({
8347
8394
  handleAddNewAsset(option.account);
8348
8395
  },
8349
8396
  children: [
8350
- /* @__PURE__ */ jsx79(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8351
- /* @__PURE__ */ jsxs65("div", { className: "min-w-0 flex-1", children: [
8352
- /* @__PURE__ */ jsx79("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
8353
- /* @__PURE__ */ jsx79("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
8397
+ /* @__PURE__ */ jsx80(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8398
+ /* @__PURE__ */ jsxs66("div", { className: "min-w-0 flex-1", children: [
8399
+ /* @__PURE__ */ jsx80("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
8400
+ /* @__PURE__ */ jsx80("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
8354
8401
  ] }),
8355
- /* @__PURE__ */ jsx79(Icon, { name: "add", size: "sm", className: "text-white/30 transition-colors group-hover:text-white/60" })
8402
+ /* @__PURE__ */ jsx80(Icon, { name: "add", size: "sm", className: "text-white/30 transition-colors group-hover:text-white/60" })
8356
8403
  ]
8357
8404
  },
8358
8405
  option.account
@@ -8363,7 +8410,7 @@ function DepositAssetSelection({
8363
8410
  }
8364
8411
 
8365
8412
  // src/web/components/deposit-invoice-generation.tsx
8366
- import { jsx as jsx80, jsxs as jsxs66 } from "react/jsx-runtime";
8413
+ import { jsx as jsx81, jsxs as jsxs67 } from "react/jsx-runtime";
8367
8414
  var ACCOUNT_TITLES2 = {
8368
8415
  RGB: "RGB & Lightning",
8369
8416
  SPARK: "Spark",
@@ -8518,7 +8565,7 @@ function DepositInvoiceGeneration({
8518
8565
  if (nextMethod) applyMethodSelection(account, nextMethod);
8519
8566
  };
8520
8567
  if (depositDetected) {
8521
- return /* @__PURE__ */ jsx80(
8568
+ return /* @__PURE__ */ jsx81(
8522
8569
  DepositSuccessScreen,
8523
8570
  {
8524
8571
  handleDone,
@@ -8535,15 +8582,15 @@ function DepositInvoiceGeneration({
8535
8582
  const showChannelWarning = selectedAccount === "RGB" && network === "lightning" && !channelsLoading && channels.length === 0 && !isSparkConnected;
8536
8583
  const showLiquidityWarning = !isSparkLightning && network === "lightning" && maxDepositAmount === 0 && !channelsLoading && !isBtc;
8537
8584
  const isNewRgbAsset = isNewAsset && assetFamily === "RGB";
8538
- return /* @__PURE__ */ jsxs66("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
8539
- /* @__PURE__ */ jsx80("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ jsx80(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ jsx80(Icon, { name: "arrow_back", size: "xl" }) }) }),
8585
+ return /* @__PURE__ */ jsxs67("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
8586
+ /* @__PURE__ */ jsx81("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ jsx81(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ jsx81(Icon, { name: "arrow_back", size: "xl" }) }) }),
8540
8587
  (() => {
8541
8588
  const hideDestinationRail = isNewAsset && (network === "spark" || network === "arkade");
8542
8589
  if (hideDestinationRail) return null;
8543
- return /* @__PURE__ */ jsx80("div", { className: "flex-shrink-0 border-b border-border bg-background px-4 py-2", children: /* @__PURE__ */ jsxs66("div", { className: "space-y-2", children: [
8544
- /* @__PURE__ */ jsxs66("div", { children: [
8545
- /* @__PURE__ */ jsx80("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
8546
- /* @__PURE__ */ jsx80("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ jsx80(
8590
+ return /* @__PURE__ */ jsx81("div", { className: "flex-shrink-0 border-b border-border bg-background px-4 py-2", children: /* @__PURE__ */ jsxs67("div", { className: "space-y-2", children: [
8591
+ /* @__PURE__ */ jsxs67("div", { children: [
8592
+ /* @__PURE__ */ jsx81("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
8593
+ /* @__PURE__ */ jsx81("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ jsx81(
8547
8594
  AccountChoiceChip,
8548
8595
  {
8549
8596
  account,
@@ -8568,9 +8615,9 @@ function DepositInvoiceGeneration({
8568
8615
  account
8569
8616
  )) })
8570
8617
  ] }),
8571
- !isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ jsxs66("div", { children: [
8572
- /* @__PURE__ */ jsx80("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
8573
- /* @__PURE__ */ jsx80("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: methodOptions.map(({ method, enabled, disabledReason }) => /* @__PURE__ */ jsx80(
8618
+ !isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ jsxs67("div", { children: [
8619
+ /* @__PURE__ */ jsx81("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
8620
+ /* @__PURE__ */ jsx81("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: methodOptions.map(({ method, enabled, disabledReason }) => /* @__PURE__ */ jsx81(
8574
8621
  MethodChoiceChip,
8575
8622
  {
8576
8623
  method,
@@ -8584,7 +8631,7 @@ function DepositInvoiceGeneration({
8584
8631
  ] })
8585
8632
  ] }) });
8586
8633
  })(),
8587
- /* @__PURE__ */ jsx80(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ jsx80(
8634
+ /* @__PURE__ */ jsx81(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ jsx81(
8588
8635
  BtcUnifiedReceive,
8589
8636
  {
8590
8637
  btcSelectedAccount,
@@ -8604,8 +8651,8 @@ function DepositInvoiceGeneration({
8604
8651
  setAccountReceiveResult,
8605
8652
  handleDone
8606
8653
  }
8607
- ) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ jsxs66("div", { className: "flex flex-col items-center gap-4 py-10", children: [
8608
- /* @__PURE__ */ jsx80(
8654
+ ) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ jsxs67("div", { className: "flex flex-col items-center gap-4 py-10", children: [
8655
+ /* @__PURE__ */ jsx81(
8609
8656
  "div",
8610
8657
  {
8611
8658
  className: cn(
@@ -8613,7 +8660,7 @@ function DepositInvoiceGeneration({
8613
8660
  NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].bg,
8614
8661
  NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].border
8615
8662
  ),
8616
- children: /* @__PURE__ */ jsx80(
8663
+ children: /* @__PURE__ */ jsx81(
8617
8664
  "span",
8618
8665
  {
8619
8666
  className: cn(
@@ -8625,11 +8672,11 @@ function DepositInvoiceGeneration({
8625
8672
  )
8626
8673
  }
8627
8674
  ),
8628
- /* @__PURE__ */ jsxs66("div", { className: "space-y-1 text-center", children: [
8629
- /* @__PURE__ */ jsx80("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
8630
- /* @__PURE__ */ jsx80("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
8675
+ /* @__PURE__ */ jsxs67("div", { className: "space-y-1 text-center", children: [
8676
+ /* @__PURE__ */ jsx81("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
8677
+ /* @__PURE__ */ jsx81("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
8631
8678
  ] })
8632
- ] }) : !address ? /* @__PURE__ */ jsx80(
8679
+ ] }) : !address ? /* @__PURE__ */ jsx81(
8633
8680
  DepositPreGeneration,
8634
8681
  {
8635
8682
  selectedAsset,
@@ -8653,7 +8700,7 @@ function DepositInvoiceGeneration({
8653
8700
  onOpenCreateUtxos,
8654
8701
  showReceiveSummary: !isNewRgbAsset
8655
8702
  }
8656
- ) : /* @__PURE__ */ jsx80(
8703
+ ) : /* @__PURE__ */ jsx81(
8657
8704
  DepositGeneratedView,
8658
8705
  {
8659
8706
  network,
@@ -8768,6 +8815,7 @@ export {
8768
8815
  NetworkBadge,
8769
8816
  NetworkInfoDisclosure,
8770
8817
  NetworkStatusChip,
8818
+ NostrNetworkIcon,
8771
8819
  NumberInput,
8772
8820
  OptionSelector,
8773
8821
  PageHeader,
@@ -8802,6 +8850,7 @@ export {
8802
8850
  StepperNumberInput,
8803
8851
  SwapInputCard,
8804
8852
  Switch,
8853
+ SwitchRow,
8805
8854
  Tabs,
8806
8855
  TabsContent,
8807
8856
  TabsList,