@xyo-network/react-payload-details 2.64.0-rc.7 → 2.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/browser/components/Details/DataDetails.cjs +106 -0
  2. package/dist/browser/components/Details/DataDetails.cjs.map +1 -0
  3. package/dist/browser/components/Details/DataDetails.d.cts +11 -0
  4. package/dist/browser/components/Details/DataDetails.d.cts.map +1 -0
  5. package/dist/browser/components/Details/Details.cjs +196 -0
  6. package/dist/browser/components/Details/Details.cjs.map +1 -0
  7. package/dist/browser/components/Details/Details.d.cts +20 -0
  8. package/dist/browser/components/Details/Details.d.cts.map +1 -0
  9. package/dist/browser/components/Details/HashSourceDetails.cjs +47 -0
  10. package/dist/{node/components/Details/HashSourceDetails.mjs.map → browser/components/Details/HashSourceDetails.cjs.map} +1 -1
  11. package/dist/browser/components/Details/HashSourceDetails.d.cts +9 -0
  12. package/dist/browser/components/Details/HashSourceDetails.d.cts.map +1 -0
  13. package/dist/browser/components/Details/JsonDetails.cjs +66 -0
  14. package/dist/{node/components/Details/JsonDetails.mjs.map → browser/components/Details/JsonDetails.cjs.map} +1 -1
  15. package/dist/browser/components/Details/JsonDetails.d.cts +10 -0
  16. package/dist/browser/components/Details/JsonDetails.d.cts.map +1 -0
  17. package/dist/browser/components/Details/ValidationDetails/ValidationDetails.cjs +57 -0
  18. package/dist/{node/components/Details/ValidationDetails/ValidationDetails.mjs.map → browser/components/Details/ValidationDetails/ValidationDetails.cjs.map} +1 -1
  19. package/dist/browser/components/Details/ValidationDetails/ValidationDetails.d.cts +4 -0
  20. package/dist/browser/components/Details/ValidationDetails/ValidationDetails.d.cts.map +1 -0
  21. package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.cjs +19 -0
  22. package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.cjs.map +1 -0
  23. package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.d.cts +7 -0
  24. package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.d.cts.map +1 -0
  25. package/dist/browser/components/Details/ValidationDetails/index.cjs +59 -0
  26. package/dist/browser/components/Details/ValidationDetails/index.cjs.map +1 -0
  27. package/dist/browser/components/Details/ValidationDetails/index.d.cts +3 -0
  28. package/dist/browser/components/Details/ValidationDetails/index.d.cts.map +1 -0
  29. package/dist/browser/components/Details/index.cjs +201 -0
  30. package/dist/browser/components/Details/index.cjs.map +1 -0
  31. package/dist/browser/components/Details/index.d.cts +5 -0
  32. package/dist/browser/components/Details/index.d.cts.map +1 -0
  33. package/dist/browser/components/index.cjs +201 -0
  34. package/dist/browser/components/index.cjs.map +1 -0
  35. package/dist/browser/components/index.d.cts +2 -0
  36. package/dist/browser/components/index.d.cts.map +1 -0
  37. package/dist/browser/index.cjs +201 -0
  38. package/dist/browser/index.cjs.map +1 -0
  39. package/dist/browser/index.d.cts +2 -0
  40. package/dist/browser/index.d.cts.map +1 -0
  41. package/dist/docs.json +1333 -0
  42. package/dist/node/components/Details/DataDetails.cjs +110 -0
  43. package/dist/node/components/Details/DataDetails.cjs.map +1 -0
  44. package/dist/node/components/Details/DataDetails.d.cts +11 -0
  45. package/dist/node/components/Details/DataDetails.d.cts.map +1 -0
  46. package/dist/node/components/Details/DataDetails.js +50 -49
  47. package/dist/node/components/Details/DataDetails.js.map +1 -1
  48. package/dist/node/components/Details/Details.cjs +200 -0
  49. package/dist/node/components/Details/Details.cjs.map +1 -0
  50. package/dist/node/components/Details/Details.d.cts +20 -0
  51. package/dist/node/components/Details/Details.d.cts.map +1 -0
  52. package/dist/node/components/Details/Details.js +157 -34
  53. package/dist/node/components/Details/Details.js.map +1 -1
  54. package/dist/node/components/Details/HashSourceDetails.cjs +51 -0
  55. package/dist/node/components/Details/HashSourceDetails.cjs.map +1 -0
  56. package/dist/node/components/Details/HashSourceDetails.d.cts +9 -0
  57. package/dist/node/components/Details/HashSourceDetails.d.cts.map +1 -0
  58. package/dist/node/components/Details/HashSourceDetails.js +20 -43
  59. package/dist/node/components/Details/HashSourceDetails.js.map +1 -1
  60. package/dist/node/components/Details/JsonDetails.cjs +70 -0
  61. package/dist/node/components/Details/JsonDetails.cjs.map +1 -0
  62. package/dist/node/components/Details/JsonDetails.d.cts +10 -0
  63. package/dist/node/components/Details/JsonDetails.d.cts.map +1 -0
  64. package/dist/node/components/Details/JsonDetails.js +13 -46
  65. package/dist/node/components/Details/JsonDetails.js.map +1 -1
  66. package/dist/node/components/Details/ValidationDetails/ValidationDetails.cjs +61 -0
  67. package/dist/node/components/Details/ValidationDetails/ValidationDetails.cjs.map +1 -0
  68. package/dist/node/components/Details/ValidationDetails/ValidationDetails.d.cts +4 -0
  69. package/dist/node/components/Details/ValidationDetails/ValidationDetails.d.cts.map +1 -0
  70. package/dist/node/components/Details/ValidationDetails/ValidationDetails.js +19 -42
  71. package/dist/node/components/Details/ValidationDetails/ValidationDetails.js.map +1 -1
  72. package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.cjs +19 -0
  73. package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.cjs.map +1 -0
  74. package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.d.cts +7 -0
  75. package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.d.cts.map +1 -0
  76. package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.js +0 -16
  77. package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.js.map +1 -1
  78. package/dist/node/components/Details/ValidationDetails/index.cjs +63 -0
  79. package/dist/node/components/Details/ValidationDetails/index.cjs.map +1 -0
  80. package/dist/node/components/Details/ValidationDetails/index.d.cts +3 -0
  81. package/dist/node/components/Details/ValidationDetails/index.d.cts.map +1 -0
  82. package/dist/node/components/Details/ValidationDetails/index.js +33 -22
  83. package/dist/node/components/Details/ValidationDetails/index.js.map +1 -1
  84. package/dist/node/components/Details/index.cjs +208 -0
  85. package/dist/node/components/Details/index.cjs.map +1 -0
  86. package/dist/node/components/Details/index.d.cts +5 -0
  87. package/dist/node/components/Details/index.d.cts.map +1 -0
  88. package/dist/node/components/Details/index.js +164 -25
  89. package/dist/node/components/Details/index.js.map +1 -1
  90. package/dist/node/components/index.cjs +208 -0
  91. package/dist/node/components/index.cjs.map +1 -0
  92. package/dist/node/components/index.d.cts +2 -0
  93. package/dist/node/components/index.d.cts.map +1 -0
  94. package/dist/node/components/index.js +164 -19
  95. package/dist/node/components/index.js.map +1 -1
  96. package/dist/node/index.cjs +208 -0
  97. package/dist/node/index.cjs.map +1 -0
  98. package/dist/node/index.d.cts +2 -0
  99. package/dist/node/index.d.cts.map +1 -0
  100. package/dist/node/index.js +164 -19
  101. package/dist/node/index.js.map +1 -1
  102. package/package.json +24 -24
  103. package/dist/browser/components/Details/Details.stories.js +0 -55
  104. package/dist/browser/components/Details/Details.stories.js.map +0 -1
  105. package/dist/browser/components/Details/ValidationDetails/ValidationDetails.stories.js +0 -49
  106. package/dist/browser/components/Details/ValidationDetails/ValidationDetails.stories.js.map +0 -1
  107. package/dist/node/components/Details/DataDetails.mjs +0 -60
  108. package/dist/node/components/Details/DataDetails.mjs.map +0 -1
  109. package/dist/node/components/Details/Details.mjs +0 -18
  110. package/dist/node/components/Details/Details.mjs.map +0 -1
  111. package/dist/node/components/Details/Details.stories.js +0 -86
  112. package/dist/node/components/Details/Details.stories.js.map +0 -1
  113. package/dist/node/components/Details/Details.stories.mjs +0 -55
  114. package/dist/node/components/Details/Details.stories.mjs.map +0 -1
  115. package/dist/node/components/Details/HashSourceDetails.mjs +0 -25
  116. package/dist/node/components/Details/JsonDetails.mjs +0 -34
  117. package/dist/node/components/Details/ValidationDetails/ValidationDetails.mjs +0 -35
  118. package/dist/node/components/Details/ValidationDetails/ValidationDetails.stories.js +0 -75
  119. package/dist/node/components/Details/ValidationDetails/ValidationDetails.stories.js.map +0 -1
  120. package/dist/node/components/Details/ValidationDetails/ValidationDetails.stories.mjs +0 -49
  121. package/dist/node/components/Details/ValidationDetails/ValidationDetails.stories.mjs.map +0 -1
  122. package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.mjs +0 -1
  123. package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.mjs.map +0 -1
  124. package/dist/node/components/Details/ValidationDetails/index.mjs +0 -3
  125. package/dist/node/components/Details/ValidationDetails/index.mjs.map +0 -1
  126. package/dist/node/components/Details/index.mjs +0 -5
  127. package/dist/node/components/Details/index.mjs.map +0 -1
  128. package/dist/node/components/index.mjs +0 -2
  129. package/dist/node/components/index.mjs.map +0 -1
  130. package/dist/node/index.mjs +0 -2
  131. package/dist/node/index.mjs.map +0 -1
