kaleido-ui 0.1.109 → 0.1.111

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.
@@ -55,6 +55,7 @@ __export(web_exports, {
55
55
  ArkadeNetworkIcon: () => ArkadeNetworkIcon,
56
56
  AssetCard: () => AssetCard,
57
57
  AssetIcon: () => AssetIcon,
58
+ AssetInfoChip: () => AssetInfoChip,
58
59
  AssetSelector: () => AssetSelector,
59
60
  BalanceBreakdown: () => BalanceBreakdown,
60
61
  BottomNav: () => BottomNav,
@@ -96,6 +97,7 @@ __export(web_exports, {
96
97
  HeadlineGradient: () => HeadlineGradient,
97
98
  Icon: () => Icon,
98
99
  Icons: () => Icons,
100
+ InfoChip: () => InfoChip,
99
101
  InfoPanel: () => InfoPanel,
100
102
  InlineAction: () => InlineAction,
101
103
  InlineSelector: () => InlineSelector,
@@ -112,6 +114,7 @@ __export(web_exports, {
112
114
  MobileHeroAnimation: () => MobileHeroAnimation,
113
115
  NETWORK_CONFIG: () => NETWORK_CONFIG,
114
116
  NetworkBadge: () => NetworkBadge,
117
+ NetworkInfoChip: () => NetworkInfoChip,
115
118
  NetworkInfoDisclosure: () => NetworkInfoDisclosure,
116
119
  NetworkStatusChip: () => NetworkStatusChip,
117
120
  NostrNetworkIcon: () => NostrNetworkIcon,
@@ -3858,24 +3861,37 @@ var chipIdleClass = "bg-surface-card text-text-dimmed hover:text-white/75";
3858
3861
  function AssetSelectorNetworkMark({ network }) {
3859
3862
  return network.iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("img", { src: network.iconUrl, alt: "", className: "size-4 shrink-0 rounded-full" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-full bg-muted text-xxs font-bold uppercase leading-none text-muted-foreground", children: network.label.charAt(0) });
3860
3863
  }
3864
+ var NETWORK_STACK_VISIBLE = 3;
3861
3865
  function AssetSelectorNetworkFilterTrigger({
3862
3866
  activeNetworkOption,
3867
+ networks,
3863
3868
  open,
3864
3869
  onClick
3865
3870
  }) {
3871
+ const visibleNetworks = networks.slice(0, NETWORK_STACK_VISIBLE);
3872
+ const overflowCount = networks.length - visibleNetworks.length;
3866
3873
  return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3867
3874
  "button",
3868
3875
  {
3869
3876
  type: "button",
3870
3877
  onClick,
3878
+ "aria-label": activeNetworkOption ? void 0 : "All networks",
3871
3879
  className: cn(
3872
3880
  chipBaseClass,
3873
- "flex items-center gap-1.5 py-1.5 pl-2 pr-2.5",
3881
+ "flex items-center gap-1.5 py-1 pl-1.5 pr-2.5",
3874
3882
  activeNetworkOption || open ? chipActiveClass : chipIdleClass
3875
3883
  ),
3876
3884
  children: [
3877
- activeNetworkOption && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AssetSelectorNetworkMark, { network: activeNetworkOption }),
3878
- activeNetworkOption ? activeNetworkOption.label : "All",
3885
+ activeNetworkOption ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3886
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AssetSelectorNetworkMark, { network: activeNetworkOption }),
3887
+ activeNetworkOption.label
3888
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "flex items-center -space-x-1.5", "aria-hidden": "true", children: [
3889
+ visibleNetworks.map((network) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "rounded-full ring-2 ring-card", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AssetSelectorNetworkMark, { network }) }, network.id)),
3890
+ overflowCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-full bg-muted text-xxs font-bold leading-none text-muted-foreground ring-2 ring-card", children: [
3891
+ "+",
3892
+ overflowCount
3893
+ ] })
3894
+ ] }),
3879
3895
  /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3880
3896
  Icon,
3881
3897
  {
@@ -3951,6 +3967,7 @@ function AssetSelector({
3951
3967
  AssetSelectorNetworkFilterTrigger,
3952
3968
  {
3953
3969
  activeNetworkOption,
3970
+ networks,
3954
3971
  open: networkMenuOpen,
3955
3972
  onClick: () => setNetworkMenuOpen((value) => !value)
3956
3973
  }
@@ -5597,7 +5614,6 @@ function PageHeader({
5597
5614
  subtitle,
5598
5615
  right,
5599
5616
  className,
5600
- titleAlign = "center",
5601
5617
  onBack,
5602
5618
  backLabel = "Go back",
5603
5619
  borderClassName
@@ -5614,33 +5630,44 @@ function PageHeader({
5614
5630
  children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Icon, { name: "arrow_back", size: "xl" })
5615
5631
  }
5616
5632
  ) : null;
5617
- const resolvedLeft = backButton && left ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex min-w-0 items-center gap-2", children: [
5618
- backButton,
5619
- left
5620
- ] }) : backButton ?? left;
5621
- const titleBlock = title ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: cn("min-w-0", titleAlign === "center" ? "max-w-xs text-center" : "text-left"), children: [
5633
+ const titleBlock = title ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "min-w-0 text-left", children: [
5622
5634
  /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "truncate font-bold text-body text-foreground", children: title }),
5623
5635
  subtitle && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mt-1 truncate text-xs text-muted-foreground", children: subtitle })
5624
5636
  ] }) : null;
5625
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("header", { className: cn(
5637
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("header", { className: cn(
5626
5638
  "sticky top-0 z-[var(--z-header)] flex min-h-14 shrink-0 items-center bg-background px-4 py-2 shadow-header backdrop-blur-xl",
5627
5639
  borderClassName && "border-b",
5628
5640
  borderClassName,
5629
5641
  className
5630
- ), children: title && titleAlign === "start" ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
5631
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
5632
- resolvedLeft,
5633
- titleBlock
5634
- ] }),
5635
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "ml-3 flex shrink-0 items-center justify-end gap-2", children: right })
5636
- ] }) : title ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
5637
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "flex min-w-0 flex-1 items-center", children: resolvedLeft }),
5638
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "shrink-0", children: titleBlock }),
5639
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "flex min-w-0 flex-1 items-center justify-end gap-2", children: right })
5640
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
5641
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "flex shrink-0 items-center", children: resolvedLeft }),
5642
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "ml-auto flex min-w-0 items-center justify-end gap-2", children: right })
5643
- ] }) });
5642
+ ), children: [
5643
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
5644
+ "div",
5645
+ {
5646
+ "data-slot": "page-header-leading",
5647
+ className: cn(
5648
+ "flex min-w-0 items-center",
5649
+ title ? "flex-1 gap-3" : "shrink-0"
5650
+ ),
5651
+ children: [
5652
+ title && left,
5653
+ backButton,
5654
+ !title && left,
5655
+ titleBlock
5656
+ ]
5657
+ }
5658
+ ),
5659
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5660
+ "div",
5661
+ {
5662
+ "data-slot": "page-header-actions",
5663
+ className: cn(
5664
+ "flex min-w-0 items-center justify-end gap-2",
5665
+ title ? "ml-3 shrink-0" : "ml-auto"
5666
+ ),
5667
+ children: right
5668
+ }
5669
+ )
5670
+ ] });
5644
5671
  }
5645
5672
 
5646
5673
  // src/web/components/extension-page-frame.tsx
@@ -5878,9 +5905,157 @@ function InfoPanel({
5878
5905
  ] }) });
5879
5906
  }
5880
5907
 
5908
+ // src/web/components/info-chip.tsx
5909
+ var import_jsx_runtime60 = require("react/jsx-runtime");
5910
+ var defaultStatusLabel = {
5911
+ success: "Success",
5912
+ warning: "Warning",
5913
+ danger: "Error",
5914
+ info: "Info"
5915
+ };
5916
+ var leadingToneClass = {
5917
+ success: "bg-success/10 text-success",
5918
+ warning: "bg-warning/10 text-warning",
5919
+ danger: "bg-danger/10 text-danger",
5920
+ info: "bg-info/10 text-info"
5921
+ };
5922
+ var statusToneClass = {
5923
+ success: "border-success/25 bg-success/10 text-success",
5924
+ warning: "border-warning/25 bg-warning/10 text-warning",
5925
+ danger: "border-danger/25 bg-danger/10 text-danger",
5926
+ info: "border-info/25 bg-info/10 text-info"
5927
+ };
5928
+ var statusDotClass = {
5929
+ success: "bg-success",
5930
+ warning: "bg-warning",
5931
+ danger: "bg-danger",
5932
+ info: "bg-info"
5933
+ };
5934
+ function InfoChip({
5935
+ leading,
5936
+ label,
5937
+ value,
5938
+ status,
5939
+ statusLabel,
5940
+ onEdit,
5941
+ editLabel,
5942
+ editDisabled,
5943
+ className,
5944
+ valueClassName,
5945
+ "data-testid": dataTestId,
5946
+ "data-info-kind": dataInfoKind
5947
+ }) {
5948
+ const readableStatus = status ? statusLabel ?? defaultStatusLabel[status] : null;
5949
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
5950
+ "div",
5951
+ {
5952
+ "data-slot": "info-chip",
5953
+ "data-status": status,
5954
+ "data-info-kind": dataInfoKind,
5955
+ "data-testid": dataTestId,
5956
+ className: cn(
5957
+ "flex w-full max-w-full items-center gap-3 rounded-xl border border-white/10 bg-surface-card px-3 py-2.5",
5958
+ className
5959
+ ),
5960
+ children: [
5961
+ leading && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5962
+ "span",
5963
+ {
5964
+ "aria-hidden": "true",
5965
+ className: cn(
5966
+ "flex size-9 shrink-0 items-center justify-center rounded-full bg-accent text-muted-foreground [&_svg]:size-icon-lg",
5967
+ status && leadingToneClass[status]
5968
+ ),
5969
+ children: leading
5970
+ }
5971
+ ),
5972
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("dl", { className: "min-w-0 flex-1", children: [
5973
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("dt", { className: "truncate text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: label }),
5974
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("dd", { className: "mt-0.5 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1", children: [
5975
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5976
+ "span",
5977
+ {
5978
+ className: cn(
5979
+ "min-w-0 max-w-full [overflow-wrap:anywhere] text-sm font-semibold leading-5 text-foreground",
5980
+ valueClassName
5981
+ ),
5982
+ children: value
5983
+ }
5984
+ ),
5985
+ status && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
5986
+ "span",
5987
+ {
5988
+ className: cn(
5989
+ "inline-flex max-w-full items-center gap-1.5 rounded-full border px-2 py-0.5 text-xxs font-bold leading-4",
5990
+ statusToneClass[status]
5991
+ ),
5992
+ children: [
5993
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { "aria-hidden": "true", className: cn("size-1.5 shrink-0 rounded-full", statusDotClass[status]) }),
5994
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "truncate", children: readableStatus })
5995
+ ]
5996
+ }
5997
+ )
5998
+ ] })
5999
+ ] }),
6000
+ onEdit && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6001
+ Button,
6002
+ {
6003
+ type: "button",
6004
+ variant: "ghost",
6005
+ size: "icon-lg",
6006
+ onClick: onEdit,
6007
+ disabled: editDisabled,
6008
+ "aria-label": editLabel,
6009
+ title: editLabel,
6010
+ className: "shrink-0",
6011
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: "edit", size: "sm", "aria-hidden": "true" })
6012
+ }
6013
+ )
6014
+ ]
6015
+ }
6016
+ );
6017
+ }
6018
+ function NetworkInfoChip({
6019
+ network,
6020
+ label = "Network",
6021
+ value = network,
6022
+ iconBasePath,
6023
+ ...infoChipProps
6024
+ }) {
6025
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6026
+ InfoChip,
6027
+ {
6028
+ ...infoChipProps,
6029
+ "data-info-kind": "network",
6030
+ leading: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(NetworkBadge, { network, iconBasePath, size: "md" }),
6031
+ label,
6032
+ value
6033
+ }
6034
+ );
6035
+ }
6036
+ function AssetInfoChip({
6037
+ ticker,
6038
+ label = "Asset",
6039
+ value = ticker,
6040
+ logoUri,
6041
+ cdnBaseUrl,
6042
+ ...infoChipProps
6043
+ }) {
6044
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6045
+ InfoChip,
6046
+ {
6047
+ ...infoChipProps,
6048
+ "data-info-kind": "asset",
6049
+ leading: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(AssetIcon, { ticker, logoUri, cdnBaseUrl, size: 28 }),
6050
+ label,
6051
+ value
6052
+ }
6053
+ );
6054
+ }
6055
+
5881
6056
  // src/web/components/error-boundary.tsx
5882
6057
  var import_react12 = require("react");
5883
- var import_jsx_runtime60 = require("react/jsx-runtime");
6058
+ var import_jsx_runtime61 = require("react/jsx-runtime");
5884
6059
  var ErrorBoundary = class extends import_react12.Component {
5885
6060
  constructor(props) {
5886
6061
  super(props);
@@ -5894,11 +6069,11 @@ var ErrorBoundary = class extends import_react12.Component {
5894
6069
  }
5895
6070
  render() {
5896
6071
  if (this.state.hasError) {
5897
- return this.props.fallback ?? /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
5898
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
5899
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
5900
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
5901
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6072
+ return this.props.fallback ?? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
6073
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
6074
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
6075
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
6076
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5902
6077
  "button",
5903
6078
  {
5904
6079
  onClick: () => {
@@ -5916,7 +6091,7 @@ var ErrorBoundary = class extends import_react12.Component {
5916
6091
  };
5917
6092
 
5918
6093
  // src/web/components/recovery-phrase-card.tsx
5919
- var import_jsx_runtime61 = require("react/jsx-runtime");
6094
+ var import_jsx_runtime62 = require("react/jsx-runtime");
5920
6095
  function RecoveryPhraseCard({
5921
6096
  words,
5922
6097
  revealed = false,
@@ -5927,10 +6102,10 @@ function RecoveryPhraseCard({
5927
6102
  className
5928
6103
  }) {
5929
6104
  const hasWords = words.length > 0;
5930
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("section", { className: cn("space-y-2", className), children: [
5931
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center justify-between px-0.5", children: [
5932
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
5933
- hasWords && revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6105
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("section", { className: cn("space-y-2", className), children: [
6106
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center justify-between px-0.5", children: [
6107
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
6108
+ hasWords && revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
5934
6109
  Button,
5935
6110
  {
5936
6111
  type: "button",
@@ -5939,27 +6114,27 @@ function RecoveryPhraseCard({
5939
6114
  onClick: () => onRevealChange(!revealed),
5940
6115
  className: "h-auto rounded-lg px-2 py-1 text-xs text-muted-foreground hover:text-white",
5941
6116
  children: [
5942
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: "visibility_off", className: "text-icon-md" }),
6117
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: "visibility_off", className: "text-icon-md" }),
5943
6118
  "Hide"
5944
6119
  ]
5945
6120
  }
5946
6121
  )
5947
6122
  ] }),
5948
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "relative", children: [
5949
- hasWords ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6123
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "relative", children: [
6124
+ hasWords ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5950
6125
  "div",
5951
6126
  {
5952
6127
  className: cn(
5953
6128
  "grid grid-cols-3 gap-2 transition-all duration-300",
5954
6129
  !revealed && "pointer-events-none select-none blur-sm"
5955
6130
  ),
5956
- children: words.map((word, index) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
5957
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
5958
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "font-mono text-sm text-white", children: word })
6131
+ children: words.map((word, index) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
6132
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
6133
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "font-mono text-sm text-white", children: word })
5959
6134
  ] }, `${index}-${word}`))
5960
6135
  }
5961
- ) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "rounded-xl bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
5962
- hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6136
+ ) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "rounded-xl bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
6137
+ hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
5963
6138
  Button,
5964
6139
  {
5965
6140
  type: "button",
@@ -5967,13 +6142,13 @@ function RecoveryPhraseCard({
5967
6142
  size: "sm",
5968
6143
  onClick: () => onRevealChange(true),
5969
6144
  children: [
5970
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
6145
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
5971
6146
  "Tap to reveal"
5972
6147
  ]
5973
6148
  }
5974
6149
  ) })
5975
6150
  ] }),
