kaleido-ui 0.1.98 → 0.1.100

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.
@@ -1878,7 +1878,7 @@ function TransactionCard({
1878
1878
  direction,
1879
1879
  status,
1880
1880
  displayAmount,
1881
- unit = "sats",
1881
+ unit,
1882
1882
  subAmount,
1883
1883
  onSubAmountInfo,
1884
1884
  timestamp,
@@ -1952,14 +1952,15 @@ function TransactionCard({
1952
1952
  ),
1953
1953
  children: [
1954
1954
  isInbound ? "+" : "-",
1955
- displayAmount
1955
+ displayAmount,
1956
+ unit ? ` ${unit}` : ""
1956
1957
  ]
1957
1958
  }
1958
1959
  ),
1959
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-tiny text-muted-foreground font-medium tracking-wide uppercase mt-0.5", children: unit }),
1960
- subAmount && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "flex items-center justify-end gap-1 text-tiny text-muted-foreground/70 font-medium tracking-wide tabular-nums mt-0.5", children: [
1961
- subAmount,
1962
- onSubAmountInfo && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1960
+ subAmount && (onSubAmountInfo ? (
1961
+ // The whole sub-line is the hit target; hover feedback is text
1962
+ // color only (no background), per design.
1963
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1963
1964
  "button",
1964
1965
  {
1965
1966
  type: "button",
@@ -1968,11 +1969,14 @@ function TransactionCard({
1968
1969
  event.stopPropagation();
1969
1970
  onSubAmountInfo();
1970
1971
  },
1971
- className: "-my-1 rounded-full p-0.5 text-white/30 transition-colors hover:bg-accent hover:text-primary",
1972
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "material-symbols-outlined block", style: { fontSize: "13px" }, children: "info" })
1972
+ className: "mt-0.5 flex w-full items-center justify-end gap-1 text-tiny text-muted-foreground/70 font-medium tracking-wide tabular-nums transition-colors hover:text-foreground",
1973
+ children: [
1974
+ subAmount,
1975
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "material-symbols-outlined block", style: { fontSize: "13px" }, children: "info" })
1976
+ ]
1973
1977
  }
1974
1978
  )
1975
- ] })
1979
+ ) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "mt-0.5 flex items-center justify-end gap-1 text-tiny text-muted-foreground/70 font-medium tracking-wide tabular-nums", children: subAmount }))
1976
1980
  ] })
1977
1981
  ]
1978
1982
  }
@@ -4576,7 +4580,8 @@ function ActivityList({
4576
4580
  subAmount: item.subAmount,
4577
4581
  onSubAmountInfo: item.onSubAmountInfo,
4578
4582
  timestamp: item.timestamp,
4579
- onClick: () => onExpandedChange?.(isExpanded ? null : item.id)
4583
+ onClick: () => onExpandedChange?.(isExpanded ? null : item.id),
4584
+ className: isExpanded ? "rounded-b-none" : void 0
4580
4585
  }
4581
4586
  ),
4582
4587
  isExpanded && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "bg-gradient-to-b from-white/[0.025] to-primary/[0.035] shadow-inner animate-in slide-in-from-top-2 duration-300", children: [
@@ -4807,26 +4812,30 @@ function ActivityDetailRow({
4807
4812
  onCopy,
4808
4813
  isCopied
4809
4814
  }) {
4810
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex items-center gap-3 py-1 last:pb-0", children: [
4811
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "shrink-0 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: label }),
4812
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { "aria-hidden": true, className: "min-w-4 flex-1 self-center border-b border-dotted border-white/15" }),
4813
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex max-w-[65%] items-center gap-2", children: [
4814
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "truncate font-mono text-xs font-medium text-white/90", children: value }),
4815
- onCopy && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4816
- "button",
4817
- {
4818
- type: "button",
4819
- onClick: (event) => {
4820
- event.stopPropagation();
4821
- onCopy();
4822
- },
4823
- className: "-my-1 rounded-md p-1 text-white/30 transition-colors hover:bg-accent hover:text-primary active:scale-95",
4824
- title: fullValue ? `Copy: ${fullValue}` : "Copy",
4825
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "material-symbols-outlined", style: { fontSize: "14px" }, children: isCopied ? "check" : "content_copy" })
4826
- }
4827
- )
4815
+ return (
4816
+ // min-h-8 equalizes text-only rows with taller value content (badges,
4817
+ // pills) so the label-to-label rhythm stays uniform down the list.
4818
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex min-h-8 items-center gap-3 py-1 last:pb-0", children: [
4819
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "shrink-0 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: label }),
4820
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { "aria-hidden": true, className: "min-w-4 flex-1 self-center border-b border-dotted border-white/15" }),
4821
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex max-w-[65%] items-center gap-2", children: [
4822
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "truncate font-mono text-xs font-medium text-white/90", children: value }),
4823
+ onCopy && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4824
+ "button",
4825
+ {
4826
+ type: "button",
4827
+ onClick: (event) => {
4828
+ event.stopPropagation();
4829
+ onCopy();
4830
+ },
4831
+ className: "-my-1 rounded-md p-1 text-white/30 transition-colors hover:bg-accent hover:text-primary active:scale-95",
4832
+ title: fullValue ? `Copy: ${fullValue}` : "Copy",
4833
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "material-symbols-outlined", style: { fontSize: "14px" }, children: isCopied ? "check" : "content_copy" })
4834
+ }
4835
+ )
4836
+ ] })
4828
4837
  ] })