@@ -1,42 +1,165 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
1
+ // src/components/Details/Details.tsx
2
+ import { FlexCol as FlexCol3 } from "@xylabs/react-flexbox";
3
+ import { forwardRef } from "react";
4
+
5
+ // src/components/Details/DataDetails.tsx
6
+ import { ContentCopy as ContentCopyIcon2, Visibility as VisibilityIcon } from "@mui/icons-material";
7
+ import { Dialog, DialogActions, DialogContent, DialogTitle } from "@mui/material";
8
+ import { ButtonEx } from "@xylabs/react-button";
9
+ import { PayloadHasher as PayloadHasher2 } from "@xyo-network/hash";
10
+ import { Property } from "@xyo-network/react-property";
11
+ import { usePayloadHash } from "@xyo-network/react-shared";
12
+ import { useState } from "react";
13
+
14
+ // src/components/Details/HashSourceDetails.tsx
15
+ import { ContentCopy as ContentCopyIcon } from "@mui/icons-material";
16
+ import { IconButton, Typography, useTheme } from "@mui/material";
17
+ import { FlexCol, FlexGrowRow, FlexRow } from "@xylabs/react-flexbox";
18
+ import { QuickTipButton } from "@xylabs/react-quick-tip-button";
19
+ import { PayloadHasher } from "@xyo-network/hash";
20
+ import { jsx, jsxs } from "react/jsx-runtime";
21
+ var PayloadHashSourceDetails = ({ noTitle = false, payload, ...props }) => {
22
+ const theme = useTheme();
23
+ const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : "";
24
+ return /* @__PURE__ */ jsxs(FlexCol, { alignItems: "stretch", ...props, children: [
25
+ noTitle ? null : /* @__PURE__ */ jsxs(FlexRow, { margin: 1, justifyContent: "flex-start", children: [
26
+ /* @__PURE__ */ jsx(Typography, { children: "Hash Source" }),
27
+ /* @__PURE__ */ jsx(QuickTipButton, { title: "Hash Source", children: "The actual string used to generate the hash (SHA256)" })
28
+ ] }),
29
+ /* @__PURE__ */ jsxs(FlexRow, { children: [
30
+ /* @__PURE__ */ jsx(FlexGrowRow, { background: true, border: 1, borderColor: theme.palette.divider, justifyContent: "start", children: /* @__PURE__ */ jsx(Typography, { padding: 2, fontFamily: "monospace", variant: "body1", sx: { overflowWrap: "break-word", wordBreak: "break-all" }, children: payloadString }) }),
31
+ /* @__PURE__ */ jsx(IconButton, { children: /* @__PURE__ */ jsx(ContentCopyIcon, {}) })
32
+ ] }),
33
+ noTitle ? /* @__PURE__ */ jsx(FlexRow, { margin: 1, justifyContent: "flex-start", children: /* @__PURE__ */ jsx(Typography, { variant: "body2", children: "The actual string used to generate the hash (SHA256). This can be used to validate the hash manually." }) }) : null
34
+ ] });
9
35
  };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
