kaleido-ui 0.1.123 → 0.1.124

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.
@@ -122,6 +122,7 @@ __export(web_exports, {
122
122
  NetworkStatusChip: () => NetworkStatusChip,
123
123
  NostrNetworkIcon: () => NostrNetworkIcon,
124
124
  NumberInput: () => NumberInput,
125
+ OnchainNetworkIcon: () => OnchainNetworkIcon,
125
126
  OptionSelector: () => OptionSelector,
126
127
  PageHeader: () => PageHeader,
127
128
  PageShell: () => PageShell,
@@ -2614,6 +2615,32 @@ function RgbNetworkIcon({ className = "size-3.5", alt = "RGB" }) {
2614
2615
  function LiquidNetworkIcon({ className = "size-3.5", alt = "Liquid" }) {
2615
2616
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("img", { src: protocolIcons.Liquid, alt, className: cn("object-contain", className) });
2616
2617
  }
2618
+ function OnchainNetworkIcon({
2619
+ className = "size-3.5",
2620
+ inherit = false
2621
+ }) {
2622
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
2623
+ "svg",
2624
+ {
2625
+ viewBox: "0 0 24 24",
2626
+ fill: "currentColor",
2627
+ stroke: "currentColor",
2628
+ strokeWidth: "2",
2629
+ strokeLinecap: "round",
2630
+ "aria-hidden": true,
2631
+ width: "1em",
2632
+ height: "1em",
2633
+ className: cn("inline-block shrink-0", className),
2634
+ style: inherit ? void 0 : { color: "var(--color-network-bitcoin)" },
2635
+ children: [
2636
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("rect", { x: "2", y: "2", width: "8", height: "8", rx: "2", stroke: "none" }),
2637
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("rect", { x: "14", y: "2", width: "8", height: "8", rx: "2", stroke: "none" }),
2638
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("rect", { x: "14", y: "14", width: "8", height: "8", rx: "2", stroke: "none" }),
2639
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { d: "M10 6h4M18 10v4", fill: "none" })
2640
+ ]
2641
+ }
2642
+ );
2643
+ }
2617
2644
 
2618
2645
  // src/web/components/action-tile.tsx
2619
2646
  var import_jsx_runtime27 = require("react/jsx-runtime");
@@ -5474,6 +5501,7 @@ function ActivityDetailRow({
5474
5501
  }
5475
5502
 
5476
5503
  // src/web/components/withdraw-destination-input.tsx
5504
+ var import_react12 = require("react");
5477
5505
  var import_jsx_runtime49 = require("react/jsx-runtime");
5478
5506
  function WithdrawDestinationInput({
5479
5507
  destination,
@@ -5485,21 +5513,35 @@ function WithdrawDestinationInput({
5485
5513
  handlePaste,
5486
5514
  handleReset
5487
5515
  }) {
5516
+ const fieldRef = (0, import_react12.useRef)(null);
5517
+ (0, import_react12.useLayoutEffect)(() => {
5518
+ const field = fieldRef.current;
5519
+ if (!field) return;
5520
+ field.style.height = "auto";
5521
+ field.style.height = `${field.scrollHeight}px`;
5522
+ }, [destination]);
5488
5523
  return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "space-y-2", children: [
5489
5524
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("label", { className: "ml-1 text-xs font-bold uppercase tracking-wider text-muted-foreground", children: "Destination" }),
5490
5525
  /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "relative", children: [
5491
5526
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5492
- "input",
5527
+ "textarea",
5493
5528
  {
5494
- type: "text",
5529
+ ref: fieldRef,
5495
5530
  "data-testid": "withdraw-destination-input",
5496
- className: "w-full rounded-2xl bg-card px-5 py-4 pr-20 font-mono text-sm text-white shadow-inner transition-all placeholder:text-white/20 focus:outline focus:outline-2 focus:outline-primary/50",
5531
+ rows: 1,
5532
+ spellCheck: false,
5533
+ autoComplete: "off",
5534
+ autoCapitalize: "off",
5535
+ className: "block max-h-32 min-h-14 w-full resize-none break-all leading-relaxed rounded-2xl bg-card px-5 py-4 pr-20 font-mono text-sm text-white shadow-inner transition-all placeholder:text-white/20 focus:outline focus:outline-2 focus:outline-primary/50",
5497
5536
  placeholder: "Address, Invoice, or RGB Invoice",
5498
5537
  value: destination,
5499
- onChange: (event) => setDestination(event.target.value)
5538
+ onChange: (event) => setDestination(event.target.value.replace(/\s*[\r\n]+\s*/g, "")),
5539
+ onKeyDown: (event) => {
5540
+ if (event.key === "Enter") event.preventDefault();
5541
+ }
5500
5542
  }
5501
5543
  ),
5502
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "absolute right-3 top-1/2 flex -translate-y-1/2 items-center gap-1", children: [
5544
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "absolute right-3 top-3 flex items-center gap-1", children: [
5503
5545
  destination && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5504
5546
  "button",
5505
5547
  {
@@ -5550,6 +5592,7 @@ function WithdrawAmountInput({
5550
5592
  handleSetMax,
5551
5593
  selectedAssetId,
5552
5594
  selectedAssetTicker,
5595
+ unitSlot,
5553
5596
  formattedBalance,
5554
5597
  decodedLnInvoice,
5555
5598
  decodedRgbInvoice,
@@ -5592,7 +5635,7 @@ function WithdrawAmountInput({
5592
5635
  onChange: handleAmountChange
5593
5636
  }
5594
5637
  ),
5595
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: "mt-0.5 text-xs text-muted-foreground", children: unitLabel })
5638
+ unitSlot ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { "data-slot": "amount-unit", className: "mt-1 flex min-w-0 items-center gap-2", children: unitSlot }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: "mt-0.5 text-xs text-muted-foreground", children: unitLabel })
5596
5639
  ] }),
5597
5640
  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5598
5641
  "button",
@@ -5934,8 +5977,8 @@ function WithdrawConfirmation({
5934
5977
  selectedAsset,
5935
5978
  destination,
5936
5979
  networkLabel,
5980
+ networkIcon,
5937
5981
  routeAccount,
5938
- routeMethod,
5939
5982
  estimatedFee,
5940
5983
  feeIsExact = false,
5941
5984
  feeRate,
@@ -5946,6 +5989,12 @@ function WithdrawConfirmation({
5946
5989
  reviewLabels,
5947
5990
  handleConfirmSend
5948
5991
  }) {
5992
+ const ticker = selectedAsset?.ticker ?? selectedAssetId;
5993
+ const unit = selectedAssetId === "BTC" ? "sats" : selectedAsset?.ticker ?? "units";
5994
+ const busy = isConfirming || isPollingStatus;
5995
+ const showTotal = selectedAssetId === "BTC" && estimatedFee > 0;
5996
+ const fromAccount = routeAccount && routeAccount.toLowerCase() !== networkLabel.toLowerCase() ? routeAccount : null;
5997
+ const total = Math.round(parseFloat(amount.replace(/,/g, "")) || 0) + estimatedFee;
5949
5998
  return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: [
5950
5999
  /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5951
6000
  Button,
@@ -5954,82 +6003,74 @@ function WithdrawConfirmation({
5954
6003
  variant: "ghost",
5955
6004
  size: "icon-xl",
5956
6005
  onClick: () => {
5957
- if (!isConfirming && !isPollingStatus) {
5958
- setShowConfirmation(false);
5959
- }
6006
+ if (!busy) setShowConfirmation(false);
5960
6007
  },
5961
6008
  "aria-label": "Go back",
5962
- className: isConfirming || isPollingStatus ? "pointer-events-none opacity-70" : void 0,
6009
+ className: busy ? "pointer-events-none opacity-70" : void 0,
5963
6010
  children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon, { name: "arrow_back", size: "xl" })
5964
6011
  }
5965
6012
  ) }),
5966
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ScrollArea, { className: "flex-1", viewportClassName: "px-5 pt-16 pb-6", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("main", { className: "space-y-6", children: [
5967
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col items-center py-6", children: [
5968
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "mb-1 text-sm uppercase tracking-wide text-muted-foreground", children: reviewLabels?.recipientReceives ?? "Recipient receives" }),
5969
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h1", { className: "mb-2 text-4xl font-bold", children: displayAmount.toLocaleString() }),
5970
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "text-base text-muted-foreground", children: selectedAssetId === "BTC" ? "sats" : selectedAsset?.ticker ?? "units" })
5971
- ] }),
5972
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "overflow-hidden rounded-2xl bg-card/90 py-1 shadow-inner backdrop-blur-2xl", children: [
5973
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center justify-between px-5 py-4", children: [
5974
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-muted-foreground", children: "To" }),
5975
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "max-w-[200px] truncate font-mono text-sm text-white", title: destination, children: destination.length > 24 ? `${destination.substring(0, 12)}...${destination.slice(-12)}` : destination })
6013
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ScrollArea, { className: "flex-1", viewportClassName: "px-5 pt-14 pb-6", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("main", { className: "space-y-4", children: [
6014
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { "data-slot": "payment-review-hero", className: "flex flex-col items-center pt-2", children: [
6015
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "relative mb-3", children: [
6016
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AssetIcon, { ticker, logoUri: selectedAsset?.icon, size: 48 }),
6017
+ networkIcon && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
6018
+ "span",
6019
+ {
6020
+ "data-slot": "payment-review-network-badge",
6021
+ "aria-hidden": "true",
6022
+ className: "absolute -bottom-1 -right-1 flex size-6 items-center justify-center rounded-full bg-card ring-2 ring-background",
6023
+ children: networkIcon
6024
+ }
6025
+ )
5976
6026
  ] }),
5977
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center justify-between px-5 py-4", children: [
5978
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-muted-foreground", children: "Network" }),
5979
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center gap-1.5", children: [
5980
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "size-1.5 rounded-full bg-primary" }),
5981
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm font-bold text-white", children: networkLabel })
6027
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "text-sm uppercase tracking-wide text-muted-foreground", children: reviewLabels?.recipientReceives ?? "Recipient receives" }),
6028
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("p", { className: "mt-1 flex items-baseline gap-2", children: [
6029
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-4xl font-bold tabular-nums", children: displayAmount.toLocaleString("en-US") }),
6030
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-base text-muted-foreground", children: unit })
6031
+ ] })
6032
+ ] }),
6033
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "space-y-1 rounded-2xl bg-card/90 p-2 shadow-inner backdrop-blur-2xl", children: [
6034
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ReviewRow, { label: "To", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "min-w-0 truncate font-mono text-sm text-white", title: destination, children: destination.length > 24 ? `${destination.slice(0, 12)}\u2026${destination.slice(-8)}` : destination }) }),
6035
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ReviewRow, { label: "Network", "data-testid": "payment-review-network", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
6036
+ networkIcon && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { "aria-hidden": "true", className: "flex shrink-0 items-center", children: networkIcon }),
6037
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "truncate text-sm font-bold text-white", children: networkLabel }),
6038
+ fromAccount && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("span", { className: "shrink-0 text-xs text-muted-foreground", children: [
6039
+ "from ",
6040
+ fromAccount
5982
6041
  ] })
