@xyo-network/react-shared 3.0.9 → 3.0.11
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/hooks/index.d.ts +0 -1
- package/dist/browser/hooks/index.d.ts.map +1 -1
- package/dist/browser/index.mjs +64 -108
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +12 -12
- package/src/components/index.ts +0 -1
- package/src/hooks/index.ts +0 -1
- package/dist/browser/components/ErrorBoundary.d.ts +0 -20
- package/dist/browser/components/ErrorBoundary.d.ts.map +0 -1
- package/dist/browser/hooks/usePromise.d.ts +0 -2
- package/dist/browser/hooks/usePromise.d.ts.map +0 -1
- package/src/components/ErrorBoundary.tsx +0 -61
- package/src/hooks/usePromise.ts +0 -3
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -126,9 +126,6 @@ var usePayloadHashes = /* @__PURE__ */ __name((payloads) => {
|
|
|
126
126
|
])[0];
|
|
127
127
|
}, "usePayloadHashes");
|
|
128
128
|
|
|
129
|
-
// src/hooks/usePromise.ts
|
|
130
|
-
import { usePromise as usePromise2 } from "@xylabs/react-promise";
|
|
131
|
-
|
|
132
129
|
// src/hooks/useShareForwardRef.ts
|
|
133
130
|
import { useEffect, useRef } from "react";
|
|
134
131
|
var useShareForwardedRef = /* @__PURE__ */ __name((forwardedRef, refresh = 0) => {
|
|
@@ -364,53 +361,14 @@ var EllipsizeBox = /* @__PURE__ */ forwardRef(({ children, ellipsisPosition = "s
|
|
|
364
361
|
});
|
|
365
362
|
EllipsizeBox.displayName = "EllipsizeBox";
|
|
366
363
|
|
|
367
|
-
// src/components/ErrorBoundary.tsx
|
|
368
|
-
import { Typography as Typography4 } from "@mui/material";
|
|
369
|
-
import { FlexCol } from "@xylabs/react-flexbox";
|
|
370
|
-
import React4, { Component } from "react";
|
|
371
|
-
var ErrorBoundary = class extends Component {
|
|
372
|
-
static {
|
|
373
|
-
__name(this, "ErrorBoundary");
|
|
374
|
-
}
|
|
375
|
-
constructor(props) {
|
|
376
|
-
super(props);
|
|
377
|
-
this.state = {
|
|
378
|
-
error: void 0
|
|
379
|
-
};
|
|
380
|
-
}
|
|
381
|
-
static getDerivedStateFromError(error) {
|
|
382
|
-
return {
|
|
383
|
-
error
|
|
384
|
-
};
|
|
385
|
-
}
|
|
386
|
-
componentDidCatch(error, errorInfo) {
|
|
387
|
-
console.error(`${error}: ${errorInfo}`);
|
|
388
|
-
}
|
|
389
|
-
render() {
|
|
390
|
-
if (this.state.error) {
|
|
391
|
-
if (this.props.fallbackWithError) {
|
|
392
|
-
return this.props.fallbackWithError(this.state.error);
|
|
393
|
-
}
|
|
394
|
-
return this.props.fallback ?? /* @__PURE__ */ React4.createElement(FlexCol, null, /* @__PURE__ */ React4.createElement(Typography4, {
|
|
395
|
-
variant: "h1"
|
|
396
|
-
}, "Something went wrong."), this.props.scope && /* @__PURE__ */ React4.createElement(Typography4, {
|
|
397
|
-
variant: "h2"
|
|
398
|
-
}, "[", this.props.scope, "]"), /* @__PURE__ */ React4.createElement(Typography4, {
|
|
399
|
-
variant: "body1"
|
|
400
|
-
}, "[", this.state.error?.message, "]"));
|
|
401
|
-
}
|
|
402
|
-
return this.props.children;
|
|
403
|
-
}
|
|
404
|
-
};
|
|
405
|
-
|
|
406
364
|
// src/components/LabeledTextFieldWrapper.tsx
|
|
407
|
-
import { Stack, Typography as
|
|
408
|
-
import
|
|
365
|
+
import { Stack, Typography as Typography4 } from "@mui/material";
|
|
366
|
+
import React4 from "react";
|
|
409
367
|
var LabeledTextFieldWrapper = /* @__PURE__ */ __name(({ children, label, ...props }) => {
|
|
410
|
-
return /* @__PURE__ */
|
|
368
|
+
return /* @__PURE__ */ React4.createElement(Stack, {
|
|
411
369
|
flexDirection: "column",
|
|
412
370
|
...props
|
|
413
|
-
}, /* @__PURE__ */
|
|
371
|
+
}, /* @__PURE__ */ React4.createElement(Typography4, {
|
|
414
372
|
gutterBottom: true,
|
|
415
373
|
variant: "caption"
|
|
416
374
|
}, label), children);
|
|
@@ -418,7 +376,7 @@ var LabeledTextFieldWrapper = /* @__PURE__ */ __name(({ children, label, ...prop
|
|
|
418
376
|
|
|
419
377
|
// src/components/ListItemButtonEx.tsx
|
|
420
378
|
import { ListItemButton } from "@mui/material";
|
|
421
|
-
import
|
|
379
|
+
import React5 from "react";
|
|
422
380
|
import { useNavigate } from "react-router-dom";
|
|
423
381
|
var ListItemButtonExTo = /* @__PURE__ */ __name(({ to, toOptions, onClick, ...props }) => {
|
|
424
382
|
const navigate = useNavigate();
|
|
@@ -428,30 +386,30 @@ var ListItemButtonExTo = /* @__PURE__ */ __name(({ to, toOptions, onClick, ...pr
|
|
|
428
386
|
navigate(to, toOptions);
|
|
429
387
|
}
|
|
430
388
|
}, "localOnClick");
|
|
431
|
-
return /* @__PURE__ */
|
|
389
|
+
return /* @__PURE__ */ React5.createElement(ListItemButton, {
|
|
432
390
|
onClick: localOnClick,
|
|
433
391
|
...props
|
|
434
392
|
});
|
|
435
393
|
}, "ListItemButtonExTo");
|
|
436
394
|
var ListItemButtonEx = /* @__PURE__ */ __name(({ to, ...props }) => {
|
|
437
|
-
return to ? /* @__PURE__ */
|
|
395
|
+
return to ? /* @__PURE__ */ React5.createElement(ListItemButtonExTo, {
|
|
438
396
|
to,
|
|
439
397
|
...props
|
|
440
|
-
}) : /* @__PURE__ */
|
|
398
|
+
}) : /* @__PURE__ */ React5.createElement(ListItemButton, props);
|
|
441
399
|
}, "ListItemButtonEx");
|
|
442
400
|
|
|
443
401
|
// src/components/LoadResult.tsx
|
|
444
402
|
import { FlexGrowRow as FlexGrowRow2 } from "@xylabs/react-flexbox";
|
|
445
|
-
import
|
|
403
|
+
import React7 from "react";
|
|
446
404
|
|
|
447
405
|
// src/components/NotFound.tsx
|
|
448
|
-
import { Typography as
|
|
406
|
+
import { Typography as Typography5 } from "@mui/material";
|
|
449
407
|
import { FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
|
|
450
|
-
import
|
|
408
|
+
import React6 from "react";
|
|
451
409
|
var NotFound = /* @__PURE__ */ __name((props) => {
|
|
452
|
-
return /* @__PURE__ */
|
|
410
|
+
return /* @__PURE__ */ React6.createElement(FlexGrowCol2, props, /* @__PURE__ */ React6.createElement(Typography5, {
|
|
453
411
|
variant: "h2"
|
|
454
|
-
}, "Sorry!"), /* @__PURE__ */
|
|
412
|
+
}, "Sorry!"), /* @__PURE__ */ React6.createElement(Typography5, {
|
|
455
413
|
marginY: 3,
|
|
456
414
|
variant: "body2"
|
|
457
415
|
}, "Can't find anything here"));
|
|
@@ -461,23 +419,23 @@ var NotFound = /* @__PURE__ */ __name((props) => {
|
|
|
461
419
|
function LoadResult(props) {
|
|
462
420
|
const { notFound, error, searchResult, children } = props;
|
|
463
421
|
if (notFound) {
|
|
464
|
-
return /* @__PURE__ */
|
|
422
|
+
return /* @__PURE__ */ React7.createElement(NotFound, null);
|
|
465
423
|
}
|
|
466
424
|
if (error) {
|
|
467
|
-
return /* @__PURE__ */
|
|
425
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, children);
|
|
468
426
|
}
|
|
469
|
-
return searchResult === void 0 ? /* @__PURE__ */
|
|
427
|
+
return searchResult === void 0 ? /* @__PURE__ */ React7.createElement(FlexGrowRow2, {
|
|
470
428
|
busy: true,
|
|
471
429
|
minHeight: "50px"
|
|
472
|
-
}) : /* @__PURE__ */
|
|
430
|
+
}) : /* @__PURE__ */ React7.createElement(React7.Fragment, null, children);
|
|
473
431
|
}
|
|
474
432
|
__name(LoadResult, "LoadResult");
|
|
475
433
|
|
|
476
434
|
// src/components/Pipe.tsx
|
|
477
|
-
import { Typography as
|
|
478
|
-
import
|
|
435
|
+
import { Typography as Typography6 } from "@mui/material";
|
|
436
|
+
import React8 from "react";
|
|
479
437
|
var Pipe = /* @__PURE__ */ __name((props) => {
|
|
480
|
-
return /* @__PURE__ */
|
|
438
|
+
return /* @__PURE__ */ React8.createElement(Typography6, {
|
|
481
439
|
marginX: 1,
|
|
482
440
|
component: "span",
|
|
483
441
|
...props
|
|
@@ -486,17 +444,17 @@ var Pipe = /* @__PURE__ */ __name((props) => {
|
|
|
486
444
|
|
|
487
445
|
// src/components/pluginValidation/DataMissing.tsx
|
|
488
446
|
import { Alert, AlertTitle } from "@mui/material";
|
|
489
|
-
import
|
|
447
|
+
import React9 from "react";
|
|
490
448
|
var PayloadDataMissing = /* @__PURE__ */ __name(({ alertBody, ...props }) => {
|
|
491
|
-
return /* @__PURE__ */
|
|
449
|
+
return /* @__PURE__ */ React9.createElement(Alert, {
|
|
492
450
|
severity: "warning",
|
|
493
451
|
...props
|
|
494
|
-
}, /* @__PURE__ */
|
|
452
|
+
}, /* @__PURE__ */ React9.createElement(AlertTitle, null, "Missing Data"), alertBody ?? "Payload is missing required data to render correctly");
|
|
495
453
|
}, "PayloadDataMissing");
|
|
496
454
|
|
|
497
455
|
// src/components/ScrollTableOnSm.tsx
|
|
498
456
|
import { styled as styled2 } from "@mui/material";
|
|
499
|
-
import
|
|
457
|
+
import React10 from "react";
|
|
500
458
|
var StyledScrollTableOnSm = styled2("div")(({ theme }) => ({
|
|
501
459
|
[theme.breakpoints.down("md")]: {
|
|
502
460
|
overflowX: "scroll"
|
|
@@ -504,15 +462,15 @@ var StyledScrollTableOnSm = styled2("div")(({ theme }) => ({
|
|
|
504
462
|
display: "flex",
|
|
505
463
|
flexGrow: 1
|
|
506
464
|
}));
|
|
507
|
-
var ScrollTableOnSm = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */
|
|
465
|
+
var ScrollTableOnSm = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ React10.createElement(StyledScrollTableOnSm, null, children), "ScrollTableOnSm");
|
|
508
466
|
|
|
509
467
|
// src/components/SectionSpacingRow/SectionSpacingRow.tsx
|
|
510
468
|
import { useTheme as useTheme3 } from "@mui/material";
|
|
511
469
|
import { FlexGrowRow as FlexGrowRow3 } from "@xylabs/react-flexbox";
|
|
512
|
-
import
|
|
470
|
+
import React11, { forwardRef as forwardRef2 } from "react";
|
|
513
471
|
var SectionSpacingRow = /* @__PURE__ */ forwardRef2(({ children, sx, ...props }, ref) => {
|
|
514
472
|
const theme = useTheme3();
|
|
515
|
-
return /* @__PURE__ */
|
|
473
|
+
return /* @__PURE__ */ React11.createElement(FlexGrowRow3, {
|
|
516
474
|
sx: {
|
|
517
475
|
paddingBottom: {
|
|
518
476
|
md: theme.spacing(5),
|
|
@@ -532,12 +490,12 @@ var SectionSpacingRow = /* @__PURE__ */ forwardRef2(({ children, sx, ...props },
|
|
|
532
490
|
SectionSpacingRow.displayName = "SectionSpacingRow";
|
|
533
491
|
|
|
534
492
|
// src/components/TableCell/AddressTableCell.tsx
|
|
535
|
-
import
|
|
493
|
+
import React13, { forwardRef as forwardRef4 } from "react";
|
|
536
494
|
|
|
537
495
|
// src/components/TableCell/EllipsisTableCell.tsx
|
|
538
496
|
import { styled as styled3, TableCell } from "@mui/material";
|
|
539
497
|
import { LinkEx as LinkEx2 } from "@xylabs/react-link";
|
|
540
|
-
import
|
|
498
|
+
import React12, { forwardRef as forwardRef3, useMemo } from "react";
|
|
541
499
|
var EllipsisTableCellRoot = styled3(TableCell, {
|
|
542
500
|
name: "EllipsisTableCell",
|
|
543
501
|
shouldForwardProp: /* @__PURE__ */ __name((prop) => prop !== "width", "shouldForwardProp"),
|
|
@@ -551,7 +509,7 @@ var EllipsisTableCellWithRef = /* @__PURE__ */ forwardRef3(({ children, href, li
|
|
|
551
509
|
return children;
|
|
552
510
|
}
|
|
553
511
|
if (href || link || to) {
|
|
554
|
-
return /* @__PURE__ */
|
|
512
|
+
return /* @__PURE__ */ React12.createElement(LinkEx2, {
|
|
555
513
|
title: value,
|
|
556
514
|
to,
|
|
557
515
|
href,
|
|
@@ -566,10 +524,10 @@ var EllipsisTableCellWithRef = /* @__PURE__ */ forwardRef3(({ children, href, li
|
|
|
566
524
|
to,
|
|
567
525
|
value
|
|
568
526
|
]);
|
|
569
|
-
return /* @__PURE__ */
|
|
527
|
+
return /* @__PURE__ */ React12.createElement(EllipsisTableCellRoot, {
|
|
570
528
|
ref,
|
|
571
529
|
...props
|
|
572
|
-
}, /* @__PURE__ */
|
|
530
|
+
}, /* @__PURE__ */ React12.createElement(EllipsizeBox, {
|
|
573
531
|
sx: {
|
|
574
532
|
cursor: link || to || href ? "pointer" : "inherit"
|
|
575
533
|
}
|
|
@@ -582,7 +540,7 @@ var EllipsisTableCell = EllipsisTableCellWithRef;
|
|
|
582
540
|
var AddressTableCell = /* @__PURE__ */ forwardRef4(({ value, archive, exploreDomain, link, ...props }, ref) => {
|
|
583
541
|
const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : void 0;
|
|
584
542
|
const to = exploreDomain === void 0 && archive ? `/archive/${archive}/address/${value}` : void 0;
|
|
585
|
-
return /* @__PURE__ */
|
|
543
|
+
return /* @__PURE__ */ React13.createElement(EllipsisTableCell, {
|
|
586
544
|
value,
|
|
587
545
|
href,
|
|
588
546
|
to,
|
|
@@ -595,7 +553,7 @@ AddressTableCell.displayName = "AddressTableCell";
|
|
|
595
553
|
|
|
596
554
|
// src/components/TableCell/HashTableCell.tsx
|
|
597
555
|
import { useEvent } from "@xyo-network/react-event";
|
|
598
|
-
import
|
|
556
|
+
import React14, { useRef as useRef2 } from "react";
|
|
599
557
|
var HashTableCell = /* @__PURE__ */ __name(({ value, archive, dataType, network, exploreDomain, onHashClick, ...props }) => {
|
|
600
558
|
const ref = useRef2(null);
|
|
601
559
|
const [tableCellRef, dispatch] = useEvent(void 0, ref);
|
|
@@ -608,7 +566,7 @@ var HashTableCell = /* @__PURE__ */ __name(({ value, archive, dataType, network,
|
|
|
608
566
|
dispatch?.("hash", "click", value);
|
|
609
567
|
}
|
|
610
568
|
}, "handleCellClick");
|
|
611
|
-
return /* @__PURE__ */
|
|
569
|
+
return /* @__PURE__ */ React14.createElement(EllipsisTableCell, {
|
|
612
570
|
onClick: handleCellClick,
|
|
613
571
|
ref: tableCellRef,
|
|
614
572
|
value,
|
|
@@ -620,10 +578,10 @@ var HashTableCell = /* @__PURE__ */ __name(({ value, archive, dataType, network,
|
|
|
620
578
|
|
|
621
579
|
// src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx
|
|
622
580
|
import { Avatar, useTheme as useTheme4 } from "@mui/material";
|
|
623
|
-
import
|
|
581
|
+
import React15 from "react";
|
|
624
582
|
var ThemeTokenAvatar = /* @__PURE__ */ __name(({ ...props }) => {
|
|
625
583
|
const theme = useTheme4();
|
|
626
|
-
return /* @__PURE__ */
|
|
584
|
+
return /* @__PURE__ */ React15.createElement(Avatar, {
|
|
627
585
|
sx: {
|
|
628
586
|
background: theme.palette.common.white
|
|
629
587
|
},
|
|
@@ -633,31 +591,31 @@ var ThemeTokenAvatar = /* @__PURE__ */ __name(({ ...props }) => {
|
|
|
633
591
|
|
|
634
592
|
// src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx
|
|
635
593
|
import { AvatarGroup } from "@mui/material";
|
|
636
|
-
import
|
|
594
|
+
import React16 from "react";
|
|
637
595
|
var ThemeTokenAvatarGroup = /* @__PURE__ */ __name(({ images, ...props }) => {
|
|
638
|
-
return /* @__PURE__ */
|
|
596
|
+
return /* @__PURE__ */ React16.createElement(AvatarGroup, props, images?.map((image, index) => /* @__PURE__ */ React16.createElement(ThemeTokenAvatar, {
|
|
639
597
|
key: index,
|
|
640
598
|
src: image
|
|
641
599
|
})));
|
|
642
600
|
}, "ThemeTokenAvatarGroup");
|
|
643
601
|
|
|
644
602
|
// src/components/TokenBar/TokenBar.tsx
|
|
645
|
-
import { Paper, Typography as
|
|
603
|
+
import { Paper, Typography as Typography7 } from "@mui/material";
|
|
646
604
|
import { FlexRow } from "@xylabs/react-flexbox";
|
|
647
|
-
import
|
|
605
|
+
import React17 from "react";
|
|
648
606
|
var TokenBar = /* @__PURE__ */ __name(({ text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props }) => {
|
|
649
|
-
return /* @__PURE__ */
|
|
607
|
+
return /* @__PURE__ */ React17.createElement(Paper, {
|
|
650
608
|
elevation: 0,
|
|
651
609
|
className: "TokenBar-root",
|
|
652
610
|
...props
|
|
653
|
-
}, /* @__PURE__ */
|
|
611
|
+
}, /* @__PURE__ */ React17.createElement(FlexRow, {
|
|
654
612
|
justifyContent: "space-between"
|
|
655
|
-
}, /* @__PURE__ */
|
|
613
|
+
}, /* @__PURE__ */ React17.createElement(Typography7, {
|
|
656
614
|
variant: "body1",
|
|
657
615
|
fontWeight: 300,
|
|
658
616
|
margin: 1,
|
|
659
617
|
...text1Props
|
|
660
|
-
}, text1, text1Suffix), /* @__PURE__ */
|
|
618
|
+
}, text1, text1Suffix), /* @__PURE__ */ React17.createElement(Typography7, {
|
|
661
619
|
variant: "body1",
|
|
662
620
|
fontWeight: 300,
|
|
663
621
|
textTransform: "uppercase",
|
|
@@ -818,15 +776,15 @@ var useGetTokenData = /* @__PURE__ */ __name((symbols) => {
|
|
|
818
776
|
}, "useGetTokenData");
|
|
819
777
|
|
|
820
778
|
// src/components/TokenSummary/TokenSummary.tsx
|
|
821
|
-
import { CardHeader, Typography as
|
|
822
|
-
import
|
|
779
|
+
import { CardHeader, Typography as Typography8 } from "@mui/material";
|
|
780
|
+
import React18 from "react";
|
|
823
781
|
var TokenSummary = /* @__PURE__ */ __name(({ icon, symbol, symbolElement, children, ...props }) => {
|
|
824
|
-
return /* @__PURE__ */
|
|
825
|
-
avatar: /* @__PURE__ */
|
|
782
|
+
return /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(CardHeader, {
|
|
783
|
+
avatar: /* @__PURE__ */ React18.createElement(ThemeTokenAvatar, {
|
|
826
784
|
src: icon,
|
|
827
785
|
alt: symbol
|
|
828
786
|
}),
|
|
829
|
-
title: /* @__PURE__ */
|
|
787
|
+
title: /* @__PURE__ */ React18.createElement(Typography8, {
|
|
830
788
|
variant: "h6",
|
|
831
789
|
fontWeight: 300,
|
|
832
790
|
textTransform: "uppercase"
|
|
@@ -836,11 +794,11 @@ var TokenSummary = /* @__PURE__ */ __name(({ icon, symbol, symbolElement, childr
|
|
|
836
794
|
}, "TokenSummary");
|
|
837
795
|
|
|
838
796
|
// src/components/TypographyEx.tsx
|
|
839
|
-
import { Typography as
|
|
840
|
-
import
|
|
797
|
+
import { Typography as Typography9 } from "@mui/material";
|
|
798
|
+
import React19 from "react";
|
|
841
799
|
var TypographyEx = /* @__PURE__ */ __name(({ gradient, ...props }) => {
|
|
842
800
|
const { classes } = useGradientStyles();
|
|
843
|
-
return /* @__PURE__ */
|
|
801
|
+
return /* @__PURE__ */ React19.createElement(Typography9, {
|
|
844
802
|
className: gradient === "text" ? classes().heading : void 0,
|
|
845
803
|
...props
|
|
846
804
|
});
|
|
@@ -870,7 +828,7 @@ var useProvided = /* @__PURE__ */ __name((context) => {
|
|
|
870
828
|
var ResolvedDivinerContext = /* @__PURE__ */ __name(() => createContextEx(), "ResolvedDivinerContext");
|
|
871
829
|
|
|
872
830
|
// src/contexts/diviner/Provider.tsx
|
|
873
|
-
import
|
|
831
|
+
import React20, { useEffect as useEffect2, useMemo as useMemo2, useState as useState3 } from "react";
|
|
874
832
|
var ResolvedDivinerProvider = /* @__PURE__ */ __name(({ diviner: divinerProp, required = false, children, context }) => {
|
|
875
833
|
const [diviner, setDiviner] = useState3(divinerProp);
|
|
876
834
|
useEffect2(() => {
|
|
@@ -898,7 +856,7 @@ var ResolvedDivinerProvider = /* @__PURE__ */ __name(({ diviner: divinerProp, re
|
|
|
898
856
|
setDiviner,
|
|
899
857
|
divinerProp
|
|
900
858
|
]);
|
|
901
|
-
return /* @__PURE__ */
|
|
859
|
+
return /* @__PURE__ */ React20.createElement(context.Provider, {
|
|
902
860
|
value
|
|
903
861
|
}, diviner ? children : required ? null : children);
|
|
904
862
|
}, "ResolvedDivinerProvider");
|
|
@@ -907,7 +865,7 @@ var ResolvedDivinerProvider = /* @__PURE__ */ __name(({ diviner: divinerProp, re
|
|
|
907
865
|
var ListModeContext = createContextEx();
|
|
908
866
|
|
|
909
867
|
// src/contexts/ListMode/Provider.tsx
|
|
910
|
-
import
|
|
868
|
+
import React21, { useMemo as useMemo3, useState as useState4 } from "react";
|
|
911
869
|
var ListModeProvider = /* @__PURE__ */ __name(({ children, defaultListMode }) => {
|
|
912
870
|
const [listMode, setListMode] = useState4(defaultListMode ?? "default");
|
|
913
871
|
const value = useMemo3(() => ({
|
|
@@ -918,7 +876,7 @@ var ListModeProvider = /* @__PURE__ */ __name(({ children, defaultListMode }) =>
|
|
|
918
876
|
listMode,
|
|
919
877
|
setListMode
|
|
920
878
|
]);
|
|
921
|
-
return /* @__PURE__ */
|
|
879
|
+
return /* @__PURE__ */ React21.createElement(ListModeContext.Provider, {
|
|
922
880
|
value
|
|
923
881
|
}, children);
|
|
924
882
|
}, "ListModeProvider");
|
|
@@ -997,35 +955,35 @@ var getActualPaddingX = /* @__PURE__ */ __name((element) => {
|
|
|
997
955
|
|
|
998
956
|
// src/lib/networkComponents.tsx
|
|
999
957
|
import { BubbleChartRounded as BubbleChartRoundedIcon, HubRounded as HubRoundedIcon, InsertLinkRounded as InsertLinkRoundedIcon, Inventory2Rounded as Inventory2RoundedIcon, TimerRounded as TimerRoundedIcon, VisibilityRounded as VisibilityRoundedIcon } from "@mui/icons-material";
|
|
1000
|
-
import
|
|
958
|
+
import React22 from "react";
|
|
1001
959
|
var networkComponents = [
|
|
1002
960
|
{
|
|
1003
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
961
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(HubRoundedIcon, props), "icon"),
|
|
1004
962
|
name: "Node",
|
|
1005
963
|
slug: "node"
|
|
1006
964
|
},
|
|
1007
965
|
{
|
|
1008
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
966
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(TimerRoundedIcon, props), "icon"),
|
|
1009
967
|
name: "Sentinel",
|
|
1010
968
|
slug: "sentinel"
|
|
1011
969
|
},
|
|
1012
970
|
{
|
|
1013
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
971
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(InsertLinkRoundedIcon, props), "icon"),
|
|
1014
972
|
name: "Bridge",
|
|
1015
973
|
slug: "bridge"
|
|
1016
974
|
},
|
|
1017
975
|
{
|
|
1018
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
976
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(Inventory2RoundedIcon, props), "icon"),
|
|
1019
977
|
name: "Archivist",
|
|
1020
978
|
slug: "archivist"
|
|
1021
979
|
},
|
|
1022
980
|
{
|
|
1023
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
981
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(BubbleChartRoundedIcon, props), "icon"),
|
|
1024
982
|
name: "Diviner",
|
|
1025
983
|
slug: "diviner"
|
|
1026
984
|
},
|
|
1027
985
|
{
|
|
1028
|
-
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
986
|
+
icon: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React22.createElement(VisibilityRoundedIcon, props), "icon"),
|
|
1029
987
|
name: "Witness",
|
|
1030
988
|
slug: "witness"
|
|
1031
989
|
}
|
|
@@ -1043,7 +1001,6 @@ export {
|
|
|
1043
1001
|
EllipsisTableCell,
|
|
1044
1002
|
EllipsisTableCellWithRef,
|
|
1045
1003
|
EllipsizeBox,
|
|
1046
|
-
ErrorBoundary,
|
|
1047
1004
|
HashTableCell,
|
|
1048
1005
|
LabeledTextFieldWrapper,
|
|
1049
1006
|
ListItemButtonEx,
|
|
@@ -1084,7 +1041,6 @@ export {
|
|
|
1084
1041
|
useMediaQuery,
|
|
1085
1042
|
usePayloadHash,
|
|
1086
1043
|
usePayloadHashes,
|
|
1087
|
-
usePromise2 as usePromise,
|
|
1088
1044
|
useProvided,
|
|
1089
1045
|
useShareForwardedRef
|
|
1090
1046
|
};
|
|
@@ -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/usePromise.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","/** @deprecated use @xylabs/react-promise version instead */\n\nexport { usePromise } from '@xylabs/react-promise'\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","usePromise","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":";;;;AACA,SAASA,kBAAkB;AAC3B,OAAOC,WAAW;AAEX,IAAMC,YAAuC,wBAACC,UAAAA;AACnD,SACE,sBAAA,cAACC,YAAAA;IAAWC,SAAS;IAAGC,WAAU;IAAQ,GAAGH;KAAO,GAAA;AAIxD,GANoD;;;ACJpD,SACEI,WAAWC,MAAMC,cAAAA,mBACZ;AACP,SAASC,gBAAgB;AAEzB,SAASC,aAAaC,mBAAmB;AACzC,SAASC,cAAc;AAEvB,OAAOC,YAAW;;;ACRlB,SAASC,gBAAgB;AACzB,SAASC,kBAAkB;AASpB,IAAMC,4BAA4B,6BAAA;AACvC,SAAO;IACLC,YAAY;MAAEC,iBAAiB;IAAsE;IACrGC,QAAQ;MACNC,aAAa;MACbC,kBAAkB;MAClBC,mBAAmB;MACnBC,cAAc;MACdC,aAAa;MACbC,aAAa;IACf;IACAC,SAAS;MACPC,sBAAsB;MACtBC,qBAAqB;MACrBX,YAAY;MACZY,SAAS;IACX;EACF;AACF,GAlByC;AAoBlC,IAAMC,2BAA2B,6BAAA;AACtC,SAAO;IACLb,YAAY;MAAEC,iBAAiB;IAAsE;IACrGC,QAAQ;MACNC,aAAa;MACbC,kBAAkB;MAClBC,mBAAmB;MACnBC,cAAc;MACdC,aAAa;MACbC,aAAa;IACf;IACAC,SAAS;MACPC,sBAAsB;MACtBC,qBAAqB;MACrBX,YAAY;MACZY,SAAS;IACX;EACF;AACF,GAlBwC;AAoBjC,IAAME,oBAAoB,6BAAA;AAC/B,QAAMC,QAAQC,SAAAA;AACd,QAAMC,SAASF,MAAMG,QAAQC,SAAS,SAASN,yBAAAA,IAA6Bd,0BAAAA;AAC5E,QAAMqB,UAAUC,WAAWJ,MAAAA;AAC3B,SAAO;IAAEG;IAASH;EAAO;AAC3B,GALiC;;;ACjDjC,SAASK,gBAAgB;AAElB,IAAMC,eAAe,wBAAIC,iBAAAA;AAC9B,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAASH,YAAAA;AAEnC,QAAMI,eAAwD,wBAACC,UAAAA;AAC7D,QAAI;AACF,UAAIC,KAAKC,UAAUF,KAAAA,MAAWC,KAAKC,UAAUN,KAAAA,GAAQ;AACnDC,iBAASG,KAAAA;MACX;IACF,QAAQ;AACNG,cAAQC,MAAM,6DAAA;IAChB;EACF,GAR8D;AAU9D,SAAO;IAACR;IAAOG;;AACjB,GAd4B;;;ACH5B,SAASM,YAAAA,iBAAgB;;;ACEzB,SAASC,qBAAqB;;;ADGvB,IAAMC,cAAc,6BAAA;AACzB,QAAMC,QAAQC,UAAAA;AACd,SAAOC,cAAcF,MAAMG,YAAYC,KAAK,IAAA,CAAA;AAC9C,GAH2B;AAKpB,IAAMC,aAAa,6BAAA;AACxB,QAAML,QAAQC,UAAAA;AACd,SAAOC,cAAcF,MAAMG,YAAYC,KAAK,IAAA,CAAA;AAC9C,GAH0B;;;AET1B,SAASE,kBAAkB;AAC3B,SAASC,sBAAsB;AAGxB,IAAMC,iBAAiB,wBAA2BC,YAAAA;AACvD,SAAOC,WAAW,YAAaD,UAAU,MAAME,eAAeC,SAASH,OAAAA,IAAWI,QAAY;IAACJ;GAAQ,EAAE,CAAA;AAC3G,GAF8B;AAIvB,IAAMK,mBAAmB,wBAA2BC,aAAAA;AACzD,SAAOL,WACL,YACEK,WACI,MAAMC,QAAQC,IAAIF,SAASG,IAA+B,OAAMT,YAAW;IAACA;IAAS,MAAME,eAAeC,SAASH,OAAAA;GAAS,CAAA,IAC5HI,QACN;IAACE;GAAS,EACV,CAAA;AACJ,GARgC;;;ACRhC,SAASI,WAAWC,cAAc;AAE3B,IAAMC,uBAAuB,wBAAIC,cAA+BC,UAAU,MAAC;AAEhF,QAAMC,WAAWC,OAAU,IAAA;AAE3BC,YAAU,MAAA;AACR,QAAI,CAACJ,cAAc;AACjB;IACF;AACA,QAAI,OAAOA,iBAAiB,YAAY;AACtCA,mBAAaE,SAASG,OAAO;AAC7B;IACF,OAAO;AACLL,mBAAaK,UAAUH,SAASG;IAClC;EACF,GAAG;IAACL;IAAcC;GAAQ;AAE1B,SAAOC;AACT,GAjBoC;;;AN4CpC,IAAMI,iBAAgD,wBAAC,EACrDC,0BAA0BC,aAAaC,aAAaC,cAAcC,aAAY,MAC/E;AACC,SACE,gBAAAC,OAAA,cAACC,aAAAA;IACCC,OAAM;IACNC,IAAI;MACFC,eAAe;QAAEC,IAAI;QAAOC,IAAI;MAAS;MACzCC,gBAAgB;QAAEF,IAAIV,2BAA2B,eAAe;QAAUW,IAAI;MAAS;IACzF;KAECV,cAEK,gBAAAI,OAAA,cAACQ,QAAAA,MACEZ,aAAY,MAAA,IAIjB,MACJ,gBAAAI,OAAA,cAACS,aAAAA,MACEX,cAAa,MAAA,GAGhB,gBAAAE,OAAA,cAACU,QAAAA;IAAOC,MAAMd;IAAae,WAAU;IAASC,QAAO;IAASC,OAAM;KAClE,gBAAAd,OAAA,cAACS,aAAAA,MAAYV,YAAAA,CAAAA,CAAAA;AAIrB,GA5BsD;AA8BtD,IAAMgB,gBAA8C,wBAAC,EACnDJ,MAAMK,IAAIC,WAAU,MACrB;AACC,QAAMC,WAAWC,WAAAA;AACjB,SACE,gBAAAnB,OAAA,cAACoB,UAAAA;IACCC,WAAW;IACXC,WAAW;IACXC,cAAc;IACdC,aAAaN,WAAW,IAAI;IAC5BO,YAAYP,WAAW,IAAI;IAC3BL,QAAQF,QAAQ;IAChBK;IACAL;IACAG,OAAM;IACNY,SAAQ;IACRC,UAAU;IACVxB,IAAI;MAAEyB,SAASjB,QAAQK,KAAK,SAAS;IAAO;KAE3CC,UAAAA;AAGP,GAtBoD;AAwB7C,IAAMY,YAAsC,wBAAC,EAClDC,iBACAC,OACAC,eACAC,iBACAC,WACAC,MACAC,WACAC,QACAvC,cACAC,cACAF,aACAyC,aACAC,aACAC,WACAC,WACAC,aACAC,aACA/C,aACAO,IACA,GAAGyC,MAAAA,MACJ;AACC,QAAM1B,WAAWC,WAAAA;AACjB,QAAM,EAAE0B,QAAO,IAAKC,kBAAAA;AACpB,SACE,gBAAA9C,OAAA,cAAC+C,aAAAA;IACC5C,IAAI;MACF2B,iBAAiB,OAAOA,eAAAA;MACxBkB,oBAAoB;QAClBC,IAAI;QAAU5C,IAAI;QAAeC,IAAI;MACvC;MACA4C,WAAW;QACT7C,IAAI;QACJ8C,IAAI;QACJ7C,IAAI;MACN;MACA,GAAGH;IACL;IACAiD,OAAO;MACLnB,iBAAiBA,mBAAmB;MACpCoB,kBAAkB;MAClBC,gBAAgB;MAChBxC,OAAOoB,aAAa;IACtB;IACC,GAAGU;KAEJ,gBAAA5C,OAAA,cAACuD,WAAAA,MACC,gBAAAvD,OAAA,cAACwD,MAAAA;IACCC,WAAAA;IACAlD,gBAAe;IACfmD,YAAW;IACXvD,IAAI;MACFuD,YAAY;QAAEpD,IAAI;MAAS;MAC3BC,gBAAgB;QAAED,IAAI;MAAS;IACjC;KAEA,gBAAAN,OAAA,cAACwD,MAAAA;IAAKG,MAAAA;IAAKrD,IAAI;IAAI6C,IAAI;IAAG9C,IAAIyB,kBAAkB,IAAI;IAAGmB,IAAInB,kBAAkB,IAAI;KAC/E,gBAAA9B,OAAA,cAAC+C,aAAAA;IAAYa,UAAU;IAAGzD,IAAI;MAAEuD,YAAY;QAAEpD,IAAIwB,mBAAmB,CAACZ,WAAW,eAAe;MAAS;IAAE;KACzG,gBAAAlB,OAAA,cAACS,aAAAA;IAAWiB,SAAQ;IAAKmC,WAAU;IAAKC,cAAAA;IAAaC,WAAWjC,mBAAmB,CAACZ,WAAW,SAAS;KACrGa,QACG,gBAAA/B,OAAA,cAACQ,QAAAA,MAAM,GAAGuB,KAAAA,GAAQ,IAClB,MACHC,gBAEK,gBAAAhC,OAAA,cAACQ,QAAAA;IAAKwD,WAAWnB,QAAAA,EAAUoB;KACxB,KACA,IAAIjC,aAAAA,EAAe,IAGxB,MACHK,SACG,gBAAArC,OAAA,cAACQ,QAAAA,MAAM,IAAI6B,MAAAA,EAAQ,IACnB,IAAA,GAEN,gBAAArC,OAAA,cAACS,aAAAA;IAAWiB,SAAQ;IAAQmC,WAAU;IAAKC,cAAAA;IAAaC,WAAWjC,mBAAmB,CAACZ,WAAW,SAAS;KACxGiB,IAAAA,GAEH,gBAAAnC,OAAA,cAACC,aAAAA;IACCE,IAAI;MAAEC,eAAe;QAAE6C,IAAI;QAAO3C,IAAI;MAAS;IAAE;IACjDJ,OAAM;IACNoB,WAAW;KAEX,gBAAAtB,OAAA,cAACe,eAAAA;IAAcJ,MAAMgC;IAAa3B,IAAIyB;IAAWxB,YAAYqB;MAC7D,gBAAAtC,OAAA,cAACe,eAAAA;IAAcJ,MAAM+B;IAAa1B,IAAIwB;IAAWvB,YAAYsB;OAE/D,gBAAAvC,OAAA,cAACN,gBAAAA;IACCE;IACAE;IACAC;IACAF;IACAF,0BAA0BmC,kBAAkB,OAAO;QAIzD,gBAAA9B,OAAA,cAACwD,MAAAA;IAAKG,MAAAA;IAAKrD,IAAI;IAAID,IAAI;KACpB+B,YACG,gBAAApC,OAAA,cAACkE,OAAAA;IAAIC,KAAK/B;IAAWlC,OAAM;OAC3B,IAAA,CAAA,CAAA,CAAA;AAMhB,GAvGmD;;;AOlGnD,SACEkE,KAAKC,QAAQC,cAAAA,mBACR;AAEP,OAAOC,UACLC,YAAYC,aAAaC,YAAAA,iBACpB;AAQP,IAAMC,gBAAgB;AAMtB,IAAMC,gBAAgBC,OAAOC,KAAK;EAChCC,MAAMJ;EACNK,mBAAmBC,wBAAAA,SAAQA,SAAS,oBAAjBA;EACnBC,MAAM;AACR,CAAA,EAAuB,CAAC,EAAEC,iBAAgB,OAAQ;EAChD,KAAK;;;IAGH,WAAW;MACTC,SAAS;MACTC,SAAS;;MAETC,OAAO;MACPC,YAAY;;MAEZ,GAAIJ,oBAAoB;QAAEK,YAAYL;MAAiB;IACzD;EACF;AACF,EAAA;AAEA,IAAMM,qBAAqBZ,OAAOC,KAAK;EACrCC,MAAMJ;EACNO,MAAM;AACR,CAAA,EAAG,OAAO;EAAEQ,UAAU;AAAW,EAAA;AAEjC,IAAMC,uBAAuBd,OAAOe,aAAY;EAC9Cb,MAAMJ;EACNK,mBAAmBC,wBAAAA,SAAQA,SAAS,oBAAjBA;EACnBC,MAAM;AACR,CAAA,EAAiC,CAAC,EAChCW,OAAOC,kBAAkBC,WAAU,MACpC;AACC,SAAOF,MAAMG,YAAY;IACvBD,YAAYA,cAAc;IAC1BE,MAAM;IACNC,UAAU;IACVR,UAAU;IACVS,OAAO;IACPC,cAAc;IACdC,YAAY;IACZ,GAAIP,qBAAqB,UACrB;MACEQ,WAAW;MACXC,WAAW;IACb,IACA,CAAC;EACP,CAAA;AACF,CAAA;AAEA,IAAMC,kBAAkB,6BAAA;AACtB,QAAM,CAACC,mBAAmBC,oBAAAA,IAAwBC,UAAAA;AAElD,QAAMC,iBAAiBC,YAAY,CAACC,SAAAA;AAClC,QAAIA,SAAS,MAAM;AACjBJ,2BAAqBI,KAAKC,eAAe,IAAA;IAC3C;EACF,GAAG,CAAA,CAAE;AAEL,SAAO;IAAEN;IAAmBG;EAAe;AAC7C,GAVwB;AAsBjB,IAAMI,eAAeC,2BAC1B,CAAC,EACCC,UAAUpB,mBAAmB,SAASqB,kBAAkBC,iBAAiB,GAAGC,MAAAA,GAC3EC,QAAAA;AAED,QAAM,EAAEV,gBAAgBH,kBAAiB,IAAKD,gBAAAA;AAC9C,QAAMe,YAAYC,qBAAqBF,GAAAA;AAEvC,SACE,gBAAAG,OAAA,cAAC7C,eAAAA;IAAcO,kBAAkB,CAAC,CAACoC,aAAa,CAACJ,mBAAmBV,oBAAoBiB;IAAY,GAAGL;IAAOC;KAC5G,gBAAAG,OAAA,cAAChC,oBAAAA,MACC,gBAAAgC,OAAA,cAAC9B,sBAAAA;IAAqB2B,KAAKV;IAAgBe,WAAU;IAAO7B;IAAoC8B,SAAQ;IAAS,GAAGR;KACjHF,QAAAA,CAAAA,CAAAA;AAKX,CAAA;AAEFF,aAAaa,cAAc;;;AChH3B,SAASC,OAAOC,cAAAA,mBAAkB;AAClC,OAAOC,YAAW;AAMX,IAAMC,0BAAkE,wBAAC,EAC9EC,UAAUC,OAAO,GAAGC,MAAAA,MACrB;AACC,SACE,gBAAAC,OAAA,cAACC,OAAAA;IAAMC,eAAc;IAAU,GAAGH;KAChC,gBAAAC,OAAA,cAACG,aAAAA;IAAWC,cAAAA;IAAaC,SAAQ;KAC9BP,KAAAA,GAEFD,QAAAA;AAGP,GAX+E;;;ACP/E,SAASS,sBAAsB;AAE/B,OAAOC,YAAW;AAElB,SAASC,mBAAmB;AAQrB,IAAMC,qBAAsD,wBAAC,EAClEC,IAAIC,WAAWC,SAAS,GAAGC,MAAAA,MAC5B;AACC,QAAMC,WAAWC,YAAAA;AACjB,QAAMC,eAAe,wBAACC,UAAAA;AACpBL,cAAUK,KAAAA;AACV,QAAIP,IAAI;AACNI,eAASJ,IAAIC,SAAAA;IACf;EACF,GALqB;AAOrB,SAAO,gBAAAO,OAAA,cAACC,gBAAAA;IAAeP,SAASI;IAAe,GAAGH;;AACpD,GAZmE;AAc5D,IAAMO,mBAAoD,wBAAC,EAAEV,IAAI,GAAGG,MAAAA,MAAO;AAChF,SAAOH,KAAK,gBAAAQ,OAAA,cAACT,oBAAAA;IAAmBC;IAAS,GAAGG;OAAY,gBAAAK,OAAA,cAACC,gBAAmBN,KAAAA;AAC9E,GAFiE;;;AC3BjE,SAASQ,eAAAA,oBAAmB;AAE5B,OAAOC,YAAW;;;ACFlB,SAASC,cAAAA,mBAAkB;AAE3B,SAASC,eAAAA,oBAAmB;AAC5B,OAAOC,YAAW;AAElB,IAAMC,WAAmC,wBAACC,UAAAA;AACxC,SACE,gBAAAC,OAAA,cAACC,cAAgBF,OACf,gBAAAC,OAAA,cAACE,aAAAA;IAAWC,SAAQ;KAAK,QAAA,GACzB,gBAAAH,OAAA,cAACE,aAAAA;IAAWE,SAAS;IAAGD,SAAQ;KAC7B,0BAAA,CAAA;AAIT,GATyC;;;ADUlC,SAASE,WAAcC,OAA4C;AACxE,QAAM,EACJC,UAAUC,OAAOC,cAAcC,SAAQ,IACrCJ;AACJ,MAAIC,UAAU;AACZ,WAAO,gBAAAI,OAAA,cAACC,UAAAA,IAAAA;EACV;AACA,MAAIJ,OAAO;AACT,WAAO,gBAAAG,OAAA,cAAAA,OAAA,UAAA,MAAGD,QAAAA;EACZ;AACA,SAAOD,iBAAiBI,SAAY,gBAAAF,OAAA,cAACG,cAAAA;IAAYC,MAAAA;IAAKC,WAAU;OAAY,gBAAAL,OAAA,cAAAA,OAAA,UAAA,MAAGD,QAAAA;AACjF;AAXgBL;;;AEdhB,SAASY,cAAAA,mBAAkB;AAC3B,OAAOC,YAAW;AAEX,IAAMC,OAAkC,wBAACC,UAAAA;AAC9C,SACE,gBAAAC,OAAA,cAACC,aAAAA;IAAWC,SAAS;IAAGC,WAAU;IAAQ,GAAGJ;KAAO,GAAA;AAIxD,GAN+C;;;ACH/C,SAASK,OAAOC,kBAAkB;AAClC,OAAOC,YAAW;AAMX,IAAMC,qBAAwD,wBAAC,EAAEC,WAAW,GAAGC,MAAAA,MAAO;AAC3F,SACE,gBAAAC,OAAA,cAACC,OAAAA;IAAMC,UAAS;IAAW,GAAGH;KAC5B,gBAAAC,OAAA,cAACG,YAAAA,MAAW,cAAA,GACXL,aAAa,sDAAA;AAGpB,GAPqE;;;ACRrE,SAASM,UAAAA,eAAc;AAEvB,OAAOC,aAAW;AAElB,IAAMC,wBAAwBC,QAAO,KAAA,EAAO,CAAC,EAAEC,MAAK,OAAQ;EAC1D,CAACA,MAAMC,YAAYC,KAAK,IAAA,CAAA,GAAQ;IAAEC,WAAW;EAAS;EACtDC,SAAS;EACTC,UAAU;AACZ,EAAA;AAEA,IAAMC,kBAA0C,wBAAC,EAAEC,SAAQ,MAAO,gBAAAC,QAAA,cAACV,uBAAAA,MAAuBS,QAAAA,GAA1C;;;ACVhD,SAASE,YAAAA,iBAAgB;AAEzB,SAASC,eAAAA,oBAAmB;AAC5B,OAAOC,WAASC,cAAAA,mBAAkB;AAE3B,IAAMC,oBAAoBD,gBAAAA,YAAyC,CAAC,EACzEE,UAAUC,IAAI,GAAGC,MAAAA,GAChBC,QAAAA;AACD,QAAMC,QAAQT,UAAAA;AACd,SACE,gBAAAE,QAAA,cAACD,cAAAA;IACCK,IAAI;MACFI,eAAe;QAAEC,IAAIF,MAAMG,QAAQ,CAAA;QAAIC,IAAIJ,MAAMG,QAAQ,CAAA;MAAG;MAC5DE,YAAY;QAAEH,IAAIF,MAAMG,QAAQ,CAAA;QAAIC,IAAIJ,MAAMG,QAAQ,CAAA;MAAG;MACzD,GAAGN;IACL;IACAS,OAAM;IACNP;IACC,GAAGD;KAEHF,QAAAA;AAGP,CAAA;AAEAD,kBAAkBY,cAAc;;;ACzBhC,OAAOC,WAASC,cAAAA,mBAAkB;;;ACClC,SAASC,UAAAA,SAAQC,iBAAiB;AAClC,SAASC,UAAAA,eAAc;AACvB,OAAOC,WAASC,cAAAA,aAAYC,eAAe;AAK3C,IAAMC,wBAAwBC,QAAOC,WAAW;EAC9CC,MAAM;EACNC,mBAAmBC,wBAAAA,SAAQA,SAAS,SAAjBA;EACnBC,MAAM;AACR,CAAA,EAAG,CAAC,EAAEC,QAAQ,OAAM,OAAQ;EAAEA;AAAM,EAAA;AAgB7B,IAAMC,2BAA2BC,gBAAAA,YACtC,CAAC,EACCC,UAAUC,MAAMC,OAAO,OAAOC,IAAIC,OAAO,GAAGC,MAAAA,GAC3CC,QAAAA;AACD,QAAMC,OAAOC,QAAQ,MAAA;AACnB,QAAIR,UAAU;AACZ,aAAOA;IACT;AACA,QAAIC,QAAQC,QAAQC,IAAI;AACtB,aACE,gBAAAM,QAAA,cAACC,SAAAA;QAAOC,OAAOP;QAAOD;QAAQF;QAAYW,QAAQX,OAAO,WAAWY;SACjET,KAAAA;IAGP;AACA,WAAOA;EACT,GAAG;IAACJ;IAAUC;IAAMC;IAAMC;IAAIC;GAAM;AACpC,SACE,gBAAAK,QAAA,cAACnB,uBAAAA;IAAsBgB;IAAW,GAAGD;KACnC,gBAAAI,QAAA,cAACK,cAAAA;IAAaC,IAAI;MAAEC,QAAQd,QAAQC,MAAMF,OAAO,YAAY;IAAU;KAAIM,IAAAA,CAAAA;AAGjF,CAAA;AAGFT,yBAAyBmB,cAAc;AAChC,IAAMC,oBAAoBpB;;;ADzCjC,IAAMqB,mBAAmBC,gBAAAA,YAA+C,CAAC,EACvEC,OAAOC,SAASC,eAAeC,MAAM,GAAGC,MAAAA,GACvCC,QAAAA;AACD,QAAMC,OAAOJ,iBAAiBD,UAAU,GAAGC,aAAAA,YAAyBD,OAAAA,YAAmBD,KAAAA,KAAUO;AACjG,QAAMC,KAAKN,kBAAkBK,UAAaN,UAAU,YAAYA,OAAAA,YAAmBD,KAAAA,KAAUO;AAE7F,SAAO,gBAAAE,QAAA,cAACC,mBAAAA;IAAkBV;IAAcM;IAAYE;IAAQH;IAAUF;IAAa,GAAGC;;AACxF,CAAA;AAEAN,iBAAiBa,cAAc;;;AErB/B,SAASC,gBAAgB;AACzB,OAAOC,WAASC,UAAAA,eAAc;AAavB,IAAMC,gBAA8C,wBAAC,EAC1DC,OAAOC,SAASC,UAAUC,SAASC,eAAeC,aAAa,GAAGC,MAAAA,MACnE;AACC,QAAMC,MAAMC,QAAoC,IAAA;AAChD,QAAM,CAACC,cAAcC,QAAAA,IAAYC,SAA+BC,QAAWL,GAAAA;AAC3E,QAAMM,WAAW,IAAIX,QAAAA,SAAiBF,KAAAA,YAAiBG,WAAW,MAAA;AAClE,QAAMW,cAAcb,UAAU,YAAYA,OAAAA,GAAUY,QAAAA,KAAaA;AAEjE,QAAME,kBAAkB,6BAAA;AACtB,QAAIV,aAAa;AACfA,kBAAYL,KAAAA;IACd,OAAO;AACLU,iBAAW,QAAQ,SAASV,KAAAA;IAC9B;EACF,GANwB;AAQxB,SACE,gBAAAgB,QAAA,cAACC,mBAAAA;IACCC,SAASH;IACTR,KAAKE;IACLT;IACAmB,MAAMf,gBAAgB,GAAGA,aAAAA,GAAgBU,WAAAA,MAAiBF;IAC1DQ,IAAIhB,gBAAgBQ,SAAYE;IAC/B,GAAGR;;AAGV,GA1B2D;;;ACd3D,SAASe,QAAQC,YAAAA,iBAAgB;AACjC,OAAOC,aAAW;AAEX,IAAMC,mBAA0C,wBAAC,EAAE,GAAGC,MAAAA,MAAO;AAClE,QAAMC,QAAQC,UAAAA;AACd,SAAO,gBAAAC,QAAA,cAACC,QAAAA;IAAOC,IAAI;MAAEC,YAAYL,MAAMM,QAAQC,OAAOC;IAAM;IAAI,GAAGT;;AACrE,GAHuD;;;ACHvD,SAASU,mBAAmB;AAC5B,OAAOC,aAAW;AAQX,IAAMC,wBAA8D,wBAAC,EAAEC,QAAQ,GAAGC,MAAAA,MAAO;AAC9F,SAAO,gBAAAC,QAAA,cAACC,aAAgBF,OAAQD,QAAQI,IAAI,CAACC,OAAOC,UAAU,gBAAAJ,QAAA,cAACK,kBAAAA;IAAiBC,KAAKF;IAAOG,KAAKJ;;AACnG,GAF2E;;;ACT3E,SAASK,OAAOC,cAAAA,mBAAkB;AAClC,SAASC,eAAe;AAExB,OAAOC,aAAW;AAUX,IAAMC,WAAoC,wBAAC,EAChDC,OAAOC,YAAYC,aAAaC,OAAOC,YAAYC,aAAa,GAAGC,MAAAA,MACpE;AACC,SACE,gBAAAC,QAAA,cAACC,OAAAA;IAAMC,WAAW;IAAGC,WAAU;IAAiB,GAAGJ;KACjD,gBAAAC,QAAA,cAACI,SAAAA;IAAQC,gBAAe;KACtB,gBAAAL,QAAA,cAACM,aAAAA;IAAWC,SAAQ;IAAQC,YAAY;IAAKC,QAAQ;IAAI,GAAGf;KACzDD,OACAE,WAAAA,GAEH,gBAAAK,QAAA,cAACM,aAAAA;IAAWC,SAAQ;IAAQC,YAAY;IAAKE,eAAc;IAAYC,OAAM;IAAOF,QAAQ;IAAI,GAAGZ;KAChGD,OACAE,WAAAA,CAAAA,CAAAA;AAKX,GAjBiD;;;ACdjD,SAAoBc,WAAXC,gBAAsB;AAC/B,SAAoBC,WAAXD,gBAAsB;AAC/B,SAAoBE,WAAXF,gBAAuB;AAChC,SAAoBG,WAAXH,gBAAsB;AAC/B,SAAoBI,WAAXJ,gBAA2B;AACpC,SAAoBK,WAAXL,gBAAsB;AAC/B,SAAoBM,WAAXN,gBAA2B;AACpC,SAAoBO,WAAXP,gBAAuB;AAChC,SAAoBQ,WAAXR,iBAAuB;AAChC,SAAoBS,WAAXT,iBAAsB;AAC/B,SAAoBU,WAAXV,iBAAyB;AAClC,SAAoBW,WAAXX,iBAA0B;AACnC,SAAoBY,WAAXZ,iBAAuB;AAChC,SAAoBa,WAAXb,iBAA6B;AACtC,SAAoBc,WAAXd,iBAAsB;;;ACHxB,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.11",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"type": "module",
|
|
28
28
|
"exports": {
|
|
29
29
|
".": {
|
|
30
|
-
"
|
|
30
|
+
"browser": {
|
|
31
31
|
"types": "./dist/browser/index.d.ts",
|
|
32
32
|
"default": "./dist/browser/index.mjs"
|
|
33
33
|
},
|
|
@@ -44,15 +44,15 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@xylabs/hex": "^4.0.9",
|
|
47
|
-
"@xylabs/react-appbar": "^4.
|
|
48
|
-
"@xylabs/react-button": "^4.
|
|
49
|
-
"@xylabs/react-flexbox": "^4.
|
|
50
|
-
"@xylabs/react-link": "^4.
|
|
51
|
-
"@xylabs/react-promise": "^4.
|
|
52
|
-
"@xylabs/react-shared": "^4.
|
|
53
|
-
"@xyo-network/payload-builder": "^3.1.
|
|
54
|
-
"@xyo-network/payload-model": "^3.1.
|
|
55
|
-
"@xyo-network/react-event": "^3.0.
|
|
47
|
+
"@xylabs/react-appbar": "^4.2.5",
|
|
48
|
+
"@xylabs/react-button": "^4.2.5",
|
|
49
|
+
"@xylabs/react-flexbox": "^4.2.5",
|
|
50
|
+
"@xylabs/react-link": "^4.2.5",
|
|
51
|
+
"@xylabs/react-promise": "^4.2.5",
|
|
52
|
+
"@xylabs/react-shared": "^4.2.5",
|
|
53
|
+
"@xyo-network/payload-builder": "^3.1.9",
|
|
54
|
+
"@xyo-network/payload-model": "^3.1.9",
|
|
55
|
+
"@xyo-network/react-event": "^3.0.11",
|
|
56
56
|
"react-router-dom": "^6.26.1"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"@mui/material": "^5.16.7",
|
|
61
61
|
"@mui/styles": "^5.16.7",
|
|
62
62
|
"@storybook/react": "^8.2.9",
|
|
63
|
-
"@xylabs/react-quick-tip-button": "^4.
|
|
63
|
+
"@xylabs/react-quick-tip-button": "^4.2.5",
|
|
64
64
|
"@xylabs/ts-scripts-yarn3": "^4.0.7",
|
|
65
65
|
"@xylabs/tsconfig-react": "^4.0.7",
|
|
66
66
|
"react": "^18.3.1",
|
package/src/components/index.ts
CHANGED
package/src/hooks/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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePromise.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePromise.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -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
|
-
}
|
package/src/hooks/usePromise.ts
DELETED