@xyo-network/react-shared 3.0.10 → 3.0.12
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/browser/components/index.d.ts +0 -1
- package/dist/browser/components/index.d.ts.map +1 -1
- package/dist/browser/index.mjs +64 -104
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/components/index.ts +0 -1
- package/dist/browser/components/ErrorBoundary.d.ts +0 -20
- package/dist/browser/components/ErrorBoundary.d.ts.map +0 -1
- package/src/components/ErrorBoundary.tsx +0 -61
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './Ampersand.tsx';
|
|
2
2
|
export * from './BasicHero/index.ts';
|
|
3
3
|
export * from './Ellipsize.tsx';
|
|
4
|
-
export * from './ErrorBoundary.tsx';
|
|
5
4
|
export * from './LabeledTextFieldWrapper.tsx';
|
|
6
5
|
export * from './ListItemButtonEx.tsx';
|
|
7
6
|
export * from './LoadResult.tsx';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA;AAChD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -361,53 +361,14 @@ var EllipsizeBox = /* @__PURE__ */ forwardRef(({ children, ellipsisPosition = "s
|
|
|
361
361
|
});
|
|
362
362
|
EllipsizeBox.displayName = "EllipsizeBox";
|
|
363
363
|
|
|
364
|
-
// src/components/ErrorBoundary.tsx
|
|
365
|
-
import { Typography as Typography4 } from "@mui/material";
|
|
366
|
-
import { FlexCol } from "@xylabs/react-flexbox";
|
|
367
|
-
import React4, { Component } from "react";
|
|
368
|
-
var ErrorBoundary = class extends Component {
|
|
369
|
-
static {
|
|
370
|
-
__name(this, "ErrorBoundary");
|
|
371
|
-
}
|
|
372
|
-
constructor(props) {
|
|
373
|
-
super(props);
|
|
374
|
-
this.state = {
|
|
375
|
-
error: void 0
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
static getDerivedStateFromError(error) {
|
|
379
|
-
return {
|
|
380
|
-
error
|
|
381
|
-
};
|
|
382
|
-
}
|
|
383
|
-
componentDidCatch(error, errorInfo) {
|
|
384
|
-
console.error(`${error}: ${errorInfo}`);
|
|
385
|
-
}
|
|
386
|
-
render() {
|
|
387
|
-
if (this.state.error) {
|
|
388
|
-
if (this.props.fallbackWithError) {
|
|
389
|
-
return this.props.fallbackWithError(this.state.error);
|
|
390
|
-
}
|
|
391
|
-
return this.props.fallback ?? /* @__PURE__ */ React4.createElement(FlexCol, null, /* @__PURE__ */ React4.createElement(Typography4, {
|
|
392
|
-
variant: "h1"
|
|
393
|
-
}, "Something went wrong."), this.props.scope && /* @__PURE__ */ React4.createElement(Typography4, {
|
|
394
|
-
variant: "h2"
|
|
395
|
-
}, "[", this.props.scope, "]"), /* @__PURE__ */ React4.createElement(Typography4, {
|
|
396
|
-
variant: "body1"
|
|
397
|
-
}, "[", this.state.error?.message, "]"));
|
|
398
|
-
}
|
|
399
|
-
return this.props.children;
|
|
400
|
-
}
|
|
401
|
-
};
|
|
402
|
-
|
|
403
364
|
// src/components/LabeledTextFieldWrapper.tsx
|
|
404
|
-
import { Stack, Typography as
|
|
405
|
-
import
|
|
365
|
+
import { Stack, Typography as Typography4 } from "@mui/material";
|
|
366
|
+
import React4 from "react";
|
|
406
367
|
var LabeledTextFieldWrapper = /* @__PURE__ */ __name(({ children, label, ...props }) => {
|
|
407
|
-
return /* @__PURE__ */
|
|
368
|
+
return /* @__PURE__ */ React4.createElement(Stack, {
|
|
408
369
|
flexDirection: "column",
|
|
409
370
|
...props
|
|
410
|
-
}, /* @__PURE__ */
|
|
371
|
+
}, /* @__PURE__ */ React4.createElement(Typography4, {
|
|
411
372
|
gutterBottom: true,
|
|
412
373
|
variant: "caption"
|
|
413
374
|
}, label), children);
|
|
@@ -415,7 +376,7 @@ var LabeledTextFieldWrapper = /* @__PURE__ */ __name(({ children, label, ...prop
|
|
|
415
376
|
|
|
416
377
|
// src/components/ListItemButtonEx.tsx
|
|
417
378
|
import { ListItemButton } from "@mui/material";
|
|
418
|
-
import
|
|
379
|
+
import React5 from "react";
|
|
419
380
|
import { useNavigate } from "react-router-dom";
|
|
420
381
|
var ListItemButtonExTo = /* @__PURE__ */ __name(({ to, toOptions, onClick, ...props }) => {
|
|
421
382
|
const navigate = useNavigate();
|
|
@@ -425,30 +386,30 @@ var ListItemButtonExTo = /* @__PURE__ */ __name(({ to, toOptions, onClick, ...pr
|
|
|
425
386
|
navigate(to, toOptions);
|
|
426
387
|
}
|
|
427
388
|
}, "localOnClick");
|
|
428
|
-
return /* @__PURE__ */
|
|
389
|
+
return /* @__PURE__ */ React5.createElement(ListItemButton, {
|
|
429
390
|
onClick: localOnClick,
|
|
430
391
|
...props
|
|
431
392
|
});
|
|
432
393
|
}, "ListItemButtonExTo");
|
|
433
394
|
var ListItemButtonEx = /* @__PURE__ */ __name(({ to, ...props }) => {
|
|
434
|
-
return to ? /* @__PURE__ */
|
|
395
|
+
return to ? /* @__PURE__ */ React5.createElement(ListItemButtonExTo, {
|
|
435
396
|
to,
|
|
436
397
|
...props
|
|
437
|
-
}) : /* @__PURE__ */
|
|
398
|
+
}) : /* @__PURE__ */ React5.createElement(ListItemButton, props);
|
|
438
399
|
}, "ListItemButtonEx");
|
|
439
400
|
|
|
440
401
|
// src/components/LoadResult.tsx
|
|
441
402
|
import { FlexGrowRow as FlexGrowRow2 } from "@xylabs/react-flexbox";
|
|
442
|
-
import
|
|
403
|
+
import React7 from "react";
|
|
443
404
|
|
|
444
405
|
// src/components/NotFound.tsx
|
|
445
|
-
import { Typography as
|
|
406
|
+
import { Typography as Typography5 } from "@mui/material";
|
|
446
407
|
import { FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
|
|
447
|
-
import
|
|
408
|
+
import React6 from "react";
|
|
448
409
|
var NotFound = /* @__PURE__ */ __name((props) => {
|
|
449
|
-
return /* @__PURE__ */
|
|
410
|
+
return /* @__PURE__ */ React6.createElement(FlexGrowCol2, props, /* @__PURE__ */ React6.createElement(Typography5, {
|
|
450
411
|
variant: "h2"
|
|
451
|
-
}, "Sorry!"), /* @__PURE__ */
|
|
412
|
+
}, "Sorry!"), /* @__PURE__ */ React6.createElement(Typography5, {
|
|
452
413
|
marginY: 3,
|
|
453
414
|
variant: "body2"
|
|
454
415
|
}, "Can't find anything here"));
|
|
@@ -458,23 +419,23 @@ var NotFound = /* @__PURE__ */ __name((props) => {
|
|
|
458
419
|
function LoadResult(props) {
|
|
459
420
|
const { notFound, error, searchResult, children } = props;
|
|
460
421
|
if (notFound) {
|
|
461
|
-
return /* @__PURE__ */
|
|
422
|
+
return /* @__PURE__ */ React7.createElement(NotFound, null);
|
|
462
423
|
}
|
|
463
424
|
if (error) {
|
|
464
|
-
return /* @__PURE__ */
|
|
425
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, children);
|
|
465
426
|
}
|
|
466
|
-
return searchResult === void 0 ? /* @__PURE__ */
|
|
427
|
+
return searchResult === void 0 ? /* @__PURE__ */ React7.createElement(FlexGrowRow2, {
|
|
467
428
|
busy: true,
|
|
468
429
|
minHeight: "50px"
|
|
469
|
-
}) : /* @__PURE__ */
|
|
430
|
+
}) : /* @__PURE__ */ React7.createElement(React7.Fragment, null, children);
|
|
470
431
|
}
|
|
471
432
|
__name(LoadResult, "LoadResult");
|
|
472
433
|
|
|
473
434
|
// src/components/Pipe.tsx
|
|
474
|
-
import { Typography as
|
|
475
|
-
import
|
|
435
|
+
import { Typography as Typography6 } from "@mui/material";
|
|
436
|
+
import React8 from "react";
|
|
476
437
|
var Pipe = /* @__PURE__ */ __name((props) => {
|
|
477
|
-
return /* @__PURE__ */
|
|
438
|
+
return /* @__PURE__ */ React8.createElement(Typography6, {
|
|
478
439
|
marginX: 1,
|
|
479
440
|
component: "span",
|
|
480
441
|
...props
|
|
@@ -483,17 +444,17 @@ var Pipe = /* @__PURE__ */ __name((props) => {
|
|
|
483
444
|
|
|
484
445
|
// src/components/pluginValidation/DataMissing.tsx
|
|
485
446
|
import { Alert, AlertTitle } from "@mui/material";
|
|
486
|
-
import
|
|
447
|
+
import React9 from "react";
|
|
487
448
|
var PayloadDataMissing = /* @__PURE__ */ __name(({ alertBody, ...props }) => {
|
|
488
|
-
return /* @__PURE__ */
|
|
449
|
+
return /* @__PURE__ */ React9.createElement(Alert, {
|
|
489
450
|
severity: "warning",
|
|
490
451
|
...props
|
|
491
|
-
}, /* @__PURE__ */
|
|
452
|
+
}, /* @__PURE__ */ React9.createElement(AlertTitle, null, "Missing Data"), alertBody ?? "Payload is missing required data to render correctly");
|
|
492
453
|
}, "PayloadDataMissing");
|
|
493
454
|
|
|
494
455
|
// src/components/ScrollTableOnSm.tsx
|
|
495
456
|
import { styled as styled2 } from "@mui/material";
|
|
496
|
-
import
|
|
457
|
+
import React10 from "react";
|
|
497
458
|
var StyledScrollTableOnSm = styled2("div")(({ theme }) => ({
|
|
498
459
|
[theme.breakpoints.down("md")]: {
|
|
499
460
|
overflowX: "scroll"
|
|
@@ -501,15 +462,15 @@ var StyledScrollTableOnSm = styled2("div")(({ theme }) => ({
|
|
|
501
462
|
display: "flex",
|
|
502
463
|
flexGrow: 1
|
|
503
464
|
}));
|
|
504
|
-
var ScrollTableOnSm = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */
|
|
465
|
+
var ScrollTableOnSm = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ React10.createElement(StyledScrollTableOnSm, null, children), "ScrollTableOnSm");
|
|
505
466
|
|
|
506
467
|
// src/components/SectionSpacingRow/SectionSpacingRow.tsx
|
|
507
468
|
import { useTheme as useTheme3 } from "@mui/material";
|
|
508
469
|
import { FlexGrowRow as FlexGrowRow3 } from "@xylabs/react-flexbox";
|
|
509
|
-
import
|
|
470
|
+
import React11, { forwardRef as forwardRef2 } from "react";
|
|
510
471
|
var SectionSpacingRow = /* @__PURE__ */ forwardRef2(({ children, sx, ...props }, ref) => {
|
|
511
472
|
const theme = useTheme3();
|
|
512
|
-
return /* @__PURE__ */
|
|
473
|
+
return /* @__PURE__ */ React11.createElement(FlexGrowRow3, {
|
|
513
474
|
sx: {
|
|
514
475
|
paddingBottom: {
|
|
515
476
|
md: theme.spacing(5),
|
|
@@ -529,12 +490,12 @@ var SectionSpacingRow = /* @__PURE__ */ forwardRef2(({ children, sx, ...props },
|
|
|
529
490
|
SectionSpacingRow.displayName = "SectionSpacingRow";
|
|
530
491
|
|
|
531
492
|
// src/components/TableCell/AddressTableCell.tsx
|
|
532
|
-
import
|
|
493
|
+
import React13, { forwardRef as forwardRef4 } from "react";
|
|
533
494
|
|
|
534
495
|
// src/components/TableCell/EllipsisTableCell.tsx
|
|
535
496
|
import { styled as styled3, TableCell } from "@mui/material";
|
|
536
497
|
import { LinkEx as LinkEx2 } from "@xylabs/react-link";
|
|
537
|
-
import
|
|
498
|
+
import React12, { forwardRef as forwardRef3, useMemo } from "react";
|
|
538
499
|
var EllipsisTableCellRoot = styled3(TableCell, {
|
|
539
500
|
name: "EllipsisTableCell",
|
|
540
501
|
shouldForwardProp: /* @__PURE__ */ __name((prop) => prop !== "width", "shouldForwardProp"),
|
|
@@ -548,7 +509,7 @@ var EllipsisTableCellWithRef = /* @__PURE__ */ forwardRef3(({ children, href, li
|
|
|
548
509
|
return children;
|
|
549
510
|
}
|
|
550
511
|
if (href || link || to) {
|
|
551
|
-
return /* @__PURE__ */
|
|
512
|
+
return /* @__PURE__ */ React12.createElement(LinkEx2, {
|
|
552
513
|
title: value,
|
|
553
514
|
to,
|
|
554
515
|
href,
|
|
@@ -563,10 +524,10 @@ var EllipsisTableCellWithRef = /* @__PURE__ */ forwardRef3(({ children, href, li
|
|
|
563
524
|
to,
|
|
564
525
|
value
|
|
565
526
|
]);
|
|
566
|
-
return /* @__PURE__ */
|
|
527
|
+
return /* @__PURE__ */ React12.createElement(EllipsisTableCellRoot, {
|
|
567
528
|
ref,
|
|
568
529
|
...props
|
|
569
|
-
}, /* @__PURE__ */
|
|
530
|
+
}, /* @__PURE__ */ React12.createElement(EllipsizeBox, {
|
|
570
531
|
sx: {
|
|
571
532
|
cursor: link || to || href ? "pointer" : "inherit"
|
|
572
533
|
}
|
|
@@ -579,7 +540,7 @@ var EllipsisTableCell = EllipsisTableCellWithRef;
|
|
|
579
540
|
var AddressTableCell = /* @__PURE__ */ forwardRef4(({ value, archive, exploreDomain, link, ...props }, ref) => {
|
|
580
541
|
const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : void 0;
|
|
581
542
|
const to = exploreDomain === void 0 && archive ? `/archive/${archive}/address/${value}` : void 0;
|
|
582
|
-
return /* @__PURE__ */
|
|
543
|
+
return /* @__PURE__ */ React13.createElement(EllipsisTableCell, {
|
|
583
544
|
value,
|
|
584
545
|
href,
|
|
585
546
|
to,
|
|
@@ -592,7 +553,7 @@ AddressTableCell.displayName = "AddressTableCell";
|
|
|
592
553
|
|
|
593
554
|
// src/components/TableCell/HashTableCell.tsx
|
|
594
555
|
import { useEvent } from "@xyo-network/react-event";
|
|
595
|
-
import
|
|
556
|
+
import React14, { useRef as useRef2 } from "react";
|
|
596
557
|
var HashTableCell = /* @__PURE__ */ __name(({ value, archive, dataType, network, exploreDomain, onHashClick, ...props }) => {
|
|
597
558
|
const ref = useRef2(null);
|
|
598
559
|
const [tableCellRef, dispatch] = useEvent(void 0, ref);
|
|
@@ -605,7 +566,7 @@ var HashTableCell = /* @__PURE__ */ __name(({ value, archive, dataType, network,
|
|
|
605
566
|
dispatch?.("hash", "click", value);
|
|
606
567
|
}
|
|
607
568
|
}, "handleCellClick");
|
|
608
|
-
return /* @__PURE__ */
|
|
569
|
+
return /* @__PURE__ */ React14.createElement(EllipsisTableCell, {
|
|
609
570
|
onClick: handleCellClick,
|
|
610
571
|
ref: tableCellRef,
|
|
611
572
|
value,
|
|
@@ -617,10 +578,10 @@ var HashTableCell = /* @__PURE__ */ __name(({ value, archive, dataType, network,
|
|
|
617
578
|
|
|
618
579
|
// src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx
|
|
619
580
|
import { Avatar, useTheme as useTheme4 } from "@mui/material";
|
|
620
|
-
import
|
|
581
|
+
import React15 from "react";
|
|
621
582
|
var ThemeTokenAvatar = /* @__PURE__ */ __name(({ ...props }) => {
|
|
622
583
|
const theme = useTheme4();
|
|
623
|
-
return /* @__PURE__ */
|
|
584
|
+
return /* @__PURE__ */ React15.createElement(Avatar, {
|
|
624
585
|
sx: {
|
|
625
586
|
background: theme.palette.common.white
|
|
626
587
|
},
|
|
@@ -630,31 +591,31 @@ var ThemeTokenAvatar = /* @__PURE__ */ __name(({ ...props }) => {
|
|
|
630
591
|
|
|
631
592
|
// src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx
|
|
632
593
|
import { AvatarGroup } from "@mui/material";
|
|
633
|
-
import
|
|
594
|
+
import React16 from "react";
|
|
634
595
|
var ThemeTokenAvatarGroup = /* @__PURE__ */ __name(({ images, ...props }) => {
|
|
635
|
-
return /* @__PURE__ */
|
|
596
|
+
return /* @__PURE__ */ React16.createElement(AvatarGroup, props, images?.map((image, index) => /* @__PURE__ */ React16.createElement(ThemeTokenAvatar, {
|
|
636
597
|
key: index,
|
|
637
598
|
src: image
|
|
638
599
|
})));
|
|
639
600
|
}, "ThemeTokenAvatarGroup");
|
|
640
601
|
|
|
641
602
|
// src/components/TokenBar/TokenBar.tsx
|
|
642
|
-
import { Paper, Typography as
|
|
603
|
+
import { Paper, Typography as Typography7 } from "@mui/material";
|
|
643
604
|
import { FlexRow } from "@xylabs/react-flexbox";
|
|
644
|
-
import
|
|
605
|
+
import React17 from "react";
|
|
645
606
|
var TokenBar = /* @__PURE__ */ __name(({ text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props }) => {
|
|
646
|
-
return /* @__PURE__ */
|
|
607
|
+
return /* @__PURE__ */ React17.createElement(Paper, {
|
|
647
608
|
elevation: 0,
|
|
648
609
|
className: "TokenBar-root",
|
|
649
610
|
...props
|
|
650
|
-
}, /* @__PURE__ */
|
|
611
|
+
}, /* @__PURE__ */ React17.createElement(FlexRow, {
|
|
651
612
|
justifyContent: "space-between"
|
|
652
|
-
}, /* @__PURE__ */
|
|
613
|
+
}, /* @__PURE__ */ React17.createElement(Typography7, {
|
|
653
614
|
variant: "body1",
|
|
654
615
|
fontWeight: 300,
|
|
655
616
|
margin: 1,
|
|
656
617
|
...text1Props
|
|
657
|
-
}, text1, text1Suffix), /* @__PURE__ */
|
|
618
|
+
}, text1, text1Suffix), /* @__PURE__ */ React17.createElement(Typography7, {
|
|
658
619
|
variant: "body1",
|
|
659
620
|
fontWeight: 300,
|
|
660
621
|
textTransform: "uppercase",
|
|
@@ -815,15 +776,15 @@ var useGetTokenData = /* @__PURE__ */ __name((symbols) => {
|
|
|
815
776
|
}, "useGetTokenData");
|
|
816
777
|
|
|
817
778
|
// src/components/TokenSummary/TokenSummary.tsx
|
|
818
|
-
import { CardHeader, Typography as
|
|
819
|
-
import
|
|
779
|
+
import { CardHeader, Typography as Typography8 } from "@mui/material";
|
|
780
|
+
import React18 from "react";
|
|
820
781
|
var TokenSummary = /* @__PURE__ */ __name(({ icon, symbol, symbolElement, children, ...props }) => {
|
|
821
|
-
return /* @__PURE__ */
|
|
822
|
-
avatar: /* @__PURE__ */
|
|
782
|
+
return /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(CardHeader, {
|
|
783
|
+
avatar: /* @__PURE__ */ React18.createElement(ThemeTokenAvatar, {
|
|
823
784
|
src: icon,
|
|
824
785
|
alt: symbol
|
|
825
786
|
}),
|
|
826
|
-
title: /* @__PURE__ */
|
|
787
|
+
title: /* @__PURE__ */ React18.createElement(Typography8, {
|
|
827
788
|
variant: "h6",
|
|
828
789
|
fontWeight: 300,
|
|
829
790
|
textTransform: "uppercase"
|
|
@@ -833,11 +794,11 @@ var TokenSummary = /* @__PURE__ */ __name(({ icon, symbol, symbolElement, childr
|
|
|
833
794
|
}, "TokenSummary");
|
|
834
795
|
|
|
835
796
|
// src/components/TypographyEx.tsx
|
|
836
|
-
import { Typography as
|
|
837
|
-
import
|
|
797
|
+
import { Typography as Typography9 } from "@mui/material";
|
|
798
|
+
import React19 from "react";
|
|
838
799
|
var TypographyEx = /* @__PURE__ */ __name(({ gradient, ...props }) => {
|
|
839
800
|
const { classes } = useGradientStyles();
|
|
840
|
-
return /* @__PURE__ */
|
|
801
|
+
return /* @__PURE__ */ React19.createElement(Typography9, {
|
|
841
802
|
className: gradient === "text" ? classes().heading : void 0,
|
|
842
803
|
...props
|
|
843
804
|
});
|
|
@@ -867,7 +828,7 @@ var useProvided = /* @__PURE__ */ __name((context) => {
|
|
|
867
828
|
var ResolvedDivinerContext = /* @__PURE__ */ __name(() => createContextEx(), "ResolvedDivinerContext");
|
|
868
829
|
|
|
869
830
|
// src/contexts/diviner/Provider.tsx
|
|
870
|
-
import
|
|
831
|
+
import React20, { useEffect as useEffect2, useMemo as useMemo2, useState as useState3 } from "react";
|
|
871
832
|
var ResolvedDivinerProvider = /* @__PURE__ */ __name(({ diviner: divinerProp, required = false, children, context }) => {
|
|
872
833
|
const [diviner, setDiviner] = useState3(divinerProp);
|
|
873
834
|
useEffect2(() => {
|
|
@@ -895,7 +856,7 @@ var ResolvedDivinerProvider = /* @__PURE__ */ __name(({ diviner: divinerProp, re
|
|
|
895
856
|
setDiviner,
|
|
896
857
|
divinerProp
|
|
897
858
|
]);
|
|
898
|
-
return /* @__PURE__ */
|
|
859
|
+
return /* @__PURE__ */ React20.createElement(context.Provider, {
|
|
899
860
|
value
|
|
900
861
|
}, diviner ? children : required ? null : children);
|
|
901
862
|
}, "ResolvedDivinerProvider");
|
|
@@ -904,7 +865,7 @@ var ResolvedDivinerProvider = /* @__PURE__ */ __name(({ diviner: divinerProp, re
|
|
|
904
865
|
var ListModeContext = createContextEx();
|
|
905
866
|
|
|
906
867
|
// src/contexts/ListMode/Provider.tsx
|
|
907
|
-
import
|
|
868
|
+
import React21, { useMemo as useMemo3, useState as useState4 } from "react";
|
|
908
869
|
var ListModeProvider = /* @__PURE__ */ __name(({ children, defaultListMode }) => {
|
|
909
870
|
const [listMode, setListMode] = useState4(defaultListMode ?? "default");
|
|
910
871
|
const value = useMemo3(() => ({
|
|
@@ -915,7 +876,7 @@ var ListModeProvider = /* @__PURE__ */ __name(({ children, defaultListMode }) =>
|
|
|
915
876
|
listMode,
|
|
916
877
|
setListMode
|
|
917
878
|
]);
|
|
918
|
-
return /* @__PURE__ */
|
|
879
|
+
return /* @__PURE__ */ React21.createElement(ListModeContext.Provider, {
|
|
919
880
|
value
|
|
920
881
|
}, children);
|
|
921
882
|
}, "ListModeProvider");
|
|
@@ -994,35 +955,35 @@ var getActualPaddingX = /* @__PURE__ */ __name((element) => {
|
|
|
994
955
|
|
|
995
956
|
// src/lib/networkComponents.tsx
|
|
996
957
|
import { BubbleChartRounded as BubbleChartRoundedIcon, HubRounded as HubRoundedIcon, InsertLinkRounded as InsertLinkRoundedIcon, Inventory2Rounded as Inventory2RoundedIcon, TimerRounded as TimerRoundedIcon, VisibilityRounded as VisibilityRoundedIcon } from "@mui/icons-material";
|
|
997
|
-
import
|
|
958
|
+
import React22 from "react";
|
|
998
959
|
var networkComponents = [
|
|
999
960
|
{
|
|
1000
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
961
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(HubRoundedIcon, props), "icon"),
|
|
1001
962
|
name: "Node",
|
|
1002
963
|
slug: "node"
|
|
1003
964
|
},
|
|
1004
965
|
{
|
|
1005
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
966
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(TimerRoundedIcon, props), "icon"),
|
|
1006
967
|
name: "Sentinel",
|
|
1007
968
|
slug: "sentinel"
|
|
1008
969
|
},
|
|
1009
970
|
{
|
|
1010
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
971
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(InsertLinkRoundedIcon, props), "icon"),
|
|
1011
972
|
name: "Bridge",
|
|
1012
973
|
slug: "bridge"
|
|
1013
974
|
},
|
|
1014
975
|
{
|
|
1015
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
976
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(Inventory2RoundedIcon, props), "icon"),
|
|
1016
977
|
name: "Archivist",
|
|
1017
978
|
slug: "archivist"
|
|
1018
979
|
},
|
|
1019
980
|
{
|
|
1020
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
981
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(BubbleChartRoundedIcon, props), "icon"),
|
|
1021
982
|
name: "Diviner",
|
|
1022
983
|
slug: "diviner"
|
|
1023
984
|
},
|
|
1024
985
|
{
|
|
1025
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
986
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(VisibilityRoundedIcon, props), "icon"),
|
|
1026
987
|
name: "Witness",
|
|
1027
988
|
slug: "witness"
|
|
1028
989
|
}
|
|
@@ -1040,7 +1001,6 @@ export {
|
|
|
1040
1001
|
EllipsisTableCell,
|
|
1041
1002
|
EllipsisTableCellWithRef,
|
|
1042
1003
|
EllipsizeBox,
|
|
1043
|
-
ErrorBoundary,
|
|
1044
1004
|
HashTableCell,
|
|
1045
1005
|
LabeledTextFieldWrapper,
|
|
1046
1006
|
ListItemButtonEx,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Ampersand.tsx","../../src/components/BasicHero/BasicHero.tsx","../../src/hooks/GradientStyles/GradientStyles.tsx","../../src/hooks/useDataState.ts","../../src/hooks/useIsMobile.ts","../../src/hooks/useMediaQuery.ts","../../src/hooks/usePayloadHash.ts","../../src/hooks/useShareForwardRef.ts","../../src/components/Ellipsize.tsx","../../src/components/ErrorBoundary.tsx","../../src/components/LabeledTextFieldWrapper.tsx","../../src/components/ListItemButtonEx.tsx","../../src/components/LoadResult.tsx","../../src/components/NotFound.tsx","../../src/components/Pipe.tsx","../../src/components/pluginValidation/DataMissing.tsx","../../src/components/ScrollTableOnSm.tsx","../../src/components/SectionSpacingRow/SectionSpacingRow.tsx","../../src/components/TableCell/AddressTableCell.tsx","../../src/components/TableCell/EllipsisTableCell.tsx","../../src/components/TableCell/HashTableCell.tsx","../../src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx","../../src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx","../../src/components/TokenBar/TokenBar.tsx","../../src/components/TokenData/img/index.ts","../../src/components/TokenData/TokenData.ts","../../src/components/TokenData/useGetTokenData.tsx","../../src/components/TokenSummary/TokenSummary.tsx","../../src/components/TypographyEx.tsx","../../src/contexts/contextEx/create.ts","../../src/contexts/contextEx/use.ts","../../src/contexts/diviner/Context.ts","../../src/contexts/diviner/Provider.tsx","../../src/contexts/ListMode/Context.ts","../../src/contexts/ListMode/Provider.tsx","../../src/contexts/ListMode/use.ts","../../src/lib/assertDefinedEx.ts","../../src/lib/getActualPaddingX.ts","../../src/lib/networkComponents.tsx"],"sourcesContent":["import type { TypographyProps } from '@mui/material'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\nexport const Ampersand: React.FC<TypographyProps> = (props) => {\n return (\n <Typography marginX={1} component=\"span\" {...props}>\n &\n </Typography>\n )\n}\n","import {\n Container, Grid, Typography,\n} from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowCol, FlexGrowRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nimport { useGradientStyles, useIsSmall } from '../../hooks/index.ts'\n\nexport interface BasicHeroProps extends FlexBoxProps {\n backgroundColor?: string\n backgroundImage?: string\n button1Href?: string\n button1Text?: string\n button1To?: string\n button2Href?: string\n button2Text?: string\n button2To?: string\n desc: string\n gradientTitle?: string\n heroImage?: string\n subLinkIcon?: ReactElement\n subLinkPath?: string\n subLinkText1?: string\n subLinkText2?: string\n sx?: Record<string, string>\n textColor?: string\n title: string\n title2?: string\n}\n\ninterface SubLinkSectionProps {\n backgroundImageAlignment?: boolean\n subLinkIcon?: ReactElement\n subLinkPath?: string\n subLinkText1?: string\n subLinkText2?: string\n}\n\ninterface ButtonSectionProps {\n buttonText?: string\n href?: string\n to?: string\n}\nconst SubLinkSection: React.FC<SubLinkSectionProps> = ({\n backgroundImageAlignment, subLinkIcon, subLinkPath, subLinkText1, subLinkText2,\n}) => {\n return (\n <FlexGrowRow\n width=\"100%\"\n sx={{\n flexDirection: { md: 'row', xs: 'column' },\n justifyContent: { md: backgroundImageAlignment ? 'flex-start' : 'center', xs: 'center' },\n }}\n >\n {subLinkIcon\n ? (\n <span>\n {subLinkIcon}\n \n </span>\n )\n : null}\n <Typography>\n {subLinkText1}\n \n </Typography>\n <LinkEx href={subLinkPath} underline=\"always\" target=\"_blank\" color=\"inherit\">\n <Typography>{subLinkText2}</Typography>\n </LinkEx>\n </FlexGrowRow>\n )\n}\n\nconst ButtonSection: React.FC<ButtonSectionProps> = ({\n href, to, buttonText,\n}) => {\n const isMobile = useIsSmall()\n return (\n <ButtonEx\n fullWidth={true}\n marginTop={1}\n marginBottom={1}\n marginRight={isMobile ? 2 : 1}\n marginLeft={isMobile ? 2 : 0}\n target={href ?? '_blank'}\n to={to}\n href={href}\n color=\"primary\"\n variant=\"contained\"\n paddingX={3}\n sx={{ display: href || to ? 'flex' : 'none' }}\n >\n {buttonText}\n </ButtonEx>\n )\n}\n\nexport const BasicHero: React.FC<BasicHeroProps> = ({\n backgroundImage,\n title,\n gradientTitle,\n backgroundColor,\n textColor,\n desc,\n heroImage,\n title2,\n subLinkText1,\n subLinkText2,\n subLinkPath,\n button1Text,\n button2Text,\n button2To,\n button1To,\n button2Href,\n button1Href,\n subLinkIcon,\n sx,\n ...props\n}) => {\n const isMobile = useIsSmall()\n const { classes } = useGradientStyles()\n return (\n <FlexGrowCol\n sx={{\n backgroundImage: `url(${backgroundImage})`,\n backgroundPosition: {\n lg: 'bottom', md: 'center left', xs: 'top left',\n },\n minHeight: {\n md: '500px',\n sm: '400px',\n xs: '200px',\n },\n ...sx,\n }}\n style={{\n backgroundColor: backgroundColor ?? '',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n color: textColor ?? '',\n }}\n {...props}\n >\n <Container>\n <Grid\n container\n justifyContent=\"center\"\n alignItems=\"center\"\n sx={{\n alignItems: { xs: 'center' },\n justifyContent: { xs: 'center' },\n }}\n >\n <Grid item xs={12} sm={8} md={backgroundImage ? 6 : 8} lg={backgroundImage ? 6 : 8}>\n <FlexGrowCol paddingY={2} sx={{ alignItems: { xs: backgroundImage && !isMobile ? 'flex-start' : 'center' } }}>\n <Typography variant=\"h1\" component=\"h1\" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>\n {title\n ? <span>{`${title} `}</span>\n : null}\n {gradientTitle\n ? (\n <span className={classes().heading}>\n {' '}\n {` ${gradientTitle}`}\n </span>\n )\n : null}\n {title2\n ? <span>{` ${title2}`}</span>\n : null}\n </Typography>\n <Typography variant=\"body1\" component=\"h2\" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>\n {desc}\n </Typography>\n <FlexGrowRow\n sx={{ flexDirection: { lg: 'row', xs: 'column' } }}\n width=\"100%\"\n marginTop={1}\n >\n <ButtonSection href={button1Href} to={button1To} buttonText={button1Text} />\n <ButtonSection href={button2Href} to={button2To} buttonText={button2Text} />\n </FlexGrowRow>\n <SubLinkSection\n subLinkIcon={subLinkIcon}\n subLinkText1={subLinkText1}\n subLinkText2={subLinkText2}\n subLinkPath={subLinkPath}\n backgroundImageAlignment={backgroundImage ? true : false}\n />\n </FlexGrowCol>\n </Grid>\n <Grid item xs={12} md={6}>\n {heroImage\n ? <img src={heroImage} width=\"100%\" />\n : null}\n </Grid>\n </Grid>\n </Container>\n </FlexGrowCol>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { makeStyles } from '@mui/styles'\nimport type { CSSProperties } from 'react'\n\nexport interface GradientStyles {\n background: CSSProperties\n border: CSSProperties\n heading: CSSProperties\n}\n\nexport const colorfulGradientLightMode = () => {\n return {\n background: { backgroundImage: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)' },\n border: {\n borderImage: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n borderImageSlice: 1,\n borderImageSource: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px',\n },\n heading: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n background: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n display: 'inline-block',\n },\n }\n}\n\nexport const colorfulGradientDarkMode = () => {\n return {\n background: { backgroundImage: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)' },\n border: {\n borderImage: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n borderImageSlice: 1,\n borderImageSource: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px',\n },\n heading: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n background: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n display: 'inline-block',\n },\n }\n}\n\nexport const useGradientStyles = () => {\n const theme = useTheme()\n const styles = theme.palette.mode === 'dark' ? colorfulGradientDarkMode() : colorfulGradientLightMode()\n const classes = makeStyles(styles)\n return { classes, styles }\n}\n","import type { Dispatch, SetStateAction } from 'react'\nimport { useState } from 'react'\n\nexport const useDataState = <T>(defaultValue: T | undefined): [T | undefined, Dispatch<SetStateAction<T | undefined>>] => {\n const [state, setState] = useState(defaultValue)\n\n const setDataState: Dispatch<SetStateAction<T | undefined>> = (value: SetStateAction<T | undefined>) => {\n try {\n if (JSON.stringify(value) !== JSON.stringify(state)) {\n setState(value)\n }\n } catch {\n console.error('setDataState failed! Make sure data type is stringifiable!')\n }\n }\n\n return [state, setDataState]\n}\n","import { useTheme } from '@mui/material'\n\nimport { useMediaQuery } from './useMediaQuery.ts'\n\n/** @deprecated use useIsSmall instead */\nexport const useIsMobile = () => {\n const theme = useTheme()\n return useMediaQuery(theme.breakpoints.down('md'))\n}\n\nexport const useIsSmall = () => {\n const theme = useTheme()\n return useMediaQuery(theme.breakpoints.down('md'))\n}\n","/* This file only exists to deal with the false positive lint error */\n\nexport { useMediaQuery } from '@mui/material'\n","import type { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload } from '@xyo-network/payload-model'\n\nexport const usePayloadHash = <TPayload extends Payload>(payload: TPayload | undefined | null) => {\n return usePromise(async () => (payload ? await PayloadBuilder.dataHash(payload) : undefined), [payload])[0]\n}\n\nexport const usePayloadHashes = <TPayload extends Payload>(payloads: TPayload[] | undefined | null) => {\n return usePromise(\n async () =>\n payloads\n ? await Promise.all(payloads.map<Promise<[TPayload, Hash]>>(async payload => [payload, await PayloadBuilder.dataHash(payload)]))\n : undefined,\n [payloads],\n )[0]\n}\n","import type { ForwardedRef } from 'react'\nimport { useEffect, useRef } from 'react'\n\nexport const useShareForwardedRef = <T>(forwardedRef: ForwardedRef<T>, refresh = 0) => {\n // final ref that will share value with forward ref. this is the one to be attached to components\n const innerRef = useRef<T>(null)\n\n useEffect(() => {\n if (!forwardedRef) {\n return\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(innerRef.current)\n return\n } else {\n forwardedRef.current = innerRef.current\n }\n }, [forwardedRef, refresh])\n\n return innerRef\n}\n","import type {\n BoxProps, TypographyProps, TypographyTypeMap,\n} from '@mui/material'\nimport {\n Box, styled, Typography,\n} from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React, {\n forwardRef, useCallback, useState,\n} from 'react'\n\nimport { useShareForwardedRef } from '../hooks/index.ts'\n\n/**\n * Heavily inspired by - https://stackoverflow.com/a/30362531/2803259\n */\n\nconst ComponentName = 'Ellipsize'\n\nexport interface EllipsizeRootProps extends BoxProps {\n beforeLineHeight?: string | number\n}\n\nconst EllipsizeRoot = styled(Box, {\n name: ComponentName,\n shouldForwardProp: prop => prop !== 'beforeLineHeight',\n slot: 'Root',\n})<EllipsizeRootProps>(({ beforeLineHeight }) => ({\n '&': {\n // because the cell content ends up absolutely positioned, the cell doesn't know the content height.\n // the pseudo element with a hidden character establishes the proper height of the content and hides it\n ':before': {\n content: \"'nbsp;'\",\n display: 'block',\n // take the pseudo element out of the `display: block` flow so it won't push against our actual content\n float: 'left',\n visibility: 'hidden',\n // since we are `display: block`, lineHeight is the height\n ...(beforeLineHeight && { lineHeight: beforeLineHeight }),\n },\n },\n}))\n\nconst EllipsizeInnerWrap = styled(Box, {\n name: ComponentName,\n slot: 'innerWrap',\n})(() => ({ position: 'relative' }))\n\nconst EllipsizeContentWrap = styled(Typography, {\n name: ComponentName,\n shouldForwardProp: prop => prop !== 'ellipsisPosition',\n slot: 'contentWrap',\n})<TypographyWithComponentProps>(({\n theme, ellipsisPosition, fontFamily,\n}) => {\n return theme.unstable_sx({\n fontFamily: fontFamily ?? 'monospace',\n left: 0,\n overflow: 'hidden',\n position: 'absolute',\n right: 0,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...(ellipsisPosition === 'start'\n ? {\n direction: 'rtl',\n textAlign: 'left',\n }\n : {}),\n })\n})\n\nconst useClientHeight = () => {\n const [contentWrapHeight, setContentWrapHeight] = useState<string>()\n\n const contentWrapRef = useCallback((node: HTMLElement) => {\n if (node !== null) {\n setContentWrapHeight(node.clientHeight + 'px')\n }\n }, [])\n\n return { contentWrapHeight, contentWrapRef }\n}\n\nexport type TypographyWithComponentProps<D extends React.ElementType = TypographyTypeMap['defaultComponent'], P = {}> = TypographyProps<D, P> & {\n ellipsisPosition?: 'start' | 'end'\n}\n\nexport interface EllipsizeBoxProps extends BoxProps {\n disableSharedRef?: boolean\n ellipsisPosition?: 'start' | 'end'\n typographyProps?: TypographyWithComponentProps\n}\n\nexport const EllipsizeBox = forwardRef<HTMLDivElement, WithChildren<EllipsizeBoxProps>>(\n ({\n children, ellipsisPosition = 'start', disableSharedRef, typographyProps, ...props\n }, ref) => {\n // Allow syncing of :before pseudo element height with contentWrapHeight\n const { contentWrapRef, contentWrapHeight } = useClientHeight()\n const sharedRef = useShareForwardedRef(ref)\n\n return (\n <EllipsizeRoot beforeLineHeight={!!sharedRef && !disableSharedRef ? contentWrapHeight : undefined} {...props} ref={ref}>\n <EllipsizeInnerWrap>\n <EllipsizeContentWrap ref={contentWrapRef} component=\"span\" ellipsisPosition={ellipsisPosition} variant=\"body2\" {...typographyProps}>\n {children}\n </EllipsizeContentWrap>\n </EllipsizeInnerWrap>\n </EllipsizeRoot>\n )\n },\n)\nEllipsizeBox.displayName = 'EllipsizeBox'\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { ErrorInfo, ReactNode } from 'react'\nimport React, { Component } from 'react'\n\nexport interface ErrorBoundaryProps {\n children: ReactNode\n // fallback as a static ReactNode value\n fallback?: ReactNode\n // fallback element that can receive the error as a prop\n fallbackWithError?: (error: Error) => ReactNode\n scope?: string\n}\n\nexport interface ErrorBoundaryState {\n error?: Error\n}\n\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props)\n this.state = { error: undefined }\n }\n\n static getDerivedStateFromError(error: Error) {\n return { error }\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n console.error(`${error}: ${errorInfo}`)\n }\n\n override render() {\n if (this.state.error) {\n if (this.props.fallbackWithError) {\n return this.props.fallbackWithError(this.state.error)\n }\n return (\n this.props.fallback ?? (\n <FlexCol>\n <Typography variant=\"h1\">Something went wrong.</Typography>\n {this.props.scope && (\n <Typography variant=\"h2\">\n [\n {this.props.scope}\n ]\n </Typography>\n )}\n <Typography variant=\"body1\">\n [\n {this.state.error?.message}\n ]\n </Typography>\n </FlexCol>\n )\n )\n }\n\n return this.props.children\n }\n}\n","import type { StackProps } from '@mui/material'\nimport { Stack, Typography } from '@mui/material'\nimport React from 'react'\n\nexport interface LabeledTextFieldWrapperProps extends StackProps {\n label: string\n}\n\nexport const LabeledTextFieldWrapper: React.FC<LabeledTextFieldWrapperProps> = ({\n children, label, ...props\n}) => {\n return (\n <Stack flexDirection=\"column\" {...props}>\n <Typography gutterBottom variant=\"caption\">\n {label}\n </Typography>\n {children}\n </Stack>\n )\n}\n","import type { ListItemButtonProps } from '@mui/material'\nimport { ListItemButton } from '@mui/material'\nimport type { MouseEvent } from 'react'\nimport React from 'react'\nimport type { NavigateOptions, To } from 'react-router-dom'\nimport { useNavigate } from 'react-router-dom'\n\nexport interface ListItemButtonExProps extends ListItemButtonProps {\n target?: string\n to?: To\n toOptions?: NavigateOptions\n}\n\nexport const ListItemButtonExTo: React.FC<ListItemButtonExProps> = ({\n to, toOptions, onClick, ...props\n}) => {\n const navigate = useNavigate()\n const localOnClick = (event: MouseEvent<HTMLDivElement>) => {\n onClick?.(event)\n if (to) {\n navigate(to, toOptions)\n }\n }\n\n return <ListItemButton onClick={localOnClick} {...props} />\n}\n\nexport const ListItemButtonEx: React.FC<ListItemButtonExProps> = ({ to, ...props }) => {\n return to ? <ListItemButtonExTo to={to} {...props} /> : <ListItemButton {...props} />\n}\n","import { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport { NotFound } from './NotFound.tsx'\n\nexport interface LoadResultProps<T> {\n /** @deprecated - use error prop */\n apiError?: Error\n /** Defer error handling to the children and load them */\n error?: boolean\n notFound: boolean\n searchResult: T | undefined\n}\n\nexport function LoadResult<T>(props: PropsWithChildren<LoadResultProps<T>>) {\n const {\n notFound, error, searchResult, children,\n } = props\n if (notFound) {\n return <NotFound />\n }\n if (error) {\n return <>{children}</>\n }\n return searchResult === undefined ? <FlexGrowRow busy minHeight=\"50px\" /> : <>{children}</>\n}\n","import { Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nconst NotFound: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <Typography variant=\"h2\">Sorry!</Typography>\n <Typography marginY={3} variant=\"body2\">\n {'Can\\'t find anything here'}\n </Typography>\n </FlexGrowCol>\n )\n}\n\nexport { NotFound }\n","import type { TypographyProps } from '@mui/material'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\nexport const Pipe: React.FC<TypographyProps> = (props) => {\n return (\n <Typography marginX={1} component=\"span\" {...props}>\n |\n </Typography>\n )\n}\n","import type { AlertProps } from '@mui/material'\nimport { Alert, AlertTitle } from '@mui/material'\nimport React from 'react'\n\nexport interface PayloadDataMissingProps extends AlertProps {\n alertBody?: string\n}\n\nexport const PayloadDataMissing: React.FC<PayloadDataMissingProps> = ({ alertBody, ...props }) => {\n return (\n <Alert severity=\"warning\" {...props}>\n <AlertTitle>Missing Data</AlertTitle>\n {alertBody ?? 'Payload is missing required data to render correctly'}\n </Alert>\n )\n}\n","import { styled } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\nconst StyledScrollTableOnSm = styled('div')(({ theme }) => ({\n [theme.breakpoints.down('md')]: { overflowX: 'scroll' },\n display: 'flex',\n flexGrow: 1,\n}))\n\nconst ScrollTableOnSm: React.FC<WithChildren> = ({ children }) => <StyledScrollTableOnSm>{children}</StyledScrollTableOnSm>\n\nexport { ScrollTableOnSm }\n","import { useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport React, { forwardRef } from 'react'\n\nexport const SectionSpacingRow = forwardRef<HTMLDivElement, FlexBoxProps>(({\n children, sx, ...props\n}, ref) => {\n const theme = useTheme()\n return (\n <FlexGrowRow\n sx={{\n paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },\n paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },\n ...sx,\n }}\n width=\"100%\"\n ref={ref}\n {...props}\n >\n {children}\n </FlexGrowRow>\n )\n})\n\nSectionSpacingRow.displayName = 'SectionSpacingRow'\n","import React, { forwardRef } from 'react'\n\nimport type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'\nimport { EllipsisTableCell } from './EllipsisTableCell.tsx'\n\nexport interface AddressTableCellProps extends Omit<EllipsisTableCellProps, 'ref'> {\n /** @deprecated - archives are no longer supported */\n archive?: string\n /** @deprecated - use events instead */\n exploreDomain?: string\n link?: boolean\n}\n\nconst AddressTableCell = forwardRef<HTMLElement, AddressTableCellProps>(({\n value, archive, exploreDomain, link, ...props\n}, ref) => {\n const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : undefined\n const to = exploreDomain === undefined && archive ? `/archive/${archive}/address/${value}` : undefined\n\n return <EllipsisTableCell value={value} href={href} to={to} ref={ref} link={link} {...props} />\n})\n\nAddressTableCell.displayName = 'AddressTableCell'\nexport { AddressTableCell }\n","import type { TableCellProps } from '@mui/material'\nimport { styled, TableCell } from '@mui/material'\nimport { LinkEx } from '@xylabs/react-link'\nimport React, { forwardRef, useMemo } from 'react'\nimport type { To } from 'react-router-dom'\n\nimport { EllipsizeBox } from '../Ellipsize.tsx'\n\nconst EllipsisTableCellRoot = styled(TableCell, {\n name: 'EllipsisTableCell',\n shouldForwardProp: prop => prop !== 'width',\n slot: 'Root',\n})(({ width = '100%' }) => ({ width }))\n\nexport interface EllipsisTableCellProps extends Omit<TableCellProps, 'ref'> {\n href?: string\n link?: boolean\n to?: To\n value?: string\n /**\n * Width of the table cell.\n *\n * Note: When using percentages, this value can be different than what you expect\n * if used on a cell that is not the first cell in the first row.\n */\n width?: string | number\n}\n\nexport const EllipsisTableCellWithRef = forwardRef<HTMLElement, EllipsisTableCellProps>(\n ({\n children, href, link = false, to, value, ...props\n }, ref) => {\n const data = useMemo(() => {\n if (children) {\n return children\n }\n if (href || link || to) {\n return (\n <LinkEx title={value} to={to} href={href} target={href ? '_blank' : undefined}>\n {value}\n </LinkEx>\n )\n }\n return value\n }, [children, href, link, to, value])\n return (\n <EllipsisTableCellRoot ref={ref} {...props}>\n <EllipsizeBox sx={{ cursor: link || to || href ? 'pointer' : 'inherit' }}>{data}</EllipsizeBox>\n </EllipsisTableCellRoot>\n )\n },\n)\n\nEllipsisTableCellWithRef.displayName = 'EllipsisTableCell'\nexport const EllipsisTableCell = EllipsisTableCellWithRef\n","import type { Hash } from '@xylabs/hex'\nimport { useEvent } from '@xyo-network/react-event'\nimport React, { useRef } from 'react'\n\nimport type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'\nimport { EllipsisTableCell } from './EllipsisTableCell.tsx'\n\nexport interface HashTableCellProps extends EllipsisTableCellProps {\n archive?: string\n dataType?: 'block' | 'payload'\n exploreDomain?: string\n network?: string\n onHashClick?: (value: Hash) => void\n}\n\nexport const HashTableCell: React.FC<HashTableCellProps> = ({\n value, archive, dataType, network, exploreDomain, onHashClick, ...props\n}) => {\n const ref = useRef<HTMLTableCellElement | null>(null)\n const [tableCellRef, dispatch] = useEvent<HTMLTableCellElement>(undefined, ref)\n const hashPath = `/${dataType}/hash/${value}?network=${network ?? 'main'}`\n const explorePath = archive ? `/archive/${archive}${hashPath}` : hashPath\n\n const handleCellClick = () => {\n if (onHashClick) {\n onHashClick(value as Hash)\n } else {\n dispatch?.('hash', 'click', value as Hash)\n }\n }\n\n return (\n <EllipsisTableCell\n onClick={handleCellClick}\n ref={tableCellRef}\n value={value}\n href={exploreDomain ? `${exploreDomain}${explorePath}}` : undefined}\n to={exploreDomain ? undefined : explorePath}\n {...props}\n />\n )\n}\n","import type { AvatarProps } from '@mui/material'\nimport { Avatar, useTheme } from '@mui/material'\nimport React from 'react'\n\nexport const ThemeTokenAvatar: React.FC<AvatarProps> = ({ ...props }) => {\n const theme = useTheme()\n return <Avatar sx={{ background: theme.palette.common.white }} {...props} />\n}\n","import type { AvatarGroupProps } from '@mui/material'\nimport { AvatarGroup } from '@mui/material'\nimport React from 'react'\n\nimport { ThemeTokenAvatar } from '../ThemeTokenAvatar/index.ts'\n\nexport interface ThemeTokenAvatarGroupProps extends AvatarGroupProps {\n images?: string[]\n}\n\nexport const ThemeTokenAvatarGroup: React.FC<ThemeTokenAvatarGroupProps> = ({ images, ...props }) => {\n return <AvatarGroup {...props}>{images?.map((image, index) => <ThemeTokenAvatar key={index} src={image} />)}</AvatarGroup>\n}\n","import type { PaperProps, TypographyProps } from '@mui/material'\nimport { Paper, Typography } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { ReactNode } from 'react'\nimport React from 'react'\nexport interface TokenBarProps extends PaperProps {\n text1?: ReactNode\n text1Props?: TypographyProps\n text1Suffix?: ReactNode\n text2?: ReactNode\n text2Props?: TypographyProps\n text2Suffix?: ReactNode\n}\n\nexport const TokenBar: React.FC<TokenBarProps> = ({\n text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props\n}) => {\n return (\n <Paper elevation={0} className=\"TokenBar-root\" {...props}>\n <FlexRow justifyContent=\"space-between\">\n <Typography variant=\"body1\" fontWeight={300} margin={1} {...text1Props}>\n {text1}\n {text1Suffix}\n </Typography>\n <Typography variant=\"body1\" fontWeight={300} textTransform=\"uppercase\" color=\"gray\" margin={1} {...text2Props}>\n {text2}\n {text2Suffix}\n </Typography>\n </FlexRow>\n </Paper>\n )\n}\n","export { default as ada } from './ada.png'\nexport { default as btc } from './btc.png'\nexport { default as busd } from './busd.png'\nexport { default as dai } from './dai.png'\nexport { default as dogecoin } from './dogecoin.png'\nexport { default as dot } from './dot.png'\nexport { default as ethereum } from './ethereum.png'\nexport { default as frax } from './frax.png'\nexport { default as link } from './link.png'\nexport { default as sol } from './sol.png'\nexport { default as tether } from './tether.png'\nexport { default as usdCoin } from './usd-coin.png'\nexport { default as weth } from './weth.png'\nexport { default as wrappedBtc } from './wrapped-bitcoin.png'\nexport { default as xyo } from './xyo.png'\n","import * as tokenImages from './img/index.ts'\n\nexport interface TokenData {\n coinmarketcapLink: string\n etherscanLink: string\n icon: string\n readableName: string\n tokenSymbol: string\n uniqueTokenId: string\n}\n\nexport const TokenData: TokenData[] = [\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/multi-collateral-dai/',\n etherscanLink: 'https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f',\n icon: tokenImages.dai,\n readableName: 'Dai',\n tokenSymbol: 'dai',\n uniqueTokenId: 'dai',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/weth/',\n etherscanLink: 'https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n icon: tokenImages.weth,\n readableName: 'Weth',\n tokenSymbol: 'weth',\n uniqueTokenId: 'weth',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/ethereum/',\n etherscanLink: 'n/a',\n icon: tokenImages.ethereum,\n readableName: 'Ethereum',\n tokenSymbol: 'eth',\n uniqueTokenId: 'ethereum',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/bitcoin/',\n etherscanLink: 'n/a',\n icon: tokenImages.btc,\n readableName: 'Bitcoin',\n tokenSymbol: 'btc',\n uniqueTokenId: 'btc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/xyo/',\n etherscanLink: 'https://etherscan.io/token/0x55296f69f40ea6d20e478533c15a6b08b654e758',\n icon: tokenImages.xyo,\n readableName: 'XYO',\n tokenSymbol: 'xyo',\n uniqueTokenId: 'xyo',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/frax/',\n etherscanLink: 'https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e',\n icon: tokenImages.frax,\n readableName: 'Frax',\n tokenSymbol: 'frax',\n uniqueTokenId: 'frax',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/wrapped-bitcoin/',\n etherscanLink: 'https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n icon: tokenImages.wrappedBtc,\n readableName: 'Wrapped BTC',\n tokenSymbol: 'wbtc',\n uniqueTokenId: 'wbtc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/usd-coin/',\n etherscanLink: 'https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n icon: tokenImages.usdCoin,\n readableName: 'USDC',\n tokenSymbol: 'usdc',\n uniqueTokenId: 'usdc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/tether/',\n etherscanLink: 'https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7',\n icon: tokenImages.tether,\n readableName: 'Tether',\n tokenSymbol: 'usdt',\n uniqueTokenId: 'usdt',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/cardano/',\n etherscanLink: 'https://etherscan.io/token/0xc14777c94229582e5758c5a79b83dde876b9be98',\n icon: tokenImages.ada,\n readableName: 'Cardano',\n tokenSymbol: 'ada',\n uniqueTokenId: 'ada',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/binance-usd/',\n etherscanLink: 'https://etherscan.io/token/0x4Fabb145d64652a948d72533023f6E7A623C7C53',\n icon: tokenImages.busd,\n readableName: 'Binance USD',\n tokenSymbol: 'busd',\n uniqueTokenId: 'busd',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/dogecoin/',\n etherscanLink: 'https://etherscan.io/token/0x7618b5024a6349f9aef10ddfd33e3428c734551e',\n icon: tokenImages.dogecoin,\n readableName: 'Dogecoin',\n tokenSymbol: 'doge',\n uniqueTokenId: 'doge',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/polkadot-new/',\n etherscanLink: 'https://etherscan.io/token/0x2d4fb6dd969992c881d8e534c747cc925d5ba221',\n icon: tokenImages.dot,\n readableName: 'Polkadot',\n tokenSymbol: 'dot',\n uniqueTokenId: 'dot',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/chainlink/',\n etherscanLink: 'https://etherscan.io/token/0x514910771af9ca656af840dff83e8264ecf986ca',\n icon: tokenImages.link,\n readableName: 'ChainLink',\n tokenSymbol: 'link',\n uniqueTokenId: 'link',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/solana/',\n etherscanLink: 'https://etherscan.io/token/0x1f54638b7737193ffd86c19ec51907a7c41755d8',\n icon: tokenImages.sol,\n readableName: 'Solana',\n tokenSymbol: 'sol',\n uniqueTokenId: 'sol',\n },\n]\n","import { TokenData } from './TokenData.ts'\n\n// eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks\nexport const useGetTokenData = (symbols: (string | undefined)[]) => {\n return symbols?.map((symbol) => {\n const additionalTokenData = TokenData.find(x => x.tokenSymbol === symbol)\n const checkedTokenData = additionalTokenData ?? TokenData[0]\n return checkedTokenData\n })\n}\n","import type { AvatarProps, CardHeaderProps } from '@mui/material'\nimport { CardHeader, Typography } from '@mui/material'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport { ThemeTokenAvatar } from '../ThemeTokenAvatar/index.ts'\n\nexport interface TokenSummaryProps extends CardHeaderProps {\n icon?: string\n imgBgProps?: AvatarProps\n symbol?: string\n symbolElement?: ReactNode\n}\n\nexport const TokenSummary: React.FC<TokenSummaryProps> = ({\n icon, symbol, symbolElement, children, ...props\n}) => {\n return (\n <>\n <CardHeader\n avatar={<ThemeTokenAvatar src={icon} alt={symbol} />}\n title={(\n <Typography variant=\"h6\" fontWeight={300} textTransform=\"uppercase\">\n {symbolElement ?? symbol}\n </Typography>\n )}\n {...props}\n />\n {children}\n </>\n )\n}\n","import type { TypographyProps } from '@mui/material'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\nimport { useGradientStyles } from '../hooks/index.ts'\n\nexport interface TypographyExProps extends TypographyProps {\n gradient?: 'text'\n}\n\nexport const TypographyEx: React.FC<TypographyExProps> = ({ gradient, ...props }) => {\n const { classes } = useGradientStyles()\n return <Typography className={gradient === 'text' ? classes().heading : undefined} {...props} />\n}\n","import { createContext } from 'react'\n\nimport type { ContextExState } from './State.ts'\n\nexport const createContextEx = <T>() => createContext<T & ContextExState>({ provided: false } as T & ContextExState)\n","import type { Context } from 'react'\nimport { useContext } from 'react'\n\nimport type { ContextExState } from './State.ts'\n\nexport const useContextEx = <T extends ContextExState>(context: Context<T>, contextName: string, required = true) => {\n const { provided, ...props } = useContext(context)\n if (!provided && required) {\n throw new Error(`use${contextName} can not be used outside of a ${contextName}Context when required=true`)\n }\n return props\n}\n\nexport const useProvided = <T extends ContextExState>(context: Context<T>) => {\n const { provided } = useContext(context)\n return provided\n}\n","import { createContextEx } from '../contextEx/index.ts'\n\nexport const ResolvedDivinerContext = <T>() => createContextEx<T>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport type { Context } from 'react'\nimport React, {\n useEffect, useMemo, useState,\n} from 'react'\n\nimport type { ContextExProviderProps } from '../contextEx/index.ts'\nimport type { ResolvedDivinerState } from './State.ts'\n\nexport interface DivinerProviderProps<D> extends ContextExProviderProps, WithChildren {\n context: Context<ResolvedDivinerState<D>>\n diviner?: D\n}\n\n/** Exposes a resolved diviner */\nexport const ResolvedDivinerProvider = <D,>({\n diviner: divinerProp, required = false, children, context,\n}: DivinerProviderProps<D>) => {\n const [diviner, setDiviner] = useState<D | undefined>(divinerProp)\n\n useEffect(() => {\n if (divinerProp) {\n setDiviner(divinerProp)\n }\n }, [divinerProp, setDiviner])\n\n const value = useMemo(() => {\n const resolveDiviner = () => {\n if (divinerProp) {\n return diviner === divinerProp ? diviner : undefined\n } else {\n return diviner\n }\n }\n return {\n diviner: resolveDiviner(),\n provided: true,\n setDiviner,\n }\n }, [\n setDiviner, divinerProp])\n\n return (\n <context.Provider\n value={value}\n >\n {diviner\n ? children\n : required\n ? null\n : children}\n </context.Provider>\n )\n}\n","import { createContextEx } from '../contextEx/index.ts'\nimport type { ListModeContextState } from './State.ts'\n\nexport const ListModeContext = createContextEx<ListModeContextState>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ListMode } from '../../models/index.ts'\nimport { ListModeContext } from './Context.ts'\n\nexport interface ListModeProviderProps {\n defaultListMode?: ListMode\n}\n\nexport const ListModeProvider: React.FC<WithChildren<ListModeProviderProps>> = ({ children, defaultListMode }) => {\n const [listMode, setListMode] = useState(defaultListMode ?? 'default')\n\n const value = useMemo(() => ({\n listMode,\n provided: true,\n setListMode,\n }), [listMode,\n setListMode])\n\n return (\n <ListModeContext.Provider\n value={value}\n >\n {children}\n </ListModeContext.Provider>\n )\n}\n","import { useContextEx } from '../contextEx/index.ts'\nimport { ListModeContext } from './Context.ts'\n\nexport const useListMode = (required = false) => {\n return useContextEx(ListModeContext, 'ListMode', required)\n}\n","export const assertDefinedEx = <T>(expr?: T | null, message?: string): T => {\n if (expr !== null && expr !== undefined) return expr\n throw new Error(message)\n}\n","export const parseMeausureString = (measure?: string, absolute?: number) => {\n if (measure !== undefined && measure !== null && measure.length > 0) {\n if (measure.endsWith('px')) {\n return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2)))\n } else if (measure.endsWith('%')) {\n if (absolute !== undefined) {\n return (Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 1))) / 100) * absolute\n }\n throw new Error('Error Parsing Measure [missing absolute]')\n } else if (measure.endsWith('vw')) {\n return (Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2))) / 100) * window.innerWidth\n } else if (measure.endsWith('vh')) {\n return (Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2))) / 100) * window.innerHeight\n }\n throw new Error(`Error Parsing Measure [${measure}]`)\n }\n}\n\nexport const parsePadding = (padding: string) => {\n const parts = padding.split(' ')\n switch (parts.length) {\n case 4: {\n return {\n bottom: parts[2],\n left: parts[3],\n right: parts[1],\n top: parts[0],\n }\n }\n case 3: {\n return {\n bottom: parts[2],\n right: parts[1],\n top: parts[0],\n }\n }\n case 2: {\n return {\n bottom: parts[0],\n left: parts[1],\n right: parts[1],\n top: parts[0],\n }\n }\n case 1: {\n return {\n bottom: parts[0],\n left: parts[0],\n right: parts[0],\n top: parts[0],\n }\n }\n }\n}\n\nexport const getActualPaddingX = (element: HTMLElement) => {\n const padding = parsePadding(window.getComputedStyle(element, null).getPropertyValue('padding'))\n const paddingLeft\n = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue('padding-left') ?? padding?.left, element.clientWidth) ?? 0\n const paddingRight\n = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue('padding-right') ?? padding?.right, element.clientWidth) ?? 0\n return paddingLeft + paddingRight\n}\n","import {\n BubbleChartRounded as BubbleChartRoundedIcon,\n HubRounded as HubRoundedIcon,\n InsertLinkRounded as InsertLinkRoundedIcon,\n Inventory2Rounded as Inventory2RoundedIcon,\n TimerRounded as TimerRoundedIcon,\n VisibilityRounded as VisibilityRoundedIcon,\n} from '@mui/icons-material'\nimport type { SvgIconProps } from '@mui/material'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nexport type NetworkComponentSlug = 'sentinel' | 'bridge' | 'archivist' | 'diviner' | 'node' | 'witness'\n\nexport interface NetworkComponentDetails {\n icon: (props?: SvgIconProps) => ReactElement\n name: string\n slug: NetworkComponentSlug\n}\n\nexport const networkComponents: NetworkComponentDetails[] = [\n {\n icon: props => <HubRoundedIcon {...props} />, name: 'Node', slug: 'node',\n },\n {\n icon: props => <TimerRoundedIcon {...props} />, name: 'Sentinel', slug: 'sentinel',\n },\n {\n icon: props => <InsertLinkRoundedIcon {...props} />, name: 'Bridge', slug: 'bridge',\n },\n {\n icon: props => <Inventory2RoundedIcon {...props} />, name: 'Archivist', slug: 'archivist',\n },\n {\n icon: props => <BubbleChartRoundedIcon {...props} />, name: 'Diviner', slug: 'diviner',\n },\n {\n icon: props => <VisibilityRoundedIcon {...props} />, name: 'Witness', slug: 'witness',\n },\n]\n\nexport const findNetworkComponentIndex = (slug: string) => {\n return networkComponents.findIndex(info => info.slug === slug)\n}\n\nexport const findNetworkComponent = (slug: string) => {\n return networkComponents.find(info => info.slug === slug)\n}\n"],"mappings":"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","names":["Typography","React","Ampersand","props","Typography","marginX","component","Container","Grid","Typography","ButtonEx","FlexGrowCol","FlexGrowRow","LinkEx","React","useTheme","makeStyles","colorfulGradientLightMode","background","backgroundImage","border","borderImage","borderImageSlice","borderImageSource","borderRadius","borderStyle","borderWidth","heading","WebkitBackgroundClip","WebkitTextFillColor","display","colorfulGradientDarkMode","useGradientStyles","theme","useTheme","styles","palette","mode","classes","makeStyles","useState","useDataState","defaultValue","state","setState","useState","setDataState","value","JSON","stringify","console","error","useTheme","useMediaQuery","useIsMobile","theme","useTheme","useMediaQuery","breakpoints","down","useIsSmall","usePromise","PayloadBuilder","usePayloadHash","payload","usePromise","PayloadBuilder","dataHash","undefined","usePayloadHashes","payloads","Promise","all","map","useEffect","useRef","useShareForwardedRef","forwardedRef","refresh","innerRef","useRef","useEffect","current","SubLinkSection","backgroundImageAlignment","subLinkIcon","subLinkPath","subLinkText1","subLinkText2","React","FlexGrowRow","width","sx","flexDirection","md","xs","justifyContent","span","Typography","LinkEx","href","underline","target","color","ButtonSection","to","buttonText","isMobile","useIsSmall","ButtonEx","fullWidth","marginTop","marginBottom","marginRight","marginLeft","variant","paddingX","display","BasicHero","backgroundImage","title","gradientTitle","backgroundColor","textColor","desc","heroImage","title2","button1Text","button2Text","button2To","button1To","button2Href","button1Href","props","classes","useGradientStyles","FlexGrowCol","backgroundPosition","lg","minHeight","sm","style","backgroundRepeat","backgroundSize","Container","Grid","container","alignItems","item","paddingY","component","gutterBottom","textAlign","className","heading","img","src","Box","styled","Typography","React","forwardRef","useCallback","useState","ComponentName","EllipsizeRoot","styled","Box","name","shouldForwardProp","prop","slot","beforeLineHeight","content","display","float","visibility","lineHeight","EllipsizeInnerWrap","position","EllipsizeContentWrap","Typography","theme","ellipsisPosition","fontFamily","unstable_sx","left","overflow","right","textOverflow","whiteSpace","direction","textAlign","useClientHeight","contentWrapHeight","setContentWrapHeight","useState","contentWrapRef","useCallback","node","clientHeight","EllipsizeBox","forwardRef","children","disableSharedRef","typographyProps","props","ref","sharedRef","useShareForwardedRef","React","undefined","component","variant","displayName","Typography","FlexCol","React","Component","ErrorBoundary","Component","constructor","props","state","error","undefined","getDerivedStateFromError","componentDidCatch","errorInfo","console","render","fallbackWithError","fallback","React","FlexCol","Typography","variant","scope","message","children","Stack","Typography","React","LabeledTextFieldWrapper","children","label","props","React","Stack","flexDirection","Typography","gutterBottom","variant","ListItemButton","React","useNavigate","ListItemButtonExTo","to","toOptions","onClick","props","navigate","useNavigate","localOnClick","event","React","ListItemButton","ListItemButtonEx","FlexGrowRow","React","Typography","FlexGrowCol","React","NotFound","props","React","FlexGrowCol","Typography","variant","marginY","LoadResult","props","notFound","error","searchResult","children","React","NotFound","undefined","FlexGrowRow","busy","minHeight","Typography","React","Pipe","props","React","Typography","marginX","component","Alert","AlertTitle","React","PayloadDataMissing","alertBody","props","React","Alert","severity","AlertTitle","styled","React","StyledScrollTableOnSm","styled","theme","breakpoints","down","overflowX","display","flexGrow","ScrollTableOnSm","children","React","useTheme","FlexGrowRow","React","forwardRef","SectionSpacingRow","children","sx","props","ref","theme","paddingBottom","md","spacing","xs","paddingTop","width","displayName","React","forwardRef","styled","TableCell","LinkEx","React","forwardRef","useMemo","EllipsisTableCellRoot","styled","TableCell","name","shouldForwardProp","prop","slot","width","EllipsisTableCellWithRef","forwardRef","children","href","link","to","value","props","ref","data","useMemo","React","LinkEx","title","target","undefined","EllipsizeBox","sx","cursor","displayName","EllipsisTableCell","AddressTableCell","forwardRef","value","archive","exploreDomain","link","props","ref","href","undefined","to","React","EllipsisTableCell","displayName","useEvent","React","useRef","HashTableCell","value","archive","dataType","network","exploreDomain","onHashClick","props","ref","useRef","tableCellRef","dispatch","useEvent","undefined","hashPath","explorePath","handleCellClick","React","EllipsisTableCell","onClick","href","to","Avatar","useTheme","React","ThemeTokenAvatar","props","theme","useTheme","React","Avatar","sx","background","palette","common","white","AvatarGroup","React","ThemeTokenAvatarGroup","images","props","React","AvatarGroup","map","image","index","ThemeTokenAvatar","key","src","Paper","Typography","FlexRow","React","TokenBar","text1","text1Props","text1Suffix","text2","text2Props","text2Suffix","props","React","Paper","elevation","className","FlexRow","justifyContent","Typography","variant","fontWeight","margin","textTransform","color","ada","default","btc","busd","dai","dogecoin","dot","ethereum","frax","link","sol","tether","usdCoin","weth","wrappedBtc","xyo","TokenData","coinmarketcapLink","etherscanLink","icon","dai","readableName","tokenSymbol","uniqueTokenId","weth","ethereum","btc","xyo","frax","wrappedBtc","usdCoin","tether","ada","busd","dogecoin","dot","link","sol","useGetTokenData","symbols","map","symbol","additionalTokenData","TokenData","find","x","tokenSymbol","checkedTokenData","CardHeader","Typography","React","TokenSummary","icon","symbol","symbolElement","children","props","React","CardHeader","avatar","ThemeTokenAvatar","src","alt","title","Typography","variant","fontWeight","textTransform","Typography","React","TypographyEx","gradient","props","classes","useGradientStyles","React","Typography","className","heading","undefined","createContext","createContextEx","createContext","provided","useContext","useContextEx","context","contextName","required","provided","props","useContext","Error","useProvided","ResolvedDivinerContext","createContextEx","React","useEffect","useMemo","useState","ResolvedDivinerProvider","diviner","divinerProp","required","children","context","setDiviner","useState","useEffect","value","useMemo","resolveDiviner","undefined","provided","React","Provider","ListModeContext","createContextEx","React","useMemo","useState","ListModeProvider","children","defaultListMode","listMode","setListMode","useState","value","useMemo","provided","React","ListModeContext","Provider","useListMode","required","useContextEx","ListModeContext","assertDefinedEx","expr","message","undefined","Error","parseMeausureString","measure","absolute","undefined","length","endsWith","Number","parseFloat","slice","Math","max","Error","window","innerWidth","innerHeight","parsePadding","padding","parts","split","bottom","left","right","top","getActualPaddingX","element","getComputedStyle","getPropertyValue","paddingLeft","clientWidth","paddingRight","BubbleChartRounded","BubbleChartRoundedIcon","HubRounded","HubRoundedIcon","InsertLinkRounded","InsertLinkRoundedIcon","Inventory2Rounded","Inventory2RoundedIcon","TimerRounded","TimerRoundedIcon","VisibilityRounded","VisibilityRoundedIcon","React","networkComponents","icon","props","React","HubRoundedIcon","name","slug","TimerRoundedIcon","InsertLinkRoundedIcon","Inventory2RoundedIcon","BubbleChartRoundedIcon","VisibilityRoundedIcon","findNetworkComponentIndex","findIndex","info","findNetworkComponent","find"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/Ampersand.tsx","../../src/components/BasicHero/BasicHero.tsx","../../src/hooks/GradientStyles/GradientStyles.tsx","../../src/hooks/useDataState.ts","../../src/hooks/useIsMobile.ts","../../src/hooks/useMediaQuery.ts","../../src/hooks/usePayloadHash.ts","../../src/hooks/useShareForwardRef.ts","../../src/components/Ellipsize.tsx","../../src/components/LabeledTextFieldWrapper.tsx","../../src/components/ListItemButtonEx.tsx","../../src/components/LoadResult.tsx","../../src/components/NotFound.tsx","../../src/components/Pipe.tsx","../../src/components/pluginValidation/DataMissing.tsx","../../src/components/ScrollTableOnSm.tsx","../../src/components/SectionSpacingRow/SectionSpacingRow.tsx","../../src/components/TableCell/AddressTableCell.tsx","../../src/components/TableCell/EllipsisTableCell.tsx","../../src/components/TableCell/HashTableCell.tsx","../../src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx","../../src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx","../../src/components/TokenBar/TokenBar.tsx","../../src/components/TokenData/img/index.ts","../../src/components/TokenData/TokenData.ts","../../src/components/TokenData/useGetTokenData.tsx","../../src/components/TokenSummary/TokenSummary.tsx","../../src/components/TypographyEx.tsx","../../src/contexts/contextEx/create.ts","../../src/contexts/contextEx/use.ts","../../src/contexts/diviner/Context.ts","../../src/contexts/diviner/Provider.tsx","../../src/contexts/ListMode/Context.ts","../../src/contexts/ListMode/Provider.tsx","../../src/contexts/ListMode/use.ts","../../src/lib/assertDefinedEx.ts","../../src/lib/getActualPaddingX.ts","../../src/lib/networkComponents.tsx"],"sourcesContent":["import type { TypographyProps } from '@mui/material'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\nexport const Ampersand: React.FC<TypographyProps> = (props) => {\n return (\n <Typography marginX={1} component=\"span\" {...props}>\n &\n </Typography>\n )\n}\n","import {\n Container, Grid, Typography,\n} from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowCol, FlexGrowRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nimport { useGradientStyles, useIsSmall } from '../../hooks/index.ts'\n\nexport interface BasicHeroProps extends FlexBoxProps {\n backgroundColor?: string\n backgroundImage?: string\n button1Href?: string\n button1Text?: string\n button1To?: string\n button2Href?: string\n button2Text?: string\n button2To?: string\n desc: string\n gradientTitle?: string\n heroImage?: string\n subLinkIcon?: ReactElement\n subLinkPath?: string\n subLinkText1?: string\n subLinkText2?: string\n sx?: Record<string, string>\n textColor?: string\n title: string\n title2?: string\n}\n\ninterface SubLinkSectionProps {\n backgroundImageAlignment?: boolean\n subLinkIcon?: ReactElement\n subLinkPath?: string\n subLinkText1?: string\n subLinkText2?: string\n}\n\ninterface ButtonSectionProps {\n buttonText?: string\n href?: string\n to?: string\n}\nconst SubLinkSection: React.FC<SubLinkSectionProps> = ({\n backgroundImageAlignment, subLinkIcon, subLinkPath, subLinkText1, subLinkText2,\n}) => {\n return (\n <FlexGrowRow\n width=\"100%\"\n sx={{\n flexDirection: { md: 'row', xs: 'column' },\n justifyContent: { md: backgroundImageAlignment ? 'flex-start' : 'center', xs: 'center' },\n }}\n >\n {subLinkIcon\n ? (\n <span>\n {subLinkIcon}\n \n </span>\n )\n : null}\n <Typography>\n {subLinkText1}\n \n </Typography>\n <LinkEx href={subLinkPath} underline=\"always\" target=\"_blank\" color=\"inherit\">\n <Typography>{subLinkText2}</Typography>\n </LinkEx>\n </FlexGrowRow>\n )\n}\n\nconst ButtonSection: React.FC<ButtonSectionProps> = ({\n href, to, buttonText,\n}) => {\n const isMobile = useIsSmall()\n return (\n <ButtonEx\n fullWidth={true}\n marginTop={1}\n marginBottom={1}\n marginRight={isMobile ? 2 : 1}\n marginLeft={isMobile ? 2 : 0}\n target={href ?? '_blank'}\n to={to}\n href={href}\n color=\"primary\"\n variant=\"contained\"\n paddingX={3}\n sx={{ display: href || to ? 'flex' : 'none' }}\n >\n {buttonText}\n </ButtonEx>\n )\n}\n\nexport const BasicHero: React.FC<BasicHeroProps> = ({\n backgroundImage,\n title,\n gradientTitle,\n backgroundColor,\n textColor,\n desc,\n heroImage,\n title2,\n subLinkText1,\n subLinkText2,\n subLinkPath,\n button1Text,\n button2Text,\n button2To,\n button1To,\n button2Href,\n button1Href,\n subLinkIcon,\n sx,\n ...props\n}) => {\n const isMobile = useIsSmall()\n const { classes } = useGradientStyles()\n return (\n <FlexGrowCol\n sx={{\n backgroundImage: `url(${backgroundImage})`,\n backgroundPosition: {\n lg: 'bottom', md: 'center left', xs: 'top left',\n },\n minHeight: {\n md: '500px',\n sm: '400px',\n xs: '200px',\n },\n ...sx,\n }}\n style={{\n backgroundColor: backgroundColor ?? '',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n color: textColor ?? '',\n }}\n {...props}\n >\n <Container>\n <Grid\n container\n justifyContent=\"center\"\n alignItems=\"center\"\n sx={{\n alignItems: { xs: 'center' },\n justifyContent: { xs: 'center' },\n }}\n >\n <Grid item xs={12} sm={8} md={backgroundImage ? 6 : 8} lg={backgroundImage ? 6 : 8}>\n <FlexGrowCol paddingY={2} sx={{ alignItems: { xs: backgroundImage && !isMobile ? 'flex-start' : 'center' } }}>\n <Typography variant=\"h1\" component=\"h1\" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>\n {title\n ? <span>{`${title} `}</span>\n : null}\n {gradientTitle\n ? (\n <span className={classes().heading}>\n {' '}\n {` ${gradientTitle}`}\n </span>\n )\n : null}\n {title2\n ? <span>{` ${title2}`}</span>\n : null}\n </Typography>\n <Typography variant=\"body1\" component=\"h2\" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>\n {desc}\n </Typography>\n <FlexGrowRow\n sx={{ flexDirection: { lg: 'row', xs: 'column' } }}\n width=\"100%\"\n marginTop={1}\n >\n <ButtonSection href={button1Href} to={button1To} buttonText={button1Text} />\n <ButtonSection href={button2Href} to={button2To} buttonText={button2Text} />\n </FlexGrowRow>\n <SubLinkSection\n subLinkIcon={subLinkIcon}\n subLinkText1={subLinkText1}\n subLinkText2={subLinkText2}\n subLinkPath={subLinkPath}\n backgroundImageAlignment={backgroundImage ? true : false}\n />\n </FlexGrowCol>\n </Grid>\n <Grid item xs={12} md={6}>\n {heroImage\n ? <img src={heroImage} width=\"100%\" />\n : null}\n </Grid>\n </Grid>\n </Container>\n </FlexGrowCol>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { makeStyles } from '@mui/styles'\nimport type { CSSProperties } from 'react'\n\nexport interface GradientStyles {\n background: CSSProperties\n border: CSSProperties\n heading: CSSProperties\n}\n\nexport const colorfulGradientLightMode = () => {\n return {\n background: { backgroundImage: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)' },\n border: {\n borderImage: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n borderImageSlice: 1,\n borderImageSource: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px',\n },\n heading: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n background: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n display: 'inline-block',\n },\n }\n}\n\nexport const colorfulGradientDarkMode = () => {\n return {\n background: { backgroundImage: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)' },\n border: {\n borderImage: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n borderImageSlice: 1,\n borderImageSource: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px',\n },\n heading: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n background: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n display: 'inline-block',\n },\n }\n}\n\nexport const useGradientStyles = () => {\n const theme = useTheme()\n const styles = theme.palette.mode === 'dark' ? colorfulGradientDarkMode() : colorfulGradientLightMode()\n const classes = makeStyles(styles)\n return { classes, styles }\n}\n","import type { Dispatch, SetStateAction } from 'react'\nimport { useState } from 'react'\n\nexport const useDataState = <T>(defaultValue: T | undefined): [T | undefined, Dispatch<SetStateAction<T | undefined>>] => {\n const [state, setState] = useState(defaultValue)\n\n const setDataState: Dispatch<SetStateAction<T | undefined>> = (value: SetStateAction<T | undefined>) => {\n try {\n if (JSON.stringify(value) !== JSON.stringify(state)) {\n setState(value)\n }\n } catch {\n console.error('setDataState failed! Make sure data type is stringifiable!')\n }\n }\n\n return [state, setDataState]\n}\n","import { useTheme } from '@mui/material'\n\nimport { useMediaQuery } from './useMediaQuery.ts'\n\n/** @deprecated use useIsSmall instead */\nexport const useIsMobile = () => {\n const theme = useTheme()\n return useMediaQuery(theme.breakpoints.down('md'))\n}\n\nexport const useIsSmall = () => {\n const theme = useTheme()\n return useMediaQuery(theme.breakpoints.down('md'))\n}\n","/* This file only exists to deal with the false positive lint error */\n\nexport { useMediaQuery } from '@mui/material'\n","import type { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload } from '@xyo-network/payload-model'\n\nexport const usePayloadHash = <TPayload extends Payload>(payload: TPayload | undefined | null) => {\n return usePromise(async () => (payload ? await PayloadBuilder.dataHash(payload) : undefined), [payload])[0]\n}\n\nexport const usePayloadHashes = <TPayload extends Payload>(payloads: TPayload[] | undefined | null) => {\n return usePromise(\n async () =>\n payloads\n ? await Promise.all(payloads.map<Promise<[TPayload, Hash]>>(async payload => [payload, await PayloadBuilder.dataHash(payload)]))\n : undefined,\n [payloads],\n )[0]\n}\n","import type { ForwardedRef } from 'react'\nimport { useEffect, useRef } from 'react'\n\nexport const useShareForwardedRef = <T>(forwardedRef: ForwardedRef<T>, refresh = 0) => {\n // final ref that will share value with forward ref. this is the one to be attached to components\n const innerRef = useRef<T>(null)\n\n useEffect(() => {\n if (!forwardedRef) {\n return\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(innerRef.current)\n return\n } else {\n forwardedRef.current = innerRef.current\n }\n }, [forwardedRef, refresh])\n\n return innerRef\n}\n","import type {\n BoxProps, TypographyProps, TypographyTypeMap,\n} from '@mui/material'\nimport {\n Box, styled, Typography,\n} from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React, {\n forwardRef, useCallback, useState,\n} from 'react'\n\nimport { useShareForwardedRef } from '../hooks/index.ts'\n\n/**\n * Heavily inspired by - https://stackoverflow.com/a/30362531/2803259\n */\n\nconst ComponentName = 'Ellipsize'\n\nexport interface EllipsizeRootProps extends BoxProps {\n beforeLineHeight?: string | number\n}\n\nconst EllipsizeRoot = styled(Box, {\n name: ComponentName,\n shouldForwardProp: prop => prop !== 'beforeLineHeight',\n slot: 'Root',\n})<EllipsizeRootProps>(({ beforeLineHeight }) => ({\n '&': {\n // because the cell content ends up absolutely positioned, the cell doesn't know the content height.\n // the pseudo element with a hidden character establishes the proper height of the content and hides it\n ':before': {\n content: \"'nbsp;'\",\n display: 'block',\n // take the pseudo element out of the `display: block` flow so it won't push against our actual content\n float: 'left',\n visibility: 'hidden',\n // since we are `display: block`, lineHeight is the height\n ...(beforeLineHeight && { lineHeight: beforeLineHeight }),\n },\n },\n}))\n\nconst EllipsizeInnerWrap = styled(Box, {\n name: ComponentName,\n slot: 'innerWrap',\n})(() => ({ position: 'relative' }))\n\nconst EllipsizeContentWrap = styled(Typography, {\n name: ComponentName,\n shouldForwardProp: prop => prop !== 'ellipsisPosition',\n slot: 'contentWrap',\n})<TypographyWithComponentProps>(({\n theme, ellipsisPosition, fontFamily,\n}) => {\n return theme.unstable_sx({\n fontFamily: fontFamily ?? 'monospace',\n left: 0,\n overflow: 'hidden',\n position: 'absolute',\n right: 0,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...(ellipsisPosition === 'start'\n ? {\n direction: 'rtl',\n textAlign: 'left',\n }\n : {}),\n })\n})\n\nconst useClientHeight = () => {\n const [contentWrapHeight, setContentWrapHeight] = useState<string>()\n\n const contentWrapRef = useCallback((node: HTMLElement) => {\n if (node !== null) {\n setContentWrapHeight(node.clientHeight + 'px')\n }\n }, [])\n\n return { contentWrapHeight, contentWrapRef }\n}\n\nexport type TypographyWithComponentProps<D extends React.ElementType = TypographyTypeMap['defaultComponent'], P = {}> = TypographyProps<D, P> & {\n ellipsisPosition?: 'start' | 'end'\n}\n\nexport interface EllipsizeBoxProps extends BoxProps {\n disableSharedRef?: boolean\n ellipsisPosition?: 'start' | 'end'\n typographyProps?: TypographyWithComponentProps\n}\n\nexport const EllipsizeBox = forwardRef<HTMLDivElement, WithChildren<EllipsizeBoxProps>>(\n ({\n children, ellipsisPosition = 'start', disableSharedRef, typographyProps, ...props\n }, ref) => {\n // Allow syncing of :before pseudo element height with contentWrapHeight\n const { contentWrapRef, contentWrapHeight } = useClientHeight()\n const sharedRef = useShareForwardedRef(ref)\n\n return (\n <EllipsizeRoot beforeLineHeight={!!sharedRef && !disableSharedRef ? contentWrapHeight : undefined} {...props} ref={ref}>\n <EllipsizeInnerWrap>\n <EllipsizeContentWrap ref={contentWrapRef} component=\"span\" ellipsisPosition={ellipsisPosition} variant=\"body2\" {...typographyProps}>\n {children}\n </EllipsizeContentWrap>\n </EllipsizeInnerWrap>\n </EllipsizeRoot>\n )\n },\n)\nEllipsizeBox.displayName = 'EllipsizeBox'\n","import type { StackProps } from '@mui/material'\nimport { Stack, Typography } from '@mui/material'\nimport React from 'react'\n\nexport interface LabeledTextFieldWrapperProps extends StackProps {\n label: string\n}\n\nexport const LabeledTextFieldWrapper: React.FC<LabeledTextFieldWrapperProps> = ({\n children, label, ...props\n}) => {\n return (\n <Stack flexDirection=\"column\" {...props}>\n <Typography gutterBottom variant=\"caption\">\n {label}\n </Typography>\n {children}\n </Stack>\n )\n}\n","import type { ListItemButtonProps } from '@mui/material'\nimport { ListItemButton } from '@mui/material'\nimport type { MouseEvent } from 'react'\nimport React from 'react'\nimport type { NavigateOptions, To } from 'react-router-dom'\nimport { useNavigate } from 'react-router-dom'\n\nexport interface ListItemButtonExProps extends ListItemButtonProps {\n target?: string\n to?: To\n toOptions?: NavigateOptions\n}\n\nexport const ListItemButtonExTo: React.FC<ListItemButtonExProps> = ({\n to, toOptions, onClick, ...props\n}) => {\n const navigate = useNavigate()\n const localOnClick = (event: MouseEvent<HTMLDivElement>) => {\n onClick?.(event)\n if (to) {\n navigate(to, toOptions)\n }\n }\n\n return <ListItemButton onClick={localOnClick} {...props} />\n}\n\nexport const ListItemButtonEx: React.FC<ListItemButtonExProps> = ({ to, ...props }) => {\n return to ? <ListItemButtonExTo to={to} {...props} /> : <ListItemButton {...props} />\n}\n","import { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport { NotFound } from './NotFound.tsx'\n\nexport interface LoadResultProps<T> {\n /** @deprecated - use error prop */\n apiError?: Error\n /** Defer error handling to the children and load them */\n error?: boolean\n notFound: boolean\n searchResult: T | undefined\n}\n\nexport function LoadResult<T>(props: PropsWithChildren<LoadResultProps<T>>) {\n const {\n notFound, error, searchResult, children,\n } = props\n if (notFound) {\n return <NotFound />\n }\n if (error) {\n return <>{children}</>\n }\n return searchResult === undefined ? <FlexGrowRow busy minHeight=\"50px\" /> : <>{children}</>\n}\n","import { Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nconst NotFound: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <Typography variant=\"h2\">Sorry!</Typography>\n <Typography marginY={3} variant=\"body2\">\n {'Can\\'t find anything here'}\n </Typography>\n </FlexGrowCol>\n )\n}\n\nexport { NotFound }\n","import type { TypographyProps } from '@mui/material'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\nexport const Pipe: React.FC<TypographyProps> = (props) => {\n return (\n <Typography marginX={1} component=\"span\" {...props}>\n |\n </Typography>\n )\n}\n","import type { AlertProps } from '@mui/material'\nimport { Alert, AlertTitle } from '@mui/material'\nimport React from 'react'\n\nexport interface PayloadDataMissingProps extends AlertProps {\n alertBody?: string\n}\n\nexport const PayloadDataMissing: React.FC<PayloadDataMissingProps> = ({ alertBody, ...props }) => {\n return (\n <Alert severity=\"warning\" {...props}>\n <AlertTitle>Missing Data</AlertTitle>\n {alertBody ?? 'Payload is missing required data to render correctly'}\n </Alert>\n )\n}\n","import { styled } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\nconst StyledScrollTableOnSm = styled('div')(({ theme }) => ({\n [theme.breakpoints.down('md')]: { overflowX: 'scroll' },\n display: 'flex',\n flexGrow: 1,\n}))\n\nconst ScrollTableOnSm: React.FC<WithChildren> = ({ children }) => <StyledScrollTableOnSm>{children}</StyledScrollTableOnSm>\n\nexport { ScrollTableOnSm }\n","import { useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport React, { forwardRef } from 'react'\n\nexport const SectionSpacingRow = forwardRef<HTMLDivElement, FlexBoxProps>(({\n children, sx, ...props\n}, ref) => {\n const theme = useTheme()\n return (\n <FlexGrowRow\n sx={{\n paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },\n paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },\n ...sx,\n }}\n width=\"100%\"\n ref={ref}\n {...props}\n >\n {children}\n </FlexGrowRow>\n )\n})\n\nSectionSpacingRow.displayName = 'SectionSpacingRow'\n","import React, { forwardRef } from 'react'\n\nimport type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'\nimport { EllipsisTableCell } from './EllipsisTableCell.tsx'\n\nexport interface AddressTableCellProps extends Omit<EllipsisTableCellProps, 'ref'> {\n /** @deprecated - archives are no longer supported */\n archive?: string\n /** @deprecated - use events instead */\n exploreDomain?: string\n link?: boolean\n}\n\nconst AddressTableCell = forwardRef<HTMLElement, AddressTableCellProps>(({\n value, archive, exploreDomain, link, ...props\n}, ref) => {\n const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : undefined\n const to = exploreDomain === undefined && archive ? `/archive/${archive}/address/${value}` : undefined\n\n return <EllipsisTableCell value={value} href={href} to={to} ref={ref} link={link} {...props} />\n})\n\nAddressTableCell.displayName = 'AddressTableCell'\nexport { AddressTableCell }\n","import type { TableCellProps } from '@mui/material'\nimport { styled, TableCell } from '@mui/material'\nimport { LinkEx } from '@xylabs/react-link'\nimport React, { forwardRef, useMemo } from 'react'\nimport type { To } from 'react-router-dom'\n\nimport { EllipsizeBox } from '../Ellipsize.tsx'\n\nconst EllipsisTableCellRoot = styled(TableCell, {\n name: 'EllipsisTableCell',\n shouldForwardProp: prop => prop !== 'width',\n slot: 'Root',\n})(({ width = '100%' }) => ({ width }))\n\nexport interface EllipsisTableCellProps extends Omit<TableCellProps, 'ref'> {\n href?: string\n link?: boolean\n to?: To\n value?: string\n /**\n * Width of the table cell.\n *\n * Note: When using percentages, this value can be different than what you expect\n * if used on a cell that is not the first cell in the first row.\n */\n width?: string | number\n}\n\nexport const EllipsisTableCellWithRef = forwardRef<HTMLElement, EllipsisTableCellProps>(\n ({\n children, href, link = false, to, value, ...props\n }, ref) => {\n const data = useMemo(() => {\n if (children) {\n return children\n }\n if (href || link || to) {\n return (\n <LinkEx title={value} to={to} href={href} target={href ? '_blank' : undefined}>\n {value}\n </LinkEx>\n )\n }\n return value\n }, [children, href, link, to, value])\n return (\n <EllipsisTableCellRoot ref={ref} {...props}>\n <EllipsizeBox sx={{ cursor: link || to || href ? 'pointer' : 'inherit' }}>{data}</EllipsizeBox>\n </EllipsisTableCellRoot>\n )\n },\n)\n\nEllipsisTableCellWithRef.displayName = 'EllipsisTableCell'\nexport const EllipsisTableCell = EllipsisTableCellWithRef\n","import type { Hash } from '@xylabs/hex'\nimport { useEvent } from '@xyo-network/react-event'\nimport React, { useRef } from 'react'\n\nimport type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'\nimport { EllipsisTableCell } from './EllipsisTableCell.tsx'\n\nexport interface HashTableCellProps extends EllipsisTableCellProps {\n archive?: string\n dataType?: 'block' | 'payload'\n exploreDomain?: string\n network?: string\n onHashClick?: (value: Hash) => void\n}\n\nexport const HashTableCell: React.FC<HashTableCellProps> = ({\n value, archive, dataType, network, exploreDomain, onHashClick, ...props\n}) => {\n const ref = useRef<HTMLTableCellElement | null>(null)\n const [tableCellRef, dispatch] = useEvent<HTMLTableCellElement>(undefined, ref)\n const hashPath = `/${dataType}/hash/${value}?network=${network ?? 'main'}`\n const explorePath = archive ? `/archive/${archive}${hashPath}` : hashPath\n\n const handleCellClick = () => {\n if (onHashClick) {\n onHashClick(value as Hash)\n } else {\n dispatch?.('hash', 'click', value as Hash)\n }\n }\n\n return (\n <EllipsisTableCell\n onClick={handleCellClick}\n ref={tableCellRef}\n value={value}\n href={exploreDomain ? `${exploreDomain}${explorePath}}` : undefined}\n to={exploreDomain ? undefined : explorePath}\n {...props}\n />\n )\n}\n","import type { AvatarProps } from '@mui/material'\nimport { Avatar, useTheme } from '@mui/material'\nimport React from 'react'\n\nexport const ThemeTokenAvatar: React.FC<AvatarProps> = ({ ...props }) => {\n const theme = useTheme()\n return <Avatar sx={{ background: theme.palette.common.white }} {...props} />\n}\n","import type { AvatarGroupProps } from '@mui/material'\nimport { AvatarGroup } from '@mui/material'\nimport React from 'react'\n\nimport { ThemeTokenAvatar } from '../ThemeTokenAvatar/index.ts'\n\nexport interface ThemeTokenAvatarGroupProps extends AvatarGroupProps {\n images?: string[]\n}\n\nexport const ThemeTokenAvatarGroup: React.FC<ThemeTokenAvatarGroupProps> = ({ images, ...props }) => {\n return <AvatarGroup {...props}>{images?.map((image, index) => <ThemeTokenAvatar key={index} src={image} />)}</AvatarGroup>\n}\n","import type { PaperProps, TypographyProps } from '@mui/material'\nimport { Paper, Typography } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { ReactNode } from 'react'\nimport React from 'react'\nexport interface TokenBarProps extends PaperProps {\n text1?: ReactNode\n text1Props?: TypographyProps\n text1Suffix?: ReactNode\n text2?: ReactNode\n text2Props?: TypographyProps\n text2Suffix?: ReactNode\n}\n\nexport const TokenBar: React.FC<TokenBarProps> = ({\n text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props\n}) => {\n return (\n <Paper elevation={0} className=\"TokenBar-root\" {...props}>\n <FlexRow justifyContent=\"space-between\">\n <Typography variant=\"body1\" fontWeight={300} margin={1} {...text1Props}>\n {text1}\n {text1Suffix}\n </Typography>\n <Typography variant=\"body1\" fontWeight={300} textTransform=\"uppercase\" color=\"gray\" margin={1} {...text2Props}>\n {text2}\n {text2Suffix}\n </Typography>\n </FlexRow>\n </Paper>\n )\n}\n","export { default as ada } from './ada.png'\nexport { default as btc } from './btc.png'\nexport { default as busd } from './busd.png'\nexport { default as dai } from './dai.png'\nexport { default as dogecoin } from './dogecoin.png'\nexport { default as dot } from './dot.png'\nexport { default as ethereum } from './ethereum.png'\nexport { default as frax } from './frax.png'\nexport { default as link } from './link.png'\nexport { default as sol } from './sol.png'\nexport { default as tether } from './tether.png'\nexport { default as usdCoin } from './usd-coin.png'\nexport { default as weth } from './weth.png'\nexport { default as wrappedBtc } from './wrapped-bitcoin.png'\nexport { default as xyo } from './xyo.png'\n","import * as tokenImages from './img/index.ts'\n\nexport interface TokenData {\n coinmarketcapLink: string\n etherscanLink: string\n icon: string\n readableName: string\n tokenSymbol: string\n uniqueTokenId: string\n}\n\nexport const TokenData: TokenData[] = [\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/multi-collateral-dai/',\n etherscanLink: 'https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f',\n icon: tokenImages.dai,\n readableName: 'Dai',\n tokenSymbol: 'dai',\n uniqueTokenId: 'dai',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/weth/',\n etherscanLink: 'https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n icon: tokenImages.weth,\n readableName: 'Weth',\n tokenSymbol: 'weth',\n uniqueTokenId: 'weth',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/ethereum/',\n etherscanLink: 'n/a',\n icon: tokenImages.ethereum,\n readableName: 'Ethereum',\n tokenSymbol: 'eth',\n uniqueTokenId: 'ethereum',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/bitcoin/',\n etherscanLink: 'n/a',\n icon: tokenImages.btc,\n readableName: 'Bitcoin',\n tokenSymbol: 'btc',\n uniqueTokenId: 'btc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/xyo/',\n etherscanLink: 'https://etherscan.io/token/0x55296f69f40ea6d20e478533c15a6b08b654e758',\n icon: tokenImages.xyo,\n readableName: 'XYO',\n tokenSymbol: 'xyo',\n uniqueTokenId: 'xyo',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/frax/',\n etherscanLink: 'https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e',\n icon: tokenImages.frax,\n readableName: 'Frax',\n tokenSymbol: 'frax',\n uniqueTokenId: 'frax',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/wrapped-bitcoin/',\n etherscanLink: 'https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n icon: tokenImages.wrappedBtc,\n readableName: 'Wrapped BTC',\n tokenSymbol: 'wbtc',\n uniqueTokenId: 'wbtc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/usd-coin/',\n etherscanLink: 'https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n icon: tokenImages.usdCoin,\n readableName: 'USDC',\n tokenSymbol: 'usdc',\n uniqueTokenId: 'usdc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/tether/',\n etherscanLink: 'https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7',\n icon: tokenImages.tether,\n readableName: 'Tether',\n tokenSymbol: 'usdt',\n uniqueTokenId: 'usdt',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/cardano/',\n etherscanLink: 'https://etherscan.io/token/0xc14777c94229582e5758c5a79b83dde876b9be98',\n icon: tokenImages.ada,\n readableName: 'Cardano',\n tokenSymbol: 'ada',\n uniqueTokenId: 'ada',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/binance-usd/',\n etherscanLink: 'https://etherscan.io/token/0x4Fabb145d64652a948d72533023f6E7A623C7C53',\n icon: tokenImages.busd,\n readableName: 'Binance USD',\n tokenSymbol: 'busd',\n uniqueTokenId: 'busd',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/dogecoin/',\n etherscanLink: 'https://etherscan.io/token/0x7618b5024a6349f9aef10ddfd33e3428c734551e',\n icon: tokenImages.dogecoin,\n readableName: 'Dogecoin',\n tokenSymbol: 'doge',\n uniqueTokenId: 'doge',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/polkadot-new/',\n etherscanLink: 'https://etherscan.io/token/0x2d4fb6dd969992c881d8e534c747cc925d5ba221',\n icon: tokenImages.dot,\n readableName: 'Polkadot',\n tokenSymbol: 'dot',\n uniqueTokenId: 'dot',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/chainlink/',\n etherscanLink: 'https://etherscan.io/token/0x514910771af9ca656af840dff83e8264ecf986ca',\n icon: tokenImages.link,\n readableName: 'ChainLink',\n tokenSymbol: 'link',\n uniqueTokenId: 'link',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/solana/',\n etherscanLink: 'https://etherscan.io/token/0x1f54638b7737193ffd86c19ec51907a7c41755d8',\n icon: tokenImages.sol,\n readableName: 'Solana',\n tokenSymbol: 'sol',\n uniqueTokenId: 'sol',\n },\n]\n","import { TokenData } from './TokenData.ts'\n\n// eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks\nexport const useGetTokenData = (symbols: (string | undefined)[]) => {\n return symbols?.map((symbol) => {\n const additionalTokenData = TokenData.find(x => x.tokenSymbol === symbol)\n const checkedTokenData = additionalTokenData ?? TokenData[0]\n return checkedTokenData\n })\n}\n","import type { AvatarProps, CardHeaderProps } from '@mui/material'\nimport { CardHeader, Typography } from '@mui/material'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport { ThemeTokenAvatar } from '../ThemeTokenAvatar/index.ts'\n\nexport interface TokenSummaryProps extends CardHeaderProps {\n icon?: string\n imgBgProps?: AvatarProps\n symbol?: string\n symbolElement?: ReactNode\n}\n\nexport const TokenSummary: React.FC<TokenSummaryProps> = ({\n icon, symbol, symbolElement, children, ...props\n}) => {\n return (\n <>\n <CardHeader\n avatar={<ThemeTokenAvatar src={icon} alt={symbol} />}\n title={(\n <Typography variant=\"h6\" fontWeight={300} textTransform=\"uppercase\">\n {symbolElement ?? symbol}\n </Typography>\n )}\n {...props}\n />\n {children}\n </>\n )\n}\n","import type { TypographyProps } from '@mui/material'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\nimport { useGradientStyles } from '../hooks/index.ts'\n\nexport interface TypographyExProps extends TypographyProps {\n gradient?: 'text'\n}\n\nexport const TypographyEx: React.FC<TypographyExProps> = ({ gradient, ...props }) => {\n const { classes } = useGradientStyles()\n return <Typography className={gradient === 'text' ? classes().heading : undefined} {...props} />\n}\n","import { createContext } from 'react'\n\nimport type { ContextExState } from './State.ts'\n\nexport const createContextEx = <T>() => createContext<T & ContextExState>({ provided: false } as T & ContextExState)\n","import type { Context } from 'react'\nimport { useContext } from 'react'\n\nimport type { ContextExState } from './State.ts'\n\nexport const useContextEx = <T extends ContextExState>(context: Context<T>, contextName: string, required = true) => {\n const { provided, ...props } = useContext(context)\n if (!provided && required) {\n throw new Error(`use${contextName} can not be used outside of a ${contextName}Context when required=true`)\n }\n return props\n}\n\nexport const useProvided = <T extends ContextExState>(context: Context<T>) => {\n const { provided } = useContext(context)\n return provided\n}\n","import { createContextEx } from '../contextEx/index.ts'\n\nexport const ResolvedDivinerContext = <T>() => createContextEx<T>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport type { Context } from 'react'\nimport React, {\n useEffect, useMemo, useState,\n} from 'react'\n\nimport type { ContextExProviderProps } from '../contextEx/index.ts'\nimport type { ResolvedDivinerState } from './State.ts'\n\nexport interface DivinerProviderProps<D> extends ContextExProviderProps, WithChildren {\n context: Context<ResolvedDivinerState<D>>\n diviner?: D\n}\n\n/** Exposes a resolved diviner */\nexport const ResolvedDivinerProvider = <D,>({\n diviner: divinerProp, required = false, children, context,\n}: DivinerProviderProps<D>) => {\n const [diviner, setDiviner] = useState<D | undefined>(divinerProp)\n\n useEffect(() => {\n if (divinerProp) {\n setDiviner(divinerProp)\n }\n }, [divinerProp, setDiviner])\n\n const value = useMemo(() => {\n const resolveDiviner = () => {\n if (divinerProp) {\n return diviner === divinerProp ? diviner : undefined\n } else {\n return diviner\n }\n }\n return {\n diviner: resolveDiviner(),\n provided: true,\n setDiviner,\n }\n }, [\n setDiviner, divinerProp])\n\n return (\n <context.Provider\n value={value}\n >\n {diviner\n ? children\n : required\n ? null\n : children}\n </context.Provider>\n )\n}\n","import { createContextEx } from '../contextEx/index.ts'\nimport type { ListModeContextState } from './State.ts'\n\nexport const ListModeContext = createContextEx<ListModeContextState>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ListMode } from '../../models/index.ts'\nimport { ListModeContext } from './Context.ts'\n\nexport interface ListModeProviderProps {\n defaultListMode?: ListMode\n}\n\nexport const ListModeProvider: React.FC<WithChildren<ListModeProviderProps>> = ({ children, defaultListMode }) => {\n const [listMode, setListMode] = useState(defaultListMode ?? 'default')\n\n const value = useMemo(() => ({\n listMode,\n provided: true,\n setListMode,\n }), [listMode,\n setListMode])\n\n return (\n <ListModeContext.Provider\n value={value}\n >\n {children}\n </ListModeContext.Provider>\n )\n}\n","import { useContextEx } from '../contextEx/index.ts'\nimport { ListModeContext } from './Context.ts'\n\nexport const useListMode = (required = false) => {\n return useContextEx(ListModeContext, 'ListMode', required)\n}\n","export const assertDefinedEx = <T>(expr?: T | null, message?: string): T => {\n if (expr !== null && expr !== undefined) return expr\n throw new Error(message)\n}\n","export const parseMeausureString = (measure?: string, absolute?: number) => {\n if (measure !== undefined && measure !== null && measure.length > 0) {\n if (measure.endsWith('px')) {\n return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2)))\n } else if (measure.endsWith('%')) {\n if (absolute !== undefined) {\n return (Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 1))) / 100) * absolute\n }\n throw new Error('Error Parsing Measure [missing absolute]')\n } else if (measure.endsWith('vw')) {\n return (Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2))) / 100) * window.innerWidth\n } else if (measure.endsWith('vh')) {\n return (Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2))) / 100) * window.innerHeight\n }\n throw new Error(`Error Parsing Measure [${measure}]`)\n }\n}\n\nexport const parsePadding = (padding: string) => {\n const parts = padding.split(' ')\n switch (parts.length) {\n case 4: {\n return {\n bottom: parts[2],\n left: parts[3],\n right: parts[1],\n top: parts[0],\n }\n }\n case 3: {\n return {\n bottom: parts[2],\n right: parts[1],\n top: parts[0],\n }\n }\n case 2: {\n return {\n bottom: parts[0],\n left: parts[1],\n right: parts[1],\n top: parts[0],\n }\n }\n case 1: {\n return {\n bottom: parts[0],\n left: parts[0],\n right: parts[0],\n top: parts[0],\n }\n }\n }\n}\n\nexport const getActualPaddingX = (element: HTMLElement) => {\n const padding = parsePadding(window.getComputedStyle(element, null).getPropertyValue('padding'))\n const paddingLeft\n = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue('padding-left') ?? padding?.left, element.clientWidth) ?? 0\n const paddingRight\n = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue('padding-right') ?? padding?.right, element.clientWidth) ?? 0\n return paddingLeft + paddingRight\n}\n","import {\n BubbleChartRounded as BubbleChartRoundedIcon,\n HubRounded as HubRoundedIcon,\n InsertLinkRounded as InsertLinkRoundedIcon,\n Inventory2Rounded as Inventory2RoundedIcon,\n TimerRounded as TimerRoundedIcon,\n VisibilityRounded as VisibilityRoundedIcon,\n} from '@mui/icons-material'\nimport type { SvgIconProps } from '@mui/material'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nexport type NetworkComponentSlug = 'sentinel' | 'bridge' | 'archivist' | 'diviner' | 'node' | 'witness'\n\nexport interface NetworkComponentDetails {\n icon: (props?: SvgIconProps) => ReactElement\n name: string\n slug: NetworkComponentSlug\n}\n\nexport const networkComponents: NetworkComponentDetails[] = [\n {\n icon: props => <HubRoundedIcon {...props} />, name: 'Node', slug: 'node',\n },\n {\n icon: props => <TimerRoundedIcon {...props} />, name: 'Sentinel', slug: 'sentinel',\n },\n {\n icon: props => <InsertLinkRoundedIcon {...props} />, name: 'Bridge', slug: 'bridge',\n },\n {\n icon: props => <Inventory2RoundedIcon {...props} />, name: 'Archivist', slug: 'archivist',\n },\n {\n icon: props => <BubbleChartRoundedIcon {...props} />, name: 'Diviner', slug: 'diviner',\n },\n {\n icon: props => <VisibilityRoundedIcon {...props} />, name: 'Witness', slug: 'witness',\n },\n]\n\nexport const findNetworkComponentIndex = (slug: string) => {\n return networkComponents.findIndex(info => info.slug === slug)\n}\n\nexport const findNetworkComponent = (slug: string) => {\n return networkComponents.find(info => info.slug === slug)\n}\n"],"mappings":"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HxB,IAAMe,YAAyB;EACpC;IACEC,mBAAmB;IACnBC,eAAe;IACfC,MAAkBC;IAClBC,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBK;IAClBH,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBM;IAClBJ,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBO;IAClBL,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBQ;IAClBN,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBS;IAClBP,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBU;IAClBR,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBW;IAClBT,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBY;IAClBV,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBa;IAClBX,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBc;IAClBZ,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBe;IAClBb,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBgB;IAClBd,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;IACnBC,eAAe;IACfC,MAAkBiB;IAClBf,cAAc;IACdC,aAAa;IACbC,eAAe;EACjB;EACA;IACEN,mBAAmB;I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","names":["Typography","React","Ampersand","props","Typography","marginX","component","Container","Grid","Typography","ButtonEx","FlexGrowCol","FlexGrowRow","LinkEx","React","useTheme","makeStyles","colorfulGradientLightMode","background","backgroundImage","border","borderImage","borderImageSlice","borderImageSource","borderRadius","borderStyle","borderWidth","heading","WebkitBackgroundClip","WebkitTextFillColor","display","colorfulGradientDarkMode","useGradientStyles","theme","useTheme","styles","palette","mode","classes","makeStyles","useState","useDataState","defaultValue","state","setState","useState","setDataState","value","JSON","stringify","console","error","useTheme","useMediaQuery","useIsMobile","theme","useTheme","useMediaQuery","breakpoints","down","useIsSmall","usePromise","PayloadBuilder","usePayloadHash","payload","usePromise","PayloadBuilder","dataHash","undefined","usePayloadHashes","payloads","Promise","all","map","useEffect","useRef","useShareForwardedRef","forwardedRef","refresh","innerRef","useRef","useEffect","current","SubLinkSection","backgroundImageAlignment","subLinkIcon","subLinkPath","subLinkText1","subLinkText2","React","FlexGrowRow","width","sx","flexDirection","md","xs","justifyContent","span","Typography","LinkEx","href","underline","target","color","ButtonSection","to","buttonText","isMobile","useIsSmall","ButtonEx","fullWidth","marginTop","marginBottom","marginRight","marginLeft","variant","paddingX","display","BasicHero","backgroundImage","title","gradientTitle","backgroundColor","textColor","desc","heroImage","title2","button1Text","button2Text","button2To","button1To","button2Href","button1Href","props","classes","useGradientStyles","FlexGrowCol","backgroundPosition","lg","minHeight","sm","style","backgroundRepeat","backgroundSize","Container","Grid","container","alignItems","item","paddingY","component","gutterBottom","textAlign","className","heading","img","src","Box","styled","Typography","React","forwardRef","useCallback","useState","ComponentName","EllipsizeRoot","styled","Box","name","shouldForwardProp","prop","slot","beforeLineHeight","content","display","float","visibility","lineHeight","EllipsizeInnerWrap","position","EllipsizeContentWrap","Typography","theme","ellipsisPosition","fontFamily","unstable_sx","left","overflow","right","textOverflow","whiteSpace","direction","textAlign","useClientHeight","contentWrapHeight","setContentWrapHeight","useState","contentWrapRef","useCallback","node","clientHeight","EllipsizeBox","forwardRef","children","disableSharedRef","typographyProps","props","ref","sharedRef","useShareForwardedRef","React","undefined","component","variant","displayName","Stack","Typography","React","LabeledTextFieldWrapper","children","label","props","React","Stack","flexDirection","Typography","gutterBottom","variant","ListItemButton","React","useNavigate","ListItemButtonExTo","to","toOptions","onClick","props","navigate","useNavigate","localOnClick","event","React","ListItemButton","ListItemButtonEx","FlexGrowRow","React","Typography","FlexGrowCol","React","NotFound","props","React","FlexGrowCol","Typography","variant","marginY","LoadResult","props","notFound","error","searchResult","children","React","NotFound","undefined","FlexGrowRow","busy","minHeight","Typography","React","Pipe","props","React","Typography","marginX","component","Alert","AlertTitle","React","PayloadDataMissing","alertBody","props","React","Alert","severity","AlertTitle","styled","React","StyledScrollTableOnSm","styled","theme","breakpoints","down","overflowX","display","flexGrow","ScrollTableOnSm","children","React","useTheme","FlexGrowRow","React","forwardRef","SectionSpacingRow","children","sx","props","ref","theme","paddingBottom","md","spacing","xs","paddingTop","width","displayName","React","forwardRef","styled","TableCell","LinkEx","React","forwardRef","useMemo","EllipsisTableCellRoot","styled","TableCell","name","shouldForwardProp","prop","slot","width","EllipsisTableCellWithRef","forwardRef","children","href","link","to","value","props","ref","data","useMemo","React","LinkEx","title","target","undefined","EllipsizeBox","sx","cursor","displayName","EllipsisTableCell","AddressTableCell","forwardRef","value","archive","exploreDomain","link","props","ref","href","undefined","to","React","EllipsisTableCell","displayName","useEvent","React","useRef","HashTableCell","value","archive","dataType","network","exploreDomain","onHashClick","props","ref","useRef","tableCellRef","dispatch","useEvent","undefined","hashPath","explorePath","handleCellClick","React","EllipsisTableCell","onClick","href","to","Avatar","useTheme","React","ThemeTokenAvatar","props","theme","useTheme","React","Avatar","sx","background","palette","common","white","AvatarGroup","React","ThemeTokenAvatarGroup","images","props","React","AvatarGroup","map","image","index","ThemeTokenAvatar","key","src","Paper","Typography","FlexRow","React","TokenBar","text1","text1Props","text1Suffix","text2","text2Props","text2Suffix","props","React","Paper","elevation","className","FlexRow","justifyContent","Typography","variant","fontWeight","margin","textTransform","color","ada","default","btc","busd","dai","dogecoin","dot","ethereum","frax","link","sol","tether","usdCoin","weth","wrappedBtc","xyo","TokenData","coinmarketcapLink","etherscanLink","icon","dai","readableName","tokenSymbol","uniqueTokenId","weth","ethereum","btc","xyo","frax","wrappedBtc","usdCoin","tether","ada","busd","dogecoin","dot","link","sol","useGetTokenData","symbols","map","symbol","additionalTokenData","TokenData","find","x","tokenSymbol","checkedTokenData","CardHeader","Typography","React","TokenSummary","icon","symbol","symbolElement","children","props","React","CardHeader","avatar","ThemeTokenAvatar","src","alt","title","Typography","variant","fontWeight","textTransform","Typography","React","TypographyEx","gradient","props","classes","useGradientStyles","React","Typography","className","heading","undefined","createContext","createContextEx","createContext","provided","useContext","useContextEx","context","contextName","required","provided","props","useContext","Error","useProvided","ResolvedDivinerContext","createContextEx","React","useEffect","useMemo","useState","ResolvedDivinerProvider","diviner","divinerProp","required","children","context","setDiviner","useState","useEffect","value","useMemo","resolveDiviner","undefined","provided","React","Provider","ListModeContext","createContextEx","React","useMemo","useState","ListModeProvider","children","defaultListMode","listMode","setListMode","useState","value","useMemo","provided","React","ListModeContext","Provider","useListMode","required","useContextEx","ListModeContext","assertDefinedEx","expr","message","undefined","Error","parseMeausureString","measure","absolute","undefined","length","endsWith","Number","parseFloat","slice","Math","max","Error","window","innerWidth","innerHeight","parsePadding","padding","parts","split","bottom","left","right","top","getActualPaddingX","element","getComputedStyle","getPropertyValue","paddingLeft","clientWidth","paddingRight","BubbleChartRounded","BubbleChartRoundedIcon","HubRounded","HubRoundedIcon","InsertLinkRounded","InsertLinkRoundedIcon","Inventory2Rounded","Inventory2RoundedIcon","TimerRounded","TimerRoundedIcon","VisibilityRounded","VisibilityRoundedIcon","React","networkComponents","icon","props","React","HubRoundedIcon","name","slug","TimerRoundedIcon","InsertLinkRoundedIcon","Inventory2RoundedIcon","BubbleChartRoundedIcon","VisibilityRoundedIcon","findNetworkComponentIndex","findIndex","info","findNetworkComponent","find"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-shared",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.12",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@xylabs/react-shared": "^4.2.5",
|
|
53
53
|
"@xyo-network/payload-builder": "^3.1.9",
|
|
54
54
|
"@xyo-network/payload-model": "^3.1.9",
|
|
55
|
-
"@xyo-network/react-event": "^3.0.
|
|
55
|
+
"@xyo-network/react-event": "^3.0.12",
|
|
56
56
|
"react-router-dom": "^6.26.1"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
package/src/components/index.ts
CHANGED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { ErrorInfo, ReactNode } from 'react';
|
|
2
|
-
import { Component } from 'react';
|
|
3
|
-
export interface ErrorBoundaryProps {
|
|
4
|
-
children: ReactNode;
|
|
5
|
-
fallback?: ReactNode;
|
|
6
|
-
fallbackWithError?: (error: Error) => ReactNode;
|
|
7
|
-
scope?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface ErrorBoundaryState {
|
|
10
|
-
error?: Error;
|
|
11
|
-
}
|
|
12
|
-
export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
13
|
-
constructor(props: ErrorBoundaryProps);
|
|
14
|
-
static getDerivedStateFromError(error: Error): {
|
|
15
|
-
error: Error;
|
|
16
|
-
};
|
|
17
|
-
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
18
|
-
render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=ErrorBoundary.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/components/ErrorBoundary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjD,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAA;IAEnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAA;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBACtE,KAAK,EAAE,kBAAkB;IAKrC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;;;IAInC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAIpD,MAAM;CA4BhB"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Typography } from '@mui/material'
|
|
2
|
-
import { FlexCol } from '@xylabs/react-flexbox'
|
|
3
|
-
import type { ErrorInfo, ReactNode } from 'react'
|
|
4
|
-
import React, { Component } from 'react'
|
|
5
|
-
|
|
6
|
-
export interface ErrorBoundaryProps {
|
|
7
|
-
children: ReactNode
|
|
8
|
-
// fallback as a static ReactNode value
|
|
9
|
-
fallback?: ReactNode
|
|
10
|
-
// fallback element that can receive the error as a prop
|
|
11
|
-
fallbackWithError?: (error: Error) => ReactNode
|
|
12
|
-
scope?: string
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface ErrorBoundaryState {
|
|
16
|
-
error?: Error
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
20
|
-
constructor(props: ErrorBoundaryProps) {
|
|
21
|
-
super(props)
|
|
22
|
-
this.state = { error: undefined }
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static getDerivedStateFromError(error: Error) {
|
|
26
|
-
return { error }
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
override componentDidCatch(error: Error, errorInfo: ErrorInfo) {
|
|
30
|
-
console.error(`${error}: ${errorInfo}`)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
override render() {
|
|
34
|
-
if (this.state.error) {
|
|
35
|
-
if (this.props.fallbackWithError) {
|
|
36
|
-
return this.props.fallbackWithError(this.state.error)
|
|
37
|
-
}
|
|
38
|
-
return (
|
|
39
|
-
this.props.fallback ?? (
|
|
40
|
-
<FlexCol>
|
|
41
|
-
<Typography variant="h1">Something went wrong.</Typography>
|
|
42
|
-
{this.props.scope && (
|
|
43
|
-
<Typography variant="h2">
|
|
44
|
-
[
|
|
45
|
-
{this.props.scope}
|
|
46
|
-
]
|
|
47
|
-
</Typography>
|
|
48
|
-
)}
|
|
49
|
-
<Typography variant="body1">
|
|
50
|
-
[
|
|
51
|
-
{this.state.error?.message}
|
|
52
|
-
]
|
|
53
|
-
</Typography>
|
|
54
|
-
</FlexCol>
|
|
55
|
-
)
|
|
56
|
-
)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return this.props.children
|
|
60
|
-
}
|
|
61
|
-
}
|