kaleido-ui 0.1.119 → 0.1.121

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.
@@ -1412,7 +1412,7 @@ function StatusBadge({ status, className }) {
1412
1412
  className
1413
1413
  ),
1414
1414
  children: [
1415
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: icon }),
1415
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon, { name: icon, className: "text-icon-sm" }),
1416
1416
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: label })
1417
1417
  ]
1418
1418
  }
@@ -1846,7 +1846,10 @@ function AssetCard({
1846
1846
  const displayShown = balanceVisible ? formatDisplayAmountText(displayBalance) : shown;
1847
1847
  const [hovered, setHovered] = (0, import_react4.useState)(false);
1848
1848
  const showYield = isYielding ?? ["USDB"].includes(ticker.toUpperCase());
1849
- const gradientStyle = accentColor ? { background: `linear-gradient(135deg, var(--card) 30%, ${accentColor}${hovered ? "77" : "55"} 75%, ${accentColor}${hovered ? "dd" : "b3"} 100%)`, transition: "background 0.3s ease" } : void 0;
1849
+ const gradientStyle = accentColor ? {
1850
+ background: `linear-gradient(135deg, var(--card) 35%, ${accentColor}${hovered ? "55" : "33"} 78%, ${accentColor}${hovered ? "99" : "70"} 100%)`,
1851
+ transition: "background 0.3s ease"
1852
+ } : void 0;
1850
1853
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1851
1854
  "div",
1852
1855
  {
@@ -3533,6 +3536,7 @@ function BalanceBreakdown({
3533
3536
  onRefresh,
3534
3537
  isRefreshing = false,
3535
3538
  onNavigate,
3539
+ actionLabels,
3536
3540
  compact = false,
3537
3541
  tokenValueSats
3538
3542
  }) {
@@ -3767,7 +3771,7 @@ function BalanceBreakdown({
3767
3771
  ActionTile,
3768
3772
  {
3769
3773
  icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "material-symbols-outlined text-icon-sm leading-none", children: "call_received" }),
3770
- label: "Deposit",
3774
+ label: actionLabels?.receive ?? "Deposit",
3771
3775
  onClick: () => onNavigate?.("deposit"),
3772
3776
  "data-testid": "dashboard-action-deposit"
3773
3777
  }
@@ -3785,7 +3789,7 @@ function BalanceBreakdown({
3785
3789
  ActionTile,
3786
3790
  {
3787
3791
  icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "material-symbols-outlined text-icon-sm leading-none", children: "arrow_outward" }),
3788
- label: "Withdraw",
3792
+ label: actionLabels?.send ?? "Withdraw",
3789
3793
  onClick: () => onNavigate?.("withdraw"),
3790
3794
  "data-testid": "dashboard-action-withdraw"
3791
3795
  }
@@ -5030,7 +5034,7 @@ function ActivityDetailRow({
5030
5034
  },
5031
5035
  className: "-my-1 rounded-md p-1 text-white/30 transition-colors hover:bg-accent hover:text-primary active:scale-95",
5032
5036
  title: fullValue ? `Copy: ${fullValue}` : "Copy",
5033
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "material-symbols-outlined", style: { fontSize: "14px" }, children: isCopied ? "check" : "content_copy" })
5037
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Icon, { name: isCopied ? "check" : "content_copy", style: { fontSize: "14px" } })
5034
5038
  }
5035
5039
  )
5036
5040
  ] })
@@ -5507,6 +5511,7 @@ function WithdrawConfirmation({
5507
5511
  decodedRgbInvoice,
5508
5512
  witnessAmountSat,
5509
5513
  amount,
5514
+ reviewLabels,
5510
5515
  handleConfirmSend
5511
5516
  }) {
5512
5517
  return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: [
@@ -5528,7 +5533,7 @@ function WithdrawConfirmation({
5528
5533
  ) }),
5529
5534
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ScrollArea, { className: "flex-1", viewportClassName: "px-5 pt-16 pb-6", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("main", { className: "space-y-6", children: [
5530
5535
  /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col items-center py-6", children: [
5531
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "mb-1 text-sm uppercase tracking-wide text-muted-foreground", children: "Sending" }),
5536
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "mb-1 text-sm uppercase tracking-wide text-muted-foreground", children: reviewLabels?.recipientReceives ?? "Recipient receives" }),
5532
5537
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("h1", { className: "mb-2 text-4xl font-bold", children: displayAmount.toLocaleString() }),
5533
5538
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "text-base text-muted-foreground", children: selectedAssetId === "BTC" ? "sats" : selectedAsset?.ticker ?? "units" })
5534
5539
  ] }),
