@xyo-network/react-shared 2.64.0 → 2.64.1

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.
Files changed (147) hide show
  1. package/dist/browser/components/Ampersand.js +3 -2
  2. package/dist/browser/components/Ampersand.js.map +1 -1
  3. package/dist/browser/components/BasicHero/BasicHero.js +71 -5
  4. package/dist/browser/components/BasicHero/BasicHero.js.map +1 -1
  5. package/dist/browser/components/BasicHero/index.js +203 -1
  6. package/dist/browser/components/BasicHero/index.js.map +1 -1
  7. package/dist/browser/components/Ellipsize.js +28 -8
  8. package/dist/browser/components/Ellipsize.js.map +1 -1
  9. package/dist/browser/components/ErrorBoundary.js +4 -3
  10. package/dist/browser/components/ErrorBoundary.js.map +1 -1
  11. package/dist/browser/components/ListItemButtonEx.js +4 -3
  12. package/dist/browser/components/ListItemButtonEx.js.map +1 -1
  13. package/dist/browser/components/LoadResult.js +19 -6
  14. package/dist/browser/components/LoadResult.js.map +1 -1
  15. package/dist/browser/components/NotFound.js +3 -2
  16. package/dist/browser/components/NotFound.js.map +1 -1
  17. package/dist/browser/components/Pipe.js +3 -2
  18. package/dist/browser/components/Pipe.js.map +1 -1
  19. package/dist/browser/components/ScrollTableOnSm.js +4 -3
  20. package/dist/browser/components/ScrollTableOnSm.js.map +1 -1
  21. package/dist/browser/components/SectionSpacingRow/SectionSpacingRow.js +3 -2
  22. package/dist/browser/components/SectionSpacingRow/SectionSpacingRow.js.map +1 -1
  23. package/dist/browser/components/SectionSpacingRow/index.js +26 -1
  24. package/dist/browser/components/SectionSpacingRow/index.js.map +1 -1
  25. package/dist/browser/components/StyleGuide/AppBars.example.js +3 -2
  26. package/dist/browser/components/StyleGuide/AppBars.example.js.map +1 -1
  27. package/dist/browser/components/StyleGuide/Buttons.example.js +5 -4
  28. package/dist/browser/components/StyleGuide/Buttons.example.js.map +1 -1
  29. package/dist/browser/components/StyleGuide/Papers.example.js +3 -2
  30. package/dist/browser/components/StyleGuide/Papers.example.js.map +1 -1
  31. package/dist/browser/components/StyleGuide/StyleGuide.example.js +99 -12
  32. package/dist/browser/components/StyleGuide/StyleGuide.example.js.map +1 -1
  33. package/dist/browser/components/StyleGuide/Texts.example.js +3 -2
  34. package/dist/browser/components/StyleGuide/Texts.example.js.map +1 -1
  35. package/dist/browser/components/StyleGuide/VariantContext.example.js +2 -1
  36. package/dist/browser/components/StyleGuide/VariantContext.example.js.map +1 -1
  37. package/dist/browser/components/TableCell/AddressTableCell.js +124 -4
  38. package/dist/browser/components/TableCell/AddressTableCell.js.map +1 -1
  39. package/dist/browser/components/TableCell/EllipsisTableCell.js +98 -9
  40. package/dist/browser/components/TableCell/EllipsisTableCell.js.map +1 -1
  41. package/dist/browser/components/TableCell/EllipsisTableCellDeprecated.js +107 -6
  42. package/dist/browser/components/TableCell/EllipsisTableCellDeprecated.js.map +1 -1
  43. package/dist/browser/components/TableCell/HashTableCell.js +126 -6
  44. package/dist/browser/components/TableCell/HashTableCell.js.map +1 -1
  45. package/dist/browser/components/TableCell/findParent.js +2 -1
  46. package/dist/browser/components/TableCell/findParent.js.map +1 -1
  47. package/dist/browser/components/TableCell/getRemainingRowWidth.js +2 -1
  48. package/dist/browser/components/TableCell/getRemainingRowWidth.js.map +1 -1
  49. package/dist/browser/components/TableCell/getSmallestParentWidth.js +2 -1
  50. package/dist/browser/components/TableCell/getSmallestParentWidth.js.map +1 -1
  51. package/dist/browser/components/TableCell/index.js +160 -3
  52. package/dist/browser/components/TableCell/index.js.map +1 -1
  53. package/dist/browser/components/ThemeTokenAvatar/ThemeTokenAvatar.js +3 -2
  54. package/dist/browser/components/ThemeTokenAvatar/ThemeTokenAvatar.js.map +1 -1
  55. package/dist/browser/components/ThemeTokenAvatar/index.js +10 -1
  56. package/dist/browser/components/ThemeTokenAvatar/index.js.map +1 -1
  57. package/dist/browser/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.js +14 -4
  58. package/dist/browser/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.js.map +1 -1
  59. package/dist/browser/components/ThemeTokenAvatarGroup/index.js +19 -1
  60. package/dist/browser/components/ThemeTokenAvatarGroup/index.js.map +1 -1
  61. package/dist/browser/components/TokenBar/TokenBar.js +3 -2
  62. package/dist/browser/components/TokenBar/TokenBar.js.map +1 -1
  63. package/dist/browser/components/TokenBar/index.js +19 -1
  64. package/dist/browser/components/TokenBar/index.js.map +1 -1
  65. package/dist/browser/components/TokenData/TokenData.js +34 -17
  66. package/dist/browser/components/TokenData/TokenData.js.map +1 -1
  67. package/dist/browser/components/TokenData/img/index.js +1 -0
  68. package/dist/browser/components/TokenData/img/index.js.map +1 -1
  69. package/dist/browser/components/TokenData/index.js +153 -2
  70. package/dist/browser/components/TokenData/index.js.map +1 -1
  71. package/dist/browser/components/TokenData/useGetTokenData.js +143 -2
  72. package/dist/browser/components/TokenData/useGetTokenData.js.map +1 -1
  73. package/dist/browser/components/TokenSummary/TokenSummary.js +16 -6
  74. package/dist/browser/components/TokenSummary/TokenSummary.js.map +1 -1
  75. package/dist/browser/components/TokenSummary/index.js +29 -1
  76. package/dist/browser/components/TokenSummary/index.js.map +1 -1
  77. package/dist/browser/components/TypographyEx.js +57 -3
  78. package/dist/browser/components/TypographyEx.js.map +1 -1
  79. package/dist/browser/components/index.js +730 -18
  80. package/dist/browser/components/index.js.map +1 -1
  81. package/dist/browser/components/pluginValidation/DataMissing.js +3 -2
  82. package/dist/browser/components/pluginValidation/DataMissing.js.map +1 -1
  83. package/dist/browser/components/pluginValidation/index.js +12 -1
  84. package/dist/browser/components/pluginValidation/index.js.map +1 -1
  85. package/dist/browser/contexts/ListMode/Context.js +6 -2
  86. package/dist/browser/contexts/ListMode/Context.js.map +1 -1
  87. package/dist/browser/contexts/ListMode/Provider.js +12 -3
  88. package/dist/browser/contexts/ListMode/Provider.js.map +1 -1
  89. package/dist/browser/contexts/ListMode/index.js +44 -4
  90. package/dist/browser/contexts/ListMode/index.js.map +1 -1
  91. package/dist/browser/contexts/ListMode/use.js +19 -3
  92. package/dist/browser/contexts/ListMode/use.js.map +1 -1
  93. package/dist/browser/contexts/Pixel/Context.js +6 -2
  94. package/dist/browser/contexts/Pixel/Context.js.map +1 -1
  95. package/dist/browser/contexts/Pixel/Provider.js +12 -3
  96. package/dist/browser/contexts/Pixel/Provider.js.map +1 -1
  97. package/dist/browser/contexts/Pixel/index.js +45 -4
  98. package/dist/browser/contexts/Pixel/index.js.map +1 -1
  99. package/dist/browser/contexts/Pixel/use.js +19 -3
  100. package/dist/browser/contexts/Pixel/use.js.map +1 -1
  101. package/dist/browser/contexts/contextEx/create.js +2 -1
  102. package/dist/browser/contexts/contextEx/create.js.map +1 -1
  103. package/dist/browser/contexts/contextEx/index.js +22 -4
  104. package/dist/browser/contexts/contextEx/index.js.map +1 -1
  105. package/dist/browser/contexts/contextEx/use.js +3 -2
  106. package/dist/browser/contexts/contextEx/use.js.map +1 -1
  107. package/dist/browser/contexts/diviner/Context.js +6 -2
  108. package/dist/browser/contexts/diviner/Context.js.map +1 -1
  109. package/dist/browser/contexts/diviner/Provider.js +3 -2
  110. package/dist/browser/contexts/diviner/Provider.js.map +1 -1
  111. package/dist/browser/contexts/diviner/index.js +40 -3
  112. package/dist/browser/contexts/diviner/index.js.map +1 -1
  113. package/dist/browser/contexts/index.js +116 -4
  114. package/dist/browser/contexts/index.js.map +1 -1
  115. package/dist/browser/hooks/GradientStyles/GradientStyles.js +4 -3
  116. package/dist/browser/hooks/GradientStyles/GradientStyles.js.map +1 -1
  117. package/dist/browser/hooks/GradientStyles/index.js +56 -1
  118. package/dist/browser/hooks/GradientStyles/index.js.map +1 -1
  119. package/dist/browser/hooks/index.js +126 -7
  120. package/dist/browser/hooks/index.js.map +1 -1
  121. package/dist/browser/hooks/useDataState.js +2 -1
  122. package/dist/browser/hooks/useDataState.js.map +1 -1
  123. package/dist/browser/hooks/useIsMobile.js +7 -2
  124. package/dist/browser/hooks/useIsMobile.js.map +1 -1
  125. package/dist/browser/hooks/useMediaQuery.js +1 -0
  126. package/dist/browser/hooks/useMediaQuery.js.map +1 -1
  127. package/dist/browser/hooks/usePayloadHash.js +3 -2
  128. package/dist/browser/hooks/usePayloadHash.js.map +1 -1
  129. package/dist/browser/hooks/usePromise.js +2 -1
  130. package/dist/browser/hooks/usePromise.js.map +1 -1
  131. package/dist/browser/hooks/useShareForwardRef.js +2 -1
  132. package/dist/browser/hooks/useShareForwardRef.js.map +1 -1
  133. package/dist/browser/index.js +988 -6
  134. package/dist/browser/index.js.map +1 -1
  135. package/dist/browser/lib/assertDefinedEx.js +2 -1
  136. package/dist/browser/lib/assertDefinedEx.js.map +1 -1
  137. package/dist/browser/lib/getActualPaddingX.js +4 -3
  138. package/dist/browser/lib/getActualPaddingX.js.map +1 -1
  139. package/dist/browser/lib/index.js +101 -3
  140. package/dist/browser/lib/index.js.map +1 -1
  141. package/dist/browser/lib/networkComponents.js +5 -4
  142. package/dist/browser/lib/networkComponents.js.map +1 -1
  143. package/dist/browser/lib/xyo.js +3 -2
  144. package/dist/browser/lib/xyo.js.map +1 -1
  145. package/dist/browser/models/index.js +0 -1
  146. package/dist/browser/models/index.js.map +1 -1
  147. package/package.json +13 -13