5976
- hasWords && revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6151
+ hasWords && revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
5977
6152
  Button,
5978
6153
  {
5979
6154
  type: "button",
@@ -5982,7 +6157,7 @@ function RecoveryPhraseCard({
5982
6157
  onClick: onCopy,
5983
6158
  className: "w-full",
5984
6159
  children: [
5985
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
6160
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
5986
6161
  "Copy to clipboard"
5987
6162
  ]
5988
6163
  }
@@ -5991,7 +6166,7 @@ function RecoveryPhraseCard({
5991
6166
  }
5992
6167
 
5993
6168
  // src/web/components/settings-selector-row.tsx
5994
- var import_jsx_runtime62 = require("react/jsx-runtime");
6169
+ var import_jsx_runtime63 = require("react/jsx-runtime");
5995
6170
  function SettingsSelectorRow({
5996
6171
  icon,
5997
6172
  title,
@@ -6000,9 +6175,9 @@ function SettingsSelectorRow({
6000
6175
  className,
6001
6176
  iconClassName
6002
6177
  }) {
6003
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: cn("flex items-start justify-between gap-3 rounded-2xl bg-card p-5", className), children: [
6004
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
6005
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6178
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: cn("flex items-start justify-between gap-3 rounded-2xl bg-card p-5", className), children: [
6179
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
6180
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6006
6181
  "div",
6007
6182
  {
6008
6183
  className: cn(
@@ -6012,17 +6187,17 @@ function SettingsSelectorRow({
6012
6187
  children: icon
6013
6188
  }
6014
6189
  ),
6015
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col", children: [
6016
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
6017
- description && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
6190
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col", children: [
6191
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
6192
+ description && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
6018
6193
  ] })
6019
6194
  ] }),
6020
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "shrink-0", children: control })
6195
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "shrink-0", children: control })
6021
6196
  ] });
6022
6197
  }
6023
6198
 
6024
6199
  // src/web/components/bottom-sheet.tsx
6025
- var import_jsx_runtime63 = require("react/jsx-runtime");
6200
+ var import_jsx_runtime64 = require("react/jsx-runtime");
6026
6201
  function BottomSheet({
6027
6202
  open,
6028
6203
  title,
@@ -6038,7 +6213,7 @@ function BottomSheet({
6038
6213
  const handleBackdropClick = (event) => {
6039
6214
  if (closeOnBackdrop && event.target === event.currentTarget) onClose?.();
6040
6215
  };
6041
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6216
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6042
6217
  "div",
6043
6218
  {
6044
6219
  className: cn(
@@ -6046,7 +6221,7 @@ function BottomSheet({
6046
6221
  className
6047
6222
  ),
6048
6223
  onClick: handleBackdropClick,
6049
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
6224
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6050
6225
  "div",
6051
6226
  {
6052
6227
  className: cn(
@@ -6054,13 +6229,13 @@ function BottomSheet({
6054
6229
  contentClassName
6055
6230
  ),
6056
6231
  children: [
6057
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "-mt-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
6058
- (title || icon) && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "mt-4 flex items-center gap-2", children: [
6232
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "-mt-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
6233
+ (title || icon) && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "mt-4 flex items-center gap-2", children: [
6059
6234
  icon,
6060
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "text-sm font-bold text-foreground", children: title })
6235
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "text-sm font-bold text-foreground", children: title })
6061
6236
  ] }),
6062
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: cn((title || icon) && "mt-3"), children }),
6063
- actions && actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "mt-4 flex gap-2", children: actions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
6237
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: cn((title || icon) && "mt-3"), children }),
6238
+ actions && actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "mt-4 flex gap-2", children: actions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6064
6239
  Button,
6065
6240
  {
6066
6241
  type: "button",
@@ -6070,7 +6245,7 @@ function BottomSheet({
6070
6245
  onClick: action.onClick,
6071
6246
  disabled: action.disabled,
6072
6247
  children: [
6073
- action.icon && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Icon, { name: action.icon, className: "text-icon-md" }),
6248
+ action.icon && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: action.icon, className: "text-icon-md" }),
6074
6249
  action.label
6075
6250
  ]
6076
6251
  },
@@ -6084,7 +6259,7 @@ function BottomSheet({
6084
6259
  }
6085
6260
 
6086
6261
  // src/web/components/disclosure-card.tsx
6087
- var import_jsx_runtime64 = require("react/jsx-runtime");
6262
+ var import_jsx_runtime65 = require("react/jsx-runtime");
6088
6263
  function DisclosureCard({
6089
6264
  title,
6090
6265
  children,
@@ -6095,8 +6270,8 @@ function DisclosureCard({
6095
6270
  triggerClassName,
6096
6271
  contentClassName
6097
6272
  }) {
6098
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className, children: [
6099
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6273
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className, children: [
6274
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6100
6275
  "button",
6101
6276
  {
6102
6277
  type: "button",
@@ -6106,11 +6281,11 @@ function DisclosureCard({
6106
6281
  triggerClassName
6107
6282
  ),
6108
6283
  children: [
6109
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
6284
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
6110
6285
  icon,
6111
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "truncate text-xs font-bold text-foreground", children: title })
6286
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "truncate text-xs font-bold text-foreground", children: title })
6112
6287
  ] }),
6113
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6288
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6114
6289
  Icon,
6115
6290
  {
6116
6291
  name: open ? "expand_less" : "expand_more",
@@ -6120,7 +6295,7 @@ function DisclosureCard({
6120
6295
  ]
6121
6296
  }
6122
6297
  ),
6123
- open && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6298
+ open && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6124
6299
  "div",
6125
6300
  {
6126
6301
  className: cn(
@@ -6134,7 +6309,7 @@ function DisclosureCard({
6134
6309
  }
6135
6310
 
6136
6311
  // src/web/components/stepper-number-input.tsx
6137
- var import_jsx_runtime65 = require("react/jsx-runtime");
6312
+ var import_jsx_runtime66 = require("react/jsx-runtime");
6138
6313
  function StepperNumberInput({
6139
6314
  value,
6140
6315
  onChange,
@@ -6151,7 +6326,7 @@ function StepperNumberInput({
6151
6326
  const bounded = max === void 0 ? boundedMin : Math.min(max, boundedMin);
6152
6327
  onChange(Number.isFinite(bounded) ? bounded : min ?? 0);
6153
6328
  };
6154
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6329
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
6155
6330
  "div",
6156
6331
  {
6157
6332
  className: cn(
@@ -6159,7 +6334,7 @@ function StepperNumberInput({
6159
6334
  className
6160
6335
  ),
6161
6336
  children: [
6162
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6337
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6163
6338
  "button",
6164
6339
  {
6165
6340
  type: "button",
@@ -6167,10 +6342,10 @@ function StepperNumberInput({
6167
6342
  disabled: disabled || min !== void 0 && value <= min,
6168
6343
  onClick: () => clamp(value - step),
6169
6344
  "aria-label": "Decrease",
6170
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Icon, { name: "remove", className: "text-icon-md" })
6345
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Icon, { name: "remove", className: "text-icon-md" })
6171
6346
  }
6172
6347
  ),
6173
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6348
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6174
6349
  "input",
6175
6350
  {
6176
6351
  type: "number",
@@ -6187,7 +6362,7 @@ function StepperNumberInput({
6187
6362
  )
6188
6363
  }
6189
6364
  ),
6190
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6365
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6191
6366
  "button",
6192
6367
  {
6193
6368
  type: "button",
@@ -6195,7 +6370,7 @@ function StepperNumberInput({
6195
6370
  disabled: disabled || max !== void 0 && value >= max,
6196
6371
  onClick: () => clamp(value + step),
6197
6372
  "aria-label": "Increase",
6198
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Icon, { name: "add", className: "text-icon-md" })
6373
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Icon, { name: "add", className: "text-icon-md" })
6199
6374
  }
6200
6375
  )
6201
6376
  ]
@@ -6204,7 +6379,7 @@ function StepperNumberInput({
6204
6379
  }
6205
6380
 
6206
6381
  // src/web/components/metric-card.tsx
6207
- var import_jsx_runtime66 = require("react/jsx-runtime");
6382
+ var import_jsx_runtime67 = require("react/jsx-runtime");
6208
6383
  var toneClasses2 = {
6209
6384
  primary: "bg-primary/10 text-primary",
6210
6385
  purple: "bg-network-arkade/10 text-network-arkade",
@@ -6222,27 +6397,27 @@ function MetricCard({
6222
6397
  tone = "muted",
6223
6398
  className
6224
6399
  }) {
6225
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn("space-y-1 rounded-xl bg-card/70 p-2.5", className), children: [
6226
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-1.5", children: [
6227
- icon && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: cn("flex size-5 items-center justify-center rounded-md", toneClasses2[tone]), children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Icon, { name: icon, className: "text-icon-xs" }) : icon }),
6228
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
6400
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: cn("space-y-1 rounded-xl bg-card/70 p-2.5", className), children: [
6401
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center gap-1.5", children: [
6402
+ icon && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: cn("flex size-5 items-center justify-center rounded-md", toneClasses2[tone]), children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Icon, { name: icon, className: "text-icon-xs" }) : icon }),
6403
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
6229
6404
  ] }),
6230
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "text-sm font-bold tabular-nums text-foreground", children: value }),
6231
- description && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "text-xxs text-white/45", children: description })
6405
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "text-sm font-bold tabular-nums text-foreground", children: value }),
6406
+ description && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "text-xxs text-white/45", children: description })
6232
6407
  ] });
6233
6408
  }
6234
6409
 
6235
6410
  // src/web/components/filter-chip-group.tsx
6236
- var import_jsx_runtime67 = require("react/jsx-runtime");
6411
+ var import_jsx_runtime68 = require("react/jsx-runtime");
6237
6412
  function FilterChipGroup({
6238
6413
  options,
6239
6414
  value,
6240
6415
  onChange,
6241
6416
  className
6242
6417
  }) {
6243
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
6418
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
6244
6419
  const active = option.value === value;
6245
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
6420
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
6246
6421
  "button",
6247
6422
  {
6248
6423
  type: "button",
@@ -6256,7 +6431,7 @@ function FilterChipGroup({
6256
6431
  children: [
6257
6432
  option.icon,
6258
6433
  option.label,
6259
- option.count !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6434
+ option.count !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6260
6435
  "span",
6261
6436
  {
6262
6437
  className: cn(
@@ -6274,7 +6449,7 @@ function FilterChipGroup({
6274
6449
  }
6275
6450
 
6276
6451
  // src/web/components/activity-row.tsx
6277
- var import_jsx_runtime68 = require("react/jsx-runtime");
6452
+ var import_jsx_runtime69 = require("react/jsx-runtime");
6278
6453
  var directionUi = {
6279
6454
  inbound: { icon: "south_west", iconClass: "bg-primary/20 text-primary", amountClass: "text-primary", sign: "+" },
6280
6455
  outbound: { icon: "north_east", iconClass: "bg-white/10 text-muted-foreground", amountClass: "text-foreground", sign: "-" },
@@ -6294,29 +6469,29 @@ function ActivityRow({
6294
6469
  className
6295
6470
  }) {
6296
6471
  const ui = directionUi[direction];
6297
- const content = /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
6298
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex min-w-0 items-center gap-3", children: [
6299
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6472
+ const content = /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_jsx_runtime69.Fragment, { children: [
6473
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex min-w-0 items-center gap-3", children: [
6474
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6300
6475
  StatusIconBadge,
6301
6476
  {
6302
6477
  status,
6303
- icon: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: cn("flex size-10 items-center justify-center rounded-xl shadow-inner", ui.iconClass), children: typeof icon === "string" || !icon ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Icon, { name: icon ?? ui.icon, className: "text-icon-xl" }) : icon })
6478
+ icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: cn("flex size-10 items-center justify-center rounded-xl shadow-inner", ui.iconClass), children: typeof icon === "string" || !icon ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon, { name: icon ?? ui.icon, className: "text-icon-xl" }) : icon })
6304
6479
  }
6305
6480
  ),
6306
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex min-w-0 flex-col", children: [
6307
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
6308
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
6481
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex min-w-0 flex-col", children: [
6482
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
6483
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
6309
6484
  networkBadge
6310
6485
  ] }),
6311
- timestamp && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "mt-1 flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-xxs text-muted-foreground", children: timestamp }) })
6486
+ timestamp && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "mt-1 flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-xxs text-muted-foreground", children: timestamp }) })
6312
6487
  ] })
6313
6488
  ] }),
6314
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "shrink-0 text-right", children: [
6315
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
6489
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "shrink-0 text-right", children: [
6490
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
6316
6491
  ui.sign,
6317
6492
  amount
6318
6493
  ] }),
6319
- unit && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
6494
+ unit && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
6320
6495
  ] })
6321
6496
  ] });
6322
6497
  const rowClassName = cn(
@@ -6325,23 +6500,23 @@ function ActivityRow({
6325
6500
  className
6326
6501
  );
6327
6502
  if (onClick) {
6328
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("button", { type: "button", onClick, className: rowClassName, children: content });
6503
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("button", { type: "button", onClick, className: rowClassName, children: content });
6329
6504
  }
6330
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: rowClassName, children: content });
6505
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: rowClassName, children: content });
6331
6506
  }
6332
6507
 
6333
6508
  // src/web/components/skeleton.tsx
6334
- var import_jsx_runtime69 = require("react/jsx-runtime");
6509
+ var import_jsx_runtime70 = require("react/jsx-runtime");
6335
6510
  var toneClass2 = {
6336
6511
  primary: "bg-white/10",
6337
6512
  secondary: "bg-white/5",
6338
6513
  card: "bg-white/[0.06]"
6339
6514
  };
6340
6515
  function Skeleton({ className, tone = "primary" }) {
6341
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
6516
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
6342
6517
  }