@@ -5556,17 +5561,24 @@ function WithdrawConfirmation({
5556
5561
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm text-muted-foreground", children: "Asset" }),
5557
5562
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm font-bold text-white", children: selectedAsset?.ticker ?? selectedAssetId })
5558
5563
  ] }),
5559
- estimatedFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-between px-5 py-4", children: [
5560
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm text-muted-foreground", children: "Network Fee" }),
5561
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col items-end", children: [
5562
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: "text-sm text-white", children: [
5563
- "~",
5564
- estimatedFee.toLocaleString(),
5565
- " sats"
5566
- ] }),
5567
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "mt-0.5 text-xxs font-bold capitalize tracking-wider text-primary", children: feeRate })
5568
- ] })
5569
- ] }),
5564
+ estimatedFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
5565
+ "div",
5566
+ {
5567
+ "data-testid": "payment-review-fee",
5568
+ className: "flex items-center justify-between px-5 py-4",
5569
+ children: [
5570
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm text-muted-foreground", children: reviewLabels?.estimatedNetworkFee ?? "Estimated network fee" }),
5571
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col items-end", children: [
5572
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: "text-sm text-white", children: [
5573
+ "~",
5574
+ estimatedFee.toLocaleString(),
5575
+ " sats"
5576
+ ] }),
5577
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "mt-0.5 text-xxs font-bold capitalize tracking-wider text-primary", children: feeRate })
5578
+ ] })
5579
+ ]
5580
+ }
5581
+ ),
5570
5582
  addressType === "rgb" && decodedRgbInvoice?.recipient_type === "Witness" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-between px-5 py-4", children: [
5571
5583
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm text-muted-foreground", children: "Witness Amount" }),
5572
5584
  /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: "text-sm text-white", children: [
@@ -5575,14 +5587,21 @@ function WithdrawConfirmation({
5575
5587
  ] })
5576
5588
  ] })
5577
5589
  ] }),
5578
- selectedAssetId === "BTC" && estimatedFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-between rounded-2xl bg-primary/10 p-5 px-2 shadow-inner", children: [
5579
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm font-bold uppercase tracking-wider text-primary", children: "Total to deduct" }),
5580
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: "text-xl font-bold text-white", children: [
5581
- (Math.round(parseFloat(amount) || 0) + estimatedFee).toLocaleString(),
5582
- " ",
5583
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-lg text-primary/70", children: "sats" })
5584
- ] })
5585
- ] }),
5590
+ selectedAssetId === "BTC" && estimatedFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
5591
+ "div",
5592
+ {
5593
+ "data-testid": "payment-review-total",
5594
+ className: "flex items-center justify-between rounded-2xl bg-primary/10 p-5 shadow-inner",
5595
+ children: [
5596
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm font-bold uppercase tracking-wider text-primary", children: reviewLabels?.totalDeducted ?? "Total deducted" }),
5597
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: "text-xl font-bold text-white", children: [
5598
+ (Math.round(parseFloat(amount) || 0) + estimatedFee).toLocaleString(),
5599
+ " ",
5600
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-lg text-primary/70", children: "sats" })
5601
+ ] })
5602
+ ]
5603
+ }
5604
+ ),
5586
5605
  isPollingStatus && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-3 rounded-xl bg-primary/10 p-4", children: [
5587
5606
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "material-symbols-outlined animate-spin text-primary", children: "progress_activity" }),
5588
5607
  /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
@@ -761,6 +761,11 @@ interface BalanceBreakdownProps {
761
761
  onRefresh?: () => void;
762
762
  isRefreshing?: boolean;
763
763
  onNavigate?: (view: 'deposit' | 'swap' | 'withdraw') => void;
764
+ /** Localized labels for receiving and sending funds. */
765
+ actionLabels?: {
766
+ receive: string;
767
+ send: string;
768
+ };
764
769
  /** Reduce vertical padding/margins so the card occupies less of the viewport. */
765
770
  compact?: boolean;
766
771
  /**
@@ -770,7 +775,7 @@ interface BalanceBreakdownProps {
770
775
  */
771
776
  tokenValueSats?: number;
772
777
  }
