kaleido-ui 0.1.2 → 0.1.4

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.
@@ -1,8 +1,9 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
3
  import * as React$1 from 'react';
4
- import { HTMLAttributes, ReactNode, Component } from 'react';
4
+ import { HTMLAttributes, ReactNode, ChangeEvent, Component, CSSProperties } from 'react';
5
5
  import { VariantProps } from 'class-variance-authority';
6
+ import * as SelectPrimitive from '@radix-ui/react-select';
6
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
8
  import * as DialogPrimitive from '@radix-ui/react-dialog';
8
9
  import * as TabsPrimitive from '@radix-ui/react-tabs';
@@ -12,8 +13,8 @@ import * as ToastPrimitives from '@radix-ui/react-toast';
12
13
  declare function cn(...inputs: ClassValue[]): string;
13
14
 
14
15
  declare const buttonVariants: (props?: ({
15
- variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "glow" | "surface" | "cta" | "cta-gradient" | "danger-subtle" | null | undefined;
16
- size?: "default" | "cta" | "sm" | "lg" | "xl" | "cta-lg" | "icon" | "icon-lg" | "icon-xl" | null | undefined;
16
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "glow" | "surface" | "cta" | "cta-gradient" | "danger-subtle" | "hyperlink" | null | undefined;
17
+ size?: "default" | "cta" | "xs" | "sm" | "lg" | "xl" | "cta-lg" | "icon" | "icon-lg" | "icon-xl" | null | undefined;
17
18
  } & class_variance_authority_types.ClassProp) | undefined) => string;
18
19
  interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
19
20
  asChild?: boolean;
@@ -31,6 +32,30 @@ interface InputProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
31
32
  }
32
33
  declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
33
34
 
35
+ declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
36
+ declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
37
+ declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
38
+ declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
39
+ declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
40
+ declare const SelectLabel: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
41
+ interface SelectItemProps extends React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> {
42
+ description?: string;
43
+ }
44
+ declare const SelectItem: React$1.ForwardRefExoticComponent<SelectItemProps & React$1.RefAttributes<HTMLDivElement>>;
45
+ declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
46
+
47
+ interface SwitchProps {
48
+ checked?: boolean;
49
+ onCheckedChange?: (checked: boolean) => void;
50
+ disabled?: boolean;
51
+ className?: string;
52
+ }
53
+ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
54
+
55
+ interface NumberInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'type'> {
56
+ }
57
+ declare const NumberInput: React$1.ForwardRefExoticComponent<NumberInputProps & React$1.RefAttributes<HTMLInputElement>>;
58
+
34
59
  declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
35
60
  declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
36
61
  declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
@@ -148,9 +173,17 @@ interface NetworkBadgeProps {
148
173
  network: NetworkType;
149
174
  /** Override the icon path (consumer provides asset path) */
150
175
  iconBasePath?: string;
176
+ /** @deprecated Use showLabel={false}. Kept for compatibility. */
177
+ iconOnly?: boolean;
178
+ /** Adds the network label after the icon. Defaults to false. */
179
+ showLabel?: boolean;
180
+ /** Optional content rendered after the icon. Overrides the built-in label. */
181
+ children?: ReactNode;
182
+ size?: 'sm' | 'md';
151
183
  className?: string;
184
+ iconClassName?: string;
152
185
  }
153
- declare function NetworkBadge({ network, iconBasePath, className }: NetworkBadgeProps): react_jsx_runtime.JSX.Element;
186
+ declare function NetworkBadge({ network, iconBasePath, showLabel, children, size, className, iconClassName, }: NetworkBadgeProps): react_jsx_runtime.JSX.Element;
154
187
 