36
+
37
+ // src/components/Details/DataDetails.tsx
38
+ import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
39
+ var PayloadDataDetails = ({ size, badge, payload, ...props }) => {
40
+ const payloadString = payload ? JSON.stringify(PayloadHasher2.hashFields(payload), null, 2) : "";
41
+ const [viewSourceOpen, setViewSourceOpen] = useState(false);
42
+ const hash = usePayloadHash(payload);
43
+ let elevation = 2;
44
+ if (props.paper) {
45
+ elevation += props.elevation ?? 0;
15
46
  }
16
- return to;
47
+ const actions = [
48
+ {
49
+ icon: /* @__PURE__ */ jsx2(VisibilityIcon, {}),
50
+ name: "View",
51
+ onClick: () => setViewSourceOpen(true)
52
+ },
53
+ {
54
+ icon: /* @__PURE__ */ jsx2(ContentCopyIcon2, {}),
55
+ name: "Copy",
56
+ onClick: async () => await navigator.clipboard.writeText(hash ?? "")
57
+ }
58
+ ];
59
+ const onCopy = async () => {
60
+ await navigator.clipboard.writeText(payloadString);
61
+ };
62
+ return /* @__PURE__ */ jsxs2(Fragment, { children: [
63
+ /* @__PURE__ */ jsx2(
64
+ Property,
65
+ {
66
+ titleProps: { elevation },
67
+ badge,
68
+ size,
69
+ actions,
70
+ title: "Payload Hash",
71
+ value: hash ?? "<Unknown>",
72
+ tip: "This is the payload hash",
73
+ ...props
74
+ }
75
+ ),
76
+ /* @__PURE__ */ jsxs2(Dialog, { open: viewSourceOpen, onClose: () => setViewSourceOpen(false), children: [
77
+ /* @__PURE__ */ jsx2(DialogTitle, { children: "Hash Source" }),
78
+ /* @__PURE__ */ jsx2(DialogContent, { children: /* @__PURE__ */ jsx2(PayloadHashSourceDetails, { noTitle: true, payload }) }),
79
+ /* @__PURE__ */ jsxs2(DialogActions, { children: [
80
+ /* @__PURE__ */ jsx2(ButtonEx, { color: "secondary", onClick: onCopy, children: "Copy" }),
81
+ /* @__PURE__ */ jsx2(ButtonEx, { color: "secondary", onClick: () => setViewSourceOpen(false), children: "Close" })
82
+ ] })
83
+ ] })
84
+ ] });
17
85
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Details_exports = {};
20
- __export(Details_exports, {
21
- PayloadDetails: () => PayloadDetails
22
- });
23
- module.exports = __toCommonJS(Details_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_react_flexbox = require("@xylabs/react-flexbox");
26
- var import_react = require("react");
27
- var import_DataDetails = require("./DataDetails");
28
- var import_JsonDetails = require("./JsonDetails");
29
- var import_ValidationDetails = require("./ValidationDetails");
30
- const PayloadDetails = (0, import_react.forwardRef)(({ paper, payload, ...props }, ref) => {
31
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexCol, { gap: 1, justifyContent: "flex-start", alignItems: "stretch", marginTop: 2, marginBottom: 8, ref, ...props, children: [
32
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataDetails.PayloadDataDetails, { paper, size: "large", badge: true, payload }),
33
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ValidationDetails.PayloadValidationDetails, { paper, value: payload }),
34
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_JsonDetails.PayloadJsonDetails, { paper, payload })
86
+
87
+ // src/components/Details/JsonDetails.tsx
88
+ import { Paper, useMediaQuery, useTheme as useTheme2 } from "@mui/material";
89
+ import { FlexGrowRow as FlexGrowRow2 } from "@xylabs/react-flexbox";
90
+ import { PropertyGroup } from "@xyo-network/react-property";
91
+ import { lazy, Suspense } from "react";
92
+ import { jsx as jsx3 } from "react/jsx-runtime";
93
+ var JsonView = lazy(() => import(
94
+ /* webpackChunkName: "jsonView" */
95
+ "react-json-view"
96
+ ));
97
+ var PayloadJsonDetails = ({ jsonViewProps, payload = {}, ...props }) => {
98
+ const { breakpoints, palette } = useTheme2();
99
+ const belowSm = useMediaQuery(breakpoints.down("sm"));
100
+ let elevation = 2;
101
+ if (props.paper) {
102
+ elevation += props.elevation ?? 0;
103
+ }
104
+ const jsonTheme = palette.mode === "dark" ? "shapeshifter" : void 0;
105
+ return /* @__PURE__ */ jsx3(PropertyGroup, { titleProps: { elevation }, title: "JSON", tip: "The raw JSON of the payload", ...props, children: /* @__PURE__ */ jsx3(Paper, { square: true, variant: "elevation", style: { overflow: "hidden", padding: "16px", width: "100%" }, children: /* @__PURE__ */ jsx3(Suspense, { fallback: /* @__PURE__ */ jsx3(FlexGrowRow2, {}), children: /* @__PURE__ */ jsx3(
106
+ JsonView,
107
+ {
108
+ groupArraysAfterLength: 20,
109
+ style: { backgroundColor: void 0, overflow: "hidden" },
110
+ src: payload,
111
+ enableClipboard: true,
112
+ theme: jsonTheme,
113
+ collapseStringsAfterLength: belowSm ? 24 : 32,
114
+ ...jsonViewProps
115
+ }
116
+ ) }) }) });
117
+ };
118
+
119
+ // src/components/Details/ValidationDetails/ValidationDetails.tsx
120
+ import { Typography as Typography2 } from "@mui/material";
121
+ import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
122
+ import { usePromise } from "@xylabs/react-promise";
123
+ import { PayloadValidator } from "@xyo-network/payload-validator";
124
+ import { Property as Property2, PropertyGroup as PropertyGroup2 } from "@xyo-network/react-property";
125
+ import { SchemaProperty } from "@xyo-network/react-schema";
126
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
127
+ var PayloadValidationDetails = ({ skipBody = false, value, ...props }) => {
128
+ const [validateErrors] = usePromise(async () => value ? await new PayloadValidator(value).validate() : void 0, [value]);
129
+ const bodyErrors = skipBody ? [] : validateErrors ?? [];
130
+ const errors = [...bodyErrors];
131
+ let elevation = 2;
132
+ if (props.paper) {
133
+ elevation += props.elevation ?? 0;
134
+ }
135
+ return /* @__PURE__ */ jsxs3(PropertyGroup2, { titleProps: { elevation }, title: "Validation", tip: "The results from validating the payload", ...props, children: [
136
+ /* @__PURE__ */ jsx4(
137
+ Property2,
138
+ {
139
+ titleProps: { elevation },
140
+ flexGrow: 1,
141
+ title: "Valid",
142
+ value: errors.length === 0 ? "True" : "False",
143
+ tip: errors.length > 0 ? /* @__PURE__ */ jsx4(FlexCol2, { children: errors.map((error, index) => {
144
+ return /* @__PURE__ */ jsx4(Typography2, { children: error.toString() }, index);
145
+ }) }) : /* @__PURE__ */ jsx4(Typography2, { children: "No Errors" })
146
+ }
147
+ ),
148
+ (value == null ? void 0 : value.schema) && /* @__PURE__ */ jsx4(SchemaProperty, { flexGrow: 1, titleProps: { elevation }, value: value.schema })
149
+ ] });
150
+ };
151
+
152
+ // src/components/Details/Details.tsx
153
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
154
+ var PayloadDetails = forwardRef(({ paper, payload, ...props }, ref) => {
155
+ return /* @__PURE__ */ jsxs4(FlexCol3, { gap: 1, justifyContent: "flex-start", alignItems: "stretch", marginTop: 2, marginBottom: 8, ref, ...props, children: [
156
+ /* @__PURE__ */ jsx5(PayloadDataDetails, { paper, size: "large", badge: true, payload }),
157
+ /* @__PURE__ */ jsx5(PayloadValidationDetails, { paper, value: payload }),
158
+ /* @__PURE__ */ jsx5(PayloadJsonDetails, { paper, payload })
35
159
  ] });
36
160
  });
37
161
  PayloadDetails.displayName = "PayloadDetails";
38
- // Annotate the CommonJS export names for ESM import in node:
39
- 0 && (module.exports = {
162
+ export {
40
163
  PayloadDetails
41
- });
164
+ };
42
165
  //# sourceMappingURL=Details.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Details/Details.tsx"],"sourcesContent":["import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { forwardRef } from 'react'\n\nimport { PayloadDataDetails } from './DataDetails'\nimport { PayloadJsonDetails } from './JsonDetails'\nimport { PayloadValidationDetails } from './ValidationDetails'\n\nexport type WithPaper<T> = T & { paper: true }\nexport type WithoutPaper<T> = T & { paper?: false }\n\nexport type PayloadDetailsProps = FlexBoxProps & {\n paper?: boolean\n payload?: Payload\n}\n\nexport const PayloadDetails = forwardRef<HTMLDivElement, PayloadDetailsProps>(({ paper, payload, ...props }, ref) => {\n return (\n <FlexCol gap={1} justifyContent=\"flex-start\" alignItems=\"stretch\" marginTop={2} marginBottom={8} ref={ref} {...props}>\n <PayloadDataDetails paper={paper} size=\"large\" badge payload={payload} />\n <PayloadValidationDetails paper={paper} value={payload} />\n <PayloadJsonDetails paper={paper} payload={payload} />\n </FlexCol>\n )\n})\n\nPayloadDetails.displayName = 'PayloadDetails'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBI;AAlBJ,2BAAsC;AAEtC,mBAA2B;AAE3B,yBAAmC;AACnC,yBAAmC;AACnC,+BAAyC;AAUlC,MAAM,qBAAiB,yBAAgD,CAAC,EAAE,OAAO,SAAS,GAAG,MAAM,GAAG,QAAQ;AACnH,SACE,6CAAC,gCAAQ,KAAK,GAAG,gBAAe,cAAa,YAAW,WAAU,WAAW,GAAG,cAAc,GAAG,KAAW,GAAG,OAC7G;AAAA,gDAAC,yCAAmB,OAAc,MAAK,SAAQ,OAAK,MAAC,SAAkB;AAAA,IACvE,4CAAC,qDAAyB,OAAc,OAAO,SAAS;AAAA,IACxD,4CAAC,yCAAmB,OAAc,SAAkB;AAAA,KACtD;AAEJ,CAAC;AAED,eAAe,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/Details/Details.tsx","../../../../src/components/Details/DataDetails.tsx","../../../../src/components/Details/HashSourceDetails.tsx","../../../../src/components/Details/JsonDetails.tsx","../../../../src/components/Details/ValidationDetails/ValidationDetails.tsx"],"sourcesContent":["import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { forwardRef } from 'react'\n\nimport { PayloadDataDetails } from './DataDetails'\nimport { PayloadJsonDetails } from './JsonDetails'\nimport { PayloadValidationDetails } from './ValidationDetails'\n\nexport type WithPaper<T> = T & { paper: true }\nexport type WithoutPaper<T> = T & { paper?: false }\n\nexport type PayloadDetailsProps = FlexBoxProps & {\n paper?: boolean\n payload?: Payload\n}\n\nexport const PayloadDetails = forwardRef<HTMLDivElement, PayloadDetailsProps>(({ paper, payload, ...props }, ref) => {\n return (\n <FlexCol gap={1} justifyContent=\"flex-start\" alignItems=\"stretch\" marginTop={2} marginBottom={8} ref={ref} {...props}>\n <PayloadDataDetails paper={paper} size=\"large\" badge payload={payload} />\n <PayloadValidationDetails paper={paper} value={payload} />\n <PayloadJsonDetails paper={paper} payload={payload} />\n </FlexCol>\n )\n})\n\nPayloadDetails.displayName = 'PayloadDetails'\n","import { ContentCopy as ContentCopyIcon, Visibility as VisibilityIcon } from '@mui/icons-material'\nimport { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Property, PropertyAction, PropertyProps } from '@xyo-network/react-property'\nimport { SizeProp, usePayloadHash } from '@xyo-network/react-shared'\nimport { useState } from 'react'\n\nimport { PayloadHashSourceDetails } from './HashSourceDetails'\n\nexport type PayloadDataDetailsProps = PropertyProps & {\n badge?: boolean\n payload?: Payload\n size?: SizeProp\n}\n\nexport const PayloadDataDetails: React.FC<PayloadDataDetailsProps> = ({ size, badge, payload, ...props }) => {\n const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : ''\n\n const [viewSourceOpen, setViewSourceOpen] = useState(false)\n const hash = usePayloadHash(payload)\n\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n\n const actions: PropertyAction[] = [\n {\n icon: <VisibilityIcon />,\n name: 'View',\n onClick: () => setViewSourceOpen(true),\n },\n {\n icon: <ContentCopyIcon />,\n name: 'Copy',\n onClick: async () => await navigator.clipboard.writeText(hash ?? ''),\n },\n ]\n\n const onCopy = async () => {\n await navigator.clipboard.writeText(payloadString)\n }\n\n return (\n <>\n <Property\n titleProps={{ elevation }}\n badge={badge}\n size={size}\n actions={actions}\n title=\"Payload Hash\"\n value={hash ?? '<Unknown>'}\n tip=\"This is the payload hash\"\n {...props}\n />\n <Dialog open={viewSourceOpen} onClose={() => setViewSourceOpen(false)}>\n <DialogTitle>Hash Source</DialogTitle>\n <DialogContent>\n <PayloadHashSourceDetails noTitle payload={payload} />\n </DialogContent>\n <DialogActions>\n <ButtonEx color=\"secondary\" onClick={onCopy}>\n Copy\n </ButtonEx>\n <ButtonEx color=\"secondary\" onClick={() => setViewSourceOpen(false)}>\n Close\n </ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import { ContentCopy as ContentCopyIcon } from '@mui/icons-material'\nimport { IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadHashSourceDetailsProps extends FlexBoxProps {\n noTitle?: boolean\n payload?: Payload\n}\n\nexport const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> = ({ noTitle = false, payload, ...props }) => {\n const theme = useTheme()\n const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : ''\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noTitle ? null : (\n <FlexRow margin={1} justifyContent=\"flex-start\">\n <Typography>Hash Source</Typography>\n <QuickTipButton title=\"Hash Source\">The actual string used to generate the hash (SHA256)</QuickTipButton>\n </FlexRow>\n )}\n <FlexRow>\n <FlexGrowRow background border={1} borderColor={theme.palette.divider} justifyContent=\"start\">\n <Typography padding={2} fontFamily=\"monospace\" variant=\"body1\" sx={{ overflowWrap: 'break-word', wordBreak: 'break-all' }}>\n {payloadString}\n </Typography>\n </FlexGrowRow>\n <IconButton>\n <ContentCopyIcon />\n </IconButton>\n </FlexRow>\n {noTitle ? (\n <FlexRow margin={1} justifyContent=\"flex-start\">\n <Typography variant=\"body2\">\n The actual string used to generate the hash (SHA256). This can be used to validate the hash manually.\n </Typography>\n </FlexRow>\n ) : null}\n </FlexCol>\n )\n}\n","import { Paper, useMediaQuery, useTheme } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'\nimport { lazy, Suspense } from 'react'\nimport { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport type PayloadJsonDetailsProps = PropertyGroupProps & {\n jsonViewProps?: ReactJsonViewProps\n payload?: Payload\n}\n\nexport const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({ jsonViewProps, payload = {}, ...props }) => {\n const { breakpoints, palette } = useTheme()\n const belowSm = useMediaQuery(breakpoints.down('sm'))\n\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n\n const jsonTheme = palette.mode === 'dark' ? 'shapeshifter' : undefined\n\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"JSON\" tip=\"The raw JSON of the payload\" {...props}>\n <Paper square variant=\"elevation\" style={{ overflow: 'hidden', padding: '16px', width: '100%' }}>\n <Suspense fallback={<FlexGrowRow />}>\n <JsonView\n groupArraysAfterLength={20}\n style={{ backgroundColor: undefined, overflow: 'hidden' }}\n src={payload}\n enableClipboard\n theme={jsonTheme}\n collapseStringsAfterLength={belowSm ? 24 : 32}\n {...jsonViewProps}\n />\n </Suspense>\n </Paper>\n </PropertyGroup>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { PayloadValidator } from '@xyo-network/payload-validator'\nimport { Property, PropertyGroup } from '@xyo-network/react-property'\nimport { SchemaProperty } from '@xyo-network/react-schema'\n\nimport { PayloadValidationDetailsProps } from './ValidationDetailsProps'\n\nexport const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps> = ({ skipBody = false, value, ...props }) => {\n const [validateErrors] = usePromise(async () => (value ? await new PayloadValidator(value).validate() : undefined), [value])\n\n const bodyErrors = skipBody ? [] : validateErrors ?? []\n const errors: Error[] = [...bodyErrors]\n\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"Validation\" tip=\"The results from validating the payload\" {...props}>\n <Property\n titleProps={{ elevation }}\n flexGrow={1}\n title=\"Valid\"\n value={errors.length === 0 ? 'True' : 'False'}\n tip={\n errors.length > 0 ? (\n <FlexCol>\n {errors.map((error, index) => {\n return <Typography key={index}>{error.toString()}</Typography>\n })}\n </FlexCol>\n ) : (\n <Typography>No Errors</Typography>\n )\n }\n />\n {value?.schema && <SchemaProperty flexGrow={1} titleProps={{ elevation }} value={value.schema} />}\n </PropertyGroup>\n )\n}\n"],"mappings":"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","names":["FlexCol","ContentCopyIcon","PayloadHasher","jsx","jsxs","PayloadHasher","ContentCopyIcon","useTheme","FlexGrowRow","jsx","Typography","FlexCol","Property","PropertyGroup","jsx","jsxs","jsx","jsxs","FlexCol"]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/Details/HashSourceDetails.tsx
21
+ var HashSourceDetails_exports = {};
22
+ __export(HashSourceDetails_exports, {
23
+ PayloadHashSourceDetails: () => PayloadHashSourceDetails
24
+ });
25
+ module.exports = __toCommonJS(HashSourceDetails_exports);
26
+ var import_icons_material = require("@mui/icons-material");
27
+ var import_material = require("@mui/material");
28
+ var import_react_flexbox = require("@xylabs/react-flexbox");
29
+ var import_react_quick_tip_button = require("@xylabs/react-quick-tip-button");
30
+ var import_hash = require("@xyo-network/hash");
31
+ var import_jsx_runtime = require("react/jsx-runtime");
32
+ var PayloadHashSourceDetails = ({ noTitle = false, payload, ...props }) => {
33
+ const theme = (0, import_material.useTheme)();
34
+ const payloadString = payload ? JSON.stringify(import_hash.PayloadHasher.hashFields(payload), null, 2) : "";
35
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexCol, { alignItems: "stretch", ...props, children: [
36
+ noTitle ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { margin: 1, justifyContent: "flex-start", children: [
37
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { children: "Hash Source" }),
38
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_quick_tip_button.QuickTipButton, { title: "Hash Source", children: "The actual string used to generate the hash (SHA256)" })
39
+ ] }),
40
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { children: [
41
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexGrowRow, { background: true, border: 1, borderColor: theme.palette.divider, justifyContent: "start", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { padding: 2, fontFamily: "monospace", variant: "body1", sx: { overflowWrap: "break-word", wordBreak: "break-all" }, children: payloadString }) }),
42
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.ContentCopy, {}) })
43
+ ] }),
44
+ noTitle ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexRow, { margin: 1, justifyContent: "flex-start", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "body2", children: "The actual string used to generate the hash (SHA256). This can be used to validate the hash manually." }) }) : null
45
+ ] });
46
+ };
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ PayloadHashSourceDetails
50
+ });
51
+ //# sourceMappingURL=HashSourceDetails.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Details/HashSourceDetails.tsx"],"sourcesContent":["import { ContentCopy as ContentCopyIcon } from '@mui/icons-material'\nimport { IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadHashSourceDetailsProps extends FlexBoxProps {\n noTitle?: boolean\n payload?: Payload\n}\n\nexport const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> = ({ noTitle = false, payload, ...props }) => {\n const theme = useTheme()\n const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : ''\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noTitle ? null : (\n <FlexRow margin={1} justifyContent=\"flex-start\">\n <Typography>Hash Source</Typography>\n <QuickTipButton title=\"Hash Source\">The actual string used to generate the hash (SHA256)</QuickTipButton>\n </FlexRow>\n )}\n <FlexRow>\n <FlexGrowRow background border={1} borderColor={theme.palette.divider} justifyContent=\"start\">\n <Typography padding={2} fontFamily=\"monospace\" variant=\"body1\" sx={{ overflowWrap: 'break-word', wordBreak: 'break-all' }}>\n {payloadString}\n </Typography>\n </FlexGrowRow>\n <IconButton>\n <ContentCopyIcon />\n </IconButton>\n </FlexRow>\n {noTitle ? (\n <FlexRow margin={1} justifyContent=\"flex-start\">\n <Typography variant=\"body2\">\n The actual string used to generate the hash (SHA256). This can be used to validate the hash manually.\n </Typography>\n </FlexRow>\n ) : null}\n </FlexCol>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA+C;AAC/C,sBAAiD;AACjD,2BAA4D;AAC5D,oCAA+B;AAC/B,kBAA8B;AAetB;AAPD,IAAM,2BAAoE,CAAC,EAAE,UAAU,OAAO,SAAS,GAAG,MAAM,MAAM;AAC3H,QAAM,YAAQ,0BAAS;AACvB,QAAM,gBAAgB,UAAU,KAAK,UAAU,0BAAc,WAAW,OAAO,GAAG,MAAM,CAAC,IAAI;AAE7F,SACE,6CAAC,gCAAQ,YAAW,WAAW,GAAG,OAC/B;AAAA,cAAU,OACT,6CAAC,gCAAQ,QAAQ,GAAG,gBAAe,cACjC;AAAA,kDAAC,8BAAW,yBAAW;AAAA,MACvB,4CAAC,gDAAe,OAAM,eAAc,kEAAoD;AAAA,OAC1F;AAAA,IAEF,6CAAC,gCACC;AAAA,kDAAC,oCAAY,YAAU,MAAC,QAAQ,GAAG,aAAa,MAAM,QAAQ,SAAS,gBAAe,SACpF,sDAAC,8BAAW,SAAS,GAAG,YAAW,aAAY,SAAQ,SAAQ,IAAI,EAAE,cAAc,cAAc,WAAW,YAAY,GACrH,yBACH,GACF;AAAA,MACA,4CAAC,8BACC,sDAAC,sBAAAA,aAAA,EAAgB,GACnB;AAAA,OACF;AAAA,IACC,UACC,4CAAC,gCAAQ,QAAQ,GAAG,gBAAe,cACjC,sDAAC,8BAAW,SAAQ,SAAQ,mHAE5B,GACF,IACE;AAAA,KACN;AAEJ;","names":["ContentCopyIcon"]}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { Payload } from '@xyo-network/payload-model';
4
+ export interface PayloadHashSourceDetailsProps extends FlexBoxProps {
5
+ noTitle?: boolean;
6
+ payload?: Payload;
7
+ }
8
+ export declare const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps>;
9
+ //# sourceMappingURL=HashSourceDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashSourceDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/Details/HashSourceDetails.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAiC,MAAM,uBAAuB,CAAA;AAGnF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,6BAA8B,SAAQ,YAAY;IACjE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CA+B5E,CAAA"}
@@ -1,49 +1,26 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var HashSourceDetails_exports = {};
20
- __export(HashSourceDetails_exports, {
21
- PayloadHashSourceDetails: () => PayloadHashSourceDetails
22
- });
23
- module.exports = __toCommonJS(HashSourceDetails_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_icons_material = require("@mui/icons-material");
26
- var import_material = require("@mui/material");
27
- var import_react_flexbox = require("@xylabs/react-flexbox");
28
- var import_react_quick_tip_button = require("@xylabs/react-quick-tip-button");
29
- var import_hash = require("@xyo-network/hash");
30
- const PayloadHashSourceDetails = ({ noTitle = false, payload, ...props }) => {
31
- const theme = (0, import_material.useTheme)();
32
- const payloadString = payload ? JSON.stringify(import_hash.PayloadHasher.hashFields(payload), null, 2) : "";
33
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexCol, { alignItems: "stretch", ...props, children: [
34
- noTitle ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { margin: 1, justifyContent: "flex-start", children: [
35
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { children: "Hash Source" }),
36
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_quick_tip_button.QuickTipButton, { title: "Hash Source", children: "The actual string used to generate the hash (SHA256)" })
1
+ // src/components/Details/HashSourceDetails.tsx
2
+ import { ContentCopy as ContentCopyIcon } from "@mui/icons-material";
3
+ import { IconButton, Typography, useTheme } from "@mui/material";
4
+ import { FlexCol, FlexGrowRow, FlexRow } from "@xylabs/react-flexbox";
5
+ import { QuickTipButton } from "@xylabs/react-quick-tip-button";
6
+ import { PayloadHasher } from "@xyo-network/hash";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ var PayloadHashSourceDetails = ({ noTitle = false, payload, ...props }) => {
9
+ const theme = useTheme();
10
+ const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : "";
11
+ return /* @__PURE__ */ jsxs(FlexCol, { alignItems: "stretch", ...props, children: [
12
+ noTitle ? null : /* @__PURE__ */ jsxs(FlexRow, { margin: 1, justifyContent: "flex-start", children: [
13
+ /* @__PURE__ */ jsx(Typography, { children: "Hash Source" }),
14
+ /* @__PURE__ */ jsx(QuickTipButton, { title: "Hash Source", children: "The actual string used to generate the hash (SHA256)" })
37
15
  ] }),
38
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { children: [
39
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexGrowRow, { background: true, border: 1, borderColor: theme.palette.divider, justifyContent: "start", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { padding: 2, fontFamily: "monospace", variant: "body1", sx: { overflowWrap: "break-word", wordBreak: "break-all" }, children: payloadString }) }),
40
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.ContentCopy, {}) })
16
+ /* @__PURE__ */ jsxs(FlexRow, { children: [
17
+ /* @__PURE__ */ jsx(FlexGrowRow, { background: true, border: 1, borderColor: theme.palette.divider, justifyContent: "start", children: /* @__PURE__ */ jsx(Typography, { padding: 2, fontFamily: "monospace", variant: "body1", sx: { overflowWrap: "break-word", wordBreak: "break-all" }, children: payloadString }) }),
18
+ /* @__PURE__ */ jsx(IconButton, { children: /* @__PURE__ */ jsx(ContentCopyIcon, {}) })
41
19
  ] }),
42
- noTitle ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexRow, { margin: 1, justifyContent: "flex-start", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "body2", children: "The actual string used to generate the hash (SHA256). This can be used to validate the hash manually." }) }) : null
20
+ noTitle ? /* @__PURE__ */ jsx(FlexRow, { margin: 1, justifyContent: "flex-start", children: /* @__PURE__ */ jsx(Typography, { variant: "body2", children: "The actual string used to generate the hash (SHA256). This can be used to validate the hash manually." }) }) : null
43
21
  ] });