6343
6518
  function ListSkeletonRows({ rows = 3, className, rowClassName }) {
6344
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: cn("space-y-2", className), children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
6519
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: cn("space-y-2", className), children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
6345
6520
  "div",
6346
6521
  {
6347
6522
  className: cn(
@@ -6349,14 +6524,14 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
6349
6524
  rowClassName
6350
6525
  ),
6351
6526
  children: [
6352
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
6353
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex-1 space-y-2", children: [
6354
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Skeleton, { className: "h-3 w-28" }),
6355
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
6527
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
6528
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex-1 space-y-2", children: [
6529
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { className: "h-3 w-28" }),
6530
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
6356
6531
  ] }),
6357
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex flex-col items-end space-y-1.5", children: [
6358
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Skeleton, { className: "h-3 w-14" }),
6359
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Skeleton, { tone: "secondary", className: "h-2 w-10" })
6532
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex flex-col items-end space-y-1.5", children: [
6533
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { className: "h-3 w-14" }),
6534
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { tone: "secondary", className: "h-2 w-10" })
6360
6535
  ] })
6361
6536
  ]
6362
6537
  },
@@ -6365,7 +6540,7 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
6365
6540
  }
6366
6541
 
6367
6542
  // src/web/components/secret-reveal-card.tsx
6368
- var import_jsx_runtime70 = require("react/jsx-runtime");
6543
+ var import_jsx_runtime71 = require("react/jsx-runtime");
6369
6544
  function SecretRevealCard({
6370
6545
  value,
6371
6546
  revealed,
@@ -6377,9 +6552,9 @@ function SecretRevealCard({
6377
6552
  className,
6378
6553
  valueClassName
6379
6554
  }) {
6380
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: cn("space-y-3", className), children: [
6381
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "relative", children: [
6382
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6555
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: cn("space-y-3", className), children: [
6556
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "relative", children: [
6557
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6383
6558
  "p",
6384
6559
  {
6385
6560
  className: cn(
@@ -6390,40 +6565,40 @@ function SecretRevealCard({
6390
6565
  children: value
6391
6566
  }
6392
6567
  ) }),
6393
- !revealed && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
6568
+ !revealed && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
6394
6569
  "button",
6395
6570
  {
6396
6571
  type: "button",
6397
6572
  onClick: () => onRevealChange(true),
6398
6573
  className: "flex items-center gap-2 rounded-xl bg-card px-4 py-2 text-sm font-bold text-foreground shadow-lg transition-all hover:bg-accent",
6399
6574
  children: [
6400
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
6575
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
6401
6576
  revealLabel
6402
6577
  ]
6403
6578
  }
6404
6579
  ) })
6405
6580
  ] }),
6406
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex gap-2", children: [
6407
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
6581
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex gap-2", children: [
6582
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
6408
6583
  "button",
6409
6584
  {
6410
6585
  type: "button",
6411
6586
  onClick: () => onRevealChange(!revealed),
6412
6587
  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",
6413
6588
  children: [
6414
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
6589
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
6415
6590
  revealed ? hideLabel : revealLabel
6416
6591
  ]
6417
6592
  }
6418
6593
  ),
6419
- revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
6594
+ revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
6420
6595
  "button",
6421
6596
  {
6422
6597
  type: "button",
6423
6598
  onClick: onCopy,
6424
6599
  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",
6425
6600
  children: [
6426
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
6601
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
6427
6602
  copyLabel
6428
6603
  ]
6429
6604
  }
@@ -6433,7 +6608,7 @@ function SecretRevealCard({
6433
6608
  }
6434
6609
 
6435
6610
  // src/web/components/settings-section-card.tsx
6436
- var import_jsx_runtime71 = require("react/jsx-runtime");
6611
+ var import_jsx_runtime72 = require("react/jsx-runtime");
6437
6612
  function SettingsSectionCard({
6438
6613
  title,
6439
6614
  description,
@@ -6442,15 +6617,15 @@ function SettingsSectionCard({
6442
6617
  className,
6443
6618
  bodyClassName
6444
6619
  }) {
6445
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("section", { className: cn("space-y-4 rounded-xl bg-card/70 p-4", className), children: [
6446
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-start justify-between gap-4", children: [
6447
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "min-w-0 flex-1", children: [
6448
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("h2", { className: "text-sm font-bold text-foreground", children: title }),
6449
- description && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
6620
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("section", { className: cn("space-y-4 rounded-xl bg-card/70 p-4", className), children: [
6621
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-start justify-between gap-4", children: [
6622
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "min-w-0 flex-1", children: [
6623
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("h2", { className: "text-sm font-bold text-foreground", children: title }),
6624
+ description && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
6450
6625
  ] }),
6451
6626
  badge
6452
6627
  ] }),
6453
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: bodyClassName, children })
6628
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: bodyClassName, children })
6454
6629
  ] });
6455
6630
  }
6456
6631
  var badgeToneClass = {
@@ -6462,7 +6637,7 @@ var badgeToneClass = {
6462
6637
  muted: "border-white/10 bg-white/[0.05] text-white/55"
6463
6638
  };
6464
6639
  function ToneBadge({ children, tone = "muted", className }) {
6465
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6640
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
6466
6641
  "span",
6467
6642
  {
6468
6643
  className: cn(
@@ -6476,7 +6651,7 @@ function ToneBadge({ children, tone = "muted", className }) {
6476
6651
  }
6477
6652
 
6478
6653
  // src/web/components/selectable-card.tsx
6479
- var import_jsx_runtime72 = require("react/jsx-runtime");
6654
+ var import_jsx_runtime73 = require("react/jsx-runtime");
6480
6655
  function SelectableCard({
6481
6656
  selected,
6482
6657
  onClick,
@@ -6488,28 +6663,28 @@ function SelectableCard({
6488
6663
  children,
6489
6664
  className
6490
6665
  }) {
6491
- const content = /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
6492
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
6493
- indicator && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
6666
+ const content = /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
6667
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
6668
+ indicator && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6494
6669
  "div",
6495
6670
  {
6496
6671
  className: cn(
6497
6672
  "mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
6498
6673
  selected ? "border-primary bg-primary" : "border-white/20"
6499
6674
  ),
6500
- children: selected && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "size-2 rounded-full bg-background" })
6675
+ children: selected && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "size-2 rounded-full bg-background" })
6501
6676
  }
6502
6677
  ),
6503
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "min-w-0 flex-1", children: [
6504
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex flex-wrap items-center gap-2", children: [
6505
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "text-body font-bold text-foreground", children: title }),
6678
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "min-w-0 flex-1", children: [
6679
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex flex-wrap items-center gap-2", children: [
6680
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-body font-bold text-foreground", children: title }),
6506
6681
  badge
6507
6682
  ] }),
6508
- description && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
6683
+ description && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
6509
6684
  children
6510
6685
  ] })
6511
6686
  ] }),
6512
- preview && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "shrink-0 text-right", children: preview })
6687
+ preview && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "shrink-0 text-right", children: preview })
6513
6688
  ] });
6514
6689
  const cardClassName = cn(
6515
6690
  "w-full rounded-2xl border p-4 text-left transition-all duration-200",
@@ -6517,14 +6692,14 @@ function SelectableCard({
6517
6692
  className
6518
6693
  );
6519
6694
  if (onClick) {
6520
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("button", { type: "button", onClick, className: cardClassName, children: content });
6695
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("button", { type: "button", onClick, className: cardClassName, children: content });
6521
6696
  }
6522
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: cardClassName, children: content });
6697
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: cardClassName, children: content });
6523
6698
  }
6524
6699
 
6525
6700
  // src/web/components/mobile-hero-animation.tsx
6526
6701
  var import_react13 = require("react");
6527
- var import_jsx_runtime73 = require("react/jsx-runtime");
6702
+ var import_jsx_runtime74 = require("react/jsx-runtime");
6528
6703
  var PROTOCOLS = [
6529
6704
  { name: "Bitcoin", network: "Bitcoin", iconSuffix: "bitcoin/bitcoin-logo.svg" },
6530
6705
  { name: "Lightning", network: "LN", iconSuffix: "lightning/lightning.svg" },
@@ -6583,15 +6758,15 @@ var MobileHeroAnimation = ({
6583
6758
  }, []);
6584
6759
  const anim = !reducedMotion && isVisible;
6585
6760
  const scale = size / 280;
6586
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
6761
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
6587
6762
  "div",
6588
6763
  {
6589
6764
  ref: containerRef,
6590
6765
  className,
6591
6766
  style: { position: "relative", width: size, height: size },
6592
6767
  children: [
6593
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("style", { children: KEYFRAMES }),
6594
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { style: {
6768
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("style", { children: KEYFRAMES }),
6769
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { style: {
6595
6770
  position: "absolute",
6596
6771
  top: 0,
6597
6772
  left: 0,
@@ -6600,7 +6775,7 @@ var MobileHeroAnimation = ({
6600
6775
  transformOrigin: "top left",
6601
6776
  transform: scale !== 1 ? `scale(${scale})` : void 0
6602
6777
  }, children: [
6603
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
6778
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
6604
6779
  "svg",
6605
6780
  {
6606
6781
  viewBox: "0 0 280 280",
@@ -6609,34 +6784,34 @@ var MobileHeroAnimation = ({
6609
6784
  style: { position: "absolute", inset: 0 },
6610
6785
  xmlns: "http://www.w3.org/2000/svg",
6611
6786
  children: [
6612
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("defs", { children: [
6613
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
6614
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
6615
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
6616
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
6787
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("defs", { children: [
6788
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
6789
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
6790
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
6791
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
6617
6792
  ] }),
6618
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6619
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
6620
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
6793
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6794
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
6795
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
6621
6796
  ] }),
6622
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6623
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
6624
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
6797
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6798
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
6799
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
6625
6800
  ] }),
6626
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6627
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
6628
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("feMerge", { children: [
6629
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "blur" }),
6630
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "SourceGraphic" })
6801
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6802
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
6803
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("feMerge", { children: [
6804
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feMergeNode", { in: "blur" }),
6805
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feMergeNode", { in: "SourceGraphic" })
6631
6806
  ] })
6632
6807
  ] })
6633
6808
  ] }),
6634
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: C, cy: C, r: ORBIT_R, fill: "none", stroke: "#0e9dff", strokeWidth: "1", strokeOpacity: "0.25", opacity: "0.4", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
6635
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
6636
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
6809
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: C, cy: C, r: ORBIT_R, fill: "none", stroke: "#0e9dff", strokeWidth: "1", strokeOpacity: "0.25", opacity: "0.4", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
6810
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
6811
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
6637
6812
  ] }) }),
6638
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
6639
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6813
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
6814
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6640
6815
  "g",
6641
6816
  {
6642
6817
  style: {
@@ -6654,8 +6829,8 @@ var MobileHeroAnimation = ({
6654
6829
  const y2 = C + dy * (ORBIT_R - BADGE_HALF);
6655
6830
  const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
6656
6831
  const dur = `${2 + i * 0.3}s`;
6657
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
6658
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6832
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
6833
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6659
6834
  "line",
6660
6835
  {
6661
6836
  x1,
@@ -6666,30 +6841,30 @@ var MobileHeroAnimation = ({
6666
6841
  strokeWidth: "0.8",
6667
6842
  strokeDasharray: "2 4",
6668
6843
  opacity: "0.25",
6669
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
6844
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
6670
6845
  }
6671
6846
  ),
6672
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
6673
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
6674
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
6675
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
6676
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
6847
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
6848
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
6849
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
6850
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
6851
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
6677
6852
  ] }) })
6678
6853
  ] }, `line-${i}`);
6679
6854
  })
6680
6855
  }
6681
6856
  ),
6682
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
6683
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
6684
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
6685
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
6857
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
6858
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
6859
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
6860
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
6686
6861
  ] }) }),
6687
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: C, cy: C, r: "27", fill: "none", stroke: "url(#mh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
6688
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
6689
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
6862
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: C, cy: C, r: "27", fill: "none", stroke: "url(#mh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
6863
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
6864
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
6690
6865
  ] }) }),
6691
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
6692
- anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6866
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
6867
+ anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6693
6868
  "animateTransform",
6694
6869
  {
6695
6870
  attributeName: "transform",
@@ -6701,13 +6876,13 @@ var MobileHeroAnimation = ({
6701
6876
  additive: "sum"
6702
6877
  }
6703
6878
  ),
6704
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath(34), fill: "none", stroke: "url(#mh-gp)", strokeWidth: "1.5", opacity: "0.4", filter: "url(#mh-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
6705
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
6706
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
6879
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath(34), fill: "none", stroke: "url(#mh-gp)", strokeWidth: "1.5", opacity: "0.4", filter: "url(#mh-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
6880
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
6881
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
6707
6882
  ] }) })
6708
6883
  ] }) }),
6709
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
6710
- anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6884
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
6885
+ anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6711
6886
  "animateTransform",
6712
6887
  {
6713
6888
  attributeName: "transform",
@@ -6719,19 +6894,19 @@ var MobileHeroAnimation = ({
6719
6894
  additive: "sum"
6720
6895
  }
6721
6896
  ),
6722
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
6897
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
6723
6898
  ] }) }),