5983
- ] }),
5984
- routeAccount && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center justify-between px-5 py-4", children: [
5985
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-muted-foreground", children: "From Account" }),
5986
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm font-bold text-white", children: routeAccount })
5987
- ] }),
5988
- routeMethod && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center justify-between px-5 py-4", children: [
5989
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-muted-foreground", children: "Route Method" }),
5990
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm font-bold text-white", children: routeMethod })
5991
- ] }),
5992
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center justify-between px-5 py-4", children: [
5993
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-muted-foreground", children: "Asset" }),
5994
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm font-bold text-white", children: selectedAsset?.ticker ?? selectedAssetId })
5995
- ] }),
5996
- estimatedFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5997
- "div",
6042
+ ] }) }),
6043
+ estimatedFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
6044
+ ReviewRow,
5998
6045
  {
6046
+ label: reviewLabels?.estimatedNetworkFee ?? "Estimated network fee",
5999
6047
  "data-testid": "payment-review-fee",
6000
- className: "flex items-center justify-between px-5 py-4",
6048
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("span", { className: "flex items-baseline gap-1.5", children: [
6049
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm tabular-nums text-white", children: `${feeIsExact ? "" : "~"}${estimatedFee.toLocaleString("en-US")} sats` }),
6050
+ feeRate && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-xxs font-bold capitalize tracking-wider text-primary", children: feeRate })
6051
+ ] })
6052
+ }
6053
+ ),
6054
+ addressType === "rgb" && decodedRgbInvoice?.recipient_type === "Witness" && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ReviewRow, { label: "Witness amount", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("span", { className: "text-sm tabular-nums text-white", children: [
6055
+ witnessAmountSat.toLocaleString("en-US"),
6056
+ " sats"
6057
+ ] }) }),
6058
+ showTotal && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
6059
+ "div",
6060
+ {
6061
+ "data-testid": "payment-review-total",
6062
+ className: "flex items-center justify-between gap-3 rounded-xl bg-primary/10 px-3 py-2.5",
6001
6063
  children: [
6002
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-muted-foreground", children: reviewLabels?.estimatedNetworkFee ?? "Estimated network fee" }),
6003
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col items-end", children: [
6004
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-white", children: `${feeIsExact ? "" : "~"}${estimatedFee.toLocaleString()} sats` }),
6005
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "mt-0.5 text-xxs font-bold capitalize tracking-wider text-primary", children: feeRate })
6064
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-xs font-bold uppercase tracking-wider text-primary", children: reviewLabels?.totalDeducted ?? "Total deducted" }),
6065
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("span", { className: "text-lg font-bold tabular-nums text-white", children: [
6066
+ total.toLocaleString("en-US"),
6067
+ " ",
6068
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-primary/70", children: "sats" })
6006
6069
  ] })