44
22
  };
45
- // Annotate the CommonJS export names for ESM import in node:
46
- 0 && (module.exports = {
23
+ export {
47
24
  PayloadHashSourceDetails
48
- });
25
+ };
49
26
  //# sourceMappingURL=HashSourceDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Details/HashSourceDetails.tsx"],"sourcesContent":["import { ContentCopy as ContentCopyIcon } from '@mui/icons-material'\nimport { IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadHashSourceDetailsProps extends FlexBoxProps {\n noTitle?: boolean\n payload?: Payload\n}\n\nexport const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> = ({ noTitle = false, payload, ...props }) => {\n const theme = useTheme()\n const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : ''\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noTitle ? null : (\n <FlexRow margin={1} justifyContent=\"flex-start\">\n <Typography>Hash Source</Typography>\n <QuickTipButton title=\"Hash Source\">The actual string used to generate the hash (SHA256)</QuickTipButton>\n </FlexRow>\n )}\n <FlexRow>\n <FlexGrowRow background border={1} borderColor={theme.palette.divider} justifyContent=\"start\">\n <Typography padding={2} fontFamily=\"monospace\" variant=\"body1\" sx={{ overflowWrap: 'break-word', wordBreak: 'break-all' }}>\n {payloadString}\n </Typography>\n </FlexGrowRow>\n <IconButton>\n <ContentCopyIcon />\n </IconButton>\n </FlexRow>\n {noTitle ? (\n <FlexRow margin={1} justifyContent=\"flex-start\">\n <Typography variant=\"body2\">\n The actual string used to generate the hash (SHA256). This can be used to validate the hash manually.\n </Typography>\n </FlexRow>\n ) : null}\n </FlexCol>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBQ;AAnBR,4BAA+C;AAC/C,sBAAiD;AACjD,2BAA4D;AAC5D,oCAA+B;AAC/B,kBAA8B;AAQvB,MAAM,2BAAoE,CAAC,EAAE,UAAU,OAAO,SAAS,GAAG,MAAM,MAAM;AAC3H,QAAM,YAAQ,0BAAS;AACvB,QAAM,gBAAgB,UAAU,KAAK,UAAU,0BAAc,WAAW,OAAO,GAAG,MAAM,CAAC,IAAI;AAE7F,SACE,6CAAC,gCAAQ,YAAW,WAAW,GAAG,OAC/B;AAAA,cAAU,OACT,6CAAC,gCAAQ,QAAQ,GAAG,gBAAe,cACjC;AAAA,kDAAC,8BAAW,yBAAW;AAAA,MACvB,4CAAC,gDAAe,OAAM,eAAc,kEAAoD;AAAA,OAC1F;AAAA,IAEF,6CAAC,gCACC;AAAA,kDAAC,oCAAY,YAAU,MAAC,QAAQ,GAAG,aAAa,MAAM,QAAQ,SAAS,gBAAe,SACpF,sDAAC,8BAAW,SAAS,GAAG,YAAW,aAAY,SAAQ,SAAQ,IAAI,EAAE,cAAc,cAAc,WAAW,YAAY,GACrH,yBACH,GACF;AAAA,MACA,4CAAC,8BACC,sDAAC,sBAAAA,aAAA,EAAgB,GACnB;AAAA,OACF;AAAA,IACC,UACC,4CAAC,gCAAQ,QAAQ,GAAG,gBAAe,cACjC,sDAAC,8BAAW,SAAQ,SAAQ,mHAE5B,GACF,IACE;AAAA,KACN;AAEJ;","names":["ContentCopyIcon"]}
