@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.
- package/dist/browser/components/Details/DataDetails.cjs +106 -0
- package/dist/browser/components/Details/DataDetails.cjs.map +1 -0
- package/dist/browser/components/Details/DataDetails.d.cts +11 -0
- package/dist/browser/components/Details/DataDetails.d.cts.map +1 -0
- package/dist/browser/components/Details/Details.cjs +196 -0
- package/dist/browser/components/Details/Details.cjs.map +1 -0
- package/dist/browser/components/Details/Details.d.cts +20 -0
- package/dist/browser/components/Details/Details.d.cts.map +1 -0
- package/dist/browser/components/Details/HashSourceDetails.cjs +47 -0
- package/dist/{node/components/Details/HashSourceDetails.mjs.map → browser/components/Details/HashSourceDetails.cjs.map} +1 -1
- package/dist/browser/components/Details/HashSourceDetails.d.cts +9 -0
- package/dist/browser/components/Details/HashSourceDetails.d.cts.map +1 -0
- package/dist/browser/components/Details/JsonDetails.cjs +66 -0
- package/dist/{node/components/Details/JsonDetails.mjs.map → browser/components/Details/JsonDetails.cjs.map} +1 -1
- package/dist/browser/components/Details/JsonDetails.d.cts +10 -0
- package/dist/browser/components/Details/JsonDetails.d.cts.map +1 -0
- package/dist/browser/components/Details/ValidationDetails/ValidationDetails.cjs +57 -0
- package/dist/{node/components/Details/ValidationDetails/ValidationDetails.mjs.map → browser/components/Details/ValidationDetails/ValidationDetails.cjs.map} +1 -1
- package/dist/browser/components/Details/ValidationDetails/ValidationDetails.d.cts +4 -0
- package/dist/browser/components/Details/ValidationDetails/ValidationDetails.d.cts.map +1 -0
- package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.cjs +19 -0
- package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.cjs.map +1 -0
- package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.d.cts +7 -0
- package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.d.cts.map +1 -0
- package/dist/browser/components/Details/ValidationDetails/index.cjs +59 -0
- package/dist/browser/components/Details/ValidationDetails/index.cjs.map +1 -0
- package/dist/browser/components/Details/ValidationDetails/index.d.cts +3 -0
- package/dist/browser/components/Details/ValidationDetails/index.d.cts.map +1 -0
- package/dist/browser/components/Details/index.cjs +201 -0
- package/dist/browser/components/Details/index.cjs.map +1 -0
- package/dist/browser/components/Details/index.d.cts +5 -0
- package/dist/browser/components/Details/index.d.cts.map +1 -0
- package/dist/browser/components/index.cjs +201 -0
- package/dist/browser/components/index.cjs.map +1 -0
- package/dist/browser/components/index.d.cts +2 -0
- package/dist/browser/components/index.d.cts.map +1 -0
- package/dist/browser/index.cjs +201 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.cts +2 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/docs.json +1333 -0
- package/dist/node/components/Details/DataDetails.cjs +110 -0
- package/dist/node/components/Details/DataDetails.cjs.map +1 -0
- package/dist/node/components/Details/DataDetails.d.cts +11 -0
- package/dist/node/components/Details/DataDetails.d.cts.map +1 -0
- package/dist/node/components/Details/DataDetails.js +50 -49
- package/dist/node/components/Details/DataDetails.js.map +1 -1
- package/dist/node/components/Details/Details.cjs +200 -0
- package/dist/node/components/Details/Details.cjs.map +1 -0
- package/dist/node/components/Details/Details.d.cts +20 -0
- package/dist/node/components/Details/Details.d.cts.map +1 -0
- package/dist/node/components/Details/Details.js +157 -34
- package/dist/node/components/Details/Details.js.map +1 -1
- package/dist/node/components/Details/HashSourceDetails.cjs +51 -0
- package/dist/node/components/Details/HashSourceDetails.cjs.map +1 -0
- package/dist/node/components/Details/HashSourceDetails.d.cts +9 -0
- package/dist/node/components/Details/HashSourceDetails.d.cts.map +1 -0
- package/dist/node/components/Details/HashSourceDetails.js +20 -43
- package/dist/node/components/Details/HashSourceDetails.js.map +1 -1
- package/dist/node/components/Details/JsonDetails.cjs +70 -0
- package/dist/node/components/Details/JsonDetails.cjs.map +1 -0
- package/dist/node/components/Details/JsonDetails.d.cts +10 -0
- package/dist/node/components/Details/JsonDetails.d.cts.map +1 -0
- package/dist/node/components/Details/JsonDetails.js +13 -46
- package/dist/node/components/Details/JsonDetails.js.map +1 -1
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.cjs +61 -0
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.cjs.map +1 -0
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.d.cts +4 -0
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.d.cts.map +1 -0
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.js +19 -42
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.js.map +1 -1
- package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.cjs +19 -0
- package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.cjs.map +1 -0
- package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.d.cts +7 -0
- package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.d.cts.map +1 -0
- package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.js +0 -16
- package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.js.map +1 -1
- package/dist/node/components/Details/ValidationDetails/index.cjs +63 -0
- package/dist/node/components/Details/ValidationDetails/index.cjs.map +1 -0
- package/dist/node/components/Details/ValidationDetails/index.d.cts +3 -0
- package/dist/node/components/Details/ValidationDetails/index.d.cts.map +1 -0
- package/dist/node/components/Details/ValidationDetails/index.js +33 -22
- package/dist/node/components/Details/ValidationDetails/index.js.map +1 -1
- package/dist/node/components/Details/index.cjs +208 -0
- package/dist/node/components/Details/index.cjs.map +1 -0
- package/dist/node/components/Details/index.d.cts +5 -0
- package/dist/node/components/Details/index.d.cts.map +1 -0
- package/dist/node/components/Details/index.js +164 -25
- package/dist/node/components/Details/index.js.map +1 -1
- package/dist/node/components/index.cjs +208 -0
- package/dist/node/components/index.cjs.map +1 -0
- package/dist/node/components/index.d.cts +2 -0
- package/dist/node/components/index.d.cts.map +1 -0
- package/dist/node/components/index.js +164 -19
- package/dist/node/components/index.js.map +1 -1
- package/dist/node/index.cjs +208 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +2 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +164 -19
- package/dist/node/index.js.map +1 -1
- package/package.json +24 -24
- package/dist/browser/components/Details/Details.stories.js +0 -55
- package/dist/browser/components/Details/Details.stories.js.map +0 -1
- package/dist/browser/components/Details/ValidationDetails/ValidationDetails.stories.js +0 -49
- package/dist/browser/components/Details/ValidationDetails/ValidationDetails.stories.js.map +0 -1
- package/dist/node/components/Details/DataDetails.mjs +0 -60
- package/dist/node/components/Details/DataDetails.mjs.map +0 -1
- package/dist/node/components/Details/Details.mjs +0 -18
- package/dist/node/components/Details/Details.mjs.map +0 -1
- package/dist/node/components/Details/Details.stories.js +0 -86
- package/dist/node/components/Details/Details.stories.js.map +0 -1
- package/dist/node/components/Details/Details.stories.mjs +0 -55
- package/dist/node/components/Details/Details.stories.mjs.map +0 -1
- package/dist/node/components/Details/HashSourceDetails.mjs +0 -25
- package/dist/node/components/Details/JsonDetails.mjs +0 -34
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.mjs +0 -35
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.stories.js +0 -75
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.stories.js.map +0 -1
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.stories.mjs +0 -49
- package/dist/node/components/Details/ValidationDetails/ValidationDetails.stories.mjs.map +0 -1
- package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.mjs +0 -1
- package/dist/node/components/Details/ValidationDetails/ValidationDetailsProps.mjs.map +0 -1
- package/dist/node/components/Details/ValidationDetails/index.mjs +0 -3
- package/dist/node/components/Details/ValidationDetails/index.mjs.map +0 -1
- package/dist/node/components/Details/index.mjs +0 -5
- package/dist/node/components/Details/index.mjs.map +0 -1
- package/dist/node/components/index.mjs +0 -2
- package/dist/node/components/index.mjs.map +0 -1
- package/dist/node/index.mjs +0 -2
- package/dist/node/index.mjs.map +0 -1
package/dist/node/index.js
CHANGED
@@ -1,23 +1,168 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
// src/components/Details/DataDetails.tsx
|
2
|
+
import { ContentCopy as ContentCopyIcon2, Visibility as VisibilityIcon } from "@mui/icons-material";
|
3
|
+
import { Dialog, DialogActions, DialogContent, DialogTitle } from "@mui/material";
|
4
|
+
import { ButtonEx } from "@xylabs/react-button";
|
5
|
+
import { PayloadHasher as PayloadHasher2 } from "@xyo-network/hash";
|
6
|
+
import { Property } from "@xyo-network/react-property";
|
7
|
+
import { usePayloadHash } from "@xyo-network/react-shared";
|
8
|
+
import { useState } from "react";
|
9
|
+
|
10
|
+
// src/components/Details/HashSourceDetails.tsx
|
11
|
+
import { ContentCopy as ContentCopyIcon } from "@mui/icons-material";
|
12
|
+
import { IconButton, Typography, useTheme } from "@mui/material";
|
13
|
+
import { FlexCol, FlexGrowRow, FlexRow } from "@xylabs/react-flexbox";
|
14
|
+
import { QuickTipButton } from "@xylabs/react-quick-tip-button";
|
15
|
+
import { PayloadHasher } from "@xyo-network/hash";
|
16
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
17
|
+
var PayloadHashSourceDetails = ({ noTitle = false, payload, ...props }) => {
|
18
|
+
const theme = useTheme();
|
19
|
+
const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : "";
|
20
|
+
return /* @__PURE__ */ jsxs(FlexCol, { alignItems: "stretch", ...props, children: [
|
21
|
+
noTitle ? null : /* @__PURE__ */ jsxs(FlexRow, { margin: 1, justifyContent: "flex-start", children: [
|
22
|
+
/* @__PURE__ */ jsx(Typography, { children: "Hash Source" }),
|
23
|
+
/* @__PURE__ */ jsx(QuickTipButton, { title: "Hash Source", children: "The actual string used to generate the hash (SHA256)" })
|
24
|
+
] }),
|
25
|
+
/* @__PURE__ */ jsxs(FlexRow, { children: [
|
26
|
+
/* @__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 }) }),
|
27
|
+
/* @__PURE__ */ jsx(IconButton, { children: /* @__PURE__ */ jsx(ContentCopyIcon, {}) })
|
28
|
+
] }),
|
29
|
+
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
|
30
|
+
] });
|
31
|
+
};
|
32
|
+
|
33
|
+
// src/components/Details/DataDetails.tsx
|
34
|
+
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
35
|
+
var PayloadDataDetails = ({ size, badge, payload, ...props }) => {
|
36
|
+
const payloadString = payload ? JSON.stringify(PayloadHasher2.hashFields(payload), null, 2) : "";
|
37
|
+
const [viewSourceOpen, setViewSourceOpen] = useState(false);
|
38
|
+
const hash = usePayloadHash(payload);
|
39
|
+
let elevation = 2;
|
40
|
+
if (props.paper) {
|
41
|
+
elevation += props.elevation ?? 0;
|
42
|
+
}
|
43
|
+
const actions = [
|
44
|
+
{
|
45
|
+
icon: /* @__PURE__ */ jsx2(VisibilityIcon, {}),
|
46
|
+
name: "View",
|
47
|
+
onClick: () => setViewSourceOpen(true)
|
48
|
+
},
|
49
|
+
{
|
50
|
+
icon: /* @__PURE__ */ jsx2(ContentCopyIcon2, {}),
|
51
|
+
name: "Copy",
|
52
|
+
onClick: async () => await navigator.clipboard.writeText(hash ?? "")
|
53
|
+
}
|
54
|
+
];
|
55
|
+
const onCopy = async () => {
|
56
|
+
await navigator.clipboard.writeText(payloadString);
|
57
|
+
};
|
58
|
+
return /* @__PURE__ */ jsxs2(Fragment, { children: [
|
59
|
+
/* @__PURE__ */ jsx2(
|
60
|
+
Property,
|
61
|
+
{
|
62
|
+
titleProps: { elevation },
|
63
|
+
badge,
|
64
|
+
size,
|
65
|
+
actions,
|
66
|
+
title: "Payload Hash",
|
67
|
+
value: hash ?? "<Unknown>",
|
68
|
+
tip: "This is the payload hash",
|
69
|
+
...props
|
70
|
+
}
|
71
|
+
),
|
72
|
+
/* @__PURE__ */ jsxs2(Dialog, { open: viewSourceOpen, onClose: () => setViewSourceOpen(false), children: [
|
73
|
+
/* @__PURE__ */ jsx2(DialogTitle, { children: "Hash Source" }),
|
74
|
+
/* @__PURE__ */ jsx2(DialogContent, { children: /* @__PURE__ */ jsx2(PayloadHashSourceDetails, { noTitle: true, payload }) }),
|
75
|
+
/* @__PURE__ */ jsxs2(DialogActions, { children: [
|
76
|
+
/* @__PURE__ */ jsx2(ButtonEx, { color: "secondary", onClick: onCopy, children: "Copy" }),
|
77
|
+
/* @__PURE__ */ jsx2(ButtonEx, { color: "secondary", onClick: () => setViewSourceOpen(false), children: "Close" })
|
78
|
+
] })
|
79
|
+
] })
|
80
|
+
] });
|
81
|
+
};
|
82
|
+
|
83
|
+
// src/components/Details/Details.tsx
|
84
|
+
import { FlexCol as FlexCol3 } from "@xylabs/react-flexbox";
|
85
|
+
import { forwardRef } from "react";
|
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;
|
11
103
|
}
|
12
|
-
|
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
|
+
) }) }) });
|
13
117
|
};
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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 })
|
159
|
+
] });
|
22
160
|
});
|
161
|
+
PayloadDetails.displayName = "PayloadDetails";
|
162
|
+
export {
|
163
|
+
PayloadDataDetails,
|
164
|
+
PayloadDetails,
|
165
|
+
PayloadJsonDetails,
|
166
|
+
PayloadValidationDetails
|
167
|
+
};
|
23
168
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './components'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,yBAAd;","names":[]}
|
1
|
+
{"version":3,"sources":["../../src/components/Details/DataDetails.tsx","../../src/components/Details/HashSourceDetails.tsx","../../src/components/Details/Details.tsx","../../src/components/Details/JsonDetails.tsx","../../src/components/Details/ValidationDetails/ValidationDetails.tsx"],"sourcesContent":["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 { 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 { 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":["ContentCopyIcon","PayloadHasher","jsx","jsxs","PayloadHasher","ContentCopyIcon","FlexCol","useTheme","FlexGrowRow","jsx","Typography","FlexCol","Property","PropertyGroup","jsx","jsxs","jsx","jsxs","FlexCol"]}
|
package/package.json
CHANGED
@@ -10,23 +10,23 @@
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
11
11
|
},
|
12
12
|
"dependencies": {
|
13
|
-
"@xylabs/react-button": "^3.
|
14
|
-
"@xylabs/react-flexbox": "^3.
|
15
|
-
"@xylabs/react-promise": "^3.
|
16
|
-
"@xylabs/react-quick-tip-button": "^3.
|
17
|
-
"@xyo-network/hash": "^2.
|
18
|
-
"@xyo-network/payload-model": "^2.
|
19
|
-
"@xyo-network/payload-validator": "^2.
|
20
|
-
"@xyo-network/react-property": "~2.64.0
|
21
|
-
"@xyo-network/react-schema": "~2.64.0
|
22
|
-
"@xyo-network/react-shared": "~2.64.0
|
13
|
+
"@xylabs/react-button": "^3.0.5",
|
14
|
+
"@xylabs/react-flexbox": "^3.0.5",
|
15
|
+
"@xylabs/react-promise": "^3.0.5",
|
16
|
+
"@xylabs/react-quick-tip-button": "^3.0.5",
|
17
|
+
"@xyo-network/hash": "^2.75.3",
|
18
|
+
"@xyo-network/payload-model": "^2.75.3",
|
19
|
+
"@xyo-network/payload-validator": "^2.75.3",
|
20
|
+
"@xyo-network/react-property": "~2.64.0",
|
21
|
+
"@xyo-network/react-schema": "~2.64.0",
|
22
|
+
"@xyo-network/react-shared": "~2.64.0",
|
23
23
|
"react-json-view": "^1.21.3"
|
24
24
|
},
|
25
25
|
"devDependencies": {
|
26
|
-
"@storybook/react": "^7.4.
|
27
|
-
"@xylabs/ts-scripts-yarn3": "^3.0.
|
28
|
-
"@xylabs/tsconfig-react": "^3.0.
|
29
|
-
"@xyo-network/react-storybook": "~2.64.0
|
26
|
+
"@storybook/react": "^7.4.5",
|
27
|
+
"@xylabs/ts-scripts-yarn3": "^3.0.78",
|
28
|
+
"@xylabs/tsconfig-react": "^3.0.78",
|
29
|
+
"@xyo-network/react-storybook": "~2.64.0",
|
30
30
|
"typescript": "^5.2.2"
|
31
31
|
},
|
32
32
|
"peerDependencies": {
|
@@ -45,28 +45,28 @@
|
|
45
45
|
"node": {
|
46
46
|
"import": {
|
47
47
|
"types": "./dist/node/index.d.mts",
|
48
|
-
"default": "./dist/node/index.
|
48
|
+
"default": "./dist/node/index.js"
|
49
49
|
},
|
50
50
|
"require": {
|
51
|
-
"types": "./dist/node/index.d.
|
52
|
-
"default": "./dist/node/index.
|
51
|
+
"types": "./dist/node/index.d.cts",
|
52
|
+
"default": "./dist/node/index.cjs"
|
53
53
|
}
|
54
54
|
},
|
55
55
|
"browser": {
|
56
56
|
"import": {
|
57
|
-
"types": "./dist/browser/index.d.
|
57
|
+
"types": "./dist/browser/index.d.mts",
|
58
58
|
"default": "./dist/browser/index.js"
|
59
59
|
},
|
60
60
|
"require": {
|
61
|
-
"types": "./dist/browser/index.d.
|
62
|
-
"default": "./dist/browser/index.
|
61
|
+
"types": "./dist/browser/index.d.cts",
|
62
|
+
"default": "./dist/browser/index.cjs"
|
63
63
|
}
|
64
64
|
},
|
65
|
-
"default": "./dist/browser/index.
|
65
|
+
"default": "./dist/browser/index.js"
|
66
66
|
},
|
67
67
|
"./package.json": "./package.json"
|
68
68
|
},
|
69
|
-
"main": "dist/browser/index.
|
69
|
+
"main": "dist/browser/index.cjs",
|
70
70
|
"module": "dist/browser/index.js",
|
71
71
|
"homepage": "https://xyo.network",
|
72
72
|
"keywords": [
|
@@ -89,6 +89,6 @@
|
|
89
89
|
},
|
90
90
|
"sideEffects": false,
|
91
91
|
"types": "dist/browser/index.d.ts",
|
92
|
-
"version": "2.64.0
|
93
|
-
"
|
92
|
+
"version": "2.64.0",
|
93
|
+
"type": "module"
|
94
94
|
}
|
@@ -1,55 +0,0 @@
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
2
|
-
import { sampleIdPayload, samplePayloadFromBuilder, useAppThemeDecorator } from "@xyo-network/react-storybook";
|
3
|
-
import { BrowserRouter, Route, Routes } from "react-router-dom";
|
4
|
-
import { PayloadDetails } from "./Details";
|
5
|
-
const StorybookEntry = {
|
6
|
-
argTypes: {},
|
7
|
-
component: PayloadDetails,
|
8
|
-
parameters: {
|
9
|
-
docs: {
|
10
|
-
page: null
|
11
|
-
}
|
12
|
-
},
|
13
|
-
title: "payload/Details"
|
14
|
-
};
|
15
|
-
const Template = (args) => /* @__PURE__ */ jsx(BrowserRouter, { children: /* @__PURE__ */ jsxs(Routes, { children: [
|
16
|
-
/* @__PURE__ */ jsx(Route, { path: "temp", element: /* @__PURE__ */ jsx("h1", { children: "Successfully navigated to archivePath" }) }),
|
17
|
-
/* @__PURE__ */ jsx(Route, { path: "*", element: /* @__PURE__ */ jsx(PayloadDetails, { ...args }) })
|
18
|
-
] }) });
|
19
|
-
const Default = Template.bind({});
|
20
|
-
Default.args = {};
|
21
|
-
Default.decorators = [useAppThemeDecorator];
|
22
|
-
const WithSample = Template.bind({});
|
23
|
-
WithSample.args = { payload: sampleIdPayload };
|
24
|
-
WithSample.decorators = [useAppThemeDecorator];
|
25
|
-
const WithBuilderSample = Template.bind({});
|
26
|
-
WithBuilderSample.args = { payload: samplePayloadFromBuilder };
|
27
|
-
WithBuilderSample.decorators = [useAppThemeDecorator];
|
28
|
-
const WithArchiveLink = Template.bind({});
|
29
|
-
WithArchiveLink.args = { payload: samplePayloadFromBuilder };
|
30
|
-
WithArchiveLink.decorators = [useAppThemeDecorator];
|
31
|
-
const DefaultPaper = Template.bind({});
|
32
|
-
DefaultPaper.args = { paper: true };
|
33
|
-
DefaultPaper.decorators = [useAppThemeDecorator];
|
34
|
-
const WithSamplePaper = Template.bind({});
|
35
|
-
WithSamplePaper.args = { paper: true, payload: sampleIdPayload };
|
36
|
-
WithSamplePaper.decorators = [useAppThemeDecorator];
|
37
|
-
const WithBuilderSamplePaper = Template.bind({});
|
38
|
-
WithBuilderSamplePaper.args = { paper: true, payload: samplePayloadFromBuilder };
|
39
|
-
WithBuilderSamplePaper.decorators = [useAppThemeDecorator];
|
40
|
-
const WithArchiveLinkPaper = Template.bind({});
|
41
|
-
WithArchiveLinkPaper.args = { paper: true, payload: samplePayloadFromBuilder };
|
42
|
-
WithArchiveLinkPaper.decorators = [useAppThemeDecorator];
|
43
|
-
var Details_stories_default = StorybookEntry;
|
44
|
-
export {
|
45
|
-
Default,
|
46
|
-
DefaultPaper,
|
47
|
-
WithArchiveLink,
|
48
|
-
WithArchiveLinkPaper,
|
49
|
-
WithBuilderSample,
|
50
|
-
WithBuilderSamplePaper,
|
51
|
-
WithSample,
|
52
|
-
WithSamplePaper,
|
53
|
-
Details_stories_default as default
|
54
|
-
};
|
55
|
-
//# sourceMappingURL=Details.stories.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Details/Details.stories.tsx"],"sourcesContent":["import { Meta, StoryFn } from '@storybook/react'\nimport { sampleIdPayload, samplePayloadFromBuilder, useAppThemeDecorator } from '@xyo-network/react-storybook'\nimport { BrowserRouter, Route, Routes } from 'react-router-dom'\n\nimport { PayloadDetails } from './Details'\n\nconst StorybookEntry = {\n argTypes: {},\n component: PayloadDetails,\n parameters: {\n docs: {\n page: null,\n },\n },\n title: 'payload/Details',\n} as Meta<typeof PayloadDetails>\n\nconst Template: StoryFn<typeof PayloadDetails> = (args) => (\n <BrowserRouter>\n <Routes>\n <Route path=\"temp\" element={<h1>Successfully navigated to archivePath</h1>} />\n <Route path=\"*\" element={<PayloadDetails {...args}></PayloadDetails>}></Route>\n </Routes>\n </BrowserRouter>\n)\n\nconst Default = Template.bind({})\nDefault.args = {}\nDefault.decorators = [useAppThemeDecorator]\n\nconst WithSample = Template.bind({})\nWithSample.args = { payload: sampleIdPayload }\nWithSample.decorators = [useAppThemeDecorator]\n\nconst WithBuilderSample = Template.bind({})\nWithBuilderSample.args = { payload: samplePayloadFromBuilder }\nWithBuilderSample.decorators = [useAppThemeDecorator]\n\nconst WithArchiveLink = Template.bind({})\nWithArchiveLink.args = { payload: samplePayloadFromBuilder }\nWithArchiveLink.decorators = [useAppThemeDecorator]\n\nconst DefaultPaper = Template.bind({})\nDefaultPaper.args = { paper: true }\nDefaultPaper.decorators = [useAppThemeDecorator]\n\nconst WithSamplePaper = Template.bind({})\nWithSamplePaper.args = { paper: true, payload: sampleIdPayload }\nWithSamplePaper.decorators = [useAppThemeDecorator]\n\nconst WithBuilderSamplePaper = Template.bind({})\nWithBuilderSamplePaper.args = { paper: true, payload: samplePayloadFromBuilder }\nWithBuilderSamplePaper.decorators = [useAppThemeDecorator]\n\nconst WithArchiveLinkPaper = Template.bind({})\nWithArchiveLinkPaper.args = { paper: true, payload: samplePayloadFromBuilder }\nWithArchiveLinkPaper.decorators = [useAppThemeDecorator]\n\nexport { Default, DefaultPaper, WithArchiveLink, WithArchiveLinkPaper, WithBuilderSample, WithBuilderSamplePaper, WithSample, WithSamplePaper }\n\n// eslint-disable-next-line import/no-default-export\nexport default StorybookEntry\n"],"mappings":"AAmBI,SAC8B,KAD9B;AAlBJ,SAAS,iBAAiB,0BAA0B,4BAA4B;AAChF,SAAS,eAAe,OAAO,cAAc;AAE7C,SAAS,sBAAsB;AAE/B,MAAM,iBAAiB;AAAA,EACrB,UAAU,CAAC;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,OAAO;AACT;AAEA,MAAM,WAA2C,CAAC,SAChD,oBAAC,iBACC,+BAAC,UACC;AAAA,sBAAC,SAAM,MAAK,QAAO,SAAS,oBAAC,QAAG,mDAAqC,GAAO;AAAA,EAC5E,oBAAC,SAAM,MAAK,KAAI,SAAS,oBAAC,kBAAgB,GAAG,MAAM,GAAmB;AAAA,GACxE,GACF;AAGF,MAAM,UAAU,SAAS,KAAK,CAAC,CAAC;AAChC,QAAQ,OAAO,CAAC;AAChB,QAAQ,aAAa,CAAC,oBAAoB;AAE1C,MAAM,aAAa,SAAS,KAAK,CAAC,CAAC;AACnC,WAAW,OAAO,EAAE,SAAS,gBAAgB;AAC7C,WAAW,aAAa,CAAC,oBAAoB;AAE7C,MAAM,oBAAoB,SAAS,KAAK,CAAC,CAAC;AAC1C,kBAAkB,OAAO,EAAE,SAAS,yBAAyB;AAC7D,kBAAkB,aAAa,CAAC,oBAAoB;AAEpD,MAAM,kBAAkB,SAAS,KAAK,CAAC,CAAC;AACxC,gBAAgB,OAAO,EAAE,SAAS,yBAAyB;AAC3D,gBAAgB,aAAa,CAAC,oBAAoB;AAElD,MAAM,eAAe,SAAS,KAAK,CAAC,CAAC;AACrC,aAAa,OAAO,EAAE,OAAO,KAAK;AAClC,aAAa,aAAa,CAAC,oBAAoB;AAE/C,MAAM,kBAAkB,SAAS,KAAK,CAAC,CAAC;AACxC,gBAAgB,OAAO,EAAE,OAAO,MAAM,SAAS,gBAAgB;AAC/D,gBAAgB,aAAa,CAAC,oBAAoB;AAElD,MAAM,yBAAyB,SAAS,KAAK,CAAC,CAAC;AAC/C,uBAAuB,OAAO,EAAE,OAAO,MAAM,SAAS,yBAAyB;AAC/E,uBAAuB,aAAa,CAAC,oBAAoB;AAEzD,MAAM,uBAAuB,SAAS,KAAK,CAAC,CAAC;AAC7C,qBAAqB,OAAO,EAAE,OAAO,MAAM,SAAS,yBAAyB;AAC7E,qBAAqB,aAAa,CAAC,oBAAoB;AAKvD,IAAO,0BAAQ;","names":[]}
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
2
|
-
import { sampleIdPayload, useAppThemeDecorator } from "@xyo-network/react-storybook";
|
3
|
-
import { BrowserRouter } from "react-router-dom";
|
4
|
-
import { PayloadDetails } from "../Details";
|
5
|
-
import { PayloadValidationDetails } from "./ValidationDetails";
|
6
|
-
const StorybookEntry = {
|
7
|
-
argTypes: {},
|
8
|
-
args: {
|
9
|
-
value: {
|
10
|
-
schema: "network.xyo.schema"
|
11
|
-
}
|
12
|
-
},
|
13
|
-
component: PayloadDetails,
|
14
|
-
decorators: [useAppThemeDecorator],
|
15
|
-
parameters: {
|
16
|
-
docs: {
|
17
|
-
page: null
|
18
|
-
}
|
19
|
-
},
|
20
|
-
title: "payload/ValidationDetails"
|
21
|
-
};
|
22
|
-
const Template = (args) => /* @__PURE__ */ jsx(BrowserRouter, { children: /* @__PURE__ */ jsx(PayloadValidationDetails, { ...args }) });
|
23
|
-
const Default = Template.bind({});
|
24
|
-
Default.args = { skipBody: true };
|
25
|
-
const WithErrorsInToolTip = Template.bind({});
|
26
|
-
WithErrorsInToolTip.args = {
|
27
|
-
value: {
|
28
|
-
...sampleIdPayload,
|
29
|
-
...{ _hash: "6fe3f745b1179fefa74cc3c7eab58321bee1c9ca9e34d9585467364cc5d3bbe2" },
|
30
|
-
schema: void 0
|
31
|
-
}
|
32
|
-
};
|
33
|
-
const SkipBody = Template.bind({});
|
34
|
-
SkipBody.args = {
|
35
|
-
skipBody: true,
|
36
|
-
value: {
|
37
|
-
_hash: "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",
|
38
|
-
_timestamp: (/* @__PURE__ */ new Date()).getTime(),
|
39
|
-
schema: "network.xyo.test"
|
40
|
-
}
|
41
|
-
};
|
42
|
-
var ValidationDetails_stories_default = StorybookEntry;
|
43
|
-
export {
|
44
|
-
Default,
|
45
|
-
SkipBody,
|
46
|
-
WithErrorsInToolTip,
|
47
|
-
ValidationDetails_stories_default as default
|
48
|
-
};
|
49
|
-
//# sourceMappingURL=ValidationDetails.stories.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Details/ValidationDetails/ValidationDetails.stories.tsx"],"sourcesContent":["import { Meta, StoryFn } from '@storybook/react'\nimport { Payload } from '@xyo-network/payload-model'\nimport { sampleIdPayload, useAppThemeDecorator } from '@xyo-network/react-storybook'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport { PayloadDetails } from '../Details'\nimport { PayloadValidationDetails } from './ValidationDetails'\nimport { PayloadValidationDetailsProps } from './ValidationDetailsProps'\n\nconst StorybookEntry: Meta = {\n argTypes: {},\n args: {\n value: {\n schema: 'network.xyo.schema',\n },\n },\n component: PayloadDetails,\n decorators: [useAppThemeDecorator],\n parameters: {\n docs: {\n page: null,\n },\n },\n title: 'payload/ValidationDetails',\n}\n\nconst Template: StoryFn<typeof PayloadValidationDetails> = (args: PayloadValidationDetailsProps) => (\n <BrowserRouter>\n <PayloadValidationDetails {...args} />\n </BrowserRouter>\n)\n\nconst Default = Template.bind({})\nDefault.args = { skipBody: true }\n\nconst WithErrorsInToolTip = Template.bind({})\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nWithErrorsInToolTip.args = {\n value: {\n ...sampleIdPayload,\n ...{ _hash: '6fe3f745b1179fefa74cc3c7eab58321bee1c9ca9e34d9585467364cc5d3bbe2' },\n schema: undefined,\n } as unknown as Payload,\n}\n\nconst SkipBody = Template.bind({})\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nSkipBody.args = {\n skipBody: true,\n value: {\n _hash: '44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a',\n _timestamp: new Date().getTime(),\n schema: 'network.xyo.test',\n } as Payload,\n}\n\nexport { Default, SkipBody, WithErrorsInToolTip }\n\n// eslint-disable-next-line import/no-default-export\nexport default StorybookEntry\n"],"mappings":"AA4BI;AA1BJ,SAAS,iBAAiB,4BAA4B;AACtD,SAAS,qBAAqB;AAE9B,SAAS,sBAAsB;AAC/B,SAAS,gCAAgC;AAGzC,MAAM,iBAAuB;AAAA,EAC3B,UAAU,CAAC;AAAA,EACX,MAAM;AAAA,IACJ,OAAO;AAAA,MACL,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,WAAW;AAAA,EACX,YAAY,CAAC,oBAAoB;AAAA,EACjC,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,OAAO;AACT;AAEA,MAAM,WAAqD,CAAC,SAC1D,oBAAC,iBACC,8BAAC,4BAA0B,GAAG,MAAM,GACtC;AAGF,MAAM,UAAU,SAAS,KAAK,CAAC,CAAC;AAChC,QAAQ,OAAO,EAAE,UAAU,KAAK;AAEhC,MAAM,sBAAsB,SAAS,KAAK,CAAC,CAAC;AAG5C,oBAAoB,OAAO;AAAA,EACzB,OAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG,EAAE,OAAO,mEAAmE;AAAA,IAC/E,QAAQ;AAAA,EACV;AACF;AAEA,MAAM,WAAW,SAAS,KAAK,CAAC,CAAC;AAGjC,SAAS,OAAO;AAAA,EACd,UAAU;AAAA,EACV,OAAO;AAAA,IACL,OAAO;AAAA,IACP,aAAY,oBAAI,KAAK,GAAE,QAAQ;AAAA,IAC/B,QAAQ;AAAA,EACV;AACF;AAKA,IAAO,oCAAQ;","names":[]}
|
@@ -1,60 +0,0 @@
|
|
1
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
2
|
-
import { ContentCopy as ContentCopyIcon, Visibility as VisibilityIcon } from "@mui/icons-material";
|
3
|
-
import { Dialog, DialogActions, DialogContent, DialogTitle } from "@mui/material";
|
4
|
-
import { ButtonEx } from "@xylabs/react-button";
|
5
|
-
import { PayloadHasher } from "@xyo-network/hash";
|
6
|
-
import { Property } from "@xyo-network/react-property";
|
7
|
-
import { usePayloadHash } from "@xyo-network/react-shared";
|
8
|
-
import { useState } from "react";
|
9
|
-
import { PayloadHashSourceDetails } from "./HashSourceDetails";
|
10
|
-
const PayloadDataDetails = ({ size, badge, payload, ...props }) => {
|
11
|
-
const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : "";
|
12
|
-
const [viewSourceOpen, setViewSourceOpen] = useState(false);
|
13
|
-
const hash = usePayloadHash(payload);
|
14
|
-
let elevation = 2;
|
15
|
-
if (props.paper) {
|
16
|
-
elevation += props.elevation ?? 0;
|
17
|
-
}
|
18
|
-
const actions = [
|
19
|
-
{
|
20
|
-
icon: /* @__PURE__ */ jsx(VisibilityIcon, {}),
|
21
|
-
name: "View",
|
22
|
-
onClick: () => setViewSourceOpen(true)
|
23
|
-
},
|
24
|
-
{
|
25
|
-
icon: /* @__PURE__ */ jsx(ContentCopyIcon, {}),
|
26
|
-
name: "Copy",
|
27
|
-
onClick: async () => await navigator.clipboard.writeText(hash ?? "")
|
28
|
-
}
|
29
|
-
];
|
30
|
-
const onCopy = async () => {
|
31
|
-
await navigator.clipboard.writeText(payloadString);
|
32
|
-
};
|
33
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
34
|
-
/* @__PURE__ */ jsx(
|
35
|
-
Property,
|
36
|
-
{
|
37
|
-
titleProps: { elevation },
|
38
|
-
badge,
|
39
|
-
size,
|
40
|
-
actions,
|
41
|
-
title: "Payload Hash",
|
42
|
-
value: hash ?? "<Unknown>",
|
43
|
-
tip: "This is the payload hash",
|
44
|
-
...props
|
45
|
-
}
|
46
|
-
),
|
47
|
-
/* @__PURE__ */ jsxs(Dialog, { open: viewSourceOpen, onClose: () => setViewSourceOpen(false), children: [
|
48
|
-
/* @__PURE__ */ jsx(DialogTitle, { children: "Hash Source" }),
|
49
|
-
/* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsx(PayloadHashSourceDetails, { noTitle: true, payload }) }),
|
50
|
-
/* @__PURE__ */ jsxs(DialogActions, { children: [
|
51
|
-
/* @__PURE__ */ jsx(ButtonEx, { color: "secondary", onClick: onCopy, children: "Copy" }),
|
52
|
-
/* @__PURE__ */ jsx(ButtonEx, { color: "secondary", onClick: () => setViewSourceOpen(false), children: "Close" })
|
53
|
-
] })
|
54
|
-
] })
|
55
|
-
] });
|
56
|
-
};
|
57
|
-
export {
|
58
|
-
PayloadDataDetails
|
59
|
-
};
|
60
|
-
//# sourceMappingURL=DataDetails.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Details/DataDetails.tsx"],"sourcesContent":["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"],"mappings":"AA8BY,SAgBR,UAhBQ,KAgCJ,YAhCI;AA9BZ,SAAS,eAAe,iBAAiB,cAAc,sBAAsB;AAC7E,SAAS,QAAQ,eAAe,eAAe,mBAAmB;AAClE,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAE9B,SAAS,gBAA+C;AACxD,SAAmB,sBAAsB;AACzC,SAAS,gBAAgB;AAEzB,SAAS,gCAAgC;AAQlC,MAAM,qBAAwD,CAAC,EAAE,MAAM,OAAO,SAAS,GAAG,MAAM,MAAM;AAC3G,QAAM,gBAAgB,UAAU,KAAK,UAAU,cAAc,WAAW,OAAO,GAAG,MAAM,CAAC,IAAI;AAE7F,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,OAAO,eAAe,OAAO;AAEnC,MAAI,YAAY;AAChB,MAAI,MAAM,OAAO;AACf,iBAAa,MAAM,aAAa;AAAA,EAClC;AAEA,QAAM,UAA4B;AAAA,IAChC;AAAA,MACE,MAAM,oBAAC,kBAAe;AAAA,MACtB,MAAM;AAAA,MACN,SAAS,MAAM,kBAAkB,IAAI;AAAA,IACvC;AAAA,IACA;AAAA,MACE,MAAM,oBAAC,mBAAgB;AAAA,MACvB,MAAM;AAAA,MACN,SAAS,YAAY,MAAM,UAAU,UAAU,UAAU,QAAQ,EAAE;AAAA,IACrE;AAAA,EACF;AAEA,QAAM,SAAS,YAAY;AACzB,UAAM,UAAU,UAAU,UAAU,aAAa;AAAA,EACnD;AAEA,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,YAAY,EAAE,UAAU;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAM;AAAA,QACN,OAAO,QAAQ;AAAA,QACf,KAAI;AAAA,QACH,GAAG;AAAA;AAAA,IACN;AAAA,IACA,qBAAC,UAAO,MAAM,gBAAgB,SAAS,MAAM,kBAAkB,KAAK,GAClE;AAAA,0BAAC,eAAY,yBAAW;AAAA,MACxB,oBAAC,iBACC,8BAAC,4BAAyB,SAAO,MAAC,SAAkB,GACtD;AAAA,MACA,qBAAC,iBACC;AAAA,4BAAC,YAAS,OAAM,aAAY,SAAS,QAAQ,kBAE7C;AAAA,QACA,oBAAC,YAAS,OAAM,aAAY,SAAS,MAAM,kBAAkB,KAAK,GAAG,mBAErE;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
2
|
-
import { FlexCol } from "@xylabs/react-flexbox";
|
3
|
-
import { forwardRef } from "react";
|
4
|
-
import { PayloadDataDetails } from "./DataDetails";
|
5
|
-
import { PayloadJsonDetails } from "./JsonDetails";
|
6
|
-
import { PayloadValidationDetails } from "./ValidationDetails";
|
7
|
-
const PayloadDetails = forwardRef(({ paper, payload, ...props }, ref) => {
|
8
|
-
return /* @__PURE__ */ jsxs(FlexCol, { gap: 1, justifyContent: "flex-start", alignItems: "stretch", marginTop: 2, marginBottom: 8, ref, ...props, children: [
|
9
|
-
/* @__PURE__ */ jsx(PayloadDataDetails, { paper, size: "large", badge: true, payload }),
|
10
|
-
/* @__PURE__ */ jsx(PayloadValidationDetails, { paper, value: payload }),
|
11
|
-
/* @__PURE__ */ jsx(PayloadJsonDetails, { paper, payload })
|
12
|
-
] });
|
13
|
-
});
|
14
|
-
PayloadDetails.displayName = "PayloadDetails";
|
15
|
-
export {
|
16
|
-
PayloadDetails
|
17
|
-
};
|
18
|
-
//# sourceMappingURL=Details.mjs.map
|
@@ -1 +0,0 @@
|
|
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":"AAkBI,SACE,KADF;AAlBJ,SAAuB,eAAe;AAEtC,SAAS,kBAAkB;AAE3B,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AACnC,SAAS,gCAAgC;AAUlC,MAAM,iBAAiB,WAAgD,CAAC,EAAE,OAAO,SAAS,GAAG,MAAM,GAAG,QAAQ;AACnH,SACE,qBAAC,WAAQ,KAAK,GAAG,gBAAe,cAAa,YAAW,WAAU,WAAW,GAAG,cAAc,GAAG,KAAW,GAAG,OAC7G;AAAA,wBAAC,sBAAmB,OAAc,MAAK,SAAQ,OAAK,MAAC,SAAkB;AAAA,IACvE,oBAAC,4BAAyB,OAAc,OAAO,SAAS;AAAA,IACxD,oBAAC,sBAAmB,OAAc,SAAkB;AAAA,KACtD;AAEJ,CAAC;AAED,eAAe,cAAc;","names":[]}
|
@@ -1,86 +0,0 @@
|
|
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 Details_stories_exports = {};
|
20
|
-
__export(Details_stories_exports, {
|
21
|
-
Default: () => Default,
|
22
|
-
DefaultPaper: () => DefaultPaper,
|
23
|
-
WithArchiveLink: () => WithArchiveLink,
|
24
|
-
WithArchiveLinkPaper: () => WithArchiveLinkPaper,
|
25
|
-
WithBuilderSample: () => WithBuilderSample,
|
26
|
-
WithBuilderSamplePaper: () => WithBuilderSamplePaper,
|
27
|
-
WithSample: () => WithSample,
|
28
|
-
WithSamplePaper: () => WithSamplePaper,
|
29
|
-
default: () => Details_stories_default
|
30
|
-
});
|
31
|
-
module.exports = __toCommonJS(Details_stories_exports);
|
32
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
33
|
-
var import_react_storybook = require("@xyo-network/react-storybook");
|
34
|
-
var import_react_router_dom = require("react-router-dom");
|
35
|
-
var import_Details = require("./Details");
|
36
|
-
const StorybookEntry = {
|
37
|
-
argTypes: {},
|
38
|
-
component: import_Details.PayloadDetails,
|
39
|
-
parameters: {
|
40
|
-
docs: {
|
41
|
-
page: null
|
42
|
-
}
|
43
|
-
},
|
44
|
-
title: "payload/Details"
|
45
|
-
};
|
46
|
-
const Template = (args) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.BrowserRouter, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_router_dom.Routes, { children: [
|
47
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.Route, { path: "temp", element: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { children: "Successfully navigated to archivePath" }) }),
|
48
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.Route, { path: "*", element: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Details.PayloadDetails, { ...args }) })
|
49
|
-
] }) });
|
50
|
-
const Default = Template.bind({});
|
51
|
-
Default.args = {};
|
52
|
-
Default.decorators = [import_react_storybook.useAppThemeDecorator];
|
53
|
-
const WithSample = Template.bind({});
|
54
|
-
WithSample.args = { payload: import_react_storybook.sampleIdPayload };
|
55
|
-
WithSample.decorators = [import_react_storybook.useAppThemeDecorator];
|
56
|
-
const WithBuilderSample = Template.bind({});
|
57
|
-
WithBuilderSample.args = { payload: import_react_storybook.samplePayloadFromBuilder };
|
58
|
-
WithBuilderSample.decorators = [import_react_storybook.useAppThemeDecorator];
|
59
|
-
const WithArchiveLink = Template.bind({});
|
60
|
-
WithArchiveLink.args = { payload: import_react_storybook.samplePayloadFromBuilder };
|
61
|
-
WithArchiveLink.decorators = [import_react_storybook.useAppThemeDecorator];
|
62
|
-
const DefaultPaper = Template.bind({});
|
63
|
-
DefaultPaper.args = { paper: true };
|
64
|
-
DefaultPaper.decorators = [import_react_storybook.useAppThemeDecorator];
|
65
|
-
const WithSamplePaper = Template.bind({});
|
66
|
-
WithSamplePaper.args = { paper: true, payload: import_react_storybook.sampleIdPayload };
|
67
|
-
WithSamplePaper.decorators = [import_react_storybook.useAppThemeDecorator];
|
68
|
-
const WithBuilderSamplePaper = Template.bind({});
|
69
|
-
WithBuilderSamplePaper.args = { paper: true, payload: import_react_storybook.samplePayloadFromBuilder };
|
70
|
-
WithBuilderSamplePaper.decorators = [import_react_storybook.useAppThemeDecorator];
|
71
|
-
const WithArchiveLinkPaper = Template.bind({});
|
72
|
-
WithArchiveLinkPaper.args = { paper: true, payload: import_react_storybook.samplePayloadFromBuilder };
|
73
|
-
WithArchiveLinkPaper.decorators = [import_react_storybook.useAppThemeDecorator];
|
74
|
-
var Details_stories_default = StorybookEntry;
|
75
|
-
// Annotate the CommonJS export names for ESM import in node:
|
76
|
-
0 && (module.exports = {
|
77
|
-
Default,
|
78
|
-
DefaultPaper,
|
79
|
-
WithArchiveLink,
|
80
|
-
WithArchiveLinkPaper,
|
81
|
-
WithBuilderSample,
|
82
|
-
WithBuilderSamplePaper,
|
83
|
-
WithSample,
|
84
|
-
WithSamplePaper
|
85
|
-
});
|
86
|
-
//# sourceMappingURL=Details.stories.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Details/Details.stories.tsx"],"sourcesContent":["import { Meta, StoryFn } from '@storybook/react'\nimport { sampleIdPayload, samplePayloadFromBuilder, useAppThemeDecorator } from '@xyo-network/react-storybook'\nimport { BrowserRouter, Route, Routes } from 'react-router-dom'\n\nimport { PayloadDetails } from './Details'\n\nconst StorybookEntry = {\n argTypes: {},\n component: PayloadDetails,\n parameters: {\n docs: {\n page: null,\n },\n },\n title: 'payload/Details',\n} as Meta<typeof PayloadDetails>\n\nconst Template: StoryFn<typeof PayloadDetails> = (args) => (\n <BrowserRouter>\n <Routes>\n <Route path=\"temp\" element={<h1>Successfully navigated to archivePath</h1>} />\n <Route path=\"*\" element={<PayloadDetails {...args}></PayloadDetails>}></Route>\n </Routes>\n </BrowserRouter>\n)\n\nconst Default = Template.bind({})\nDefault.args = {}\nDefault.decorators = [useAppThemeDecorator]\n\nconst WithSample = Template.bind({})\nWithSample.args = { payload: sampleIdPayload }\nWithSample.decorators = [useAppThemeDecorator]\n\nconst WithBuilderSample = Template.bind({})\nWithBuilderSample.args = { payload: samplePayloadFromBuilder }\nWithBuilderSample.decorators = [useAppThemeDecorator]\n\nconst WithArchiveLink = Template.bind({})\nWithArchiveLink.args = { payload: samplePayloadFromBuilder }\nWithArchiveLink.decorators = [useAppThemeDecorator]\n\nconst DefaultPaper = Template.bind({})\nDefaultPaper.args = { paper: true }\nDefaultPaper.decorators = [useAppThemeDecorator]\n\nconst WithSamplePaper = Template.bind({})\nWithSamplePaper.args = { paper: true, payload: sampleIdPayload }\nWithSamplePaper.decorators = [useAppThemeDecorator]\n\nconst WithBuilderSamplePaper = Template.bind({})\nWithBuilderSamplePaper.args = { paper: true, payload: samplePayloadFromBuilder }\nWithBuilderSamplePaper.decorators = [useAppThemeDecorator]\n\nconst WithArchiveLinkPaper = Template.bind({})\nWithArchiveLinkPaper.args = { paper: true, payload: samplePayloadFromBuilder }\nWithArchiveLinkPaper.decorators = [useAppThemeDecorator]\n\nexport { Default, DefaultPaper, WithArchiveLink, WithArchiveLinkPaper, WithBuilderSample, WithBuilderSamplePaper, WithSample, WithSamplePaper }\n\n// eslint-disable-next-line import/no-default-export\nexport default StorybookEntry\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBI;AAlBJ,6BAAgF;AAChF,8BAA6C;AAE7C,qBAA+B;AAE/B,MAAM,iBAAiB;AAAA,EACrB,UAAU,CAAC;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,OAAO;AACT;AAEA,MAAM,WAA2C,CAAC,SAChD,4CAAC,yCACC,uDAAC,kCACC;AAAA,8CAAC,iCAAM,MAAK,QAAO,SAAS,4CAAC,QAAG,mDAAqC,GAAO;AAAA,EAC5E,4CAAC,iCAAM,MAAK,KAAI,SAAS,4CAAC,iCAAgB,GAAG,MAAM,GAAmB;AAAA,GACxE,GACF;AAGF,MAAM,UAAU,SAAS,KAAK,CAAC,CAAC;AAChC,QAAQ,OAAO,CAAC;AAChB,QAAQ,aAAa,CAAC,2CAAoB;AAE1C,MAAM,aAAa,SAAS,KAAK,CAAC,CAAC;AACnC,WAAW,OAAO,EAAE,SAAS,uCAAgB;AAC7C,WAAW,aAAa,CAAC,2CAAoB;AAE7C,MAAM,oBAAoB,SAAS,KAAK,CAAC,CAAC;AAC1C,kBAAkB,OAAO,EAAE,SAAS,gDAAyB;AAC7D,kBAAkB,aAAa,CAAC,2CAAoB;AAEpD,MAAM,kBAAkB,SAAS,KAAK,CAAC,CAAC;AACxC,gBAAgB,OAAO,EAAE,SAAS,gDAAyB;AAC3D,gBAAgB,aAAa,CAAC,2CAAoB;AAElD,MAAM,eAAe,SAAS,KAAK,CAAC,CAAC;AACrC,aAAa,OAAO,EAAE,OAAO,KAAK;AAClC,aAAa,aAAa,CAAC,2CAAoB;AAE/C,MAAM,kBAAkB,SAAS,KAAK,CAAC,CAAC;AACxC,gBAAgB,OAAO,EAAE,OAAO,MAAM,SAAS,uCAAgB;AAC/D,gBAAgB,aAAa,CAAC,2CAAoB;AAElD,MAAM,yBAAyB,SAAS,KAAK,CAAC,CAAC;AAC/C,uBAAuB,OAAO,EAAE,OAAO,MAAM,SAAS,gDAAyB;AAC/E,uBAAuB,aAAa,CAAC,2CAAoB;AAEzD,MAAM,uBAAuB,SAAS,KAAK,CAAC,CAAC;AAC7C,qBAAqB,OAAO,EAAE,OAAO,MAAM,SAAS,gDAAyB;AAC7E,qBAAqB,aAAa,CAAC,2CAAoB;AAKvD,IAAO,0BAAQ;","names":[]}
|