6007
6070
  ]
6008
6071
  }
6009
- ),
6010
- addressType === "rgb" && decodedRgbInvoice?.recipient_type === "Witness" && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center justify-between px-5 py-4", children: [
6011
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-muted-foreground", children: "Witness Amount" }),
6012
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("span", { className: "text-sm text-white", children: [
6013
- witnessAmountSat,
6014
- " sats"
6015
- ] })
6016
- ] })
6072
+ )
6017
6073
  ] }),
6018
- selectedAssetId === "BTC" && estimatedFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
6019
- "div",
6020
- {
6021
- "data-testid": "payment-review-total",
6022
- className: "flex items-center justify-between rounded-2xl bg-primary/10 p-5 shadow-inner",
6023
- children: [
6024
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm font-bold uppercase tracking-wider text-primary", children: reviewLabels?.totalDeducted ?? "Total deducted" }),
6025
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("span", { className: "text-xl font-bold text-white", children: [
6026
- (Math.round(parseFloat(amount) || 0) + estimatedFee).toLocaleString(),
6027
- " ",
6028
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-lg text-primary/70", children: "sats" })
6029
- ] })
6030
- ]
6031
- }
6032
- ),
6033
6074
  isPollingStatus && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center gap-3 rounded-xl bg-primary/10 p-4", children: [
6034
6075
  /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "material-symbols-outlined animate-spin text-primary", children: "progress_activity" }),
6035
6076
  /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { children: [
@@ -6043,9 +6084,9 @@ function WithdrawConfirmation({
6043
6084
  variant: "cta",
6044
6085
  size: "cta-lg",
6045
6086
  onClick: handleConfirmSend,
6046
- disabled: isConfirming || isPollingStatus,
6047
- className: "mt-2 w-full",
6048
- children: isConfirming || isPollingStatus ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
6087
+ disabled: busy,
6088
+ className: "w-full",
6089
+ children: busy ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
6049
6090
  /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-2xl", children: "progress_activity" }),
6050
6091
  isPollingStatus ? "Waiting for confirmation..." : "Sending..."
6051
6092
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
@@ -6057,6 +6098,16 @@ function WithdrawConfirmation({
6057
6098
  ] }) })
6058
6099
  ] });
6059
6100
  }
6101
+ function ReviewRow({
6102
+ label,
6103
+ children,
6104
+ ...props
6105
+ }) {
6106
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex min-h-11 items-center justify-between gap-3 px-3 py-2", ...props, children: [
6107
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "shrink-0 text-sm text-muted-foreground", children: label }),
6108
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "flex min-w-0 justify-end", children })
6109
+ ] });
6110
+ }
6060
6111
 
6061
6112
  // src/web/components/withdraw-success.tsx
6062
6113
  var import_jsx_runtime54 = require("react/jsx-runtime");