1
+ {"version":3,"sources":["../../../../src/components/Details/HashSourceDetails.tsx"],"sourcesContent":["import { ContentCopy as ContentCopyIcon } from '@mui/icons-material'\nimport { IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadHashSourceDetailsProps extends FlexBoxProps {\n noTitle?: boolean\n payload?: Payload\n}\n\nexport const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> = ({ noTitle = false, payload, ...props }) => {\n const theme = useTheme()\n const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : ''\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noTitle ? null : (\n <FlexRow margin={1} justifyContent=\"flex-start\">\n <Typography>Hash Source</Typography>\n <QuickTipButton title=\"Hash Source\">The actual string used to generate the hash (SHA256)</QuickTipButton>\n </FlexRow>\n )}\n <FlexRow>\n <FlexGrowRow background border={1} borderColor={theme.palette.divider} justifyContent=\"start\">\n <Typography padding={2} fontFamily=\"monospace\" variant=\"body1\" sx={{ overflowWrap: 'break-word', wordBreak: 'break-all' }}>\n {payloadString}\n </Typography>\n </FlexGrowRow>\n <IconButton>\n <ContentCopyIcon />\n </IconButton>\n </FlexRow>\n {noTitle ? (\n <FlexRow margin={1} justifyContent=\"flex-start\">\n <Typography variant=\"body2\">\n The actual string used to generate the hash (SHA256). This can be used to validate the hash manually.\n </Typography>\n </FlexRow>\n ) : null}\n </FlexCol>\n )\n}\n"],"mappings":";AAAA,SAAS,eAAe,uBAAuB;AAC/C,SAAS,YAAY,YAAY,gBAAgB;AACjD,SAAuB,SAAS,aAAa,eAAe;AAC5D,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAetB,SACE,KADF;AAPD,IAAM,2BAAoE,CAAC,EAAE,UAAU,OAAO,SAAS,GAAG,MAAM,MAAM;AAC3H,QAAM,QAAQ,SAAS;AACvB,QAAM,gBAAgB,UAAU,KAAK,UAAU,cAAc,WAAW,OAAO,GAAG,MAAM,CAAC,IAAI;AAE7F,SACE,qBAAC,WAAQ,YAAW,WAAW,GAAG,OAC/B;AAAA,cAAU,OACT,qBAAC,WAAQ,QAAQ,GAAG,gBAAe,cACjC;AAAA,0BAAC,cAAW,yBAAW;AAAA,MACvB,oBAAC,kBAAe,OAAM,eAAc,kEAAoD;AAAA,OAC1F;AAAA,IAEF,qBAAC,WACC;AAAA,0BAAC,eAAY,YAAU,MAAC,QAAQ,GAAG,aAAa,MAAM,QAAQ,SAAS,gBAAe,SACpF,8BAAC,cAAW,SAAS,GAAG,YAAW,aAAY,SAAQ,SAAQ,IAAI,EAAE,cAAc,cAAc,WAAW,YAAY,GACrH,yBACH,GACF;AAAA,MACA,oBAAC,cACC,8BAAC,mBAAgB,GACnB;AAAA,OACF;AAAA,IACC,UACC,oBAAC,WAAQ,QAAQ,GAAG,gBAAe,cACjC,8BAAC,cAAW,SAAQ,SAAQ,mHAE5B,GACF,IACE;AAAA,KACN;AAEJ;","names":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/components/Details/JsonDetails.tsx
31
+ var JsonDetails_exports = {};
32
+ __export(JsonDetails_exports, {
33
+ PayloadJsonDetails: () => PayloadJsonDetails
34
+ });
35
+ module.exports = __toCommonJS(JsonDetails_exports);
36
+ var import_material = require("@mui/material");
37
+ var import_react_flexbox = require("@xylabs/react-flexbox");
38
+ var import_react_property = require("@xyo-network/react-property");
39
+ var import_react = require("react");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ var JsonView = (0, import_react.lazy)(() => import(
42
+ /* webpackChunkName: "jsonView" */
43
+ "react-json-view"
44
+ ));
45
+ var PayloadJsonDetails = ({ jsonViewProps, payload = {}, ...props }) => {
46
+ const { breakpoints, palette } = (0, import_material.useTheme)();
47
+ const belowSm = (0, import_material.useMediaQuery)(breakpoints.down("sm"));
48
+ let elevation = 2;
49
+ if (props.paper) {
50
+ elevation += props.elevation ?? 0;
51
+ }
52
+ const jsonTheme = palette.mode === "dark" ? "shapeshifter" : void 0;
53
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_property.PropertyGroup, { titleProps: { elevation }, title: "JSON", tip: "The raw JSON of the payload", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Paper, { square: true, variant: "elevation", style: { overflow: "hidden", padding: "16px", width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexGrowRow, {}), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
54
+ JsonView,
55
+ {
56
+ groupArraysAfterLength: 20,
57
+ style: { backgroundColor: void 0, overflow: "hidden" },
58
+ src: payload,
59
+ enableClipboard: true,
60
+ theme: jsonTheme,
61
+ collapseStringsAfterLength: belowSm ? 24 : 32,
62
+ ...jsonViewProps
63
+ }
64
+ ) }) }) });
65
+ };
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ PayloadJsonDetails
69
+ });
70
+ //# sourceMappingURL=JsonDetails.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Details/JsonDetails.tsx"],"sourcesContent":["import { Paper, useMediaQuery, useTheme } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'\nimport { lazy, Suspense } from 'react'\nimport { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport type PayloadJsonDetailsProps = PropertyGroupProps & {\n jsonViewProps?: ReactJsonViewProps\n payload?: Payload\n}\n\nexport const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({ jsonViewProps, payload = {}, ...props }) => {\n const { breakpoints, palette } = useTheme()\n const belowSm = useMediaQuery(breakpoints.down('sm'))\n\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n\n const jsonTheme = palette.mode === 'dark' ? 'shapeshifter' : undefined\n\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"JSON\" tip=\"The raw JSON of the payload\" {...props}>\n <Paper square variant=\"elevation\" style={{ overflow: 'hidden', padding: '16px', width: '100%' }}>\n <Suspense fallback={<FlexGrowRow />}>\n <JsonView\n groupArraysAfterLength={20}\n style={{ backgroundColor: undefined, overflow: 'hidden' }}\n src={payload}\n enableClipboard\n theme={jsonTheme}\n collapseStringsAfterLength={belowSm ? 24 : 32}\n {...jsonViewProps}\n />\n </Suspense>\n </Paper>\n </PropertyGroup>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+C;AAC/C,2BAA4B;AAE5B,4BAAkD;AAClD,mBAA+B;AAwBH;AArB5B,IAAM,eAAW,mBAAK,MAAM;AAAA;AAAA,EAA0C;AAAiB,CAAC;AAOjF,IAAM,qBAAwD,CAAC,EAAE,eAAe,UAAU,CAAC,GAAG,GAAG,MAAM,MAAM;AAClH,QAAM,EAAE,aAAa,QAAQ,QAAI,0BAAS;AAC1C,QAAM,cAAU,+BAAc,YAAY,KAAK,IAAI,CAAC;AAEpD,MAAI,YAAY;AAChB,MAAI,MAAM,OAAO;AACf,iBAAa,MAAM,aAAa;AAAA,EAClC;AAEA,QAAM,YAAY,QAAQ,SAAS,SAAS,iBAAiB;AAE7D,SACE,4CAAC,uCAAc,YAAY,EAAE,UAAU,GAAG,OAAM,QAAO,KAAI,+BAA+B,GAAG,OAC3F,sDAAC,yBAAM,QAAM,MAAC,SAAQ,aAAY,OAAO,EAAE,UAAU,UAAU,SAAS,QAAQ,OAAO,OAAO,GAC5F,sDAAC,yBAAS,UAAU,4CAAC,oCAAY,GAC/B;AAAA,IAAC;AAAA;AAAA,MACC,wBAAwB;AAAA,MACxB,OAAO,EAAE,iBAAiB,QAAW,UAAU,SAAS;AAAA,MACxD,KAAK;AAAA,MACL,iBAAe;AAAA,MACf,OAAO;AAAA,MACP,4BAA4B,UAAU,KAAK;AAAA,MAC1C,GAAG;AAAA;AAAA,EACN,GACF,GACF,GACF;AAEJ;","names":[]}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { PropertyGroupProps } from '@xyo-network/react-property';
4
+ import { ReactJsonViewProps } from 'react-json-view';
5
+ export type PayloadJsonDetailsProps = PropertyGroupProps & {
6
+ jsonViewProps?: ReactJsonViewProps;
7
+ payload?: Payload;
8
+ };
9
+ export declare const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps>;
10
+ //# sourceMappingURL=JsonDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/Details/JsonDetails.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAiB,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAIpD,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG;IACzD,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA4BhE,CAAA"}
@@ -1,54 +1,22 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var JsonDetails_exports = {};
30
- __export(JsonDetails_exports, {
31
- PayloadJsonDetails: () => PayloadJsonDetails
32
- });
33
- module.exports = __toCommonJS(JsonDetails_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_material = require("@mui/material");
36
- var import_react_flexbox = require("@xylabs/react-flexbox");
37
- var import_react_property = require("@xyo-network/react-property");
38
- var import_react = require("react");
39
- const JsonView = (0, import_react.lazy)(() => import(
1
+ // src/components/Details/JsonDetails.tsx
2
+ import { Paper, useMediaQuery, useTheme } from "@mui/material";
3
+ import { FlexGrowRow } from "@xylabs/react-flexbox";
4
+ import { PropertyGroup } from "@xyo-network/react-property";
5
+ import { lazy, Suspense } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ var JsonView = lazy(() => import(
40
8
  /* webpackChunkName: "jsonView" */
41
9
  "react-json-view"
42
10
  ));
43
- const PayloadJsonDetails = ({ jsonViewProps, payload = {}, ...props }) => {
44
- const { breakpoints, palette } = (0, import_material.useTheme)();
45
- const belowSm = (0, import_material.useMediaQuery)(breakpoints.down("sm"));
11
+ var PayloadJsonDetails = ({ jsonViewProps, payload = {}, ...props }) => {
12
+ const { breakpoints, palette } = useTheme();
13
+ const belowSm = useMediaQuery(breakpoints.down("sm"));
46
14
  let elevation = 2;
47
15
  if (props.paper) {
48
16
  elevation += props.elevation ?? 0;
49
17
  }
50
18
  const jsonTheme = palette.mode === "dark" ? "shapeshifter" : void 0;
51
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_property.PropertyGroup, { titleProps: { elevation }, title: "JSON", tip: "The raw JSON of the payload", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Paper, { square: true, variant: "elevation", style: { overflow: "hidden", padding: "16px", width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexGrowRow, {}), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
19
+ return /* @__PURE__ */ jsx(PropertyGroup, { titleProps: { elevation }, title: "JSON", tip: "The raw JSON of the payload", ...props, children: /* @__PURE__ */ jsx(Paper, { square: true, variant: "elevation", style: { overflow: "hidden", padding: "16px", width: "100%" }, children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(FlexGrowRow, {}), children: /* @__PURE__ */ jsx(
52
20
  JsonView,
53
21
  {
54
22
  groupArraysAfterLength: 20,
@@ -61,8 +29,7 @@ const PayloadJsonDetails = ({ jsonViewProps, payload = {}, ...props }) => {
61
29
  }
62
30
  ) }) }) });
63
31
  };
64
- // Annotate the CommonJS export names for ESM import in node:
65
- 0 && (module.exports = {
32
+ export {
66
33
  PayloadJsonDetails
67
- });
34
+ };
68
35
  //# sourceMappingURL=JsonDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Details/JsonDetails.tsx"],"sourcesContent":["import { Paper, useMediaQuery, useTheme } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'\nimport { lazy, Suspense } from 'react'\nimport { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport type PayloadJsonDetailsProps = PropertyGroupProps & {\n jsonViewProps?: ReactJsonViewProps\n payload?: Payload\n}\n\nexport const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({ jsonViewProps, payload = {}, ...props }) => {\n const { breakpoints, palette } = useTheme()\n const belowSm = useMediaQuery(breakpoints.down('sm'))\n\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n\n const jsonTheme = palette.mode === 'dark' ? 'shapeshifter' : undefined\n\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"JSON\" tip=\"The raw JSON of the payload\" {...props}>\n <Paper square variant=\"elevation\" style={{ overflow: 'hidden', padding: '16px', width: '100%' }}>\n <Suspense fallback={<FlexGrowRow />}>\n <JsonView\n groupArraysAfterLength={20}\n style={{ backgroundColor: undefined, overflow: 'hidden' }}\n src={payload}\n enableClipboard\n theme={jsonTheme}\n collapseStringsAfterLength={belowSm ? 24 : 32}\n {...jsonViewProps}\n />\n </Suspense>\n </Paper>\n </PropertyGroup>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4B4B;AA5B5B,sBAA+C;AAC/C,2BAA4B;AAE5B,4BAAkD;AAClD,mBAA+B;AAG/B,MAAM,eAAW,mBAAK,MAAM;AAAA;AAAA,EAA0C;AAAiB,CAAC;AAOjF,MAAM,qBAAwD,CAAC,EAAE,eAAe,UAAU,CAAC,GAAG,GAAG,MAAM,MAAM;AAClH,QAAM,EAAE,aAAa,QAAQ,QAAI,0BAAS;AAC1C,QAAM,cAAU,+BAAc,YAAY,KAAK,IAAI,CAAC;AAEpD,MAAI,YAAY;AAChB,MAAI,MAAM,OAAO;AACf,iBAAa,MAAM,aAAa;AAAA,EAClC;AAEA,QAAM,YAAY,QAAQ,SAAS,SAAS,iBAAiB;AAE7D,SACE,4CAAC,uCAAc,YAAY,EAAE,UAAU,GAAG,OAAM,QAAO,KAAI,+BAA+B,GAAG,OAC3F,sDAAC,yBAAM,QAAM,MAAC,SAAQ,aAAY,OAAO,EAAE,UAAU,UAAU,SAAS,QAAQ,OAAO,OAAO,GAC5F,sDAAC,yBAAS,UAAU,4CAAC,oCAAY,GAC/B;AAAA,IAAC;AAAA;AAAA,MACC,wBAAwB;AAAA,MACxB,OAAO,EAAE,iBAAiB,QAAW,UAAU,SAAS;AAAA,MACxD,KAAK;AAAA,MACL,iBAAe;AAAA,MACf,OAAO;AAAA,MACP,4BAA4B,UAAU,KAAK;AAAA,MAC1C,GAAG;AAAA;AAAA,EACN,GACF,GACF,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/Details/JsonDetails.tsx"],"sourcesContent":["import { Paper, useMediaQuery, useTheme } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'\nimport { lazy, Suspense } from 'react'\nimport { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport type PayloadJsonDetailsProps = PropertyGroupProps & {\n jsonViewProps?: ReactJsonViewProps\n payload?: Payload\n}\n\nexport const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({ jsonViewProps, payload = {}, ...props }) => {\n const { breakpoints, palette } = useTheme()\n const belowSm = useMediaQuery(breakpoints.down('sm'))\n\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n\n const jsonTheme = palette.mode === 'dark' ? 'shapeshifter' : undefined\n\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"JSON\" tip=\"The raw JSON of the payload\" {...props}>\n <Paper square variant=\"elevation\" style={{ overflow: 'hidden', padding: '16px', width: '100%' }}>\n <Suspense fallback={<FlexGrowRow />}>\n <JsonView\n groupArraysAfterLength={20}\n style={{ backgroundColor: undefined, overflow: 'hidden' }}\n src={payload}\n enableClipboard\n theme={jsonTheme}\n collapseStringsAfterLength={belowSm ? 24 : 32}\n {...jsonViewProps}\n />\n </Suspense>\n </Paper>\n </PropertyGroup>\n )\n}\n"],"mappings":";AAAA,SAAS,OAAO,eAAe,gBAAgB;AAC/C,SAAS,mBAAmB;AAE5B,SAAS,qBAAyC;AAClD,SAAS,MAAM,gBAAgB;AAwBH;AArB5B,IAAM,WAAW,KAAK,MAAM;AAAA;AAAA,EAA0C;AAAiB,CAAC;AAOjF,IAAM,qBAAwD,CAAC,EAAE,eAAe,UAAU,CAAC,GAAG,GAAG,MAAM,MAAM;AAClH,QAAM,EAAE,aAAa,QAAQ,IAAI,SAAS;AAC1C,QAAM,UAAU,cAAc,YAAY,KAAK,IAAI,CAAC;AAEpD,MAAI,YAAY;AAChB,MAAI,MAAM,OAAO;AACf,iBAAa,MAAM,aAAa;AAAA,EAClC;AAEA,QAAM,YAAY,QAAQ,SAAS,SAAS,iBAAiB;AAE7D,SACE,oBAAC,iBAAc,YAAY,EAAE,UAAU,GAAG,OAAM,QAAO,KAAI,+BAA+B,GAAG,OAC3F,8BAAC,SAAM,QAAM,MAAC,SAAQ,aAAY,OAAO,EAAE,UAAU,UAAU,SAAS,QAAQ,OAAO,OAAO,GAC5F,8BAAC,YAAS,UAAU,oBAAC,eAAY,GAC/B;AAAA,IAAC;AAAA;AAAA,MACC,wBAAwB;AAAA,MACxB,OAAO,EAAE,iBAAiB,QAAW,UAAU,SAAS;AAAA,MACxD,KAAK;AAAA,MACL,iBAAe;AAAA,MACf,OAAO;AAAA,MACP,4BAA4B,UAAU,KAAK;AAAA,MAC1C,GAAG;AAAA;AAAA,EACN,GACF,GACF,GACF;AAEJ;","names":[]}