kaleido-ui 0.1.76 → 0.1.77
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.
- package/dist/web/index.cjs +655 -626
- package/dist/web/index.d.cts +17 -1
- package/dist/web/index.d.ts +17 -1
- package/dist/web/index.js +654 -626
- package/package.json +1 -1
package/dist/web/index.js
CHANGED
|
@@ -5295,10 +5295,37 @@ function SettingItem({
|
|
|
5295
5295
|
);
|
|
5296
5296
|
}
|
|
5297
5297
|
|
|
5298
|
+
// src/web/components/switch-row.tsx
|
|
5299
|
+
import { jsx as jsx54, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
5300
|
+
function SwitchRow({
|
|
5301
|
+
label,
|
|
5302
|
+
description,
|
|
5303
|
+
checked,
|
|
5304
|
+
disabled,
|
|
5305
|
+
onCheckedChange,
|
|
5306
|
+
className
|
|
5307
|
+
}) {
|
|
5308
|
+
return /* @__PURE__ */ jsxs41("div", { className: cn("flex items-start justify-between gap-3 rounded-xl bg-muted/40 p-3", className), children: [
|
|
5309
|
+
/* @__PURE__ */ jsxs41("div", { className: "min-w-0", children: [
|
|
5310
|
+
/* @__PURE__ */ jsx54("p", { className: "text-sm font-medium text-foreground", children: label }),
|
|
5311
|
+
description && /* @__PURE__ */ jsx54("p", { className: "mt-0.5 text-xs leading-snug text-muted-foreground", children: description })
|
|
5312
|
+
] }),
|
|
5313
|
+
/* @__PURE__ */ jsx54(
|
|
5314
|
+
Switch,
|
|
5315
|
+
{
|
|
5316
|
+
checked,
|
|
5317
|
+
disabled,
|
|
5318
|
+
onCheckedChange,
|
|
5319
|
+
"aria-label": label
|
|
5320
|
+
}
|
|
5321
|
+
)
|
|
5322
|
+
] });
|
|
5323
|
+
}
|
|
5324
|
+
|
|
5298
5325
|
// src/web/components/section-label.tsx
|
|
5299
|
-
import { jsx as
|
|
5326
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
5300
5327
|
function SectionLabel({ children, className }) {
|
|
5301
|
-
return /* @__PURE__ */
|
|
5328
|
+
return /* @__PURE__ */ jsx55(
|
|
5302
5329
|
"span",
|
|
5303
5330
|
{
|
|
5304
5331
|
className: cn("text-xxs font-black uppercase tracking-eyebrow-wide text-muted-foreground", className),
|
|
@@ -5308,21 +5335,21 @@ function SectionLabel({ children, className }) {
|
|
|
5308
5335
|
}
|
|
5309
5336
|
|
|
5310
5337
|
// src/web/components/section-header.tsx
|
|
5311
|
-
import { jsx as
|
|
5338
|
+
import { jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
5312
5339
|
function SectionHeader({
|
|
5313
5340
|
children,
|
|
5314
5341
|
right,
|
|
5315
5342
|
as: Tag = "h2",
|
|
5316
5343
|
className
|
|
5317
5344
|
}) {
|
|
5318
|
-
return /* @__PURE__ */
|
|
5319
|
-
/* @__PURE__ */
|
|
5345
|
+
return /* @__PURE__ */ jsxs42("div", { className: cn("flex items-center justify-between gap-3 px-1", className), children: [
|
|
5346
|
+
/* @__PURE__ */ jsx56(Tag, { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children }),
|
|
5320
5347
|
right
|
|
5321
5348
|
] });
|
|
5322
5349
|
}
|
|
5323
5350
|
|
|
5324
5351
|
// src/web/components/alert-banner.tsx
|
|
5325
|
-
import { jsx as
|
|
5352
|
+
import { jsx as jsx57, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
5326
5353
|
var variantStyles = {
|
|
5327
5354
|
error: { container: "bg-danger/40", icon: "text-danger", iconName: "error" },
|
|
5328
5355
|
warning: { container: "bg-warning/40", icon: "text-warning", iconName: "warning" },
|
|
@@ -5331,14 +5358,14 @@ var variantStyles = {
|
|
|
5331
5358
|
};
|
|
5332
5359
|
function AlertBanner({ variant = "info", icon, children, className }) {
|
|
5333
5360
|
const styles = variantStyles[variant];
|
|
5334
|
-
return /* @__PURE__ */
|
|
5335
|
-
/* @__PURE__ */
|
|
5336
|
-
/* @__PURE__ */
|
|
5361
|
+
return /* @__PURE__ */ jsxs43("div", { className: cn("rounded-xl p-3 flex items-center gap-2", styles.container, className), children: [
|
|
5362
|
+
/* @__PURE__ */ jsx57(Icon, { name: icon ?? styles.iconName, size: "md", className: cn("shrink-0", styles.icon) }),
|
|
5363
|
+
/* @__PURE__ */ jsx57("div", { className: cn("text-sm", styles.icon), children })
|
|
5337
5364
|
] });
|
|
5338
5365
|
}
|
|
5339
5366
|
|
|
5340
5367
|
// src/web/components/info-panel.tsx
|
|
5341
|
-
import { jsx as
|
|
5368
|
+
import { jsx as jsx58, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
5342
5369
|
var toneClass = {
|
|
5343
5370
|
default: {
|
|
5344
5371
|
panel: "border-white/8 bg-white/[0.03]",
|
|
@@ -5379,19 +5406,19 @@ function InfoPanel({
|
|
|
5379
5406
|
className
|
|
5380
5407
|
}) {
|
|
5381
5408
|
const styles = toneClass[tone];
|
|
5382
|
-
const renderedIcon = typeof icon === "string" ? /* @__PURE__ */
|
|
5383
|
-
return /* @__PURE__ */
|
|
5409
|
+
const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ jsx58(Icon, { name: icon, className: cn("mt-0.5 shrink-0 text-icon-xl", styles.icon) }) : icon;
|
|
5410
|
+
return /* @__PURE__ */ jsx58("div", { className: cn("rounded-xl border p-4", styles.panel, className), children: /* @__PURE__ */ jsxs44("div", { className: "flex items-start gap-3", children: [
|
|
5384
5411
|
renderedIcon,
|
|
5385
|
-
/* @__PURE__ */
|
|
5386
|
-
title && /* @__PURE__ */
|
|
5387
|
-
/* @__PURE__ */
|
|
5412
|
+
/* @__PURE__ */ jsxs44("div", { className: "min-w-0 flex-1", children: [
|
|
5413
|
+
title && /* @__PURE__ */ jsx58("p", { className: cn("text-sm font-bold", styles.title), children: title }),
|
|
5414
|
+
/* @__PURE__ */ jsx58("div", { className: cn("text-xs leading-relaxed", title ? "mt-1" : "", styles.title), children })
|
|
5388
5415
|
] })
|
|
5389
5416
|
] }) });
|
|
5390
5417
|
}
|
|
5391
5418
|
|
|
5392
5419
|
// src/web/components/error-boundary.tsx
|
|
5393
5420
|
import { Component } from "react";
|
|
5394
|
-
import { jsx as
|
|
5421
|
+
import { jsx as jsx59, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
5395
5422
|
var ErrorBoundary = class extends Component {
|
|
5396
5423
|
constructor(props) {
|
|
5397
5424
|
super(props);
|
|
@@ -5405,11 +5432,11 @@ var ErrorBoundary = class extends Component {
|
|
|
5405
5432
|
}
|
|
5406
5433
|
render() {
|
|
5407
5434
|
if (this.state.hasError) {
|
|
5408
|
-
return this.props.fallback ?? /* @__PURE__ */
|
|
5409
|
-
/* @__PURE__ */
|
|
5410
|
-
/* @__PURE__ */
|
|
5411
|
-
/* @__PURE__ */
|
|
5412
|
-
/* @__PURE__ */
|
|
5435
|
+
return this.props.fallback ?? /* @__PURE__ */ jsxs45("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
|
|
5436
|
+
/* @__PURE__ */ jsx59("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
|
|
5437
|
+
/* @__PURE__ */ jsx59("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
|
|
5438
|
+
/* @__PURE__ */ jsx59("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
|
|
5439
|
+
/* @__PURE__ */ jsx59(
|
|
5413
5440
|
"button",
|
|
5414
5441
|
{
|
|
5415
5442
|
onClick: () => {
|
|
@@ -5427,7 +5454,7 @@ var ErrorBoundary = class extends Component {
|
|
|
5427
5454
|
};
|
|
5428
5455
|
|
|
5429
5456
|
// src/web/components/recovery-phrase-card.tsx
|
|
5430
|
-
import { jsx as
|
|
5457
|
+
import { jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
5431
5458
|
function RecoveryPhraseCard({
|
|
5432
5459
|
words,
|
|
5433
5460
|
revealed = false,
|
|
@@ -5438,10 +5465,10 @@ function RecoveryPhraseCard({
|
|
|
5438
5465
|
className
|
|
5439
5466
|
}) {
|
|
5440
5467
|
const hasWords = words.length > 0;
|
|
5441
|
-
return /* @__PURE__ */
|
|
5442
|
-
/* @__PURE__ */
|
|
5443
|
-
/* @__PURE__ */
|
|
5444
|
-
hasWords && revealed && onRevealChange && /* @__PURE__ */
|
|
5468
|
+
return /* @__PURE__ */ jsxs46("section", { className: cn("space-y-2", className), children: [
|
|
5469
|
+
/* @__PURE__ */ jsxs46("div", { className: "flex items-center justify-between px-0.5", children: [
|
|
5470
|
+
/* @__PURE__ */ jsx60("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
|
|
5471
|
+
hasWords && revealed && onRevealChange && /* @__PURE__ */ jsxs46(
|
|
5445
5472
|
Button,
|
|
5446
5473
|
{
|
|
5447
5474
|
type: "button",
|
|
@@ -5450,27 +5477,27 @@ function RecoveryPhraseCard({
|
|
|
5450
5477
|
onClick: () => onRevealChange(!revealed),
|
|
5451
5478
|
className: "h-auto rounded-lg px-2 py-1 text-xs text-muted-foreground hover:text-white",
|
|
5452
5479
|
children: [
|
|
5453
|
-
/* @__PURE__ */
|
|
5480
|
+
/* @__PURE__ */ jsx60(Icon, { name: "visibility_off", className: "text-icon-md" }),
|
|
5454
5481
|
"Hide"
|
|
5455
5482
|
]
|
|
5456
5483
|
}
|
|
5457
5484
|
)
|
|
5458
5485
|
] }),
|
|
5459
|
-
/* @__PURE__ */
|
|
5460
|
-
hasWords ? /* @__PURE__ */
|
|
5486
|
+
/* @__PURE__ */ jsxs46("div", { className: "relative", children: [
|
|
5487
|
+
hasWords ? /* @__PURE__ */ jsx60(
|
|
5461
5488
|
"div",
|
|
5462
5489
|
{
|
|
5463
5490
|
className: cn(
|
|
5464
5491
|
"grid grid-cols-3 gap-2 transition-all duration-300",
|
|
5465
5492
|
!revealed && "pointer-events-none select-none blur-sm"
|
|
5466
5493
|
),
|
|
5467
|
-
children: words.map((word, index) => /* @__PURE__ */
|
|
5468
|
-
/* @__PURE__ */
|
|
5469
|
-
/* @__PURE__ */
|
|
5494
|
+
children: words.map((word, index) => /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
|
|
5495
|
+
/* @__PURE__ */ jsx60("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
|
|
5496
|
+
/* @__PURE__ */ jsx60("span", { className: "font-mono text-sm text-white", children: word })
|
|
5470
5497
|
] }, `${index}-${word}`))
|
|
5471
5498
|
}
|
|
5472
|
-
) : /* @__PURE__ */
|
|
5473
|
-
hasWords && !revealed && onRevealChange && /* @__PURE__ */
|
|
5499
|
+
) : /* @__PURE__ */ jsx60("div", { className: "rounded-xl border border-warning/30 bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
|
|
5500
|
+
hasWords && !revealed && onRevealChange && /* @__PURE__ */ jsx60("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs46(
|
|
5474
5501
|
Button,
|
|
5475
5502
|
{
|
|
5476
5503
|
type: "button",
|
|
@@ -5478,13 +5505,13 @@ function RecoveryPhraseCard({
|
|
|
5478
5505
|
size: "sm",
|
|
5479
5506
|
onClick: () => onRevealChange(true),
|
|
5480
5507
|
children: [
|
|
5481
|
-
/* @__PURE__ */
|
|
5508
|
+
/* @__PURE__ */ jsx60(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
5482
5509
|
"Tap to reveal"
|
|
5483
5510
|
]
|
|
5484
5511
|
}
|
|
5485
5512
|
) })
|
|
5486
5513
|
] }),
|
|
5487
|
-
hasWords && revealed && onCopy && /* @__PURE__ */
|
|
5514
|
+
hasWords && revealed && onCopy && /* @__PURE__ */ jsxs46(
|
|
5488
5515
|
Button,
|
|
5489
5516
|
{
|
|
5490
5517
|
type: "button",
|
|
@@ -5493,7 +5520,7 @@ function RecoveryPhraseCard({
|
|
|
5493
5520
|
onClick: onCopy,
|
|
5494
5521
|
className: "w-full",
|
|
5495
5522
|
children: [
|
|
5496
|
-
/* @__PURE__ */
|
|
5523
|
+
/* @__PURE__ */ jsx60(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
5497
5524
|
"Copy to clipboard"
|
|
5498
5525
|
]
|
|
5499
5526
|
}
|
|
@@ -5502,7 +5529,7 @@ function RecoveryPhraseCard({
|
|
|
5502
5529
|
}
|
|
5503
5530
|
|
|
5504
5531
|
// src/web/components/settings-selector-row.tsx
|
|
5505
|
-
import { jsx as
|
|
5532
|
+
import { jsx as jsx61, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
5506
5533
|
function SettingsSelectorRow({
|
|
5507
5534
|
icon,
|
|
5508
5535
|
title,
|
|
@@ -5511,9 +5538,9 @@ function SettingsSelectorRow({
|
|
|
5511
5538
|
className,
|
|
5512
5539
|
iconClassName
|
|
5513
5540
|
}) {
|
|
5514
|
-
return /* @__PURE__ */
|
|
5515
|
-
/* @__PURE__ */
|
|
5516
|
-
/* @__PURE__ */
|
|
5541
|
+
return /* @__PURE__ */ jsxs47("div", { className: cn("flex items-start justify-between gap-3 rounded-2xl bg-card p-5", className), children: [
|
|
5542
|
+
/* @__PURE__ */ jsxs47("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
5543
|
+
/* @__PURE__ */ jsx61(
|
|
5517
5544
|
"div",
|
|
5518
5545
|
{
|
|
5519
5546
|
className: cn(
|
|
@@ -5523,17 +5550,17 @@ function SettingsSelectorRow({
|
|
|
5523
5550
|
children: icon
|
|
5524
5551
|
}
|
|
5525
5552
|
),
|
|
5526
|
-
/* @__PURE__ */
|
|
5527
|
-
/* @__PURE__ */
|
|
5528
|
-
description && /* @__PURE__ */
|
|
5553
|
+
/* @__PURE__ */ jsxs47("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
5554
|
+
/* @__PURE__ */ jsx61("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
|
|
5555
|
+
description && /* @__PURE__ */ jsx61("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
|
|
5529
5556
|
] })
|
|
5530
5557
|
] }),
|
|
5531
|
-
/* @__PURE__ */
|
|
5558
|
+
/* @__PURE__ */ jsx61("div", { className: "shrink-0", children: control })
|
|
5532
5559
|
] });
|
|
5533
5560
|
}
|
|
5534
5561
|
|
|
5535
5562
|
// src/web/components/bottom-sheet.tsx
|
|
5536
|
-
import { jsx as
|
|
5563
|
+
import { jsx as jsx62, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
5537
5564
|
function BottomSheet({
|
|
5538
5565
|
open,
|
|
5539
5566
|
title,
|
|
@@ -5549,7 +5576,7 @@ function BottomSheet({
|
|
|
5549
5576
|
const handleBackdropClick = (event) => {
|
|
5550
5577
|
if (closeOnBackdrop && event.target === event.currentTarget) onClose?.();
|
|
5551
5578
|
};
|
|
5552
|
-
return /* @__PURE__ */
|
|
5579
|
+
return /* @__PURE__ */ jsx62(
|
|
5553
5580
|
"div",
|
|
5554
5581
|
{
|
|
5555
5582
|
className: cn(
|
|
@@ -5557,7 +5584,7 @@ function BottomSheet({
|
|
|
5557
5584
|
className
|
|
5558
5585
|
),
|
|
5559
5586
|
onClick: handleBackdropClick,
|
|
5560
|
-
children: /* @__PURE__ */
|
|
5587
|
+
children: /* @__PURE__ */ jsxs48(
|
|
5561
5588
|
"div",
|
|
5562
5589
|
{
|
|
5563
5590
|
className: cn(
|
|
@@ -5565,13 +5592,13 @@ function BottomSheet({
|
|
|
5565
5592
|
contentClassName
|
|
5566
5593
|
),
|
|
5567
5594
|
children: [
|
|
5568
|
-
/* @__PURE__ */
|
|
5569
|
-
(title || icon) && /* @__PURE__ */
|
|
5595
|
+
/* @__PURE__ */ jsx62("div", { className: "-mt-1 flex justify-center", children: /* @__PURE__ */ jsx62("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
|
|
5596
|
+
(title || icon) && /* @__PURE__ */ jsxs48("div", { className: "mt-4 flex items-center gap-2", children: [
|
|
5570
5597
|
icon,
|
|
5571
|
-
/* @__PURE__ */
|
|
5598
|
+
/* @__PURE__ */ jsx62("p", { className: "text-sm font-bold text-foreground", children: title })
|
|
5572
5599
|
] }),
|
|
5573
|
-
/* @__PURE__ */
|
|
5574
|
-
actions && actions.length > 0 && /* @__PURE__ */
|
|
5600
|
+
/* @__PURE__ */ jsx62("div", { className: cn((title || icon) && "mt-3"), children }),
|
|
5601
|
+
actions && actions.length > 0 && /* @__PURE__ */ jsx62("div", { className: "mt-4 flex gap-2", children: actions.map((action, index) => /* @__PURE__ */ jsxs48(
|
|
5575
5602
|
Button,
|
|
5576
5603
|
{
|
|
5577
5604
|
type: "button",
|
|
@@ -5581,7 +5608,7 @@ function BottomSheet({
|
|
|
5581
5608
|
onClick: action.onClick,
|
|
5582
5609
|
disabled: action.disabled,
|
|
5583
5610
|
children: [
|
|
5584
|
-
action.icon && /* @__PURE__ */
|
|
5611
|
+
action.icon && /* @__PURE__ */ jsx62(Icon, { name: action.icon, className: "text-icon-md" }),
|
|
5585
5612
|
action.label
|
|
5586
5613
|
]
|
|
5587
5614
|
},
|
|
@@ -5595,7 +5622,7 @@ function BottomSheet({
|
|
|
5595
5622
|
}
|
|
5596
5623
|
|
|
5597
5624
|
// src/web/components/disclosure-card.tsx
|
|
5598
|
-
import { jsx as
|
|
5625
|
+
import { jsx as jsx63, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
5599
5626
|
function DisclosureCard({
|
|
5600
5627
|
title,
|
|
5601
5628
|
children,
|
|
@@ -5606,8 +5633,8 @@ function DisclosureCard({
|
|
|
5606
5633
|
triggerClassName,
|
|
5607
5634
|
contentClassName
|
|
5608
5635
|
}) {
|
|
5609
|
-
return /* @__PURE__ */
|
|
5610
|
-
/* @__PURE__ */
|
|
5636
|
+
return /* @__PURE__ */ jsxs49("div", { className, children: [
|
|
5637
|
+
/* @__PURE__ */ jsxs49(
|
|
5611
5638
|
"button",
|
|
5612
5639
|
{
|
|
5613
5640
|
type: "button",
|
|
@@ -5617,11 +5644,11 @@ function DisclosureCard({
|
|
|
5617
5644
|
triggerClassName
|
|
5618
5645
|
),
|
|
5619
5646
|
children: [
|
|
5620
|
-
/* @__PURE__ */
|
|
5647
|
+
/* @__PURE__ */ jsxs49("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
5621
5648
|
icon,
|
|
5622
|
-
/* @__PURE__ */
|
|
5649
|
+
/* @__PURE__ */ jsx63("span", { className: "truncate text-xs font-bold text-foreground", children: title })
|
|
5623
5650
|
] }),
|
|
5624
|
-
/* @__PURE__ */
|
|
5651
|
+
/* @__PURE__ */ jsx63(
|
|
5625
5652
|
Icon,
|
|
5626
5653
|
{
|
|
5627
5654
|
name: open ? "expand_less" : "expand_more",
|
|
@@ -5631,7 +5658,7 @@ function DisclosureCard({
|
|
|
5631
5658
|
]
|
|
5632
5659
|
}
|
|
5633
5660
|
),
|
|
5634
|
-
open && /* @__PURE__ */
|
|
5661
|
+
open && /* @__PURE__ */ jsx63(
|
|
5635
5662
|
"div",
|
|
5636
5663
|
{
|
|
5637
5664
|
className: cn(
|
|
@@ -5645,7 +5672,7 @@ function DisclosureCard({
|
|
|
5645
5672
|
}
|
|
5646
5673
|
|
|
5647
5674
|
// src/web/components/stepper-number-input.tsx
|
|
5648
|
-
import { jsx as
|
|
5675
|
+
import { jsx as jsx64, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
5649
5676
|
function StepperNumberInput({
|
|
5650
5677
|
value,
|
|
5651
5678
|
onChange,
|
|
@@ -5662,7 +5689,7 @@ function StepperNumberInput({
|
|
|
5662
5689
|
const bounded = max === void 0 ? boundedMin : Math.min(max, boundedMin);
|
|
5663
5690
|
onChange(Number.isFinite(bounded) ? bounded : min ?? 0);
|
|
5664
5691
|
};
|
|
5665
|
-
return /* @__PURE__ */
|
|
5692
|
+
return /* @__PURE__ */ jsxs50(
|
|
5666
5693
|
"div",
|
|
5667
5694
|
{
|
|
5668
5695
|
className: cn(
|
|
@@ -5670,7 +5697,7 @@ function StepperNumberInput({
|
|
|
5670
5697
|
className
|
|
5671
5698
|
),
|
|
5672
5699
|
children: [
|
|
5673
|
-
/* @__PURE__ */
|
|
5700
|
+
/* @__PURE__ */ jsx64(
|
|
5674
5701
|
"button",
|
|
5675
5702
|
{
|
|
5676
5703
|
type: "button",
|
|
@@ -5678,10 +5705,10 @@ function StepperNumberInput({
|
|
|
5678
5705
|
disabled: disabled || min !== void 0 && value <= min,
|
|
5679
5706
|
onClick: () => clamp(value - step),
|
|
5680
5707
|
"aria-label": "Decrease",
|
|
5681
|
-
children: /* @__PURE__ */
|
|
5708
|
+
children: /* @__PURE__ */ jsx64(Icon, { name: "remove", className: "text-icon-md" })
|
|
5682
5709
|
}
|
|
5683
5710
|
),
|
|
5684
|
-
/* @__PURE__ */
|
|
5711
|
+
/* @__PURE__ */ jsx64(
|
|
5685
5712
|
"input",
|
|
5686
5713
|
{
|
|
5687
5714
|
type: "number",
|
|
@@ -5698,7 +5725,7 @@ function StepperNumberInput({
|
|
|
5698
5725
|
)
|
|
5699
5726
|
}
|
|
5700
5727
|
),
|
|
5701
|
-
/* @__PURE__ */
|
|
5728
|
+
/* @__PURE__ */ jsx64(
|
|
5702
5729
|
"button",
|
|
5703
5730
|
{
|
|
5704
5731
|
type: "button",
|
|
@@ -5706,7 +5733,7 @@ function StepperNumberInput({
|
|
|
5706
5733
|
disabled: disabled || max !== void 0 && value >= max,
|
|
5707
5734
|
onClick: () => clamp(value + step),
|
|
5708
5735
|
"aria-label": "Increase",
|
|
5709
|
-
children: /* @__PURE__ */
|
|
5736
|
+
children: /* @__PURE__ */ jsx64(Icon, { name: "add", className: "text-icon-md" })
|
|
5710
5737
|
}
|
|
5711
5738
|
)
|
|
5712
5739
|
]
|
|
@@ -5715,7 +5742,7 @@ function StepperNumberInput({
|
|
|
5715
5742
|
}
|
|
5716
5743
|
|
|
5717
5744
|
// src/web/components/metric-card.tsx
|
|
5718
|
-
import { jsx as
|
|
5745
|
+
import { jsx as jsx65, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
5719
5746
|
var toneClasses2 = {
|
|
5720
5747
|
primary: "border-primary/20 bg-primary/10 text-primary",
|
|
5721
5748
|
purple: "border-network-arkade/20 bg-network-arkade/10 text-network-arkade",
|
|
@@ -5733,27 +5760,27 @@ function MetricCard({
|
|
|
5733
5760
|
tone = "muted",
|
|
5734
5761
|
className
|
|
5735
5762
|
}) {
|
|
5736
|
-
return /* @__PURE__ */
|
|
5737
|
-
/* @__PURE__ */
|
|
5738
|
-
icon && /* @__PURE__ */
|
|
5739
|
-
/* @__PURE__ */
|
|
5763
|
+
return /* @__PURE__ */ jsxs51("div", { className: cn("space-y-1 rounded-xl border border-white/8 bg-white/3 p-2.5", className), children: [
|
|
5764
|
+
/* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-1.5", children: [
|
|
5765
|
+
icon && /* @__PURE__ */ jsx65("span", { className: cn("flex size-5 items-center justify-center rounded-md", toneClasses2[tone]), children: typeof icon === "string" ? /* @__PURE__ */ jsx65(Icon, { name: icon, className: "text-icon-xs" }) : icon }),
|
|
5766
|
+
/* @__PURE__ */ jsx65("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
|
|
5740
5767
|
] }),
|
|
5741
|
-
/* @__PURE__ */
|
|
5742
|
-
description && /* @__PURE__ */
|
|
5768
|
+
/* @__PURE__ */ jsx65("p", { className: "font-mono text-sm font-bold text-foreground", children: value }),
|
|
5769
|
+
description && /* @__PURE__ */ jsx65("p", { className: "text-xxs text-white/45", children: description })
|
|
5743
5770
|
] });
|
|
5744
5771
|
}
|
|
5745
5772
|
|
|
5746
5773
|
// src/web/components/filter-chip-group.tsx
|
|
5747
|
-
import { jsx as
|
|
5774
|
+
import { jsx as jsx66, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
5748
5775
|
function FilterChipGroup({
|
|
5749
5776
|
options,
|
|
5750
5777
|
value,
|
|
5751
5778
|
onChange,
|
|
5752
5779
|
className
|
|
5753
5780
|
}) {
|
|
5754
|
-
return /* @__PURE__ */
|
|
5781
|
+
return /* @__PURE__ */ jsx66("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
|
|
5755
5782
|
const active = option.value === value;
|
|
5756
|
-
return /* @__PURE__ */
|
|
5783
|
+
return /* @__PURE__ */ jsxs52(
|
|
5757
5784
|
"button",
|
|
5758
5785
|
{
|
|
5759
5786
|
type: "button",
|
|
@@ -5767,7 +5794,7 @@ function FilterChipGroup({
|
|
|
5767
5794
|
children: [
|
|
5768
5795
|
option.icon,
|
|
5769
5796
|
option.label,
|
|
5770
|
-
option.count !== void 0 && /* @__PURE__ */
|
|
5797
|
+
option.count !== void 0 && /* @__PURE__ */ jsx66(
|
|
5771
5798
|
"span",
|
|
5772
5799
|
{
|
|
5773
5800
|
className: cn(
|
|
@@ -5785,7 +5812,7 @@ function FilterChipGroup({
|
|
|
5785
5812
|
}
|
|
5786
5813
|
|
|
5787
5814
|
// src/web/components/activity-row.tsx
|
|
5788
|
-
import { Fragment as Fragment12, jsx as
|
|
5815
|
+
import { Fragment as Fragment12, jsx as jsx67, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
5789
5816
|
var directionUi = {
|
|
5790
5817
|
inbound: { icon: "south_west", iconClass: "bg-primary/20 text-primary", amountClass: "text-primary", sign: "+" },
|
|
5791
5818
|
outbound: { icon: "north_east", iconClass: "bg-white/10 text-muted-foreground", amountClass: "text-foreground", sign: "-" },
|
|
@@ -5805,26 +5832,26 @@ function ActivityRow({
|
|
|
5805
5832
|
className
|
|
5806
5833
|
}) {
|
|
5807
5834
|
const ui = directionUi[direction];
|
|
5808
|
-
const content = /* @__PURE__ */
|
|
5809
|
-
/* @__PURE__ */
|
|
5810
|
-
/* @__PURE__ */
|
|
5811
|
-
/* @__PURE__ */
|
|
5812
|
-
/* @__PURE__ */
|
|
5813
|
-
/* @__PURE__ */
|
|
5835
|
+
const content = /* @__PURE__ */ jsxs53(Fragment12, { children: [
|
|
5836
|
+
/* @__PURE__ */ jsxs53("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
5837
|
+
/* @__PURE__ */ jsx67("div", { className: cn("flex size-10 shrink-0 items-center justify-center rounded-xl shadow-inner", ui.iconClass), children: typeof icon === "string" || !icon ? /* @__PURE__ */ jsx67(Icon, { name: icon ?? ui.icon, className: "text-icon-xl" }) : icon }),
|
|
5838
|
+
/* @__PURE__ */ jsxs53("div", { className: "flex min-w-0 flex-col", children: [
|
|
5839
|
+
/* @__PURE__ */ jsxs53("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
5840
|
+
/* @__PURE__ */ jsx67("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
|
|
5814
5841
|
networkBadge
|
|
5815
5842
|
] }),
|
|
5816
|
-
(status || timestamp) && /* @__PURE__ */
|
|
5817
|
-
status && /* @__PURE__ */
|
|
5818
|
-
timestamp && /* @__PURE__ */
|
|
5843
|
+
(status || timestamp) && /* @__PURE__ */ jsxs53("div", { className: "mt-1 flex items-center gap-2", children: [
|
|
5844
|
+
status && /* @__PURE__ */ jsx67(StatusBadge, { status, className: "px-1.5 py-0.5 text-xxs" }),
|
|
5845
|
+
timestamp && /* @__PURE__ */ jsx67("span", { className: "text-xxs text-muted-foreground", children: timestamp })
|
|
5819
5846
|
] })
|
|
5820
5847
|
] })
|
|
5821
5848
|
] }),
|
|
5822
|
-
/* @__PURE__ */
|
|
5823
|
-
/* @__PURE__ */
|
|
5849
|
+
/* @__PURE__ */ jsxs53("div", { className: "shrink-0 text-right", children: [
|
|
5850
|
+
/* @__PURE__ */ jsxs53("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
|
|
5824
5851
|
ui.sign,
|
|
5825
5852
|
amount
|
|
5826
5853
|
] }),
|
|
5827
|
-
unit && /* @__PURE__ */
|
|
5854
|
+
unit && /* @__PURE__ */ jsx67("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
|
|
5828
5855
|
] })
|
|
5829
5856
|
] });
|
|
5830
5857
|
const rowClassName = cn(
|
|
@@ -5833,23 +5860,23 @@ function ActivityRow({
|
|
|
5833
5860
|
className
|
|
5834
5861
|
);
|
|
5835
5862
|
if (onClick) {
|
|
5836
|
-
return /* @__PURE__ */
|
|
5863
|
+
return /* @__PURE__ */ jsx67("button", { type: "button", onClick, className: rowClassName, children: content });
|
|
5837
5864
|
}
|
|
5838
|
-
return /* @__PURE__ */
|
|
5865
|
+
return /* @__PURE__ */ jsx67("div", { className: rowClassName, children: content });
|
|
5839
5866
|
}
|
|
5840
5867
|
|
|
5841
5868
|
// src/web/components/skeleton.tsx
|
|
5842
|
-
import { jsx as
|
|
5869
|
+
import { jsx as jsx68, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
5843
5870
|
var toneClass2 = {
|
|
5844
5871
|
primary: "bg-white/10",
|
|
5845
5872
|
secondary: "bg-white/5",
|
|
5846
5873
|
card: "bg-white/[0.06]"
|
|
5847
5874
|
};
|
|
5848
5875
|
function Skeleton({ className, tone = "primary" }) {
|
|
5849
|
-
return /* @__PURE__ */
|
|
5876
|
+
return /* @__PURE__ */ jsx68("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
|
|
5850
5877
|
}
|
|
5851
5878
|
function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
5852
|
-
return /* @__PURE__ */
|
|
5879
|
+
return /* @__PURE__ */ jsx68("div", { className: cn("space-y-2", className), children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs54(
|
|
5853
5880
|
"div",
|
|
5854
5881
|
{
|
|
5855
5882
|
className: cn(
|
|
@@ -5857,14 +5884,14 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
|
5857
5884
|
rowClassName
|
|
5858
5885
|
),
|
|
5859
5886
|
children: [
|
|
5860
|
-
/* @__PURE__ */
|
|
5861
|
-
/* @__PURE__ */
|
|
5862
|
-
/* @__PURE__ */
|
|
5863
|
-
/* @__PURE__ */
|
|
5887
|
+
/* @__PURE__ */ jsx68(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
|
|
5888
|
+
/* @__PURE__ */ jsxs54("div", { className: "flex-1 space-y-2", children: [
|
|
5889
|
+
/* @__PURE__ */ jsx68(Skeleton, { className: "h-3 w-28" }),
|
|
5890
|
+
/* @__PURE__ */ jsx68(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
|
|
5864
5891
|
] }),
|
|
5865
|
-
/* @__PURE__ */
|
|
5866
|
-
/* @__PURE__ */
|
|
5867
|
-
/* @__PURE__ */
|
|
5892
|
+
/* @__PURE__ */ jsxs54("div", { className: "flex flex-col items-end space-y-1.5", children: [
|
|
5893
|
+
/* @__PURE__ */ jsx68(Skeleton, { className: "h-3 w-14" }),
|
|
5894
|
+
/* @__PURE__ */ jsx68(Skeleton, { tone: "secondary", className: "h-2 w-10" })
|
|
5868
5895
|
] })
|
|
5869
5896
|
]
|
|
5870
5897
|
},
|
|
@@ -5873,7 +5900,7 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
|
5873
5900
|
}
|
|
5874
5901
|
|
|
5875
5902
|
// src/web/components/secret-reveal-card.tsx
|
|
5876
|
-
import { jsx as
|
|
5903
|
+
import { jsx as jsx69, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
5877
5904
|
function SecretRevealCard({
|
|
5878
5905
|
value,
|
|
5879
5906
|
revealed,
|
|
@@ -5885,9 +5912,9 @@ function SecretRevealCard({
|
|
|
5885
5912
|
className,
|
|
5886
5913
|
valueClassName
|
|
5887
5914
|
}) {
|
|
5888
|
-
return /* @__PURE__ */
|
|
5889
|
-
/* @__PURE__ */
|
|
5890
|
-
/* @__PURE__ */
|
|
5915
|
+
return /* @__PURE__ */ jsxs55("div", { className: cn("space-y-3", className), children: [
|
|
5916
|
+
/* @__PURE__ */ jsxs55("div", { className: "relative", children: [
|
|
5917
|
+
/* @__PURE__ */ jsx69("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ jsx69(
|
|
5891
5918
|
"p",
|
|
5892
5919
|
{
|
|
5893
5920
|
className: cn(
|
|
@@ -5898,40 +5925,40 @@ function SecretRevealCard({
|
|
|
5898
5925
|
children: value
|
|
5899
5926
|
}
|
|
5900
5927
|
) }),
|
|
5901
|
-
!revealed && /* @__PURE__ */
|
|
5928
|
+
!revealed && /* @__PURE__ */ jsx69("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs55(
|
|
5902
5929
|
"button",
|
|
5903
5930
|
{
|
|
5904
5931
|
type: "button",
|
|
5905
5932
|
onClick: () => onRevealChange(true),
|
|
5906
5933
|
className: "flex items-center gap-2 rounded-xl border border-white/20 bg-card px-4 py-2 text-sm font-bold text-foreground shadow-lg transition-all hover:bg-accent",
|
|
5907
5934
|
children: [
|
|
5908
|
-
/* @__PURE__ */
|
|
5935
|
+
/* @__PURE__ */ jsx69(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
5909
5936
|
revealLabel
|
|
5910
5937
|
]
|
|
5911
5938
|
}
|
|
5912
5939
|
) })
|
|
5913
5940
|
] }),
|
|
5914
|
-
/* @__PURE__ */
|
|
5915
|
-
/* @__PURE__ */
|
|
5941
|
+
/* @__PURE__ */ jsxs55("div", { className: "flex gap-2", children: [
|
|
5942
|
+
/* @__PURE__ */ jsxs55(
|
|
5916
5943
|
"button",
|
|
5917
5944
|
{
|
|
5918
5945
|
type: "button",
|
|
5919
5946
|
onClick: () => onRevealChange(!revealed),
|
|
5920
5947
|
className: "flex flex-1 items-center justify-center gap-2 rounded-xl bg-white/5 py-3 text-sm font-semibold text-muted-foreground transition-all hover:bg-accent hover:text-foreground",
|
|
5921
5948
|
children: [
|
|
5922
|
-
/* @__PURE__ */
|
|
5949
|
+
/* @__PURE__ */ jsx69(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
|
|
5923
5950
|
revealed ? hideLabel : revealLabel
|
|
5924
5951
|
]
|
|
5925
5952
|
}
|
|
5926
5953
|
),
|
|
5927
|
-
revealed && onCopy && /* @__PURE__ */
|
|
5954
|
+
revealed && onCopy && /* @__PURE__ */ jsxs55(
|
|
5928
5955
|
"button",
|
|
5929
5956
|
{
|
|
5930
5957
|
type: "button",
|
|
5931
5958
|
onClick: onCopy,
|
|
5932
5959
|
className: "flex flex-1 items-center justify-center gap-2 rounded-xl bg-white/5 py-3 text-sm font-semibold text-muted-foreground transition-all hover:bg-accent hover:text-foreground",
|
|
5933
5960
|
children: [
|
|
5934
|
-
/* @__PURE__ */
|
|
5961
|
+
/* @__PURE__ */ jsx69(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
5935
5962
|
copyLabel
|
|
5936
5963
|
]
|
|
5937
5964
|
}
|
|
@@ -5941,7 +5968,7 @@ function SecretRevealCard({
|
|
|
5941
5968
|
}
|
|
5942
5969
|
|
|
5943
5970
|
// src/web/components/settings-section-card.tsx
|
|
5944
|
-
import { jsx as
|
|
5971
|
+
import { jsx as jsx70, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
5945
5972
|
function SettingsSectionCard({
|
|
5946
5973
|
title,
|
|
5947
5974
|
description,
|
|
@@ -5950,15 +5977,15 @@ function SettingsSectionCard({
|
|
|
5950
5977
|
className,
|
|
5951
5978
|
bodyClassName
|
|
5952
5979
|
}) {
|
|
5953
|
-
return /* @__PURE__ */
|
|
5954
|
-
/* @__PURE__ */
|
|
5955
|
-
/* @__PURE__ */
|
|
5956
|
-
/* @__PURE__ */
|
|
5957
|
-
description && /* @__PURE__ */
|
|
5980
|
+
return /* @__PURE__ */ jsxs56("section", { className: cn("space-y-4 rounded-xl bg-card p-4", className), children: [
|
|
5981
|
+
/* @__PURE__ */ jsxs56("div", { className: "flex items-start justify-between gap-4", children: [
|
|
5982
|
+
/* @__PURE__ */ jsxs56("div", { className: "min-w-0 flex-1", children: [
|
|
5983
|
+
/* @__PURE__ */ jsx70("h2", { className: "text-sm font-bold text-foreground", children: title }),
|
|
5984
|
+
description && /* @__PURE__ */ jsx70("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
|
|
5958
5985
|
] }),
|
|
5959
5986
|
badge
|
|
5960
5987
|
] }),
|
|
5961
|
-
/* @__PURE__ */
|
|
5988
|
+
/* @__PURE__ */ jsx70("div", { className: bodyClassName, children })
|
|
5962
5989
|
] });
|
|
5963
5990
|
}
|
|
5964
5991
|
var badgeToneClass = {
|
|
@@ -5970,7 +5997,7 @@ var badgeToneClass = {
|
|
|
5970
5997
|
muted: "border-white/10 bg-white/[0.05] text-white/55"
|
|
5971
5998
|
};
|
|
5972
5999
|
function ToneBadge({ children, tone = "muted", className }) {
|
|
5973
|
-
return /* @__PURE__ */
|
|
6000
|
+
return /* @__PURE__ */ jsx70(
|
|
5974
6001
|
"span",
|
|
5975
6002
|
{
|
|
5976
6003
|
className: cn(
|
|
@@ -5984,7 +6011,7 @@ function ToneBadge({ children, tone = "muted", className }) {
|
|
|
5984
6011
|
}
|
|
5985
6012
|
|
|
5986
6013
|
// src/web/components/selectable-card.tsx
|
|
5987
|
-
import { jsx as
|
|
6014
|
+
import { jsx as jsx71, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
5988
6015
|
function SelectableCard({
|
|
5989
6016
|
selected,
|
|
5990
6017
|
onClick,
|
|
@@ -5996,28 +6023,28 @@ function SelectableCard({
|
|
|
5996
6023
|
children,
|
|
5997
6024
|
className
|
|
5998
6025
|
}) {
|
|
5999
|
-
const content = /* @__PURE__ */
|
|
6000
|
-
/* @__PURE__ */
|
|
6001
|
-
indicator && /* @__PURE__ */
|
|
6026
|
+
const content = /* @__PURE__ */ jsxs57("div", { className: "flex items-start justify-between gap-3", children: [
|
|
6027
|
+
/* @__PURE__ */ jsxs57("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
6028
|
+
indicator && /* @__PURE__ */ jsx71(
|
|
6002
6029
|
"div",
|
|
6003
6030
|
{
|
|
6004
6031
|
className: cn(
|
|
6005
6032
|
"mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
|
|
6006
6033
|
selected ? "border-primary bg-primary" : "border-white/20"
|
|
6007
6034
|
),
|
|
6008
|
-
children: selected && /* @__PURE__ */
|
|
6035
|
+
children: selected && /* @__PURE__ */ jsx71("div", { className: "size-2 rounded-full bg-background" })
|
|
6009
6036
|
}
|
|
6010
6037
|
),
|
|
6011
|
-
/* @__PURE__ */
|
|
6012
|
-
/* @__PURE__ */
|
|
6013
|
-
/* @__PURE__ */
|
|
6038
|
+
/* @__PURE__ */ jsxs57("div", { className: "min-w-0 flex-1", children: [
|
|
6039
|
+
/* @__PURE__ */ jsxs57("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
6040
|
+
/* @__PURE__ */ jsx71("span", { className: "text-body font-bold text-foreground", children: title }),
|
|
6014
6041
|
badge
|
|
6015
6042
|
] }),
|
|
6016
|
-
description && /* @__PURE__ */
|
|
6043
|
+
description && /* @__PURE__ */ jsx71("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
|
|
6017
6044
|
children
|
|
6018
6045
|
] })
|
|
6019
6046
|
] }),
|
|
6020
|
-
preview && /* @__PURE__ */
|
|
6047
|
+
preview && /* @__PURE__ */ jsx71("div", { className: "shrink-0 text-right", children: preview })
|
|
6021
6048
|
] });
|
|
6022
6049
|
const cardClassName = cn(
|
|
6023
6050
|
"w-full rounded-2xl border p-4 text-left transition-all duration-200",
|
|
@@ -6025,14 +6052,14 @@ function SelectableCard({
|
|
|
6025
6052
|
className
|
|
6026
6053
|
);
|
|
6027
6054
|
if (onClick) {
|
|
6028
|
-
return /* @__PURE__ */
|
|
6055
|
+
return /* @__PURE__ */ jsx71("button", { type: "button", onClick, className: cardClassName, children: content });
|
|
6029
6056
|
}
|
|
6030
|
-
return /* @__PURE__ */
|
|
6057
|
+
return /* @__PURE__ */ jsx71("div", { className: cardClassName, children: content });
|
|
6031
6058
|
}
|
|
6032
6059
|
|
|
6033
6060
|
// src/web/components/mobile-hero-animation.tsx
|
|
6034
6061
|
import { useRef as useRef4, useEffect as useEffect8, useState as useState12 } from "react";
|
|
6035
|
-
import { Fragment as Fragment13, jsx as
|
|
6062
|
+
import { Fragment as Fragment13, jsx as jsx72, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
6036
6063
|
var PROTOCOLS = [
|
|
6037
6064
|
{ name: "Bitcoin", network: "Bitcoin", iconSuffix: "bitcoin/bitcoin-logo.svg" },
|
|
6038
6065
|
{ name: "Lightning", network: "LN", iconSuffix: "lightning/lightning.svg" },
|
|
@@ -6091,15 +6118,15 @@ var MobileHeroAnimation = ({
|
|
|
6091
6118
|
}, []);
|
|
6092
6119
|
const anim = !reducedMotion && isVisible;
|
|
6093
6120
|
const scale = size / 280;
|
|
6094
|
-
return /* @__PURE__ */
|
|
6121
|
+
return /* @__PURE__ */ jsxs58(
|
|
6095
6122
|
"div",
|
|
6096
6123
|
{
|
|
6097
6124
|
ref: containerRef,
|
|
6098
6125
|
className,
|
|
6099
6126
|
style: { position: "relative", width: size, height: size },
|
|
6100
6127
|
children: [
|
|
6101
|
-
/* @__PURE__ */
|
|
6102
|
-
/* @__PURE__ */
|
|
6128
|
+
/* @__PURE__ */ jsx72("style", { children: KEYFRAMES }),
|
|
6129
|
+
/* @__PURE__ */ jsxs58("div", { style: {
|
|
6103
6130
|
position: "absolute",
|
|
6104
6131
|
top: 0,
|
|
6105
6132
|
left: 0,
|
|
@@ -6108,7 +6135,7 @@ var MobileHeroAnimation = ({
|
|
|
6108
6135
|
transformOrigin: "top left",
|
|
6109
6136
|
transform: scale !== 1 ? `scale(${scale})` : void 0
|
|
6110
6137
|
}, children: [
|
|
6111
|
-
/* @__PURE__ */
|
|
6138
|
+
/* @__PURE__ */ jsxs58(
|
|
6112
6139
|
"svg",
|
|
6113
6140
|
{
|
|
6114
6141
|
viewBox: "0 0 280 280",
|
|
@@ -6117,35 +6144,35 @@ var MobileHeroAnimation = ({
|
|
|
6117
6144
|
style: { position: "absolute", inset: 0 },
|
|
6118
6145
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6119
6146
|
children: [
|
|
6120
|
-
/* @__PURE__ */
|
|
6121
|
-
/* @__PURE__ */
|
|
6122
|
-
/* @__PURE__ */
|
|
6123
|
-
/* @__PURE__ */
|
|
6124
|
-
/* @__PURE__ */
|
|
6147
|
+
/* @__PURE__ */ jsxs58("defs", { children: [
|
|
6148
|
+
/* @__PURE__ */ jsxs58("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6149
|
+
/* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6150
|
+
/* @__PURE__ */ jsx72("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6151
|
+
/* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
6125
6152
|
] }),
|
|
6126
|
-
/* @__PURE__ */
|
|
6127
|
-
/* @__PURE__ */
|
|
6128
|
-
/* @__PURE__ */
|
|
6153
|
+
/* @__PURE__ */ jsxs58("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6154
|
+
/* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6155
|
+
/* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6129
6156
|
] }),
|
|
6130
|
-
/* @__PURE__ */
|
|
6131
|
-
/* @__PURE__ */
|
|
6132
|
-
/* @__PURE__ */
|
|
6157
|
+
/* @__PURE__ */ jsxs58("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6158
|
+
/* @__PURE__ */ jsx72("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6159
|
+
/* @__PURE__ */ jsx72("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6133
6160
|
] }),
|
|
6134
|
-
/* @__PURE__ */
|
|
6135
|
-
/* @__PURE__ */
|
|
6136
|
-
/* @__PURE__ */
|
|
6137
|
-
/* @__PURE__ */
|
|
6138
|
-
/* @__PURE__ */
|
|
6161
|
+
/* @__PURE__ */ jsxs58("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6162
|
+
/* @__PURE__ */ jsx72("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
|
|
6163
|
+
/* @__PURE__ */ jsxs58("feMerge", { children: [
|
|
6164
|
+
/* @__PURE__ */ jsx72("feMergeNode", { in: "blur" }),
|
|
6165
|
+
/* @__PURE__ */ jsx72("feMergeNode", { in: "SourceGraphic" })
|
|
6139
6166
|
] })
|
|
6140
6167
|
] })
|
|
6141
6168
|
] }),
|
|
6142
|
-
/* @__PURE__ */
|
|
6143
|
-
/* @__PURE__ */
|
|
6144
|
-
/* @__PURE__ */
|
|
6169
|
+
/* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: ORBIT_R, fill: "none", stroke: "#0e9dff", strokeWidth: "1", strokeOpacity: "0.25", opacity: "0.4", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
|
|
6170
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
|
|
6171
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
|
|
6145
6172
|
] }) }),
|
|
6146
|
-
/* @__PURE__ */
|
|
6147
|
-
/* @__PURE__ */
|
|
6148
|
-
anim && /* @__PURE__ */
|
|
6173
|
+
/* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
|
|
6174
|
+
/* @__PURE__ */ jsxs58("g", { children: [
|
|
6175
|
+
anim && /* @__PURE__ */ jsx72(
|
|
6149
6176
|
"animateTransform",
|
|
6150
6177
|
{
|
|
6151
6178
|
attributeName: "transform",
|
|
@@ -6166,8 +6193,8 @@ var MobileHeroAnimation = ({
|
|
|
6166
6193
|
const y2 = C + dy * (ORBIT_R - BADGE_HALF);
|
|
6167
6194
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
6168
6195
|
const dur = `${2 + i * 0.3}s`;
|
|
6169
|
-
return /* @__PURE__ */
|
|
6170
|
-
/* @__PURE__ */
|
|
6196
|
+
return /* @__PURE__ */ jsxs58("g", { children: [
|
|
6197
|
+
/* @__PURE__ */ jsx72(
|
|
6171
6198
|
"line",
|
|
6172
6199
|
{
|
|
6173
6200
|
x1,
|
|
@@ -6178,29 +6205,29 @@ var MobileHeroAnimation = ({
|
|
|
6178
6205
|
strokeWidth: "0.8",
|
|
6179
6206
|
strokeDasharray: "2 4",
|
|
6180
6207
|
opacity: "0.25",
|
|
6181
|
-
children: anim && /* @__PURE__ */
|
|
6208
|
+
children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6182
6209
|
}
|
|
6183
6210
|
),
|
|
6184
|
-
/* @__PURE__ */
|
|
6185
|
-
/* @__PURE__ */
|
|
6186
|
-
/* @__PURE__ */
|
|
6187
|
-
/* @__PURE__ */
|
|
6188
|
-
/* @__PURE__ */
|
|
6211
|
+
/* @__PURE__ */ jsx72("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
|
|
6212
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
|
|
6213
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
|
|
6214
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
|
|
6215
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
|
|
6189
6216
|
] }) })
|
|
6190
6217
|
] }, `line-${i}`);
|
|
6191
6218
|
})
|
|
6192
6219
|
] }),
|
|
6193
|
-
/* @__PURE__ */
|
|
6194
|
-
/* @__PURE__ */
|
|
6195
|
-
/* @__PURE__ */
|
|
6196
|
-
/* @__PURE__ */
|
|
6220
|
+
/* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
|
|
6221
|
+
/* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
|
|
6222
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
|
|
6223
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
6197
6224
|
] }) }),
|
|
6198
|
-
/* @__PURE__ */
|
|
6199
|
-
/* @__PURE__ */
|
|
6200
|
-
/* @__PURE__ */
|
|
6225
|
+
/* @__PURE__ */ jsx72("circle", { cx: C, cy: C, r: "27", fill: "none", stroke: "url(#mh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
|
|
6226
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
6227
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
6201
6228
|
] }) }),
|
|
6202
|
-
/* @__PURE__ */
|
|
6203
|
-
anim && /* @__PURE__ */
|
|
6229
|
+
/* @__PURE__ */ jsx72("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ jsxs58("g", { children: [
|
|
6230
|
+
anim && /* @__PURE__ */ jsx72(
|
|
6204
6231
|
"animateTransform",
|
|
6205
6232
|
{
|
|
6206
6233
|
attributeName: "transform",
|
|
@@ -6212,13 +6239,13 @@ var MobileHeroAnimation = ({
|
|
|
6212
6239
|
additive: "sum"
|
|
6213
6240
|
}
|
|
6214
6241
|
),
|
|
6215
|
-
/* @__PURE__ */
|
|
6216
|
-
/* @__PURE__ */
|
|
6217
|
-
/* @__PURE__ */
|
|
6242
|
+
/* @__PURE__ */ jsx72("path", { d: hexPath(34), fill: "none", stroke: "url(#mh-gp)", strokeWidth: "1.5", opacity: "0.4", filter: "url(#mh-glow)", children: anim && /* @__PURE__ */ jsxs58(Fragment13, { children: [
|
|
6243
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
6244
|
+
/* @__PURE__ */ jsx72("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
6218
6245
|
] }) })
|
|
6219
6246
|
] }) }),
|
|
6220
|
-
/* @__PURE__ */
|
|
6221
|
-
anim && /* @__PURE__ */
|
|
6247
|
+
/* @__PURE__ */ jsx72("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ jsxs58("g", { children: [
|
|
6248
|
+
anim && /* @__PURE__ */ jsx72(
|
|
6222
6249
|
"animateTransform",
|
|
6223
6250
|
{
|
|
6224
6251
|
attributeName: "transform",
|
|
@@ -6230,19 +6257,19 @@ var MobileHeroAnimation = ({
|
|
|
6230
6257
|
additive: "sum"
|
|
6231
6258
|
}
|
|
6232
6259
|
),
|
|
6233
|
-
/* @__PURE__ */
|
|
6260
|
+
/* @__PURE__ */ jsx72("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
|
|
6234
6261
|
] }) }),
|
|
6235
|
-
/* @__PURE__ */
|
|
6236
|
-
/* @__PURE__ */
|
|
6237
|
-
/* @__PURE__ */
|
|
6238
|
-
/* @__PURE__ */
|
|
6239
|
-
/* @__PURE__ */
|
|
6240
|
-
/* @__PURE__ */
|
|
6262
|
+
/* @__PURE__ */ jsxs58("g", { transform: `translate(${C - 18.8},${C - 18.8}) scale(0.0912)`, children: [
|
|
6263
|
+
/* @__PURE__ */ jsx72("path", { d: "M137.306 411.865H0.000244141L68.6795 343.29L137.306 411.865Z", fill: "#6F32FF" }),
|
|
6264
|
+
/* @__PURE__ */ jsx72("path", { d: "M0 0H137.306L68.6267 68.574L0 0Z", fill: "#6F32FF" }),
|
|
6265
|
+
/* @__PURE__ */ jsx72("path", { d: "M137.148 274.559H274.455L411.708 411.866H274.401L137.148 274.559Z", fill: "#17B581" }),
|
|
6266
|
+
/* @__PURE__ */ jsx72("path", { d: "M137.149 274.559L68.6274 205.933L137.201 137.306L274.455 137.411L205.776 206.038L274.456 274.559H137.149Z", fill: "#15E99A" }),
|
|
6267
|
+
/* @__PURE__ */ jsx72("path", { d: "M274.479 0.104797H411.786L274.533 137.411H137.226L274.479 0.104797Z", fill: "#17B581" })
|
|
6241
6268
|
] })
|
|
6242
6269
|
]
|
|
6243
6270
|
}
|
|
6244
6271
|
),
|
|
6245
|
-
/* @__PURE__ */
|
|
6272
|
+
/* @__PURE__ */ jsx72("div", { style: {
|
|
6246
6273
|
position: "absolute",
|
|
6247
6274
|
inset: 0,
|
|
6248
6275
|
width: 280,
|
|
@@ -6253,7 +6280,7 @@ var MobileHeroAnimation = ({
|
|
|
6253
6280
|
const x = C + Math.cos(angle) * ORBIT_R - BADGE_HALF;
|
|
6254
6281
|
const y = C + Math.sin(angle) * ORBIT_R - BADGE_HALF;
|
|
6255
6282
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
6256
|
-
return /* @__PURE__ */
|
|
6283
|
+
return /* @__PURE__ */ jsx72(
|
|
6257
6284
|
"div",
|
|
6258
6285
|
{
|
|
6259
6286
|
style: {
|
|
@@ -6264,7 +6291,7 @@ var MobileHeroAnimation = ({
|
|
|
6264
6291
|
height: BADGE_SIZE,
|
|
6265
6292
|
animation: anim ? "mha-counter-spin 20s linear infinite" : "none"
|
|
6266
6293
|
},
|
|
6267
|
-
children: /* @__PURE__ */
|
|
6294
|
+
children: /* @__PURE__ */ jsx72("div", { style: {
|
|
6268
6295
|
width: "100%",
|
|
6269
6296
|
height: "100%",
|
|
6270
6297
|
borderRadius: "50%",
|
|
@@ -6275,7 +6302,7 @@ var MobileHeroAnimation = ({
|
|
|
6275
6302
|
display: "flex",
|
|
6276
6303
|
alignItems: "center",
|
|
6277
6304
|
justifyContent: "center"
|
|
6278
|
-
}, children: /* @__PURE__ */
|
|
6305
|
+
}, children: /* @__PURE__ */ jsx72(
|
|
6279
6306
|
"img",
|
|
6280
6307
|
{
|
|
6281
6308
|
src: iconBasePath ? `${iconBasePath}/${protocol.iconSuffix}` : protocolIcons[protocol.network] ?? protocol.iconSuffix,
|
|
@@ -6295,7 +6322,7 @@ var MobileHeroAnimation = ({
|
|
|
6295
6322
|
|
|
6296
6323
|
// src/web/components/kaleidoscope-hero-animation.tsx
|
|
6297
6324
|
import { useRef as useRef5, useEffect as useEffect9, useState as useState13, useCallback as useCallback2 } from "react";
|
|
6298
|
-
import { Fragment as Fragment14, jsx as
|
|
6325
|
+
import { Fragment as Fragment14, jsx as jsx73, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
6299
6326
|
var PROTOCOLS2 = [
|
|
6300
6327
|
{ name: "Bitcoin L1", network: "L1", color: "#F7931A", glowColor: "rgba(247,147,26,0.5)" },
|
|
6301
6328
|
{ name: "Lightning", network: "LN", color: "#fbbf24", glowColor: "rgba(251,191,36,0.5)" },
|
|
@@ -6400,13 +6427,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6400
6427
|
const angle = Math.PI * 2 * i / 7 - Math.PI / 2;
|
|
6401
6428
|
return { x: c + orbitR * Math.cos(angle), y: c + orbitR * Math.sin(angle) };
|
|
6402
6429
|
});
|
|
6403
|
-
return /* @__PURE__ */
|
|
6430
|
+
return /* @__PURE__ */ jsx73(
|
|
6404
6431
|
"div",
|
|
6405
6432
|
{
|
|
6406
6433
|
ref: containerRef,
|
|
6407
6434
|
className: `relative ${className}`,
|
|
6408
6435
|
style: size ? { width: size, height: size } : void 0,
|
|
6409
|
-
children: /* @__PURE__ */
|
|
6436
|
+
children: /* @__PURE__ */ jsxs59(
|
|
6410
6437
|
"svg",
|
|
6411
6438
|
{
|
|
6412
6439
|
viewBox: "0 0 500 500",
|
|
@@ -6415,60 +6442,60 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6415
6442
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6416
6443
|
className: "overflow-visible",
|
|
6417
6444
|
children: [
|
|
6418
|
-
/* @__PURE__ */
|
|
6419
|
-
/* @__PURE__ */
|
|
6420
|
-
/* @__PURE__ */
|
|
6421
|
-
/* @__PURE__ */
|
|
6445
|
+
/* @__PURE__ */ jsxs59("defs", { children: [
|
|
6446
|
+
/* @__PURE__ */ jsxs59("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6447
|
+
/* @__PURE__ */ jsx73("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
|
|
6448
|
+
/* @__PURE__ */ jsx73("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
|
|
6422
6449
|
] }),
|
|
6423
|
-
/* @__PURE__ */
|
|
6424
|
-
/* @__PURE__ */
|
|
6425
|
-
/* @__PURE__ */
|
|
6450
|
+
/* @__PURE__ */ jsxs59("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
|
|
6451
|
+
/* @__PURE__ */ jsx73("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
|
|
6452
|
+
/* @__PURE__ */ jsx73("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
|
|
6426
6453
|
] }),
|
|
6427
|
-
/* @__PURE__ */
|
|
6428
|
-
/* @__PURE__ */
|
|
6429
|
-
/* @__PURE__ */
|
|
6454
|
+
/* @__PURE__ */ jsxs59("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
|
|
6455
|
+
/* @__PURE__ */ jsx73("stop", { offset: "0%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
|
|
6456
|
+
/* @__PURE__ */ jsx73("stop", { offset: "100%", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
|
|
6430
6457
|
] }),
|
|
6431
|
-
/* @__PURE__ */
|
|
6432
|
-
/* @__PURE__ */
|
|
6433
|
-
/* @__PURE__ */
|
|
6458
|
+
/* @__PURE__ */ jsxs59("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6459
|
+
/* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6460
|
+
/* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6434
6461
|
] }),
|
|
6435
|
-
/* @__PURE__ */
|
|
6436
|
-
/* @__PURE__ */
|
|
6437
|
-
/* @__PURE__ */
|
|
6462
|
+
/* @__PURE__ */ jsxs59("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6463
|
+
/* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "#F7931A" }),
|
|
6464
|
+
/* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "#06b6d4" })
|
|
6438
6465
|
] }),
|
|
6439
|
-
/* @__PURE__ */
|
|
6440
|
-
/* @__PURE__ */
|
|
6441
|
-
/* @__PURE__ */
|
|
6466
|
+
/* @__PURE__ */ jsxs59("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6467
|
+
/* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6468
|
+
/* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6442
6469
|
] }),
|
|
6443
|
-
/* @__PURE__ */
|
|
6444
|
-
/* @__PURE__ */
|
|
6445
|
-
/* @__PURE__ */
|
|
6446
|
-
/* @__PURE__ */
|
|
6470
|
+
/* @__PURE__ */ jsxs59("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6471
|
+
/* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6472
|
+
/* @__PURE__ */ jsx73("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6473
|
+
/* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
6447
6474
|
] }),
|
|
6448
|
-
/* @__PURE__ */
|
|
6449
|
-
/* @__PURE__ */
|
|
6450
|
-
/* @__PURE__ */
|
|
6451
|
-
/* @__PURE__ */
|
|
6475
|
+
/* @__PURE__ */ jsxs59("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6476
|
+
/* @__PURE__ */ jsx73("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
|
|
6477
|
+
/* @__PURE__ */ jsx73("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
|
|
6478
|
+
/* @__PURE__ */ jsx73("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
|
|
6452
6479
|
] }),
|
|
6453
|
-
/* @__PURE__ */
|
|
6454
|
-
/* @__PURE__ */
|
|
6455
|
-
/* @__PURE__ */
|
|
6456
|
-
/* @__PURE__ */
|
|
6457
|
-
/* @__PURE__ */
|
|
6480
|
+
/* @__PURE__ */ jsxs59("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6481
|
+
/* @__PURE__ */ jsx73("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
|
|
6482
|
+
/* @__PURE__ */ jsxs59("feMerge", { children: [
|
|
6483
|
+
/* @__PURE__ */ jsx73("feMergeNode", { in: "blur" }),
|
|
6484
|
+
/* @__PURE__ */ jsx73("feMergeNode", { in: "SourceGraphic" })
|
|
6458
6485
|
] })
|
|
6459
6486
|
] }),
|
|
6460
|
-
/* @__PURE__ */
|
|
6461
|
-
/* @__PURE__ */
|
|
6462
|
-
/* @__PURE__ */
|
|
6463
|
-
/* @__PURE__ */
|
|
6464
|
-
/* @__PURE__ */
|
|
6487
|
+
/* @__PURE__ */ jsxs59("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6488
|
+
/* @__PURE__ */ jsx73("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
|
|
6489
|
+
/* @__PURE__ */ jsxs59("feMerge", { children: [
|
|
6490
|
+
/* @__PURE__ */ jsx73("feMergeNode", { in: "blur" }),
|
|
6491
|
+
/* @__PURE__ */ jsx73("feMergeNode", { in: "SourceGraphic" })
|
|
6465
6492
|
] })
|
|
6466
6493
|
] })
|
|
6467
6494
|
] }),
|
|
6468
|
-
/* @__PURE__ */
|
|
6469
|
-
/* @__PURE__ */
|
|
6470
|
-
/* @__PURE__ */
|
|
6471
|
-
anim && /* @__PURE__ */
|
|
6495
|
+
/* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
|
|
6496
|
+
/* @__PURE__ */ jsxs59("g", { transform: px(20), children: [
|
|
6497
|
+
/* @__PURE__ */ jsxs59("g", { children: [
|
|
6498
|
+
anim && /* @__PURE__ */ jsx73(
|
|
6472
6499
|
"animateTransform",
|
|
6473
6500
|
{
|
|
6474
6501
|
attributeName: "transform",
|
|
@@ -6481,14 +6508,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6481
6508
|
),
|
|
6482
6509
|
Array.from({ length: 6 }, (_, i) => {
|
|
6483
6510
|
const a = Math.PI / 3 * i;
|
|
6484
|
-
return /* @__PURE__ */
|
|
6485
|
-
/* @__PURE__ */
|
|
6486
|
-
/* @__PURE__ */
|
|
6511
|
+
return /* @__PURE__ */ jsxs59("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
|
|
6512
|
+
/* @__PURE__ */ jsx73("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
|
|
6513
|
+
/* @__PURE__ */ jsx73("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
|
|
6487
6514
|
] }, `ha-${i}`);
|
|
6488
6515
|
}),
|
|
6489
6516
|
Array.from({ length: 6 }, (_, i) => {
|
|
6490
6517
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6491
|
-
return /* @__PURE__ */
|
|
6518
|
+
return /* @__PURE__ */ jsx73(
|
|
6492
6519
|
"path",
|
|
6493
6520
|
{
|
|
6494
6521
|
d: triPath(14),
|
|
@@ -6501,7 +6528,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6501
6528
|
}),
|
|
6502
6529
|
Array.from({ length: 12 }, (_, i) => {
|
|
6503
6530
|
const a = Math.PI / 6 * i;
|
|
6504
|
-
return /* @__PURE__ */
|
|
6531
|
+
return /* @__PURE__ */ jsx73(
|
|
6505
6532
|
"circle",
|
|
6506
6533
|
{
|
|
6507
6534
|
cx: c + outerR1 * 0.92 * Math.cos(a),
|
|
@@ -6509,14 +6536,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6509
6536
|
r: "1.5",
|
|
6510
6537
|
fill: "url(#kh-grad-a)",
|
|
6511
6538
|
opacity: "0.15",
|
|
6512
|
-
children: anim && /* @__PURE__ */
|
|
6539
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
|
|
6513
6540
|
},
|
|
6514
6541
|
`od-${i}`
|
|
6515
6542
|
);
|
|
6516
6543
|
})
|
|
6517
6544
|
] }),
|
|
6518
|
-
/* @__PURE__ */
|
|
6519
|
-
anim && /* @__PURE__ */
|
|
6545
|
+
/* @__PURE__ */ jsxs59("g", { children: [
|
|
6546
|
+
anim && /* @__PURE__ */ jsx73(
|
|
6520
6547
|
"animateTransform",
|
|
6521
6548
|
{
|
|
6522
6549
|
attributeName: "transform",
|
|
@@ -6529,28 +6556,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6529
6556
|
),
|
|
6530
6557
|
Array.from({ length: 6 }, (_, i) => {
|
|
6531
6558
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6532
|
-
return /* @__PURE__ */
|
|
6533
|
-
/* @__PURE__ */
|
|
6534
|
-
/* @__PURE__ */
|
|
6559
|
+
return /* @__PURE__ */ jsxs59("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
|
|
6560
|
+
/* @__PURE__ */ jsx73("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
|
|
6561
|
+
/* @__PURE__ */ jsx73("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
|
|
6535
6562
|
] }, `hb-${i}`);
|
|
6536
6563
|
}),
|
|
6537
6564
|
Array.from({ length: 6 }, (_, i) => {
|
|
6538
6565
|
const a = Math.PI / 3 * i;
|
|
6539
|
-
return /* @__PURE__ */
|
|
6566
|
+
return /* @__PURE__ */ jsx73(
|
|
6540
6567
|
"path",
|
|
6541
6568
|
{
|
|
6542
6569
|
d: diamondPath(8, 16),
|
|
6543
6570
|
transform: `translate(${c + outerR2 * 0.85 * Math.cos(a)},${c + outerR2 * 0.85 * Math.sin(a)}) rotate(${i * 60})`,
|
|
6544
6571
|
fill: "url(#kh-grad-b)",
|
|
6545
6572
|
opacity: "0.08",
|
|
6546
|
-
children: anim && /* @__PURE__ */
|
|
6573
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
|
|
6547
6574
|
},
|
|
6548
6575
|
`db-${i}`
|
|
6549
6576
|
);
|
|
6550
6577
|
})
|
|
6551
6578
|
] }),
|
|
6552
|
-
/* @__PURE__ */
|
|
6553
|
-
anim && /* @__PURE__ */
|
|
6579
|
+
/* @__PURE__ */ jsxs59("g", { children: [
|
|
6580
|
+
anim && /* @__PURE__ */ jsx73(
|
|
6554
6581
|
"animateTransform",
|
|
6555
6582
|
{
|
|
6556
6583
|
attributeName: "transform",
|
|
@@ -6564,23 +6591,23 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6564
6591
|
Array.from({ length: 12 }, (_, i) => {
|
|
6565
6592
|
const a = Math.PI / 6 * i;
|
|
6566
6593
|
const r = outerR1 * (0.6 + i % 2 * 0.15);
|
|
6567
|
-
return /* @__PURE__ */
|
|
6594
|
+
return /* @__PURE__ */ jsx73(
|
|
6568
6595
|
"path",
|
|
6569
6596
|
{
|
|
6570
6597
|
d: triPath(10),
|
|
6571
6598
|
transform: `translate(${c + r * Math.cos(a)},${c + r * Math.sin(a)}) rotate(${i * 30 + 15})`,
|
|
6572
6599
|
fill: "url(#kh-grad-c)",
|
|
6573
6600
|
opacity: "0.05",
|
|
6574
|
-
children: anim && /* @__PURE__ */
|
|
6601
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
|
|
6575
6602
|
},
|
|
6576
6603
|
`tc-${i}`
|
|
6577
6604
|
);
|
|
6578
6605
|
})
|
|
6579
6606
|
] })
|
|
6580
6607
|
] }),
|
|
6581
|
-
/* @__PURE__ */
|
|
6582
|
-
/* @__PURE__ */
|
|
6583
|
-
anim && /* @__PURE__ */
|
|
6608
|
+
/* @__PURE__ */ jsxs59("g", { transform: px(14), children: [
|
|
6609
|
+
/* @__PURE__ */ jsxs59("g", { children: [
|
|
6610
|
+
anim && /* @__PURE__ */ jsx73(
|
|
6584
6611
|
"animateTransform",
|
|
6585
6612
|
{
|
|
6586
6613
|
attributeName: "transform",
|
|
@@ -6593,9 +6620,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6593
6620
|
),
|
|
6594
6621
|
Array.from({ length: 12 }, (_, i) => {
|
|
6595
6622
|
const a = Math.PI / 6 * i;
|
|
6596
|
-
return /* @__PURE__ */
|
|
6597
|
-
/* @__PURE__ */
|
|
6598
|
-
/* @__PURE__ */
|
|
6623
|
+
return /* @__PURE__ */ jsxs59("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
|
|
6624
|
+
/* @__PURE__ */ jsx73("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
|
|
6625
|
+
/* @__PURE__ */ jsx73("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
|
|
6599
6626
|
] }, `mh-${i}`);
|
|
6600
6627
|
})
|
|
6601
6628
|
] }),
|
|
@@ -6606,7 +6633,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6606
6633
|
const y1 = c + midR * Math.sin(a1);
|
|
6607
6634
|
const x2 = c + midR * Math.cos(a2);
|
|
6608
6635
|
const y2 = c + midR * Math.sin(a2);
|
|
6609
|
-
return /* @__PURE__ */
|
|
6636
|
+
return /* @__PURE__ */ jsx73(
|
|
6610
6637
|
"path",
|
|
6611
6638
|
{
|
|
6612
6639
|
d: `M${x1},${y1} Q${c},${c} ${x2},${y2}`,
|
|
@@ -6615,17 +6642,17 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6615
6642
|
strokeWidth: "0.5",
|
|
6616
6643
|
strokeDasharray: "3 5",
|
|
6617
6644
|
opacity: "0.1",
|
|
6618
|
-
children: anim && /* @__PURE__ */
|
|
6645
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6619
6646
|
},
|
|
6620
6647
|
`arc-${i}`
|
|
6621
6648
|
);
|
|
6622
6649
|
})
|
|
6623
6650
|
] }),
|
|
6624
|
-
/* @__PURE__ */
|
|
6625
|
-
/* @__PURE__ */
|
|
6626
|
-
/* @__PURE__ */
|
|
6627
|
-
/* @__PURE__ */
|
|
6628
|
-
anim && /* @__PURE__ */
|
|
6651
|
+
/* @__PURE__ */ jsxs59("g", { transform: px(10), children: [
|
|
6652
|
+
/* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: orbitR, fill: "none", stroke: "rgba(255,255,255,0.05)", strokeWidth: "1", strokeDasharray: "3 5", children: anim && /* @__PURE__ */ jsx73("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
|
|
6653
|
+
/* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
|
|
6654
|
+
/* @__PURE__ */ jsxs59("g", { children: [
|
|
6655
|
+
anim && /* @__PURE__ */ jsx73(
|
|
6629
6656
|
"animateTransform",
|
|
6630
6657
|
{
|
|
6631
6658
|
attributeName: "transform",
|
|
@@ -6640,8 +6667,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6640
6667
|
const angle = Math.atan2(pos.y - c, pos.x - c);
|
|
6641
6668
|
const dx = Math.cos(angle);
|
|
6642
6669
|
const dy = Math.sin(angle);
|
|
6643
|
-
return /* @__PURE__ */
|
|
6644
|
-
/* @__PURE__ */
|
|
6670
|
+
return /* @__PURE__ */ jsxs59("g", { children: [
|
|
6671
|
+
/* @__PURE__ */ jsx73(
|
|
6645
6672
|
"line",
|
|
6646
6673
|
{
|
|
6647
6674
|
x1: c + dx * 52,
|
|
@@ -6652,14 +6679,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6652
6679
|
strokeWidth: "0.8",
|
|
6653
6680
|
strokeDasharray: "2 4",
|
|
6654
6681
|
opacity: "0.2",
|
|
6655
|
-
children: anim && /* @__PURE__ */
|
|
6682
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6656
6683
|
}
|
|
6657
6684
|
),
|
|
6658
|
-
/* @__PURE__ */
|
|
6659
|
-
/* @__PURE__ */
|
|
6660
|
-
/* @__PURE__ */
|
|
6661
|
-
/* @__PURE__ */
|
|
6662
|
-
/* @__PURE__ */
|
|
6685
|
+
/* @__PURE__ */ jsx73("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
|
|
6686
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6687
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6688
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6689
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6663
6690
|
] }) })
|
|
6664
6691
|
] }, `conn-${i}`);
|
|
6665
6692
|
}),
|
|
@@ -6667,14 +6694,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6667
6694
|
const pos = iconPositions[i];
|
|
6668
6695
|
const labelWidth = Math.max(proto.name.length * 5.5 + 10, 32);
|
|
6669
6696
|
const isHovered = hoveredProtocol === proto.name;
|
|
6670
|
-
return /* @__PURE__ */
|
|
6697
|
+
return /* @__PURE__ */ jsx73("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ jsxs59(
|
|
6671
6698
|
"g",
|
|
6672
6699
|
{
|
|
6673
6700
|
onMouseEnter: () => setHoveredProtocol(proto.name),
|
|
6674
6701
|
onMouseLeave: () => setHoveredProtocol(null),
|
|
6675
6702
|
style: { cursor: "pointer" },
|
|
6676
6703
|
children: [
|
|
6677
|
-
anim && /* @__PURE__ */
|
|
6704
|
+
anim && /* @__PURE__ */ jsx73(
|
|
6678
6705
|
"animateTransform",
|
|
6679
6706
|
{
|
|
6680
6707
|
attributeName: "transform",
|
|
@@ -6685,7 +6712,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6685
6712
|
repeatCount: "indefinite"
|
|
6686
6713
|
}
|
|
6687
6714
|
),
|
|
6688
|
-
/* @__PURE__ */
|
|
6715
|
+
/* @__PURE__ */ jsx73(
|
|
6689
6716
|
"circle",
|
|
6690
6717
|
{
|
|
6691
6718
|
cx: "0",
|
|
@@ -6695,13 +6722,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6695
6722
|
stroke: proto.color,
|
|
6696
6723
|
strokeWidth: "1",
|
|
6697
6724
|
opacity: "0",
|
|
6698
|
-
children: anim && /* @__PURE__ */
|
|
6699
|
-
/* @__PURE__ */
|
|
6700
|
-
/* @__PURE__ */
|
|
6725
|
+
children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
|
|
6726
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
|
|
6727
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
|
|
6701
6728
|
] })
|
|
6702
6729
|
}
|
|
6703
6730
|
),
|
|
6704
|
-
/* @__PURE__ */
|
|
6731
|
+
/* @__PURE__ */ jsx73(
|
|
6705
6732
|
"circle",
|
|
6706
6733
|
{
|
|
6707
6734
|
cx: "0",
|
|
@@ -6711,10 +6738,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6711
6738
|
stroke: proto.color,
|
|
6712
6739
|
strokeWidth: "1",
|
|
6713
6740
|
opacity: "0.15",
|
|
6714
|
-
children: anim && /* @__PURE__ */
|
|
6741
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
|
|
6715
6742
|
}
|
|
6716
6743
|
),
|
|
6717
|
-
/* @__PURE__ */
|
|
6744
|
+
/* @__PURE__ */ jsx73(
|
|
6718
6745
|
"circle",
|
|
6719
6746
|
{
|
|
6720
6747
|
cx: "0",
|
|
@@ -6724,10 +6751,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6724
6751
|
stroke: proto.color,
|
|
6725
6752
|
strokeWidth: "1.5",
|
|
6726
6753
|
opacity: "0.25",
|
|
6727
|
-
children: anim && /* @__PURE__ */
|
|
6754
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6728
6755
|
}
|
|
6729
6756
|
),
|
|
6730
|
-
/* @__PURE__ */
|
|
6757
|
+
/* @__PURE__ */ jsx73(
|
|
6731
6758
|
"circle",
|
|
6732
6759
|
{
|
|
6733
6760
|
cx: "0",
|
|
@@ -6738,8 +6765,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6738
6765
|
strokeWidth: "1"
|
|
6739
6766
|
}
|
|
6740
6767
|
),
|
|
6741
|
-
/* @__PURE__ */
|
|
6742
|
-
/* @__PURE__ */
|
|
6768
|
+
/* @__PURE__ */ jsx73("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
|
|
6769
|
+
/* @__PURE__ */ jsx73("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ jsx73(
|
|
6743
6770
|
NetworkBadge,
|
|
6744
6771
|
{
|
|
6745
6772
|
network: proto.network,
|
|
@@ -6747,8 +6774,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6747
6774
|
className: "w-full h-full"
|
|
6748
6775
|
}
|
|
6749
6776
|
) }),
|
|
6750
|
-
/* @__PURE__ */
|
|
6751
|
-
/* @__PURE__ */
|
|
6777
|
+
/* @__PURE__ */ jsxs59("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
|
|
6778
|
+
/* @__PURE__ */ jsx73(
|
|
6752
6779
|
"rect",
|
|
6753
6780
|
{
|
|
6754
6781
|
x: -labelWidth / 2,
|
|
@@ -6762,7 +6789,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6762
6789
|
strokeOpacity: 0.4
|
|
6763
6790
|
}
|
|
6764
6791
|
),
|
|
6765
|
-
/* @__PURE__ */
|
|
6792
|
+
/* @__PURE__ */ jsx73(
|
|
6766
6793
|
"text",
|
|
6767
6794
|
{
|
|
6768
6795
|
x: "0",
|
|
@@ -6782,9 +6809,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6782
6809
|
})
|
|
6783
6810
|
] })
|
|
6784
6811
|
] }),
|
|
6785
|
-
/* @__PURE__ */
|
|
6786
|
-
/* @__PURE__ */
|
|
6787
|
-
anim && /* @__PURE__ */
|
|
6812
|
+
/* @__PURE__ */ jsxs59("g", { transform: px(5), children: [
|
|
6813
|
+
/* @__PURE__ */ jsxs59("g", { children: [
|
|
6814
|
+
anim && /* @__PURE__ */ jsx73(
|
|
6788
6815
|
"animateTransform",
|
|
6789
6816
|
{
|
|
6790
6817
|
attributeName: "transform",
|
|
@@ -6797,28 +6824,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6797
6824
|
),
|
|
6798
6825
|
Array.from({ length: 6 }, (_, i) => {
|
|
6799
6826
|
const a = Math.PI / 3 * i;
|
|
6800
|
-
return /* @__PURE__ */
|
|
6827
|
+
return /* @__PURE__ */ jsx73(
|
|
6801
6828
|
"path",
|
|
6802
6829
|
{
|
|
6803
6830
|
d: diamondPath(10, 22),
|
|
6804
6831
|
transform: `translate(${c + innerR * Math.cos(a)},${c + innerR * Math.sin(a)}) rotate(${i * 60})`,
|
|
6805
6832
|
fill: "url(#kh-gp)",
|
|
6806
6833
|
opacity: "0.15",
|
|
6807
|
-
children: anim && /* @__PURE__ */
|
|
6834
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
|
|
6808
6835
|
},
|
|
6809
6836
|
`d-${i}`
|
|
6810
6837
|
);
|
|
6811
6838
|
}),
|
|
6812
6839
|
Array.from({ length: 6 }, (_, i) => {
|
|
6813
6840
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6814
|
-
return /* @__PURE__ */
|
|
6841
|
+
return /* @__PURE__ */ jsx73(
|
|
6815
6842
|
"path",
|
|
6816
6843
|
{
|
|
6817
6844
|
d: triPath(8),
|
|
6818
6845
|
transform: `translate(${c + innerR * 0.75 * Math.cos(a)},${c + innerR * 0.75 * Math.sin(a)}) rotate(${i * 60 + 30})`,
|
|
6819
6846
|
fill: "url(#kh-oc)",
|
|
6820
6847
|
opacity: "0.1",
|
|
6821
|
-
children: anim && /* @__PURE__ */
|
|
6848
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6822
6849
|
},
|
|
6823
6850
|
`it-${i}`
|
|
6824
6851
|
);
|
|
@@ -6826,7 +6853,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6826
6853
|
Array.from({ length: 12 }, (_, i) => {
|
|
6827
6854
|
const a = Math.PI / 6 * i;
|
|
6828
6855
|
const r = innerR * (i % 2 === 0 ? 0.55 : 0.65);
|
|
6829
|
-
return /* @__PURE__ */
|
|
6856
|
+
return /* @__PURE__ */ jsx73(
|
|
6830
6857
|
"circle",
|
|
6831
6858
|
{
|
|
6832
6859
|
cx: c + r * Math.cos(a),
|
|
@@ -6834,14 +6861,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6834
6861
|
r: i % 2 === 0 ? 2 : 1.5,
|
|
6835
6862
|
fill: "url(#kh-oc)",
|
|
6836
6863
|
opacity: "0.2",
|
|
6837
|
-
children: anim && /* @__PURE__ */
|
|
6864
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
|
|
6838
6865
|
},
|
|
6839
6866
|
`id-${i}`
|
|
6840
6867
|
);
|
|
6841
6868
|
})
|
|
6842
6869
|
] }),
|
|
6843
|
-
/* @__PURE__ */
|
|
6844
|
-
anim && /* @__PURE__ */
|
|
6870
|
+
/* @__PURE__ */ jsxs59("g", { children: [
|
|
6871
|
+
anim && /* @__PURE__ */ jsx73(
|
|
6845
6872
|
"animateTransform",
|
|
6846
6873
|
{
|
|
6847
6874
|
attributeName: "transform",
|
|
@@ -6854,27 +6881,27 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6854
6881
|
),
|
|
6855
6882
|
Array.from({ length: 6 }, (_, i) => {
|
|
6856
6883
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6857
|
-
return /* @__PURE__ */
|
|
6884
|
+
return /* @__PURE__ */ jsx73(
|
|
6858
6885
|
"path",
|
|
6859
6886
|
{
|
|
6860
6887
|
d: hexPath2(6),
|
|
6861
6888
|
transform: `translate(${c + innerR * 0.42 * Math.cos(a)},${c + innerR * 0.42 * Math.sin(a)})`,
|
|
6862
6889
|
fill: "url(#kh-bp)",
|
|
6863
6890
|
opacity: "0.1",
|
|
6864
|
-
children: anim && /* @__PURE__ */
|
|
6891
|
+
children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6865
6892
|
},
|
|
6866
6893
|
`ih-${i}`
|
|
6867
6894
|
);
|
|
6868
6895
|
})
|
|
6869
6896
|
] })
|
|
6870
6897
|
] }),
|
|
6871
|
-
/* @__PURE__ */
|
|
6898
|
+
/* @__PURE__ */ jsx73("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
|
|
6872
6899
|
const a = Math.PI * 2 * i / 16;
|
|
6873
6900
|
const baseR = 60 + i % 4 * 45;
|
|
6874
6901
|
const x = c + baseR * Math.cos(a);
|
|
6875
6902
|
const y = c + baseR * Math.sin(a);
|
|
6876
6903
|
const colors2 = ["#0e9dff", "#8a5cf6", "#22c55e", "#F7931A", "#06b6d4", "#15E99A"];
|
|
6877
|
-
return /* @__PURE__ */
|
|
6904
|
+
return /* @__PURE__ */ jsx73(
|
|
6878
6905
|
"circle",
|
|
6879
6906
|
{
|
|
6880
6907
|
cx: x,
|
|
@@ -6882,26 +6909,26 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6882
6909
|
r: 1 + i % 3 * 0.5,
|
|
6883
6910
|
fill: colors2[i % colors2.length],
|
|
6884
6911
|
opacity: "0",
|
|
6885
|
-
children: anim && /* @__PURE__ */
|
|
6886
|
-
/* @__PURE__ */
|
|
6887
|
-
/* @__PURE__ */
|
|
6888
|
-
/* @__PURE__ */
|
|
6912
|
+
children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
|
|
6913
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
|
|
6914
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "cx", values: `${x};${x + Math.cos(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
|
|
6915
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "cy", values: `${y};${y + Math.sin(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` })
|
|
6889
6916
|
] })
|
|
6890
6917
|
},
|
|
6891
6918
|
`p-${i}`
|
|
6892
6919
|
);
|
|
6893
6920
|
}) }),
|
|
6894
|
-
/* @__PURE__ */
|
|
6895
|
-
/* @__PURE__ */
|
|
6896
|
-
/* @__PURE__ */
|
|
6897
|
-
/* @__PURE__ */
|
|
6898
|
-
/* @__PURE__ */
|
|
6921
|
+
/* @__PURE__ */ jsxs59("g", { children: [
|
|
6922
|
+
/* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ jsx73("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
|
|
6923
|
+
/* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
|
|
6924
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
|
|
6925
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
6899
6926
|
] }) }),
|
|
6900
|
-
/* @__PURE__ */
|
|
6901
|
-
/* @__PURE__ */
|
|
6902
|
-
/* @__PURE__ */
|
|
6927
|
+
/* @__PURE__ */ jsx73("circle", { cx: c, cy: c, r: "48", fill: "none", stroke: "url(#kh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
|
|
6928
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
6929
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
6903
6930
|
] }) }),
|
|
6904
|
-
/* @__PURE__ */
|
|
6931
|
+
/* @__PURE__ */ jsx73(
|
|
6905
6932
|
"path",
|
|
6906
6933
|
{
|
|
6907
6934
|
d: hexPath2(50),
|
|
@@ -6911,13 +6938,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6911
6938
|
strokeWidth: "1.5",
|
|
6912
6939
|
opacity: "0.4",
|
|
6913
6940
|
filter: "url(#kh-glow)",
|
|
6914
|
-
children: anim && /* @__PURE__ */
|
|
6915
|
-
/* @__PURE__ */
|
|
6916
|
-
/* @__PURE__ */
|
|
6941
|
+
children: anim && /* @__PURE__ */ jsxs59(Fragment14, { children: [
|
|
6942
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
6943
|
+
/* @__PURE__ */ jsx73("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
6917
6944
|
] })
|
|
6918
6945
|
}
|
|
6919
6946
|
),
|
|
6920
|
-
/* @__PURE__ */
|
|
6947
|
+
/* @__PURE__ */ jsx73(
|
|
6921
6948
|
"path",
|
|
6922
6949
|
{
|
|
6923
6950
|
d: hexPath2(46),
|
|
@@ -6927,21 +6954,21 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6927
6954
|
strokeWidth: "0.5"
|
|
6928
6955
|
}
|
|
6929
6956
|
),
|
|
6930
|
-
/* @__PURE__ */
|
|
6931
|
-
/* @__PURE__ */
|
|
6932
|
-
/* @__PURE__ */
|
|
6933
|
-
/* @__PURE__ */
|
|
6934
|
-
/* @__PURE__ */
|
|
6935
|
-
/* @__PURE__ */
|
|
6936
|
-
/* @__PURE__ */
|
|
6937
|
-
/* @__PURE__ */
|
|
6938
|
-
/* @__PURE__ */
|
|
6939
|
-
/* @__PURE__ */
|
|
6940
|
-
/* @__PURE__ */
|
|
6941
|
-
/* @__PURE__ */
|
|
6942
|
-
/* @__PURE__ */
|
|
6943
|
-
/* @__PURE__ */
|
|
6944
|
-
/* @__PURE__ */
|
|
6957
|
+
/* @__PURE__ */ jsxs59("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
|
|
6958
|
+
/* @__PURE__ */ jsx73("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
|
|
6959
|
+
/* @__PURE__ */ jsx73("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
|
|
6960
|
+
/* @__PURE__ */ jsx73("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
|
|
6961
|
+
/* @__PURE__ */ jsx73("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
|
|
6962
|
+
/* @__PURE__ */ jsx73("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
|
|
6963
|
+
/* @__PURE__ */ jsx73("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
|
|
6964
|
+
/* @__PURE__ */ jsx73("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
|
|
6965
|
+
/* @__PURE__ */ jsx73("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
|
|
6966
|
+
/* @__PURE__ */ jsx73("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
|
|
6967
|
+
/* @__PURE__ */ jsx73("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
|
|
6968
|
+
/* @__PURE__ */ jsx73("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
|
|
6969
|
+
/* @__PURE__ */ jsx73("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
|
|
6970
|
+
/* @__PURE__ */ jsx73("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
|
|
6971
|
+
/* @__PURE__ */ jsx73("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
|
|
6945
6972
|
] })
|
|
6946
6973
|
] })
|
|
6947
6974
|
]
|
|
@@ -7075,7 +7102,7 @@ var colors = {
|
|
|
7075
7102
|
};
|
|
7076
7103
|
|
|
7077
7104
|
// src/web/components/deposit-ui-shared.tsx
|
|
7078
|
-
import { Fragment as Fragment15, jsx as
|
|
7105
|
+
import { Fragment as Fragment15, jsx as jsx74, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
7079
7106
|
var GLOW_ALPHA = "26";
|
|
7080
7107
|
function qrGlowStyle(hex) {
|
|
7081
7108
|
return { boxShadow: `0 0 30px ${hex}${GLOW_ALPHA}` };
|
|
@@ -7092,7 +7119,7 @@ var NETWORK_CONFIG = {
|
|
|
7092
7119
|
// On-chain uses a chain-link glyph rather than the ₿ coin — the coin reads
|
|
7093
7120
|
// as "the BTC asset", whereas this row is specifically the *on-chain* (L1)
|
|
7094
7121
|
// receive rail alongside Lightning/Spark/Arkade, so a chain mark disambiguates.
|
|
7095
|
-
icon: /* @__PURE__ */
|
|
7122
|
+
icon: /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
|
|
7096
7123
|
},
|
|
7097
7124
|
lightning: {
|
|
7098
7125
|
label: "Lightning",
|
|
@@ -7102,7 +7129,7 @@ var NETWORK_CONFIG = {
|
|
|
7102
7129
|
border: "border-network-lightning/40",
|
|
7103
7130
|
qrBorder: "border-network-lightning/30",
|
|
7104
7131
|
qrGlow: qrGlowStyle(colors.network.lightning),
|
|
7105
|
-
icon: /* @__PURE__ */
|
|
7132
|
+
icon: /* @__PURE__ */ jsx74("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
|
|
7106
7133
|
},
|
|
7107
7134
|
spark: {
|
|
7108
7135
|
label: "Spark",
|
|
@@ -7112,7 +7139,7 @@ var NETWORK_CONFIG = {
|
|
|
7112
7139
|
border: "border-info/40",
|
|
7113
7140
|
qrBorder: "border-info/30",
|
|
7114
7141
|
qrGlow: qrGlowStyle(colors.info),
|
|
7115
|
-
icon: /* @__PURE__ */
|
|
7142
|
+
icon: /* @__PURE__ */ jsx74("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
|
|
7116
7143
|
},
|
|
7117
7144
|
arkade: {
|
|
7118
7145
|
label: "Arkade",
|
|
@@ -7122,7 +7149,7 @@ var NETWORK_CONFIG = {
|
|
|
7122
7149
|
border: "border-network-arkade/40",
|
|
7123
7150
|
qrBorder: "border-network-arkade/30",
|
|
7124
7151
|
qrGlow: qrGlowStyle(colors.network.arkade),
|
|
7125
|
-
icon: /* @__PURE__ */
|
|
7152
|
+
icon: /* @__PURE__ */ jsx74("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
|
|
7126
7153
|
}
|
|
7127
7154
|
};
|
|
7128
7155
|
var ACCOUNT_META = {
|
|
@@ -7131,14 +7158,14 @@ var ACCOUNT_META = {
|
|
|
7131
7158
|
accentBg: "bg-primary/10",
|
|
7132
7159
|
accentText: "text-primary",
|
|
7133
7160
|
accentBorder: "border-primary/30",
|
|
7134
|
-
icon: /* @__PURE__ */
|
|
7161
|
+
icon: /* @__PURE__ */ jsx74("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
|
|
7135
7162
|
},
|
|
7136
7163
|
SPARK: {
|
|
7137
7164
|
shortLabel: "Spark",
|
|
7138
7165
|
accentBg: "bg-info/10",
|
|
7139
7166
|
accentText: "text-info",
|
|
7140
7167
|
accentBorder: "border-info/30",
|
|
7141
|
-
icon: /* @__PURE__ */
|
|
7168
|
+
icon: /* @__PURE__ */ jsx74(
|
|
7142
7169
|
"img",
|
|
7143
7170
|
{
|
|
7144
7171
|
src: "/icons/spark/Asterisk/Spark Asterisk White.svg",
|
|
@@ -7152,7 +7179,7 @@ var ACCOUNT_META = {
|
|
|
7152
7179
|
accentBg: "bg-network-arkade/10",
|
|
7153
7180
|
accentText: "text-network-arkade",
|
|
7154
7181
|
accentBorder: "border-network-arkade/30",
|
|
7155
|
-
icon: /* @__PURE__ */
|
|
7182
|
+
icon: /* @__PURE__ */ jsx74("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
|
|
7156
7183
|
}
|
|
7157
7184
|
};
|
|
7158
7185
|
var METHOD_META = {
|
|
@@ -7169,7 +7196,7 @@ function InvoiceStatusBanner({
|
|
|
7169
7196
|
isInvoiceFailedOrExpired,
|
|
7170
7197
|
invoiceStatus
|
|
7171
7198
|
}) {
|
|
7172
|
-
return /* @__PURE__ */
|
|
7199
|
+
return /* @__PURE__ */ jsxs60(
|
|
7173
7200
|
"div",
|
|
7174
7201
|
{
|
|
7175
7202
|
className: cn(
|
|
@@ -7177,17 +7204,17 @@ function InvoiceStatusBanner({
|
|
|
7177
7204
|
isInvoicePaid ? "border-primary/30 bg-primary/10 text-primary" : isInvoiceFailedOrExpired ? "border-danger/20 bg-danger/10 text-danger" : "border-warning/20 bg-warning/10 text-warning"
|
|
7178
7205
|
),
|
|
7179
7206
|
children: [
|
|
7180
|
-
isInvoicePending && /* @__PURE__ */
|
|
7181
|
-
/* @__PURE__ */
|
|
7182
|
-
/* @__PURE__ */
|
|
7207
|
+
isInvoicePending && /* @__PURE__ */ jsxs60(Fragment15, { children: [
|
|
7208
|
+
/* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
|
|
7209
|
+
/* @__PURE__ */ jsx74("span", { children: "Waiting for payment..." })
|
|
7183
7210
|
] }),
|
|
7184
|
-
isInvoicePaid && /* @__PURE__ */
|
|
7185
|
-
/* @__PURE__ */
|
|
7186
|
-
/* @__PURE__ */
|
|
7211
|
+
isInvoicePaid && /* @__PURE__ */ jsxs60(Fragment15, { children: [
|
|
7212
|
+
/* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
|
|
7213
|
+
/* @__PURE__ */ jsx74("span", { children: "Payment received!" })
|
|
7187
7214
|
] }),
|
|
7188
|
-
isInvoiceFailedOrExpired && /* @__PURE__ */
|
|
7189
|
-
/* @__PURE__ */
|
|
7190
|
-
/* @__PURE__ */
|
|
7215
|
+
isInvoiceFailedOrExpired && /* @__PURE__ */ jsxs60(Fragment15, { children: [
|
|
7216
|
+
/* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
|
|
7217
|
+
/* @__PURE__ */ jsxs60("span", { children: [
|
|
7191
7218
|
"Invoice ",
|
|
7192
7219
|
invoiceStatus?.toLowerCase() === "expired" ? "expired" : "failed"
|
|
7193
7220
|
] })
|
|
@@ -7197,20 +7224,20 @@ function InvoiceStatusBanner({
|
|
|
7197
7224
|
);
|
|
7198
7225
|
}
|
|
7199
7226
|
function PaidOverlay() {
|
|
7200
|
-
return /* @__PURE__ */
|
|
7201
|
-
/* @__PURE__ */
|
|
7202
|
-
/* @__PURE__ */
|
|
7227
|
+
return /* @__PURE__ */ jsx74("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ jsxs60("div", { className: "flex flex-col items-center gap-2", children: [
|
|
7228
|
+
/* @__PURE__ */ jsx74("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ jsx74("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
|
|
7229
|
+
/* @__PURE__ */ jsx74("span", { className: "text-sm font-bold text-primary", children: "Received!" })
|
|
7203
7230
|
] }) });
|
|
7204
7231
|
}
|
|
7205
7232
|
function CopyIcon({ copied }) {
|
|
7206
|
-
return /* @__PURE__ */
|
|
7233
|
+
return /* @__PURE__ */ jsx74(
|
|
7207
7234
|
"div",
|
|
7208
7235
|
{
|
|
7209
7236
|
className: cn(
|
|
7210
7237
|
"flex-shrink-0 rounded-lg p-2 transition-all",
|
|
7211
7238
|
copied ? "bg-primary/15 text-primary" : "bg-white/5 text-white/40 group-hover:bg-primary/10 group-hover:text-primary"
|
|
7212
7239
|
),
|
|
7213
|
-
children: copied ? /* @__PURE__ */
|
|
7240
|
+
children: copied ? /* @__PURE__ */ jsx74(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ jsx74(Icon, { name: "content_copy", size: "sm" })
|
|
7214
7241
|
}
|
|
7215
7242
|
);
|
|
7216
7243
|
}
|
|
@@ -7221,7 +7248,7 @@ function AccountChoiceChip({
|
|
|
7221
7248
|
label
|
|
7222
7249
|
}) {
|
|
7223
7250
|
const meta = ACCOUNT_META[account];
|
|
7224
|
-
return /* @__PURE__ */
|
|
7251
|
+
return /* @__PURE__ */ jsxs60(
|
|
7225
7252
|
"button",
|
|
7226
7253
|
{
|
|
7227
7254
|
type: "button",
|
|
@@ -7233,7 +7260,7 @@ function AccountChoiceChip({
|
|
|
7233
7260
|
),
|
|
7234
7261
|
children: [
|
|
7235
7262
|
meta.icon,
|
|
7236
|
-
/* @__PURE__ */
|
|
7263
|
+
/* @__PURE__ */ jsx74("span", { children: label ?? meta.shortLabel })
|
|
7237
7264
|
]
|
|
7238
7265
|
}
|
|
7239
7266
|
);
|
|
@@ -7282,8 +7309,8 @@ function NetworkInfoDisclosure({
|
|
|
7282
7309
|
}) {
|
|
7283
7310
|
const [open, setOpen] = useState14(false);
|
|
7284
7311
|
if (networks.length === 0) return null;
|
|
7285
|
-
return /* @__PURE__ */
|
|
7286
|
-
/* @__PURE__ */
|
|
7312
|
+
return /* @__PURE__ */ jsxs60("div", { className: cn("overflow-hidden rounded-xl border border-white/8 bg-white/3 transition-all", className), children: [
|
|
7313
|
+
/* @__PURE__ */ jsxs60(
|
|
7287
7314
|
"button",
|
|
7288
7315
|
{
|
|
7289
7316
|
type: "button",
|
|
@@ -7291,24 +7318,24 @@ function NetworkInfoDisclosure({
|
|
|
7291
7318
|
"aria-expanded": open,
|
|
7292
7319
|
className: "flex w-full items-center gap-2 px-2.5 py-1.5 text-left transition-colors hover:bg-white/4",
|
|
7293
7320
|
children: [
|
|
7294
|
-
/* @__PURE__ */
|
|
7295
|
-
/* @__PURE__ */
|
|
7296
|
-
/* @__PURE__ */
|
|
7321
|
+
/* @__PURE__ */ jsx74(Icon, { name: "info", size: "xs", className: "text-white/40" }),
|
|
7322
|
+
/* @__PURE__ */ jsx74("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
|
|
7323
|
+
/* @__PURE__ */ jsx74(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
|
|
7297
7324
|
]
|
|
7298
7325
|
}
|
|
7299
7326
|
),
|
|
7300
|
-
open && /* @__PURE__ */
|
|
7327
|
+
open && /* @__PURE__ */ jsx74("div", { className: "space-y-2 px-2.5 pb-2.5 pt-0.5 animate-in fade-in slide-in-from-top-1 duration-200", children: networks.map((network) => {
|
|
7301
7328
|
const info = NETWORK_INFO[network];
|
|
7302
7329
|
const cfg = NETWORK_CONFIG[network];
|
|
7303
|
-
return /* @__PURE__ */
|
|
7304
|
-
/* @__PURE__ */
|
|
7305
|
-
/* @__PURE__ */
|
|
7306
|
-
/* @__PURE__ */
|
|
7330
|
+
return /* @__PURE__ */ jsxs60("div", { className: "space-y-1", children: [
|
|
7331
|
+
/* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-1.5", children: [
|
|
7332
|
+
/* @__PURE__ */ jsx74("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
|
|
7333
|
+
/* @__PURE__ */ jsx74("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
|
|
7307
7334
|
] }),
|
|
7308
|
-
/* @__PURE__ */
|
|
7309
|
-
/* @__PURE__ */
|
|
7310
|
-
/* @__PURE__ */
|
|
7311
|
-
/* @__PURE__ */
|
|
7335
|
+
/* @__PURE__ */ jsx74("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
|
|
7336
|
+
/* @__PURE__ */ jsx74("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ jsxs60("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
|
|
7337
|
+
/* @__PURE__ */ jsx74("span", { className: "mt-[1px] text-white/30", children: "-" }),
|
|
7338
|
+
/* @__PURE__ */ jsx74("span", { children: bullet })
|
|
7312
7339
|
] }, bullet)) })
|
|
7313
7340
|
] }, network);
|
|
7314
7341
|
}) })
|
|
@@ -7322,7 +7349,7 @@ function MethodChoiceChip({
|
|
|
7322
7349
|
onClick
|
|
7323
7350
|
}) {
|
|
7324
7351
|
const meta = METHOD_META[method];
|
|
7325
|
-
return /* @__PURE__ */
|
|
7352
|
+
return /* @__PURE__ */ jsxs60(
|
|
7326
7353
|
"button",
|
|
7327
7354
|
{
|
|
7328
7355
|
type: "button",
|
|
@@ -7335,14 +7362,14 @@ function MethodChoiceChip({
|
|
|
7335
7362
|
),
|
|
7336
7363
|
children: [
|
|
7337
7364
|
meta.label,
|
|
7338
|
-
!enabled && disabledReason && /* @__PURE__ */
|
|
7365
|
+
!enabled && disabledReason && /* @__PURE__ */ jsx74("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
|
|
7339
7366
|
]
|
|
7340
7367
|
}
|
|
7341
7368
|
);
|
|
7342
7369
|
}
|
|
7343
7370
|
|
|
7344
7371
|
// src/web/components/deposit-success-screen.tsx
|
|
7345
|
-
import { jsx as
|
|
7372
|
+
import { jsx as jsx75, jsxs as jsxs61 } from "react/jsx-runtime";
|
|
7346
7373
|
function DepositSuccessScreen({
|
|
7347
7374
|
handleDone,
|
|
7348
7375
|
displayTicker,
|
|
@@ -7355,20 +7382,20 @@ function DepositSuccessScreen({
|
|
|
7355
7382
|
const isInstant = network === "lightning" || network === "spark";
|
|
7356
7383
|
const title = isInstant ? "Payment Received!" : "Deposit Detected!";
|
|
7357
7384
|
const subtitle = isInstant ? `Your ${displayTicker} has arrived via ${networkLabel}.` : `Incoming deposit detected via ${networkLabel}. Funds will be available after confirmation.`;
|
|
7358
|
-
return /* @__PURE__ */
|
|
7359
|
-
/* @__PURE__ */
|
|
7360
|
-
/* @__PURE__ */
|
|
7361
|
-
/* @__PURE__ */
|
|
7385
|
+
return /* @__PURE__ */ jsx75("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ jsxs61("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
|
|
7386
|
+
/* @__PURE__ */ jsxs61("div", { className: "relative mb-8", children: [
|
|
7387
|
+
/* @__PURE__ */ jsx75("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
|
|
7388
|
+
/* @__PURE__ */ jsx75("div", { className: "relative flex size-20 items-center justify-center rounded-full border-2 border-primary/40 bg-primary/10 shadow-sm", children: /* @__PURE__ */ jsx75("span", { className: "material-symbols-outlined text-5xl text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
|
|
7362
7389
|
] }),
|
|
7363
|
-
/* @__PURE__ */
|
|
7364
|
-
/* @__PURE__ */
|
|
7365
|
-
/* @__PURE__ */
|
|
7366
|
-
/* @__PURE__ */
|
|
7367
|
-
/* @__PURE__ */
|
|
7368
|
-
/* @__PURE__ */
|
|
7369
|
-
/* @__PURE__ */
|
|
7390
|
+
/* @__PURE__ */ jsx75("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
|
|
7391
|
+
/* @__PURE__ */ jsx75("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
|
|
7392
|
+
/* @__PURE__ */ jsxs61("div", { className: "mb-10 flex items-center gap-3 rounded-2xl border bg-white/5 px-4 py-3", children: [
|
|
7393
|
+
/* @__PURE__ */ jsx75(AssetIcon, { ticker: displayTicker, size: 36 }),
|
|
7394
|
+
/* @__PURE__ */ jsxs61("div", { className: "text-left", children: [
|
|
7395
|
+
/* @__PURE__ */ jsx75("p", { className: "text-sm font-bold text-white", children: displayTicker }),
|
|
7396
|
+
/* @__PURE__ */ jsx75("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
|
|
7370
7397
|
] }),
|
|
7371
|
-
/* @__PURE__ */
|
|
7398
|
+
/* @__PURE__ */ jsxs61(
|
|
7372
7399
|
"div",
|
|
7373
7400
|
{
|
|
7374
7401
|
className: cn(
|
|
@@ -7379,27 +7406,27 @@ function DepositSuccessScreen({
|
|
|
7379
7406
|
),
|
|
7380
7407
|
children: [
|
|
7381
7408
|
net.icon,
|
|
7382
|
-
/* @__PURE__ */
|
|
7409
|
+
/* @__PURE__ */ jsx75("span", { children: networkLabel })
|
|
7383
7410
|
]
|
|
7384
7411
|
}
|
|
7385
7412
|
)
|
|
7386
7413
|
] }),
|
|
7387
|
-
/* @__PURE__ */
|
|
7388
|
-
/* @__PURE__ */
|
|
7414
|
+
/* @__PURE__ */ jsxs61(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
|
|
7415
|
+
/* @__PURE__ */ jsx75("span", { className: "material-symbols-outlined text-icon-lg", children: "account_balance_wallet" }),
|
|
7389
7416
|
"Back to Wallet"
|
|
7390
7417
|
] })
|
|
7391
7418
|
] }) });
|
|
7392
7419
|
}
|
|
7393
7420
|
|
|
7394
7421
|
// src/web/components/deposit-network-default-modal.tsx
|
|
7395
|
-
import { jsx as
|
|
7422
|
+
import { jsx as jsx76, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
7396
7423
|
var NETWORK_OPTIONS = {
|
|
7397
7424
|
RGB: {
|
|
7398
7425
|
network: "onchain",
|
|
7399
7426
|
account: "RGB",
|
|
7400
7427
|
label: "On-chain / Lightning",
|
|
7401
7428
|
description: "Classic Bitcoin address or Lightning invoice via the RLN node.",
|
|
7402
|
-
icon: /* @__PURE__ */
|
|
7429
|
+
icon: /* @__PURE__ */ jsx76("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
|
|
7403
7430
|
accentBg: "bg-network-bitcoin/10",
|
|
7404
7431
|
accentBorder: "border-network-bitcoin/30",
|
|
7405
7432
|
accentText: "text-network-bitcoin"
|
|
@@ -7409,7 +7436,7 @@ var NETWORK_OPTIONS = {
|
|
|
7409
7436
|
account: "SPARK",
|
|
7410
7437
|
label: "Spark",
|
|
7411
7438
|
description: "Receive directly into your Spark account. Fast and free.",
|
|
7412
|
-
icon: /* @__PURE__ */
|
|
7439
|
+
icon: /* @__PURE__ */ jsx76("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
|
|
7413
7440
|
accentBg: "bg-info/10",
|
|
7414
7441
|
accentBorder: "border-info/30",
|
|
7415
7442
|
accentText: "text-info"
|
|
@@ -7419,7 +7446,7 @@ var NETWORK_OPTIONS = {
|
|
|
7419
7446
|
account: "ARKADE",
|
|
7420
7447
|
label: "Arkade",
|
|
7421
7448
|
description: "Receive directly into your Arkade account. Low fees, near-instant settlement.",
|
|
7422
|
-
icon: /* @__PURE__ */
|
|
7449
|
+
icon: /* @__PURE__ */ jsx76("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
|
|
7423
7450
|
accentBg: "bg-network-arkade/10",
|
|
7424
7451
|
accentBorder: "border-network-arkade/30",
|
|
7425
7452
|
accentText: "text-network-arkade"
|
|
@@ -7434,20 +7461,20 @@ function DepositNetworkDefaultModal({
|
|
|
7434
7461
|
}) {
|
|
7435
7462
|
if (!open) return null;
|
|
7436
7463
|
const options = availableAccounts.map((id) => NETWORK_OPTIONS[id]).filter(Boolean);
|
|
7437
|
-
return /* @__PURE__ */
|
|
7438
|
-
/* @__PURE__ */
|
|
7439
|
-
/* @__PURE__ */
|
|
7440
|
-
/* @__PURE__ */
|
|
7441
|
-
/* @__PURE__ */
|
|
7464
|
+
return /* @__PURE__ */ jsx76("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-black/60 backdrop-blur-sm", children: /* @__PURE__ */ jsxs62("div", { className: "w-full space-y-4 rounded-t-2xl border-t border-border bg-background px-4 pb-7 pt-5 animate-in slide-in-from-bottom-4 duration-200", children: [
|
|
7465
|
+
/* @__PURE__ */ jsx76("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ jsx76("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
|
|
7466
|
+
/* @__PURE__ */ jsxs62("div", { children: [
|
|
7467
|
+
/* @__PURE__ */ jsx76("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
|
|
7468
|
+
/* @__PURE__ */ jsxs62("p", { className: "mt-0.5 text-tiny text-white/45", children: [
|
|
7442
7469
|
"Pick how you would like to receive",
|
|
7443
7470
|
" ",
|
|
7444
|
-
/* @__PURE__ */
|
|
7471
|
+
/* @__PURE__ */ jsx76("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
|
|
7445
7472
|
" by default. You can always switch in the deposit screen."
|
|
7446
7473
|
] })
|
|
7447
7474
|
] }),
|
|
7448
|
-
/* @__PURE__ */
|
|
7475
|
+
/* @__PURE__ */ jsx76("div", { className: "space-y-2", children: options.map((option) => {
|
|
7449
7476
|
const isSuggested = option.account === suggestedAccount;
|
|
7450
|
-
return /* @__PURE__ */
|
|
7477
|
+
return /* @__PURE__ */ jsxs62(
|
|
7451
7478
|
"button",
|
|
7452
7479
|
{
|
|
7453
7480
|
type: "button",
|
|
@@ -7457,7 +7484,7 @@ function DepositNetworkDefaultModal({
|
|
|
7457
7484
|
isSuggested ? cn("border-2", option.accentBorder, option.accentBg) : "border border-white/8 bg-white/4 hover:bg-white/8"
|
|
7458
7485
|
),
|
|
7459
7486
|
children: [
|
|
7460
|
-
/* @__PURE__ */
|
|
7487
|
+
/* @__PURE__ */ jsx76(
|
|
7461
7488
|
"div",
|
|
7462
7489
|
{
|
|
7463
7490
|
className: cn(
|
|
@@ -7468,10 +7495,10 @@ function DepositNetworkDefaultModal({
|
|
|
7468
7495
|
children: option.icon
|
|
7469
7496
|
}
|
|
7470
7497
|
),
|
|
7471
|
-
/* @__PURE__ */
|
|
7472
|
-
/* @__PURE__ */
|
|
7473
|
-
/* @__PURE__ */
|
|
7474
|
-
isSuggested && /* @__PURE__ */
|
|
7498
|
+
/* @__PURE__ */ jsxs62("div", { className: "min-w-0 flex-1", children: [
|
|
7499
|
+
/* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-2", children: [
|
|
7500
|
+
/* @__PURE__ */ jsx76("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
|
|
7501
|
+
isSuggested && /* @__PURE__ */ jsx76(
|
|
7475
7502
|
"span",
|
|
7476
7503
|
{
|
|
7477
7504
|
className: cn(
|
|
@@ -7483,9 +7510,9 @@ function DepositNetworkDefaultModal({
|
|
|
7483
7510
|
}
|
|
7484
7511
|
)
|
|
7485
7512
|
] }),
|
|
7486
|
-
/* @__PURE__ */
|
|
7513
|
+
/* @__PURE__ */ jsx76("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
|
|
7487
7514
|
] }),
|
|
7488
|
-
/* @__PURE__ */
|
|
7515
|
+
/* @__PURE__ */ jsx76(
|
|
7489
7516
|
"span",
|
|
7490
7517
|
{
|
|
7491
7518
|
className: cn(
|
|
@@ -7505,7 +7532,7 @@ function DepositNetworkDefaultModal({
|
|
|
7505
7532
|
|
|
7506
7533
|
// src/web/components/btc-unified-receive.tsx
|
|
7507
7534
|
import { useState as useState15 } from "react";
|
|
7508
|
-
import { jsx as
|
|
7535
|
+
import { jsx as jsx77, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
7509
7536
|
function formatSatsForRow(value) {
|
|
7510
7537
|
if (!value || value <= 0 || !Number.isFinite(value)) return null;
|
|
7511
7538
|
return `${value.toLocaleString("en-US")} sats`;
|
|
@@ -7537,46 +7564,46 @@ function BtcUnifiedReceive({
|
|
|
7537
7564
|
setInvoiceStatus(null);
|
|
7538
7565
|
setAccountReceiveResult(null);
|
|
7539
7566
|
};
|
|
7540
|
-
return /* @__PURE__ */
|
|
7541
|
-
/* @__PURE__ */
|
|
7542
|
-
/* @__PURE__ */
|
|
7543
|
-
/* @__PURE__ */
|
|
7544
|
-
isInvoicePaid && /* @__PURE__ */
|
|
7567
|
+
return /* @__PURE__ */ jsxs63("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
7568
|
+
/* @__PURE__ */ jsxs63("div", { className: "flex flex-col items-center gap-3", children: [
|
|
7569
|
+
/* @__PURE__ */ jsxs63("div", { className: "relative flex flex-col items-center p-2", children: [
|
|
7570
|
+
/* @__PURE__ */ jsx77(QrCode, { value: accountReceiveResult.qrValue, size: 200, tone: "onDark" }),
|
|
7571
|
+
isInvoicePaid && /* @__PURE__ */ jsx77(PaidOverlay, {})
|
|
7545
7572
|
] }),
|
|
7546
|
-
/* @__PURE__ */
|
|
7547
|
-
/* @__PURE__ */
|
|
7573
|
+
/* @__PURE__ */ jsxs63("div", { className: "flex items-center justify-center gap-2.5", children: [
|
|
7574
|
+
/* @__PURE__ */ jsx77(
|
|
7548
7575
|
Button,
|
|
7549
7576
|
{
|
|
7550
7577
|
variant: "surface",
|
|
7551
7578
|
size: "icon-xl",
|
|
7552
7579
|
"aria-label": `Copy ${accountReceiveResult.qrLabel}`,
|
|
7553
7580
|
onClick: () => void copyToClipboard(accountReceiveResult.qrValue),
|
|
7554
|
-
children: /* @__PURE__ */
|
|
7581
|
+
children: /* @__PURE__ */ jsx77(Icon, { name: isQrCopied ? "check" : "content_copy", size: "lg" })
|
|
7555
7582
|
}
|
|
7556
7583
|
),
|
|
7557
|
-
showRegenerate && /* @__PURE__ */
|
|
7584
|
+
showRegenerate && /* @__PURE__ */ jsx77(
|
|
7558
7585
|
Button,
|
|
7559
7586
|
{
|
|
7560
7587
|
variant: "surface",
|
|
7561
7588
|
size: "icon-xl",
|
|
7562
7589
|
"aria-label": "New address",
|
|
7563
7590
|
onClick: handleNewAddress,
|
|
7564
|
-
children: /* @__PURE__ */
|
|
7591
|
+
children: /* @__PURE__ */ jsx77(Icon, { name: "refresh", size: "lg" })
|
|
7565
7592
|
}
|
|
7566
7593
|
),
|
|
7567
|
-
/* @__PURE__ */
|
|
7594
|
+
/* @__PURE__ */ jsx77(
|
|
7568
7595
|
Button,
|
|
7569
7596
|
{
|
|
7570
7597
|
variant: "surface",
|
|
7571
7598
|
size: "icon-xl",
|
|
7572
7599
|
"aria-label": "Edit amount and description",
|
|
7573
7600
|
onClick: () => setShowEdit(true),
|
|
7574
|
-
children: /* @__PURE__ */
|
|
7601
|
+
children: /* @__PURE__ */ jsx77(Icon, { name: "edit", size: "lg" })
|
|
7575
7602
|
}
|
|
7576
7603
|
)
|
|
7577
7604
|
] })
|
|
7578
7605
|
] }),
|
|
7579
|
-
invoiceStatus && /* @__PURE__ */
|
|
7606
|
+
invoiceStatus && /* @__PURE__ */ jsx77(
|
|
7580
7607
|
InvoiceStatusBanner,
|
|
7581
7608
|
{
|
|
7582
7609
|
isInvoicePending,
|
|
@@ -7585,11 +7612,11 @@ function BtcUnifiedReceive({
|
|
|
7585
7612
|
invoiceStatus
|
|
7586
7613
|
}
|
|
7587
7614
|
),
|
|
7588
|
-
/* @__PURE__ */
|
|
7589
|
-
/* @__PURE__ */
|
|
7615
|
+
/* @__PURE__ */ jsxs63("div", { className: "space-y-1.5", children: [
|
|
7616
|
+
/* @__PURE__ */ jsx77("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
|
|
7590
7617
|
accountReceiveResult.addresses.map((address) => {
|
|
7591
7618
|
const network = NETWORK_CONFIG[address.network];
|
|
7592
|
-
return /* @__PURE__ */
|
|
7619
|
+
return /* @__PURE__ */ jsxs63(
|
|
7593
7620
|
"div",
|
|
7594
7621
|
{
|
|
7595
7622
|
className: cn(
|
|
@@ -7599,35 +7626,35 @@ function BtcUnifiedReceive({
|
|
|
7599
7626
|
style: { borderLeftWidth: 3, borderLeftColor: network.color },
|
|
7600
7627
|
onClick: () => void copyToClipboard(address.value),
|
|
7601
7628
|
children: [
|
|
7602
|
-
/* @__PURE__ */
|
|
7603
|
-
/* @__PURE__ */
|
|
7604
|
-
/* @__PURE__ */
|
|
7605
|
-
/* @__PURE__ */
|
|
7629
|
+
/* @__PURE__ */ jsx77("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
|
|
7630
|
+
/* @__PURE__ */ jsxs63("div", { className: "min-w-0 flex-1", children: [
|
|
7631
|
+
/* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-1.5", children: [
|
|
7632
|
+
/* @__PURE__ */ jsx77("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
|
|
7606
7633
|
(() => {
|
|
7607
7634
|
const amountLabel = formatSatsForRow(address.amountSats);
|
|
7608
|
-
return amountLabel ? /* @__PURE__ */
|
|
7635
|
+
return amountLabel ? /* @__PURE__ */ jsx77("span", { className: "rounded-full bg-white/10 px-1.5 py-0.5 text-tiny font-bold tabular-nums text-white/70", children: amountLabel }) : null;
|
|
7609
7636
|
})()
|
|
7610
7637
|
] }),
|
|
7611
|
-
/* @__PURE__ */
|
|
7638
|
+
/* @__PURE__ */ jsx77("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.value.length > 50 ? `${address.value.slice(0, 18)}...${address.value.slice(-14)}` : address.value })
|
|
7612
7639
|
] }),
|
|
7613
|
-
/* @__PURE__ */
|
|
7640
|
+
/* @__PURE__ */ jsx77(CopyIcon, { copied: copied === address.value })
|
|
7614
7641
|
]
|
|
7615
7642
|
},
|
|
7616
7643
|
address.network
|
|
7617
7644
|
);
|
|
7618
7645
|
})
|
|
7619
7646
|
] }),
|
|
7620
|
-
/* @__PURE__ */
|
|
7647
|
+
/* @__PURE__ */ jsx77(
|
|
7621
7648
|
BottomSheet,
|
|
7622
7649
|
{
|
|
7623
7650
|
open: showEdit,
|
|
7624
7651
|
title: "Edit request",
|
|
7625
|
-
icon: /* @__PURE__ */
|
|
7652
|
+
icon: /* @__PURE__ */ jsx77(Icon, { name: "edit", size: "md" }),
|
|
7626
7653
|
onClose: () => setShowEdit(false),
|
|
7627
|
-
children: /* @__PURE__ */
|
|
7628
|
-
/* @__PURE__ */
|
|
7629
|
-
/* @__PURE__ */
|
|
7630
|
-
/* @__PURE__ */
|
|
7654
|
+
children: /* @__PURE__ */ jsxs63("div", { className: "space-y-4", children: [
|
|
7655
|
+
/* @__PURE__ */ jsxs63("div", { className: "space-y-1.5", children: [
|
|
7656
|
+
/* @__PURE__ */ jsx77("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }),
|
|
7657
|
+
/* @__PURE__ */ jsx77(
|
|
7631
7658
|
"input",
|
|
7632
7659
|
{
|
|
7633
7660
|
type: "text",
|
|
@@ -7638,14 +7665,14 @@ function BtcUnifiedReceive({
|
|
|
7638
7665
|
inputMode: "decimal"
|
|
7639
7666
|
}
|
|
7640
7667
|
),
|
|
7641
|
-
amount && loading && /* @__PURE__ */
|
|
7642
|
-
/* @__PURE__ */
|
|
7668
|
+
amount && loading && /* @__PURE__ */ jsxs63("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
|
|
7669
|
+
/* @__PURE__ */ jsx77("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7643
7670
|
"Updating invoice..."
|
|
7644
7671
|
] })
|
|
7645
7672
|
] }),
|
|
7646
|
-
onDescriptionChange && /* @__PURE__ */
|
|
7647
|
-
/* @__PURE__ */
|
|
7648
|
-
/* @__PURE__ */
|
|
7673
|
+
onDescriptionChange && /* @__PURE__ */ jsxs63("div", { className: "space-y-1.5", children: [
|
|
7674
|
+
/* @__PURE__ */ jsx77("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Description (optional)" }),
|
|
7675
|
+
/* @__PURE__ */ jsx77(
|
|
7649
7676
|
"input",
|
|
7650
7677
|
{
|
|
7651
7678
|
type: "text",
|
|
@@ -7656,7 +7683,7 @@ function BtcUnifiedReceive({
|
|
|
7656
7683
|
}
|
|
7657
7684
|
)
|
|
7658
7685
|
] }),
|
|
7659
|
-
/* @__PURE__ */
|
|
7686
|
+
/* @__PURE__ */ jsx77(Button, { variant: "cta", className: "w-full", onClick: () => setShowEdit(false), children: "Done" })
|
|
7660
7687
|
] })
|
|
7661
7688
|
}
|
|
7662
7689
|
)
|
|
@@ -7664,7 +7691,7 @@ function BtcUnifiedReceive({
|
|
|
7664
7691
|
}
|
|
7665
7692
|
|
|
7666
7693
|
// src/web/components/deposit-generated-view.tsx
|
|
7667
|
-
import { jsx as
|
|
7694
|
+
import { jsx as jsx78, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
7668
7695
|
function parseAssetAmount(amountString, asset) {
|
|
7669
7696
|
const value = Number(amountString);
|
|
7670
7697
|
if (!Number.isFinite(value)) return 0;
|
|
@@ -7705,10 +7732,10 @@ function DepositGeneratedView({
|
|
|
7705
7732
|
showRegenerate = true,
|
|
7706
7733
|
onRegenerate
|
|
7707
7734
|
}) {
|
|
7708
|
-
return /* @__PURE__ */
|
|
7709
|
-
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */
|
|
7710
|
-
/* @__PURE__ */
|
|
7711
|
-
/* @__PURE__ */
|
|
7735
|
+
return /* @__PURE__ */ jsxs64("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
7736
|
+
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ jsxs64("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
|
|
7737
|
+
/* @__PURE__ */ jsx78("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ jsx78("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
|
|
7738
|
+
/* @__PURE__ */ jsx78(
|
|
7712
7739
|
"input",
|
|
7713
7740
|
{
|
|
7714
7741
|
type: "text",
|
|
@@ -7719,16 +7746,16 @@ function DepositGeneratedView({
|
|
|
7719
7746
|
inputMode: "decimal"
|
|
7720
7747
|
}
|
|
7721
7748
|
),
|
|
7722
|
-
amount && /* @__PURE__ */
|
|
7723
|
-
/* @__PURE__ */
|
|
7749
|
+
amount && /* @__PURE__ */ jsx78("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ jsxs64("span", { className: "flex items-center gap-1", children: [
|
|
7750
|
+
/* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7724
7751
|
"Updating ",
|
|
7725
7752
|
network === "arkade" ? "URI" : "invoice",
|
|
7726
7753
|
"..."
|
|
7727
7754
|
] }) : network === "arkade" ? `Unified URI for ${amount} ${getUnitLabel()}` : `Invoice for ${amount} ${getUnitLabel()}` })
|
|
7728
7755
|
] }),
|
|
7729
|
-
network === "lightning" && !isBtc && /* @__PURE__ */
|
|
7730
|
-
/* @__PURE__ */
|
|
7731
|
-
/* @__PURE__ */
|
|
7756
|
+
network === "lightning" && !isBtc && /* @__PURE__ */ jsxs64("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
|
|
7757
|
+
/* @__PURE__ */ jsx78("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ jsx78("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
|
|
7758
|
+
/* @__PURE__ */ jsx78(
|
|
7732
7759
|
"input",
|
|
7733
7760
|
{
|
|
7734
7761
|
type: "text",
|
|
@@ -7739,19 +7766,19 @@ function DepositGeneratedView({
|
|
|
7739
7766
|
inputMode: "decimal"
|
|
7740
7767
|
}
|
|
7741
7768
|
),
|
|
7742
|
-
amount && /* @__PURE__ */
|
|
7743
|
-
/* @__PURE__ */
|
|
7769
|
+
amount && /* @__PURE__ */ jsx78("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ jsxs64("span", { className: "flex items-center gap-1", children: [
|
|
7770
|
+
/* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7744
7771
|
"Updating invoice..."
|
|
7745
7772
|
] }) : `Invoice for ${amount} ${getUnitLabel()}` }),
|
|
7746
|
-
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */
|
|
7773
|
+
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ jsxs64("p", { className: "rounded-lg border border-danger/20 bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
|
|
7747
7774
|
"Exceeds max: ",
|
|
7748
7775
|
formatAssetAmount(maxDepositAmount, selectedAsset),
|
|
7749
7776
|
" ",
|
|
7750
7777
|
getUnitLabel()
|
|
7751
7778
|
] })
|
|
7752
7779
|
] }),
|
|
7753
|
-
/* @__PURE__ */
|
|
7754
|
-
/* @__PURE__ */
|
|
7780
|
+
/* @__PURE__ */ jsxs64("div", { className: "flex flex-col items-center gap-3", children: [
|
|
7781
|
+
/* @__PURE__ */ jsxs64(
|
|
7755
7782
|
"div",
|
|
7756
7783
|
{
|
|
7757
7784
|
className: cn(
|
|
@@ -7760,7 +7787,7 @@ function DepositGeneratedView({
|
|
|
7760
7787
|
),
|
|
7761
7788
|
style: net.qrGlow,
|
|
7762
7789
|
children: [
|
|
7763
|
-
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */
|
|
7790
|
+
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ jsxs64(
|
|
7764
7791
|
"div",
|
|
7765
7792
|
{
|
|
7766
7793
|
className: cn(
|
|
@@ -7770,21 +7797,21 @@ function DepositGeneratedView({
|
|
|
7770
7797
|
),
|
|
7771
7798
|
children: [
|
|
7772
7799
|
net.icon,
|
|
7773
|
-
/* @__PURE__ */
|
|
7800
|
+
/* @__PURE__ */ jsx78("span", { children: net.label })
|
|
7774
7801
|
]
|
|
7775
7802
|
}
|
|
7776
7803
|
),
|
|
7777
|
-
/* @__PURE__ */
|
|
7778
|
-
isInvoicePaid && /* @__PURE__ */
|
|
7804
|
+
/* @__PURE__ */ jsx78(QrCode, { value: address, size: 188 }),
|
|
7805
|
+
isInvoicePaid && /* @__PURE__ */ jsx78(PaidOverlay, {}),
|
|
7779
7806
|
loading && !isInvoicePaid && // Loading scrim — sits over the QR while a fresh address/invoice
|
|
7780
7807
|
// is being fetched (e.g. after the New Address button).
|
|
7781
|
-
/* @__PURE__ */
|
|
7808
|
+
/* @__PURE__ */ jsx78("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ jsx78("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
|
|
7782
7809
|
]
|
|
7783
7810
|
}
|
|
7784
7811
|
),
|
|
7785
7812
|
(() => {
|
|
7786
7813
|
const isAddressCopied = copied === address;
|
|
7787
|
-
return /* @__PURE__ */
|
|
7814
|
+
return /* @__PURE__ */ jsxs64(
|
|
7788
7815
|
"button",
|
|
7789
7816
|
{
|
|
7790
7817
|
type: "button",
|
|
@@ -7797,14 +7824,14 @@ function DepositGeneratedView({
|
|
|
7797
7824
|
void copyToClipboard(address);
|
|
7798
7825
|
},
|
|
7799
7826
|
children: [
|
|
7800
|
-
/* @__PURE__ */
|
|
7827
|
+
/* @__PURE__ */ jsx78(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
|
|
7801
7828
|
isAddressCopied ? "Copied" : network === "lightning" ? "Copy Invoice" : "Copy Address"
|
|
7802
7829
|
]
|
|
7803
7830
|
}
|
|
7804
7831
|
);
|
|
7805
7832
|
})()
|
|
7806
7833
|
] }),
|
|
7807
|
-
network === "lightning" && invoiceStatus && /* @__PURE__ */
|
|
7834
|
+
network === "lightning" && invoiceStatus && /* @__PURE__ */ jsx78(
|
|
7808
7835
|
InvoiceStatusBanner,
|
|
7809
7836
|
{
|
|
7810
7837
|
isInvoicePending,
|
|
@@ -7813,7 +7840,7 @@ function DepositGeneratedView({
|
|
|
7813
7840
|
invoiceStatus
|
|
7814
7841
|
}
|
|
7815
7842
|
),
|
|
7816
|
-
/* @__PURE__ */
|
|
7843
|
+
/* @__PURE__ */ jsxs64(
|
|
7817
7844
|
"div",
|
|
7818
7845
|
{
|
|
7819
7846
|
"data-testid": "deposit-generated-address",
|
|
@@ -7826,16 +7853,16 @@ function DepositGeneratedView({
|
|
|
7826
7853
|
style: { borderLeftWidth: 3, borderLeftColor: net.color },
|
|
7827
7854
|
onClick: () => void copyToClipboard(address),
|
|
7828
7855
|
children: [
|
|
7829
|
-
/* @__PURE__ */
|
|
7830
|
-
/* @__PURE__ */
|
|
7831
|
-
/* @__PURE__ */
|
|
7832
|
-
/* @__PURE__ */
|
|
7856
|
+
/* @__PURE__ */ jsx78("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
|
|
7857
|
+
/* @__PURE__ */ jsxs64("div", { className: "min-w-0 flex-1", children: [
|
|
7858
|
+
/* @__PURE__ */ jsx78("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ jsx78("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
|
|
7859
|
+
/* @__PURE__ */ jsx78("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.length > 50 ? `${address.slice(0, 18)}...${address.slice(-14)}` : address })
|
|
7833
7860
|
] }),
|
|
7834
|
-
/* @__PURE__ */
|
|
7861
|
+
/* @__PURE__ */ jsx78(CopyIcon, { copied: copied === address })
|
|
7835
7862
|
]
|
|
7836
7863
|
}
|
|
7837
7864
|
),
|
|
7838
|
-
recipientId && /* @__PURE__ */
|
|
7865
|
+
recipientId && /* @__PURE__ */ jsxs64(
|
|
7839
7866
|
"div",
|
|
7840
7867
|
{
|
|
7841
7868
|
className: cn(
|
|
@@ -7845,16 +7872,16 @@ function DepositGeneratedView({
|
|
|
7845
7872
|
style: { borderLeftWidth: 3, borderLeftColor: "var(--primary)" },
|
|
7846
7873
|
onClick: () => void copyToClipboard(recipientId),
|
|
7847
7874
|
children: [
|
|
7848
|
-
/* @__PURE__ */
|
|
7849
|
-
/* @__PURE__ */
|
|
7850
|
-
/* @__PURE__ */
|
|
7851
|
-
/* @__PURE__ */
|
|
7875
|
+
/* @__PURE__ */ jsx78("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ jsx78(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
|
|
7876
|
+
/* @__PURE__ */ jsxs64("div", { className: "min-w-0 flex-1", children: [
|
|
7877
|
+
/* @__PURE__ */ jsx78("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
|
|
7878
|
+
/* @__PURE__ */ jsx78("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: recipientId.length > 50 ? `${recipientId.slice(0, 18)}...${recipientId.slice(-14)}` : recipientId })
|
|
7852
7879
|
] }),
|
|
7853
|
-
/* @__PURE__ */
|
|
7880
|
+
/* @__PURE__ */ jsx78(CopyIcon, { copied: copied === recipientId })
|
|
7854
7881
|
]
|
|
7855
7882
|
}
|
|
7856
7883
|
),
|
|
7857
|
-
showRegenerate && /* @__PURE__ */
|
|
7884
|
+
showRegenerate && /* @__PURE__ */ jsx78("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ jsx78(
|
|
7858
7885
|
"button",
|
|
7859
7886
|
{
|
|
7860
7887
|
type: "button",
|
|
@@ -7872,7 +7899,7 @@ function DepositGeneratedView({
|
|
|
7872
7899
|
setInvoiceStatus(null);
|
|
7873
7900
|
},
|
|
7874
7901
|
className: "flex size-10 items-center justify-center rounded-full bg-primary/15 text-primary transition-all hover:bg-primary/25 active:scale-[0.98] disabled:opacity-50",
|
|
7875
|
-
children: /* @__PURE__ */
|
|
7902
|
+
children: /* @__PURE__ */ jsx78(
|
|
7876
7903
|
"span",
|
|
7877
7904
|
{
|
|
7878
7905
|
className: cn("material-symbols-outlined text-icon-md", loading && "animate-spin"),
|
|
@@ -7885,7 +7912,7 @@ function DepositGeneratedView({
|
|
|
7885
7912
|
}
|
|
7886
7913
|
|
|
7887
7914
|
// src/web/components/deposit-pre-generation.tsx
|
|
7888
|
-
import { jsx as
|
|
7915
|
+
import { jsx as jsx79, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
7889
7916
|
var ACCOUNT_TITLES = {
|
|
7890
7917
|
RGB: "RGB & Lightning",
|
|
7891
7918
|
SPARK: "Spark",
|
|
@@ -7930,58 +7957,58 @@ function DepositPreGeneration({
|
|
|
7930
7957
|
}) {
|
|
7931
7958
|
const method = METHOD_META2[currentMethod];
|
|
7932
7959
|
const isRgbOnchain = network === "onchain" && !isBtc;
|
|
7933
|
-
return /* @__PURE__ */
|
|
7934
|
-
showReceiveSummary && /* @__PURE__ */
|
|
7935
|
-
/* @__PURE__ */
|
|
7936
|
-
/* @__PURE__ */
|
|
7937
|
-
/* @__PURE__ */
|
|
7938
|
-
/* @__PURE__ */
|
|
7939
|
-
/* @__PURE__ */
|
|
7960
|
+
return /* @__PURE__ */ jsxs65("div", { className: "space-y-3", children: [
|
|
7961
|
+
showReceiveSummary && /* @__PURE__ */ jsxs65("div", { className: "rounded-2xl border border-white/8 bg-white/4 p-3", children: [
|
|
7962
|
+
/* @__PURE__ */ jsx79("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
|
|
7963
|
+
/* @__PURE__ */ jsxs65("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
|
|
7964
|
+
/* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-3", children: [
|
|
7965
|
+
/* @__PURE__ */ jsx79("span", { className: "text-white/45", children: "Asset" }),
|
|
7966
|
+
/* @__PURE__ */ jsx79("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
|
|
7940
7967
|
] }),
|
|
7941
|
-
/* @__PURE__ */
|
|
7942
|
-
/* @__PURE__ */
|
|
7943
|
-
/* @__PURE__ */
|
|
7968
|
+
/* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-3", children: [
|
|
7969
|
+
/* @__PURE__ */ jsx79("span", { className: "text-white/45", children: "Destination account" }),
|
|
7970
|
+
/* @__PURE__ */ jsx79("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
|
|
7944
7971
|
] }),
|
|
7945
|
-
/* @__PURE__ */
|
|
7946
|
-
/* @__PURE__ */
|
|
7947
|
-
/* @__PURE__ */
|
|
7972
|
+
/* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-3", children: [
|
|
7973
|
+
/* @__PURE__ */ jsx79("span", { className: "text-white/45", children: "Transfer method" }),
|
|
7974
|
+
/* @__PURE__ */ jsx79("span", { className: "font-bold text-white", children: method.label })
|
|
7948
7975
|
] }),
|
|
7949
|
-
/* @__PURE__ */
|
|
7976
|
+
/* @__PURE__ */ jsx79("p", { className: "text-tiny text-white/35", children: method.summary })
|
|
7950
7977
|
] })
|
|
7951
7978
|
] }),
|
|
7952
|
-
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */
|
|
7953
|
-
/* @__PURE__ */
|
|
7954
|
-
/* @__PURE__ */
|
|
7979
|
+
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-2.5 rounded-xl border bg-card p-3", children: [
|
|
7980
|
+
/* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
|
|
7981
|
+
/* @__PURE__ */ jsx79("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
|
|
7955
7982
|
] }),
|
|
7956
|
-
showChannelWarning && /* @__PURE__ */
|
|
7957
|
-
/* @__PURE__ */
|
|
7958
|
-
/* @__PURE__ */
|
|
7983
|
+
showChannelWarning && /* @__PURE__ */ jsxs65(AlertBanner, { variant: "warning", children: [
|
|
7984
|
+
/* @__PURE__ */ jsx79("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
|
|
7985
|
+
/* @__PURE__ */ jsx79("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
|
|
7959
7986
|
] }),
|
|
7960
|
-
showLiquidityWarning && /* @__PURE__ */
|
|
7961
|
-
/* @__PURE__ */
|
|
7962
|
-
/* @__PURE__ */
|
|
7987
|
+
showLiquidityWarning && /* @__PURE__ */ jsxs65(AlertBanner, { variant: "warning", children: [
|
|
7988
|
+
/* @__PURE__ */ jsx79("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
|
|
7989
|
+
/* @__PURE__ */ jsxs65("p", { className: "text-tiny text-warning/70", children: [
|
|
7963
7990
|
"No channels with inbound capacity for ",
|
|
7964
7991
|
selectedAsset?.ticker ?? "this asset",
|
|
7965
7992
|
"."
|
|
7966
7993
|
] })
|
|
7967
7994
|
] }),
|
|
7968
|
-
isAutoGenerate && loading && /* @__PURE__ */
|
|
7969
|
-
/* @__PURE__ */
|
|
7970
|
-
/* @__PURE__ */
|
|
7971
|
-
/* @__PURE__ */
|
|
7995
|
+
isAutoGenerate && loading && /* @__PURE__ */ jsxs65("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
7996
|
+
/* @__PURE__ */ jsx79("div", { className: cn("flex size-16 items-center justify-center rounded-2xl border", net.bg, net.border), children: /* @__PURE__ */ jsx79("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
|
|
7997
|
+
/* @__PURE__ */ jsxs65("div", { className: "space-y-1 text-center", children: [
|
|
7998
|
+
/* @__PURE__ */ jsxs65("p", { className: "text-sm font-bold text-muted-foreground", children: [
|
|
7972
7999
|
"Generating ",
|
|
7973
8000
|
network === "lightning" ? "invoice" : "address",
|
|
7974
8001
|
"..."
|
|
7975
8002
|
] }),
|
|
7976
|
-
/* @__PURE__ */
|
|
8003
|
+
/* @__PURE__ */ jsxs65("p", { className: "text-xs text-white/30", children: [
|
|
7977
8004
|
net.label,
|
|
7978
8005
|
" network"
|
|
7979
8006
|
] })
|
|
7980
8007
|
] })
|
|
7981
8008
|
] }),
|
|
7982
|
-
isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */
|
|
7983
|
-
/* @__PURE__ */
|
|
7984
|
-
/* @__PURE__ */
|
|
8009
|
+
isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ jsxs65("div", { className: "space-y-1.5", children: [
|
|
8010
|
+
/* @__PURE__ */ jsx79("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "RGB Asset ID - Optional" }),
|
|
8011
|
+
/* @__PURE__ */ jsx79(
|
|
7985
8012
|
"input",
|
|
7986
8013
|
{
|
|
7987
8014
|
type: "text",
|
|
@@ -7993,15 +8020,15 @@ function DepositPreGeneration({
|
|
|
7993
8020
|
className: "w-full rounded-xl border bg-white/5 px-3 py-2.5 font-mono text-sm text-white transition-all placeholder:text-white/20 focus:border-primary/50 focus:outline-none"
|
|
7994
8021
|
}
|
|
7995
8022
|
),
|
|
7996
|
-
/* @__PURE__ */
|
|
8023
|
+
/* @__PURE__ */ jsx79("p", { className: "text-xxs text-white/35", children: "Enter a specific asset ID to receive it, or leave empty to accept any RGB asset to this invoice." })
|
|
7997
8024
|
] }),
|
|
7998
|
-
isRgbOnchain && /* @__PURE__ */
|
|
7999
|
-
/* @__PURE__ */
|
|
8000
|
-
/* @__PURE__ */
|
|
8001
|
-
/* @__PURE__ */
|
|
8002
|
-
/* @__PURE__ */
|
|
8025
|
+
isRgbOnchain && /* @__PURE__ */ jsxs65("div", { className: "space-y-2.5 rounded-xl border bg-card p-3", children: [
|
|
8026
|
+
/* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8027
|
+
/* @__PURE__ */ jsxs65("div", { className: "min-w-0 flex-1", children: [
|
|
8028
|
+
/* @__PURE__ */ jsx79("h4", { className: "text-xs font-bold text-white", children: usePrivacy ? "Blinded receive" : "Witness receive" }),
|
|
8029
|
+
/* @__PURE__ */ jsx79("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Private - recommended" : "Simpler - less private" })
|
|
8003
8030
|
] }),
|
|
8004
|
-
/* @__PURE__ */
|
|
8031
|
+
/* @__PURE__ */ jsx79(
|
|
8005
8032
|
"button",
|
|
8006
8033
|
{
|
|
8007
8034
|
type: "button",
|
|
@@ -8011,7 +8038,7 @@ function DepositPreGeneration({
|
|
|
8011
8038
|
usePrivacy ? "bg-primary" : "bg-white/10"
|
|
8012
8039
|
),
|
|
8013
8040
|
onClick: () => setUsePrivacy(!usePrivacy),
|
|
8014
|
-
children: /* @__PURE__ */
|
|
8041
|
+
children: /* @__PURE__ */ jsx79(
|
|
8015
8042
|
"span",
|
|
8016
8043
|
{
|
|
8017
8044
|
className: cn(
|
|
@@ -8023,8 +8050,8 @@ function DepositPreGeneration({
|
|
|
8023
8050
|
}
|
|
8024
8051
|
)
|
|
8025
8052
|
] }),
|
|
8026
|
-
/* @__PURE__ */
|
|
8027
|
-
usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */
|
|
8053
|
+
/* @__PURE__ */ jsx79("p", { className: "text-tiny leading-relaxed text-white/45", children: usePrivacy ? "Blinded: the sender never sees which UTXO you receive into. Spends one of your colorable UTXOs as the receiving slot." : "Witness: the sender creates the receiving UTXO for you. No colorable UTXO needed, but the sender sees the receiving output." }),
|
|
8054
|
+
usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ jsxs65(
|
|
8028
8055
|
"div",
|
|
8029
8056
|
{
|
|
8030
8057
|
className: cn(
|
|
@@ -8032,26 +8059,26 @@ function DepositPreGeneration({
|
|
|
8032
8059
|
colorableUtxoCount > 0 ? "border-success/20 bg-success/5 text-success/80" : "border-warning/20 bg-warning/5 text-warning/80"
|
|
8033
8060
|
),
|
|
8034
8061
|
children: [
|
|
8035
|
-
/* @__PURE__ */
|
|
8036
|
-
/* @__PURE__ */
|
|
8062
|
+
/* @__PURE__ */ jsx79("span", { className: "font-medium", children: "Available colorable UTXOs" }),
|
|
8063
|
+
/* @__PURE__ */ jsx79("span", { className: "font-mono font-bold", children: colorableUtxoCount })
|
|
8037
8064
|
]
|
|
8038
8065
|
}
|
|
8039
8066
|
),
|
|
8040
|
-
usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */
|
|
8067
|
+
usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ jsx79("p", { className: "text-tiny text-warning/70", children: "None available \u2014 create a colorable UTXO below to receive privately, or switch off privacy to use a witness receive." })
|
|
8041
8068
|
] }),
|
|
8042
|
-
network === "onchain" && !isBtc && /* @__PURE__ */
|
|
8043
|
-
/* @__PURE__ */
|
|
8044
|
-
/* @__PURE__ */
|
|
8069
|
+
network === "onchain" && !isBtc && /* @__PURE__ */ jsxs65("div", { className: "space-y-1.5", children: [
|
|
8070
|
+
/* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between", children: [
|
|
8071
|
+
/* @__PURE__ */ jsxs65("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
|
|
8045
8072
|
"Amount (",
|
|
8046
8073
|
getUnitLabel(),
|
|
8047
8074
|
") - Optional"
|
|
8048
8075
|
] }),
|
|
8049
|
-
selectedAsset && /* @__PURE__ */
|
|
8076
|
+
selectedAsset && /* @__PURE__ */ jsxs65("span", { className: "text-xxs text-white/30", children: [
|
|
8050
8077
|
selectedAsset.precision ?? 0,
|
|
8051
8078
|
" decimals"
|
|
8052
8079
|
] })
|
|
8053
8080
|
] }),
|
|
8054
|
-
/* @__PURE__ */
|
|
8081
|
+
/* @__PURE__ */ jsx79(
|
|
8055
8082
|
"input",
|
|
8056
8083
|
{
|
|
8057
8084
|
type: "text",
|
|
@@ -8063,18 +8090,18 @@ function DepositPreGeneration({
|
|
|
8063
8090
|
}
|
|
8064
8091
|
)
|
|
8065
8092
|
] }),
|
|
8066
|
-
needsColorableUtxos && /* @__PURE__ */
|
|
8067
|
-
/* @__PURE__ */
|
|
8068
|
-
/* @__PURE__ */
|
|
8093
|
+
needsColorableUtxos && /* @__PURE__ */ jsxs65(AlertBanner, { variant: "warning", children: [
|
|
8094
|
+
/* @__PURE__ */ jsx79("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
|
|
8095
|
+
/* @__PURE__ */ jsx79("p", { className: "text-tiny text-warning/70", children: "To receive RGB assets on-chain you need at least one uncolored UTXO. Create some now and the invoice will be generated automatically." })
|
|
8069
8096
|
] }),
|
|
8070
|
-
!isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */
|
|
8071
|
-
/* @__PURE__ */
|
|
8097
|
+
!isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ jsx79(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ jsxs65("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8098
|
+
/* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
|
|
8072
8099
|
"Create Colorable UTXOs"
|
|
8073
|
-
] }) }) : /* @__PURE__ */
|
|
8074
|
-
/* @__PURE__ */
|
|
8100
|
+
] }) }) : /* @__PURE__ */ jsx79(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ jsxs65("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8101
|
+
/* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
|
|
8075
8102
|
"Generating..."
|
|
8076
|
-
] }) : /* @__PURE__ */
|
|
8077
|
-
/* @__PURE__ */
|
|
8103
|
+
] }) : /* @__PURE__ */ jsxs65("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8104
|
+
/* @__PURE__ */ jsx79("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
|
|
8078
8105
|
"Generate Address"
|
|
8079
8106
|
] }) }))
|
|
8080
8107
|
] });
|
|
@@ -8082,7 +8109,7 @@ function DepositPreGeneration({
|
|
|
8082
8109
|
|
|
8083
8110
|
// src/web/components/deposit-asset-selection.tsx
|
|
8084
8111
|
import { useEffect as useEffect10, useState as useState16 } from "react";
|
|
8085
|
-
import { jsx as
|
|
8112
|
+
import { jsx as jsx80, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
8086
8113
|
var ADD_ASSET_SUBTITLE = {
|
|
8087
8114
|
RGB: "RGB asset on Bitcoin",
|
|
8088
8115
|
SPARK: "Spark-native asset",
|
|
@@ -8159,8 +8186,8 @@ function DepositAssetSelection({
|
|
|
8159
8186
|
titleHoverClass: "group-hover:text-network-arkade"
|
|
8160
8187
|
}
|
|
8161
8188
|
].filter((option) => option.enabled);
|
|
8162
|
-
return /* @__PURE__ */
|
|
8163
|
-
/* @__PURE__ */
|
|
8189
|
+
return /* @__PURE__ */ jsxs66("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
|
|
8190
|
+
/* @__PURE__ */ jsx80("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ jsx80(
|
|
8164
8191
|
Button,
|
|
8165
8192
|
{
|
|
8166
8193
|
type: "button",
|
|
@@ -8168,10 +8195,10 @@ function DepositAssetSelection({
|
|
|
8168
8195
|
size: "icon-xl",
|
|
8169
8196
|
onClick: () => setCurrentView("dashboard"),
|
|
8170
8197
|
"aria-label": "Go back",
|
|
8171
|
-
children: /* @__PURE__ */
|
|
8198
|
+
children: /* @__PURE__ */ jsx80(Icon, { name: "arrow_back", size: "xl" })
|
|
8172
8199
|
}
|
|
8173
8200
|
) }),
|
|
8174
|
-
/* @__PURE__ */
|
|
8201
|
+
/* @__PURE__ */ jsx80("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ jsx80(
|
|
8175
8202
|
DotPagination,
|
|
8176
8203
|
{
|
|
8177
8204
|
count: 2,
|
|
@@ -8179,8 +8206,8 @@ function DepositAssetSelection({
|
|
|
8179
8206
|
ariaLabel: "Deposit step 1 of 2: select asset"
|
|
8180
8207
|
}
|
|
8181
8208
|
) }),
|
|
8182
|
-
/* @__PURE__ */
|
|
8183
|
-
/* @__PURE__ */
|
|
8209
|
+
/* @__PURE__ */ jsx80("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ jsxs66("div", { className: "relative", children: [
|
|
8210
|
+
/* @__PURE__ */ jsx80(
|
|
8184
8211
|
Icon,
|
|
8185
8212
|
{
|
|
8186
8213
|
name: "search",
|
|
@@ -8188,7 +8215,7 @@ function DepositAssetSelection({
|
|
|
8188
8215
|
className: "absolute left-3 top-1/2 -translate-y-1/2 text-white/30"
|
|
8189
8216
|
}
|
|
8190
8217
|
),
|
|
8191
|
-
/* @__PURE__ */
|
|
8218
|
+
/* @__PURE__ */ jsx80(
|
|
8192
8219
|
"input",
|
|
8193
8220
|
{
|
|
8194
8221
|
autoFocus: true,
|
|
@@ -8201,8 +8228,8 @@ function DepositAssetSelection({
|
|
|
8201
8228
|
}
|
|
8202
8229
|
)
|
|
8203
8230
|
] }) }),
|
|
8204
|
-
/* @__PURE__ */
|
|
8205
|
-
btcAsset && /* @__PURE__ */
|
|
8231
|
+
/* @__PURE__ */ jsxs66(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
|
|
8232
|
+
btcAsset && /* @__PURE__ */ jsxs66(
|
|
8206
8233
|
"button",
|
|
8207
8234
|
{
|
|
8208
8235
|
type: "button",
|
|
@@ -8210,27 +8237,27 @@ function DepositAssetSelection({
|
|
|
8210
8237
|
className: "group flex w-full min-w-0 items-center gap-3 overflow-hidden rounded-2xl bg-white/3 px-4 py-3 text-sm transition-all hover:bg-accent",
|
|
8211
8238
|
onClick: () => onSelectAsset(btcAsset),
|
|
8212
8239
|
children: [
|
|
8213
|
-
/* @__PURE__ */
|
|
8214
|
-
/* @__PURE__ */
|
|
8215
|
-
/* @__PURE__ */
|
|
8216
|
-
/* @__PURE__ */
|
|
8240
|
+
/* @__PURE__ */ jsx80(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
|
|
8241
|
+
/* @__PURE__ */ jsxs66("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8242
|
+
/* @__PURE__ */ jsx80("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
|
|
8243
|
+
/* @__PURE__ */ jsx80("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
|
|
8217
8244
|
] }),
|
|
8218
|
-
/* @__PURE__ */
|
|
8219
|
-
/* @__PURE__ */
|
|
8220
|
-
/* @__PURE__ */
|
|
8221
|
-
isSparkConnected && /* @__PURE__ */
|
|
8222
|
-
isArkadeConnected && /* @__PURE__ */
|
|
8245
|
+
/* @__PURE__ */ jsxs66("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
|
|
8246
|
+
/* @__PURE__ */ jsx80(NetworkBadge, { network: "L1", size: "sm" }),
|
|
8247
|
+
/* @__PURE__ */ jsx80(NetworkBadge, { network: "LN", size: "sm" }),
|
|
8248
|
+
isSparkConnected && /* @__PURE__ */ jsx80(NetworkBadge, { network: "Spark", size: "sm" }),
|
|
8249
|
+
isArkadeConnected && /* @__PURE__ */ jsx80(NetworkBadge, { network: "Arkade", size: "sm" })
|
|
8223
8250
|
] }),
|
|
8224
|
-
/* @__PURE__ */
|
|
8251
|
+
/* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
|
|
8225
8252
|
]
|
|
8226
8253
|
}
|
|
8227
8254
|
),
|
|
8228
|
-
noResults ? /* @__PURE__ */
|
|
8255
|
+
noResults ? /* @__PURE__ */ jsxs66("div", { className: "py-8 text-center text-sm text-white/30", children: [
|
|
8229
8256
|
'No assets match "',
|
|
8230
8257
|
searchQuery,
|
|
8231
8258
|
'"'
|
|
8232
|
-
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */
|
|
8233
|
-
/* @__PURE__ */
|
|
8259
|
+
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ jsxs66("div", { className: "space-y-1.5 pt-1", children: [
|
|
8260
|
+
/* @__PURE__ */ jsxs66(
|
|
8234
8261
|
"button",
|
|
8235
8262
|
{
|
|
8236
8263
|
type: "button",
|
|
@@ -8243,17 +8270,17 @@ function DepositAssetSelection({
|
|
|
8243
8270
|
isSearching && "cursor-default"
|
|
8244
8271
|
),
|
|
8245
8272
|
children: [
|
|
8246
|
-
/* @__PURE__ */
|
|
8247
|
-
/* @__PURE__ */
|
|
8248
|
-
/* @__PURE__ */
|
|
8249
|
-
!isSearching && /* @__PURE__ */
|
|
8273
|
+
/* @__PURE__ */ jsx80("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
|
|
8274
|
+
/* @__PURE__ */ jsx80("span", { className: "inline-flex size-5 items-center justify-center rounded-full bg-white/10 text-tiny font-bold text-white/70", children: ownedAssetsCount }),
|
|
8275
|
+
/* @__PURE__ */ jsx80("div", { className: "flex-1" }),
|
|
8276
|
+
!isSearching && /* @__PURE__ */ jsx80(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
|
|
8250
8277
|
]
|
|
8251
8278
|
}
|
|
8252
8279
|
),
|
|
8253
|
-
showOwnedAssets && /* @__PURE__ */
|
|
8280
|
+
showOwnedAssets && /* @__PURE__ */ jsx80("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
|
|
8254
8281
|
const protocolBadge = asset.accountId ? PROTOCOL_BADGE[asset.accountId] : null;
|
|
8255
8282
|
const balance = asset.balance ?? 0;
|
|
8256
|
-
return /* @__PURE__ */
|
|
8283
|
+
return /* @__PURE__ */ jsxs66(
|
|
8257
8284
|
"button",
|
|
8258
8285
|
{
|
|
8259
8286
|
type: "button",
|
|
@@ -8261,11 +8288,11 @@ function DepositAssetSelection({
|
|
|
8261
8288
|
className: "group flex w-full min-w-0 items-center gap-3 overflow-hidden rounded-2xl border border-white/8 bg-white/3 px-4 py-3 text-sm transition-all hover:border-border hover:bg-accent",
|
|
8262
8289
|
onClick: () => onSelectAsset(asset),
|
|
8263
8290
|
children: [
|
|
8264
|
-
/* @__PURE__ */
|
|
8265
|
-
/* @__PURE__ */
|
|
8266
|
-
/* @__PURE__ */
|
|
8267
|
-
/* @__PURE__ */
|
|
8268
|
-
protocolBadge && /* @__PURE__ */
|
|
8291
|
+
/* @__PURE__ */ jsx80(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
|
|
8292
|
+
/* @__PURE__ */ jsxs66("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8293
|
+
/* @__PURE__ */ jsxs66("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
8294
|
+
/* @__PURE__ */ jsx80("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
|
|
8295
|
+
protocolBadge && /* @__PURE__ */ jsx80(
|
|
8269
8296
|
"span",
|
|
8270
8297
|
{
|
|
8271
8298
|
className: cn(
|
|
@@ -8276,36 +8303,36 @@ function DepositAssetSelection({
|
|
|
8276
8303
|
}
|
|
8277
8304
|
)
|
|
8278
8305
|
] }),
|
|
8279
|
-
/* @__PURE__ */
|
|
8306
|
+
/* @__PURE__ */ jsx80("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
|
|
8280
8307
|
] }),
|
|
8281
|
-
balance > 0 && /* @__PURE__ */
|
|
8282
|
-
/* @__PURE__ */
|
|
8283
|
-
/* @__PURE__ */
|
|
8308
|
+
balance > 0 && /* @__PURE__ */ jsxs66("div", { className: "flex-shrink-0 text-right", children: [
|
|
8309
|
+
/* @__PURE__ */ jsx80("div", { className: "font-mono text-xs font-bold text-white", children: formatAssetBalance(asset) }),
|
|
8310
|
+
/* @__PURE__ */ jsx80("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
|
|
8284
8311
|
] }),
|
|
8285
|
-
/* @__PURE__ */
|
|
8312
|
+
/* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-sm text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
|
|
8286
8313
|
]
|
|
8287
8314
|
},
|
|
8288
8315
|
asset.asset_id
|
|
8289
8316
|
);
|
|
8290
8317
|
}) })
|
|
8291
8318
|
] }) : null,
|
|
8292
|
-
!searchQuery && /* @__PURE__ */
|
|
8319
|
+
!searchQuery && /* @__PURE__ */ jsx80("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ jsxs66(
|
|
8293
8320
|
"button",
|
|
8294
8321
|
{
|
|
8295
8322
|
type: "button",
|
|
8296
8323
|
onClick: () => setCurrentView("bridge"),
|
|
8297
8324
|
className: "group flex w-full items-center gap-3 rounded-2xl bg-gradient-to-r from-primary/10 to-primary/5 p-3 transition-all hover:from-primary/20 hover:to-primary/10",
|
|
8298
8325
|
children: [
|
|
8299
|
-
/* @__PURE__ */
|
|
8300
|
-
/* @__PURE__ */
|
|
8301
|
-
/* @__PURE__ */
|
|
8302
|
-
/* @__PURE__ */
|
|
8326
|
+
/* @__PURE__ */ jsx80("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
|
|
8327
|
+
/* @__PURE__ */ jsxs66("div", { className: "flex-1 text-left", children: [
|
|
8328
|
+
/* @__PURE__ */ jsx80("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
|
|
8329
|
+
/* @__PURE__ */ jsx80("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
|
|
8303
8330
|
] }),
|
|
8304
|
-
/* @__PURE__ */
|
|
8331
|
+
/* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
|
|
8305
8332
|
]
|
|
8306
8333
|
}
|
|
8307
8334
|
) }),
|
|
8308
|
-
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */
|
|
8335
|
+
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ jsx80("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ jsxs66(
|
|
8309
8336
|
"button",
|
|
8310
8337
|
{
|
|
8311
8338
|
type: "button",
|
|
@@ -8313,27 +8340,27 @@ function DepositAssetSelection({
|
|
|
8313
8340
|
onClick: () => setShowAddAssetModal(true),
|
|
8314
8341
|
className: "group flex w-full items-center gap-3 rounded-2xl border border-white/8 bg-white/3 p-3 transition-all hover:border-border hover:bg-accent",
|
|
8315
8342
|
children: [
|
|
8316
|
-
/* @__PURE__ */
|
|
8317
|
-
/* @__PURE__ */
|
|
8318
|
-
/* @__PURE__ */
|
|
8319
|
-
/* @__PURE__ */
|
|
8343
|
+
/* @__PURE__ */ jsx80("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/15", children: /* @__PURE__ */ jsx80(Icon, { name: "add", size: "md", className: "text-primary" }) }),
|
|
8344
|
+
/* @__PURE__ */ jsxs66("div", { className: "flex-1 text-left", children: [
|
|
8345
|
+
/* @__PURE__ */ jsx80("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Add an asset" }),
|
|
8346
|
+
/* @__PURE__ */ jsxs66("p", { className: "text-xxs leading-tight text-white/40", children: [
|
|
8320
8347
|
"Receive a new ",
|
|
8321
8348
|
newAssetOptions.map((o) => o.ticker).join(", "),
|
|
8322
8349
|
" asset"
|
|
8323
8350
|
] })
|
|
8324
8351
|
] }),
|
|
8325
|
-
/* @__PURE__ */
|
|
8352
|
+
/* @__PURE__ */ jsx80("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
|
|
8326
8353
|
]
|
|
8327
8354
|
}
|
|
8328
8355
|
) })
|
|
8329
8356
|
] }),
|
|
8330
|
-
/* @__PURE__ */
|
|
8357
|
+
/* @__PURE__ */ jsx80(
|
|
8331
8358
|
BottomSheet,
|
|
8332
8359
|
{
|
|
8333
8360
|
open: showAddAssetModal,
|
|
8334
8361
|
title: "Add an asset",
|
|
8335
8362
|
onClose: () => setShowAddAssetModal(false),
|
|
8336
|
-
children: /* @__PURE__ */
|
|
8363
|
+
children: /* @__PURE__ */ jsx80("div", { className: "space-y-2", children: newAssetOptions.map((option) => /* @__PURE__ */ jsxs66(
|
|
8337
8364
|
"button",
|
|
8338
8365
|
{
|
|
8339
8366
|
type: "button",
|
|
@@ -8347,12 +8374,12 @@ function DepositAssetSelection({
|
|
|
8347
8374
|
handleAddNewAsset(option.account);
|
|
8348
8375
|
},
|
|
8349
8376
|
children: [
|
|
8350
|
-
/* @__PURE__ */
|
|
8351
|
-
/* @__PURE__ */
|
|
8352
|
-
/* @__PURE__ */
|
|
8353
|
-
/* @__PURE__ */
|
|
8377
|
+
/* @__PURE__ */ jsx80(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
|
|
8378
|
+
/* @__PURE__ */ jsxs66("div", { className: "min-w-0 flex-1", children: [
|
|
8379
|
+
/* @__PURE__ */ jsx80("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
|
|
8380
|
+
/* @__PURE__ */ jsx80("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
|
|
8354
8381
|
] }),
|
|
8355
|
-
/* @__PURE__ */
|
|
8382
|
+
/* @__PURE__ */ jsx80(Icon, { name: "add", size: "sm", className: "text-white/30 transition-colors group-hover:text-white/60" })
|
|
8356
8383
|
]
|
|
8357
8384
|
},
|
|
8358
8385
|
option.account
|
|
@@ -8363,7 +8390,7 @@ function DepositAssetSelection({
|
|
|
8363
8390
|
}
|
|
8364
8391
|
|
|
8365
8392
|
// src/web/components/deposit-invoice-generation.tsx
|
|
8366
|
-
import { jsx as
|
|
8393
|
+
import { jsx as jsx81, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
8367
8394
|
var ACCOUNT_TITLES2 = {
|
|
8368
8395
|
RGB: "RGB & Lightning",
|
|
8369
8396
|
SPARK: "Spark",
|
|
@@ -8518,7 +8545,7 @@ function DepositInvoiceGeneration({
|
|
|
8518
8545
|
if (nextMethod) applyMethodSelection(account, nextMethod);
|
|
8519
8546
|
};
|
|
8520
8547
|
if (depositDetected) {
|
|
8521
|
-
return /* @__PURE__ */
|
|
8548
|
+
return /* @__PURE__ */ jsx81(
|
|
8522
8549
|
DepositSuccessScreen,
|
|
8523
8550
|
{
|
|
8524
8551
|
handleDone,
|
|
@@ -8535,15 +8562,15 @@ function DepositInvoiceGeneration({
|
|
|
8535
8562
|
const showChannelWarning = selectedAccount === "RGB" && network === "lightning" && !channelsLoading && channels.length === 0 && !isSparkConnected;
|
|
8536
8563
|
const showLiquidityWarning = !isSparkLightning && network === "lightning" && maxDepositAmount === 0 && !channelsLoading && !isBtc;
|
|
8537
8564
|
const isNewRgbAsset = isNewAsset && assetFamily === "RGB";
|
|
8538
|
-
return /* @__PURE__ */
|
|
8539
|
-
/* @__PURE__ */
|
|
8565
|
+
return /* @__PURE__ */ jsxs67("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
|
|
8566
|
+
/* @__PURE__ */ jsx81("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ jsx81(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ jsx81(Icon, { name: "arrow_back", size: "xl" }) }) }),
|
|
8540
8567
|
(() => {
|
|
8541
8568
|
const hideDestinationRail = isNewAsset && (network === "spark" || network === "arkade");
|
|
8542
8569
|
if (hideDestinationRail) return null;
|
|
8543
|
-
return /* @__PURE__ */
|
|
8544
|
-
/* @__PURE__ */
|
|
8545
|
-
/* @__PURE__ */
|
|
8546
|
-
/* @__PURE__ */
|
|
8570
|
+
return /* @__PURE__ */ jsx81("div", { className: "flex-shrink-0 border-b border-border bg-background px-4 py-2", children: /* @__PURE__ */ jsxs67("div", { className: "space-y-2", children: [
|
|
8571
|
+
/* @__PURE__ */ jsxs67("div", { children: [
|
|
8572
|
+
/* @__PURE__ */ jsx81("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
|
|
8573
|
+
/* @__PURE__ */ jsx81("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ jsx81(
|
|
8547
8574
|
AccountChoiceChip,
|
|
8548
8575
|
{
|
|
8549
8576
|
account,
|
|
@@ -8568,9 +8595,9 @@ function DepositInvoiceGeneration({
|
|
|
8568
8595
|
account
|
|
8569
8596
|
)) })
|
|
8570
8597
|
] }),
|
|
8571
|
-
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */
|
|
8572
|
-
/* @__PURE__ */
|
|
8573
|
-
/* @__PURE__ */
|
|
8598
|
+
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ jsxs67("div", { children: [
|
|
8599
|
+
/* @__PURE__ */ jsx81("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
|
|
8600
|
+
/* @__PURE__ */ jsx81("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: methodOptions.map(({ method, enabled, disabledReason }) => /* @__PURE__ */ jsx81(
|
|
8574
8601
|
MethodChoiceChip,
|
|
8575
8602
|
{
|
|
8576
8603
|
method,
|
|
@@ -8584,7 +8611,7 @@ function DepositInvoiceGeneration({
|
|
|
8584
8611
|
] })
|
|
8585
8612
|
] }) });
|
|
8586
8613
|
})(),
|
|
8587
|
-
/* @__PURE__ */
|
|
8614
|
+
/* @__PURE__ */ jsx81(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ jsx81(
|
|
8588
8615
|
BtcUnifiedReceive,
|
|
8589
8616
|
{
|
|
8590
8617
|
btcSelectedAccount,
|
|
@@ -8604,8 +8631,8 @@ function DepositInvoiceGeneration({
|
|
|
8604
8631
|
setAccountReceiveResult,
|
|
8605
8632
|
handleDone
|
|
8606
8633
|
}
|
|
8607
|
-
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */
|
|
8608
|
-
/* @__PURE__ */
|
|
8634
|
+
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ jsxs67("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
8635
|
+
/* @__PURE__ */ jsx81(
|
|
8609
8636
|
"div",
|
|
8610
8637
|
{
|
|
8611
8638
|
className: cn(
|
|
@@ -8613,7 +8640,7 @@ function DepositInvoiceGeneration({
|
|
|
8613
8640
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].bg,
|
|
8614
8641
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].border
|
|
8615
8642
|
),
|
|
8616
|
-
children: /* @__PURE__ */
|
|
8643
|
+
children: /* @__PURE__ */ jsx81(
|
|
8617
8644
|
"span",
|
|
8618
8645
|
{
|
|
8619
8646
|
className: cn(
|
|
@@ -8625,11 +8652,11 @@ function DepositInvoiceGeneration({
|
|
|
8625
8652
|
)
|
|
8626
8653
|
}
|
|
8627
8654
|
),
|
|
8628
|
-
/* @__PURE__ */
|
|
8629
|
-
/* @__PURE__ */
|
|
8630
|
-
/* @__PURE__ */
|
|
8655
|
+
/* @__PURE__ */ jsxs67("div", { className: "space-y-1 text-center", children: [
|
|
8656
|
+
/* @__PURE__ */ jsx81("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
|
|
8657
|
+
/* @__PURE__ */ jsx81("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
|
|
8631
8658
|
] })
|
|
8632
|
-
] }) : !address ? /* @__PURE__ */
|
|
8659
|
+
] }) : !address ? /* @__PURE__ */ jsx81(
|
|
8633
8660
|
DepositPreGeneration,
|
|
8634
8661
|
{
|
|
8635
8662
|
selectedAsset,
|
|
@@ -8653,7 +8680,7 @@ function DepositInvoiceGeneration({
|
|
|
8653
8680
|
onOpenCreateUtxos,
|
|
8654
8681
|
showReceiveSummary: !isNewRgbAsset
|
|
8655
8682
|
}
|
|
8656
|
-
) : /* @__PURE__ */
|
|
8683
|
+
) : /* @__PURE__ */ jsx81(
|
|
8657
8684
|
DepositGeneratedView,
|
|
8658
8685
|
{
|
|
8659
8686
|
network,
|
|
@@ -8802,6 +8829,7 @@ export {
|
|
|
8802
8829
|
StepperNumberInput,
|
|
8803
8830
|
SwapInputCard,
|
|
8804
8831
|
Switch,
|
|
8832
|
+
SwitchRow,
|
|
8805
8833
|
Tabs,
|
|
8806
8834
|
TabsContent,
|
|
8807
8835
|
TabsList,
|