kaleido-ui 0.1.46 → 0.1.49

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.
@@ -31,9 +31,12 @@ __export(tokens_exports, {
31
31
  layer: () => layer,
32
32
  letterSpacing: () => letterSpacing,
33
33
  lightSemanticColors: () => lightSemanticColors,
34
+ makeTheme: () => makeTheme,
35
+ nativeType: () => nativeType,
34
36
  radius: () => radius,
35
37
  shadow: () => shadow,
36
38
  sizing: () => sizing,
39
+ themes: () => themes,
37
40
  transition: () => transition,
38
41
  typeScale: () => typeScale
39
42
  });
@@ -349,6 +352,130 @@ var animation = {
349
352
  shimmer: "shimmer 2s linear infinite",
350
353
  "bounce-slight": "bounce-slight 2s infinite"
351
354
  };
355
+
356
+ // src/tokens/theme.ts
357
+ var nativeType = {
358
+ mini: { size: 9, line: 12 },
359
+ xxs: { size: 10, line: 14 },
360
+ tiny: { size: 11, line: 16 },
361
+ caption: { size: 13, line: 18 },
362
+ body: { size: 15, line: 22 },
363
+ subhead: { size: 17, line: 24 },
364
+ title: { size: 20, line: 28 },
365
+ headline: { size: 28, line: 34 },
366
+ display: { size: 36, line: 40 },
367
+ hero: { size: 44, line: 48 }
368
+ };
369
+ var NETWORK_GLYPH = {
370
+ bitcoin: "#F7931A",
371
+ lightning: "#F6C343",
372
+ spark: "#FF6D00",
373
+ rgb: "#DD352E",
374
+ arkade: "#7C3AED",
375
+ liquid: "#22E1C9"
376
+ };
377
+ var dark = {
378
+ mode: "dark",
379
+ background: "#0D1813",
380
+ card: "#121C16",
381
+ cardElevated: "#17231C",
382
+ primary: "#15E99A",
383
+ primaryFg: "#062318",
384
+ violet: "#8B5CFF",
385
+ violetSurface: "rgba(111, 50, 255, 0.18)",
386
+ success: "#2BEE79",
387
+ warning: "#FACC15",
388
+ danger: "#F94040",
389
+ info: "#4290FF",
390
+ successSurface: "rgba(43, 238, 121, 0.14)",
391
+ warningSurface: "rgba(250, 204, 21, 0.14)",
392
+ dangerSurface: "rgba(249, 64, 64, 0.14)",
393
+ infoSurface: "rgba(66, 144, 255, 0.14)",
394
+ text: {
395
+ primary: "#FFFFFF",
396
+ secondary: "rgba(255, 255, 255, 0.64)",
397
+ muted: "rgba(255, 255, 255, 0.42)",
398
+ disabled: "rgba(255, 255, 255, 0.26)",
399
+ onAccent: "#062318",
400
+ onFill: "#FFFFFF"
401
+ },
402
+ border: {
403
+ subtle: "rgba(255, 255, 255, 0.06)",
404
+ default: "rgba(255, 255, 255, 0.10)",
405
+ strong: "rgba(255, 255, 255, 0.16)"
406
+ },
407
+ surface: {
408
+ base: "rgba(255, 255, 255, 0.03)",
409
+ raised: "rgba(255, 255, 255, 0.06)",
410
+ sunken: "rgba(0, 0, 0, 0.22)",
411
+ overlay: "rgba(0, 0, 0, 0.55)",
412
+ scrim: "rgba(0, 0, 0, 0.70)"
413
+ },
414
+ network: NETWORK_GLYPH,
415
+ networkSurface: {
416
+ bitcoin: "#3A2D18",
417
+ lightning: "#39351A",
418
+ spark: "#3A2A1C",
419
+ rgb: "#3C2422",
420
+ arkade: "#2E2548",
421
+ liquid: "#0E2A2C"
422
+ },
423
+ tx: { sent: "#F94040", receive: "#2BEE79", swap: "#4290FF" },
424
+ gradientBrand: ["#15E99A", "#6F32FF"]
425
+ };
426
+ var light = {
427
+ mode: "light",
428
+ background: "#F4F5F2",
429
+ card: "#FFFFFF",
430
+ cardElevated: "#FFFFFF",
431
+ primary: "#13D88E",
432
+ primaryFg: "#04231A",
433
+ violet: "#6F32FF",
434
+ violetSurface: "rgba(111, 50, 255, 0.12)",
435
+ success: "#0FB67C",
436
+ warning: "#C8881A",
437
+ danger: "#E2403B",
438
+ info: "#2F73E0",
439
+ successSurface: "rgba(15, 182, 124, 0.12)",
440
+ warningSurface: "rgba(200, 136, 26, 0.12)",
441
+ dangerSurface: "rgba(226, 64, 59, 0.12)",
442
+ infoSurface: "rgba(47, 115, 224, 0.12)",
443
+ text: {
444
+ primary: "#0D1813",
445
+ secondary: "rgba(13, 24, 19, 0.62)",
446
+ muted: "rgba(13, 24, 19, 0.44)",
447
+ disabled: "rgba(13, 24, 19, 0.26)",
448
+ onAccent: "#04231A",
449
+ onFill: "#FFFFFF"
450
+ },
451
+ border: {
452
+ subtle: "rgba(13, 24, 19, 0.06)",
453
+ default: "rgba(13, 24, 19, 0.10)",
454
+ strong: "rgba(13, 24, 19, 0.16)"
455
+ },
456
+ surface: {
457
+ base: "rgba(13, 24, 19, 0.02)",
458
+ raised: "rgba(13, 24, 19, 0.04)",
459
+ sunken: "rgba(13, 24, 19, 0.04)",
460
+ overlay: "rgba(13, 24, 19, 0.40)",
461
+ scrim: "rgba(13, 24, 19, 0.55)"
462
+ },
463
+ network: NETWORK_GLYPH,
464
+ networkSurface: {
465
+ bitcoin: "#FBEFD9",
466
+ lightning: "#FCF6D6",
467
+ spark: "#FFE7D6",
468
+ rgb: "#FBE3E1",
469
+ arkade: "#ECE4FF",
470
+ liquid: "#D8F5F1"
471
+ },
472
+ tx: { sent: "#E2403B", receive: "#0FB67C", swap: "#2F73E0" },
473
+ gradientBrand: ["#15E99A", "#6F32FF"]
474
+ };
475
+ var themes = { light, dark };
476
+ function makeTheme(mode) {
477
+ return themes[mode];
478
+ }
352
479
  // Annotate the CommonJS export names for ESM import in node:
353
480
  0 && (module.exports = {
354
481
  animation,
@@ -362,9 +489,12 @@ var animation = {
362
489
  layer,
363
490
  letterSpacing,
364
491
  lightSemanticColors,
492
+ makeTheme,
493
+ nativeType,
365
494
  radius,
366
495
  shadow,
367
496
  sizing,
497
+ themes,
368
498
  transition,
369
499
  typeScale
370
500
  });
@@ -382,4 +382,143 @@ declare const animation: {
382
382
  readonly 'bounce-slight': "bounce-slight 2s infinite";
383
383
  };
384
384
 
385
- export { animation, colors, fontFamily, fontWeight, gradient, iconBoxSize, iconSize, keyframes, layer, letterSpacing, lightSemanticColors, radius, shadow, sizing, transition, typeScale };
385
+ /**
386
+ * KaleidoSwap unified runtime theme (light + dark).
387
+ *
388
+ * A single, identically-shaped palette per mode so React Native components can
389
+ * consume one `KaleidoTheme` object via `useKaleidoTheme()` and flip modes with
390
+ * zero per-component conditionals. Dark is the brand default ("dark backgrounds
391
+ * anchor everything"); light is a fully-specified counterpart.
392
+ *
393
+ * This file lives in `src/tokens` and is therefore exempt from the raw-color
394
+ * lint — raw values are intentional here and ONLY here. Components must never
395
+ * inline colors; they read them from the theme.
396
+ */
397
+ type ThemeMode = 'light' | 'dark';
398
+ /** Numeric type scale for React Native (the CSS `typeScale` is px strings). */
399
+ declare const nativeType: {
400
+ readonly mini: {
401
+ readonly size: 9;
402
+ readonly line: 12;
403
+ };
404
+ readonly xxs: {
405
+ readonly size: 10;
406
+ readonly line: 14;
407
+ };
408
+ readonly tiny: {
409
+ readonly size: 11;
410
+ readonly line: 16;
411
+ };
412
+ readonly caption: {
413
+ readonly size: 13;
414
+ readonly line: 18;
415
+ };
416
+ readonly body: {
417
+ readonly size: 15;
418
+ readonly line: 22;
419
+ };
420
+ readonly subhead: {
421
+ readonly size: 17;
422
+ readonly line: 24;
423
+ };
424
+ readonly title: {
425
+ readonly size: 20;
426
+ readonly line: 28;
427
+ };
428
+ readonly headline: {
429
+ readonly size: 28;
430
+ readonly line: 34;
431
+ };
432
+ readonly display: {
433
+ readonly size: 36;
434
+ readonly line: 40;
435
+ };
436
+ readonly hero: {
437
+ readonly size: 44;
438
+ readonly line: 48;
439
+ };
440
+ };
441
+ type NativeTypeLevel = keyof typeof nativeType;
442
+ interface KaleidoTheme {
443
+ mode: ThemeMode;
444
+ /** App background (full-bleed page). */
445
+ background: string;
446
+ /** Default card/panel surface. */
447
+ card: string;
448
+ /** Raised card (modals, selected panels). */
449
+ cardElevated: string;
450
+ /** Brand green — primary CTAs, success, focus ring. */
451
+ primary: string;
452
+ /** Foreground on top of `primary`. */
453
+ primaryFg: string;
454
+ /** Brand violet — active / protocol / selected accents. */
455
+ violet: string;
456
+ /** Translucent violet wash for selected chips/surfaces. */
457
+ violetSurface: string;
458
+ /** Semantic intents. */
459
+ success: string;
460
+ warning: string;
461
+ danger: string;
462
+ info: string;
463
+ /** Translucent intent washes (banners, tinted chips). */
464
+ successSurface: string;
465
+ warningSurface: string;
466
+ dangerSurface: string;
467
+ infoSurface: string;
468
+ /** Text ladder. */
469
+ text: {
470
+ primary: string;
471
+ secondary: string;
472
+ muted: string;
473
+ disabled: string;
474
+ /** Text on the green primary fill (dark). */
475
+ onAccent: string;
476
+ /** Text on saturated fills (violet / danger) — always white. */
477
+ onFill: string;
478
+ };
479
+ /** Border ladder. */
480
+ border: {
481
+ subtle: string;
482
+ default: string;
483
+ strong: string;
484
+ };
485
+ /** Surface elevation overlays. */
486
+ surface: {
487
+ base: string;
488
+ raised: string;
489
+ sunken: string;
490
+ overlay: string;
491
+ scrim: string;
492
+ };
493
+ /** Network glyph colors (consistent across modes). */
494
+ network: {
495
+ bitcoin: string;
496
+ lightning: string;
497
+ spark: string;
498
+ rgb: string;
499
+ arkade: string;
500
+ liquid: string;
501
+ };
502
+ /** Network chip backgrounds (mode-specific tints). */
503
+ networkSurface: {
504
+ bitcoin: string;
505
+ lightning: string;
506
+ spark: string;
507
+ rgb: string;
508
+ arkade: string;
509
+ liquid: string;
510
+ };
511
+ /** Transaction direction. */
512
+ tx: {
513
+ sent: string;
514
+ receive: string;
515
+ swap: string;
516
+ };
517
+ /** Brand gradient as [start, end] for native LinearGradient (135°). */
518
+ gradientBrand: readonly [string, string];
519
+ }
520
+ declare const themes: Record<ThemeMode, KaleidoTheme>;
521
+ /** Resolve the full palette for a mode. */
522
+ declare function makeTheme(mode: ThemeMode): KaleidoTheme;
523
+
524
+ export { type KaleidoTheme, type NativeTypeLevel, type ThemeMode, animation, colors, fontFamily, fontWeight, gradient, iconBoxSize, iconSize, keyframes, layer, letterSpacing, lightSemanticColors, makeTheme, nativeType, radius, shadow, sizing, themes, transition, typeScale };
@@ -382,4 +382,143 @@ declare const animation: {
382
382
  readonly 'bounce-slight': "bounce-slight 2s infinite";
383
383
  };
384
384
 
385
- export { animation, colors, fontFamily, fontWeight, gradient, iconBoxSize, iconSize, keyframes, layer, letterSpacing, lightSemanticColors, radius, shadow, sizing, transition, typeScale };
385
+ /**
386
+ * KaleidoSwap unified runtime theme (light + dark).
387
+ *
388
+ * A single, identically-shaped palette per mode so React Native components can
389
+ * consume one `KaleidoTheme` object via `useKaleidoTheme()` and flip modes with
390
+ * zero per-component conditionals. Dark is the brand default ("dark backgrounds
391
+ * anchor everything"); light is a fully-specified counterpart.
392
+ *
393
+ * This file lives in `src/tokens` and is therefore exempt from the raw-color
394
+ * lint — raw values are intentional here and ONLY here. Components must never
395
+ * inline colors; they read them from the theme.
396
+ */
397
+ type ThemeMode = 'light' | 'dark';
398
+ /** Numeric type scale for React Native (the CSS `typeScale` is px strings). */
399
+ declare const nativeType: {
400
+ readonly mini: {
401
+ readonly size: 9;
402
+ readonly line: 12;
403
+ };
404
+ readonly xxs: {
405
+ readonly size: 10;
406
+ readonly line: 14;
407
+ };
408
+ readonly tiny: {
409
+ readonly size: 11;
410
+ readonly line: 16;
411
+ };
412
+ readonly caption: {
413
+ readonly size: 13;
414
+ readonly line: 18;
415
+ };
416
+ readonly body: {
417
+ readonly size: 15;
418
+ readonly line: 22;
419
+ };
420
+ readonly subhead: {
421
+ readonly size: 17;
422
+ readonly line: 24;
423
+ };
424
+ readonly title: {
425
+ readonly size: 20;
426
+ readonly line: 28;
427
+ };
428
+ readonly headline: {
429
+ readonly size: 28;
430
+ readonly line: 34;
431
+ };
432
+ readonly display: {
433
+ readonly size: 36;
434
+ readonly line: 40;
435
+ };
436
+ readonly hero: {
437
+ readonly size: 44;
438
+ readonly line: 48;
439
+ };
440
+ };
441
+ type NativeTypeLevel = keyof typeof nativeType;
442
+ interface KaleidoTheme {
443
+ mode: ThemeMode;
444
+ /** App background (full-bleed page). */
445
+ background: string;
446
+ /** Default card/panel surface. */
447
+ card: string;
448
+ /** Raised card (modals, selected panels). */
449
+ cardElevated: string;
450
+ /** Brand green — primary CTAs, success, focus ring. */
451
+ primary: string;
452
+ /** Foreground on top of `primary`. */
453
+ primaryFg: string;
454
+ /** Brand violet — active / protocol / selected accents. */
455
+ violet: string;
456
+ /** Translucent violet wash for selected chips/surfaces. */
457
+ violetSurface: string;
458
+ /** Semantic intents. */
459
+ success: string;
460
+ warning: string;
461
+ danger: string;
462
+ info: string;
463
+ /** Translucent intent washes (banners, tinted chips). */
464
+ successSurface: string;
465
+ warningSurface: string;
466
+ dangerSurface: string;
467
+ infoSurface: string;
468
+ /** Text ladder. */
469
+ text: {
470
+ primary: string;
471
+ secondary: string;
472
+ muted: string;
473
+ disabled: string;
474
+ /** Text on the green primary fill (dark). */
475
+ onAccent: string;
476
+ /** Text on saturated fills (violet / danger) — always white. */
477
+ onFill: string;
478
+ };
479
+ /** Border ladder. */
480
+ border: {
481
+ subtle: string;
482
+ default: string;
483
+ strong: string;
484
+ };
485
+ /** Surface elevation overlays. */
486
+ surface: {
487
+ base: string;
488
+ raised: string;
489
+ sunken: string;
490
+ overlay: string;
491
+ scrim: string;
492
+ };
493
+ /** Network glyph colors (consistent across modes). */
494
+ network: {
495
+ bitcoin: string;
496
+ lightning: string;
497
+ spark: string;
498
+ rgb: string;
499
+ arkade: string;
500
+ liquid: string;
501
+ };
502
+ /** Network chip backgrounds (mode-specific tints). */
503
+ networkSurface: {
504
+ bitcoin: string;
505
+ lightning: string;
506
+ spark: string;
507
+ rgb: string;
508
+ arkade: string;
509
+ liquid: string;
510
+ };
511
+ /** Transaction direction. */
512
+ tx: {
513
+ sent: string;
514
+ receive: string;
515
+ swap: string;
516
+ };
517
+ /** Brand gradient as [start, end] for native LinearGradient (135°). */
518
+ gradientBrand: readonly [string, string];
519
+ }
520
+ declare const themes: Record<ThemeMode, KaleidoTheme>;
521
+ /** Resolve the full palette for a mode. */
522
+ declare function makeTheme(mode: ThemeMode): KaleidoTheme;
523
+
524
+ export { type KaleidoTheme, type NativeTypeLevel, type ThemeMode, animation, colors, fontFamily, fontWeight, gradient, iconBoxSize, iconSize, keyframes, layer, letterSpacing, lightSemanticColors, makeTheme, nativeType, radius, shadow, sizing, themes, transition, typeScale };
@@ -308,6 +308,130 @@ var animation = {
308
308
  shimmer: "shimmer 2s linear infinite",
309
309
  "bounce-slight": "bounce-slight 2s infinite"
310
310
  };
311
+
312
+ // src/tokens/theme.ts
313
+ var nativeType = {
314
+ mini: { size: 9, line: 12 },
315
+ xxs: { size: 10, line: 14 },
316
+ tiny: { size: 11, line: 16 },
317
+ caption: { size: 13, line: 18 },
318
+ body: { size: 15, line: 22 },
319
+ subhead: { size: 17, line: 24 },
320
+ title: { size: 20, line: 28 },
321
+ headline: { size: 28, line: 34 },
322
+ display: { size: 36, line: 40 },
323
+ hero: { size: 44, line: 48 }
324
+ };
325
+ var NETWORK_GLYPH = {
326
+ bitcoin: "#F7931A",
327
+ lightning: "#F6C343",
328
+ spark: "#FF6D00",
329
+ rgb: "#DD352E",
330
+ arkade: "#7C3AED",
331
+ liquid: "#22E1C9"
332
+ };
333
+ var dark = {
334
+ mode: "dark",
335
+ background: "#0D1813",
336
+ card: "#121C16",
337
+ cardElevated: "#17231C",
338
+ primary: "#15E99A",
339
+ primaryFg: "#062318",
340
+ violet: "#8B5CFF",
341
+ violetSurface: "rgba(111, 50, 255, 0.18)",
342
+ success: "#2BEE79",
343
+ warning: "#FACC15",
344
+ danger: "#F94040",
345
+ info: "#4290FF",
346
+ successSurface: "rgba(43, 238, 121, 0.14)",
347
+ warningSurface: "rgba(250, 204, 21, 0.14)",
348
+ dangerSurface: "rgba(249, 64, 64, 0.14)",
349
+ infoSurface: "rgba(66, 144, 255, 0.14)",
350
+ text: {
351
+ primary: "#FFFFFF",
352
+ secondary: "rgba(255, 255, 255, 0.64)",
353
+ muted: "rgba(255, 255, 255, 0.42)",
354
+ disabled: "rgba(255, 255, 255, 0.26)",
355
+ onAccent: "#062318",
356
+ onFill: "#FFFFFF"
357
+ },
358
+ border: {
359
+ subtle: "rgba(255, 255, 255, 0.06)",
360
+ default: "rgba(255, 255, 255, 0.10)",
361
+ strong: "rgba(255, 255, 255, 0.16)"
362
+ },
363
+ surface: {
364
+ base: "rgba(255, 255, 255, 0.03)",
365
+ raised: "rgba(255, 255, 255, 0.06)",
366
+ sunken: "rgba(0, 0, 0, 0.22)",
367
+ overlay: "rgba(0, 0, 0, 0.55)",
368
+ scrim: "rgba(0, 0, 0, 0.70)"
369
+ },
370
+ network: NETWORK_GLYPH,
371
+ networkSurface: {
372
+ bitcoin: "#3A2D18",
373
+ lightning: "#39351A",
374
+ spark: "#3A2A1C",
375
+ rgb: "#3C2422",
376
+ arkade: "#2E2548",
377
+ liquid: "#0E2A2C"
378
+ },
379
+ tx: { sent: "#F94040", receive: "#2BEE79", swap: "#4290FF" },
380
+ gradientBrand: ["#15E99A", "#6F32FF"]
381
+ };
382
+ var light = {
383
+ mode: "light",
384
+ background: "#F4F5F2",
385
+ card: "#FFFFFF",
386
+ cardElevated: "#FFFFFF",
387
+ primary: "#13D88E",
388
+ primaryFg: "#04231A",
389
+ violet: "#6F32FF",
390
+ violetSurface: "rgba(111, 50, 255, 0.12)",
391
+ success: "#0FB67C",
392
+ warning: "#C8881A",
393
+ danger: "#E2403B",
394
+ info: "#2F73E0",
395
+ successSurface: "rgba(15, 182, 124, 0.12)",
396
+ warningSurface: "rgba(200, 136, 26, 0.12)",
397
+ dangerSurface: "rgba(226, 64, 59, 0.12)",
398
+ infoSurface: "rgba(47, 115, 224, 0.12)",
399
+ text: {
400
+ primary: "#0D1813",
401
+ secondary: "rgba(13, 24, 19, 0.62)",
402
+ muted: "rgba(13, 24, 19, 0.44)",
403
+ disabled: "rgba(13, 24, 19, 0.26)",
404
+ onAccent: "#04231A",
405
+ onFill: "#FFFFFF"
406
+ },
407
+ border: {
408
+ subtle: "rgba(13, 24, 19, 0.06)",
409
+ default: "rgba(13, 24, 19, 0.10)",
410
+ strong: "rgba(13, 24, 19, 0.16)"
411
+ },
412
+ surface: {
413
+ base: "rgba(13, 24, 19, 0.02)",
414
+ raised: "rgba(13, 24, 19, 0.04)",
415
+ sunken: "rgba(13, 24, 19, 0.04)",
416
+ overlay: "rgba(13, 24, 19, 0.40)",
417
+ scrim: "rgba(13, 24, 19, 0.55)"
418
+ },
419
+ network: NETWORK_GLYPH,
420
+ networkSurface: {
421
+ bitcoin: "#FBEFD9",
422
+ lightning: "#FCF6D6",
423
+ spark: "#FFE7D6",
424
+ rgb: "#FBE3E1",
425
+ arkade: "#ECE4FF",
426
+ liquid: "#D8F5F1"
427
+ },
428
+ tx: { sent: "#E2403B", receive: "#0FB67C", swap: "#2F73E0" },
429
+ gradientBrand: ["#15E99A", "#6F32FF"]
430
+ };
431
+ var themes = { light, dark };
432
+ function makeTheme(mode) {
433
+ return themes[mode];
434
+ }
311
435
  export {
312
436
  animation,
313
437
  colors,
@@ -320,9 +444,12 @@ export {
320
444
  layer,
321
445
  letterSpacing,
322
446
  lightSemanticColors,
447
+ makeTheme,
448
+ nativeType,
323
449
  radius,
324
450
  shadow,
325
451
  sizing,
452
+ themes,
326
453
  transition,
327
454
  typeScale
328
455
  };
@@ -1805,6 +1805,7 @@ function AssetCard({
1805
1805
  logoUri,
1806
1806
  balanceVisible = true,
1807
1807
  accentColor,
1808
+ status,
1808
1809
  onClick,
1809
1810
  className
1810
1811
  }) {
@@ -1853,7 +1854,7 @@ function AssetCard({
1853
1854
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex flex-nowrap gap-1 mt-1", children: networks.map((network) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(NetworkBadge, { network, size: "sm" }, network)) })
1854
1855
  ] })
1855
1856
  ] }),