@@ -6656,9 +6707,9 @@ function AssetInfoChip({
6656
6707
  }
6657
6708
 
6658
6709
  // src/web/components/error-boundary.tsx
6659
- var import_react12 = require("react");
6710
+ var import_react13 = require("react");
6660
6711
  var import_jsx_runtime66 = require("react/jsx-runtime");
6661
- var ErrorBoundary = class extends import_react12.Component {
6712
+ var ErrorBoundary = class extends import_react13.Component {
6662
6713
  constructor(props) {
6663
6714
  super(props);
6664
6715
  this.state = { hasError: false, error: null };
@@ -7300,7 +7351,7 @@ function SelectableCard({
7300
7351
  }
7301
7352
 
7302
7353
  // src/web/components/mobile-hero-animation.tsx
7303
- var import_react13 = require("react");
7354
+ var import_react14 = require("react");
7304
7355
  var import_jsx_runtime79 = require("react/jsx-runtime");
7305
7356
  var PROTOCOLS = [
7306
7357
  { name: "Bitcoin", network: "Bitcoin", iconSuffix: "bitcoin/bitcoin-logo.svg" },
@@ -7341,17 +7392,17 @@ var MobileHeroAnimation = ({
7341
7392
  className,
7342
7393
  iconBasePath
7343
7394
  }) => {
7344
- const containerRef = (0, import_react13.useRef)(null);
7345
- const [reducedMotion, setReducedMotion] = (0, import_react13.useState)(false);
7346
- const [isVisible, setIsVisible] = (0, import_react13.useState)(true);
7347
- (0, import_react13.useEffect)(() => {
7395
+ const containerRef = (0, import_react14.useRef)(null);
7396
+ const [reducedMotion, setReducedMotion] = (0, import_react14.useState)(false);
7397
+ const [isVisible, setIsVisible] = (0, import_react14.useState)(true);
7398
+ (0, import_react14.useEffect)(() => {
7348
7399
  const mq = window.matchMedia("(prefers-reduced-motion: reduce)");
7349
7400
  setReducedMotion(mq.matches);
7350
7401
  const handler = (e) => setReducedMotion(e.matches);
7351
7402
  mq.addEventListener("change", handler);
7352
7403
  return () => mq.removeEventListener("change", handler);
7353
7404
  }, []);
7354
- (0, import_react13.useEffect)(() => {
7405
+ (0, import_react14.useEffect)(() => {
7355
7406
  const el = containerRef.current;
7356
7407
  if (!el) return;
7357
7408
  const observer = new IntersectionObserver(([entry]) => setIsVisible(entry.isIntersecting), { threshold: 0.1 });
@@ -7560,7 +7611,7 @@ var MobileHeroAnimation = ({
7560
7611
  };
7561
7612
 
7562
7613
  // src/web/components/kaleidoscope-hero-animation.tsx
7563
- var import_react14 = require("react");
7614
+ var import_react15 = require("react");
7564
7615
  var import_jsx_runtime80 = require("react/jsx-runtime");
7565
7616
  var PROTOCOLS2 = [
7566
7617
  { name: "Bitcoin L1", network: "L1", color: "#F7931A", glowColor: "rgba(247,147,26,0.5)" },
@@ -7585,14 +7636,14 @@ var KaleidoScopeHeroAnimation = ({
7585
7636
  className = "",
7586
7637
  iconBasePath = "/icons"
7587
7638
  }) => {
7588
- const containerRef = (0, import_react14.useRef)(null);
7589
- const targetOffset = (0, import_react14.useRef)({ x: 0, y: 0 });
7590
- const currentOffset = (0, import_react14.useRef)({ x: 0, y: 0 });
7591
- const rafId = (0, import_react14.useRef)(0);
7592
- const [offset, setOffset] = (0, import_react14.useState)({ x: 0, y: 0 });
7593
- const [reducedMotion, setReducedMotion] = (0, import_react14.useState)(false);
7594
- const [hoveredProtocol, setHoveredProtocol] = (0, import_react14.useState)(null);
7595
- const [isVisible, setIsVisible] = (0, import_react14.useState)(true);
7639
+ const containerRef = (0, import_react15.useRef)(null);
7640
+ const targetOffset = (0, import_react15.useRef)({ x: 0, y: 0 });
7641
+ const currentOffset = (0, import_react15.useRef)({ x: 0, y: 0 });
7642
+ const rafId = (0, import_react15.useRef)(0);
7643
+ const [offset, setOffset] = (0, import_react15.useState)({ x: 0, y: 0 });
7644
+ const [reducedMotion, setReducedMotion] = (0, import_react15.useState)(false);
7645
+ const [hoveredProtocol, setHoveredProtocol] = (0, import_react15.useState)(null);
7646
+ const [isVisible, setIsVisible] = (0, import_react15.useState)(true);
7596
7647
  const c = 250;
7597
7648
  const orbitR = 148;
7598
7649
  const innerR = 82;
@@ -7600,14 +7651,14 @@ var KaleidoScopeHeroAnimation = ({
7600
7651
  const outerR2 = 185;
7601
7652
  const midR = 118;
7602
7653
  const iconR = 24;
7603
- (0, import_react14.useEffect)(() => {
7654
+ (0, import_react15.useEffect)(() => {
7604
7655
  const mq = window.matchMedia("(prefers-reduced-motion: reduce)");
7605
7656
  setReducedMotion(mq.matches);
7606
7657
  const handler = (e) => setReducedMotion(e.matches);
7607
7658
  mq.addEventListener("change", handler);
7608
7659
  return () => mq.removeEventListener("change", handler);
7609
7660
  }, []);
7610
- (0, import_react14.useEffect)(() => {
7661
+ (0, import_react15.useEffect)(() => {
7611
7662
  const el = containerRef.current;
7612
7663
  if (!el) return;
7613
7664
  const observer = new IntersectionObserver(
@@ -7617,7 +7668,7 @@ var KaleidoScopeHeroAnimation = ({
7617
7668
  observer.observe(el);
7618
7669
  return () => observer.disconnect();
7619
7670
  }, []);
7620
- const handleMouseMove = (0, import_react14.useCallback)((e) => {
7671
+ const handleMouseMove = (0, import_react15.useCallback)((e) => {
7621
7672
  if (reducedMotion) return;
7622
7673
  const el = containerRef.current;
7623
7674
  if (!el) return;
@@ -7628,10 +7679,10 @@ var KaleidoScopeHeroAnimation = ({
7628
7679
  const dy = Math.max(-1, Math.min(1, (e.clientY - my) / (rect.height / 2)));
7629
7680
  targetOffset.current = { x: dx, y: dy };
7630
7681
  }, [reducedMotion]);
7631
- const handleMouseLeave = (0, import_react14.useCallback)(() => {
7682
+ const handleMouseLeave = (0, import_react15.useCallback)(() => {
7632
7683
  targetOffset.current = { x: 0, y: 0 };
7633
7684
  }, []);
7634
- (0, import_react14.useEffect)(() => {
7685
+ (0, import_react15.useEffect)(() => {
7635
7686
  if (reducedMotion || !isVisible || window.matchMedia("(pointer: coarse)").matches) return;
7636
7687
  const lerp = () => {
7637
7688
  const cur = currentOffset.current;
@@ -7647,7 +7698,7 @@ var KaleidoScopeHeroAnimation = ({
7647
7698
  rafId.current = requestAnimationFrame(lerp);
7648
7699
  return () => cancelAnimationFrame(rafId.current);
7649
7700
  }, [reducedMotion, isVisible]);
7650
- (0, import_react14.useEffect)(() => {
7701
+ (0, import_react15.useEffect)(() => {
7651
7702
  if (window.matchMedia("(pointer: coarse)").matches) return;
7652
7703
  document.addEventListener("mousemove", handleMouseMove);
7653
7704
  const el = containerRef.current;
@@ -8218,7 +8269,7 @@ var KaleidoScopeHeroAnimation = ({
8218
8269
  };
8219
8270
 
8220
8271
  // src/web/components/deposit-ui-shared.tsx
8221
- var import_react15 = require("react");
8272
+ var import_react16 = require("react");
8222
8273
  var import_jsx_runtime81 = require("react/jsx-runtime");
8223
8274
  var GLOW_ALPHA = "26";
8224
8275
  function qrGlowStyle(hex) {
@@ -8452,7 +8503,7 @@ function NetworkInfoDisclosure({
8452
8503
  networks,
8453
8504
  className
8454
8505
  }) {
8455
- const [open, setOpen] = (0, import_react15.useState)(false);
8506
+ const [open, setOpen] = (0, import_react16.useState)(false);
8456
8507
  if (networks.length === 0) return null;
8457
8508
  return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: cn("overflow-hidden rounded-xl bg-card/70 transition-all", className), children: [
8458
8509
  /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
@@ -8688,7 +8739,7 @@ function DepositNetworkDefaultModal({
8688
8739
  }
8689
8740
 
8690
8741
  // src/web/components/btc-unified-receive.tsx
8691
- var import_react16 = require("react");
8742
+ var import_react17 = require("react");
8692
8743
  var import_jsx_runtime84 = require("react/jsx-runtime");
8693
8744
  function formatSatsForRow(value) {
8694
8745
  if (!value || value <= 0 || !Number.isFinite(value)) return null;
@@ -8713,7 +8764,7 @@ function BtcUnifiedReceive({
8713
8764
  description,
8714
8765
  onDescriptionChange
8715
8766
  }) {
8716
- const [showEdit, setShowEdit] = (0, import_react16.useState)(false);
8767
+ const [showEdit, setShowEdit] = (0, import_react17.useState)(false);
8717
8768
  const isQrCopied = copied === accountReceiveResult.qrValue;
8718
8769
  const handleNewAddress = () => {
8719
8770
  setAddress("");
@@ -9260,7 +9311,7 @@ function DepositPreGeneration({
9260
9311
  }
9261
9312
 
9262
9313
  // src/web/components/deposit-asset-selection.tsx
9263
- var import_react17 = require("react");
9314
+ var import_react18 = require("react");
9264
9315
  var import_jsx_runtime87 = require("react/jsx-runtime");
9265
9316
  var ADD_ASSET_SUBTITLE = {
9266
9317
  RGB: "RGB asset on Bitcoin",
@@ -9306,9 +9357,9 @@ function DepositAssetSelection({
9306
9357
  const ownedAssetsCount = ownedAssets.length;
9307
9358
  const noResults = filteredAssets.length === 0 && !!searchQuery;
9308
9359
  const isSearching = !!searchQuery;
9309
- const [assetsExpanded, setAssetsExpanded] = (0, import_react17.useState)(false);
9310
- const [showAddAssetModal, setShowAddAssetModal] = (0, import_react17.useState)(false);
9311
- (0, import_react17.useEffect)(() => {
9360
+ const [assetsExpanded, setAssetsExpanded] = (0, import_react18.useState)(false);
9361
+ const [showAddAssetModal, setShowAddAssetModal] = (0, import_react18.useState)(false);
9362
+ (0, import_react18.useEffect)(() => {
9312
9363
  if (isSearching) setAssetsExpanded(true);
9313
9364
  }, [isSearching]);
9314
9365
  const showOwnedAssets = isSearching ? true : assetsExpanded;
@@ -9973,6 +10024,7 @@ function DepositInvoiceGeneration({
9973
10024
  NetworkStatusChip,
9974
10025
  NostrNetworkIcon,
9975
10026
  NumberInput,
10027
+ OnchainNetworkIcon,
9976
10028
  OptionSelector,
9977
10029
  PageHeader,
9978
10030
  PageShell,
@@ -386,6 +386,11 @@ declare function RgbNetworkIcon({ className, alt }: NetworkIconProps): react_jsx
386
386
  * mark rather than a placeholder — matching the extension's LiquidIcon.
387
387
  */
388
388
  declare function LiquidNetworkIcon({ className, alt }: NetworkIconProps): react_jsx_runtime.JSX.Element;
389
+ /** Bitcoin on-chain mark: two linked blocks, in the Bitcoin network colour. */
390
+ declare function OnchainNetworkIcon({ className, inherit, }: {
391
+ className?: string;
392
+ inherit?: boolean;
393
+ }): react_jsx_runtime.JSX.Element;
389
394
 
390
395
  interface ActionTileProps {
391
396
  icon: ReactNode;
@@ -1107,6 +1112,11 @@ interface WithdrawAmountInputProps {
1107
1112
  handleSetMax: () => void;
1108
1113
  selectedAssetId: string;
1109
1114
  selectedAssetTicker: string | undefined;
1115
+ /**
1116
+ * Replaces the unit caption under the amount, e.g. with a sats/fiat toggle,
1117
+ * so the unit is picked where the amount is typed.
1118
+ */
1119
+ unitSlot?: ReactNode;
1110
1120
  assetBalance?: number;
1111
1121
  formattedBalance: string;
1112
1122
  decodedLnInvoice: WithdrawDecodedLnInvoice | null;
@@ -1137,7 +1147,7 @@ interface WithdrawAmountInputProps {
1137
1147
  donation: boolean;
1138
1148
  setDonation: (value: boolean) => void;
1139
1149
  }
1140
- declare function WithdrawAmountInput({ addressType, amount, handleAmountChange, handleSetMax, selectedAssetId, selectedAssetTicker, formattedBalance, decodedLnInvoice, decodedRgbInvoice, lnurlPayData, witnessAmountSat, setWitnessAmountSat, feeRate, setFeeRate, feeRates, feeRateMode, setFeeRateMode, customFeeRate, setCustomFeeRate, effectiveFeeRateSatPerVb, estimatedFee, donation, setDonation, }: WithdrawAmountInputProps): react_jsx_runtime.JSX.Element;
1150
+ declare function WithdrawAmountInput({ addressType, amount, handleAmountChange, handleSetMax, selectedAssetId, selectedAssetTicker, unitSlot, formattedBalance, decodedLnInvoice, decodedRgbInvoice, lnurlPayData, witnessAmountSat, setWitnessAmountSat, feeRate, setFeeRate, feeRates, feeRateMode, setFeeRateMode, customFeeRate, setCustomFeeRate, effectiveFeeRateSatPerVb, estimatedFee, donation, setDonation, }: WithdrawAmountInputProps): react_jsx_runtime.JSX.Element;
1141
1151
 
1142
1152
  interface WithdrawInvoiceAsset {
1143
1153
  asset_id: string;
@@ -1214,10 +1224,15 @@ interface WithdrawConfirmationProps {
1214
1224
  selectedAssetId: string;
1215
1225
  selectedAsset?: {
1216
1226
  ticker?: string;
1227
+ icon?: string;
1217
1228
  };
1218
1229
  destination: string;
1219
1230
  networkLabel: string;
1231
+ /** The network's mark, e.g. `<ArkadeNetworkIcon />`: shown in the Network row and as the badge on the asset. */
1232
+ networkIcon?: ReactNode;
1233
+ /** The paying account. Shown as "from …" beside the network only when it differs from `networkLabel`. */
1220
1234
  routeAccount?: string;
1235
+ /** @deprecated No longer shown: the network and account already say how the payment goes. */
1221
1236
  routeMethod?: string;
1222
1237
  estimatedFee: number;
1223
1238
  /** The fee is quoted, not estimated: drop the `~`. Defaults to false. */
@@ -1235,7 +1250,7 @@ interface WithdrawConfirmationProps {
1235
1250
  };
1236
1251
  handleConfirmSend: () => void;
1237
1252
  }
1238
- declare function WithdrawConfirmation({ isConfirming, isPollingStatus, setShowConfirmation, displayAmount, selectedAssetId, selectedAsset, destination, networkLabel, routeAccount, routeMethod, estimatedFee, feeIsExact, feeRate, addressType, decodedRgbInvoice, witnessAmountSat, amount, reviewLabels, handleConfirmSend, }: WithdrawConfirmationProps): react_jsx_runtime.JSX.Element;
1253
+ declare function WithdrawConfirmation({ isConfirming, isPollingStatus, setShowConfirmation, displayAmount, selectedAssetId, selectedAsset, destination, networkLabel, networkIcon, routeAccount, estimatedFee, feeIsExact, feeRate, addressType, decodedRgbInvoice, witnessAmountSat, amount, reviewLabels, handleConfirmSend, }: WithdrawConfirmationProps): react_jsx_runtime.JSX.Element;
1239
1254
 
1240
1255
  interface WithdrawSuccessProps {
1241
1256
  displayAmount: number;
@@ -2097,4 +2112,4 @@ declare function getFallbackAssetIconUrl(seed: string): string;
2097
2112
  */
2098
2113
  declare function useAssetIcon(ticker: string, cdnBaseUrl?: string): string;
2099
2114
 
2100
- export { AccountCapabilitiesCard, type AccountCapabilitiesCardProps, AccountChoiceChip, AccountHeaderIcons, AccountInfoGrid, AccountNetworkNotice, AccountNetworkPicker, AccountNetworkSelector, AccountNotice, type AccountSettingsNetwork, type AccountSettingsProtocol, AccountSettingsRow, AccountSettingsShell, AccountStatusPills, type AccountStatusTabItem, AccountStatusTabs, type AccountStatusTabsProps, ActionTile, type ActionTileProps, ActivityDetailRow, type ActivityDetailRowProps, ActivityFilterBar, type ActivityFilterBarProps, ActivityList, type ActivityListItem, type ActivityListProps, type ActivityNetworkFilterOption, type ActivityNetworkFilterValue, ActivityNetworkFilters, type ActivityNetworkFiltersProps, ActivityRow, type ActivityRowProps, type ActivityStatusOption, type ActivityTypeTabCounts, type ActivityTypeTabValue, ActivityTypeTabs, AlertBanner, type AmountDisplayOptions, type AmountDisplayUnit, AppIcon, type AppIconName, type AppIconProps, ArkadeNetworkIcon, AssetCard, type AssetCardProps, AssetIcon, AssetInfoChip, type AssetInfoChipProps, AssetSelector, type AssetSelectorCategory, type AssetSelectorNetworkOption, type AssetSelectorOption, type AssetSelectorProps, type AssetSelectorQuickAsset, BalanceBreakdown, type BalanceBreakdownAccounts, type BalanceBreakdownAsset, type BalanceBreakdownNodeInfo, type BalanceBreakdownProps, BottomNav, type BottomNavItem, type BottomNavProps, BottomSheet, type BottomSheetAction, type BottomSheetProps, type BrandArtwork, type BrandPaint, BtcUnifiedReceive, type BtcUnifiedReceiveAddress, type BtcUnifiedReceiveProps, type BtcUnifiedReceiveResult, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CopyIcon, type DepositAccountId, DepositAssetSelection, type DepositAssetSelectionProps, type DepositGeneratedAsset, DepositGeneratedView, type DepositGeneratedViewProps, type DepositGenerationController, type DepositInvoiceAsset, DepositInvoiceGeneration, type DepositInvoiceGenerationProps, type DepositNetworkConfigEntry, DepositNetworkDefaultModal, type DepositNetworkDefaultModalProps, type DepositNetworkKey, type DepositNetworkOption, DepositPreGeneration, type DepositPreGenerationAsset, type DepositPreGenerationProps, type DepositSelectionAsset, DepositSuccessScreen, type DepositSuccessScreenProps, type DepositTransferMethod, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisclosureCard, type DisclosureCardProps, DotPagination, type DotPaginationProps, type DotTone, ErrorBoundary, ErrorCard, type ErrorCardProps, ExpandIcon, ExtensionPageFrame, type ExtensionPageFrameProps, FadeOverlay, type FadeOverlayProps, FilterChipGroup, type FilterChipGroupProps, type FilterChipOption, FilterDropdown, type FilterDropdownOption, type FilterDropdownProps, HaloBackdrop, type HaloBackdropProps, HeadlineGradient, type HeadlineGradientProps, Icon, type IconName, type IconProps, Icons, InfoChip, type InfoChipContentProps, type InfoChipEditAction, type InfoChipProps, type InfoChipStatus, InfoPanel, type InfoPanelProps, InlineAction, InlineSelector, type InlineSelectorOption, type InlineSelectorProps, Input, type InputProps, InvoiceStatusBanner, KaleidoScopeHeroAnimation, type KaleidoScopeHeroAnimationProps, KaleidoswapLogo, type KaleidoswapLogoProps, KaleidoswapMark, type KaleidoswapMarkProps, Label, LightningNetworkIcon, LiquidNetworkIcon, ListSkeletonRows, type ListSkeletonRowsProps, LoadingCard, type LoadingCardProps, MethodChoiceChip, MetricCard, type MetricCardProps, MobileHeroAnimation, type MobileHeroAnimationProps, NETWORK_CONFIG, NetworkBadge, type NetworkBadgeProps, type NetworkIconProps, NetworkInfoChip, type NetworkInfoChipProps, NetworkInfoDisclosure, NetworkStatusChip, type NetworkStatusChipProps, type NetworkType, NostrNetworkIcon, NumberInput, type NumberInputProps, OptionSelector, type OptionSelectorOption, type OptionSelectorProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PaidOverlay, QrCode, type QrCodeProps, RecoveryPhraseCard, type RecoveryPhraseCardProps, RgbNetworkIcon, ScrollArea, type ScrollAreaProps, SecretRevealCard, type SecretRevealCardProps, SectionHeader, type SectionHeaderProps, SectionLabel, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, SelectableCard, type SelectableCardProps, SettingItem, SettingsActionButton, SettingsSectionCard, type SettingsSectionCardProps, SettingsSelectorRow, type SettingsSelectorRowProps, SettingsStatusPanel, SettingsTile, type SettingsTileProps, Skeleton, type SkeletonProps, type SkeletonTone, SparkNetworkIcon, StatusBadge, StatusIconBadge, type StatusIconBadgeProps, type StatusType, StepperNumberInput, type StepperNumberInputProps, type SummaryRowItem, type SummaryRowTone, SummaryRows, type SummaryRowsProps, SwapBadge, type SwapBadgeProps, SwapInputCard, type SwapInputCardProps, type SwapStepItem, SwapStepList, type SwapStepListProps, type SwapStepStatus, Switch, SwitchRow, type SwitchRowProps, Tabs, TabsContent, TabsList, TabsTrigger, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, ToneBadge, type ToneBadgeProps, TransactionCard, type TransactionCardProps, TransferRouteCard, WalletAssetList, type WalletAssetListEmptyState, type WalletAssetListItem, type WalletAssetListProps, type WithdrawAddressType, WithdrawAmountInput, type WithdrawAmountInputProps, WithdrawConfirmation, type WithdrawConfirmationProps, type WithdrawConfirmationRgbInvoice, type WithdrawDecodedLnInvoice, type WithdrawDecodedRgbInvoice, WithdrawDestinationInput, type WithdrawDestinationInputProps, type WithdrawInvoiceAsset, WithdrawInvoiceInfo, type WithdrawInvoiceInfoLnInvoice, type WithdrawInvoiceInfoProps, type WithdrawInvoiceInfoRgbInvoice, type WithdrawLnurlPayData, type WithdrawRouteOption, WithdrawRouteSelector, type WithdrawRouteSelectorProps, type WithdrawRouteSummary, WithdrawSuccess, type WithdrawSuccessProps, buttonVariants, cn, formatDisplayAmountText, getAccountNetworkLabel, getAccountNetworkUi, getAccountStatusUi, getActivityNetworkFilterIcon, getAssetIconUrl, getFallbackAssetIconUrl, kaleidoswapLogoHorizontalArtwork, kaleidoswapLogoVerticalArtwork, kaleidoswapMarkArtwork, toast, useAssetIcon, useToast };
2115
+ export { AccountCapabilitiesCard, type AccountCapabilitiesCardProps, AccountChoiceChip, AccountHeaderIcons, AccountInfoGrid, AccountNetworkNotice, AccountNetworkPicker, AccountNetworkSelector, AccountNotice, type AccountSettingsNetwork, type AccountSettingsProtocol, AccountSettingsRow, AccountSettingsShell, AccountStatusPills, type AccountStatusTabItem, AccountStatusTabs, type AccountStatusTabsProps, ActionTile, type ActionTileProps, ActivityDetailRow, type ActivityDetailRowProps, ActivityFilterBar, type ActivityFilterBarProps, ActivityList, type ActivityListItem, type ActivityListProps, type ActivityNetworkFilterOption, type ActivityNetworkFilterValue, ActivityNetworkFilters, type ActivityNetworkFiltersProps, ActivityRow, type ActivityRowProps, type ActivityStatusOption, type ActivityTypeTabCounts, type ActivityTypeTabValue, ActivityTypeTabs, AlertBanner, type AmountDisplayOptions, type AmountDisplayUnit, AppIcon, type AppIconName, type AppIconProps, ArkadeNetworkIcon, AssetCard, type AssetCardProps, AssetIcon, AssetInfoChip, type AssetInfoChipProps, AssetSelector, type AssetSelectorCategory, type AssetSelectorNetworkOption, type AssetSelectorOption, type AssetSelectorProps, type AssetSelectorQuickAsset, BalanceBreakdown, type BalanceBreakdownAccounts, type BalanceBreakdownAsset, type BalanceBreakdownNodeInfo, type BalanceBreakdownProps, BottomNav, type BottomNavItem, type BottomNavProps, BottomSheet, type BottomSheetAction, type BottomSheetProps, type BrandArtwork, type BrandPaint, BtcUnifiedReceive, type BtcUnifiedReceiveAddress, type BtcUnifiedReceiveProps, type BtcUnifiedReceiveResult, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CopyIcon, type DepositAccountId, DepositAssetSelection, type DepositAssetSelectionProps, type DepositGeneratedAsset, DepositGeneratedView, type DepositGeneratedViewProps, type DepositGenerationController, type DepositInvoiceAsset, DepositInvoiceGeneration, type DepositInvoiceGenerationProps, type DepositNetworkConfigEntry, DepositNetworkDefaultModal, type DepositNetworkDefaultModalProps, type DepositNetworkKey, type DepositNetworkOption, DepositPreGeneration, type DepositPreGenerationAsset, type DepositPreGenerationProps, type DepositSelectionAsset, DepositSuccessScreen, type DepositSuccessScreenProps, type DepositTransferMethod, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisclosureCard, type DisclosureCardProps, DotPagination, type DotPaginationProps, type DotTone, ErrorBoundary, ErrorCard, type ErrorCardProps, ExpandIcon, ExtensionPageFrame, type ExtensionPageFrameProps, FadeOverlay, type FadeOverlayProps, FilterChipGroup, type FilterChipGroupProps, type FilterChipOption, FilterDropdown, type FilterDropdownOption, type FilterDropdownProps, HaloBackdrop, type HaloBackdropProps, HeadlineGradient, type HeadlineGradientProps, Icon, type IconName, type IconProps, Icons, InfoChip, type InfoChipContentProps, type InfoChipEditAction, type InfoChipProps, type InfoChipStatus, InfoPanel, type InfoPanelProps, InlineAction, InlineSelector, type InlineSelectorOption, type InlineSelectorProps, Input, type InputProps, InvoiceStatusBanner, KaleidoScopeHeroAnimation, type KaleidoScopeHeroAnimationProps, KaleidoswapLogo, type KaleidoswapLogoProps, KaleidoswapMark, type KaleidoswapMarkProps, Label, LightningNetworkIcon, LiquidNetworkIcon, ListSkeletonRows, type ListSkeletonRowsProps, LoadingCard, type LoadingCardProps, MethodChoiceChip, MetricCard, type MetricCardProps, MobileHeroAnimation, type MobileHeroAnimationProps, NETWORK_CONFIG, NetworkBadge, type NetworkBadgeProps, type NetworkIconProps, NetworkInfoChip, type NetworkInfoChipProps, NetworkInfoDisclosure, NetworkStatusChip, type NetworkStatusChipProps, type NetworkType, NostrNetworkIcon, NumberInput, type NumberInputProps, OnchainNetworkIcon, OptionSelector, type OptionSelectorOption, type OptionSelectorProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PaidOverlay, QrCode, type QrCodeProps, RecoveryPhraseCard, type RecoveryPhraseCardProps, RgbNetworkIcon, ScrollArea, type ScrollAreaProps, SecretRevealCard, type SecretRevealCardProps, SectionHeader, type SectionHeaderProps, SectionLabel, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, SelectableCard, type SelectableCardProps, SettingItem, SettingsActionButton, SettingsSectionCard, type SettingsSectionCardProps, SettingsSelectorRow, type SettingsSelectorRowProps, SettingsStatusPanel, SettingsTile, type SettingsTileProps, Skeleton, type SkeletonProps, type SkeletonTone, SparkNetworkIcon, StatusBadge, StatusIconBadge, type StatusIconBadgeProps, type StatusType, StepperNumberInput, type StepperNumberInputProps, type SummaryRowItem, type SummaryRowTone, SummaryRows, type SummaryRowsProps, SwapBadge, type SwapBadgeProps, SwapInputCard, type SwapInputCardProps, type SwapStepItem, SwapStepList, type SwapStepListProps, type SwapStepStatus, Switch, SwitchRow, type SwitchRowProps, Tabs, TabsContent, TabsList, TabsTrigger, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, ToneBadge, type ToneBadgeProps, TransactionCard, type TransactionCardProps, TransferRouteCard, WalletAssetList, type WalletAssetListEmptyState, type WalletAssetListItem, type WalletAssetListProps, type WithdrawAddressType, WithdrawAmountInput, type WithdrawAmountInputProps, WithdrawConfirmation, type WithdrawConfirmationProps, type WithdrawConfirmationRgbInvoice, type WithdrawDecodedLnInvoice, type WithdrawDecodedRgbInvoice, WithdrawDestinationInput, type WithdrawDestinationInputProps, type WithdrawInvoiceAsset, WithdrawInvoiceInfo, type WithdrawInvoiceInfoLnInvoice, type WithdrawInvoiceInfoProps, type WithdrawInvoiceInfoRgbInvoice, type WithdrawLnurlPayData, type WithdrawRouteOption, WithdrawRouteSelector, type WithdrawRouteSelectorProps, type WithdrawRouteSummary, WithdrawSuccess, type WithdrawSuccessProps, buttonVariants, cn, formatDisplayAmountText, getAccountNetworkLabel, getAccountNetworkUi, getAccountStatusUi, getActivityNetworkFilterIcon, getAssetIconUrl, getFallbackAssetIconUrl, kaleidoswapLogoHorizontalArtwork, kaleidoswapLogoVerticalArtwork, kaleidoswapMarkArtwork, toast, useAssetIcon, useToast };