@xyo-network/react-shared 7.6.3 → 8.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Ampersand.d.ts","sourceRoot":"","sources":["../../../src/components/Ampersand.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAM/C,CAAA"}
1
+ {"version":3,"file":"Ampersand.d.ts","sourceRoot":"","sources":["../../../src/components/Ampersand.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAU/C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasicHero.d.ts","sourceRoot":"","sources":["../../../../src/components/BasicHero/BasicHero.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAqHD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAoH9C,CAAA"}
1
+ {"version":3,"file":"BasicHero.d.ts","sourceRoot":"","sources":["../../../../src/components/BasicHero/BasicHero.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAgID,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmI9C,CAAA"}
@@ -6,6 +6,7 @@ export interface EllipsizeRootProps extends BoxProps {
6
6
  }
7
7
  export type TypographyWithComponentProps<D extends React.ElementType = TypographyTypeMap['defaultComponent'], P = {}> = TypographyProps<D, P> & {
8
8
  ellipsisPosition?: 'start' | 'end';
9
+ fontFamily?: string;
9
10
  };
10
11
  export interface EllipsizeBoxProps extends BoxProps {
11
12
  beforeLineHeight?: number | string;
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipsize.d.ts","sourceRoot":"","sources":["../../../src/components/Ellipsize.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAC7C,MAAM,eAAe,CAAA;AAItB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC;AAkDD,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAC9I,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CACnC,CAAA;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IAClC,cAAc,CAAC,EAAE,QAAQ,CAAA;IACzB,eAAe,CAAC,EAAE,4BAA4B,CAAA;CAC/C;AAED,eAAO,MAAM,YAAY;uGAEtB,iBAAiB,CAAC,iBAAiB,CAAC;;CAkBtC,CAAA"}
1
+ {"version":3,"file":"Ellipsize.d.ts","sourceRoot":"","sources":["../../../src/components/Ellipsize.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAC7C,MAAM,eAAe,CAAA;AAItB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC;AAkDD,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAC9I,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IAClC,cAAc,CAAC,EAAE,QAAQ,CAAA;IACzB,eAAe,CAAC,EAAE,4BAA4B,CAAA;CAC/C;AAED,eAAO,MAAM,YAAY;uGAEtB,iBAAiB,CAAC,iBAAiB,CAAC;;CAkBtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LabeledTextFieldWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/LabeledTextFieldWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,4BAA6B,SAAQ,UAAU;IAC9D,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAW1E,CAAA"}
1
+ {"version":3,"file":"LabeledTextFieldWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/LabeledTextFieldWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,4BAA6B,SAAQ,UAAU;IAC9D,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAc1E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoadResult.d.ts","sourceRoot":"","sources":["../../../src/components/LoadResult.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAK9C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAA;CAC5B;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,2CAWzE"}
1
+ {"version":3,"file":"LoadResult.d.ts","sourceRoot":"","sources":["../../../src/components/LoadResult.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAK9C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAA;CAC5B;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,2CAkBzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotFound.d.ts","sourceRoot":"","sources":["../../../src/components/NotFound.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,yDAAyD;AACzD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAS3C,CAAA"}
1
+ {"version":3,"file":"NotFound.d.ts","sourceRoot":"","sources":["../../../src/components/NotFound.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,yDAAyD;AACzD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAY3C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pipe.d.ts","sourceRoot":"","sources":["../../../src/components/Pipe.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAM1C,CAAA"}
1
+ {"version":3,"file":"Pipe.d.ts","sourceRoot":"","sources":["../../../src/components/Pipe.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAU1C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionSpacingRow.d.ts","sourceRoot":"","sources":["../../../../src/components/SectionSpacingRow/SectionSpacingRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,eAAO,MAAM,iBAAiB;sCAE3B,YAAY;;CAgBd,CAAA"}
1
+ {"version":3,"file":"SectionSpacingRow.d.ts","sourceRoot":"","sources":["../../../../src/components/SectionSpacingRow/SectionSpacingRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,eAAO,MAAM,iBAAiB;sCAE3B,YAAY;;CAed,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenBar.d.ts","sourceRoot":"","sources":["../../../../src/components/TokenBar/TokenBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAA;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiB5C,CAAA"}
1
+ {"version":3,"file":"TokenBar.d.ts","sourceRoot":"","sources":["../../../../src/components/TokenBar/TokenBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAA;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiC5C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/TokenSummary/TokenSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiBpD,CAAA"}
1
+ {"version":3,"file":"TokenSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/TokenSummary/TokenSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuBpD,CAAA"}
@@ -2,7 +2,15 @@
2
2
  import { Typography } from "@mui/material";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  var Ampersand = (props) => {
5
- return /* @__PURE__ */ jsx(Typography, { marginX: 1, component: "span", ...props, children: "&" });
5
+ return /* @__PURE__ */ jsx(
6
+ Typography,
7
+ {
8
+ component: "span",
9
+ ...props,
10
+ sx: [{ marginX: 1 }, ...Array.isArray(props.sx) ? props.sx : [props.sx]],
11
+ children: "&"
12
+ }
13
+ );
6
14
  };
7
15
 
8
16
  // src/components/BasicHero/BasicHero.tsx
@@ -173,8 +181,8 @@ var SubLinkSection = ({
173
181
  return /* @__PURE__ */ jsxs(
174
182
  FlexGrowRow,
175
183
  {
176
- width: "100%",
177
184
  sx: {
185
+ width: "100%",
178
186
  flexDirection: { md: "row", xs: "column" },
179
187
  justifyContent: { md: backgroundImageAlignment ? "flex-start" : "center", xs: "center" }
180
188
  },
@@ -187,7 +195,16 @@ var SubLinkSection = ({
187
195
  subLinkText1,
188
196
  "\xA0"
189
197
  ] }),
190
- /* @__PURE__ */ jsx2(LinkEx, { href: subLinkPath, underline: "always", target: "_blank", color: "inherit", children: /* @__PURE__ */ jsx2(Typography2, { children: subLinkText2 }) })
198
+ /* @__PURE__ */ jsx2(
199
+ LinkEx,
200
+ {
201
+ href: subLinkPath,
202
+ underline: "always",
203
+ target: "_blank",
204
+ sx: { color: "inherit" },
205
+ children: /* @__PURE__ */ jsx2(Typography2, { children: subLinkText2 })
206
+ }
207
+ )
191
208
  ]
192
209
  }
193
210
  );
@@ -202,45 +219,51 @@ var ButtonSection = ({
202
219
  ButtonEx,
203
220
  {
204
221
  fullWidth: true,
205
- marginTop: 1,
206
- marginBottom: 1,
207
- marginRight: isMobile ? 2 : 1,
208
- marginLeft: isMobile ? 2 : 0,
209
222
  target: href ?? "_blank",
210
223
  href,
211
- color: "primary",
212
224
  variant: "contained",
213
- paddingX: 3,
214
- sx: { display: href || to ? "flex" : "none" },
225
+ sx: {
226
+ marginTop: 1,
227
+ marginBottom: 1,
228
+ marginRight: isMobile ? 2 : 1,
229
+ marginLeft: isMobile ? 2 : 0,
230
+ color: "primary",
231
+ paddingX: 3,
232
+ display: href || to ? "flex" : "none"
233
+ },
215
234
  children: buttonText
216
235
  }
217
236
  ) : to ? /* @__PURE__ */ jsx2(
218
237
  ButtonEx,
219
238
  {
220
239
  fullWidth: true,
221
- marginTop: 1,
222
- marginBottom: 1,
223
- marginRight: isMobile ? 2 : 1,
224
- marginLeft: isMobile ? 2 : 0,
225
240
  to,
226
- color: "primary",
227
241
  variant: "contained",
228
- paddingX: 3,
229
- sx: { display: href || to ? "flex" : "none" },
242
+ sx: {
243
+ marginTop: 1,
244
+ marginBottom: 1,
245
+ marginRight: isMobile ? 2 : 1,
246
+ marginLeft: isMobile ? 2 : 0,
247
+ color: "primary",
248
+ paddingX: 3,
249
+ display: href || to ? "flex" : "none"
250
+ },
230
251
  children: buttonText
231
252
  }
232
253
  ) : /* @__PURE__ */ jsx2(
233
254
  ButtonEx,
234
255
  {
235
256
  fullWidth: true,
236
- marginTop: 1,
237
- marginBottom: 1,
238
- marginRight: isMobile ? 2 : 1,
239
- marginLeft: isMobile ? 2 : 0,
240
- color: "primary",
241
257
  variant: "contained",
242
- paddingX: 3,
243
- sx: { display: href || to ? "flex" : "none" },
258
+ sx: {
259
+ marginTop: 1,
260
+ marginBottom: 1,
261
+ marginRight: isMobile ? 2 : 1,
262
+ marginLeft: isMobile ? 2 : 0,
263
+ color: "primary",
264
+ paddingX: 3,
265
+ display: href || to ? "flex" : "none"
266
+ },
244
267
  children: buttonText
245
268
  }
246
269
  );
@@ -298,11 +321,9 @@ var BasicHero = ({
298
321
  Grid,
299
322
  {
300
323
  container: true,
301
- justifyContent: "center",
302
- alignItems: "center",
303
324
  sx: {
304
- alignItems: { xs: "center" },
305
- justifyContent: { xs: "center" }
325
+ justifyContent: "center",
326
+ alignItems: "center"
306
327
  },
307
328
  children: [
308
329
  /* @__PURE__ */ jsx2(
@@ -314,39 +335,68 @@ var BasicHero = ({
314
335
  md: backgroundImage ? 6 : 8,
315
336
  lg: backgroundImage ? 6 : 8
316
337
  },
317
- children: /* @__PURE__ */ jsxs(FlexGrowCol, { paddingY: 2, sx: { alignItems: { xs: backgroundImage && !isMobile ? "flex-start" : "center" } }, children: [
318
- /* @__PURE__ */ jsxs(Typography2, { variant: "h1", component: "h1", gutterBottom: true, textAlign: backgroundImage && !isMobile ? "left" : "center", children: [
319
- title ? /* @__PURE__ */ jsx2("span", { children: `${title} ` }) : null,
320
- gradientTitle ? /* @__PURE__ */ jsxs(Box, { component: "span", sx: styles.heading, children: [
321
- " ",
322
- ` ${gradientTitle}`
323
- ] }) : null,
324
- title2 ? /* @__PURE__ */ jsx2("span", { children: ` ${title2}` }) : null
325
- ] }),
326
- /* @__PURE__ */ jsx2(Typography2, { variant: "body1", component: "h2", gutterBottom: true, textAlign: backgroundImage && !isMobile ? "left" : "center", children: desc }),
327
- /* @__PURE__ */ jsxs(
328
- FlexGrowRow,
329
- {
330
- sx: { flexDirection: { lg: "row", xs: "column" } },
331
- width: "100%",
332
- marginTop: 1,
333
- children: [
334
- button1Href ? /* @__PURE__ */ jsx2(ButtonSection, { href: button1Href, buttonText: button1Text }) : button1To ? /* @__PURE__ */ jsx2(ButtonSection, { to: button1To, buttonText: button1Text }) : /* @__PURE__ */ jsx2(ButtonSection, { buttonText: button1Text }),
335
- button2Href ? /* @__PURE__ */ jsx2(ButtonSection, { href: button2Href, buttonText: button2Text }) : button2To ? /* @__PURE__ */ jsx2(ButtonSection, { to: button2To, buttonText: button2Text }) : /* @__PURE__ */ jsx2(ButtonSection, { buttonText: button2Text })
336
- ]
337
- }
338
- ),
339
- /* @__PURE__ */ jsx2(
340
- SubLinkSection,
341
- {
342
- subLinkIcon,
343
- subLinkText1,
344
- subLinkText2,
345
- subLinkPath,
346
- backgroundImageAlignment: backgroundImage ? true : false
347
- }
348
- )
349
- ] })
338
+ children: /* @__PURE__ */ jsxs(
339
+ FlexGrowCol,
340
+ {
341
+ sx: {
342
+ paddingY: 2,
343
+ alignItems: { xs: backgroundImage && !isMobile ? "flex-start" : "center" }
344
+ },
345
+ children: [
346
+ /* @__PURE__ */ jsxs(
347
+ Typography2,
348
+ {
349
+ variant: "h1",
350
+ component: "h1",
351
+ gutterBottom: true,
352
+ sx: { textAlign: backgroundImage && !isMobile ? "left" : "center" },
353
+ children: [
354
+ title ? /* @__PURE__ */ jsx2("span", { children: `${title} ` }) : null,
355
+ gradientTitle ? /* @__PURE__ */ jsxs(Box, { component: "span", sx: styles.heading, children: [
356
+ " ",
357
+ ` ${gradientTitle}`
358
+ ] }) : null,
359
+ title2 ? /* @__PURE__ */ jsx2("span", { children: ` ${title2}` }) : null
360
+ ]
361
+ }
362
+ ),
363
+ /* @__PURE__ */ jsx2(
364
+ Typography2,
365
+ {
366
+ variant: "body1",
367
+ component: "h2",
368
+ gutterBottom: true,
369
+ sx: { textAlign: backgroundImage && !isMobile ? "left" : "center" },
370
+ children: desc
371
+ }
372
+ ),
373
+ /* @__PURE__ */ jsxs(
374
+ FlexGrowRow,
375
+ {
376
+ sx: {
377
+ width: "100%",
378
+ marginTop: 1,
379
+ flexDirection: { lg: "row", xs: "column" }
380
+ },
381
+ children: [
382
+ button1Href ? /* @__PURE__ */ jsx2(ButtonSection, { href: button1Href, buttonText: button1Text }) : button1To ? /* @__PURE__ */ jsx2(ButtonSection, { to: button1To, buttonText: button1Text }) : /* @__PURE__ */ jsx2(ButtonSection, { buttonText: button1Text }),
383
+ button2Href ? /* @__PURE__ */ jsx2(ButtonSection, { href: button2Href, buttonText: button2Text }) : button2To ? /* @__PURE__ */ jsx2(ButtonSection, { to: button2To, buttonText: button2Text }) : /* @__PURE__ */ jsx2(ButtonSection, { buttonText: button2Text })
384
+ ]
385
+ }
386
+ ),
387
+ /* @__PURE__ */ jsx2(
388
+ SubLinkSection,
389
+ {
390
+ subLinkIcon,
391
+ subLinkText1,
392
+ subLinkText2,
393
+ subLinkPath,
394
+ backgroundImageAlignment: backgroundImage ? true : false
395
+ }
396
+ )
397
+ ]
398
+ }
399
+ )
350
400
  }
351
401
  ),
352
402
  /* @__PURE__ */ jsx2(Grid, { size: { xs: 12, md: 6 }, children: heroImage ? /* @__PURE__ */ jsx2("img", { src: heroImage, width: "100%" }) : null })
@@ -636,10 +686,17 @@ var LabeledTextFieldWrapper = ({
636
686
  label,
637
687
  ...props
638
688
  }) => {
639
- return /* @__PURE__ */ jsxs5(Stack, { flexDirection: "column", ...props, children: [
640
- /* @__PURE__ */ jsx7(Typography4, { gutterBottom: true, variant: "caption", children: label }),
641
- children
642
- ] });
689
+ return /* @__PURE__ */ jsxs5(
690
+ Stack,
691
+ {
692
+ ...props,
693
+ sx: [{ flexDirection: "column" }, ...Array.isArray(props.sx) ? props.sx : [props.sx]],
694
+ children: [
695
+ /* @__PURE__ */ jsx7(Typography4, { gutterBottom: true, variant: "caption", children: label }),
696
+ children
697
+ ]
698
+ }
699
+ );
643
700
  };
644
701
 
645
702
  // src/components/ListItemButtonEx.tsx
@@ -675,7 +732,14 @@ import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
675
732
  var NotFound = (props) => {
676
733
  return /* @__PURE__ */ jsxs6(FlexGrowCol2, { ...props, children: [
677
734
  /* @__PURE__ */ jsx9(Typography5, { variant: "h2", children: "Sorry!" }),
678
- /* @__PURE__ */ jsx9(Typography5, { marginY: 3, variant: "body2", children: "Can't find anything here" })
735
+ /* @__PURE__ */ jsx9(
736
+ Typography5,
737
+ {
738
+ variant: "body2",
739
+ sx: { marginY: 3 },
740
+ children: "Can't find anything here"
741
+ }
742
+ )
679
743
  ] });
680
744
  };
681
745
 
@@ -694,14 +758,28 @@ function LoadResult(props) {
694
758
  if (error) {
695
759
  return /* @__PURE__ */ jsx10(Fragment2, { children });
696
760
  }
697
- return searchResult === void 0 ? /* @__PURE__ */ jsx10(FlexGrowRow2, { busy: true, minHeight: "50px" }) : /* @__PURE__ */ jsx10(Fragment2, { children });
761
+ return searchResult === void 0 ? /* @__PURE__ */ jsx10(
762
+ FlexGrowRow2,
763
+ {
764
+ busy: true,
765
+ sx: { minHeight: "50px" }
766
+ }
767
+ ) : /* @__PURE__ */ jsx10(Fragment2, { children });
698
768
  }
699
769
 
700
770
  // src/components/Pipe.tsx
701
771
  import { Typography as Typography6 } from "@mui/material";
702
772
  import { jsx as jsx11 } from "react/jsx-runtime";
703
773
  var Pipe = (props) => {
704
- return /* @__PURE__ */ jsx11(Typography6, { marginX: 1, component: "span", ...props, children: "|" });
774
+ return /* @__PURE__ */ jsx11(
775
+ Typography6,
776
+ {
777
+ component: "span",
778
+ ...props,
779
+ sx: [{ marginX: 1 }, ...Array.isArray(props.sx) ? props.sx : [props.sx]],
780
+ children: "|"
781
+ }
782
+ );
705
783
  };
706
784
 
707
785
  // src/components/pluginValidation/DataMissing.tsx
@@ -738,14 +816,13 @@ var SectionSpacingRow = ({
738
816
  return /* @__PURE__ */ jsx14(
739
817
  FlexGrowRow3,
740
818
  {
741
- sx: {
742
- paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },
743
- paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },
744
- ...sx
745
- },
746
- width: "100%",
747
819
  ref,
748
820
  ...props,
821
+ sx: [{
822
+ width: "100%",
823
+ paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },
824
+ paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) }
825
+ }, ...Array.isArray(sx) ? sx : [sx]],
749
826
  children
750
827
  }
751
828
  );
@@ -853,15 +930,39 @@ var TokenBar = ({
853
930
  text2Suffix,
854
931
  ...props
855
932
  }) => {
856
- return /* @__PURE__ */ jsx20(Paper, { elevation: 0, className: "TokenBar-root", ...props, children: /* @__PURE__ */ jsxs8(FlexRow, { justifyContent: "space-between", children: [
857
- /* @__PURE__ */ jsxs8(Typography7, { variant: "body1", fontWeight: 300, margin: 1, ...text1Props, children: [
858
- text1,
859
- text1Suffix
860
- ] }),
861
- /* @__PURE__ */ jsxs8(Typography7, { variant: "body1", fontWeight: 300, textTransform: "uppercase", color: "gray", margin: 1, ...text2Props, children: [
862
- text2,
863
- text2Suffix
864
- ] })
933
+ return /* @__PURE__ */ jsx20(Paper, { elevation: 0, className: "TokenBar-root", ...props, children: /* @__PURE__ */ jsxs8(FlexRow, { sx: { justifyContent: "space-between" }, children: [
934
+ /* @__PURE__ */ jsxs8(
935
+ Typography7,
936
+ {
937
+ variant: "body1",
938
+ ...text1Props,
939
+ sx: [{
940
+ fontWeight: 300,
941
+ margin: 1
942
+ }, ...Array.isArray(text1Props?.sx) ? text1Props.sx : [text1Props?.sx]],
943
+ children: [
944
+ text1,
945
+ text1Suffix
946
+ ]
947
+ }
948
+ ),
949
+ /* @__PURE__ */ jsxs8(
950
+ Typography7,
951
+ {
952
+ variant: "body1",
953
+ color: "gray",
954
+ ...text2Props,
955
+ sx: [{
956
+ fontWeight: 300,
957
+ textTransform: "uppercase",
958
+ margin: 1
959
+ }, ...Array.isArray(text2Props?.sx) ? text2Props.sx : [text2Props?.sx]],
960
+ children: [
961
+ text2,
962
+ text2Suffix
963
+ ]
964
+ }
965
+ )
865
966
  ] }) });
866
967
  };
867
968
 
@@ -1046,7 +1147,17 @@ var TokenSummary = ({
1046
1147
  CardHeader,
1047
1148
  {
1048
1149
  avatar: /* @__PURE__ */ jsx21(ThemeTokenAvatar, { src: icon, alt: symbol }),
1049
- title: /* @__PURE__ */ jsx21(Typography8, { variant: "h6", fontWeight: 300, textTransform: "uppercase", children: symbolElement ?? symbol }),
1150
+ title: /* @__PURE__ */ jsx21(
1151
+ Typography8,
1152
+ {
1153
+ variant: "h6",
1154
+ sx: {
1155
+ fontWeight: 300,
1156
+ textTransform: "uppercase"
1157
+ },
1158
+ children: symbolElement ?? symbol
1159
+ }
1160
+ ),
1050
1161
  ...props
1051
1162
  }
1052
1163
  ),
@@ -1302,4 +1413,4 @@ export {
1302
1413
  useShareForwardedRef,
1303
1414
  useValidateBoundWitness
1304
1415
  };
1305
- //# sourceMappingURL=index.mjs.map
1416
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1,7 @@
1
- {"version":3,"sources":["../../src/components/Ampersand.tsx","../../src/components/BasicHero/BasicHero.tsx","../../src/hooks/GradientStyles/GradientStyles.tsx","../../src/hooks/payload/useBoundWitnessValidate.tsx","../../src/hooks/payload/usePayloadHash.tsx","../../src/hooks/payload/usePayloadValidate.tsx","../../src/hooks/useDataState.ts","../../src/hooks/useMediaQuery.ts","../../src/hooks/useShareForwardRef.ts","../../src/components/bigint/FixedPointPopover.tsx","../../src/components/bigint/helpers/formatBigIntInput.ts","../../src/components/bigint/TextField.tsx","../../src/components/bigint/InputAdornment.tsx","../../src/components/bigint/Input.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/EllipsisTableCell.tsx","../../src/components/TableCell/AddressTableCell.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/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 &amp;\n </Typography>\n )\n}\n","import {\n Box, 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 { useIsSmall } from '@xylabs/react-theme'\nimport type { ReactElement } from 'react'\nimport React from 'react'\nimport type { To } from 'react-router-dom'\n\nimport { useGradientStyles } 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 ButtonSectionBaseProps {\n buttonText?: string\n}\n\ninterface ButtonSectionHrefProps extends ButtonSectionBaseProps {\n href?: string\n to?: never\n}\n\ninterface ButtonSectionToProps extends ButtonSectionBaseProps {\n href?: never\n to?: To\n}\n\ninterface ButtonSectionClickProps extends ButtonSectionBaseProps {\n href?: never\n to?: never\n}\n\ntype ButtonSectionProps = ButtonSectionHrefProps | ButtonSectionToProps | ButtonSectionClickProps\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&nbsp;\n </span>\n )\n : null}\n <Typography>\n {subLinkText1}\n&nbsp;\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 href\n ? (\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 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 : to\n ? (\n <ButtonEx\n fullWidth={true}\n marginTop={1}\n marginBottom={1}\n marginRight={isMobile ? 2 : 1}\n marginLeft={isMobile ? 2 : 0}\n to={to}\n color=\"primary\"\n variant=\"contained\"\n paddingX={3}\n sx={{ display: href || to ? 'flex' : 'none' }}\n >\n {buttonText}\n </ButtonEx>\n )\n : (\n <ButtonEx\n fullWidth={true}\n marginTop={1}\n marginBottom={1}\n marginRight={isMobile ? 2 : 1}\n marginLeft={isMobile ? 2 : 0}\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// eslint-disable-next-line complexity\n}) => {\n const isMobile = useIsSmall()\n const styles = useGradientStyles()\n\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 size={{\n xs: 12, sm: 8, md: backgroundImage ? 6 : 8, lg: backgroundImage ? 6 : 8,\n }}\n >\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 <Box component=\"span\" sx={styles.heading}>\n {' '}\n {` ${gradientTitle}`}\n </Box>\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 {\n button1Href\n ? <ButtonSection href={button1Href} buttonText={button1Text} />\n : button1To ? <ButtonSection to={button1To} buttonText={button1Text} /> : <ButtonSection buttonText={button1Text} />\n }\n {\n button2Href\n ? <ButtonSection href={button2Href} buttonText={button2Text} />\n : button2To ? <ButtonSection to={button2To} buttonText={button2Text} /> : <ButtonSection buttonText={button2Text} />\n }\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 size={{ 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 { useIsDark } from '@xylabs/react-theme'\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 dark = useIsDark()\n const styles = dark ? colorfulGradientDarkMode() : colorfulGradientLightMode()\n return styles\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { isAnyPayload } from '@xyo-network/payload-model'\n\nimport type { ValidatedResponse } from './types/index.ts'\n\nexport const useValidateBoundWitness = (input?: string): ValidatedResponse<BoundWitness> => {\n const [output, validationError] = usePromise(async () => {\n if (!input) return\n\n const object = JSON.parse(input)\n const validPayload = assertEx(isAnyPayload(object) ? object : null, () => 'Invalid payload')\n\n const errors = await new BoundWitnessValidator(validPayload as BoundWitness).validate()\n return {\n payload: validPayload as BoundWitness,\n errors,\n }\n }, [input])\n\n const { payload, errors } = output ?? {}\n\n return {\n payload,\n errors: [validationError, ...errors ?? []].filter<Error>(error => !!error),\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\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 usePayloadRootHash<TPayload>(payload)\n}\n\nexport const usePayloadDataHash = <TPayload extends Payload>(payload: TPayload | undefined | null) => {\n return usePromise(async () => (payload ? await PayloadBuilder.dataHash(payload) : undefined), [payload])[0]\n}\n\nexport const usePayloadRootHash = <TPayload extends Payload>(payload: TPayload | undefined | null) => {\n return usePromise(async () => (payload ? await PayloadBuilder.hash(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 { assertEx } from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { AnyPayload } from '@xyo-network/payload-model'\nimport { isAnyPayload } from '@xyo-network/payload-model'\nimport { useMemo } from 'react'\n\nimport type { ValidatedResponse } from './types/index.ts'\n\nexport const usePayloadValidate = <TPayload extends AnyPayload>(input?: string): ValidatedResponse => {\n return useMemo(() => {\n if (!input) return {}\n try {\n const object = JSON.parse(input)\n const validPayload = assertEx(isAnyPayload(object) ? object : null, () => 'Invalid payload')\n const { schema, ...fields } = validPayload\n const payload = new PayloadBuilder({ schema }).fields(fields).build() as TPayload\n return { payload }\n } catch (error) {\n return { errors: [error as Error] }\n }\n }, [input])\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","/* This file only exists to deal with the false positive lint error */\n\nexport { useMediaQuery } from '@mui/material'\n","import type { ForwardedRef } from 'react'\nimport { useEffect, useRef } from 'react'\n\n/** @deprecated */\nexport const useShareForwardedRef = <T>(forwardedRef: ForwardedRef<T> | null | undefined, 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 // eslint-disable-next-line react-hooks/immutability\n useEffect(() => {\n if (!forwardedRef) {\n return\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(innerRef.current)\n } else {\n // suppressing since this is older and deprecated\n // eslint-disable-next-line react-hooks/immutability\n forwardedRef.current = innerRef.current\n }\n }, [forwardedRef, refresh])\n\n return innerRef\n}\n","import {\n FormHelperText, Popover, type PopoverProps, TextField,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface FixedPointPopoverProps extends PopoverProps {\n fixedPoint?: number\n minFixedPoint?: number\n onFixedPointChange?: (value: number) => void\n}\n\nexport const FixedPointPopover: React.FC<FixedPointPopoverProps> = ({\n fixedPoint, minFixedPoint: minimumPoint, onFixedPointChange, ...props\n}) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const fixedPointInteger = Number.parseInt(event.target.value, 10)\n if (Number.isNaN(fixedPointInteger)) return\n onFixedPointChange?.(fixedPointInteger)\n }\n\n return (\n <Popover slotProps={{ paper: { sx: { p: 2 } } }} {...props}>\n <TextField slotProps={{ htmlInput: { min: minimumPoint } }} value={fixedPoint} onChange={handleChange} type=\"number\" />\n <FormHelperText>Set the Fixed Point</FormHelperText>\n </Popover>\n )\n}\n","/**\n * Format a raw input string (i.e. Change event from input type=text)\n * Designed to filter out non-digits and extra decimals\n **/\nexport const formatBigIntInput = (rawValue: string) => {\n // remove all alpha characters but allow decimals\n const filteredValue = rawValue.replaceAll(/[^\\d.]/g, '')\n // only allow one decimal point\n if (filteredValue.split('.').length > 2) return\n return filteredValue\n}\n","import type {\n FormControlProps,\n TextFieldProps,\n} from '@mui/material'\nimport {\n FormControl, FormHelperText, TextField,\n} from '@mui/material'\nimport { isDefined, toFixedPoint } from '@xylabs/sdk-js'\nimport type { FocusEventHandler } from 'react'\nimport React, {\n useEffect, useMemo, useState,\n} from 'react'\n\nimport { formatBigIntInput } from './helpers/index.ts'\nimport { FixedPointInputAdornment } from './InputAdornment.tsx'\n\nexport type BigIntTextFieldProps = TextFieldProps & {\n defaultFixedPoint?: number\n defaultRawValue?: string\n hideAdornment?: boolean\n onChangeFixedPoint?: (value?: bigint) => void\n onChangeFormatted?: (value?: string) => void\n resetValue?: number\n}\n\nexport const BigIntTextField: React.FC<BigIntTextFieldProps> = ({\n defaultFixedPoint = 18, defaultRawValue, helperText, hideAdornment, onChangeFixedPoint, onChangeFormatted, onChange, resetValue, ...props\n}) => {\n const [rawValue, setRawValue] = useState<string>('')\n const [fixedPoint, setFixedPoint] = useState(defaultFixedPoint)\n const [error, setError] = useState<Error>()\n\n const [previousResetValue, setPreviousResetValue] = useState(resetValue)\n if (resetValue !== previousResetValue) {\n // eslint-disable-next-line react-x/set-state-in-effect\n setPreviousResetValue(resetValue)\n // eslint-disable-next-line react-x/set-state-in-effect\n setRawValue('')\n }\n\n const [previousDefaultRawValue, setPreviousDefaultRawValue] = useState(defaultRawValue)\n if (defaultRawValue !== previousDefaultRawValue) {\n // eslint-disable-next-line react-x/set-state-in-effect\n setPreviousDefaultRawValue(defaultRawValue)\n if (isDefined(defaultRawValue)) {\n const formattedValue = formatBigIntInput(defaultRawValue)\n // eslint-disable-next-line react-x/set-state-in-effect\n if (formattedValue) setRawValue(formattedValue)\n }\n }\n\n const handleChange: FocusEventHandler<HTMLTextAreaElement> = (event) => {\n // run standard callback with raw event\n onChange?.(event)\n\n const formattedValue = formatBigIntInput(event.target.value)\n if (isDefined(formattedValue)) {\n // if value was formatted, update the state and run the formatted change callback\n setRawValue(formattedValue)\n onChangeFormatted?.(formattedValue)\n }\n }\n\n const onFixedPointChange = (fixedPoint: number) => setFixedPoint(fixedPoint)\n\n useEffect(() => {\n // on value or point changes, run the bigInt callback\n const bigIntValue = () => {\n if (rawValue) {\n const fixedValue = toFixedPoint(rawValue, fixedPoint)\n // eslint-disable-next-line react-x/set-state-in-effect\n setError(undefined)\n try {\n return fixedValue\n } catch (e) {\n console.error(e)\n // eslint-disable-next-line react-x/set-state-in-effect\n setError(e as Error)\n return\n }\n } else {\n return\n }\n }\n onChangeFixedPoint?.(bigIntValue())\n }, [fixedPoint, onChangeFixedPoint, rawValue])\n\n // prevent the fixed point from being less than the number of decimal places\n const minFixedPoint = rawValue.split('.')[1]?.length\n\n const resolvedHelperText = useMemo(() => {\n if (error) return 'Cannot convert to BigInt'\n return helperText ?? 'Enter a number'\n }, [helperText, error])\n\n return (\n <>\n <TextField\n onChange={handleChange}\n type=\"string\"\n error={Boolean(error)}\n slotProps={{\n htmlInput: { pattern: '[0-9]*[.]?[0-9]*' },\n input: {\n startAdornment: (hideAdornment\n ? null\n : (\n <FixedPointInputAdornment\n position=\"start\"\n fixedPoint={fixedPoint}\n minFixedPoint={minFixedPoint}\n onFixedPointChange={onFixedPointChange}\n />\n )\n ),\n },\n }}\n value={rawValue}\n {...props}\n />\n <FormHelperText>{resolvedHelperText}</FormHelperText>\n </>\n )\n}\n\nexport interface InputWithFormControlProps extends FormControlProps {\n textFieldProps?: BigIntTextFieldProps\n}\n\nexport const WithFormControl: React.FC<InputWithFormControlProps> = ({ textFieldProps, ...props }) => (\n <FormControl {...props}>\n <BigIntTextField {...textFieldProps} />\n </FormControl>\n)\n","import type { InputAdornmentProps } from '@mui/material'\nimport {\n Avatar, IconButton, InputAdornment,\n} from '@mui/material'\nimport React, {\n useEffect, useRef, useState,\n} from 'react'\n\nimport { FixedPointPopover } from './FixedPointPopover.tsx'\n\nexport interface FixedPointInputAdornmentProps extends InputAdornmentProps {\n fixedPoint?: number\n minFixedPoint?: number\n onFixedPointChange?: (value: number) => void\n}\n\nexport const FixedPointInputAdornment: React.FC<FixedPointInputAdornmentProps> = ({\n fixedPoint, minFixedPoint, onFixedPointChange, ...props\n}) => {\n const ref = useRef<HTMLButtonElement>(null)\n const [open, setOpen] = useState(false)\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null)\n\n useEffect(() => {\n setAnchorEl(ref.current)\n }, [])\n\n return (\n <InputAdornment {...props}>\n <FixedPointPopover\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n fixedPoint={fixedPoint}\n minFixedPoint={minFixedPoint}\n onClose={() => setOpen(false)}\n onFixedPointChange={onFixedPointChange}\n open={open}\n />\n <IconButton size=\"small\" ref={ref} onClick={() => setOpen(!open)}>\n <Avatar sx={{\n fontSize: '.75rem',\n height: '20px',\n width: '20px',\n }}\n >\n {fixedPoint}\n </Avatar>\n </IconButton>\n </InputAdornment>\n )\n}\n","import { BigIntTextField, WithFormControl } from './TextField.tsx'\n\nexport const BigIntInput = {\n TextField: BigIntTextField,\n WithFormControl,\n}\n","import type {\n BoxProps, TypographyProps, TypographyTypeMap,\n} from '@mui/material'\nimport {\n Box, styled, Typography,\n} from '@mui/material'\nimport type { PropsWithChildren } from 'react'\nimport React 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 = 0 }) => ({\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 lineHeight: beforeLineHeight,\n visibility: 'hidden',\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\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 beforeLineHeight?: number | string\n disableSharedRef?: boolean\n ellipsisPosition?: 'start' | 'end'\n innerWrapProps?: BoxProps\n typographyProps?: TypographyWithComponentProps\n}\n\nexport const EllipsizeBox = ({\n ref, innerWrapProps, children, ellipsisPosition = 'start', disableSharedRef, typographyProps, ...props\n}: PropsWithChildren<EllipsizeBoxProps>) => {\n const sharedRef = useShareForwardedRef(ref)\n const { sx: innerWrapSx, ...remainingInnerWrapProps } = innerWrapProps ?? {}\n\n return (\n <EllipsizeRoot ref={sharedRef} {...props}>\n <EllipsizeInnerWrap\n {...remainingInnerWrapProps}\n sx={{\n alignItems: 'center', display: 'flex', ...innerWrapSx,\n }}\n >\n <EllipsizeContentWrap component=\"span\" ellipsisPosition={ellipsisPosition} variant=\"body2\" {...typographyProps}>\n {children}\n </EllipsizeContentWrap>\n </EllipsizeInnerWrap>\n </EllipsizeRoot>\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 void 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\n/** @deprecated use from @@xylabs/react-shared instead */\nexport const 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","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 { PropsWithChildren } from 'react'\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<PropsWithChildren> = ({ 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 from 'react'\n\nexport const SectionSpacingRow = ({\n ref, children, sx, ...props\n}: FlexBoxProps) => {\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 type { TableCellProps } from '@mui/material'\nimport { styled, TableCell } from '@mui/material'\nimport { asLinkHrefOrToProps, LinkEx } from '@xylabs/react-link'\nimport React, { 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 TableCellProps {\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 = ({\n ref, children, href, link = false, to, value, ...props\n}: EllipsisTableCellProps) => {\n const data = useMemo(() => {\n if (children) {\n return children\n }\n if (href || link || to) {\n return (\n <LinkEx title={value} {...asLinkHrefOrToProps({ to, href })} target={href ? '_blank' : undefined}>\n {value}\n </LinkEx>\n )\n }\n return value\n }, [children, href, link, to, value])\n return (\n <EllipsisTableCellRoot {...props}>\n <EllipsizeBox\n ref={ref}\n sx={{ cursor: link || to || href ? 'pointer' : 'inherit' }}\n >\n {data}\n </EllipsizeBox>\n </EllipsisTableCellRoot>\n )\n}\n\nEllipsisTableCellWithRef.displayName = 'EllipsisTableCell'\nexport const EllipsisTableCell = EllipsisTableCellWithRef\n","import React from 'react'\n\nimport type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'\nimport { EllipsisTableCell } from './EllipsisTableCell.tsx'\n\nexport interface AddressTableCellProps extends EllipsisTableCellProps {\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 = ({\n ref, value, archive, exploreDomain, link, ...props\n}: AddressTableCellProps) => {\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 { Hash } from '@xylabs/sdk-js'\nimport React from 'react'\n\nimport type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'\nimport { EllipsisTableCell } from './EllipsisTableCell.tsx'\n\nexport interface HashTableCellProps extends EllipsisTableCellProps {\n /** @deprecated - archives are no longer used */\n archive?: string\n dataType?: 'block' | 'payload'\n /** @deprecated - use event listeners instead of link building via props */\n exploreDomain?: string\n /** @deprecated - use event listeners instead of link building via props */\n network?: string\n /** @deprecated - onClick instead */\n onHashClick?: (value: Hash) => void\n}\n\nexport const HashTableCell: React.FC<HashTableCellProps> = ({\n ref, value, dataType, ...props\n}) => {\n return (\n <EllipsisTableCell\n value={value}\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.vars.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 => <ThemeTokenAvatar key={image} 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 xl1 } from './xl1.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/xl1/',\n etherscanLink: 'https://etherscan.io/token/0xf72ae3e0da743033abd7a407557d684c1ae66aed',\n icon: tokenImages.xl1,\n readableName: 'XL1',\n tokenSymbol: 'xl1',\n uniqueTokenId: 'xl1',\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\nexport const getTokenData = (symbols: (string | undefined)[]) => {\n return symbols?.map((symbol) => {\n const additionalTokenData = TokenData.find(x => x.tokenSymbol.toLowerCase() === symbol?.toLowerCase())\n const checkedTokenData = additionalTokenData ?? {\n coinmarketcapLink: '',\n etherscanLink: '',\n icon: '',\n readableName: 'Unknown Token',\n tokenSymbol: 'unknown',\n uniqueTokenId: 'unknown',\n }\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 styles = useGradientStyles()\n return <Typography style={gradient === 'text' ? styles.heading : undefined} {...props} />\n}\n","import type { EmptyObject } from '@xylabs/react-shared'\nimport { createContextEx } from '@xylabs/react-shared'\n\nexport const ResolvedDivinerContext = <T extends EmptyObject>() => createContextEx<T>()\n","import { useResetState } from '@xylabs/react-hooks'\nimport type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { Context, PropsWithChildren } from 'react'\nimport React, { useMemo } from 'react'\n\nimport type { ResolvedDivinerState } from './State.ts'\n\nexport interface DivinerProviderProps<D> extends ContextExProviderProps, PropsWithChildren {\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: Context,\n}: DivinerProviderProps<D>) => {\n const [diviner, setDiviner] = useResetState<D | undefined>(divinerProp)\n\n const value: ResolvedDivinerState<D> = 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 }, [setDiviner, divinerProp, diviner])\n\n return (\n <Context\n value={value}\n >\n {diviner\n ? children\n : required\n ? null\n : children}\n </Context>\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { ListModeContextState } from './State.ts'\n\nexport const ListModeContext = createContextEx<ListModeContextState>()\n","import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ListMode } from '../../models/index.ts'\nimport { ListModeContext } from './Context.ts'\nimport type { ListModeContextState } from './State.ts'\n\nexport interface ListModeProviderProps {\n defaultListMode?: ListMode\n}\n\nexport const ListModeProvider: React.FC<PropsWithChildren<ListModeProviderProps>> = ({ children, defaultListMode }) => {\n const [listMode, setListMode] = useState(defaultListMode ?? 'default')\n\n const value: ListModeContextState = useMemo(() => ({\n listMode,\n provided: true,\n setListMode,\n }), [listMode,\n setListMode])\n\n return (\n <ListModeContext\n value={value}\n >\n {children}\n </ListModeContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { ListModeContext } from './Context.ts'\n\nexport const useListMode = (required = false) => {\n return useContextEx(ListModeContext, 'ListMode', required)\n}\n","/**\n * @deprecated use from @xylabs/with instead\n * */\nexport 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(globalThis.getComputedStyle(element, null).getPropertyValue('padding'))\n const paddingLeft\n = parseMeausureString(globalThis.getComputedStyle(element, null).getPropertyValue('padding-left') ?? padding?.left, element.clientWidth) ?? 0\n const paddingRight\n = parseMeausureString(globalThis.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","errors","usePromise","assertEx","PayloadBuilder","isAnyPayload","jsx","Typography","jsx","jsxs","FormHelperText","TextField","useEffect","useMemo","useState","useEffect","useRef","useState","jsx","jsxs","useRef","useState","useEffect","jsx","jsxs","useState","fixedPoint","useEffect","useMemo","TextField","FormHelperText","Box","Typography","jsx","Box","Typography","Typography","jsx","jsxs","jsx","FlexGrowRow","Typography","FlexGrowCol","jsx","jsxs","Fragment","jsx","FlexGrowRow","Typography","jsx","jsx","jsxs","styled","jsx","FlexGrowRow","jsx","styled","LinkEx","useMemo","jsx","styled","useMemo","LinkEx","jsx","jsx","Avatar","useTheme","jsx","jsx","Typography","jsx","jsxs","default","default","Typography","Fragment","jsx","jsxs","Typography","Typography","jsx","Typography","useMemo","jsx","createContextEx","useMemo","useState","jsx","useState","useMemo","jsx"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/Ampersand.tsx", "../../src/components/BasicHero/BasicHero.tsx", "../../src/hooks/GradientStyles/GradientStyles.tsx", "../../src/hooks/payload/useBoundWitnessValidate.tsx", "../../src/hooks/payload/usePayloadHash.tsx", "../../src/hooks/payload/usePayloadValidate.tsx", "../../src/hooks/useDataState.ts", "../../src/hooks/useMediaQuery.ts", "../../src/hooks/useShareForwardRef.ts", "../../src/components/bigint/FixedPointPopover.tsx", "../../src/components/bigint/helpers/formatBigIntInput.ts", "../../src/components/bigint/TextField.tsx", "../../src/components/bigint/InputAdornment.tsx", "../../src/components/bigint/Input.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/EllipsisTableCell.tsx", "../../src/components/TableCell/AddressTableCell.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/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"],
4
+ "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\n component=\"span\"\n {...props}\n sx={[{ marginX: 1 }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n &\n </Typography>\n )\n}\n", "import {\n Box, 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 { useIsSmall } from '@xylabs/react-theme'\nimport type { ReactElement } from 'react'\nimport React from 'react'\nimport type { To } from 'react-router-dom'\n\nimport { useGradientStyles } 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 ButtonSectionBaseProps {\n buttonText?: string\n}\n\ninterface ButtonSectionHrefProps extends ButtonSectionBaseProps {\n href?: string\n to?: never\n}\n\ninterface ButtonSectionToProps extends ButtonSectionBaseProps {\n href?: never\n to?: To\n}\n\ninterface ButtonSectionClickProps extends ButtonSectionBaseProps {\n href?: never\n to?: never\n}\n\ntype ButtonSectionProps = ButtonSectionHrefProps | ButtonSectionToProps | ButtonSectionClickProps\n\nconst SubLinkSection: React.FC<SubLinkSectionProps> = ({\n backgroundImageAlignment, subLinkIcon, subLinkPath, subLinkText1, subLinkText2,\n}) => {\n return (\n <FlexGrowRow\n sx={{\n width: '100%',\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&nbsp;\n </span>\n )\n : null}\n <Typography>\n {subLinkText1}\n&nbsp;\n </Typography>\n <LinkEx\n href={subLinkPath}\n underline=\"always\"\n target=\"_blank\"\n sx={{ color: 'inherit' }}\n >\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 href\n ? (\n <ButtonEx\n fullWidth={true}\n target={href ?? '_blank'}\n href={href}\n variant=\"contained\"\n sx={{\n marginTop: 1,\n marginBottom: 1,\n marginRight: isMobile ? 2 : 1,\n marginLeft: isMobile ? 2 : 0,\n color: 'primary',\n paddingX: 3,\n display: href || to ? 'flex' : 'none',\n }}\n >\n {buttonText}\n </ButtonEx>\n )\n : to\n ? (\n <ButtonEx\n fullWidth={true}\n to={to}\n variant=\"contained\"\n sx={{\n marginTop: 1,\n marginBottom: 1,\n marginRight: isMobile ? 2 : 1,\n marginLeft: isMobile ? 2 : 0,\n color: 'primary',\n paddingX: 3,\n display: href || to ? 'flex' : 'none',\n }}\n >\n {buttonText}\n </ButtonEx>\n )\n : (\n <ButtonEx\n fullWidth={true}\n variant=\"contained\"\n sx={{\n marginTop: 1,\n marginBottom: 1,\n marginRight: isMobile ? 2 : 1,\n marginLeft: isMobile ? 2 : 0,\n color: 'primary',\n paddingX: 3,\n display: href || to ? 'flex' : 'none',\n }}\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// eslint-disable-next-line complexity\n}) => {\n const isMobile = useIsSmall()\n const styles = useGradientStyles()\n\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 sx={{\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Grid size={{\n xs: 12, sm: 8, md: backgroundImage ? 6 : 8, lg: backgroundImage ? 6 : 8,\n }}\n >\n <FlexGrowCol\n sx={{\n paddingY: 2,\n alignItems: { xs: backgroundImage && !isMobile ? 'flex-start' : 'center' },\n }}\n >\n <Typography\n variant=\"h1\"\n component=\"h1\"\n gutterBottom\n sx={{ textAlign: backgroundImage && !isMobile ? 'left' : 'center' }}\n >\n {title\n ? <span>{`${title} `}</span>\n : null}\n {gradientTitle\n ? (\n <Box component=\"span\" sx={styles.heading}>\n {' '}\n {` ${gradientTitle}`}\n </Box>\n )\n : null}\n {title2\n ? <span>{` ${title2}`}</span>\n : null}\n </Typography>\n <Typography\n variant=\"body1\"\n component=\"h2\"\n gutterBottom\n sx={{ textAlign: backgroundImage && !isMobile ? 'left' : 'center' }}\n >\n {desc}\n </Typography>\n <FlexGrowRow\n sx={{\n width: '100%',\n marginTop: 1,\n flexDirection: { lg: 'row', xs: 'column' },\n }}\n >\n {\n button1Href\n ? <ButtonSection href={button1Href} buttonText={button1Text} />\n : button1To ? <ButtonSection to={button1To} buttonText={button1Text} /> : <ButtonSection buttonText={button1Text} />\n }\n {\n button2Href\n ? <ButtonSection href={button2Href} buttonText={button2Text} />\n : button2To ? <ButtonSection to={button2To} buttonText={button2Text} /> : <ButtonSection buttonText={button2Text} />\n }\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 size={{ 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 { useIsDark } from '@xylabs/react-theme'\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 dark = useIsDark()\n const styles = dark ? colorfulGradientDarkMode() : colorfulGradientLightMode()\n return styles\n}\n", "import { usePromise } from '@xylabs/react-promise'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { isAnyPayload } from '@xyo-network/payload-model'\n\nimport type { ValidatedResponse } from './types/index.ts'\n\nexport const useValidateBoundWitness = (input?: string): ValidatedResponse<BoundWitness> => {\n const [output, validationError] = usePromise(async () => {\n if (!input) return\n\n const object = JSON.parse(input)\n const validPayload = assertEx(isAnyPayload(object) ? object : null, () => 'Invalid payload')\n\n const errors = await new BoundWitnessValidator(validPayload as BoundWitness).validate()\n return {\n payload: validPayload as BoundWitness,\n errors,\n }\n }, [input])\n\n const { payload, errors } = output ?? {}\n\n return {\n payload,\n errors: [validationError, ...(errors ?? [])].filter<Error>(error => !!error),\n }\n}\n", "import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\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 usePayloadRootHash<TPayload>(payload)\n}\n\nexport const usePayloadDataHash = <TPayload extends Payload>(payload: TPayload | undefined | null) => {\n return usePromise(async () => (payload ? await PayloadBuilder.dataHash(payload) : undefined), [payload])[0]\n}\n\nexport const usePayloadRootHash = <TPayload extends Payload>(payload: TPayload | undefined | null) => {\n return usePromise(async () => (payload ? await PayloadBuilder.hash(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 { assertEx } from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { AnyPayload } from '@xyo-network/payload-model'\nimport { isAnyPayload } from '@xyo-network/payload-model'\nimport { useMemo } from 'react'\n\nimport type { ValidatedResponse } from './types/index.ts'\n\nexport const usePayloadValidate = <TPayload extends AnyPayload>(input?: string): ValidatedResponse => {\n return useMemo(() => {\n if (!input) return {}\n try {\n const object = JSON.parse(input)\n const validPayload = assertEx(isAnyPayload(object) ? object : null, () => 'Invalid payload')\n const { schema, ...fields } = validPayload\n const payload = new PayloadBuilder({ schema }).fields(fields).build() as TPayload\n return { payload }\n } catch (error) {\n return { errors: [error as Error] }\n }\n }, [input])\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", "/* This file only exists to deal with the false positive lint error */\n\nexport { useMediaQuery } from '@mui/material'\n", "import type { ForwardedRef } from 'react'\nimport { useEffect, useRef } from 'react'\n\n/** @deprecated */\nexport const useShareForwardedRef = <T>(forwardedRef: ForwardedRef<T> | null | undefined, 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 // eslint-disable-next-line react-hooks/immutability\n useEffect(() => {\n if (!forwardedRef) {\n return\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(innerRef.current)\n } else {\n // suppressing since this is older and deprecated\n // eslint-disable-next-line react-hooks/immutability\n forwardedRef.current = innerRef.current\n }\n }, [forwardedRef, refresh])\n\n return innerRef\n}\n", "import {\n FormHelperText, Popover, type PopoverProps, TextField,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface FixedPointPopoverProps extends PopoverProps {\n fixedPoint?: number\n minFixedPoint?: number\n onFixedPointChange?: (value: number) => void\n}\n\nexport const FixedPointPopover: React.FC<FixedPointPopoverProps> = ({\n fixedPoint, minFixedPoint: minimumPoint, onFixedPointChange, ...props\n}) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const fixedPointInteger = Number.parseInt(event.target.value, 10)\n if (Number.isNaN(fixedPointInteger)) return\n onFixedPointChange?.(fixedPointInteger)\n }\n\n return (\n <Popover slotProps={{ paper: { sx: { p: 2 } } }} {...props}>\n <TextField slotProps={{ htmlInput: { min: minimumPoint } }} value={fixedPoint} onChange={handleChange} type=\"number\" />\n <FormHelperText>Set the Fixed Point</FormHelperText>\n </Popover>\n )\n}\n", "/**\n * Format a raw input string (i.e. Change event from input type=text)\n * Designed to filter out non-digits and extra decimals\n **/\nexport const formatBigIntInput = (rawValue: string) => {\n // remove all alpha characters but allow decimals\n const filteredValue = rawValue.replaceAll(/[^\\d.]/g, '')\n // only allow one decimal point\n if (filteredValue.split('.').length > 2) return\n return filteredValue\n}\n", "import type {\n FormControlProps,\n TextFieldProps,\n} from '@mui/material'\nimport {\n FormControl, FormHelperText, TextField,\n} from '@mui/material'\nimport { isDefined, toFixedPoint } from '@xylabs/sdk-js'\nimport type { FocusEventHandler } from 'react'\nimport React, {\n useEffect, useMemo, useState,\n} from 'react'\n\nimport { formatBigIntInput } from './helpers/index.ts'\nimport { FixedPointInputAdornment } from './InputAdornment.tsx'\n\nexport type BigIntTextFieldProps = TextFieldProps & {\n defaultFixedPoint?: number\n defaultRawValue?: string\n hideAdornment?: boolean\n onChangeFixedPoint?: (value?: bigint) => void\n onChangeFormatted?: (value?: string) => void\n resetValue?: number\n}\n\nexport const BigIntTextField: React.FC<BigIntTextFieldProps> = ({\n defaultFixedPoint = 18, defaultRawValue, helperText, hideAdornment, onChangeFixedPoint, onChangeFormatted, onChange, resetValue, ...props\n}) => {\n const [rawValue, setRawValue] = useState<string>('')\n const [fixedPoint, setFixedPoint] = useState(defaultFixedPoint)\n const [error, setError] = useState<Error>()\n\n const [previousResetValue, setPreviousResetValue] = useState(resetValue)\n if (resetValue !== previousResetValue) {\n // eslint-disable-next-line react-x/set-state-in-effect\n setPreviousResetValue(resetValue)\n // eslint-disable-next-line react-x/set-state-in-effect\n setRawValue('')\n }\n\n const [previousDefaultRawValue, setPreviousDefaultRawValue] = useState(defaultRawValue)\n if (defaultRawValue !== previousDefaultRawValue) {\n // eslint-disable-next-line react-x/set-state-in-effect\n setPreviousDefaultRawValue(defaultRawValue)\n if (isDefined(defaultRawValue)) {\n const formattedValue = formatBigIntInput(defaultRawValue)\n // eslint-disable-next-line react-x/set-state-in-effect\n if (formattedValue) setRawValue(formattedValue)\n }\n }\n\n const handleChange: FocusEventHandler<HTMLTextAreaElement> = (event) => {\n // run standard callback with raw event\n onChange?.(event)\n\n const formattedValue = formatBigIntInput(event.target.value)\n if (isDefined(formattedValue)) {\n // if value was formatted, update the state and run the formatted change callback\n setRawValue(formattedValue)\n onChangeFormatted?.(formattedValue)\n }\n }\n\n const onFixedPointChange = (fixedPoint: number) => setFixedPoint(fixedPoint)\n\n useEffect(() => {\n // on value or point changes, run the bigInt callback\n const bigIntValue = () => {\n if (rawValue) {\n const fixedValue = toFixedPoint(rawValue, fixedPoint)\n // eslint-disable-next-line react-x/set-state-in-effect\n setError(undefined)\n try {\n return fixedValue\n } catch (e) {\n console.error(e)\n // eslint-disable-next-line react-x/set-state-in-effect\n setError(e as Error)\n return\n }\n } else {\n return\n }\n }\n onChangeFixedPoint?.(bigIntValue())\n }, [fixedPoint, onChangeFixedPoint, rawValue])\n\n // prevent the fixed point from being less than the number of decimal places\n const minFixedPoint = rawValue.split('.')[1]?.length\n\n const resolvedHelperText = useMemo(() => {\n if (error) return 'Cannot convert to BigInt'\n return helperText ?? 'Enter a number'\n }, [helperText, error])\n\n return (\n <>\n <TextField\n onChange={handleChange}\n type=\"string\"\n error={Boolean(error)}\n slotProps={{\n htmlInput: { pattern: '[0-9]*[.]?[0-9]*' },\n input: {\n startAdornment: (hideAdornment\n ? null\n : (\n <FixedPointInputAdornment\n position=\"start\"\n fixedPoint={fixedPoint}\n minFixedPoint={minFixedPoint}\n onFixedPointChange={onFixedPointChange}\n />\n )\n ),\n },\n }}\n value={rawValue}\n {...props}\n />\n <FormHelperText>{resolvedHelperText}</FormHelperText>\n </>\n )\n}\n\nexport interface InputWithFormControlProps extends FormControlProps {\n textFieldProps?: BigIntTextFieldProps\n}\n\nexport const WithFormControl: React.FC<InputWithFormControlProps> = ({ textFieldProps, ...props }) => (\n <FormControl {...props}>\n <BigIntTextField {...textFieldProps} />\n </FormControl>\n)\n", "import type { InputAdornmentProps } from '@mui/material'\nimport {\n Avatar, IconButton, InputAdornment,\n} from '@mui/material'\nimport React, {\n useEffect, useRef, useState,\n} from 'react'\n\nimport { FixedPointPopover } from './FixedPointPopover.tsx'\n\nexport interface FixedPointInputAdornmentProps extends InputAdornmentProps {\n fixedPoint?: number\n minFixedPoint?: number\n onFixedPointChange?: (value: number) => void\n}\n\nexport const FixedPointInputAdornment: React.FC<FixedPointInputAdornmentProps> = ({\n fixedPoint, minFixedPoint, onFixedPointChange, ...props\n}) => {\n const ref = useRef<HTMLButtonElement>(null)\n const [open, setOpen] = useState(false)\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null)\n\n useEffect(() => {\n setAnchorEl(ref.current)\n }, [])\n\n return (\n <InputAdornment {...props}>\n <FixedPointPopover\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n fixedPoint={fixedPoint}\n minFixedPoint={minFixedPoint}\n onClose={() => setOpen(false)}\n onFixedPointChange={onFixedPointChange}\n open={open}\n />\n <IconButton size=\"small\" ref={ref} onClick={() => setOpen(!open)}>\n <Avatar sx={{\n fontSize: '.75rem',\n height: '20px',\n width: '20px',\n }}\n >\n {fixedPoint}\n </Avatar>\n </IconButton>\n </InputAdornment>\n )\n}\n", "import { BigIntTextField, WithFormControl } from './TextField.tsx'\n\nexport const BigIntInput = {\n TextField: BigIntTextField,\n WithFormControl,\n}\n", "import type {\n BoxProps, TypographyProps, TypographyTypeMap,\n} from '@mui/material'\nimport {\n Box, styled, Typography,\n} from '@mui/material'\nimport type { PropsWithChildren } from 'react'\nimport React 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 = 0 }) => ({\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 lineHeight: beforeLineHeight,\n visibility: 'hidden',\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\nexport type TypographyWithComponentProps<D extends React.ElementType = TypographyTypeMap['defaultComponent'], P = {}> = TypographyProps<D, P> & {\n ellipsisPosition?: 'start' | 'end'\n fontFamily?: string\n}\n\nexport interface EllipsizeBoxProps extends BoxProps {\n beforeLineHeight?: number | string\n disableSharedRef?: boolean\n ellipsisPosition?: 'start' | 'end'\n innerWrapProps?: BoxProps\n typographyProps?: TypographyWithComponentProps\n}\n\nexport const EllipsizeBox = ({\n ref, innerWrapProps, children, ellipsisPosition = 'start', disableSharedRef, typographyProps, ...props\n}: PropsWithChildren<EllipsizeBoxProps>) => {\n const sharedRef = useShareForwardedRef(ref)\n const { sx: innerWrapSx, ...remainingInnerWrapProps } = innerWrapProps ?? {}\n\n return (\n <EllipsizeRoot ref={sharedRef} {...props}>\n <EllipsizeInnerWrap\n {...remainingInnerWrapProps}\n sx={{\n alignItems: 'center', display: 'flex', ...innerWrapSx,\n }}\n >\n <EllipsizeContentWrap component=\"span\" ellipsisPosition={ellipsisPosition} variant=\"body2\" {...typographyProps}>\n {children}\n </EllipsizeContentWrap>\n </EllipsizeInnerWrap>\n </EllipsizeRoot>\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\n {...props}\n sx={[{ flexDirection: 'column' }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\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 void 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\n ? (\n <FlexGrowRow\n busy\n sx={{ minHeight: '50px' }}\n />\n )\n : <>{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\n/** @deprecated use from @@xylabs/react-shared instead */\nexport const NotFound: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <Typography variant=\"h2\">Sorry!</Typography>\n <Typography\n variant=\"body2\"\n sx={{ marginY: 3 }}\n >\n {'Can\\'t find anything here'}\n </Typography>\n </FlexGrowCol>\n )\n}\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\n component=\"span\"\n {...props}\n sx={[{ marginX: 1 }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\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 { PropsWithChildren } from 'react'\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<PropsWithChildren> = ({ 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 from 'react'\n\nexport const SectionSpacingRow = ({\n ref, children, sx, ...props\n}: FlexBoxProps) => {\n const theme = useTheme()\n return (\n <FlexGrowRow\n ref={ref}\n {...props}\n sx={[{\n width: '100%',\n paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },\n paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },\n }, ...(Array.isArray(sx) ? sx : [sx])]}\n >\n {children}\n </FlexGrowRow>\n )\n}\n\nSectionSpacingRow.displayName = 'SectionSpacingRow'\n", "import type { TableCellProps } from '@mui/material'\nimport { styled, TableCell } from '@mui/material'\nimport { asLinkHrefOrToProps, LinkEx } from '@xylabs/react-link'\nimport React, { 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 TableCellProps {\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 = ({\n ref, children, href, link = false, to, value, ...props\n}: EllipsisTableCellProps) => {\n const data = useMemo(() => {\n if (children) {\n return children\n }\n if (href || link || to) {\n return (\n <LinkEx title={value} {...asLinkHrefOrToProps({ to, href })} target={href ? '_blank' : undefined}>\n {value}\n </LinkEx>\n )\n }\n return value\n }, [children, href, link, to, value])\n return (\n <EllipsisTableCellRoot {...props}>\n <EllipsizeBox\n ref={ref}\n sx={{ cursor: link || to || href ? 'pointer' : 'inherit' }}\n >\n {data}\n </EllipsizeBox>\n </EllipsisTableCellRoot>\n )\n}\n\nEllipsisTableCellWithRef.displayName = 'EllipsisTableCell'\nexport const EllipsisTableCell = EllipsisTableCellWithRef\n", "import React from 'react'\n\nimport type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'\nimport { EllipsisTableCell } from './EllipsisTableCell.tsx'\n\nexport interface AddressTableCellProps extends EllipsisTableCellProps {\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 = ({\n ref, value, archive, exploreDomain, link, ...props\n}: AddressTableCellProps) => {\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 { Hash } from '@xylabs/sdk-js'\nimport React from 'react'\n\nimport type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'\nimport { EllipsisTableCell } from './EllipsisTableCell.tsx'\n\nexport interface HashTableCellProps extends EllipsisTableCellProps {\n /** @deprecated - archives are no longer used */\n archive?: string\n dataType?: 'block' | 'payload'\n /** @deprecated - use event listeners instead of link building via props */\n exploreDomain?: string\n /** @deprecated - use event listeners instead of link building via props */\n network?: string\n /** @deprecated - onClick instead */\n onHashClick?: (value: Hash) => void\n}\n\nexport const HashTableCell: React.FC<HashTableCellProps> = ({\n ref, value, dataType, ...props\n}) => {\n return (\n <EllipsisTableCell\n value={value}\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.vars.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 => <ThemeTokenAvatar key={image} 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 sx={{ justifyContent: 'space-between' }}>\n <Typography\n variant=\"body1\"\n {...text1Props}\n sx={[{\n fontWeight: 300,\n margin: 1,\n }, ...(Array.isArray(text1Props?.sx) ? text1Props.sx : [text1Props?.sx])]}\n >\n {text1}\n {text1Suffix}\n </Typography>\n <Typography\n variant=\"body1\"\n color=\"gray\"\n {...text2Props}\n sx={[{\n fontWeight: 300,\n textTransform: 'uppercase',\n margin: 1,\n }, ...(Array.isArray(text2Props?.sx) ? text2Props.sx : [text2Props?.sx])]}\n >\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 xl1 } from './xl1.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/xl1/',\n etherscanLink: 'https://etherscan.io/token/0xf72ae3e0da743033abd7a407557d684c1ae66aed',\n icon: tokenImages.xl1,\n readableName: 'XL1',\n tokenSymbol: 'xl1',\n uniqueTokenId: 'xl1',\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\nexport const getTokenData = (symbols: (string | undefined)[]) => {\n return symbols?.map((symbol) => {\n const additionalTokenData = TokenData.find(x => x.tokenSymbol.toLowerCase() === symbol?.toLowerCase())\n const checkedTokenData = additionalTokenData ?? {\n coinmarketcapLink: '',\n etherscanLink: '',\n icon: '',\n readableName: 'Unknown Token',\n tokenSymbol: 'unknown',\n uniqueTokenId: 'unknown',\n }\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\n variant=\"h6\"\n sx={{\n fontWeight: 300,\n textTransform: 'uppercase',\n }}\n >\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 styles = useGradientStyles()\n return <Typography style={gradient === 'text' ? styles.heading : undefined} {...props} />\n}\n", "import type { EmptyObject } from '@xylabs/react-shared'\nimport { createContextEx } from '@xylabs/react-shared'\n\nexport const ResolvedDivinerContext = <T extends EmptyObject>() => createContextEx<T>()\n", "import { useResetState } from '@xylabs/react-hooks'\nimport type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { Context, PropsWithChildren } from 'react'\nimport React, { useMemo } from 'react'\n\nimport type { ResolvedDivinerState } from './State.ts'\n\nexport interface DivinerProviderProps<D> extends ContextExProviderProps, PropsWithChildren {\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: Context,\n}: DivinerProviderProps<D>) => {\n const [diviner, setDiviner] = useResetState<D | undefined>(divinerProp)\n\n const value: ResolvedDivinerState<D> = 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 }, [setDiviner, divinerProp, diviner])\n\n return (\n <Context\n value={value}\n >\n {diviner\n ? children\n : required\n ? null\n : children}\n </Context>\n )\n}\n", "import { createContextEx } from '@xylabs/react-shared'\n\nimport type { ListModeContextState } from './State.ts'\n\nexport const ListModeContext = createContextEx<ListModeContextState>()\n", "import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ListMode } from '../../models/index.ts'\nimport { ListModeContext } from './Context.ts'\nimport type { ListModeContextState } from './State.ts'\n\nexport interface ListModeProviderProps {\n defaultListMode?: ListMode\n}\n\nexport const ListModeProvider: React.FC<PropsWithChildren<ListModeProviderProps>> = ({ children, defaultListMode }) => {\n const [listMode, setListMode] = useState(defaultListMode ?? 'default')\n\n const value: ListModeContextState = useMemo(() => ({\n listMode,\n provided: true,\n setListMode,\n }), [listMode,\n setListMode])\n\n return (\n <ListModeContext\n value={value}\n >\n {children}\n </ListModeContext>\n )\n}\n", "import { useContextEx } from '@xylabs/react-shared'\n\nimport { ListModeContext } from './Context.ts'\n\nexport const useListMode = (required = false) => {\n return useContextEx(ListModeContext, 'ListMode', required)\n}\n", "/**\n * @deprecated use from @xylabs/with instead\n * */\nexport 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(globalThis.getComputedStyle(element, null).getPropertyValue('padding'))\n const paddingLeft\n = parseMeausureString(globalThis.getComputedStyle(element, null).getPropertyValue('padding-left') ?? padding?.left, element.clientWidth) ?? 0\n const paddingRight\n = parseMeausureString(globalThis.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"],
5
+ "mappings": "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",
6
+ "names": ["Typography", "errors", "usePromise", "assertEx", "PayloadBuilder", "isAnyPayload", "jsx", "Typography", "jsx", "jsxs", "FormHelperText", "TextField", "useEffect", "useMemo", "useState", "useEffect", "useRef", "useState", "jsx", "jsxs", "useRef", "useState", "useEffect", "jsx", "jsxs", "useState", "fixedPoint", "useEffect", "useMemo", "TextField", "FormHelperText", "Box", "Typography", "jsx", "Box", "Typography", "Typography", "jsx", "jsxs", "jsx", "FlexGrowRow", "Typography", "FlexGrowCol", "jsx", "jsxs", "Fragment", "jsx", "FlexGrowRow", "Typography", "jsx", "jsx", "jsxs", "styled", "jsx", "FlexGrowRow", "jsx", "styled", "LinkEx", "useMemo", "jsx", "styled", "useMemo", "LinkEx", "jsx", "jsx", "Avatar", "useTheme", "jsx", "jsx", "Typography", "jsx", "jsxs", "default", "default", "Typography", "Fragment", "jsx", "jsxs", "Typography", "Typography", "jsx", "Typography", "useMemo", "jsx", "createContextEx", "useMemo", "useState", "jsx", "useState", "useMemo", "jsx"]
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-shared",
3
- "version": "7.6.3",
3
+ "version": "8.0.1",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -42,30 +42,30 @@
42
42
  ],
43
43
  "devDependencies": {
44
44
  "@bitauth/libauth": "~3.0.0",
45
- "@mui/icons-material": "^7.3.11",
46
- "@mui/material": "^7.3.11",
45
+ "@mui/icons-material": "^9.0.1",
46
+ "@mui/material": "^9.0.1",
47
47
  "@opentelemetry/api": "^1.9.1",
48
48
  "@opentelemetry/sdk-trace-base": "^2.7.1",
49
49
  "@react-spring/web": "~10.0.3",
50
50
  "@scure/base": "~2.2.0",
51
- "@storybook/react-vite": "~10.3.6",
51
+ "@storybook/react-vite": "~10.4.0",
52
52
  "@types/react": "^19.2.14",
53
- "@xylabs/pixel": "~5.1.2",
54
- "@xylabs/react-appbar": "~7.2.4",
55
- "@xylabs/react-button": "~7.2.4",
56
- "@xylabs/react-flexbox": "~7.2.4",
57
- "@xylabs/react-hooks": "~7.2.4",
58
- "@xylabs/react-link": "~7.2.4",
59
- "@xylabs/react-promise": "~7.2.4",
60
- "@xylabs/react-quick-tip-button": "~7.2.4",
61
- "@xylabs/react-shared": "~7.2.4",
62
- "@xylabs/react-theme": "~7.2.4",
63
- "@xylabs/sdk-js": "^5.1.2",
64
- "@xylabs/threads": "~5.1.2",
65
- "@xylabs/toolchain": "~7.13.15",
66
- "@xylabs/tsconfig": "^7.13.15",
67
- "@xylabs/tsconfig-dom": "^7.13.15",
68
- "@xylabs/tsconfig-react": "~7.13.15",
53
+ "@xylabs/pixel": "~5.1.3",
54
+ "@xylabs/react-appbar": "~8.0.3",
55
+ "@xylabs/react-button": "~8.0.3",
56
+ "@xylabs/react-flexbox": "~8.0.3",
57
+ "@xylabs/react-hooks": "~8.0.3",
58
+ "@xylabs/react-link": "~8.0.3",
59
+ "@xylabs/react-promise": "~8.0.3",
60
+ "@xylabs/react-quick-tip-button": "~8.0.3",
61
+ "@xylabs/react-shared": "~8.0.3",
62
+ "@xylabs/react-theme": "~8.0.3",
63
+ "@xylabs/sdk-js": "^5.1.3",
64
+ "@xylabs/threads": "~5.1.3",
65
+ "@xylabs/toolchain": "~8.0.6",
66
+ "@xylabs/tsconfig": "^8.0.6",
67
+ "@xylabs/tsconfig-dom": "^8.0.6",
68
+ "@xylabs/tsconfig-react": "~8.0.6",
69
69
  "@xyo-network/boundwitness-model": "^5.6.3",
70
70
  "@xyo-network/boundwitness-validator": "^5.6.2",
71
71
  "@xyo-network/payload-builder": "^5.6.2",
@@ -76,43 +76,43 @@
76
76
  "buffer": "^6.0.3",
77
77
  "chalk": "^5.6.2",
78
78
  "debug": "~4.4.3",
79
- "eslint": "^10.3.0",
79
+ "eslint": "^10.4.0",
80
80
  "ethers": "^6.16.0",
81
81
  "fast-deep-equal": "~3.1.3",
82
82
  "hash-wasm": "~4.12.0",
83
- "js-cookie": "~3.0.5",
84
- "mixpanel-browser": "~2.78.0",
83
+ "js-cookie": "~3.0.6",
84
+ "mixpanel-browser": "~2.79.0",
85
85
  "observable-fns": "~0.6.1",
86
86
  "pako": "^2.1.0",
87
87
  "query-string": "~9.3.1",
88
88
  "react": "^19.2.6",
89
89
  "react-dom": "^19.2.6",
90
90
  "react-is": "^19.2.6",
91
- "react-router-dom": "^7.15.0",
91
+ "react-router-dom": "^7.15.1",
92
92
  "recharts": "~3.8.1",
93
93
  "spark-md5": "~3.0.2",
94
- "storybook": "^10.3.6",
95
- "typescript": "^5.9.3",
96
- "vite": "^8.0.10",
94
+ "storybook": "^10.4.0",
95
+ "typescript": "^6.0.3",
96
+ "vite": "^8.0.13",
97
97
  "wasm-feature-detect": "~1.8.0",
98
98
  "zod": "^4.4.3"
99
99
  },
100
100
  "peerDependencies": {
101
101
  "@bitauth/libauth": "~3.0",
102
- "@mui/icons-material": "^7.3",
103
- "@mui/material": "^7.3",
102
+ "@mui/icons-material": "^9.0",
103
+ "@mui/material": "^9.0",
104
104
  "@opentelemetry/api": "^1.9",
105
105
  "@opentelemetry/sdk-trace-base": "^2.7",
106
106
  "@react-spring/web": "~10.0",
107
107
  "@scure/base": "~2.2",
108
108
  "@xylabs/pixel": "~5.1",
109
- "@xylabs/react-button": "~7.2",
110
- "@xylabs/react-flexbox": "~7.2",
111
- "@xylabs/react-hooks": "~7.2",
112
- "@xylabs/react-link": "~7.2",
113
- "@xylabs/react-promise": "~7.2",
114
- "@xylabs/react-shared": "~7.2",
115
- "@xylabs/react-theme": "~7.2",
109
+ "@xylabs/react-button": "~8.0",
110
+ "@xylabs/react-flexbox": "~8.0",
111
+ "@xylabs/react-hooks": "~8.0",
112
+ "@xylabs/react-link": "~8.0",
113
+ "@xylabs/react-promise": "~8.0",
114
+ "@xylabs/react-shared": "~8.0",
115
+ "@xylabs/react-theme": "~8.0",
116
116
  "@xylabs/sdk-js": "^5.1",
117
117
  "@xylabs/threads": "~5.1",
118
118
  "@xyo-network/boundwitness-model": "^5.6",
@@ -129,7 +129,7 @@
129
129
  "fast-deep-equal": "~3.1",
130
130
  "hash-wasm": "~4.12",
131
131
  "js-cookie": "~3.0",
132
- "mixpanel-browser": "~2.78",
132
+ "mixpanel-browser": "~2.79",
133
133
  "observable-fns": "~0.6",
134
134
  "pako": "^2.1",
135
135
  "query-string": "~9.3",