1856
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "min-w-0 max-w-[45%] text-right", children: [
1857
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex min-w-0 max-w-[45%] flex-col items-end text-right", children: [
1857
1858
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1858
1859
  "p",
1859
1860
  {
@@ -1862,7 +1863,8 @@ function AssetCard({
1862
1863
  children: displayShown
1863
1864
  }
1864
1865
  ),
1865
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "mt-0.5 truncate text-tiny font-medium uppercase tracking-wide text-muted-foreground", children: ticker })
1866
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "mt-0.5 truncate text-tiny font-medium uppercase tracking-wide text-muted-foreground", children: ticker }),
1867
+ status && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StatusBadge, { status, className: "mt-2" })
1866
1868
  ] })
1867
1869
  ] })
1868
1870
  ]
@@ -3323,6 +3325,7 @@ function WalletAssetList({
3323
3325
  logoUri: item.logoUri,
3324
3326
  balanceVisible: item.balanceVisible,
3325
3327
  accentColor: item.accentColor,
3328
+ status: item.status,
3326
3329
  onClick: item.onClick
3327
3330
  },
3328
3331
  item.id
@@ -228,10 +228,12 @@ interface AssetCardProps {
228
228
  balanceVisible?: boolean;
229
229
  /** Accent color hex for the card gradient. Pass a token from `kaleido-ui/tokens` (e.g. `colors.network.bitcoin`). */
230
230
  accentColor?: string;
231
+ /** Optional state badge for assets that are present but not currently spendable. */
232
+ status?: StatusType;
231
233
  onClick?: () => void;
232
234
  className?: string;
233
235
  }
234
- declare function AssetCard({ ticker, name, displayBalance, networks, logoUri, balanceVisible, accentColor, onClick, className, }: AssetCardProps): react_jsx_runtime.JSX.Element;
236
+ declare function AssetCard({ ticker, name, displayBalance, networks, logoUri, balanceVisible, accentColor, status, onClick, className, }: AssetCardProps): react_jsx_runtime.JSX.Element;
235
237
 
236
238
  interface TransactionCardProps {
237
239
  /** Direction of the transaction */
@@ -580,6 +582,7 @@ interface WalletAssetListItem {
580
582
  logoUri?: string;
581
583
  balanceVisible?: boolean;
582
584
  accentColor?: string;
585
+ status?: StatusType;
583
586
  onClick?: () => void;
584
587
  }
585
588
  interface WalletAssetListEmptyState {
@@ -228,10 +228,12 @@ interface AssetCardProps {
228
228
  balanceVisible?: boolean;
229
229
  /** Accent color hex for the card gradient. Pass a token from `kaleido-ui/tokens` (e.g. `colors.network.bitcoin`). */
230
230
  accentColor?: string;
231
+ /** Optional state badge for assets that are present but not currently spendable. */
232
+ status?: StatusType;
231
233
  onClick?: () => void;
232
234
  className?: string;
233
235
  }
234
- declare function AssetCard({ ticker, name, displayBalance, networks, logoUri, balanceVisible, accentColor, onClick, className, }: AssetCardProps): react_jsx_runtime.JSX.Element;
236
+ declare function AssetCard({ ticker, name, displayBalance, networks, logoUri, balanceVisible, accentColor, status, onClick, className, }: AssetCardProps): react_jsx_runtime.JSX.Element;
235
237
 
236
238
  interface TransactionCardProps {
237
239
  /** Direction of the transaction */
@@ -580,6 +582,7 @@ interface WalletAssetListItem {
580
582
  logoUri?: string;
581
583
  balanceVisible?: boolean;
582
584
  accentColor?: string;
585
+ status?: StatusType;
583
586
  onClick?: () => void;
584
587
  }
585
588
  interface WalletAssetListEmptyState {
package/dist/web/index.js CHANGED
@@ -1638,6 +1638,7 @@ function AssetCard({
1638
1638
  logoUri,
1639
1639
  balanceVisible = true,
1640
1640
  accentColor,
1641
+ status,
1641
1642
  onClick,
1642
1643
  className
1643
1644
  }) {
@@ -1686,7 +1687,7 @@ function AssetCard({
1686
1687
  /* @__PURE__ */ jsx19("div", { className: "flex flex-nowrap gap-1 mt-1", children: networks.map((network) => /* @__PURE__ */ jsx19(NetworkBadge, { network, size: "sm" }, network)) })
1687
1688
  ] })
1688
1689
  ] }),
1689
- /* @__PURE__ */ jsxs8("div", { className: "min-w-0 max-w-[45%] text-right", children: [
1690
+ /* @__PURE__ */ jsxs8("div", { className: "flex min-w-0 max-w-[45%] flex-col items-end text-right", children: [
1690
1691
  /* @__PURE__ */ jsx19(
1691
1692
  "p",
1692
1693
  {
@@ -1695,7 +1696,8 @@ function AssetCard({
1695
1696
  children: displayShown
1696
1697
  }
1697
1698
  ),
1698
- /* @__PURE__ */ jsx19("p", { className: "mt-0.5 truncate text-tiny font-medium uppercase tracking-wide text-muted-foreground", children: ticker })
1699
+ /* @__PURE__ */ jsx19("p", { className: "mt-0.5 truncate text-tiny font-medium uppercase tracking-wide text-muted-foreground", children: ticker }),
1700
+ status && /* @__PURE__ */ jsx19(StatusBadge, { status, className: "mt-2" })
1699
1701
  ] })
1700
1702
  ] })
1701
1703
  ]
@@ -3162,6 +3164,7 @@ function WalletAssetList({
3162
3164
  logoUri: item.logoUri,
3163
3165
  balanceVisible: item.balanceVisible,
3164
3166
  accentColor: item.accentColor,
3167
+ status: item.status,
3165
3168
  onClick: item.onClick
3166
3169
  },
3167
3170
  item.id