4829
- ] });
4838
+ );
4830
4839
  }
4831
4840
 
4832
4841
  // src/web/components/withdraw-destination-input.tsx
@@ -264,7 +264,8 @@ interface TransactionCardProps {
264
264
  status: StatusType;
265
265
  /** Formatted amount string (e.g. "1,234") */
266
266
  displayAmount: string;
267
- /** Unit label (e.g. "sats", "BTC") */
267
+ /** Unit label appended to the amount line (e.g. "USDT"). Omit when the
268
+ * formatted amount already carries its unit ("1 234 sats"). */
268
269
  unit?: string;
269
270
  /** Secondary amount under the unit — e.g. the sats leg an asset transfer
270
271
  * rode on ("588 sats" for an RGB-LN payment or an Arkade asset VTXO). */
@@ -264,7 +264,8 @@ interface TransactionCardProps {
264
264
  status: StatusType;
265
265
  /** Formatted amount string (e.g. "1,234") */
266
266
  displayAmount: string;
267
- /** Unit label (e.g. "sats", "BTC") */
267
+ /** Unit label appended to the amount line (e.g. "USDT"). Omit when the
268
+ * formatted amount already carries its unit ("1 234 sats"). */
268
269
  unit?: string;
269
270
  /** Secondary amount under the unit — e.g. the sats leg an asset transfer
270
271
  * rode on ("588 sats" for an RGB-LN payment or an Arkade asset VTXO). */
package/dist/web/index.js CHANGED
@@ -1690,7 +1690,7 @@ function TransactionCard({
1690
1690
  direction,
1691
1691
  status,
1692
1692
  displayAmount,
1693
- unit = "sats",
1693
+ unit,
1694
1694
  subAmount,
1695
1695
  onSubAmountInfo,
1696
1696
  timestamp,
@@ -1764,14 +1764,15 @@ function TransactionCard({
1764
1764
  ),
1765
1765
  children: [
1766
1766
  isInbound ? "+" : "-",
1767
- displayAmount
1767
+ displayAmount,
1768
+ unit ? ` ${unit}` : ""
1768
1769
  ]
1769
1770
  }
1770
1771
  ),
1771
- /* @__PURE__ */ jsx21("p", { className: "text-tiny text-muted-foreground font-medium tracking-wide uppercase mt-0.5", children: unit }),
1772
- subAmount && /* @__PURE__ */ jsxs10("p", { className: "flex items-center justify-end gap-1 text-tiny text-muted-foreground/70 font-medium tracking-wide tabular-nums mt-0.5", children: [
1773
- subAmount,
1774
- onSubAmountInfo && /* @__PURE__ */ jsx21(
1772
+ subAmount && (onSubAmountInfo ? (
1773
+ // The whole sub-line is the hit target; hover feedback is text
1774
+ // color only (no background), per design.
1775
+ /* @__PURE__ */ jsxs10(
1775
1776
  "button",
1776
1777
  {
1777
1778
  type: "button",
@@ -1780,11 +1781,14 @@ function TransactionCard({
1780
1781
  event.stopPropagation();
1781
1782
  onSubAmountInfo();
1782
1783
  },
1783
- className: "-my-1 rounded-full p-0.5 text-white/30 transition-colors hover:bg-accent hover:text-primary",
1784
- children: /* @__PURE__ */ jsx21("span", { className: "material-symbols-outlined block", style: { fontSize: "13px" }, children: "info" })
1784
+ className: "mt-0.5 flex w-full items-center justify-end gap-1 text-tiny text-muted-foreground/70 font-medium tracking-wide tabular-nums transition-colors hover:text-foreground",
1785
+ children: [
1786
+ subAmount,
1787
+ /* @__PURE__ */ jsx21("span", { className: "material-symbols-outlined block", style: { fontSize: "13px" }, children: "info" })
1788
+ ]
1785
1789
  }
1786
1790
  )
1787
- ] })
1791
+ ) : /* @__PURE__ */ jsx21("p", { className: "mt-0.5 flex items-center justify-end gap-1 text-tiny text-muted-foreground/70 font-medium tracking-wide tabular-nums", children: subAmount }))
1788
1792
  ] })
1789
1793
  ]
1790
1794
  }