155
188
  interface AssetIconProps {
156
189
  ticker: string;
@@ -179,10 +212,12 @@ interface AssetCardProps {
179
212
  logoUri?: string;
180
213
  /** Whether balance should be masked */
181
214
  balanceVisible?: boolean;
215
+ /** Accent color hex for the card gradient. Pass a token from `kaleido-ui/tokens` (e.g. `colors.network.bitcoin`). */
216
+ accentColor?: string;
182
217
  onClick?: () => void;
183
218
  className?: string;
184
219
  }
185
- declare function AssetCard({ ticker, name, displayBalance, networks, logoUri, balanceVisible, onClick, className, }: AssetCardProps): react_jsx_runtime.JSX.Element;
220
+ declare function AssetCard({ ticker, name, displayBalance, networks, logoUri, balanceVisible, accentColor, onClick, className, }: AssetCardProps): react_jsx_runtime.JSX.Element;
186
221
 
187
222
  interface TransactionCardProps {
188
223
  /** Direction of the transaction */
@@ -200,14 +235,663 @@ interface TransactionCardProps {
200
235
  }
201
236
  declare function TransactionCard({ direction, status, displayAmount, unit, timestamp, onClick, className, }: TransactionCardProps): react_jsx_runtime.JSX.Element;
202
237
 
238
+ declare const APP_ICON_NAMES: {
239
+ readonly activity: "history";
240
+ readonly bitcoin: "currency_bitcoin";
241
+ readonly chevronDown: "expand_more";
242
+ readonly chevronRight: "chevron_right";
243
+ readonly channelClose: "remove_circle";
244
+ readonly channelOpen: "add_circle";
245
+ readonly close: "close";
246
+ readonly experimental: "science";
247
+ readonly issuance: "inventory_2";
248
+ readonly lock: "lock";
249
+ readonly onboarding: "arrow_circle_up";
250
+ readonly onchain: "link";
251
+ readonly power: "power_settings_new";
252
+ readonly receive: "call_received";
253
+ readonly refresh: "refresh";
254
+ readonly search: "search";
255
+ readonly send: "arrow_outward";
256
+ readonly settings: "settings";
257
+ readonly swap: "swap_horiz";
258
+ readonly transaction: "receipt_long";
259
+ readonly info: "info";
260
+ readonly vault: "key";
261
+ readonly wallet: "account_balance_wallet";
262
+ readonly allNetworks: "grid_view";
263
+ readonly arkadeLayers: "layers";
264
+ };
265
+ type AppIconName = keyof typeof APP_ICON_NAMES;
266
+ interface AppIconProps extends Omit<IconProps, 'name'> {
267
+ name: AppIconName;
268
+ strokeWidth?: number;
269
+ }
270
+ declare function AppIcon({ name, strokeWidth: _strokeWidth, ...props }: AppIconProps): react_jsx_runtime.JSX.Element;
271
+
272
+ interface NetworkIconProps {
273
+ className?: string;
274
+ alt?: string;
275
+ }
276
+ declare function LightningNetworkIcon({ className, alt, }: NetworkIconProps): react_jsx_runtime.JSX.Element;
277
+ declare function SparkNetworkIcon({ className, alt }: NetworkIconProps): react_jsx_runtime.JSX.Element;
278
+ declare function ArkadeNetworkIcon({ className, alt, }: NetworkIconProps): react_jsx_runtime.JSX.Element;
279
+
280
+ interface ActionTileProps {
281
+ icon: ReactNode;
282
+ label: string;
283
+ onClick?: () => void;
284
+ disabled?: boolean;
285
+ className?: string;
286
+ ariaLabel?: string;
287
+ 'data-testid'?: string;
288
+ }
289
+ declare function ActionTile({ icon, label, onClick, disabled, className, ariaLabel, 'data-testid': dataTestId, }: ActionTileProps): react_jsx_runtime.JSX.Element;
290
+
291
+ interface QrCodeProps {
292
+ value: string;
293
+ size?: number;
294
+ className?: string;
295
+ }
296
+ declare function QrCode({ value, size, className }: QrCodeProps): react_jsx_runtime.JSX.Element;
297
+
298
+ interface BottomNavItem<TValue extends string = string> {
299
+ id: TValue;
300
+ label: string;
301
+ icon?: ReactNode;
302
+ iconName?: string;
303
+ testId?: string;
304
+ }
305
+ interface BottomNavProps<TValue extends string = string> {
306
+ activeView?: TValue;
307
+ items: readonly BottomNavItem<TValue>[];
308
+ onChange: (view: TValue) => void;
309
+ position?: 'fixed' | 'inline';
310
+ className?: string;
311
+ }
312
+ declare function BottomNav<TValue extends string = string>({ activeView, items, onChange, position, className, }: BottomNavProps<TValue>): react_jsx_runtime.JSX.Element;
313
+
314
+ interface AccountStatusTabItem<TId extends string = string> {
315
+ id: TId;
316
+ label: string;
317
+ state: string;
318
+ detail: string;
319
+ icon: ReactNode;
320
+ dotTone: string;
321
+ title: string;
322
+ description: string;
323
+ capabilityBullets: string[];
324
+ networkLabel: string;
325
+ networkBannerClassName: string;
326
+ accentBg?: string;
327
+ accentBorder?: string;
328
+ }
329
+ interface AccountStatusTabsProps<TId extends string = string> {
330
+ accounts: AccountStatusTabItem<TId>[];
331
+ }
332
+ declare function AccountStatusTabs<TId extends string = string>({ accounts, }: AccountStatusTabsProps<TId>): react_jsx_runtime.JSX.Element;
333
+
334
+ interface FilterDropdownOption {
335
+ id: string;
336
+ label: string;
337
+ icon: ReactNode;
338
+ clusterIcon?: ReactNode;
339
+ tintClass?: string;
340
+ }
341
+ interface FilterDropdownProps {
342
+ label: string;
343
+ value: string;
344
+ options: FilterDropdownOption[];
345
+ onChange: (id: string) => void;
346
+ clusterMax?: number;
347
+ className?: string;
348
+ }
349
+ declare function FilterDropdown({ label, value, options, onChange, clusterMax, className, }: FilterDropdownProps): react_jsx_runtime.JSX.Element;
350
+
351
+ interface SettingsTileProps {
352
+ icon: ReactNode;
353
+ title: string;
354
+ description?: string;
355
+ value?: string;
356
+ onClick: () => void;
357
+ }
358
+ declare function SettingsTile({ icon, title, description, value, onClick }: SettingsTileProps): react_jsx_runtime.JSX.Element;
359
+ declare function SettingsStatusPanel({ label, value }: {
360
+ label: string;
361
+ value: ReactNode;
362
+ }): react_jsx_runtime.JSX.Element;
363
+ declare function SettingsActionButton({ icon, children, onClick, }: {
364
+ icon?: ReactNode;
365
+ children: ReactNode;
366
+ onClick: () => void;
367
+ }): react_jsx_runtime.JSX.Element;
368
+
369
+ type AccountSettingsProtocol = 'RGB' | 'SPARK' | 'ARKADE';
370
+ type AccountSettingsNetwork = 'mainnet' | 'testnet' | 'regtest' | 'signet';
371
+ declare function getAccountNetworkLabel(network: AccountSettingsNetwork): string;
372
+ declare function getAccountNetworkUi(network: AccountSettingsNetwork): {
373
+ label: string;
374
+ badgeClassName: string;
375
+ bannerClassName: string;
376
+ };
377
+ declare function AccountHeaderIcons({ accountId }: {
378
+ accountId: AccountSettingsProtocol;
379
+ }): react_jsx_runtime.JSX.Element;
380
+ declare function getAccountStatusUi(status: 'ready' | 'offline' | 'optional' | string): {
381
+ label: string;
382
+ className: string;
383
+ };
384
+ declare function AccountNetworkSelector({ accountId, value, onChange, disabled, }: {
385
+ accountId: AccountSettingsProtocol;
386
+ value: AccountSettingsNetwork;
387
+ onChange: (network: AccountSettingsNetwork) => void;
388
+ disabled?: boolean;
389
+ }): react_jsx_runtime.JSX.Element;
390
+ declare function AccountNetworkPicker({ accountId, current, onSave, }: {
391
+ accountId: AccountSettingsProtocol;
392
+ current: AccountSettingsNetwork;
393
+ onSave: (network: AccountSettingsNetwork) => Promise<unknown>;
394
+ }): react_jsx_runtime.JSX.Element;
395
+ declare function AccountSettingsShell({ accountId, title, subtitle, children, }: {
396
+ accountId: AccountSettingsProtocol;
397
+ title: string;
398
+ subtitle: string;
399
+ children: ReactNode;
400
+ }): react_jsx_runtime.JSX.Element;
401
+ declare function AccountInfoGrid({ items }: {
402
+ items: Array<{
403
+ label: string;
404
+ value: ReactNode;
405
+ }>;
406
+ }): react_jsx_runtime.JSX.Element;
407
+ declare function AccountNotice({ tone, children, }: {
408
+ tone?: 'default' | 'warning';
409
+ children: ReactNode;
410
+ }): react_jsx_runtime.JSX.Element;
411
+ declare function AccountNetworkNotice({ network, children, }: {
412
+ network: AccountSettingsNetwork;
413
+ children: ReactNode;
414
+ }): react_jsx_runtime.JSX.Element;
415
+ declare function AccountStatusPills({ status, network, }: {
416
+ status: 'ready' | 'offline' | 'optional' | string;
417
+ network: AccountSettingsNetwork;
418
+ }): react_jsx_runtime.JSX.Element;
419
+ declare function SectionTitle({ children }: {
420
+ children: ReactNode;
421
+ }): react_jsx_runtime.JSX.Element;
422
+ declare function InlineAction({ title, description, accent, onClick, }: {
423
+ title: string;
424
+ description: string;
425
+ accent?: 'purple' | 'blue' | 'primary';
426
+ onClick: () => void;
427
+ }): react_jsx_runtime.JSX.Element;
428
+ declare function TransferRouteCard({ label, summary, eta, feeHint, }: {
429
+ label: string;
430
+ summary: string;
431
+ eta: string;
432
+ feeHint: string;
433
+ }): react_jsx_runtime.JSX.Element;
434
+ declare function ExpandIcon({ expanded }: {
435
+ expanded: boolean;
436
+ }): react_jsx_runtime.JSX.Element;
437
+ declare function AccountSettingsRow({ accountId, title, status, network, description, onClick, }: {
438
+ accountId: AccountSettingsProtocol;
439
+ title: string;
440
+ status: 'ready' | 'offline' | 'optional' | string;
441
+ network: AccountSettingsNetwork;
442
+ description: string;
443
+ onClick: () => void;
444
+ }): react_jsx_runtime.JSX.Element;
445
+
446
+ interface AccountCapabilitiesCardProps {
447
+ accountId: AccountSettingsProtocol;
448
+ title: string;
449
+ description: string;
450
+ status: string;
451
+ capabilities: string[];
452
+ accent: 'primary' | 'blue' | 'purple';
453
+ isExpanded: boolean;
454
+ onToggle: () => void;
455
+ collapsible?: boolean;
456
+ children?: ReactNode;
457
+ }
458
+ declare function AccountCapabilitiesCard({ accountId, title, description, status, capabilities, accent, isExpanded, onToggle, collapsible, children, }: AccountCapabilitiesCardProps): react_jsx_runtime.JSX.Element;
459
+
460
+ interface WalletAssetListItem {
461
+ id: string;
462
+ ticker: string;
463
+ name: string;
464
+ displayBalance: string;
465
+ networks?: NetworkType[];
466
+ logoUri?: string;
467
+ balanceVisible?: boolean;
468
+ accentColor?: string;
469
+ onClick?: () => void;
470
+ }
471
+ interface WalletAssetListEmptyState {
472
+ id: string;
473
+ title?: string;
474
+ description?: string;
475
+ icon?: ReactNode;
476
+ }
477
+ interface WalletAssetListProps {
478
+ items: WalletAssetListItem[];
479
+ title?: string;
480
+ amountLabel?: string;
481
+ isLoading?: boolean;
482
+ loadingRows?: number;
483
+ emptyStates?: WalletAssetListEmptyState[];
484
+ bottomSpacer?: boolean;
485
+ className?: string;
486
+ }
487
+ declare function WalletAssetList({ items, title, amountLabel, isLoading, loadingRows, emptyStates, bottomSpacer, className, }: WalletAssetListProps): react_jsx_runtime.JSX.Element;
488
+
489
+ interface BalanceBreakdownAsset {
490
+ asset_id: string;
491
+ ticker: string;
492
+ name?: string;
493
+ precision?: number;
494
+ balance?: unknown;
495
+ }
496
+ interface BalanceBreakdownAccounts {
497
+ RGB?: {
498
+ connected?: boolean;
499
+ };
500
+ }
501
+ interface BalanceBreakdownNodeInfo {
502
+ pubkey?: string;
503
+ num_peers?: number;
504
+ num_channels?: number;
505
+ }
506
+ interface BalanceBreakdownProps {
507
+ btcOnchain: number;
508
+ btcLightning: number;
509
+ btcSpark: number;
510
+ btcArkade: number;
511
+ totalBTC: number;
512
+ rgbAssets: BalanceBreakdownAsset[];
513
+ accounts: BalanceBreakdownAccounts;
514
+ nodeInfo?: BalanceBreakdownNodeInfo | null;
515
+ balanceVisible: boolean;
516
+ format: (sats: number) => string;
517
+ formatFiatValue: (sats: number) => string;
518
+ unit: string;
519
+ label: string;
520
+ cycle: () => void;
521
+ isLoading?: boolean;
522
+ isPartial?: boolean;
523
+ btcOnchainPending?: boolean;
524
+ btcLightningPending?: boolean;
525
+ btcSparkPending?: boolean;
526
+ btcArkadePending?: boolean;
527
+ onRefresh?: () => void;
528
+ isRefreshing?: boolean;
529
+ onNavigate?: (view: 'deposit' | 'swap' | 'withdraw') => void;
530
+ }
531
+ declare function BalanceBreakdown({ btcOnchain, btcLightning, btcSpark, btcArkade, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, onRefresh, isRefreshing, onNavigate, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
532
+
533
+ interface AssetSelectorOption {
534
+ ticker: string;
535
+ name?: string;
536
+ icon?: string;
537
+ network?: NetworkType;
538
+ category?: string | null;
539
+ categoryLabel?: string;
540
+ }
541
+ interface AssetSelectorCategory {
542
+ id: string;
543
+ label: string;
544
+ }
545
+ interface AssetSelectorProps {
546
+ label: string;
547
+ selectedTicker: string;
548
+ options: AssetSelectorOption[];
549
+ categories?: AssetSelectorCategory[];
550
+ defaultActiveCategories?: string[];
551
+ disabled?: boolean;
552
+ disabledTicker?: string;
553
+ compact?: boolean;
554
+ onChange: (ticker: string) => void;
555
+ }
556
+ declare function AssetSelector({ label, selectedTicker, options, categories, defaultActiveCategories, disabled, disabledTicker, compact, onChange, }: AssetSelectorProps): react_jsx_runtime.JSX.Element;
557
+
558
+ interface SwapInputCardProps {
559
+ fromTicker: string;
560
+ toTicker: string;
561
+ fromInput: string;
562
+ fromOptions: AssetSelectorOption[];
563
+ toOptions: AssetSelectorOption[];
564
+ categories?: AssetSelectorCategory[];
565
+ defaultActiveCategories?: string[];
566
+ availableText: string;
567
+ showMaxText?: boolean;
568
+ maxText?: string;
569
+ selectedPercentage?: number | null;
570
+ percentageDisabled?: boolean;
571
+ fromUnitLabel: string;
572
+ fromUnitIsToggle?: boolean;
573
+ receiveAmount?: string | null;
574
+ receiveUnitLabel?: string;
575
+ isLoadingQuote?: boolean;
576
+ quoteError?: string | null;
577
+ quoteRateText?: string | null;
578
+ quoteFeeText?: string | null;
579
+ quoteExpiresText?: string | null;
580
+ quoteExpiresUrgent?: boolean;
581
+ warning?: string | null;
582
+ submitLabel: string;
583
+ submitVariant?: ButtonProps['variant'];
584
+ submitDisabled?: boolean;
585
+ onFromTickerChange: (ticker: string) => void;
586
+ onToTickerChange: (ticker: string) => void;
587
+ onFromInputChange: (value: string) => void;
588
+ onPercentageClick: (percent: number) => void;
589
+ onToggleFromUnit?: () => void;
590
+ onFlip: () => void;
591
+ onSubmit: () => void;
592
+ }
593
+ declare function SwapInputCard({ fromTicker, toTicker, fromInput, fromOptions, toOptions, categories, defaultActiveCategories, availableText, showMaxText, maxText, selectedPercentage, percentageDisabled, fromUnitLabel, fromUnitIsToggle, receiveAmount, receiveUnitLabel, isLoadingQuote, quoteError, quoteRateText, quoteFeeText, quoteExpiresText, quoteExpiresUrgent, warning, submitLabel, submitVariant, submitDisabled, onFromTickerChange, onToTickerChange, onFromInputChange, onPercentageClick, onToggleFromUnit, onFlip, onSubmit, }: SwapInputCardProps): react_jsx_runtime.JSX.Element;
594
+
595
+ interface ActivityListItem<TData = unknown> {
596
+ id: string;
597
+ direction: 'inbound' | 'outbound';
598
+ status: StatusType;
599
+ displayAmount: string;
600
+ unit?: string;
601
+ timestamp: number;
602
+ network?: NetworkType;
603
+ label?: string;
604
+ data?: TData;
605
+ }
606
+ interface ActivityListProps<TData = unknown> {
607
+ items: ActivityListItem<TData>[];
608
+ isLoading?: boolean;
609
+ error?: string | null;
610
+ hasActiveFilters?: boolean;
611
+ expandedId?: string | null;
612
+ onExpandedChange?: (id: string | null) => void;
613
+ onRetry?: () => void;
614
+ onClearFilters?: () => void;
615
+ renderEmptyActions?: () => ReactNode;
616
+ renderDetails?: (item: ActivityListItem<TData>) => ReactNode;
617
+ emptyIcon?: ReactNode;
618
+ emptyTitle?: string;
619
+ emptyDescription?: string;
620
+ filteredEmptyTitle?: string;
621
+ filteredEmptyDescription?: string;
622
+ }
623
+ declare function ActivityList<TData = unknown>({ items, isLoading, error, hasActiveFilters, expandedId, onExpandedChange, onRetry, onClearFilters, renderEmptyActions, renderDetails, emptyIcon, emptyTitle, emptyDescription, filteredEmptyTitle, filteredEmptyDescription, }: ActivityListProps<TData>): react_jsx_runtime.JSX.Element;
624
+
625
+ interface ActivityStatusOption<TValue extends string = string> {
626
+ value: TValue;
627
+ label: string;
628
+ }
629
+ interface ActivityFilterBarProps<TStatus extends string = string> {
630
+ searchTerm: string;
631
+ onSearchTermChange: (value: string) => void;
632
+ statusFilter: TStatus;
633
+ onStatusFilterChange: (value: TStatus) => void;
634
+ statusOptions: ActivityStatusOption<TStatus>[];
635
+ hasActiveFilters?: boolean;
636
+ onClearFilters?: () => void;
637
+ searchPlaceholder?: string;
638
+ }
639
+ declare function ActivityFilterBar<TStatus extends string = string>({ searchTerm, onSearchTermChange, statusFilter, onStatusFilterChange, statusOptions, hasActiveFilters, onClearFilters, searchPlaceholder, }: ActivityFilterBarProps<TStatus>): react_jsx_runtime.JSX.Element;
640
+
641
+ type ActivityNetworkFilterValue = 'all' | 'onchain' | 'lightning' | 'spark' | 'arkade';
642
+ interface ActivityNetworkFilterOption<TValue extends string = ActivityNetworkFilterValue> {
643
+ value: TValue;
644
+ label: string;
645
+ icon?: React.ReactNode;
646
+ }
647
+ interface ActivityNetworkFiltersProps<TValue extends string = ActivityNetworkFilterValue> {
648
+ filters: ActivityNetworkFilterOption<TValue>[];
649
+ activeFilter: TValue;
650
+ onChange: (value: TValue) => void;
651
+ className?: string;
652
+ }
653
+ declare function getActivityNetworkFilterIcon(filter: ActivityNetworkFilterValue): react_jsx_runtime.JSX.Element;
654
+ declare function ActivityNetworkFilters<TValue extends string = ActivityNetworkFilterValue>({ filters, activeFilter, onChange, className, }: ActivityNetworkFiltersProps<TValue>): react_jsx_runtime.JSX.Element | null;
655
+
656
+ type ActivityTypeTabValue = 'all' | 'received' | 'sent' | 'swaps';
657
+ interface ActivityTypeTabCounts {
658
+ all?: number;
659
+ received?: number;
660
+ sent?: number;
661
+ swaps?: number;
662
+ }
663
+ declare function ActivityTypeTabs({ counts }: {
664
+ counts?: ActivityTypeTabCounts;
665
+ }): react_jsx_runtime.JSX.Element;
666
+
667
+ interface ActivityDetailRowProps {
668
+ label: string;
669
+ value: ReactNode;
670
+ fullValue?: string;
671
+ onCopy?: () => void;
672
+ isCopied?: boolean;
673
+ }
674
+ declare function ActivityDetailRow({ label, value, fullValue, onCopy, isCopied, }: ActivityDetailRowProps): react_jsx_runtime.JSX.Element;
675
+
676
+ type WithdrawAddressType = 'unknown' | 'bitcoin' | 'spark' | 'arkade' | 'lightning' | 'lightning-address' | 'lnurl-pay' | 'rgb' | 'invalid';
677
+ interface WithdrawDestinationInputProps {
678
+ destination: string;
679
+ setDestination: (value: string) => void;
680
+ addressType: WithdrawAddressType;
681
+ detectedNetworkLabel?: string;
682
+ isDecoding: boolean;
683
+ isResolvingLnurl: boolean;
684
+ handlePaste: () => void;
685
+ handleReset: () => void;
686
+ }
687
+ declare function WithdrawDestinationInput({ destination, setDestination, addressType, detectedNetworkLabel, isDecoding, isResolvingLnurl, handlePaste, handleReset, }: WithdrawDestinationInputProps): react_jsx_runtime.JSX.Element;
688
+
689
+ interface WithdrawDecodedLnInvoice {
690
+ amount?: number | null;
691
+ asset_amount?: number | null;
692
+ }
693
+ interface WithdrawDecodedRgbInvoice {
694
+ assignment?: {
695
+ value?: number | null;
696
+ } | null;
697
+ recipient_type?: string;
698
+ }
699
+ interface WithdrawLnurlPayData {
700
+ params: {
701
+ min: number;
702
+ max: number;
703
+ description?: string;
704
+ };
705
+ }
706
+ interface WithdrawAmountInputProps {
707
+ addressType: WithdrawAddressType;
708
+ amount: string;
709
+ handleAmountChange: (event: ChangeEvent<HTMLInputElement>) => void;
710
+ handleSetMax: () => void;
711
+ selectedAssetId: string;
712
+ selectedAssetTicker: string | undefined;
713
+ assetBalance?: number;
714
+ formattedBalance: string;
715
+ decodedLnInvoice: WithdrawDecodedLnInvoice | null;
716
+ decodedRgbInvoice: WithdrawDecodedRgbInvoice | null;
717
+ lnurlPayData: WithdrawLnurlPayData | null;
718
+ witnessAmountSat: number;
719
+ setWitnessAmountSat: (value: number) => void;
720
+ feeRate: 'slow' | 'normal' | 'fast';
721
+ setFeeRate: (rate: 'slow' | 'normal' | 'fast') => void;
722
+ feeRates: {
723
+ slow: number;
724
+ normal: number;
725
+ fast: number;
726
+ };
727
+ donation: boolean;
728
+ setDonation: (value: boolean) => void;
729
+ }
730
+ declare function WithdrawAmountInput({ addressType, amount, handleAmountChange, handleSetMax, selectedAssetId, selectedAssetTicker, formattedBalance, decodedLnInvoice, decodedRgbInvoice, lnurlPayData, witnessAmountSat, setWitnessAmountSat, feeRate, setFeeRate, feeRates, donation, setDonation, }: WithdrawAmountInputProps): react_jsx_runtime.JSX.Element;
731
+
732
+ interface WithdrawInvoiceAsset {
733
+ asset_id: string;
734
+ ticker: string;
735
+ precision: number;
736
+ }
737
+ interface WithdrawInvoiceInfoLnInvoice {
738
+ amount?: number | null;
739
+ asset_id?: string;
740
+ asset_amount?: number | null;
741
+ description?: string;
742
+ }
743
+ interface WithdrawInvoiceInfoRgbInvoice {
744
+ asset_id?: string;
745
+ assignment?: {
746
+ value?: number | null;
747
+ } | null;
748
+ recipient_type?: string;
749
+ }
750
+ interface WithdrawInvoiceInfoProps {
751
+ addressType: WithdrawAddressType;
752
+ decodedLnInvoice: WithdrawInvoiceInfoLnInvoice | null;
753
+ decodedRgbInvoice: WithdrawInvoiceInfoRgbInvoice | null;
754
+ allAssets: WithdrawInvoiceAsset[];
755
+ selectedAssetId: string;
756
+ selectedAssetTicker: string | undefined;
757
+ assetBalance: number;
758
+ maxLightningCapacity: number;
759
+ }
760
+ declare function WithdrawInvoiceInfo({ addressType, decodedLnInvoice, decodedRgbInvoice, allAssets, selectedAssetId, selectedAssetTicker, assetBalance, maxLightningCapacity, }: WithdrawInvoiceInfoProps): react_jsx_runtime.JSX.Element | null;
761
+
762
+ interface WithdrawRouteOption<TAccount extends string = string> {
763
+ account: TAccount;
764
+ method: string;
765
+ summary: string;
766
+ accountTitle: string;
767
+ methodLabel: string;
768
+ feeHint: string;
769
+ }
770
+ interface WithdrawRouteSummary {
771
+ method: string;
772
+ summary: string;
773
+ methodLabel: string;
774
+ }
775
+ interface WithdrawRouteSelectorProps<TAccount extends string = string> {
776
+ routes: WithdrawRouteOption<TAccount>[];
777
+ activeRouteAccount: TAccount | undefined;
778
+ recommendedRouteAccount: TAccount | undefined;
779
+ selectedRouteSummary: WithdrawRouteSummary | null;
780
+ selectedAccountTitle?: string;
781
+ onRouteChange: (account: TAccount) => void;
782
+ }
783
+ declare function WithdrawRouteSelector<TAccount extends string = string>({ routes, activeRouteAccount, recommendedRouteAccount, selectedRouteSummary, selectedAccountTitle, onRouteChange, }: WithdrawRouteSelectorProps<TAccount>): react_jsx_runtime.JSX.Element;
784
+
785
+ interface WithdrawConfirmationRgbInvoice {
786
+ recipient_type?: string;
787
+ }
788
+ interface WithdrawConfirmationProps {
789
+ isConfirming: boolean;
790
+ isPollingStatus: boolean;
791
+ setShowConfirmation: (value: boolean) => void;
792
+ displayAmount: number;
793
+ selectedAssetId: string;
794
+ selectedAsset?: {
795
+ ticker?: string;
796
+ };
797
+ destination: string;
798
+ networkLabel: string;
799
+ routeAccount?: string;
800
+ routeMethod?: string;
801
+ estimatedFee: number;
802
+ feeRate: string;
803
+ addressType: WithdrawAddressType;
804
+ decodedRgbInvoice: WithdrawConfirmationRgbInvoice | null;
805
+ witnessAmountSat: number;
806
+ amount: string;
807
+ handleConfirmSend: () => void;
808
+ }
809
+ 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;
810
+
811
+ interface WithdrawSuccessProps {
812
+ displayAmount: number;
813
+ selectedAssetId: string;
814
+ selectedAsset?: {
815
+ ticker?: string;
816
+ };
817
+ txResult: {
818
+ paymentHash?: string;
819
+ payment_hash?: string;
820
+ txid?: string;
821
+ } | null;
822
+ handleReset: () => void;
823
+ onDone: () => void;
824
+ }
825
+ declare function WithdrawSuccess({ displayAmount, selectedAssetId, selectedAsset, txResult, handleReset, onDone, }: WithdrawSuccessProps): react_jsx_runtime.JSX.Element;
826
+
203
827
  interface PageHeaderProps {
204
828
  left?: ReactNode;
205
829
  title?: string;
206
830
  right?: ReactNode;
831
+ className?: string;
207
832
  /** Border class for network-aware styling (e.g. "border-network-bitcoin/30") */
208
833
  borderClassName?: string;
209
834
  }
210
- declare function PageHeader({ left, title, right, borderClassName }: PageHeaderProps): react_jsx_runtime.JSX.Element;
835
+ declare function PageHeader({ left, title, right, className, borderClassName }: PageHeaderProps): react_jsx_runtime.JSX.Element;
836
+
837
+ /**
838
+ * Full-bleed page shell that paints the brand radial-gradient backdrop and
839
+ * renders children in a centered column. Replaces the duplicated
840
+ * `bg-page-radial` + min-h-screen layouts in Welcome / LockScreen / Onboarding.
841
+ */
842
+ interface PageShellProps {
843
+ children: ReactNode;
844
+ /** When true, sets min-h-screen (default). Set false to constrain to h-screen. */
845
+ fullHeight?: boolean;
846
+ /** Default `flex flex-col items-center justify-center p-6`. Disable to provide your own layout. */
847
+ centered?: boolean;
848
+ className?: string;
849
+ }
850
+ declare function PageShell({ children, fullHeight, centered, className, }: PageShellProps): react_jsx_runtime.JSX.Element;
851
+ /**
852
+ * Brand headline gradient — the white-to-slate-fade treatment used on
853
+ * Welcome / LockScreen titles. Uses CSS variables so dark/light modes
854
+ * can be re-themed without component changes.
855
+ */
856
+ interface HeadlineGradientProps {
857
+ children: ReactNode;
858
+ as?: 'h1' | 'h2' | 'h3';
859
+ className?: string;
860
+ }
861
+ declare function HeadlineGradient({ children, as: Tag, className, }: HeadlineGradientProps): react_jsx_runtime.JSX.Element;
862
+ /**
863
+ * Centered loading state — used by ActivityList and other async surfaces.
864
+ * Replaces ad-hoc spinner-and-text duplicates across the extension.
865
+ */
866
+ interface LoadingCardProps {
867
+ message?: string;
868
+ className?: string;
869
+ }
870
+ declare function LoadingCard({ message, className }: LoadingCardProps): react_jsx_runtime.JSX.Element;
871
+ /**
872
+ * Centered error state with an optional retry button. Replaces the bespoke
873
+ * red-icon-circle + title + description card in ActivityList and elsewhere.
874
+ */
875
+ interface ErrorCardProps {
876
+ title?: string;
877
+ description: string;
878
+ onRetry?: () => void;
879
+ retryLabel?: string;
880
+ className?: string;
881
+ }
882
+ declare function ErrorCard({ title, description, onRetry, retryLabel, className, }: ErrorCardProps): react_jsx_runtime.JSX.Element;
883
+ /**
884
+ * A bottom-fade overlay used over scrolling content (e.g. dashboard lists)
885
+ * to soften the cut against the bottom navigation bar.
886
+ */
887
+ interface FadeOverlayProps {
888
+ /** Direction of the fade. Defaults to bottom. */
889
+ edge?: 'bottom' | 'top';
890
+ /** Tailwind height class — defaults to h-12. */
891
+ heightClassName?: string;
892
+ className?: string;
893
+ }
894
+ declare function FadeOverlay({ edge, heightClassName, className, }: FadeOverlayProps): react_jsx_runtime.JSX.Element;
211
895
 
212
896
  interface SettingItemProps {
213
897
  icon?: string;
@@ -231,23 +915,23 @@ declare function SectionLabel({ children, className }: SectionLabelProps): react
231
915
 
232
916
  declare const variantStyles: {
233
917
  readonly error: {
234
- readonly container: "bg-red-500/10 border-red-500/20";
235
- readonly icon: "text-red-400";
918
+ readonly container: "bg-danger/40";
919
+ readonly icon: "text-danger";
236
920
  readonly iconName: "error";
237
921
  };
238
922
  readonly warning: {
239
- readonly container: "bg-amber-500/10 border-amber-500/20";
240
- readonly icon: "text-amber-400";
923
+ readonly container: "bg-warning/40";
924
+ readonly icon: "text-warning";
241
925
  readonly iconName: "warning";
242
926
  };
243
927
  readonly info: {
244
- readonly container: "bg-blue-500/10 border-blue-500/20";
245
- readonly icon: "text-blue-400";
928
+ readonly container: "bg-info/40";
929
+ readonly icon: "text-info";
246
930
  readonly iconName: "info";
247
931
  };
248
932
  readonly success: {
249
- readonly container: "bg-primary/10 border-primary/20";
250
- readonly icon: "text-primary";
933
+ readonly container: "bg-primary/8";
934
+ readonly icon: "text-primary/90";
251
935
  readonly iconName: "check_circle";
252
936
  };
253
937
  };
@@ -272,8 +956,247 @@ declare class ErrorBoundary extends Component<Props, State> {
272
956
  constructor(props: Props);
273
957
  static getDerivedStateFromError(error: Error): State;
274
958
  componentDidCatch(error: Error, info: React.ErrorInfo): void;
275
- render(): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
959
+ render(): string | number | boolean | react_jsx_runtime.JSX.Element | Iterable<ReactNode> | null | undefined;
960
+ }
961
+
962
+ type DepositAccountId = 'RGB' | 'SPARK' | 'ARKADE';
963
+ type DepositTransferMethod = 'bitcoin_l1' | 'lightning' | 'spark' | 'arkade' | 'boarding' | 'submarine_swap';
964
+ type DepositNetworkKey = 'onchain' | 'lightning' | 'spark' | 'arkade';
965
+ interface DepositNetworkConfigEntry {
966
+ label: string;
967
+ color: string;
968
+ bg: string;
969
+ text: string;
970
+ border: string;
971
+ qrBorder: string;
972
+ /** Inline style. Apply via `style={network.qrGlow}`. */
973
+ qrGlow: CSSProperties;
974
+ icon: ReactNode;
975
+ }
976
+ declare const NETWORK_CONFIG: Record<DepositNetworkKey, DepositNetworkConfigEntry>;
977
+ declare function InvoiceStatusBanner({ isInvoicePending, isInvoicePaid, isInvoiceFailedOrExpired, invoiceStatus, }: {
978
+ isInvoicePending: boolean;
979
+ isInvoicePaid: boolean;
980
+ isInvoiceFailedOrExpired: boolean;
981
+ invoiceStatus: string;
982
+ }): react_jsx_runtime.JSX.Element;
983
+ declare function PaidOverlay(): react_jsx_runtime.JSX.Element;
984
+ declare function CopyIcon({ copied }: {
985
+ copied: boolean;
986
+ }): react_jsx_runtime.JSX.Element;
987
+ declare function AccountChoiceChip({ account, active, onClick, }: {
988
+ account: DepositAccountId;
989
+ active: boolean;
990
+ onClick: () => void;
991
+ }): react_jsx_runtime.JSX.Element;
992
+ declare function NetworkInfoDisclosure({ networks, className, }: {
993
+ networks: DepositNetworkKey[];
994
+ className?: string;
995
+ }): react_jsx_runtime.JSX.Element | null;
996
+ declare function MethodChoiceChip({ method, active, enabled, disabledReason, onClick, }: {
997
+ method: DepositTransferMethod;
998
+ active: boolean;
999
+ enabled: boolean;
1000
+ disabledReason?: string;
1001
+ onClick: () => void;
1002
+ }): react_jsx_runtime.JSX.Element;
1003
+
1004
+ interface DepositSuccessScreenProps {
1005
+ handleDone: () => void;
1006
+ displayTicker: string;
1007
+ selectedAsset?: {
1008
+ name?: string;
1009
+ } | null;
1010
+ network: DepositNetworkKey;
1011
+ arkSubMode?: 'ark' | 'boarding';
1012
+ }
1013
+ declare function DepositSuccessScreen({ handleDone, displayTicker, selectedAsset, network, arkSubMode, }: DepositSuccessScreenProps): react_jsx_runtime.JSX.Element;
1014
+
1015
+ interface DepositNetworkOption {
1016
+ network: DepositNetworkKey;
1017
+ account: DepositAccountId;
1018
+ label: string;
1019
+ description: string;
1020
+ icon: ReactNode;
1021
+ accentBg: string;
1022
+ accentBorder: string;
1023
+ accentText: string;
1024
+ }
1025
+ interface DepositNetworkDefaultModalProps {
1026
+ open: boolean;
1027
+ assetTicker: string;
1028
+ availableAccounts: DepositAccountId[];
1029
+ suggestedAccount: DepositAccountId;
1030
+ onSelect: (network: DepositNetworkKey) => void;
1031
+ }
1032
+ declare function DepositNetworkDefaultModal({ open, assetTicker, availableAccounts, suggestedAccount, onSelect, }: DepositNetworkDefaultModalProps): react_jsx_runtime.JSX.Element | null;
1033
+
1034
+ interface BtcUnifiedReceiveAddress {
1035
+ network: DepositNetworkKey;
1036
+ label: string;
1037
+ value: string;
1038
+ }
1039
+ interface BtcUnifiedReceiveResult {
1040
+ qrValue: string;
1041
+ qrLabel: string;
1042
+ addresses: BtcUnifiedReceiveAddress[];
1043
+ }
1044
+ interface BtcUnifiedReceiveProps {
1045
+ btcSelectedAccount: DepositAccountId;
1046
+ accountReceiveResult: BtcUnifiedReceiveResult;
1047
+ invoiceStatus: string | null;
1048
+ isInvoicePending: boolean;
1049
+ isInvoicePaid: boolean;
1050
+ isInvoiceFailedOrExpired: boolean;
1051
+ amount: string;
1052
+ handleAmountChange: (event: ChangeEvent<HTMLInputElement>) => void;
1053
+ loading: boolean;
1054
+ copied: boolean;
1055
+ copyToClipboard: (text: string) => Promise<void>;
1056
+ setAddress: (value: string) => void;
1057
+ setAmount: (value: string) => void;
1058
+ setInvoiceStatus: (value: string | null) => void;
1059
+ setAccountReceiveResult: (result: null) => void;
1060
+ handleDone: () => void;
1061
+ }
1062
+ declare function BtcUnifiedReceive({ btcSelectedAccount, accountReceiveResult, invoiceStatus, isInvoicePending, isInvoicePaid, isInvoiceFailedOrExpired, amount, handleAmountChange, loading, copied, copyToClipboard, setAddress, setAmount, setInvoiceStatus, setAccountReceiveResult, handleDone, }: BtcUnifiedReceiveProps): react_jsx_runtime.JSX.Element;
1063
+
1064
+ interface DepositGeneratedAsset {
1065
+ ticker?: string;
1066
+ name?: string;
1067
+ precision?: number;
1068
+ }
1069
+ interface DepositGeneratedViewProps {
1070
+ network: DepositNetworkKey;
1071
+ net: DepositNetworkConfigEntry;
1072
+ isBtc: boolean;
1073
+ address: string;
1074
+ addressLabel: string;
1075
+ recipientId: string;
1076
+ arkSubMode: 'ark' | 'boarding';
1077
+ invoiceStatus: string | null;
1078
+ isInvoicePending: boolean;
1079
+ isInvoicePaid: boolean;
1080
+ isInvoiceFailedOrExpired: boolean;
1081
+ amount: string;
1082
+ handleAmountChange: (event: ChangeEvent<HTMLInputElement>) => void;
1083
+ loading: boolean;
1084
+ copied: boolean;
1085
+ copyToClipboard: (text: string) => Promise<void>;
1086
+ getUnitLabel: () => string;
1087
+ selectedAsset: DepositGeneratedAsset | null;
1088
+ maxDepositAmount: number;
1089
+ setAddress: (value: string) => void;
1090
+ setRecipientId: (value: string) => void;
1091
+ setAmount: (value: string) => void;
1092
+ setInvoiceStatus: (value: string | null) => void;
1093
+ handleDone: () => void;
1094
+ }
1095
+ declare function DepositGeneratedView({ network, net, isBtc, address, addressLabel, recipientId, arkSubMode, invoiceStatus, isInvoicePending, isInvoicePaid, isInvoiceFailedOrExpired, amount, handleAmountChange, loading, copied, copyToClipboard, getUnitLabel, selectedAsset, maxDepositAmount, setAddress, setRecipientId, setAmount, setInvoiceStatus, handleDone, }: DepositGeneratedViewProps): react_jsx_runtime.JSX.Element;
1096
+
1097
+ interface DepositPreGenerationAsset {
1098
+ ticker?: string;
1099
+ precision?: number;
1100
+ }
1101
+ interface DepositPreGenerationProps {
1102
+ selectedAsset: DepositPreGenerationAsset | null;
1103
+ isBtc: boolean;
1104
+ network: DepositNetworkKey;
1105
+ net: DepositNetworkConfigEntry;
1106
+ selectedAccount: DepositAccountId;
1107
+ currentMethod: DepositTransferMethod;
1108
+ channelsLoading: boolean;
1109
+ showChannelWarning: boolean;
1110
+ showLiquidityWarning: boolean;
1111
+ isAutoGenerate: boolean;
1112
+ loading: boolean;
1113
+ usePrivacy: boolean;
1114
+ setUsePrivacy: (value: boolean) => void;
1115
+ amount: string;
1116
+ handleAmountChange: (event: ChangeEvent<HTMLInputElement>) => void;
1117
+ getUnitLabel: () => string;
1118
+ generateInvoice: () => Promise<void>;
1119
+ }
1120
+ declare function DepositPreGeneration({ selectedAsset, isBtc, network, net, selectedAccount, currentMethod, channelsLoading, showChannelWarning, showLiquidityWarning, isAutoGenerate, loading, usePrivacy, setUsePrivacy, amount, handleAmountChange, getUnitLabel, generateInvoice, }: DepositPreGenerationProps): react_jsx_runtime.JSX.Element;
1121
+
1122
+ interface DepositSelectionAsset {
1123
+ asset_id: string;
1124
+ ticker: string;
1125
+ name?: string;
1126
+ precision?: number;
1127
+ }
1128
+ interface DepositAssetSelectionProps<TView extends string = string> {
1129
+ setCurrentView: (view: TView) => void;
1130
+ isNewAsset: boolean;
1131
+ newAssetAccount: DepositAccountId | null;
1132
+ newAssetId: string;
1133
+ setNewAssetId: (value: string) => void;
1134
+ searchQuery: string;
1135
+ setSearchQuery: (value: string) => void;
1136
+ filteredAssets: DepositSelectionAsset[];
1137
+ onSelectAsset: (asset: DepositSelectionAsset) => void;
1138
+ handleAddNewAsset: (account: DepositAccountId) => void;
1139
+ handleContinueToGenerate: () => void;
1140
+ isRgbConnected: boolean;
1141
+ isSparkConnected: boolean;
1142
+ isArkadeConnected: boolean;
1143
+ }
1144
+ declare function DepositAssetSelection<TView extends string = string>({ setCurrentView, isNewAsset, newAssetAccount, newAssetId, setNewAssetId, searchQuery, setSearchQuery, filteredAssets, onSelectAsset, handleAddNewAsset, handleContinueToGenerate, isRgbConnected, isSparkConnected, isArkadeConnected, }: DepositAssetSelectionProps<TView>): react_jsx_runtime.JSX.Element;
1145
+
1146
+ interface DepositInvoiceAsset {
1147
+ asset_id?: string;
1148
+ ticker?: string;
1149
+ name?: string;
1150
+ precision?: number;
1151
+ }
1152
+ interface DepositGenerationController {
1153
+ amount: string;
1154
+ address: string;
1155
+ recipientId: string;
1156
+ loading: boolean;
1157
+ depositDetected: boolean;
1158
+ invoiceStatus: string | null;
1159
+ isInvoicePending: boolean;
1160
+ isInvoicePaid: boolean;
1161
+ isInvoiceFailedOrExpired: boolean;
1162
+ accountReceiveResult: BtcUnifiedReceiveResult | null;
1163
+ copied: boolean;
1164
+ handleAmountChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
1165
+ generateInvoice: () => Promise<void>;
1166
+ copyToClipboard: (text: string) => Promise<void>;
1167
+ getUnitLabel: () => string;
1168
+ setAddress: (value: string) => void;
1169
+ setRecipientId: (value: string) => void;
1170
+ setAmount: (value: string) => void;
1171
+ setInvoiceStatus: (value: string | null) => void;
1172
+ setAccountReceiveResult: (result: null) => void;
1173
+ }
1174
+ interface DepositInvoiceGenerationProps {
1175
+ handleBack: () => void;
1176
+ handleDone: () => void;
1177
+ selectedAsset: DepositInvoiceAsset | null;
1178
+ selectedAssetId: string;
1179
+ isNewAsset: boolean;
1180
+ channelsLoading: boolean;
1181
+ channels: unknown[];
1182
+ network: DepositNetworkKey;
1183
+ setNetwork: (network: DepositNetworkKey) => void;
1184
+ isLightningAvailable: boolean;
1185
+ isRgbConnected: boolean;
1186
+ isSparkConnected: boolean;
1187
+ isArkadeConnected: boolean;
1188
+ isSparkLightning: boolean;
1189
+ maxDepositAmount: number;
1190
+ usePrivacy: boolean;
1191
+ setUsePrivacy: (value: boolean) => void;
1192
+ walletChoice: 'RGB' | 'SPARK';
1193
+ setWalletChoice: (choice: 'RGB' | 'SPARK') => void;
1194
+ arkSubMode: 'ark' | 'boarding';
1195
+ setArkSubMode: (mode: 'ark' | 'boarding') => void;
1196
+ btcSelectedAccount: DepositAccountId;
1197
+ gen: DepositGenerationController;
276
1198
  }
1199
+ declare function DepositInvoiceGeneration({ handleBack, handleDone, selectedAsset, selectedAssetId, isNewAsset, channelsLoading, channels, network, setNetwork, isLightningAvailable, isRgbConnected, isSparkConnected, isArkadeConnected, isSparkLightning, maxDepositAmount, usePrivacy, setUsePrivacy, walletChoice, setWalletChoice, arkSubMode, setArkSubMode, btcSelectedAccount, gen, }: DepositInvoiceGenerationProps): react_jsx_runtime.JSX.Element;
277
1200
 
278
1201
  type ToasterToast = ToastProps & {
279
1202
  id: string;
@@ -305,4 +1228,4 @@ declare function getFallbackAssetIconUrl(seed: string): string;
305
1228
  */
306
1229
  declare function useAssetIcon(ticker: string, cdnBaseUrl?: string): string;
307
1230
 
308
- export { AlertBanner, AssetCard, type AssetCardProps, AssetIcon, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Icon, type IconProps, Icons, Input, type InputProps, Label, NetworkBadge, type NetworkType, PageHeader, type PageHeaderProps, SectionLabel, SettingItem, StatusBadge, type StatusType, Tabs, TabsContent, TabsList, TabsTrigger, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, TransactionCard, type TransactionCardProps, buttonVariants, cn, getAssetIconUrl, getFallbackAssetIconUrl, toast, useAssetIcon, useToast };
1231
+ 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, type ActivityStatusOption, type ActivityTypeTabCounts, type ActivityTypeTabValue, ActivityTypeTabs, AlertBanner, AppIcon, type AppIconName, type AppIconProps, ArkadeNetworkIcon, AssetCard, type AssetCardProps, AssetIcon, AssetSelector, type AssetSelectorCategory, type AssetSelectorOption, type AssetSelectorProps, BalanceBreakdown, type BalanceBreakdownAccounts, type BalanceBreakdownAsset, type BalanceBreakdownNodeInfo, type BalanceBreakdownProps, BottomNav, type BottomNavItem, type BottomNavProps, 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, ErrorBoundary, ErrorCard, type ErrorCardProps, ExpandIcon, FadeOverlay, type FadeOverlayProps, FilterDropdown, type FilterDropdownOption, type FilterDropdownProps, HeadlineGradient, type HeadlineGradientProps, Icon, type IconProps, Icons, InlineAction, Input, type InputProps, InvoiceStatusBanner, Label, LightningNetworkIcon, LoadingCard, type LoadingCardProps, MethodChoiceChip, NETWORK_CONFIG, NetworkBadge, type NetworkBadgeProps, type NetworkIconProps, NetworkInfoDisclosure, type NetworkType, NumberInput, type NumberInputProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PaidOverlay, QrCode, type QrCodeProps, SectionLabel, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, SettingItem, SettingsActionButton, SettingsStatusPanel, SettingsTile, type SettingsTileProps, SparkNetworkIcon, StatusBadge, type StatusType, SwapInputCard, type SwapInputCardProps, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, 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, getAccountNetworkLabel, getAccountNetworkUi, getAccountStatusUi, getActivityNetworkFilterIcon, getAssetIconUrl, getFallbackAssetIconUrl, toast, useAssetIcon, useToast };