@@ -1,7 +1,989 @@
1
- export * from "./components";
2
- export * from "./contexts";
3
- export * from "./hooks";
4
- export * from "./lib";
5
- export * from "./models";
6
- export * from "./SizeProp";
1
+ // src/components/Ampersand.tsx
2
+ import { Typography } from "@mui/material";
3
+ import { jsx } from "react/jsx-runtime";
4
+ var Ampersand = (props) => {
5
+ return /* @__PURE__ */ jsx(Typography, { marginX: 1, component: "span", ...props, children: "&" });
6
+ };
7
+
8
+ // src/components/BasicHero/BasicHero.tsx
9
+ import { Container, Grid, Typography as Typography2 } from "@mui/material";
10
+ import { ButtonEx } from "@xylabs/react-button";
11
+ import { FlexGrowCol, FlexGrowRow } from "@xylabs/react-flexbox";
12
+ import { LinkEx } from "@xylabs/react-link";
13
+
14
+ // src/hooks/GradientStyles/GradientStyles.tsx
15
+ import { useTheme } from "@mui/material";
16
+ import { makeStyles } from "@mui/styles";
17
+ var colorfulGradientLightMode = () => {
18
+ return {
19
+ background: {
20
+ backgroundImage: "-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)"
21
+ },
22
+ border: {
23
+ borderImage: "-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",
24
+ borderImageSlice: 1,
25
+ borderImageSource: "-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",
26
+ borderRadius: 0,
27
+ borderStyle: "solid",
28
+ borderWidth: "2px"
29
+ },
30
+ heading: {
31
+ WebkitBackgroundClip: "text",
32
+ WebkitTextFillColor: "transparent",
33
+ background: "-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",
34
+ display: "inline-block"
35
+ }
36
+ };
37
+ };
38
+ var colorfulGradientDarkMode = () => {
39
+ return {
40
+ background: {
41
+ backgroundImage: "-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)"
42
+ },
43
+ border: {
44
+ borderImage: "-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",
45
+ borderImageSlice: 1,
46
+ borderImageSource: "-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",
47
+ borderRadius: 0,
48
+ borderStyle: "solid",
49
+ borderWidth: "2px"
50
+ },
51
+ heading: {
52
+ WebkitBackgroundClip: "text",
53
+ WebkitTextFillColor: "transparent",
54
+ background: "-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",
55
+ display: "inline-block"
56
+ }
57
+ };
58
+ };
59
+ var useGradientStyles = () => {
60
+ const theme = useTheme();
61
+ const styles = theme.palette.mode === "dark" ? colorfulGradientDarkMode() : colorfulGradientLightMode();
62
+ const classes = makeStyles(styles);
63
+ return { classes, styles };
64
+ };
65
+
66
+ // src/hooks/useDataState.ts
67
+ import { useState } from "react";
68
+ var useDataState = (defaultValue) => {
69
+ const [state, setState] = useState(defaultValue);
70
+ const setDataState = (value) => {
71
+ try {
72
+ if (JSON.stringify(value) !== JSON.stringify(state)) {
73
+ setState(value);
74
+ }
75
+ } catch (ex) {
76
+ console.error("setDataState failed! Make sure data type is stringifiable!");
77
+ }
78
+ };
79
+ return [state, setDataState];
80
+ };
81
+
82
+ // src/hooks/useIsMobile.ts
83
+ import { useTheme as useTheme2 } from "@mui/material";
84
+
85
+ // src/hooks/useMediaQuery.ts
86
+ import { useMediaQuery } from "@mui/material";
87
+
88
+ // src/hooks/useIsMobile.ts
89
+ var useIsMobile = () => {
90
+ const theme = useTheme2();
91
+ return useMediaQuery(theme.breakpoints.down("md"));
92
+ };
93
+
94
+ // src/hooks/usePayloadHash.ts
95
+ import { usePromise } from "@xylabs/react-promise";
96
+ import { PayloadHasher } from "@xyo-network/core";
97
+ var usePayloadHash = (payload) => {
98
+ return usePromise(async () => payload ? await PayloadHasher.hashAsync(payload) : void 0, [payload])[0];
99
+ };
100
+ var usePayloadHashes = (payloads) => {
101
+ return usePromise(
102
+ async () => payloads ? await Promise.all(payloads.map(async (payload) => [payload, await PayloadHasher.hashAsync(payload)])) : void 0,
103
+ [payloads]
104
+ )[0];
105
+ };
106
+
107
+ // src/hooks/usePromise.ts
108
+ import { usePromise as importedUsePromise } from "@xylabs/react-promise";
109
+ var usePromise2 = importedUsePromise;
110
+
111
+ // src/hooks/useShareForwardRef.ts
112
+ import { useEffect, useRef } from "react";
113
+ var useShareForwardedRef = (forwardedRef, refresh = 0) => {
114
+ const innerRef = useRef(null);
115
+ useEffect(() => {
116
+ if (!forwardedRef) {
117
+ return;
118
+ }
119
+ if (typeof forwardedRef === "function") {
120
+ forwardedRef(innerRef.current);
121
+ return;
122
+ } else {
123
+ forwardedRef.current = innerRef.current;
124
+ }
125
+ }, [forwardedRef, refresh]);
126
+ return innerRef;
127
+ };
128
+
129
+ // src/components/BasicHero/BasicHero.tsx
130
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
131
+ var SubLinkSection = ({ backgroundImageAlignment, subLinkIcon, subLinkPath, subLinkText1, subLinkText2 }) => {
132
+ return /* @__PURE__ */ jsxs(
133
+ FlexGrowRow,
134
+ {
135
+ width: "100%",
136
+ sx: { flexDirection: { md: "row", xs: "column" }, justifyContent: { md: backgroundImageAlignment ? "flex-start" : "center", xs: "center" } },
137
+ children: [
138
+ subLinkIcon ? /* @__PURE__ */ jsxs("span", { children: [
139
+ subLinkIcon,
140
+ "\xA0"
141
+ ] }) : null,
142
+ /* @__PURE__ */ jsxs(Typography2, { children: [
143
+ subLinkText1,
144
+ "\xA0"
145
+ ] }),
146
+ /* @__PURE__ */ jsx2(LinkEx, { href: subLinkPath, underline: "always", target: "_blank", color: "inherit", children: /* @__PURE__ */ jsx2(Typography2, { children: subLinkText2 }) })
147
+ ]
148
+ }
149
+ );
150
+ };
151
+ var ButtonSection = ({ href, to, buttonText }) => {
152
+ const isMobile = useIsMobile();
153
+ return /* @__PURE__ */ jsx2(
154
+ ButtonEx,
155
+ {
156
+ fullWidth: true,
157
+ marginTop: 1,
158
+ marginBottom: 1,
159
+ marginRight: isMobile ? 2 : 1,
160
+ marginLeft: isMobile ? 2 : 0,
161
+ target: href ?? "_blank",
162
+ to,
163
+ href,
164
+ color: "primary",
165
+ variant: "contained",
166
+ paddingX: 3,
167
+ sx: { display: href || to ? "flex" : "none" },
168
+ children: buttonText
169
+ }
170
+ );
171
+ };
172
+ var BasicHero = ({
173
+ backgroundImage,
174
+ title,
175
+ gradientTitle,
176
+ backgroundColor,
177
+ textColor,
178
+ desc,
179
+ heroImage,
180
+ title2,
181
+ subLinkText1,
182
+ subLinkText2,
183
+ subLinkPath,
184
+ button1Text,
185
+ button2Text,
186
+ button2To,
187
+ button1To,
188
+ button2Href,
189
+ button1Href,
190
+ subLinkIcon,
191
+ sx,
192
+ ...props
193
+ }) => {
194
+ const isMobile = useIsMobile();
195
+ const { classes } = useGradientStyles();
196
+ return /* @__PURE__ */ jsx2(
197
+ FlexGrowCol,
198
+ {
199
+ sx: {
200
+ backgroundImage: `url(${backgroundImage})`,
201
+ backgroundPosition: { lg: "bottom", md: "center left", xs: "top left" },
202
+ minHeight: {
203
+ md: "500px",
204
+ sm: "400px",
205
+ xs: "200px"
206
+ },
207
+ ...sx ?? {}
208
+ },
209
+ style: {
210
+ backgroundColor: backgroundColor ?? "",
211
+ backgroundRepeat: "no-repeat",
212
+ backgroundSize: "cover",
213
+ color: textColor ?? ""
214
+ },
215
+ ...props,
216
+ children: /* @__PURE__ */ jsx2(Container, { children: /* @__PURE__ */ jsxs(
217
+ Grid,
218
+ {
219
+ container: true,
220
+ justifyContent: "center",
221
+ alignItems: "center",
222
+ sx: {
223
+ alignItems: { xs: "center" },
224
+ justifyContent: { xs: "center" }
225
+ },
226
+ children: [
227
+ /* @__PURE__ */ jsx2(Grid, { item: true, xs: 12, sm: 8, md: backgroundImage ? 6 : 8, lg: backgroundImage ? 6 : 8, children: /* @__PURE__ */ jsxs(FlexGrowCol, { paddingY: 2, sx: { alignItems: { xs: backgroundImage && !isMobile ? "flex-start" : "center" } }, children: [
228
+ /* @__PURE__ */ jsxs(Typography2, { variant: "h1", component: "h1", gutterBottom: true, textAlign: backgroundImage && !isMobile ? "left" : "center", children: [
229
+ title ? /* @__PURE__ */ jsx2("span", { children: `${title} ` }) : null,
230
+ gradientTitle ? /* @__PURE__ */ jsxs("span", { className: classes().heading, children: [
231
+ " ",
232
+ ` ${gradientTitle}`
233
+ ] }) : null,
234
+ title2 ? /* @__PURE__ */ jsx2("span", { children: ` ${title2}` }) : null
235
+ ] }),
236
+ /* @__PURE__ */ jsx2(Typography2, { variant: "body1", component: "h2", gutterBottom: true, textAlign: backgroundImage && !isMobile ? "left" : "center", children: desc }),
237
+ /* @__PURE__ */ jsxs(FlexGrowRow, { sx: { flexDirection: { lg: "row", xs: "column" } }, width: "100%", marginTop: 1, children: [
238
+ /* @__PURE__ */ jsx2(ButtonSection, { href: button1Href, to: button1To, buttonText: button1Text }),
239
+ /* @__PURE__ */ jsx2(ButtonSection, { href: button2Href, to: button2To, buttonText: button2Text })
240
+ ] }),
241
+ /* @__PURE__ */ jsx2(
242
+ SubLinkSection,
243
+ {
244
+ subLinkIcon,
245
+ subLinkText1,
246
+ subLinkText2,
247
+ subLinkPath,
248
+ backgroundImageAlignment: backgroundImage ? true : false
249
+ }
250
+ )
251
+ ] }) }),
252
+ /* @__PURE__ */ jsx2(Grid, { item: true, xs: 12, md: 6, children: heroImage ? /* @__PURE__ */ jsx2("img", { src: heroImage, width: "100%" }) : null })
253
+ ]
254
+ }
255
+ ) })
256
+ }
257
+ );
258
+ };
259
+
260
+ // src/components/Ellipsize.tsx
261
+ import { Box, styled, Typography as Typography3 } from "@mui/material";
262
+ import { forwardRef, useCallback, useState as useState2 } from "react";
263
+ import { jsx as jsx3 } from "react/jsx-runtime";
264
+ var ComponentName = "Ellipsize";
265
+ var EllipsizeRoot = styled(Box, {
266
+ name: ComponentName,
267
+ shouldForwardProp: (prop) => prop !== "beforeLineHeight",
268
+ slot: "Root"
269
+ })(({ beforeLineHeight }) => ({
270
+ "&": {
271
+ // because the cell content ends up absolutely positioned, the cell doesn't know the content height.
272
+ // the pseudo element with a hidden character establishes the proper height of the content and hides it
273
+ ":before": {
274
+ content: "'nbsp;'",
275
+ display: "block",
276
+ // take the pseudo element out of the `display: block` flow so it won't push against our actual content
277
+ float: "left",
278
+ visibility: "hidden",
279
+ // since we are `display: block`, lineHeight is the height
280
+ ...beforeLineHeight && { lineHeight: beforeLineHeight }
281
+ }
282
+ }
283
+ }));
284
+ var EllipsizeInnerWrap = styled(Box, {
285
+ name: ComponentName,
286
+ slot: "innerWrap"
287
+ })(() => ({
288
+ position: "relative"
289
+ }));
290
+ var EllipsizeContentWrap = styled(Typography3, {
291
+ name: ComponentName,
292
+ shouldForwardProp: (prop) => prop !== "ellipsisPosition",
293
+ slot: "contentWrap"
294
+ })(({ theme, ellipsisPosition, fontFamily }) => {
295
+ return theme.unstable_sx({
296
+ fontFamily: fontFamily ?? "monospace",
297
+ left: 0,
298
+ overflow: "hidden",
299
+ position: "absolute",
300
+ right: 0,
301
+ textOverflow: "ellipsis",
302
+ whiteSpace: "nowrap",
303
+ ...ellipsisPosition === "start" ? {
304
+ direction: "rtl",
305
+ textAlign: "left"
306
+ } : {}
307
+ });
308
+ });
309
+ var useClientHeight = () => {
310
+ const [contentWrapHeight, setContentWrapHeight] = useState2();
311
+ const contentWrapRef = useCallback((node) => {
312
+ if (node !== null) {
313
+ setContentWrapHeight(node.clientHeight + "px");
314
+ }
315
+ }, []);
316
+ return { contentWrapHeight, contentWrapRef };
317
+ };
318
+ var EllipsizeBox = forwardRef(
319
+ ({ children, ellipsisPosition = "start", disableSharedRef, typographyProps, ...props }, ref) => {
320
+ const { contentWrapRef, contentWrapHeight } = useClientHeight();
321
+ const sharedRef = useShareForwardedRef(ref);
322
+ return /* @__PURE__ */ jsx3(EllipsizeRoot, { beforeLineHeight: !!sharedRef && !disableSharedRef ? contentWrapHeight : void 0, ...props, ref, children: /* @__PURE__ */ jsx3(EllipsizeInnerWrap, { children: /* @__PURE__ */ jsx3(EllipsizeContentWrap, { ref: contentWrapRef, component: "span", ellipsisPosition, variant: "body2", ...typographyProps, children }) }) });
323
+ }
324
+ );
325
+ EllipsizeBox.displayName = "EllipsizeBox";
326
+
327
+ // src/components/ErrorBoundary.tsx
328
+ import { Typography as Typography4 } from "@mui/material";
329
+ import { FlexCol } from "@xylabs/react-flexbox";
330
+ import { Component } from "react";
331
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
332
+ var ErrorBoundary = class extends Component {
333
+ constructor(props) {
334
+ super(props);
335
+ this.state = { error: void 0 };
336
+ }
337
+ static getDerivedStateFromError(error) {
338
+ return { error };
339
+ }
340
+ componentDidCatch(error, errorInfo) {
341
+ console.error(`${error}: ${errorInfo}`);
342
+ }
343
+ render() {
344
+ if (this.state.error) {
345
+ if (this.props.fallbackWithError) {
346
+ return this.props.fallbackWithError(this.state.error);
347
+ }
348
+ return this.props.fallback ?? /* @__PURE__ */ jsxs2(FlexCol, { children: [
349
+ /* @__PURE__ */ jsx4(Typography4, { variant: "h1", children: "Something went wrong." }),
350
+ /* @__PURE__ */ jsxs2(Typography4, { variant: "body1", children: [
351
+ "[",
352
+ this.state.error?.message,
353
+ "]"
354
+ ] })
355
+ ] });
356
+ }
357
+ return this.props.children;
358
+ }
359
+ };
360
+
361
+ // src/components/ListItemButtonEx.tsx
362
+ import { ListItemButton } from "@mui/material";
363
+ import { useNavigate } from "react-router-dom";
364
+ import { jsx as jsx5 } from "react/jsx-runtime";
365
+ var ListItemButtonExTo = ({ to, toOptions, onClick, ...props }) => {
366
+ const navigate = useNavigate();
367
+ const localOnClick = (event) => {
368
+ onClick?.(event);
369
+ if (to) {
370
+ navigate(to, toOptions);
371
+ }
372
+ };
373
+ return /* @__PURE__ */ jsx5(ListItemButton, { onClick: localOnClick, ...props });
374
+ };
375
+ var ListItemButtonEx = ({ to, ...props }) => {
376
+ if (to) {
377
+ return /* @__PURE__ */ jsx5(ListItemButtonExTo, { to, ...props });
378
+ } else {
379
+ return /* @__PURE__ */ jsx5(ListItemButton, { ...props });
380
+ }
381
+ };
382
+
383
+ // src/components/LoadResult.tsx
384
+ import { FlexGrowRow as FlexGrowRow2 } from "@xylabs/react-flexbox";
385
+
386
+ // src/components/NotFound.tsx
387
+ import { Typography as Typography5 } from "@mui/material";
388
+ import { FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
389
+ import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
390
+ var NotFound = (props) => {
391
+ return /* @__PURE__ */ jsxs3(FlexGrowCol2, { ...props, children: [
392
+ /* @__PURE__ */ jsx6(Typography5, { variant: "h2", children: "Sorry!" }),
393
+ /* @__PURE__ */ jsx6(Typography5, { marginY: 3, variant: "body2", children: "Can't find anything here" })
394
+ ] });
395
+ };
396
+
397
+ // src/components/LoadResult.tsx
398
+ import { Fragment, jsx as jsx7 } from "react/jsx-runtime";
399
+ function LoadResult(props) {
400
+ const { notFound, error, searchResult, children } = props;
401
+ if (notFound) {
402
+ return /* @__PURE__ */ jsx7(NotFound, {});
403
+ }
404
+ if (error) {
405
+ return /* @__PURE__ */ jsx7(Fragment, { children });
406
+ }
407
+ if (searchResult === void 0) {
408
+ return /* @__PURE__ */ jsx7(FlexGrowRow2, { busy: true, minHeight: "50px" });
409
+ } else {
410
+ return /* @__PURE__ */ jsx7(Fragment, { children });
411
+ }
412
+ }
413
+
414
+ // src/components/Pipe.tsx
415
+ import { Typography as Typography6 } from "@mui/material";
416
+ import { jsx as jsx8 } from "react/jsx-runtime";
417
+ var Pipe = (props) => {
418
+ return /* @__PURE__ */ jsx8(Typography6, { marginX: 1, component: "span", ...props, children: "|" });
419
+ };
420
+
421
+ // src/components/pluginValidation/DataMissing.tsx
422
+ import { Alert, AlertTitle } from "@mui/material";
423
+ import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
424
+ var PayloadDataMissing = ({ alertBody, ...props }) => {
425
+ return /* @__PURE__ */ jsxs4(Alert, { severity: "warning", ...props, children: [
426
+ /* @__PURE__ */ jsx9(AlertTitle, { children: "Missing Data" }),
427
+ alertBody ?? "Payload is missing required data to render correctly"
428
+ ] });
429
+ };
430
+
431
+ // src/components/ScrollTableOnSm.tsx
432
+ import { styled as styled2 } from "@mui/material";
433
+ import { jsx as jsx10 } from "react/jsx-runtime";
434
+ var StyledScrollTableOnSm = styled2("div")(({ theme }) => ({
435
+ [theme.breakpoints.down("md")]: {
436
+ overflowX: "scroll"
437
+ },
438
+ display: "flex",
439
+ flexGrow: 1
440
+ }));
441
+ var ScrollTableOnSm = ({ children }) => /* @__PURE__ */ jsx10(StyledScrollTableOnSm, { children });
442
+
443
+ // src/components/SectionSpacingRow/SectionSpacingRow.tsx
444
+ import { useTheme as useTheme3 } from "@mui/material";
445
+ import { FlexGrowRow as FlexGrowRow3 } from "@xylabs/react-flexbox";
446
+ import { forwardRef as forwardRef2 } from "react";
447
+ import { jsx as jsx11 } from "react/jsx-runtime";
448
+ var SectionSpacingRow = forwardRef2(({ children, sx, ...props }, ref) => {
449
+ const theme = useTheme3();
450
+ return /* @__PURE__ */ jsx11(
451
+ FlexGrowRow3,
452
+ {
453
+ sx: {
454
+ paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },
455
+ paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },
456
+ ...sx
457
+ },
458
+ width: "100%",
459
+ ref,
460
+ ...props,
461
+ children
462
+ }
463
+ );
464
+ });
465
+ SectionSpacingRow.displayName = "SectionSpacingRow";
466
+
467
+ // src/components/TableCell/AddressTableCell.tsx
468
+ import { forwardRef as forwardRef4 } from "react";
469
+
470
+ // src/components/TableCell/EllipsisTableCell.tsx
471
+ import { styled as styled3, TableCell } from "@mui/material";
472
+ import { LinkEx as LinkEx2 } from "@xylabs/react-link";
473
+ import { forwardRef as forwardRef3, useMemo } from "react";
474
+ import { jsx as jsx12 } from "react/jsx-runtime";
475
+ var EllipsisTableCellRoot = styled3(TableCell, {
476
+ name: "EllipsisTableCell",
477
+ shouldForwardProp: (prop) => prop !== "width",
478
+ slot: "Root"
479
+ })(({ width = "100%" }) => ({
480
+ width
481
+ }));
482
+ var EllipsisTableCellWithRef = forwardRef3(
483
+ ({ children, href, link: link2 = false, to, value, ...props }, ref) => {
484
+ const data = useMemo(() => {
485
+ if (children) {
486
+ return children;
487
+ }
488
+ if (href || link2 || to) {
489
+ return /* @__PURE__ */ jsx12(LinkEx2, { title: value, to, href, target: href ? "_blank" : void 0, children: value });
490
+ }
491
+ return value;
492
+ }, [children, href, link2, to, value]);
493
+ return /* @__PURE__ */ jsx12(EllipsisTableCellRoot, { ref, ...props, children: /* @__PURE__ */ jsx12(EllipsizeBox, { sx: { cursor: link2 || to || href ? "pointer" : "inherit" }, children: data }) });
494
+ }
495
+ );
496
+ EllipsisTableCellWithRef.displayName = "EllipsisTableCell";
497
+ var EllipsisTableCell = EllipsisTableCellWithRef;
498
+
499
+ // src/components/TableCell/AddressTableCell.tsx
500
+ import { jsx as jsx13 } from "react/jsx-runtime";
501
+ var AddressTableCell = forwardRef4(({ value, archive, exploreDomain, link: link2, ...props }, ref) => {
502
+ const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : void 0;
503
+ const to = exploreDomain === void 0 && archive ? `/archive/${archive}/address/${value}` : void 0;
504
+ return /* @__PURE__ */ jsx13(EllipsisTableCell, { value, href, to, ref, link: link2, ...props });
505
+ });
506
+ AddressTableCell.displayName = "AddressTableCell";
507
+
508
+ // src/components/TableCell/HashTableCell.tsx
509
+ import { useEvent } from "@xyo-network/react-event";
510
+ import { useRef as useRef2 } from "react";
511
+ import { jsx as jsx14 } from "react/jsx-runtime";
512
+ var HashTableCell = ({ value, archive, dataType, network, exploreDomain, ...props }) => {
513
+ const ref = useRef2(null);
514
+ const [tableCellRef, dispatch] = useEvent(void 0, ref);
515
+ const hashPath = `/${dataType}/hash/${value}?network=${network ?? "main"}`;
516
+ const explorePath = archive ? `/archive/${archive}${hashPath}` : hashPath;
517
+ const handleCellClick = () => {
518
+ dispatch?.("hash", "click", value);
519
+ };
520
+ return /* @__PURE__ */ jsx14(
521
+ EllipsisTableCell,
522
+ {
523
+ onClick: handleCellClick,
524
+ ref: tableCellRef,
525
+ value,
526
+ href: exploreDomain ? `${exploreDomain}${explorePath}}` : void 0,
527
+ to: exploreDomain ? void 0 : explorePath,
528
+ ...props
529
+ }
530
+ );
531
+ };
532
+
533
+ // src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx
534
+ import { Avatar, useTheme as useTheme4 } from "@mui/material";
535
+ import { jsx as jsx15 } from "react/jsx-runtime";
536
+ var ThemeTokenAvatar = ({ ...props }) => {
537
+ const theme = useTheme4();
538
+ return /* @__PURE__ */ jsx15(Avatar, { sx: { background: theme.palette.common.white }, ...props });
539
+ };
540
+
541
+ // src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx
542
+ import { AvatarGroup } from "@mui/material";
543
+ import { jsx as jsx16 } from "react/jsx-runtime";
544
+ var ThemeTokenAvatarGroup = ({ images, ...props }) => {
545
+ return /* @__PURE__ */ jsx16(AvatarGroup, { ...props, children: images?.map((image, index) => /* @__PURE__ */ jsx16(ThemeTokenAvatar, { src: image }, index)) });
546
+ };
547
+
548
+ // src/components/TokenBar/TokenBar.tsx
549
+ import { Paper, Typography as Typography7 } from "@mui/material";
550
+ import { FlexRow } from "@xylabs/react-flexbox";
551
+ import { jsx as jsx17, jsxs as jsxs5 } from "react/jsx-runtime";
552
+ var TokenBar = ({ text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props }) => {
553
+ return /* @__PURE__ */ jsx17(Paper, { elevation: 0, className: "TokenBar-root", ...props, children: /* @__PURE__ */ jsxs5(FlexRow, { justifyContent: "space-between", children: [
554
+ /* @__PURE__ */ jsxs5(Typography7, { variant: "body1", fontWeight: 300, margin: 1, ...text1Props, children: [
555
+ text1,
556
+ text1Suffix
557
+ ] }),
558
+ /* @__PURE__ */ jsxs5(Typography7, { variant: "body1", fontWeight: 300, textTransform: "uppercase", color: "gray", margin: 1, ...text2Props, children: [
559
+ text2,
560
+ text2Suffix
561
+ ] })
562
+ ] }) });
563
+ };
564
+
565
+ // src/components/TokenData/img/index.ts
566
+ import ada from "./components/TokenData/img/ada.png";
567
+ import btc from "./components/TokenData/img/btc.png";
568
+ import busd from "./components/TokenData/img/busd.png";
569
+ import dai from "./components/TokenData/img/dai.png";
570
+ import dogecoin from "./components/TokenData/img/dogecoin.png";
571
+ import dot from "./components/TokenData/img/dot.png";
572
+ import ethereum from "./components/TokenData/img/ethereum.png";
573
+ import frax from "./components/TokenData/img/frax.png";
574
+ import link from "./components/TokenData/img/link.png";
575
+ import sol from "./components/TokenData/img/sol.png";
576
+ import tether from "./components/TokenData/img/tether.png";
577
+ import usdCoin from "./components/TokenData/img/usd-coin.png";
578
+ import weth from "./components/TokenData/img/weth.png";
579
+ import wrappedBtc from "./components/TokenData/img/wrapped-bitcoin.png";
580
+ import xyo from "./components/TokenData/img/xyo.png";
581
+
582
+ // src/components/TokenData/TokenData.ts
583
+ var TokenData = [
584
+ {
585
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/multi-collateral-dai/",
586
+ etherscanLink: "https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f",
587
+ icon: dai,
588
+ readableName: "Dai",
589
+ tokenSymbol: "dai",
590
+ uniqueTokenId: "dai"
591
+ },
592
+ {
593
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/weth/",
594
+ etherscanLink: "https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
595
+ icon: weth,
596
+ readableName: "Weth",
597
+ tokenSymbol: "weth",
598
+ uniqueTokenId: "weth"
599
+ },
600
+ {
601
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/ethereum/",
602
+ etherscanLink: "n/a",
603
+ icon: ethereum,
604
+ readableName: "Ethereum",
605
+ tokenSymbol: "eth",
606
+ uniqueTokenId: "ethereum"
607
+ },
608
+ {
609
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/bitcoin/",
610
+ etherscanLink: "n/a",
611
+ icon: btc,
612
+ readableName: "Bitcoin",
613
+ tokenSymbol: "btc",
614
+ uniqueTokenId: "btc"
615
+ },
616
+ {
617
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/xyo/",
618
+ etherscanLink: "https://etherscan.io/token/0x55296f69f40ea6d20e478533c15a6b08b654e758",
619
+ icon: xyo,
620
+ readableName: "XYO",
621
+ tokenSymbol: "xyo",
622
+ uniqueTokenId: "xyo"
623
+ },
624
+ {
625
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/frax/",
626
+ etherscanLink: "https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e",
627
+ icon: frax,
628
+ readableName: "Frax",
629
+ tokenSymbol: "frax",
630
+ uniqueTokenId: "frax"
631
+ },
632
+ {
633
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/wrapped-bitcoin/",
634
+ etherscanLink: "https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
635
+ icon: wrappedBtc,
636
+ readableName: "Wrapped BTC",
637
+ tokenSymbol: "wbtc",
638
+ uniqueTokenId: "wbtc"
639
+ },
640
+ {
641
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/usd-coin/",
642
+ etherscanLink: "https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
643
+ icon: usdCoin,
644
+ readableName: "USDC",
645
+ tokenSymbol: "usdc",
646
+ uniqueTokenId: "usdc"
647
+ },
648
+ {
649
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/tether/",
650
+ etherscanLink: "https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7",
651
+ icon: tether,
652
+ readableName: "Tether",
653
+ tokenSymbol: "usdt",
654
+ uniqueTokenId: "usdt"
655
+ },
656
+ {
657
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/cardano/",
658
+ etherscanLink: "https://etherscan.io/token/0xc14777c94229582e5758c5a79b83dde876b9be98",
659
+ icon: ada,
660
+ readableName: "Cardano",
661
+ tokenSymbol: "ada",
662
+ uniqueTokenId: "ada"
663
+ },
664
+ {
665
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/binance-usd/",
666
+ etherscanLink: "https://etherscan.io/token/0x4Fabb145d64652a948d72533023f6E7A623C7C53",
667
+ icon: busd,
668
+ readableName: "Binance USD",
669
+ tokenSymbol: "busd",
670
+ uniqueTokenId: "busd"
671
+ },
672
+ {
673
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/dogecoin/",
674
+ etherscanLink: "https://etherscan.io/token/0x7618b5024a6349f9aef10ddfd33e3428c734551e",
675
+ icon: dogecoin,
676
+ readableName: "Dogecoin",
677
+ tokenSymbol: "doge",
678
+ uniqueTokenId: "doge"
679
+ },
680
+ {
681
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/polkadot-new/",
682
+ etherscanLink: "https://etherscan.io/token/0x2d4fb6dd969992c881d8e534c747cc925d5ba221",
683
+ icon: dot,
684
+ readableName: "Polkadot",
685
+ tokenSymbol: "dot",
686
+ uniqueTokenId: "dot"
687
+ },
688
+ {
689
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/chainlink/",
690
+ etherscanLink: "https://etherscan.io/token/0x514910771af9ca656af840dff83e8264ecf986ca",
691
+ icon: link,
692
+ readableName: "ChainLink",
693
+ tokenSymbol: "link",
694
+ uniqueTokenId: "link"
695
+ },
696
+ {
697
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/solana/",
698
+ etherscanLink: "https://etherscan.io/token/0x1f54638b7737193ffd86c19ec51907a7c41755d8",
699
+ icon: sol,
700
+ readableName: "Solana",
701
+ tokenSymbol: "sol",
702
+ uniqueTokenId: "sol"
703
+ }
704
+ ];
705
+
706
+ // src/components/TokenData/useGetTokenData.tsx
707
+ var useGetTokenData = (symbols) => {
708
+ return symbols?.map((symbol) => {
709
+ const additionalTokenData = TokenData.find((x) => x.tokenSymbol === symbol);
710
+ const checkedTokenData = additionalTokenData ? additionalTokenData : TokenData[0];
711
+ return checkedTokenData;
712
+ });
713
+ };
714
+
715
+ // src/components/TokenSummary/TokenSummary.tsx
716
+ import { CardHeader, Typography as Typography8 } from "@mui/material";
717
+ import { Fragment as Fragment2, jsx as jsx18, jsxs as jsxs6 } from "react/jsx-runtime";
718
+ var TokenSummary = ({ icon, symbol, symbolElement, children, ...props }) => {
719
+ return /* @__PURE__ */ jsxs6(Fragment2, { children: [
720
+ /* @__PURE__ */ jsx18(
721
+ CardHeader,
722
+ {
723
+ avatar: /* @__PURE__ */ jsx18(ThemeTokenAvatar, { src: icon, alt: symbol }),
724
+ title: /* @__PURE__ */ jsx18(Typography8, { variant: "h6", fontWeight: 300, textTransform: "uppercase", children: symbolElement ?? symbol }),
725
+ ...props
726
+ }
727
+ ),
728
+ children
729
+ ] });
730
+ };
731
+
732
+ // src/components/TypographyEx.tsx
733
+ import { Typography as Typography9 } from "@mui/material";
734
+ import { jsx as jsx19 } from "react/jsx-runtime";
735
+ var TypographyEx = ({ gradient, ...props }) => {
736
+ const { classes } = useGradientStyles();
737
+ return /* @__PURE__ */ jsx19(Typography9, { className: gradient === "text" ? classes().heading : void 0, ...props });
738
+ };
739
+
740
+ // src/contexts/contextEx/create.ts
741
+ import { createContext } from "react";
742
+ var createContextEx = () => createContext({ provided: false });
743
+
744
+ // src/contexts/contextEx/use.ts
745
+ import { useContext } from "react";
746
+ var useContextEx = (context, contextName, required = true) => {
747
+ const { provided, ...props } = useContext(context);
748
+ if (!provided && required) {
749
+ throw Error(`use${contextName} can not be used outside of a ${contextName}Context when required=true`);
750
+ }
751
+ return props;
752
+ };
753
+ var useProvided = (context) => {
754
+ const { provided } = useContext(context);
755
+ return provided;
756
+ };
757
+
758
+ // src/contexts/diviner/Context.tsx
759
+ var ResolvedDivinerContext = () => createContextEx();
760
+
761
+ // src/contexts/diviner/Provider.tsx
762
+ import { useEffect as useEffect2, useState as useState3 } from "react";
763
+ import { jsx as jsx20 } from "react/jsx-runtime";
764
+ var ResolvedDivinerProvider = ({ diviner: divinerProp, required = false, children, context }) => {
765
+ const [diviner, setDiviner] = useState3(divinerProp);
766
+ useEffect2(() => {
767
+ if (divinerProp) {
768
+ setDiviner(divinerProp);
769
+ }
770
+ }, [divinerProp, setDiviner]);
771
+ const resolveDiviner = () => {
772
+ if (divinerProp) {
773
+ return diviner === divinerProp ? diviner : void 0;
774
+ } else {
775
+ return diviner;
776
+ }
777
+ };
778
+ return /* @__PURE__ */ jsx20(
779
+ context.Provider,
780
+ {
781
+ value: {
782
+ diviner: resolveDiviner(),
783
+ provided: true,
784
+ setDiviner
785
+ },
786
+ children: diviner ? children : required ? null : children
787
+ }
788
+ );
789
+ };
790
+
791
+ // src/contexts/ListMode/Context.ts
792
+ var ListModeContext = createContextEx();
793
+
794
+ // src/contexts/ListMode/Provider.tsx
795
+ import { useState as useState4 } from "react";
796
+ import { jsx as jsx21 } from "react/jsx-runtime";
797
+ var ListModeProvider = ({ children, defaultListMode }) => {
798
+ const [listMode, setListMode] = useState4(defaultListMode ?? "default");
799
+ return /* @__PURE__ */ jsx21(
800
+ ListModeContext.Provider,
801
+ {
802
+ value: {
803
+ listMode,
804
+ provided: true,
805
+ setListMode
806
+ },
807
+ children
808
+ }
809
+ );
810
+ };
811
+
812
+ // src/contexts/ListMode/use.ts
813
+ var useListMode = (required = false) => {
814
+ return useContextEx(ListModeContext, "ListMode", required);
815
+ };
816
+
817
+ // src/contexts/Pixel/Context.ts
818
+ var PixelContext = createContextEx();
819
+
820
+ // src/contexts/Pixel/Provider.tsx
821
+ import { XyPixel } from "@xylabs/pixel";
822
+ import { jsx as jsx22 } from "react/jsx-runtime";
823
+ var PixelProvider = (props) => {
824
+ const { children, id } = props;
825
+ XyPixel.init(id);
826
+ return /* @__PURE__ */ jsx22(
827
+ PixelContext.Provider,
828
+ {
829
+ value: {
830
+ pixel: XyPixel.instance,
831
+ provided: true
832
+ },
833
+ children
834
+ }
835
+ );
836
+ };
837
+
838
+ // src/contexts/Pixel/use.ts
839
+ var usePixel = (required = true) => {
840
+ const { pixel } = useContextEx(PixelContext, "Pixel", required);
841
+ return pixel;
842
+ };
843
+
844
+ // src/lib/assertDefinedEx.ts
845
+ var assertDefinedEx = (expr, message) => {
846
+ if (expr !== null && expr !== void 0)
847
+ return expr;
848
+ throw Error(message);
849
+ };
850
+
851
+ // src/lib/getActualPaddingX.ts
852
+ var parseMeausureString = (measure, absolute) => {
853
+ if (measure !== void 0 && measure !== null && measure.length > 0) {
854
+ if (measure.endsWith("px")) {
855
+ return parseFloat(measure.substring(0, measure.length - 2));
856
+ } else if (measure.endsWith("%")) {
857
+ if (absolute !== void 0) {
858
+ return parseFloat(measure.substring(0, measure.length - 1)) / 100 * absolute;
859
+ }
860
+ throw Error("Error Parsing Measure [missing absolute]");
861
+ } else if (measure.endsWith("vw")) {
862
+ return parseFloat(measure.substring(0, measure.length - 2)) / 100 * window.innerWidth;
863
+ } else if (measure.endsWith("vh")) {
864
+ return parseFloat(measure.substring(0, measure.length - 2)) / 100 * window.innerHeight;
865
+ }
866
+ throw Error(`Error Parsing Measure [${measure}]`);
867
+ }
868
+ };
869
+ var parsePadding = (padding) => {
870
+ const parts = padding.split(" ");
871
+ switch (parts.length) {
872
+ case 4: {
873
+ return {
874
+ bottom: parts[2],
875
+ left: parts[3],
876
+ right: parts[1],
877
+ top: parts[0]
878
+ };
879
+ }
880
+ case 3: {
881
+ return {
882
+ bottom: parts[2],
883
+ right: parts[1],
884
+ top: parts[0]
885
+ };
886
+ }
887
+ case 2: {
888
+ return {
889
+ bottom: parts[0],
890
+ left: parts[1],
891
+ right: parts[1],
892
+ top: parts[0]
893
+ };
894
+ }
895
+ case 1: {
896
+ return {
897
+ bottom: parts[0],
898
+ left: parts[0],
899
+ right: parts[0],
900
+ top: parts[0]
901
+ };
902
+ }
903
+ }
904
+ };
905
+ var getActualPaddingX = (element) => {
906
+ const padding = parsePadding(window.getComputedStyle(element, null).getPropertyValue("padding"));
907
+ const paddingLeft = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue("padding-left") ?? padding?.left, element.clientWidth) ?? 0;
908
+ const paddingRight = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue("padding-right") ?? padding?.right, element.clientWidth) ?? 0;
909
+ return paddingLeft + paddingRight;
910
+ };
911
+
912
+ // src/lib/networkComponents.tsx
913
+ import {
914
+ BubbleChartRounded as BubbleChartRoundedIcon,
915
+ HubRounded as HubRoundedIcon,
916
+ InsertLinkRounded as InsertLinkRoundedIcon,
917
+ Inventory2Rounded as Inventory2RoundedIcon,
918
+ TimerRounded as TimerRoundedIcon,
919
+ VisibilityRounded as VisibilityRoundedIcon
920
+ } from "@mui/icons-material";
921
+ import { jsx as jsx23 } from "react/jsx-runtime";
922
+ var networkComponents = [
923
+ { icon: (props) => /* @__PURE__ */ jsx23(HubRoundedIcon, { ...props }), name: "Node", slug: "node" },
924
+ { icon: (props) => /* @__PURE__ */ jsx23(TimerRoundedIcon, { ...props }), name: "Sentinel", slug: "sentinel" },
925
+ { icon: (props) => /* @__PURE__ */ jsx23(InsertLinkRoundedIcon, { ...props }), name: "Bridge", slug: "bridge" },
926
+ { icon: (props) => /* @__PURE__ */ jsx23(Inventory2RoundedIcon, { ...props }), name: "Archivist", slug: "archivist" },
927
+ { icon: (props) => /* @__PURE__ */ jsx23(BubbleChartRoundedIcon, { ...props }), name: "Diviner", slug: "diviner" },
928
+ { icon: (props) => /* @__PURE__ */ jsx23(VisibilityRoundedIcon, { ...props }), name: "Witness", slug: "witness" }
929
+ ];
930
+ var findNetworkComponentIndex = (slug) => {
931
+ return networkComponents.findIndex((info) => info.slug === slug);
932
+ };
933
+ var findNetworkComponent = (slug) => {
934
+ return networkComponents.find((info) => info.slug === slug);
935
+ };
936
+ export {
937
+ AddressTableCell,
938
+ Ampersand,
939
+ BasicHero,
940
+ EllipsisTableCell,
941
+ EllipsisTableCellWithRef,
942
+ EllipsizeBox,
943
+ ErrorBoundary,
944
+ HashTableCell,
945
+ ListItemButtonEx,
946
+ ListItemButtonExTo,
947
+ ListModeContext,
948
+ ListModeProvider,
949
+ LoadResult,
950
+ NotFound,
951
+ PayloadDataMissing,
952
+ Pipe,
953
+ PixelContext,
954
+ PixelProvider,
955
+ ResolvedDivinerContext,
956
+ ResolvedDivinerProvider,
957
+ ScrollTableOnSm,
958
+ SectionSpacingRow,
959
+ ThemeTokenAvatar,
960
+ ThemeTokenAvatarGroup,
961
+ TokenBar,
962
+ TokenData,
963
+ TokenSummary,
964
+ TypographyEx,
965
+ assertDefinedEx,
966
+ colorfulGradientDarkMode,
967
+ colorfulGradientLightMode,
968
+ createContextEx,
969
+ findNetworkComponent,
970
+ findNetworkComponentIndex,
971
+ getActualPaddingX,
972
+ networkComponents,
973
+ parseMeausureString,
974
+ parsePadding,
975
+ useContextEx,
976
+ useDataState,
977
+ useGetTokenData,
978
+ useGradientStyles,
979
+ useIsMobile,
980
+ useListMode,
981
+ useMediaQuery,
982
+ usePayloadHash,
983
+ usePayloadHashes,
984
+ usePixel,
985
+ usePromise2 as usePromise,
986
+ useProvided,
987
+ useShareForwardedRef
988
+ };
7
989
  //# sourceMappingURL=index.js.map