773
- declare function BalanceBreakdown({ btcOnchain, btcLightning, externalLightningAvailable, btcSpark, btcArkade, btcLiquid, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, btcLiquidPending, onRefresh, isRefreshing, onNavigate, compact, tokenValueSats, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
778
+ declare function BalanceBreakdown({ btcOnchain, btcLightning, externalLightningAvailable, btcSpark, btcArkade, btcLiquid, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, btcLiquidPending, onRefresh, isRefreshing, onNavigate, actionLabels, compact, tokenValueSats, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
774
779
 
775
780
  interface AssetSelectorOption {
776
781
  id: string;
@@ -1140,9 +1145,15 @@ interface WithdrawConfirmationProps {
1140
1145
  decodedRgbInvoice: WithdrawConfirmationRgbInvoice | null;
1141
1146
  witnessAmountSat: number;
1142
1147
  amount: string;
1148
+ /** Localized labels for the payment review amounts. */
1149
+ reviewLabels?: {
1150
+ recipientReceives: string;
1151
+ estimatedNetworkFee: string;
1152
+ totalDeducted: string;
1153
+ };
1143
1154
  handleConfirmSend: () => void;
1144
1155
  }
1145
- declare function WithdrawConfirmation({ isConfirming, isPollingStatus, setShowConfirmation, displayAmount, selectedAssetId, selectedAsset, destination, networkLabel, routeAccount, routeMethod, estimatedFee, feeRate, addressType, decodedRgbInvoice, witnessAmountSat, amount, handleConfirmSend, }: WithdrawConfirmationProps): react_jsx_runtime.JSX.Element;
1156
+ declare function WithdrawConfirmation({ isConfirming, isPollingStatus, setShowConfirmation, displayAmount, selectedAssetId, selectedAsset, destination, networkLabel, routeAccount, routeMethod, estimatedFee, feeRate, addressType, decodedRgbInvoice, witnessAmountSat, amount, reviewLabels, handleConfirmSend, }: WithdrawConfirmationProps): react_jsx_runtime.JSX.Element;
1146
1157
 
1147
1158
  interface WithdrawSuccessProps {
1148
1159
  displayAmount: number;
@@ -761,6 +761,11 @@ interface BalanceBreakdownProps {
761
761
  onRefresh?: () => void;
762
762
  isRefreshing?: boolean;
763
763
  onNavigate?: (view: 'deposit' | 'swap' | 'withdraw') => void;
764
+ /** Localized labels for receiving and sending funds. */
765
+ actionLabels?: {
766
+ receive: string;
767
+ send: string;
768
+ };
764
769
  /** Reduce vertical padding/margins so the card occupies less of the viewport. */
765
770
  compact?: boolean;
766
771
  /**
@@ -770,7 +775,7 @@ interface BalanceBreakdownProps {
770
775
  */
771
776
  tokenValueSats?: number;
772
777
  }
773
- declare function BalanceBreakdown({ btcOnchain, btcLightning, externalLightningAvailable, btcSpark, btcArkade, btcLiquid, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, btcLiquidPending, onRefresh, isRefreshing, onNavigate, compact, tokenValueSats, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
778
+ declare function BalanceBreakdown({ btcOnchain, btcLightning, externalLightningAvailable, btcSpark, btcArkade, btcLiquid, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, btcLiquidPending, onRefresh, isRefreshing, onNavigate, actionLabels, compact, tokenValueSats, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
774
779
 
775
780
  interface AssetSelectorOption {
776
781
  id: string;
@@ -1140,9 +1145,15 @@ interface WithdrawConfirmationProps {
1140
1145
  decodedRgbInvoice: WithdrawConfirmationRgbInvoice | null;
1141
1146
  witnessAmountSat: number;
1142
1147
  amount: string;
1148
+ /** Localized labels for the payment review amounts. */
1149
+ reviewLabels?: {
1150
+ recipientReceives: string;
1151
+ estimatedNetworkFee: string;
1152
+ totalDeducted: string;
1153
+ };
1143
1154
  handleConfirmSend: () => void;
1144
1155
  }
1145
- declare function WithdrawConfirmation({ isConfirming, isPollingStatus, setShowConfirmation, displayAmount, selectedAssetId, selectedAsset, destination, networkLabel, routeAccount, routeMethod, estimatedFee, feeRate, addressType, decodedRgbInvoice, witnessAmountSat, amount, handleConfirmSend, }: WithdrawConfirmationProps): react_jsx_runtime.JSX.Element;
1156
+ declare function WithdrawConfirmation({ isConfirming, isPollingStatus, setShowConfirmation, displayAmount, selectedAssetId, selectedAsset, destination, networkLabel, routeAccount, routeMethod, estimatedFee, feeRate, addressType, decodedRgbInvoice, witnessAmountSat, amount, reviewLabels, handleConfirmSend, }: WithdrawConfirmationProps): react_jsx_runtime.JSX.Element;
1146
1157
 
1147
1158
  interface WithdrawSuccessProps {
1148
1159
  displayAmount: number;
package/dist/web/index.js CHANGED
@@ -1218,7 +1218,7 @@ function StatusBadge({ status, className }) {
1218
1218
  className
1219
1219
  ),
1220
1220
  children: [
1221
- /* @__PURE__ */ jsx16("span", { className: "material-symbols-outlined text-icon-sm", children: icon }),
1221
+ /* @__PURE__ */ jsx16(Icon, { name: icon, className: "text-icon-sm" }),
1222
1222
  /* @__PURE__ */ jsx16("span", { children: label })
1223
1223
  ]
1224
1224
  }
@@ -1652,7 +1652,10 @@ function AssetCard({
1652
1652
  const displayShown = balanceVisible ? formatDisplayAmountText(displayBalance) : shown;
1653
1653
  const [hovered, setHovered] = useState5(false);
1654
1654
  const showYield = isYielding ?? ["USDB"].includes(ticker.toUpperCase());
1655
- const gradientStyle = accentColor ? { background: `linear-gradient(135deg, var(--card) 30%, ${accentColor}${hovered ? "77" : "55"} 75%, ${accentColor}${hovered ? "dd" : "b3"} 100%)`, transition: "background 0.3s ease" } : void 0;
1655
+ const gradientStyle = accentColor ? {
1656
+ background: `linear-gradient(135deg, var(--card) 35%, ${accentColor}${hovered ? "55" : "33"} 78%, ${accentColor}${hovered ? "99" : "70"} 100%)`,
1657
+ transition: "background 0.3s ease"
1658
+ } : void 0;
1656
1659
  return /* @__PURE__ */ jsxs10(
1657
1660
  "div",
1658
1661
  {
@@ -3345,6 +3348,7 @@ function BalanceBreakdown({
3345
3348
  onRefresh,
3346
3349
  isRefreshing = false,
3347
3350
  onNavigate,
3351
+ actionLabels,
3348
3352
  compact = false,
3349
3353
  tokenValueSats
3350
3354
  }) {
@@ -3579,7 +3583,7 @@ function BalanceBreakdown({
3579
3583
  ActionTile,
3580
3584
  {
3581
3585
  icon: /* @__PURE__ */ jsx38("span", { className: "material-symbols-outlined text-icon-sm leading-none", children: "call_received" }),
3582
- label: "Deposit",
3586
+ label: actionLabels?.receive ?? "Deposit",
3583
3587
  onClick: () => onNavigate?.("deposit"),
3584
3588
  "data-testid": "dashboard-action-deposit"
3585
3589
  }
@@ -3597,7 +3601,7 @@ function BalanceBreakdown({
3597
3601
  ActionTile,
3598
3602
  {
3599
3603
  icon: /* @__PURE__ */ jsx38("span", { className: "material-symbols-outlined text-icon-sm leading-none", children: "arrow_outward" }),
3600
- label: "Withdraw",
3604
+ label: actionLabels?.send ?? "Withdraw",
3601
3605
  onClick: () => onNavigate?.("withdraw"),
3602
3606
  "data-testid": "dashboard-action-withdraw"
3603
3607
  }
@@ -4842,7 +4846,7 @@ function ActivityDetailRow({
4842
4846
  },
4843
4847
  className: "-my-1 rounded-md p-1 text-white/30 transition-colors hover:bg-accent hover:text-primary active:scale-95",
4844
4848
  title: fullValue ? `Copy: ${fullValue}` : "Copy",
4845
- children: /* @__PURE__ */ jsx46("span", { className: "material-symbols-outlined", style: { fontSize: "14px" }, children: isCopied ? "check" : "content_copy" })
4849
+ children: /* @__PURE__ */ jsx46(Icon, { name: isCopied ? "check" : "content_copy", style: { fontSize: "14px" } })
4846
4850
  }
4847
4851
  )
4848
4852
  ] })
@@ -5319,6 +5323,7 @@ function WithdrawConfirmation({
5319
5323
  decodedRgbInvoice,
5320
5324
  witnessAmountSat,
5321
5325
  amount,
5326
+ reviewLabels,
5322
5327
  handleConfirmSend
5323
5328
  }) {
5324
5329
  return /* @__PURE__ */ jsxs38("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: [
@@ -5340,7 +5345,7 @@ function WithdrawConfirmation({
5340
5345
  ) }),
5341
5346
  /* @__PURE__ */ jsx51(ScrollArea, { className: "flex-1", viewportClassName: "px-5 pt-16 pb-6", children: /* @__PURE__ */ jsxs38("main", { className: "space-y-6", children: [
5342
5347
  /* @__PURE__ */ jsxs38("div", { className: "flex flex-col items-center py-6", children: [
5343
- /* @__PURE__ */ jsx51("p", { className: "mb-1 text-sm uppercase tracking-wide text-muted-foreground", children: "Sending" }),
5348
+ /* @__PURE__ */ jsx51("p", { className: "mb-1 text-sm uppercase tracking-wide text-muted-foreground", children: reviewLabels?.recipientReceives ?? "Recipient receives" }),
5344
5349
  /* @__PURE__ */ jsx51("h1", { className: "mb-2 text-4xl font-bold", children: displayAmount.toLocaleString() }),
5345
5350
  /* @__PURE__ */ jsx51("p", { className: "text-base text-muted-foreground", children: selectedAssetId === "BTC" ? "sats" : selectedAsset?.ticker ?? "units" })
5346
5351
  ] }),
@@ -5368,17 +5373,24 @@ function WithdrawConfirmation({
5368
5373
  /* @__PURE__ */ jsx51("span", { className: "text-sm text-muted-foreground", children: "Asset" }),
5369
5374
  /* @__PURE__ */ jsx51("span", { className: "text-sm font-bold text-white", children: selectedAsset?.ticker ?? selectedAssetId })
5370
5375
  ] }),
5371
- estimatedFee > 0 && /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-between px-5 py-4", children: [
5372
- /* @__PURE__ */ jsx51("span", { className: "text-sm text-muted-foreground", children: "Network Fee" }),
5373
- /* @__PURE__ */ jsxs38("div", { className: "flex flex-col items-end", children: [
5374
- /* @__PURE__ */ jsxs38("span", { className: "text-sm text-white", children: [
5375
- "~",
5376
- estimatedFee.toLocaleString(),
5377
- " sats"
5378
- ] }),
5379
- /* @__PURE__ */ jsx51("span", { className: "mt-0.5 text-xxs font-bold capitalize tracking-wider text-primary", children: feeRate })
5380
- ] })
5381
- ] }),
5376
+ estimatedFee > 0 && /* @__PURE__ */ jsxs38(
5377
+ "div",
5378
+ {
5379
+ "data-testid": "payment-review-fee",
5380
+ className: "flex items-center justify-between px-5 py-4",
5381
+ children: [
5382
+ /* @__PURE__ */ jsx51("span", { className: "text-sm text-muted-foreground", children: reviewLabels?.estimatedNetworkFee ?? "Estimated network fee" }),
5383
+ /* @__PURE__ */ jsxs38("div", { className: "flex flex-col items-end", children: [
5384
+ /* @__PURE__ */ jsxs38("span", { className: "text-sm text-white", children: [
5385
+ "~",
5386
+ estimatedFee.toLocaleString(),
5387
+ " sats"
5388
+ ] }),
5389
+ /* @__PURE__ */ jsx51("span", { className: "mt-0.5 text-xxs font-bold capitalize tracking-wider text-primary", children: feeRate })
5390
+ ] })
5391
+ ]
5392
+ }
5393
+ ),
5382
5394
  addressType === "rgb" && decodedRgbInvoice?.recipient_type === "Witness" && /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-between px-5 py-4", children: [
5383
5395
  /* @__PURE__ */ jsx51("span", { className: "text-sm text-muted-foreground", children: "Witness Amount" }),
5384
5396
  /* @__PURE__ */ jsxs38("span", { className: "text-sm text-white", children: [
@@ -5387,14 +5399,21 @@ function WithdrawConfirmation({
5387
5399
  ] })
5388
5400
  ] })
5389
5401
  ] }),
5390
- selectedAssetId === "BTC" && estimatedFee > 0 && /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-between rounded-2xl bg-primary/10 p-5 px-2 shadow-inner", children: [
5391
- /* @__PURE__ */ jsx51("span", { className: "text-sm font-bold uppercase tracking-wider text-primary", children: "Total to deduct" }),
5392
- /* @__PURE__ */ jsxs38("span", { className: "text-xl font-bold text-white", children: [
5393
- (Math.round(parseFloat(amount) || 0) + estimatedFee).toLocaleString(),
5394
- " ",
5395
- /* @__PURE__ */ jsx51("span", { className: "text-lg text-primary/70", children: "sats" })
5396
- ] })
5397
- ] }),
5402
+ selectedAssetId === "BTC" && estimatedFee > 0 && /* @__PURE__ */ jsxs38(
5403
+ "div",
5404
+ {
5405
+ "data-testid": "payment-review-total",
5406
+ className: "flex items-center justify-between rounded-2xl bg-primary/10 p-5 shadow-inner",
5407
+ children: [
5408
+ /* @__PURE__ */ jsx51("span", { className: "text-sm font-bold uppercase tracking-wider text-primary", children: reviewLabels?.totalDeducted ?? "Total deducted" }),
5409
+ /* @__PURE__ */ jsxs38("span", { className: "text-xl font-bold text-white", children: [
5410
+ (Math.round(parseFloat(amount) || 0) + estimatedFee).toLocaleString(),
5411
+ " ",
5412
+ /* @__PURE__ */ jsx51("span", { className: "text-lg text-primary/70", children: "sats" })
5413
+ ] })
5414
+ ]
5415
+ }
5416
+ ),
5398
5417
  isPollingStatus && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-3 rounded-xl bg-primary/10 p-4", children: [
5399
5418
  /* @__PURE__ */ jsx51("span", { className: "material-symbols-outlined animate-spin text-primary", children: "progress_activity" }),
5400
5419
  /* @__PURE__ */ jsxs38("div", { children: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaleido-ui",
3
- "version": "0.1.119",
3
+ "version": "0.1.121",
4
4
  "description": "KaleidoSwap shared UI library \u2014 design tokens, web components (Tailwind + Radix), and React Native components extending WDK UI Kit",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -38,7 +38,8 @@
38
38
  "scripts": {
39
39
  "generate:css": "node node_modules/tsx/dist/cli.mjs scripts/generate-css.ts",
40
40
  "check:tokens": "node node_modules/tsx/dist/cli.mjs scripts/check-tokens.ts",
41
- "build": "npm run generate:css && npm run check:tokens && tsup && mkdir -p dist/css && cp src/css/kaleido-ui.css dist/css/kaleido-ui.css && mkdir -p dist/native/fonts && cp src/native/fonts/*.ttf dist/native/fonts/",
41
+ "check:design-doc": "node node_modules/tsx/dist/cli.mjs scripts/check-design-doc.ts",
42
+ "build": "npm run generate:css && npm run check:tokens && npm run check:design-doc && tsup && mkdir -p dist/css && cp src/css/kaleido-ui.css dist/css/kaleido-ui.css && mkdir -p dist/native/fonts && cp src/native/fonts/*.ttf dist/native/fonts/",
42
43
  "dev": "tsup --watch",
43
44
  "showcase": "vite --config showcase/vite.config.ts",
44
45
  "showcase:build": "npm run generate:css && vite build --config showcase/vite.config.ts",