6724
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${C - 18.8},${C - 18.8}) scale(0.0912)`, children: [
6725
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M137.306 411.865H0.000244141L68.6795 343.29L137.306 411.865Z", fill: "#6F32FF" }),
6726
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M0 0H137.306L68.6267 68.574L0 0Z", fill: "#6F32FF" }),
6727
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M137.148 274.559H274.455L411.708 411.866H274.401L137.148 274.559Z", fill: "#17B581" }),
6728
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M137.149 274.559L68.6274 205.933L137.201 137.306L274.455 137.411L205.776 206.038L274.456 274.559H137.149Z", fill: "#15E99A" }),
6729
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M274.479 0.104797H411.786L274.533 137.411H137.226L274.479 0.104797Z", fill: "#17B581" })
6899
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: `translate(${C - 18.8},${C - 18.8}) scale(0.0912)`, children: [
6900
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M137.306 411.865H0.000244141L68.6795 343.29L137.306 411.865Z", fill: "#6F32FF" }),
6901
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M0 0H137.306L68.6267 68.574L0 0Z", fill: "#6F32FF" }),
6902
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M137.148 274.559H274.455L411.708 411.866H274.401L137.148 274.559Z", fill: "#17B581" }),
6903
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M137.149 274.559L68.6274 205.933L137.201 137.306L274.455 137.411L205.776 206.038L274.456 274.559H137.149Z", fill: "#15E99A" }),
6904
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M274.479 0.104797H411.786L274.533 137.411H137.226L274.479 0.104797Z", fill: "#17B581" })
6730
6905
  ] })
6731
6906
  ]
6732
6907
  }
6733
6908
  ),
6734
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { style: {
6909
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { style: {
6735
6910
  position: "absolute",
6736
6911
  inset: 0,
6737
6912
  width: 280,
@@ -6742,7 +6917,7 @@ var MobileHeroAnimation = ({
6742
6917
  const x = C + Math.cos(angle) * ORBIT_R - BADGE_HALF;
6743
6918
  const y = C + Math.sin(angle) * ORBIT_R - BADGE_HALF;
6744
6919
  const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
6745
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6920
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6746
6921
  "div",
6747
6922
  {
6748
6923
  style: {
@@ -6753,7 +6928,7 @@ var MobileHeroAnimation = ({
6753
6928
  height: BADGE_SIZE,
6754
6929
  animation: anim ? "mha-counter-spin 20s linear infinite" : "none"
6755
6930
  },
6756
- children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { style: {
6931
+ children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { style: {
6757
6932
  width: "100%",
6758
6933
  height: "100%",
6759
6934
  borderRadius: "50%",
@@ -6764,7 +6939,7 @@ var MobileHeroAnimation = ({
6764
6939
  display: "flex",
6765
6940
  alignItems: "center",
6766
6941
  justifyContent: "center"
6767
- }, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6942
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6768
6943
  "img",
6769
6944
  {
6770
6945
  src: iconBasePath ? `${iconBasePath}/${protocol.iconSuffix}` : protocolIcons[protocol.network] ?? protocol.iconSuffix,
@@ -6784,7 +6959,7 @@ var MobileHeroAnimation = ({
6784
6959
 
6785
6960
  // src/web/components/kaleidoscope-hero-animation.tsx
6786
6961
  var import_react14 = require("react");
6787
- var import_jsx_runtime74 = require("react/jsx-runtime");
6962
+ var import_jsx_runtime75 = require("react/jsx-runtime");
6788
6963
  var PROTOCOLS2 = [
6789
6964
  { name: "Bitcoin L1", network: "L1", color: "#F7931A", glowColor: "rgba(247,147,26,0.5)" },
6790
6965
  { name: "Lightning", network: "LN", color: "#fbbf24", glowColor: "rgba(251,191,36,0.5)" },
@@ -6889,13 +7064,13 @@ var KaleidoScopeHeroAnimation = ({
6889
7064
  const angle = Math.PI * 2 * i / 7 - Math.PI / 2;
6890
7065
  return { x: c + orbitR * Math.cos(angle), y: c + orbitR * Math.sin(angle) };
6891
7066
  });
6892
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7067
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6893
7068
  "div",
6894
7069
  {
6895
7070
  ref: containerRef,
6896
7071
  className: `relative ${className}`,
6897
7072
  style: size ? { width: size, height: size } : void 0,
6898
- children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
7073
+ children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
6899
7074
  "svg",
6900
7075
  {
6901
7076
  viewBox: "0 0 500 500",
@@ -6904,60 +7079,60 @@ var KaleidoScopeHeroAnimation = ({
6904
7079
  xmlns: "http://www.w3.org/2000/svg",
6905
7080
  className: "overflow-visible",
6906
7081
  children: [
6907
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("defs", { children: [
6908
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6909
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
6910
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
7082
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("defs", { children: [
7083
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
7084
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
7085
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
6911
7086
  ] }),
6912
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
6913
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
6914
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
7087
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
7088
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
7089
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
6915
7090
  ] }),
6916
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
6917
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
6918
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
7091
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
7092
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
7093
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
6919
7094
  ] }),
6920
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6921
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
6922
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
7095
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
7096
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
7097
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
6923
7098
  ] }),
6924
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6925
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#F7931A" }),
6926
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "#06b6d4" })
7099
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
7100
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "#F7931A" }),
7101
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "#06b6d4" })
6927
7102
  ] }),
6928
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6929
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
6930
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
7103
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
7104
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
7105
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
6931
7106
  ] }),
6932
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
6933
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
6934
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
6935
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
7107
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
7108
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
7109
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
7110
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
6936
7111
  ] }),
6937
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
6938
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
6939
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
6940
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
7112
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
7113
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
7114
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
7115
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
6941
7116
  ] }),
6942
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6943
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
6944
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("feMerge", { children: [
6945
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feMergeNode", { in: "blur" }),
6946
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feMergeNode", { in: "SourceGraphic" })
7117
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
7118
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
7119
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("feMerge", { children: [
7120
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feMergeNode", { in: "blur" }),
7121
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feMergeNode", { in: "SourceGraphic" })
6947
7122
  ] })
6948
7123
  ] }),
6949
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
6950
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
6951
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("feMerge", { children: [
6952
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feMergeNode", { in: "blur" }),
6953
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feMergeNode", { in: "SourceGraphic" })
7124
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
7125
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
7126
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("feMerge", { children: [
7127
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feMergeNode", { in: "blur" }),
7128
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feMergeNode", { in: "SourceGraphic" })
6954
7129
  ] })
6955
7130
  ] })
6956
7131
  ] }),
6957
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
6958
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: px(20), children: [
6959
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
6960
- anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7132
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
7133
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: px(20), children: [
7134
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7135
+ anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6961
7136
  "animateTransform",
6962
7137
  {
6963
7138
  attributeName: "transform",
@@ -6970,14 +7145,14 @@ var KaleidoScopeHeroAnimation = ({
6970
7145
  ),
6971
7146
  Array.from({ length: 6 }, (_, i) => {
6972
7147
  const a = Math.PI / 3 * i;
6973
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
6974
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
6975
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
7148
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
7149
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
7150
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
6976
7151
  ] }, `ha-${i}`);
6977
7152
  }),
6978
7153
  Array.from({ length: 6 }, (_, i) => {
6979
7154
  const a = Math.PI / 3 * i + Math.PI / 6;
6980
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7155
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6981
7156
  "path",
6982
7157
  {
6983
7158
  d: triPath(14),
@@ -6990,7 +7165,7 @@ var KaleidoScopeHeroAnimation = ({
6990
7165
  }),
6991
7166
  Array.from({ length: 12 }, (_, i) => {
6992
7167
  const a = Math.PI / 6 * i;
6993
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7168
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6994
7169
  "circle",
6995
7170
  {
6996
7171
  cx: c + outerR1 * 0.92 * Math.cos(a),
@@ -6998,14 +7173,14 @@ var KaleidoScopeHeroAnimation = ({
6998
7173
  r: "1.5",
6999
7174
  fill: "url(#kh-grad-a)",
7000
7175
  opacity: "0.15",
7001
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
7176
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
7002
7177
  },
7003
7178
  `od-${i}`
7004
7179
  );
7005
7180
  })
7006
7181
  ] }),
7007
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
7008
- anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7182
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7183
+ anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7009
7184
  "animateTransform",
7010
7185
  {
7011
7186
  attributeName: "transform",
@@ -7018,28 +7193,28 @@ var KaleidoScopeHeroAnimation = ({
7018
7193
  ),
7019
7194
  Array.from({ length: 6 }, (_, i) => {
7020
7195
  const a = Math.PI / 3 * i + Math.PI / 6;
7021
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
7022
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
7023
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
7196
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
7197
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
7198
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
7024
7199
  ] }, `hb-${i}`);
7025
7200
  }),
7026
7201
  Array.from({ length: 6 }, (_, i) => {
7027
7202
  const a = Math.PI / 3 * i;
7028
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7203
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7029
7204
  "path",
7030
7205
  {
7031
7206
  d: diamondPath(8, 16),
7032
7207
  transform: `translate(${c + outerR2 * 0.85 * Math.cos(a)},${c + outerR2 * 0.85 * Math.sin(a)}) rotate(${i * 60})`,
7033
7208
  fill: "url(#kh-grad-b)",
7034
7209
  opacity: "0.08",
7035
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
7210
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
7036
7211
  },
7037
7212
  `db-${i}`
7038
7213
  );
7039
7214
  })
7040
7215
  ] }),
7041
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
7042
- anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7216
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7217
+ anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7043
7218
  "animateTransform",
7044
7219
  {
7045
7220
  attributeName: "transform",
@@ -7053,23 +7228,23 @@ var KaleidoScopeHeroAnimation = ({
7053
7228
  Array.from({ length: 12 }, (_, i) => {
7054
7229
  const a = Math.PI / 6 * i;
7055
7230
  const r = outerR1 * (0.6 + i % 2 * 0.15);
7056
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7231
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7057
7232
  "path",
7058
7233
  {
7059
7234
  d: triPath(10),
7060
7235
  transform: `translate(${c + r * Math.cos(a)},${c + r * Math.sin(a)}) rotate(${i * 30 + 15})`,
7061
7236
  fill: "url(#kh-grad-c)",
7062
7237
  opacity: "0.05",
7063
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
7238
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
7064
7239
  },
7065
7240
  `tc-${i}`
7066
7241
  );
7067
7242
  })
7068
7243
  ] })
7069
7244
  ] }),
7070
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: px(14), children: [
7071
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
7072
- anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7245
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: px(14), children: [
7246
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7247
+ anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7073
7248
  "animateTransform",
7074
7249
  {
7075
7250
  attributeName: "transform",
@@ -7082,9 +7257,9 @@ var KaleidoScopeHeroAnimation = ({
7082
7257
  ),
7083
7258
  Array.from({ length: 12 }, (_, i) => {
7084
7259
  const a = Math.PI / 6 * i;
7085
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
7086
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
7087
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
7260
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
7261
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
7262
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
7088
7263
  ] }, `mh-${i}`);
7089
7264
  })
7090
7265
  ] }),
@@ -7095,7 +7270,7 @@ var KaleidoScopeHeroAnimation = ({
7095
7270
  const y1 = c + midR * Math.sin(a1);
7096
7271
  const x2 = c + midR * Math.cos(a2);
7097
7272
  const y2 = c + midR * Math.sin(a2);
7098
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7273
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7099
7274
  "path",
7100
7275
  {
7101
7276
  d: `M${x1},${y1} Q${c},${c} ${x2},${y2}`,
@@ -7104,17 +7279,17 @@ var KaleidoScopeHeroAnimation = ({
7104
7279
  strokeWidth: "0.5",
7105
7280
  strokeDasharray: "3 5",
7106
7281
  opacity: "0.1",
7107
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
7282
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
7108
7283
  },
7109
7284
  `arc-${i}`
7110
7285
  );
7111
7286
  })
7112
7287
  ] }),
7113
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: px(10), children: [
7114
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: c, cy: c, r: orbitR, fill: "none", stroke: "rgba(255,255,255,0.05)", strokeWidth: "1", strokeDasharray: "3 5", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
7115
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
7116
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
7117
- anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7288
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: px(10), children: [
7289
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: orbitR, fill: "none", stroke: "rgba(255,255,255,0.05)", strokeWidth: "1", strokeDasharray: "3 5", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
7290
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
7291
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7292
+ anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7118
7293
  "animateTransform",
7119
7294
  {
7120
7295
  attributeName: "transform",
@@ -7129,8 +7304,8 @@ var KaleidoScopeHeroAnimation = ({
7129
7304
  const angle = Math.atan2(pos.y - c, pos.x - c);
7130
7305
  const dx = Math.cos(angle);
7131
7306
  const dy = Math.sin(angle);
7132
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
7133
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7307
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7308
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7134
7309
  "line",
7135
7310
  {
7136
7311
  x1: c + dx * 52,
@@ -7141,14 +7316,14 @@ var KaleidoScopeHeroAnimation = ({
7141
7316
  strokeWidth: "0.8",
7142
7317
  strokeDasharray: "2 4",
7143
7318
  opacity: "0.2",
7144
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
7319
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
7145
7320
  }
7146
7321
  ),
7147
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
7148
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
7149
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
7150
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
7151
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
7322
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7323
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
7324
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
7325
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
7326
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
7152
7327
  ] }) })
7153
7328
  ] }, `conn-${i}`);
7154
7329
  }),
@@ -7156,14 +7331,14 @@ var KaleidoScopeHeroAnimation = ({
7156
7331
  const pos = iconPositions[i];
7157
7332
  const labelWidth = Math.max(proto.name.length * 5.5 + 10, 32);
7158
7333
  const isHovered = hoveredProtocol === proto.name;
7159
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
7334
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
7160
7335
  "g",
7161
7336
  {
7162
7337
  onMouseEnter: () => setHoveredProtocol(proto.name),
7163
7338
  onMouseLeave: () => setHoveredProtocol(null),
7164
7339
  style: { cursor: "pointer" },
7165
7340
  children: [
7166
- anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7341
+ anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7167
7342
  "animateTransform",
7168
7343
  {
7169
7344
  attributeName: "transform",
@@ -7174,7 +7349,7 @@ var KaleidoScopeHeroAnimation = ({
7174
7349
  repeatCount: "indefinite"
7175
7350
  }
7176
7351
  ),
7177
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7352
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7178
7353
  "circle",
7179
7354
  {
7180
7355
  cx: "0",
@@ -7184,13 +7359,13 @@ var KaleidoScopeHeroAnimation = ({
7184
7359
  stroke: proto.color,
7185
7360
  strokeWidth: "1",
7186
7361
  opacity: "0",
7187
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
7188
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
7189
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
7362
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7363
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
7364
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
7190
7365
  ] })
7191
7366
  }
7192
7367
  ),
7193
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7368
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7194
7369
  "circle",
7195
7370
  {
7196
7371
  cx: "0",
@@ -7200,10 +7375,10 @@ var KaleidoScopeHeroAnimation = ({
7200
7375
  stroke: proto.color,
7201
7376
  strokeWidth: "1",
7202
7377
  opacity: "0.15",
7203
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
7378
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
7204
7379
  }
7205
7380
  ),
7206
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7381
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7207
7382
  "circle",
7208
7383
  {
7209
7384
  cx: "0",
@@ -7213,10 +7388,10 @@ var KaleidoScopeHeroAnimation = ({
7213
7388
  stroke: proto.color,
7214
7389
  strokeWidth: "1.5",
7215
7390
  opacity: "0.25",
7216
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
7391
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
7217
7392
  }
7218
7393
  ),
7219
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7394
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7220
7395
  "circle",
7221
7396
  {
7222
7397
  cx: "0",
@@ -7227,8 +7402,8 @@ var KaleidoScopeHeroAnimation = ({
7227
7402
  strokeWidth: "1"
7228
7403
  }
7229
7404
  ),
7230
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
7231
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7405
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
7406
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7232
7407
  NetworkBadge,
7233
7408
  {
7234
7409
  network: proto.network,
@@ -7236,8 +7411,8 @@ var KaleidoScopeHeroAnimation = ({
7236
7411
  className: "w-full h-full"
7237
7412
  }
7238
7413
  ) }),
7239
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
7240
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7414
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
7415
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7241
7416
  "rect",
7242
7417
  {
7243
7418
  x: -labelWidth / 2,
@@ -7251,7 +7426,7 @@ var KaleidoScopeHeroAnimation = ({
7251
7426
  strokeOpacity: 0.4
7252
7427
  }
7253
7428
  ),
7254
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7429
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7255
7430
  "text",
7256
7431
  {
7257
7432
  x: "0",
@@ -7271,9 +7446,9 @@ var KaleidoScopeHeroAnimation = ({
7271
7446
  })
7272
7447
  ] })
7273
7448
  ] }),
7274
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: px(5), children: [
7275
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
7276
- anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7449
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: px(5), children: [
7450
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7451
+ anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7277
7452
  "animateTransform",
7278
7453
  {
7279
7454
  attributeName: "transform",
@@ -7286,28 +7461,28 @@ var KaleidoScopeHeroAnimation = ({
7286
7461
  ),
7287
7462
  Array.from({ length: 6 }, (_, i) => {
7288
7463
  const a = Math.PI / 3 * i;
7289
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7464
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7290
7465
  "path",
7291
7466
  {
7292
7467
  d: diamondPath(10, 22),
7293
7468
  transform: `translate(${c + innerR * Math.cos(a)},${c + innerR * Math.sin(a)}) rotate(${i * 60})`,
7294
7469
  fill: "url(#kh-gp)",
7295
7470
  opacity: "0.15",
7296
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
7471
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
7297
7472
  },
7298
7473
  `d-${i}`
7299
7474
  );
7300
7475
  }),
7301
7476
  Array.from({ length: 6 }, (_, i) => {
7302
7477
  const a = Math.PI / 3 * i + Math.PI / 6;
7303
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7478
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7304
7479
  "path",
7305
7480
  {
7306
7481
  d: triPath(8),
7307
7482
  transform: `translate(${c + innerR * 0.75 * Math.cos(a)},${c + innerR * 0.75 * Math.sin(a)}) rotate(${i * 60 + 30})`,
7308
7483
  fill: "url(#kh-oc)",
7309
7484
  opacity: "0.1",
7310
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
7485
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
7311
7486
  },
7312
7487
  `it-${i}`
7313
7488
  );
@@ -7315,7 +7490,7 @@ var KaleidoScopeHeroAnimation = ({
7315
7490
  Array.from({ length: 12 }, (_, i) => {
7316
7491
  const a = Math.PI / 6 * i;
7317
7492
  const r = innerR * (i % 2 === 0 ? 0.55 : 0.65);
7318
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7493
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7319
7494
  "circle",
7320
7495
  {
7321
7496
  cx: c + r * Math.cos(a),
@@ -7323,14 +7498,14 @@ var KaleidoScopeHeroAnimation = ({
7323
7498
  r: i % 2 === 0 ? 2 : 1.5,
7324
7499
  fill: "url(#kh-oc)",
7325
7500
  opacity: "0.2",
7326
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
7501
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
7327
7502
  },
7328
7503
  `id-${i}`
7329
7504
  );
7330
7505
  })
7331
7506
  ] }),
7332
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
7333
- anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7507
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7508
+ anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7334
7509
  "animateTransform",
7335
7510
  {
7336
7511
  attributeName: "transform",
@@ -7343,27 +7518,27 @@ var KaleidoScopeHeroAnimation = ({
7343
7518
  ),
7344
7519
  Array.from({ length: 6 }, (_, i) => {
7345
7520
  const a = Math.PI / 3 * i + Math.PI / 6;
7346
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7521
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7347
7522
  "path",
7348
7523
  {
7349
7524
  d: hexPath2(6),
7350
7525
  transform: `translate(${c + innerR * 0.42 * Math.cos(a)},${c + innerR * 0.42 * Math.sin(a)})`,
7351
7526
  fill: "url(#kh-bp)",
7352
7527
  opacity: "0.1",
7353
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
7528
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
7354
7529
  },
7355
7530
  `ih-${i}`
7356
7531
  );
7357
7532
  })
7358
7533
  ] })
7359
7534
  ] }),
7360
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
7535
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
7361
7536
  const a = Math.PI * 2 * i / 16;
7362
7537
  const baseR = 60 + i % 4 * 45;
7363
7538
  const x = c + baseR * Math.cos(a);
7364
7539
  const y = c + baseR * Math.sin(a);
7365
7540
  const colors2 = ["#0e9dff", "#8a5cf6", "#22c55e", "#F7931A", "#06b6d4", "#15E99A"];
7366
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7541
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7367
7542
  "circle",
7368
7543
  {
7369
7544
  cx: x,
@@ -7371,26 +7546,26 @@ var KaleidoScopeHeroAnimation = ({
7371
7546
  r: 1 + i % 3 * 0.5,
7372
7547
  fill: colors2[i % colors2.length],
7373
7548
  opacity: "0",
7374
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
7375
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
7376
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "cx", values: `${x};${x + Math.cos(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
7377
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "cy", values: `${y};${y + Math.sin(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` })
7549
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7550
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
7551
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "cx", values: `${x};${x + Math.cos(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
7552
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "cy", values: `${y};${y + Math.sin(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` })
7378
7553
  ] })
7379
7554
  },
7380
7555
  `p-${i}`
7381
7556
  );
7382
7557
  }) }),
7383
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
7384
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
7385
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
7386
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
7387
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
7558
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
7559
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
7560
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7561
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
7562
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
7388
7563
  ] }) }),
7389
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: c, cy: c, r: "48", fill: "none", stroke: "url(#kh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
7390
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
7391
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
7564
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: "48", fill: "none", stroke: "url(#kh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7565
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
7566
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
7392
7567
  ] }) }),
7393
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7568
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7394
7569
  "path",
7395
7570
  {
7396
7571
  d: hexPath2(50),
@@ -7400,13 +7575,13 @@ var KaleidoScopeHeroAnimation = ({
7400
7575
  strokeWidth: "1.5",
7401
7576
  opacity: "0.4",
7402
7577
  filter: "url(#kh-glow)",
7403
- children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
7404
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
7405
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
7578
+ children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7579
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
7580
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
7406
7581
  ] })
7407
7582
  }
7408
7583
  ),
7409
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7584
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7410
7585
  "path",
7411
7586
  {
7412
7587
  d: hexPath2(46),
@@ -7416,21 +7591,21 @@ var KaleidoScopeHeroAnimation = ({
7416
7591
  strokeWidth: "0.5"
7417
7592
  }
7418
7593
  ),
7419
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
7420
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
7421
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
7422
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
7423
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
7424
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
7425
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
7426
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
7427
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
7428
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
7429
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
7430
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
7431
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
7432
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
7433
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
7594
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
7595
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
7596
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
7597
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
7598
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
7599
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
7600
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
7601
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
7602
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
7603
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
7604
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
7605
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
7606
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
7607
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
7608
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
7434
7609
  ] })
7435
7610
  ] })
7436
7611
  ]
@@ -7583,7 +7758,7 @@ var colors = {
7583
7758
  };
7584
7759
 
7585
7760
  // src/web/components/deposit-ui-shared.tsx
7586
- var import_jsx_runtime75 = require("react/jsx-runtime");
7761
+ var import_jsx_runtime76 = require("react/jsx-runtime");
7587
7762
  var GLOW_ALPHA = "26";
7588
7763
  function qrGlowStyle(hex) {
7589
7764
  return { boxShadow: `0 0 30px ${hex}${GLOW_ALPHA}` };
@@ -7600,7 +7775,7 @@ var NETWORK_CONFIG = {
7600
7775
  // On-chain uses a chain-link glyph rather than the ₿ coin — the coin reads
7601
7776
  // as "the BTC asset", whereas this row is specifically the *on-chain* (L1)
7602
7777
  // receive rail alongside Lightning/Spark/Arkade, so a chain mark disambiguates.
7603
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
7778
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
7604
7779
  },
7605
7780
  lightning: {
7606
7781
  label: "Lightning",
@@ -7610,7 +7785,7 @@ var NETWORK_CONFIG = {
7610
7785
  border: "border-network-lightning/40",
7611
7786
  qrBorder: "border-network-lightning/30",
7612
7787
  qrGlow: qrGlowStyle(colors.network.lightning),
7613
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
7788
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
7614
7789
  },
7615
7790
  spark: {
7616
7791
  label: "Spark",
@@ -7620,7 +7795,7 @@ var NETWORK_CONFIG = {
7620
7795
  border: "border-info/40",
7621
7796
  qrBorder: "border-info/30",
7622
7797
  qrGlow: qrGlowStyle(colors.info),
7623
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
7798
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
7624
7799
  },
7625
7800
  arkade: {
7626
7801
  label: "Arkade",
@@ -7630,7 +7805,7 @@ var NETWORK_CONFIG = {
7630
7805
  border: "border-network-arkade/40",
7631
7806
  qrBorder: "border-network-arkade/30",
7632
7807
  qrGlow: qrGlowStyle(colors.network.arkade),
7633
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
7808
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
7634
7809
  },
7635
7810
  liquid: {
7636
7811
  label: "Liquid",
@@ -7640,7 +7815,7 @@ var NETWORK_CONFIG = {
7640
7815
  border: "border-network-liquid/40",
7641
7816
  qrBorder: "border-network-liquid/30",
7642
7817
  qrGlow: qrGlowStyle(colors.network.liquid),
7643
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(LiquidNetworkIcon, { className: "h-3 w-3" })
7818
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LiquidNetworkIcon, { className: "h-3 w-3" })
7644
7819
  }
7645
7820
  };
7646
7821
  var ACCOUNT_META = {
@@ -7651,14 +7826,14 @@ var ACCOUNT_META = {
7651
7826
  accentBorder: "border-primary/30",
7652
7827
  // Bundled RGB mark (protocolIcons) — a host-served /icons/rgb/... path
7653
7828
  // renders as a broken box in consumers that don't ship that asset.
7654
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(RgbNetworkIcon, { className: "h-2.5 w-2.5" })
7829
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(RgbNetworkIcon, { className: "h-2.5 w-2.5" })
7655
7830
  },
7656
7831
  SPARK: {
7657
7832
  shortLabel: "Spark",
7658
7833
  accentBg: "bg-info/10",
7659
7834
  accentText: "text-info",
7660
7835
  accentBorder: "border-info/30",
7661
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7836
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7662
7837
  "img",
7663
7838
  {
7664
7839
  src: "/icons/spark/Asterisk/Spark Asterisk White.svg",
@@ -7672,14 +7847,14 @@ var ACCOUNT_META = {
7672
7847
  accentBg: "bg-network-arkade/10",
7673
7848
  accentText: "text-network-arkade",
7674
7849
  accentBorder: "border-network-arkade/30",
7675
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
7850
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
7676
7851
  },
7677
7852
  LIQUID: {
7678
7853
  shortLabel: "Liquid",
7679
7854
  accentBg: "bg-network-liquid/10",
7680
7855
  accentText: "text-network-liquid",
7681
7856
  accentBorder: "border-network-liquid/30",
7682
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(LiquidNetworkIcon, { className: "h-2.5 w-2.5" })
7857
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LiquidNetworkIcon, { className: "h-2.5 w-2.5" })
7683
7858
  }
7684
7859
  };
7685
7860
  var METHOD_META = {
@@ -7696,7 +7871,7 @@ function InvoiceStatusBanner({
7696
7871
  isInvoiceFailedOrExpired,
7697
7872
  invoiceStatus
7698
7873
  }) {
7699
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
7874
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
7700
7875
  "div",
7701
7876
  {
7702
7877
  className: cn(
@@ -7704,17 +7879,17 @@ function InvoiceStatusBanner({
7704
7879
  isInvoicePaid ? "bg-primary/10 text-primary" : isInvoiceFailedOrExpired ? "bg-danger/10 text-danger" : "bg-warning/10 text-warning"
7705
7880
  ),
7706
7881
  children: [
7707
- isInvoicePending && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7708
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
7709
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: "Waiting for payment..." })
7882
+ isInvoicePending && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
7883
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
7884
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: "Waiting for payment..." })
7710
7885
  ] }),
7711
- isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7712
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
7713
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: "Payment received!" })
7886
+ isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
7887
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
7888
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: "Payment received!" })
7714
7889
  ] }),
7715
- isInvoiceFailedOrExpired && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
7716
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
7717
- /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("span", { children: [
7890
+ isInvoiceFailedOrExpired && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
7891
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
7892
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("span", { children: [
7718
7893
  "Invoice ",
7719
7894
  invoiceStatus?.toLowerCase() === "expired" ? "expired" : "failed"
7720
7895
  ] })
@@ -7724,20 +7899,20 @@ function InvoiceStatusBanner({
7724
7899
  );
7725
7900
  }
7726
7901
  function PaidOverlay() {
7727
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
7728
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
7729
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "text-sm font-bold text-primary", children: "Received!" })
7902
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
7903
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
7904
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-sm font-bold text-primary", children: "Received!" })
7730
7905
  ] }) });
7731
7906
  }
7732
7907
  function CopyIcon({ copied }) {
7733
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7908
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7734
7909
  "div",
7735
7910
  {
7736
7911
  className: cn(
7737
7912
  "flex-shrink-0 rounded-lg p-2 transition-all",
7738
7913
  copied ? "bg-primary/15 text-primary" : "bg-white/5 text-white/40 group-hover:bg-primary/10 group-hover:text-primary"
7739
7914
  ),
7740
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Icon, { name: "content_copy", size: "sm" })
7915
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: "content_copy", size: "sm" })
7741
7916
  }
7742
7917
  );
7743
7918
  }
@@ -7748,7 +7923,7 @@ function AccountChoiceChip({
7748
7923
  label
7749
7924
  }) {
7750
7925
  const meta = ACCOUNT_META[account];
7751
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
7926
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
7752
7927
  "button",
7753
7928
  {
7754
7929
  type: "button",
@@ -7760,7 +7935,7 @@ function AccountChoiceChip({
7760
7935
  ),
7761
7936
  children: [
7762
7937
  meta.icon,
7763
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: label ?? meta.shortLabel })
7938
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: label ?? meta.shortLabel })
7764
7939
  ]
7765
7940
  }
7766
7941
  );
@@ -7818,8 +7993,8 @@ function NetworkInfoDisclosure({
7818
7993
  }) {
7819
7994
  const [open, setOpen] = (0, import_react15.useState)(false);
7820
7995
  if (networks.length === 0) return null;
7821
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: cn("overflow-hidden rounded-xl bg-card/70 transition-all", className), children: [
7822
- /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
7996
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: cn("overflow-hidden rounded-xl bg-card/70 transition-all", className), children: [
7997
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
7823
7998
  "button",
7824
7999
  {
7825
8000
  type: "button",
@@ -7827,24 +8002,24 @@ function NetworkInfoDisclosure({
7827
8002
  "aria-expanded": open,
7828
8003
  className: "flex w-full items-center gap-2 px-2.5 py-1.5 text-left transition-colors hover:bg-white/4",
7829
8004
  children: [
7830
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Icon, { name: "info", size: "xs", className: "text-white/40" }),
7831
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
7832
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
8005
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: "info", size: "xs", className: "text-white/40" }),
8006
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
8007
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
7833
8008
  ]
7834
8009
  }
7835
8010
  ),
7836
- open && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "space-y-2 px-2.5 pb-2.5 pt-0.5 animate-in fade-in slide-in-from-top-1 duration-200", children: networks.map((network) => {
8011
+ open && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "space-y-2 px-2.5 pb-2.5 pt-0.5 animate-in fade-in slide-in-from-top-1 duration-200", children: networks.map((network) => {
7837
8012
  const info = NETWORK_INFO[network];
7838
8013
  const cfg = NETWORK_CONFIG[network];
7839
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "space-y-1", children: [
7840
- /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "flex items-center gap-1.5", children: [
7841
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
7842
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
8014
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "space-y-1", children: [
8015
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-1.5", children: [
8016
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
8017
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
7843
8018
  ] }),
7844
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
7845
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
7846
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "mt-[1px] text-white/30", children: "-" }),
7847
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: bullet })
8019
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
8020
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
8021
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "mt-[1px] text-white/30", children: "-" }),
8022
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: bullet })
7848
8023
  ] }, bullet)) })
7849
8024
  ] }, network);
7850
8025
  }) })
@@ -7858,7 +8033,7 @@ function MethodChoiceChip({
7858
8033
  onClick
7859
8034
  }) {
7860
8035
  const meta = METHOD_META[method];
7861
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
8036
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
7862
8037
  "button",
7863
8038
  {
7864
8039
  type: "button",
@@ -7871,14 +8046,14 @@ function MethodChoiceChip({
7871
8046
  ),
7872
8047
  children: [
7873
8048
  meta.label,
7874
- !enabled && disabledReason && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
8049
+ !enabled && disabledReason && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
7875
8050
  ]
7876
8051
  }
7877
8052
  );
7878
8053
  }
7879
8054
 
7880
8055
  // src/web/components/deposit-success-screen.tsx
7881
- var import_jsx_runtime76 = require("react/jsx-runtime");
8056
+ var import_jsx_runtime77 = require("react/jsx-runtime");
7882
8057
  function DepositSuccessScreen({
7883
8058
  handleDone,
7884
8059
  displayTicker,
@@ -7891,20 +8066,20 @@ function DepositSuccessScreen({
7891
8066
  const isInstant = network === "lightning" || network === "spark";
7892
8067
  const title = isInstant ? "Payment Received!" : "Deposit Detected!";
7893
8068
  const subtitle = isInstant ? `Your ${displayTicker} has arrived via ${networkLabel}.` : `Incoming deposit detected via ${networkLabel}. Funds will be available after confirmation.`;
7894
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
7895
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "relative mb-8", children: [
7896
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
7897
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "relative flex size-20 items-center justify-center rounded-full bg-primary/15 shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-5xl text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
8069
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
8070
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "relative mb-8", children: [
8071
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
8072
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "relative flex size-20 items-center justify-center rounded-full bg-primary/15 shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined text-5xl text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
7898
8073
  ] }),
7899
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
7900
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
7901
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "mb-10 flex items-center gap-3 rounded-2xl bg-card/70 px-4 py-3", children: [
7902
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(AssetIcon, { ticker: displayTicker, size: 36 }),
7903
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "text-left", children: [
7904
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "text-sm font-bold text-white", children: displayTicker }),
7905
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
8074
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
8075
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
8076
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "mb-10 flex items-center gap-3 rounded-2xl bg-card/70 px-4 py-3", children: [
8077
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(AssetIcon, { ticker: displayTicker, size: 36 }),
8078
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "text-left", children: [
8079
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-sm font-bold text-white", children: displayTicker }),
8080
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
7906
8081
  ] }),
7907
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
8082
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
7908
8083
  "div",
7909
8084
  {
7910
8085
  className: cn(
@@ -7915,27 +8090,27 @@ function DepositSuccessScreen({
7915
8090
  ),
7916
8091
  children: [
7917
8092
  net.icon,
7918
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: networkLabel })
8093
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { children: networkLabel })
7919
8094
  ]
7920
8095
  }
7921
8096
  )
7922
8097
  ] }),
7923
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
7924
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "account_balance_wallet" }),
8098
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
8099
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "account_balance_wallet" }),
7925
8100
  "Back to Wallet"
7926
8101
  ] })
7927
8102
  ] }) });
7928
8103
  }
7929
8104
 
7930
8105
  // src/web/components/deposit-network-default-modal.tsx
7931
- var import_jsx_runtime77 = require("react/jsx-runtime");
8106
+ var import_jsx_runtime78 = require("react/jsx-runtime");
7932
8107
  var NETWORK_OPTIONS = {
7933
8108
  RGB: {
7934
8109
  network: "onchain",
7935
8110
  account: "RGB",
7936
8111
  label: "On-chain / Lightning",
7937
8112
  description: "Classic Bitcoin address or Lightning invoice via the RLN node.",
7938
- icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
8113
+ icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
7939
8114
  accentBg: "bg-network-bitcoin/10",
7940
8115
  accentBorder: "border-network-bitcoin/30",
7941
8116
  accentText: "text-network-bitcoin"
@@ -7945,7 +8120,7 @@ var NETWORK_OPTIONS = {
7945
8120
  account: "SPARK",
7946
8121
  label: "Spark",
7947
8122
  description: "Receive directly into your Spark account. Fast and free.",
7948
- icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
8123
+ icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
7949
8124
  accentBg: "bg-info/10",
7950
8125
  accentBorder: "border-info/30",
7951
8126
  accentText: "text-info"
@@ -7955,7 +8130,7 @@ var NETWORK_OPTIONS = {
7955
8130
  account: "ARKADE",
7956
8131
  label: "Arkade",
7957
8132
  description: "Receive directly into your Arkade account. Low fees, near-instant settlement.",
7958
- icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
8133
+ icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
7959
8134
  accentBg: "bg-network-arkade/10",
7960
8135
  accentBorder: "border-network-arkade/30",
7961
8136
  accentText: "text-network-arkade"
@@ -7967,7 +8142,7 @@ var NETWORK_OPTIONS = {
7967
8142
  account: "LIQUID",
7968
8143
  label: "Liquid",
7969
8144
  description: "Receive L-BTC or a Liquid asset (USDt) via a confidential Liquid address.",
7970
- icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LiquidNetworkIcon, { className: "h-[18px] w-[18px]" }),
8145
+ icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(LiquidNetworkIcon, { className: "h-[18px] w-[18px]" }),
7971
8146
  accentBg: "bg-network-liquid/10",
7972
8147
  accentBorder: "border-network-liquid/30",
7973
8148
  accentText: "text-network-liquid"
@@ -7982,20 +8157,20 @@ function DepositNetworkDefaultModal({
7982
8157
  }) {
7983
8158
  if (!open) return null;
7984
8159
  const options = availableAccounts.map((id) => NETWORK_OPTIONS[id]).filter(Boolean);
7985
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-background/80 backdrop-blur-lg", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "w-full space-y-4 rounded-t-2xl bg-card px-4 pb-7 pt-5 animate-in slide-in-from-bottom-4 duration-200", children: [
7986
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
7987
- /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { children: [
7988
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
7989
- /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("p", { className: "mt-0.5 text-tiny text-white/45", children: [
8160
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-background/80 backdrop-blur-lg", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "w-full space-y-4 rounded-t-2xl bg-card px-4 pb-7 pt-5 animate-in slide-in-from-bottom-4 duration-200", children: [
8161
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
8162
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { children: [
8163
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
8164
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "mt-0.5 text-tiny text-white/45", children: [
7990
8165
  "Pick how you would like to receive",
7991
8166
  " ",
7992
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
8167
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
7993
8168
  " by default. You can always switch in the deposit screen."
7994
8169
  ] })
7995
8170
  ] }),
7996
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "space-y-2", children: options.map((option) => {
8171
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "space-y-2", children: options.map((option) => {
7997
8172
  const isSuggested = option.account === suggestedAccount;
7998
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
8173
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
7999
8174
  "button",
8000
8175
  {
8001
8176
  type: "button",
@@ -8005,7 +8180,7 @@ function DepositNetworkDefaultModal({
8005
8180
  isSuggested ? option.accentBg : "bg-muted/40 hover:bg-muted/60"
8006
8181
  ),
8007
8182
  children: [
8008
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
8183
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8009
8184
  "div",
8010
8185
  {
8011
8186
  className: cn(
@@ -8016,10 +8191,10 @@ function DepositNetworkDefaultModal({
8016
8191
  children: option.icon
8017
8192
  }
8018
8193
  ),
8019
- /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "min-w-0 flex-1", children: [
8020
- /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center gap-2", children: [
8021
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
8022
- isSuggested && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
8194
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "min-w-0 flex-1", children: [
8195
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center gap-2", children: [
8196
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
8197
+ isSuggested && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8023
8198
  "span",
8024
8199
  {
8025
8200
  className: cn(
@@ -8031,9 +8206,9 @@ function DepositNetworkDefaultModal({
8031
8206
  }
8032
8207
  )
8033
8208
  ] }),
8034
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
8209
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
8035
8210
  ] }),
8036
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
8211
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8037
8212
  "span",
8038
8213
  {
8039
8214
  className: cn(
@@ -8053,7 +8228,7 @@ function DepositNetworkDefaultModal({
8053
8228
 
8054
8229
  // src/web/components/btc-unified-receive.tsx
8055
8230
  var import_react16 = require("react");
8056
- var import_jsx_runtime78 = require("react/jsx-runtime");
8231
+ var import_jsx_runtime79 = require("react/jsx-runtime");
8057
8232
  function formatSatsForRow(value) {
8058
8233
  if (!value || value <= 0 || !Number.isFinite(value)) return null;
8059
8234
  return `${value.toLocaleString("en-US")} sats`;
@@ -8085,46 +8260,46 @@ function BtcUnifiedReceive({
8085
8260
  setInvoiceStatus(null);
8086
8261
  setAccountReceiveResult(null);
8087
8262
  };
8088
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
8089
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
8090
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "relative flex flex-col items-center p-2", children: [
8091
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(QrCode, { value: accountReceiveResult.qrValue, size: 200, tone: "onDark" }),
8092
- isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(PaidOverlay, {})
8263
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
8264
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
8265
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "relative flex flex-col items-center p-2", children: [
8266
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(QrCode, { value: accountReceiveResult.qrValue, size: 200, tone: "onDark" }),
8267
+ isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PaidOverlay, {})
8093
8268
  ] }),
8094
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center justify-center gap-2.5", children: [
8095
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8269
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-center gap-2.5", children: [
8270
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8096
8271
  Button,
8097
8272
  {
8098
8273
  variant: "surface",
8099
8274
  size: "icon-xl",
8100
8275
  "aria-label": `Copy ${accountReceiveResult.qrLabel}`,
8101
8276
  onClick: () => void copyToClipboard(accountReceiveResult.qrValue),
8102
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: isQrCopied ? "check" : "content_copy", size: "lg" })
8277
+ children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: isQrCopied ? "check" : "content_copy", size: "lg" })
8103
8278
  }
8104
8279
  ),
8105
- showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8280
+ showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8106
8281
  Button,
8107
8282
  {
8108
8283
  variant: "surface",
8109
8284
  size: "icon-xl",
8110
8285
  "aria-label": "New address",
8111
8286
  onClick: handleNewAddress,
8112
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: "refresh", size: "lg" })
8287
+ children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "refresh", size: "lg" })
8113
8288
  }
8114
8289
  ),
8115
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8290
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8116
8291
  Button,
8117
8292
  {
8118
8293
  variant: "surface",
8119
8294
  size: "icon-xl",
8120
8295
  "aria-label": "Edit amount and description",
8121
8296
  onClick: () => setShowEdit(true),
8122
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: "edit", size: "lg" })
8297
+ children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "edit", size: "lg" })
8123
8298
  }
8124
8299
  )
8125
8300
  ] })
8126
8301
  ] }),
8127
- invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8302
+ invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8128
8303
  InvoiceStatusBanner,
8129
8304
  {
8130
8305
  isInvoicePending,
@@ -8133,11 +8308,11 @@ function BtcUnifiedReceive({
8133
8308
  invoiceStatus
8134
8309
  }
8135
8310
  ),
8136
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-1.5", children: [
8137
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
8311
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
8312
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
8138
8313
  accountReceiveResult.addresses.map((address) => {
8139
8314
  const network = NETWORK_CONFIG[address.network];
8140
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
8315
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
8141
8316
  "div",
8142
8317
  {
8143
8318
  className: cn(
@@ -8147,35 +8322,35 @@ function BtcUnifiedReceive({
8147
8322
  style: { borderLeftWidth: 3, borderLeftColor: network.color },
8148
8323
  onClick: () => void copyToClipboard(address.value),
8149
8324
  children: [
8150
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
8151
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "min-w-0 flex-1", children: [
8152
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center gap-1.5", children: [
8153
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
8325
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
8326
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "min-w-0 flex-1", children: [
8327
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center gap-1.5", children: [
8328
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
8154
8329
  (() => {
8155
8330
  const amountLabel = formatSatsForRow(address.amountSats);
8156
- return amountLabel ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "rounded-full bg-white/10 px-1.5 py-0.5 text-tiny font-bold tabular-nums text-white/70", children: amountLabel }) : null;
8331
+ return amountLabel ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "rounded-full bg-white/10 px-1.5 py-0.5 text-tiny font-bold tabular-nums text-white/70", children: amountLabel }) : null;
8157
8332
  })()
8158
8333
  ] }),
8159
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.value.length > 50 ? `${address.value.slice(0, 18)}...${address.value.slice(-14)}` : address.value })
8334
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.value.length > 50 ? `${address.value.slice(0, 18)}...${address.value.slice(-14)}` : address.value })
8160
8335
  ] }),
8161
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(CopyIcon, { copied: copied === address.value })
8336
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CopyIcon, { copied: copied === address.value })
8162
8337
  ]
8163
8338
  },
8164
8339
  address.network
8165
8340
  );
8166
8341
  })
8167
8342
  ] }),
8168
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8343
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8169
8344
  BottomSheet,
8170
8345
  {
8171
8346
  open: showEdit,
8172
8347
  title: "Edit request",
8173
- icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: "edit", size: "md" }),
8348
+ icon: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "edit", size: "md" }),
8174
8349
  onClose: () => setShowEdit(false),
8175
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-4", children: [
8176
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-1.5", children: [
8177
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }),
8178
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8350
+ children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-4", children: [
8351
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
8352
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }),
8353
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8179
8354
  "input",
8180
8355
  {
8181
8356
  type: "text",
@@ -8186,14 +8361,14 @@ function BtcUnifiedReceive({
8186
8361
  inputMode: "decimal"
8187
8362
  }
8188
8363
  ),
8189
- amount && loading && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
8190
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
8364
+ amount && loading && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
8365
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
8191
8366
  "Updating invoice..."
8192
8367
  ] })
8193
8368
  ] }),
8194
- onDescriptionChange && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-1.5", children: [
8195
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Description (optional)" }),
8196
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8369
+ onDescriptionChange && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
8370
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Description (optional)" }),
8371
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8197
8372
  "input",
8198
8373
  {
8199
8374
  type: "text",
@@ -8204,7 +8379,7 @@ function BtcUnifiedReceive({
8204
8379
  }
8205
8380
  )
8206
8381
  ] }),
8207
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Button, { variant: "cta", className: "w-full", onClick: () => setShowEdit(false), children: "Done" })
8382
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Button, { variant: "cta", className: "w-full", onClick: () => setShowEdit(false), children: "Done" })
8208
8383
  ] })
8209
8384
  }
8210
8385
  )
@@ -8212,7 +8387,7 @@ function BtcUnifiedReceive({
8212
8387
  }
8213
8388
 
8214
8389
  // src/web/components/deposit-generated-view.tsx
8215
- var import_jsx_runtime79 = require("react/jsx-runtime");
8390
+ var import_jsx_runtime80 = require("react/jsx-runtime");
8216
8391
  function parseAssetAmount(amountString, asset) {
8217
8392
  const value = Number(amountString);
8218
8393
  if (!Number.isFinite(value)) return 0;
@@ -8253,10 +8428,10 @@ function DepositGeneratedView({
8253
8428
  showRegenerate = true,
8254
8429
  onRegenerate
8255
8430
  }) {
8256
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
8257
- (network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl bg-card/70 p-2.5", children: [
8258
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
8259
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8431
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
8432
+ (network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl bg-card/70 p-2.5", children: [
8433
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
8434
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8260
8435
  "input",
8261
8436
  {
8262
8437
  type: "text",
@@ -8267,16 +8442,16 @@ function DepositGeneratedView({
8267
8442
  inputMode: "decimal"
8268
8443
  }
8269
8444
  ),
8270
- amount && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "flex items-center gap-1", children: [
8271
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
8445
+ amount && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "flex items-center gap-1", children: [
8446
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
8272
8447
  "Updating ",
8273
8448
  network === "arkade" ? "URI" : "invoice",
8274
8449
  "..."
8275
8450
  ] }) : network === "arkade" ? `Unified URI for ${amount} ${getUnitLabel()}` : `Invoice for ${amount} ${getUnitLabel()}` })
8276
8451
  ] }),
8277
- network === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl bg-card/70 p-2.5", children: [
8278
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
8279
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8452
+ network === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl bg-card/70 p-2.5", children: [
8453
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
8454
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8280
8455
  "input",
8281
8456
  {
8282
8457
  type: "text",
@@ -8287,25 +8462,25 @@ function DepositGeneratedView({
8287
8462
  inputMode: "decimal"
8288
8463
  }
8289
8464
  ),
8290
- amount && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "flex items-center gap-1", children: [
8291
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
8465
+ amount && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "flex items-center gap-1", children: [
8466
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
8292
8467
  "Updating invoice..."
8293
8468
  ] }) : `Invoice for ${amount} ${getUnitLabel()}` }),
8294
- amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "rounded-lg bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
8469
+ amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("p", { className: "rounded-lg bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
8295
8470
  "Exceeds max: ",
8296
8471
  formatAssetAmount(maxDepositAmount, selectedAsset),
8297
8472
  " ",
8298
8473
  getUnitLabel()
8299
8474
  ] })
8300
8475
  ] }),
8301
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
8302
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
8476
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
8477
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
8303
8478
  "div",
8304
8479
  {
8305
8480
  className: "relative flex flex-col items-center rounded-2xl bg-white p-3.5 transition-all",
8306
8481
  style: net.qrGlow,
8307
8482
  children: [
8308
- showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
8483
+ showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
8309
8484
  "div",
8310
8485
  {
8311
8486
  className: cn(
@@ -8315,21 +8490,21 @@ function DepositGeneratedView({
8315
8490
  ),
8316
8491
  children: [
8317
8492
  net.icon,
8318
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { children: net.label })
8493
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { children: net.label })
8319
8494
  ]
8320
8495
  }
8321
8496
  ),
8322
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(QrCode, { value: address, size: 188 }),
8323
- isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PaidOverlay, {}),
8497
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(QrCode, { value: address, size: 188 }),
8498
+ isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(PaidOverlay, {}),
8324
8499
  loading && !isInvoicePaid && // Loading scrim — sits over the QR while a fresh address/invoice
8325
8500
  // is being fetched (e.g. after the New Address button).
8326
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
8501
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
8327
8502
  ]
8328
8503
  }
8329
8504
  ),
8330
8505
  (() => {
8331
8506
  const isAddressCopied = copied === address;
8332
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
8507
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
8333
8508
  "button",
8334
8509
  {
8335
8510
  type: "button",
@@ -8342,14 +8517,14 @@ function DepositGeneratedView({
8342
8517
  void copyToClipboard(address);
8343
8518
  },
8344
8519
  children: [
8345
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
8520
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
8346
8521
  isAddressCopied ? "Copied" : network === "lightning" ? "Copy Invoice" : "Copy Address"
8347
8522
  ]
8348
8523
  }
8349
8524
  );
8350
8525
  })()
8351
8526
  ] }),
8352
- network === "lightning" && invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8527
+ network === "lightning" && invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8353
8528
  InvoiceStatusBanner,
8354
8529
  {
8355
8530
  isInvoicePending,
@@ -8358,7 +8533,7 @@ function DepositGeneratedView({
8358
8533
  invoiceStatus
8359
8534
  }
8360
8535
  ),
8361
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
8536
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
8362
8537
  "div",
8363
8538
  {
8364
8539
  "data-testid": "deposit-generated-address",
@@ -8369,16 +8544,16 @@ function DepositGeneratedView({
8369
8544
  ),
8370
8545
  onClick: () => void copyToClipboard(address),
8371
8546
  children: [
8372
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
8373
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "min-w-0 flex-1", children: [
8374
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
8375
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.length > 50 ? `${address.slice(0, 18)}...${address.slice(-14)}` : address })
8547
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
8548
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1", children: [
8549
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
8550
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.length > 50 ? `${address.slice(0, 18)}...${address.slice(-14)}` : address })
8376
8551
  ] }),
8377
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CopyIcon, { copied: copied === address })
8552
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CopyIcon, { copied: copied === address })
8378
8553
  ]
8379
8554
  }
8380
8555
  ),
8381
- recipientId && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
8556
+ recipientId && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
8382
8557
  "div",
8383
8558
  {
8384
8559
  className: cn(
@@ -8387,16 +8562,16 @@ function DepositGeneratedView({
8387
8562
  ),
8388
8563
  onClick: () => void copyToClipboard(recipientId),
8389
8564
  children: [
8390
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
8391
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "min-w-0 flex-1", children: [
8392
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
8393
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: recipientId.length > 50 ? `${recipientId.slice(0, 18)}...${recipientId.slice(-14)}` : recipientId })
8565
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
8566
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1", children: [
8567
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
8568
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: recipientId.length > 50 ? `${recipientId.slice(0, 18)}...${recipientId.slice(-14)}` : recipientId })
8394
8569
  ] }),
8395
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CopyIcon, { copied: copied === recipientId })
8570
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CopyIcon, { copied: copied === recipientId })
8396
8571
  ]
8397
8572
  }
8398
8573
  ),
8399
- showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8574
+ showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8400
8575
  "button",
8401
8576
  {
8402
8577
  type: "button",
@@ -8414,7 +8589,7 @@ function DepositGeneratedView({
8414
8589
  setInvoiceStatus(null);
8415
8590
  },
8416
8591
  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",
8417
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8592
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8418
8593
  "span",
8419
8594
  {
8420
8595
  className: cn("material-symbols-outlined text-icon-md", loading && "animate-spin"),
@@ -8427,7 +8602,7 @@ function DepositGeneratedView({
8427
8602
  }
8428
8603
 
8429
8604
  // src/web/components/deposit-pre-generation.tsx
8430
- var import_jsx_runtime80 = require("react/jsx-runtime");
8605
+ var import_jsx_runtime81 = require("react/jsx-runtime");
8431
8606
  var ACCOUNT_TITLES = {
8432
8607
  RGB: "RGB & Lightning",
8433
8608
  SPARK: "Spark",
@@ -8473,58 +8648,58 @@ function DepositPreGeneration({
8473
8648
  }) {
8474
8649
  const method = METHOD_META2[currentMethod];
8475
8650
  const isRgbOnchain = network === "onchain" && !isBtc;
8476
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-3", children: [
8477
- showReceiveSummary && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "rounded-2xl bg-card/70 p-3", children: [
8478
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
8479
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
8480
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
8481
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-white/45", children: "Asset" }),
8482
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
8651
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-3", children: [
8652
+ showReceiveSummary && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "rounded-2xl bg-card/70 p-3", children: [
8653
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
8654
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
8655
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
8656
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-white/45", children: "Asset" }),
8657
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
8483
8658
  ] }),
8484
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
8485
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-white/45", children: "Destination account" }),
8486
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
8659
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
8660
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-white/45", children: "Destination account" }),
8661
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
8487
8662
  ] }),
8488
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
8489
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-white/45", children: "Transfer method" }),
8490
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "font-bold text-white", children: method.label })
8663
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
8664
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-white/45", children: "Transfer method" }),
8665
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-bold text-white", children: method.label })
8491
8666
  ] }),
8492
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-tiny text-white/35", children: method.summary })
8667
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-tiny text-white/35", children: method.summary })
8493
8668
  ] })
8494
8669
  ] }),
8495
- channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex items-center gap-2.5 rounded-xl bg-card/70 p-3", children: [
8496
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
8497
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
8670
+ channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center gap-2.5 rounded-xl bg-card/70 p-3", children: [
8671
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
8672
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
8498
8673
  ] }),
8499
- showChannelWarning && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(AlertBanner, { variant: "warning", children: [
8500
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
8501
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
8674
+ showChannelWarning && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(AlertBanner, { variant: "warning", children: [
8675
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
8676
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
8502
8677
  ] }),
8503
- showLiquidityWarning && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(AlertBanner, { variant: "warning", children: [
8504
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
8505
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("p", { className: "text-tiny text-warning/70", children: [
8678
+ showLiquidityWarning && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(AlertBanner, { variant: "warning", children: [
8679
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
8680
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: "text-tiny text-warning/70", children: [
8506
8681
  "No channels with inbound capacity for ",
8507
8682
  selectedAsset?.ticker ?? "this asset",
8508
8683
  "."
8509
8684
  ] })
8510
8685
  ] }),
8511
- isAutoGenerate && loading && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
8512
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: cn("flex size-16 items-center justify-center rounded-2xl", net.bg), children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
8513
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-1 text-center", children: [
8514
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("p", { className: "text-sm font-bold text-muted-foreground", children: [
8686
+ isAutoGenerate && loading && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
8687
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: cn("flex size-16 items-center justify-center rounded-2xl", net.bg), children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
8688
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1 text-center", children: [
8689
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: "text-sm font-bold text-muted-foreground", children: [
8515
8690
  "Generating ",
8516
8691
  network === "lightning" ? "invoice" : "address",
8517
8692
  "..."
8518
8693
  ] }),
8519
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("p", { className: "text-xs text-white/30", children: [
8694
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: "text-xs text-white/30", children: [
8520
8695
  net.label,
8521
8696
  " network"
8522
8697
  ] })
8523
8698
  ] })
8524
8699
  ] }),
8525
- isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-1.5", children: [
8526
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "RGB Asset ID - Optional" }),
8527
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8700
+ isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1.5", children: [
8701
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "RGB Asset ID - Optional" }),
8702
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8528
8703
  "input",
8529
8704
  {
8530
8705
  type: "text",
@@ -8536,15 +8711,15 @@ function DepositPreGeneration({
8536
8711
  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"
8537
8712
  }
8538
8713
  ),
8539
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("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." })
8714
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("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." })
8540
8715
  ] }),
8541
- isRgbOnchain && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-2.5 rounded-xl bg-card/70 p-3", children: [
8542
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
8543
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1", children: [
8544
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("h4", { className: "text-xs font-bold text-white", children: usePrivacy ? "Blinded receive" : "Witness receive" }),
8545
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Private - recommended" : "Simpler - less private" })
8716
+ isRgbOnchain && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-2.5 rounded-xl bg-card/70 p-3", children: [
8717
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
8718
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "min-w-0 flex-1", children: [
8719
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("h4", { className: "text-xs font-bold text-white", children: usePrivacy ? "Blinded receive" : "Witness receive" }),
8720
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Private - recommended" : "Simpler - less private" })
8546
8721
  ] }),
8547
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8722
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8548
8723
  "button",
8549
8724
  {
8550
8725
  type: "button",
@@ -8554,7 +8729,7 @@ function DepositPreGeneration({
8554
8729
  usePrivacy ? "bg-primary" : "bg-white/10"
8555
8730
  ),
8556
8731
  onClick: () => setUsePrivacy(!usePrivacy),
8557
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8732
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8558
8733
  "span",
8559
8734
  {
8560
8735
  className: cn(
@@ -8566,8 +8741,8 @@ function DepositPreGeneration({
8566
8741
  }
8567
8742
  )
8568
8743
  ] }),
8569
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("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." }),
8570
- usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
8744
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("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." }),
8745
+ usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
8571
8746
  "div",
8572
8747
  {
8573
8748
  className: cn(
@@ -8575,26 +8750,26 @@ function DepositPreGeneration({
8575
8750
  colorableUtxoCount > 0 ? "bg-success/10 text-success/80" : "bg-warning/10 text-warning/80"
8576
8751
  ),
8577
8752
  children: [
8578
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "font-medium", children: "Available colorable UTXOs" }),
8579
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "font-bold tabular-nums", children: colorableUtxoCount })
8753
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-medium", children: "Available colorable UTXOs" }),
8754
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-bold tabular-nums", children: colorableUtxoCount })
8580
8755
  ]
8581
8756
  }
8582
8757
  ),
8583
- usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("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." })
8758
+ usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("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." })
8584
8759
  ] }),
8585
- network === "onchain" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-1.5", children: [
8586
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex items-center justify-between", children: [
8587
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
8760
+ network === "onchain" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1.5", children: [
8761
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between", children: [
8762
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
8588
8763
  "Amount (",
8589
8764
  getUnitLabel(),
8590
8765
  ") - Optional"
8591
8766
  ] }),
8592
- selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "text-xxs text-white/30", children: [
8767
+ selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "text-xxs text-white/30", children: [
8593
8768
  selectedAsset.precision ?? 0,
8594
8769
  " decimals"
8595
8770
  ] })
8596
8771
  ] }),
8597
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8772
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8598
8773
  "input",
8599
8774
  {
8600
8775
  type: "text",
@@ -8606,18 +8781,18 @@ function DepositPreGeneration({
8606
8781
  }
8607
8782
  )
8608
8783
  ] }),
8609
- needsColorableUtxos && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(AlertBanner, { variant: "warning", children: [
8610
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
8611
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-tiny text-warning/70", children: "To receive RGB assets on-chain you need at least one uncolored UTXO. Create some now and the invoice will be generated automatically." })
8784
+ needsColorableUtxos && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(AlertBanner, { variant: "warning", children: [
8785
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
8786
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-tiny text-warning/70", children: "To receive RGB assets on-chain you need at least one uncolored UTXO. Create some now and the invoice will be generated automatically." })
8612
8787
  ] }),
8613
- !isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
8614
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
8788
+ !isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
8789
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
8615
8790
  "Create Colorable UTXOs"
8616
- ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
8617
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
8791
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
8792
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
8618
8793
  "Generating..."
8619
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
8620
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
8794
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
8795
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
8621
8796
  "Generate Address"
8622
8797
  ] }) }))
8623
8798
  ] });
@@ -8625,7 +8800,7 @@ function DepositPreGeneration({
8625
8800
 
8626
8801
  // src/web/components/deposit-asset-selection.tsx
8627
8802
  var import_react17 = require("react");
8628
- var import_jsx_runtime81 = require("react/jsx-runtime");
8803
+ var import_jsx_runtime82 = require("react/jsx-runtime");
8629
8804
  var ADD_ASSET_SUBTITLE = {
8630
8805
  RGB: "RGB asset on Bitcoin",
8631
8806
  SPARK: "Spark-native asset",
@@ -8714,8 +8889,8 @@ function DepositAssetSelection({
8714
8889
  titleHoverClass: "group-hover:text-network-liquid"
8715
8890
  }
8716
8891
  ].filter((option) => option.enabled);
8717
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
8718
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8892
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
8893
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8719
8894
  Button,
8720
8895
  {
8721
8896
  type: "button",
@@ -8723,10 +8898,10 @@ function DepositAssetSelection({
8723
8898
  size: "icon-xl",
8724
8899
  onClick: () => setCurrentView("dashboard"),
8725
8900
  "aria-label": "Go back",
8726
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Icon, { name: "arrow_back", size: "xl" })
8901
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: "arrow_back", size: "xl" })
8727
8902
  }
8728
8903
  ) }),
8729
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8904
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8730
8905
  DotPagination,
8731
8906
  {
8732
8907
  count: 2,
@@ -8734,8 +8909,8 @@ function DepositAssetSelection({
8734
8909
  ariaLabel: "Deposit step 1 of 2: select asset"
8735
8910
  }
8736
8911
  ) }),
8737
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "relative", children: [
8738
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8912
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "relative", children: [
8913
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8739
8914
  Icon,
8740
8915
  {
8741
8916
  name: "search",
@@ -8743,7 +8918,7 @@ function DepositAssetSelection({
8743
8918
  className: "absolute left-3 top-1/2 -translate-y-1/2 text-white/30"
8744
8919
  }
8745
8920
  ),
8746
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8921
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8747
8922
  "input",
8748
8923
  {
8749
8924
  autoFocus: true,
@@ -8756,8 +8931,8 @@ function DepositAssetSelection({
8756
8931
  }
8757
8932
  )
8758
8933
  ] }) }),
8759
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
8760
- btcAsset && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
8934
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
8935
+ btcAsset && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
8761
8936
  "button",
8762
8937
  {
8763
8938
  type: "button",
@@ -8765,28 +8940,28 @@ function DepositAssetSelection({
8765
8940
  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",
8766
8941
  onClick: () => onSelectAsset(btcAsset),
8767
8942
  children: [
8768
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
8769
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
8770
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
8771
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
8943
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
8944
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
8945
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
8946
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
8772
8947
  ] }),
8773
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
8774
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "L1", size: "sm" }),
8775
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "LN", size: "sm" }),
8776
- isSparkConnected && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "Spark", size: "sm" }),
8777
- isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "Arkade", size: "sm" }),
8778
- isLiquidConnected && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "Liquid", size: "sm" })
8948
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
8949
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "L1", size: "sm" }),
8950
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "LN", size: "sm" }),
8951
+ isSparkConnected && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "Spark", size: "sm" }),
8952
+ isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "Arkade", size: "sm" }),
8953
+ isLiquidConnected && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "Liquid", size: "sm" })
8779
8954
  ] }),
8780
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8955
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8781
8956
  ]
8782
8957
  }
8783
8958
  ),
8784
- noResults ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "py-8 text-center text-sm text-white/30", children: [
8959
+ noResults ? /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "py-8 text-center text-sm text-white/30", children: [
8785
8960
  'No assets match "',
8786
8961
  searchQuery,
8787
8962
  '"'
8788
- ] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1.5 pt-1", children: [
8789
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
8963
+ ] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "space-y-1.5 pt-1", children: [
8964
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
8790
8965
  "button",
8791
8966
  {
8792
8967
  type: "button",
@@ -8799,17 +8974,17 @@ function DepositAssetSelection({
8799
8974
  isSearching && "cursor-default"
8800
8975
  ),
8801
8976
  children: [
8802
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
8803
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "inline-flex size-5 items-center justify-center rounded-full bg-white/10 text-tiny font-bold text-white/70", children: ownedAssetsCount }),
8804
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "flex-1" }),
8805
- !isSearching && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
8977
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
8978
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "inline-flex size-5 items-center justify-center rounded-full bg-white/10 text-tiny font-bold text-white/70", children: ownedAssetsCount }),
8979
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex-1" }),
8980
+ !isSearching && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
8806
8981
  ]
8807
8982
  }
8808
8983
  ),
8809
- showOwnedAssets && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
8984
+ showOwnedAssets && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
8810
8985
  const protocolBadge = asset.accountId ? PROTOCOL_BADGE[asset.accountId] : null;
8811
8986
  const balance = asset.balance ?? 0;
8812
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
8987
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
8813
8988
  "button",
8814
8989
  {
8815
8990
  type: "button",
@@ -8817,11 +8992,11 @@ function DepositAssetSelection({
8817
8992
  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",
8818
8993
  onClick: () => onSelectAsset(asset),
8819
8994
  children: [
8820
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
8821
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
8822
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
8823
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
8824
- protocolBadge && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8995
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
8996
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
8997
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
8998
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
8999
+ protocolBadge && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8825
9000
  "span",
8826
9001
  {
8827
9002
  className: cn(
@@ -8832,36 +9007,36 @@ function DepositAssetSelection({
8832
9007
  }
8833
9008
  )
8834
9009
  ] }),
8835
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
9010
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
8836
9011
  ] }),
8837
- balance > 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex-shrink-0 text-right", children: [
8838
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "text-xs font-bold tabular-nums text-white", children: formatAssetBalance(asset) }),
8839
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
9012
+ balance > 0 && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex-shrink-0 text-right", children: [
9013
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "text-xs font-bold tabular-nums text-white", children: formatAssetBalance(asset) }),
9014
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
8840
9015
  ] }),
8841
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-sm text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
9016
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-sm text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8842
9017
  ]
8843
9018
  },
8844
9019
  asset.asset_id
8845
9020
  );
8846
9021
  }) })
8847
9022
  ] }) : null,
8848
- !searchQuery && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
9023
+ !searchQuery && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
8849
9024
  "button",
8850
9025
  {
8851
9026
  type: "button",
8852
9027
  onClick: () => setCurrentView("bridge"),
8853
9028
  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",
8854
9029
  children: [
8855
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
8856
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex-1 text-left", children: [
8857
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
8858
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
9030
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
9031
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex-1 text-left", children: [
9032
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
9033
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
8859
9034
  ] }),
8860
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
9035
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
8861
9036
  ]
8862
9037
  }
8863
9038
  ) }),
8864
- !searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
9039
+ !searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
8865
9040
  "button",
8866
9041
  {
8867
9042
  type: "button",
@@ -8869,27 +9044,27 @@ function DepositAssetSelection({
8869
9044
  onClick: () => setShowAddAssetModal(true),
8870
9045
  className: "group flex w-full items-center gap-3 rounded-2xl bg-white/3 p-3 transition-all hover:bg-accent",
8871
9046
  children: [
8872
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Icon, { name: "add", size: "md", className: "text-primary" }) }),
8873
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex-1 text-left", children: [
8874
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Add an asset" }),
8875
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: "text-xxs leading-tight text-white/40", children: [
9047
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: "add", size: "md", className: "text-primary" }) }),
9048
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex-1 text-left", children: [
9049
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Add an asset" }),
9050
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("p", { className: "text-xxs leading-tight text-white/40", children: [
8876
9051
  "Receive a new ",
8877
9052
  newAssetOptions.map((o) => o.ticker).join(", "),
8878
9053
  " asset"
8879
9054
  ] })
8880
9055
  ] }),
8881
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
9056
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
8882
9057
  ]
8883
9058
  }
8884
9059
  ) })
8885
9060
  ] }),
8886
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
9061
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8887
9062
  BottomSheet,
8888
9063
  {
8889
9064
  open: showAddAssetModal,
8890
9065
  title: "Add an asset",
8891
9066
  onClose: () => setShowAddAssetModal(false),
8892
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "space-y-2", children: newAssetOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
9067
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "space-y-2", children: newAssetOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
8893
9068
  "button",
8894
9069
  {
8895
9070
  type: "button",
@@ -8903,12 +9078,12 @@ function DepositAssetSelection({
8903
9078
  handleAddNewAsset(option.account);
8904
9079
  },
8905
9080
  children: [
8906
- option.account === "LIQUID" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "flex size-9 shrink-0 items-center justify-center rounded-full bg-network-liquid/10", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LiquidNetworkIcon, { className: "size-5" }) }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8907
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "min-w-0 flex-1", children: [
8908
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
8909
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
9081
+ option.account === "LIQUID" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "flex size-9 shrink-0 items-center justify-center rounded-full bg-network-liquid/10", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(LiquidNetworkIcon, { className: "size-5" }) }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
9082
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "min-w-0 flex-1", children: [
9083
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
9084
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
8910
9085
  ] }),
8911
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Icon, { name: "add", size: "sm", className: "text-white/30 transition-colors group-hover:text-white/60" })
9086
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: "add", size: "sm", className: "text-white/30 transition-colors group-hover:text-white/60" })
8912
9087
  ]
8913
9088
  },
8914
9089
  option.account
@@ -8919,7 +9094,7 @@ function DepositAssetSelection({
8919
9094
  }
8920
9095
 
8921
9096
  // src/web/components/deposit-invoice-generation.tsx
8922
- var import_jsx_runtime82 = require("react/jsx-runtime");
9097
+ var import_jsx_runtime83 = require("react/jsx-runtime");
8923
9098
  var ACCOUNT_TITLES2 = {
8924
9099
  RGB: "RGB & Lightning",
8925
9100
  SPARK: "Spark",
@@ -9078,7 +9253,7 @@ function DepositInvoiceGeneration({
9078
9253
  if (nextMethod) applyMethodSelection(account, nextMethod);
9079
9254
  };
9080
9255
  if (depositDetected) {
9081
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
9256
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
9082
9257
  DepositSuccessScreen,
9083
9258
  {
9084
9259
  handleDone,
@@ -9095,15 +9270,15 @@ function DepositInvoiceGeneration({
9095
9270
  const showChannelWarning = selectedAccount === "RGB" && network === "lightning" && !channelsLoading && channels.length === 0 && !isSparkConnected;
9096
9271
  const showLiquidityWarning = !isSparkLightning && network === "lightning" && maxDepositAmount === 0 && !channelsLoading && !isBtc;
9097
9272
  const isNewRgbAsset = isNewAsset && assetFamily === "RGB";
9098
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
9099
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: "arrow_back", size: "xl" }) }) }),
9273
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
9274
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Icon, { name: "arrow_back", size: "xl" }) }) }),
9100
9275
  (() => {
9101
9276
  const hideDestinationRail = isNewAsset && (network === "spark" || network === "arkade");
9102
9277
  if (hideDestinationRail) return null;
9103
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex-shrink-0 bg-background px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "space-y-2", children: [
9104
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { children: [
9105
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
9106
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
9278
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "flex-shrink-0 bg-background px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "space-y-2", children: [
9279
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
9280
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
9281
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
9107
9282
  AccountChoiceChip,
9108
9283
  {
9109
9284
  account,
@@ -9128,9 +9303,9 @@ function DepositInvoiceGeneration({
9128
9303
  account
9129
9304
  )) })
9130
9305
  ] }),
9131
- !isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { children: [
9132
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
9133
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: methodOptions.map(({ method, enabled, disabledReason }) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
9306
+ !isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
9307
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
9308
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: methodOptions.map(({ method, enabled, disabledReason }) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
9134
9309
  MethodChoiceChip,
9135
9310
  {
9136
9311
  method,
@@ -9144,7 +9319,7 @@ function DepositInvoiceGeneration({
9144
9319
  ] })
9145
9320
  ] }) });
9146
9321
  })(),
9147
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
9322
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
9148
9323
  BtcUnifiedReceive,
9149
9324
  {
9150
9325
  btcSelectedAccount,
@@ -9164,15 +9339,15 @@ function DepositInvoiceGeneration({
9164
9339
  setAccountReceiveResult,
9165
9340
  handleDone
9166
9341
  }
9167
- ) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
9168
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
9342
+ ) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
9343
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
9169
9344
  "div",
9170
9345
  {
9171
9346
  className: cn(
9172
9347
  "flex size-16 items-center justify-center rounded-2xl",
9173
9348
  NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].bg
9174
9349
  ),
9175
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
9350
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
9176
9351
  "span",
9177
9352
  {
9178
9353
  className: cn(
@@ -9184,11 +9359,11 @@ function DepositInvoiceGeneration({
9184
9359
  )
9185
9360
  }
9186
9361
  ),
9187
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "space-y-1 text-center", children: [
9188
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
9189
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
9362
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "space-y-1 text-center", children: [
9363
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
9364
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
9190
9365
  ] })
9191
- ] }) : !address ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
9366
+ ] }) : !address ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
9192
9367
  DepositPreGeneration,
9193
9368
  {
9194
9369
  selectedAsset,
@@ -9212,7 +9387,7 @@ function DepositInvoiceGeneration({
9212
9387
  onOpenCreateUtxos,
9213
9388
  showReceiveSummary: !isNewRgbAsset
9214
9389
  }
9215
- ) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
9390
+ ) : /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
9216
9391
  DepositGeneratedView,
9217
9392
  {
9218
9393
  network,
@@ -9270,6 +9445,7 @@ function DepositInvoiceGeneration({
9270
9445
  ArkadeNetworkIcon,
9271
9446
  AssetCard,
9272
9447
  AssetIcon,
9448
+ AssetInfoChip,
9273
9449
  AssetSelector,
9274
9450
  BalanceBreakdown,
9275
9451
  BottomNav,
@@ -9311,6 +9487,7 @@ function DepositInvoiceGeneration({
9311
9487
  HeadlineGradient,
9312
9488
  Icon,
9313
9489
  Icons,
9490
+ InfoChip,
9314
9491
  InfoPanel,
9315
9492
  InlineAction,
9316
9493
  InlineSelector,
@@ -9327,6 +9504,7 @@ function DepositInvoiceGeneration({
9327
9504
  MobileHeroAnimation,
9328
9505
  NETWORK_CONFIG,
9329
9506
  NetworkBadge,
9507
+ NetworkInfoChip,
9330
9508
  NetworkInfoDisclosure,
9331
9509
  NetworkStatusChip,
9332
9510
  NostrNetworkIcon,