@@ -4394,7 +4398,8 @@ function ActivityList({
4394
4398
  subAmount: item.subAmount,
4395
4399
  onSubAmountInfo: item.onSubAmountInfo,
4396
4400
  timestamp: item.timestamp,
4397
- onClick: () => onExpandedChange?.(isExpanded ? null : item.id)
4401
+ onClick: () => onExpandedChange?.(isExpanded ? null : item.id),
4402
+ className: isExpanded ? "rounded-b-none" : void 0
4398
4403
  }
4399
4404
  ),
4400
4405
  isExpanded && /* @__PURE__ */ jsxs28("div", { className: "bg-gradient-to-b from-white/[0.025] to-primary/[0.035] shadow-inner animate-in slide-in-from-top-2 duration-300", children: [
@@ -4625,26 +4630,30 @@ function ActivityDetailRow({
4625
4630
  onCopy,
4626
4631
  isCopied
4627
4632
  }) {
4628
- return /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-3 py-1 last:pb-0", children: [
4629
- /* @__PURE__ */ jsx45("span", { className: "shrink-0 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: label }),
4630
- /* @__PURE__ */ jsx45("span", { "aria-hidden": true, className: "min-w-4 flex-1 self-center border-b border-dotted border-white/15" }),
4631
- /* @__PURE__ */ jsxs32("div", { className: "flex max-w-[65%] items-center gap-2", children: [
4632
- /* @__PURE__ */ jsx45("span", { className: "truncate font-mono text-xs font-medium text-white/90", children: value }),
4633
- onCopy && /* @__PURE__ */ jsx45(
4634
- "button",
4635
- {
4636
- type: "button",
4637
- onClick: (event) => {
4638
- event.stopPropagation();
4639
- onCopy();
4640
- },
4641
- className: "-my-1 rounded-md p-1 text-white/30 transition-colors hover:bg-accent hover:text-primary active:scale-95",
4642
- title: fullValue ? `Copy: ${fullValue}` : "Copy",
4643
- children: /* @__PURE__ */ jsx45("span", { className: "material-symbols-outlined", style: { fontSize: "14px" }, children: isCopied ? "check" : "content_copy" })
4644
- }
4645
- )
4633
+ return (
4634
+ // min-h-8 equalizes text-only rows with taller value content (badges,
4635
+ // pills) so the label-to-label rhythm stays uniform down the list.
4636
+ /* @__PURE__ */ jsxs32("div", { className: "flex min-h-8 items-center gap-3 py-1 last:pb-0", children: [
4637
+ /* @__PURE__ */ jsx45("span", { className: "shrink-0 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: label }),
4638
+ /* @__PURE__ */ jsx45("span", { "aria-hidden": true, className: "min-w-4 flex-1 self-center border-b border-dotted border-white/15" }),
4639
+ /* @__PURE__ */ jsxs32("div", { className: "flex max-w-[65%] items-center gap-2", children: [
4640
+ /* @__PURE__ */ jsx45("span", { className: "truncate font-mono text-xs font-medium text-white/90", children: value }),
4641
+ onCopy && /* @__PURE__ */ jsx45(
4642
+ "button",
4643
+ {
4644
+ type: "button",
4645
+ onClick: (event) => {
4646
+ event.stopPropagation();
4647
+ onCopy();
4648
+ },
4649
+ className: "-my-1 rounded-md p-1 text-white/30 transition-colors hover:bg-accent hover:text-primary active:scale-95",
4650
+ title: fullValue ? `Copy: ${fullValue}` : "Copy",
4651
+ children: /* @__PURE__ */ jsx45("span", { className: "material-symbols-outlined", style: { fontSize: "14px" }, children: isCopied ? "check" : "content_copy" })
4652
+ }
4653
+ )
4654
+ ] })
4646
4655
  ] })
4647
- ] });
4656
+ );
4648
4657
  }
4649
4658
 
4650
4659
  // src/web/components/withdraw-destination-input.tsx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaleido-ui",
3
- "version": "0.1.98",
3
+ "version": "0.1.100",
4
4
  "description": "KaleidoSwap shared UI library — design tokens, web components (Tailwind + Radix), and React Native components extending WDK UI Kit",
5
5
  "license": "MIT",
6
6
  "type": "module",