@xyo-network/react-payload-details 3.0.2 → 3.0.4

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 (30) hide show
  1. package/dist/browser/components/Details/DataDetails.d.ts +11 -0
  2. package/dist/browser/components/Details/DataDetails.d.ts.map +1 -0
  3. package/dist/browser/components/Details/Details.d.ts +18 -0
  4. package/dist/browser/components/Details/Details.d.ts.map +1 -0
  5. package/dist/browser/components/Details/HashSourceDetails.d.ts +9 -0
  6. package/dist/browser/components/Details/HashSourceDetails.d.ts.map +1 -0
  7. package/dist/browser/components/Details/JsonDetails.d.ts +10 -0
  8. package/dist/browser/components/Details/JsonDetails.d.ts.map +1 -0
  9. package/dist/browser/components/Details/ValidationDetails/ValidationDetails.d.ts +4 -0
  10. package/dist/browser/components/Details/ValidationDetails/ValidationDetails.d.ts.map +1 -0
  11. package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.d.ts +7 -0
  12. package/dist/browser/components/Details/ValidationDetails/ValidationDetailsProps.d.ts.map +1 -0
  13. package/dist/browser/components/Details/ValidationDetails/index.d.ts +3 -0
  14. package/dist/browser/components/Details/ValidationDetails/index.d.ts.map +1 -0
  15. package/dist/browser/components/Details/index.d.ts +5 -0
  16. package/dist/browser/components/Details/index.d.ts.map +1 -0
  17. package/dist/browser/components/index.d.ts +2 -0
  18. package/dist/browser/components/index.d.ts.map +1 -0
  19. package/dist/browser/index.d.ts +2 -44
  20. package/dist/browser/index.d.ts.map +1 -0
  21. package/dist/browser/index.mjs.map +1 -1
  22. package/package.json +57 -49
  23. package/src/components/Details/DataDetails.tsx +6 -2
  24. package/src/components/Details/Details.stories.tsx +7 -7
  25. package/src/components/Details/Details.tsx +3 -1
  26. package/src/components/Details/HashSourceDetails.tsx +15 -4
  27. package/src/components/Details/JsonDetails.tsx +13 -3
  28. package/src/components/Details/ValidationDetails/ValidationDetails.stories.tsx +5 -11
  29. package/src/components/Details/ValidationDetails/ValidationDetails.tsx +3 -1
  30. package/xy.config.ts +1 -3
@@ -0,0 +1,11 @@
1
+ import type { Payload } from '@xyo-network/payload-model';
2
+ import type { PropertyProps } from '@xyo-network/react-property';
3
+ import type { SizeProp } from '@xyo-network/react-shared';
4
+ import React from 'react';
5
+ export type PayloadDataDetailsProps = PropertyProps & {
6
+ badge?: boolean;
7
+ payload?: Payload;
8
+ size?: SizeProp;
9
+ };
10
+ export declare const PayloadDataDetails: React.FC<PayloadDataDetailsProps>;
11
+ //# sourceMappingURL=DataDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/Details/DataDetails.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IACpD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA0DhE,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import type { Payload } from '@xyo-network/payload-model';
3
+ import React from 'react';
4
+ export type WithPaper<T> = T & {
5
+ paper: true;
6
+ };
7
+ export type WithoutPaper<T> = T & {
8
+ paper?: false;
9
+ };
10
+ export type PayloadDetailsProps = FlexBoxProps & {
11
+ paper?: boolean;
12
+ payload?: Payload;
13
+ };
14
+ export declare const PayloadDetails: React.ForwardRefExoticComponent<import("@xylabs/react-flexbox").BusyBoxProps & {
15
+ paper?: boolean;
16
+ payload?: Payload;
17
+ } & React.RefAttributes<HTMLDivElement>>;
18
+ //# sourceMappingURL=Details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Details.d.ts","sourceRoot":"","sources":["../../../../src/components/Details/Details.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAqB,MAAM,OAAO,CAAA;AAMzC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAA;AAC9C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAEnD,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,cAAc;YAJjB,OAAO;cACL,OAAO;wCAajB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import type { Payload } from '@xyo-network/payload-model';
3
+ import React from 'react';
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":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAMzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,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,CA0C5E,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { Payload } from '@xyo-network/payload-model';
2
+ import type { JsonViewerExProps } from '@xyo-network/react-payload-raw-info';
3
+ import type { PropertyGroupProps } from '@xyo-network/react-property';
4
+ import React from 'react';
5
+ export type PayloadJsonDetailsProps = PropertyGroupProps & {
6
+ jsonViewProps?: JsonViewerExProps;
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":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG;IACzD,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkChE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { PayloadValidationDetailsProps } from './ValidationDetailsProps.ts';
3
+ export declare const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps>;
4
+ //# sourceMappingURL=ValidationDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationDetails.d.ts","sourceRoot":"","sources":["../../../../../src/components/Details/ValidationDetails/ValidationDetails.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAEhF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAmC5E,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { Payload } from '@xyo-network/payload-model';
2
+ import type { PropertyGroupProps } from '@xyo-network/react-property';
3
+ export type PayloadValidationDetailsProps = PropertyGroupProps & {
4
+ skipBody?: boolean;
5
+ value?: Payload;
6
+ };
7
+ //# sourceMappingURL=ValidationDetailsProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationDetailsProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/Details/ValidationDetails/ValidationDetailsProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,MAAM,MAAM,6BAA6B,GAAG,kBAAkB,GAAG;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './ValidationDetails.tsx';
2
+ export * from './ValidationDetailsProps.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Details/ValidationDetails/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './DataDetails.tsx';
2
+ export * from './Details.tsx';
3
+ export * from './JsonDetails.tsx';
4
+ export * from './ValidationDetails/index.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Details/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Details/index.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
@@ -1,44 +1,2 @@
1
- import { Payload } from '@xyo-network/payload-model';
2
- import { PropertyProps, PropertyGroupProps } from '@xyo-network/react-property';
3
- import { SizeProp } from '@xyo-network/react-shared';
4
- import React from 'react';
5
- import * as _xylabs_react_flexbox from '@xylabs/react-flexbox';
6
- import { FlexBoxProps } from '@xylabs/react-flexbox';
7
- import { JsonViewerExProps } from '@xyo-network/react-payload-raw-info';
8
-
9
- type PayloadDataDetailsProps = PropertyProps & {
10
- badge?: boolean;
11
- payload?: Payload;
12
- size?: SizeProp;
13
- };
14
- declare const PayloadDataDetails: React.FC<PayloadDataDetailsProps>;
15
-
16
- type WithPaper<T> = T & {
17
- paper: true;
18
- };
19
- type WithoutPaper<T> = T & {
20
- paper?: false;
21
- };
22
- type PayloadDetailsProps = FlexBoxProps & {
23
- paper?: boolean;
24
- payload?: Payload;
25
- };
26
- declare const PayloadDetails: React.ForwardRefExoticComponent<_xylabs_react_flexbox.BusyBoxProps & {
27
- paper?: boolean;
28
- payload?: Payload;
29
- } & React.RefAttributes<HTMLDivElement>>;
30
-
31
- type PayloadJsonDetailsProps = PropertyGroupProps & {
32
- jsonViewProps?: JsonViewerExProps;
33
- payload?: Payload;
34
- };
35
- declare const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps>;
36
-
37
- type PayloadValidationDetailsProps = PropertyGroupProps & {
38
- skipBody?: boolean;
39
- value?: Payload;
40
- };
41
-
42
- declare const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps>;
43
-
44
- export { PayloadDataDetails, type PayloadDataDetailsProps, PayloadDetails, type PayloadDetailsProps, PayloadJsonDetails, type PayloadJsonDetailsProps, PayloadValidationDetails, type PayloadValidationDetailsProps, type WithPaper, type WithoutPaper };
1
+ export * from './components/index.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -1 +1 @@
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 { forget } from '@xylabs/forget'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { PropertyAction, PropertyProps } from '@xyo-network/react-property'\nimport { Property } from '@xyo-network/react-property'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport React, { useState } from 'react'\n\nimport { PayloadHashSourceDetails } from './HashSourceDetails.tsx'\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: () => forget(navigator.clipboard.writeText(hash ?? '')),\n },\n ]\n\n const onCopy = () => {\n forget(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 type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\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\n ? null\n : (\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 ? (\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 )\n : null}\n </FlexCol>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { forwardRef } from 'react'\n\nimport { PayloadDataDetails } from './DataDetails.tsx'\nimport { PayloadJsonDetails } from './JsonDetails.tsx'\nimport { PayloadValidationDetails } from './ValidationDetails/index.ts'\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 type { Payload } from '@xyo-network/payload-model'\nimport type { JsonViewerExProps } from '@xyo-network/react-payload-raw-info'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport type { PropertyGroupProps } from '@xyo-network/react-property'\nimport { PropertyGroup } from '@xyo-network/react-property'\nimport React from 'react'\n\nexport type PayloadJsonDetailsProps = PropertyGroupProps & {\n jsonViewProps?: JsonViewerExProps\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' ? 'dark' : 'light'\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 <JsonViewerEx\n groupArraysAfterLength={20}\n style={{ backgroundColor: undefined, overflow: 'hidden' }}\n value={payload}\n enableClipboard\n theme={jsonTheme}\n collapseStringsAfterLength={belowSm ? 24 : 32}\n {...jsonViewProps}\n />\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'\nimport React from 'react'\n\nimport type { PayloadValidationDetailsProps } from './ValidationDetailsProps.ts'\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 ? (\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 {value?.schema && <SchemaProperty flexGrow={1} titleProps={{ elevation }} value={value.schema} />}\n </PropertyGroup>\n )\n}\n"],"mappings":"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","names":["ContentCopy","ContentCopyIcon","Visibility","VisibilityIcon","Dialog","DialogActions","DialogContent","DialogTitle","forget","ButtonEx","PayloadHasher","Property","usePayloadHash","React","useState","ContentCopy","ContentCopyIcon","IconButton","Typography","useTheme","FlexCol","FlexGrowRow","FlexRow","QuickTipButton","PayloadHasher","React","PayloadHashSourceDetails","noTitle","payload","props","theme","useTheme","payloadString","JSON","stringify","PayloadHasher","hashFields","FlexCol","alignItems","FlexRow","margin","justifyContent","Typography","QuickTipButton","title","FlexGrowRow","background","border","borderColor","palette","divider","padding","fontFamily","variant","sx","overflowWrap","wordBreak","IconButton","ContentCopyIcon","PayloadDataDetails","size","badge","payload","props","payloadString","JSON","stringify","PayloadHasher","hashFields","viewSourceOpen","setViewSourceOpen","useState","hash","usePayloadHash","elevation","paper","actions","icon","React","VisibilityIcon","name","onClick","ContentCopyIcon","forget","navigator","clipboard","writeText","onCopy","Property","titleProps","title","value","tip","Dialog","open","onClose","DialogTitle","DialogContent","PayloadHashSourceDetails","noTitle","DialogActions","ButtonEx","color","FlexCol","React","forwardRef","Paper","useMediaQuery","useTheme","JsonViewerEx","PropertyGroup","React","PayloadJsonDetails","jsonViewProps","payload","props","breakpoints","palette","useTheme","belowSm","useMediaQuery","down","elevation","paper","jsonTheme","mode","React","PropertyGroup","titleProps","title","tip","Paper","square","variant","style","overflow","padding","width","JsonViewerEx","groupArraysAfterLength","backgroundColor","undefined","value","enableClipboard","theme","collapseStringsAfterLength","Typography","FlexCol","usePromise","PayloadValidator","Property","PropertyGroup","SchemaProperty","React","PayloadValidationDetails","skipBody","value","props","validateErrors","usePromise","PayloadValidator","validate","undefined","bodyErrors","errors","elevation","paper","React","PropertyGroup","titleProps","title","tip","Property","flexGrow","length","FlexCol","map","error","index","Typography","key","toString","schema","SchemaProperty","PayloadDetails","forwardRef","paper","payload","props","ref","React","FlexCol","gap","justifyContent","alignItems","marginTop","marginBottom","PayloadDataDetails","size","badge","PayloadValidationDetails","value","PayloadJsonDetails","displayName"]}
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 {\n Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport { forget } from '@xylabs/forget'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { PropertyAction, PropertyProps } from '@xyo-network/react-property'\nimport { Property } from '@xyo-network/react-property'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport React, { useState } from 'react'\n\nimport { PayloadHashSourceDetails } from './HashSourceDetails.tsx'\n\nexport type PayloadDataDetailsProps = PropertyProps & {\n badge?: boolean\n payload?: Payload\n size?: SizeProp\n}\n\nexport const PayloadDataDetails: React.FC<PayloadDataDetailsProps> = ({\n size, badge, payload, ...props\n}) => {\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: () => forget(navigator.clipboard.writeText(hash ?? '')),\n },\n ]\n\n const onCopy = () => {\n forget(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 {\n IconButton, Typography, useTheme,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport {\n FlexCol, FlexGrowRow, FlexRow,\n} from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\n\nexport interface PayloadHashSourceDetailsProps extends FlexBoxProps {\n noTitle?: boolean\n payload?: Payload\n}\n\nexport const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> = ({\n noTitle = false, payload, ...props\n}) => {\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\n ? null\n : (\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\n padding={2}\n fontFamily=\"monospace\"\n variant=\"body1\"\n sx={{ overflowWrap: 'break-word', wordBreak: 'break-all' }}\n >\n {payloadString}\n </Typography>\n </FlexGrowRow>\n <IconButton>\n <ContentCopyIcon />\n </IconButton>\n </FlexRow>\n {noTitle\n ? (\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 )\n : null}\n </FlexCol>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { forwardRef } from 'react'\n\nimport { PayloadDataDetails } from './DataDetails.tsx'\nimport { PayloadJsonDetails } from './JsonDetails.tsx'\nimport { PayloadValidationDetails } from './ValidationDetails/index.ts'\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>(({\n paper, payload, ...props\n}, 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 {\n Paper, useMediaQuery, useTheme,\n} from '@mui/material'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { JsonViewerExProps } from '@xyo-network/react-payload-raw-info'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport type { PropertyGroupProps } from '@xyo-network/react-property'\nimport { PropertyGroup } from '@xyo-network/react-property'\nimport React from 'react'\n\nexport type PayloadJsonDetailsProps = PropertyGroupProps & {\n jsonViewProps?: JsonViewerExProps\n payload?: Payload\n}\n\nexport const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({\n jsonViewProps, payload, ...props\n}) => {\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' ? 'dark' : 'light'\n\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"JSON\" tip=\"The raw JSON of the payload\" {...props}>\n <Paper\n square\n variant=\"elevation\"\n style={{\n overflow: 'hidden', padding: '16px', width: '100%',\n }}\n >\n <JsonViewerEx\n groupArraysAfterLength={20}\n style={{ backgroundColor: undefined, overflow: 'hidden' }}\n value={payload}\n enableClipboard\n theme={jsonTheme}\n collapseStringsAfterLength={belowSm ? 24 : 32}\n {...jsonViewProps}\n />\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'\nimport React from 'react'\n\nimport type { PayloadValidationDetailsProps } from './ValidationDetailsProps.ts'\n\nexport const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps> = ({\n skipBody = false, value, ...props\n}) => {\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 ? (\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 {value?.schema && <SchemaProperty flexGrow={1} titleProps={{ elevation }} value={value.schema} />}\n </PropertyGroup>\n )\n}\n"],"mappings":"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","names":["ContentCopy","ContentCopyIcon","Visibility","VisibilityIcon","Dialog","DialogActions","DialogContent","DialogTitle","forget","ButtonEx","PayloadHasher","Property","usePayloadHash","React","useState","ContentCopy","ContentCopyIcon","IconButton","Typography","useTheme","FlexCol","FlexGrowRow","FlexRow","QuickTipButton","PayloadHasher","React","PayloadHashSourceDetails","noTitle","payload","props","theme","useTheme","payloadString","JSON","stringify","PayloadHasher","hashFields","FlexCol","alignItems","FlexRow","margin","justifyContent","Typography","QuickTipButton","title","FlexGrowRow","background","border","borderColor","palette","divider","padding","fontFamily","variant","sx","overflowWrap","wordBreak","IconButton","ContentCopyIcon","PayloadDataDetails","size","badge","payload","props","payloadString","JSON","stringify","PayloadHasher","hashFields","viewSourceOpen","setViewSourceOpen","useState","hash","usePayloadHash","elevation","paper","actions","icon","React","VisibilityIcon","name","onClick","ContentCopyIcon","forget","navigator","clipboard","writeText","onCopy","Property","titleProps","title","value","tip","Dialog","open","onClose","DialogTitle","DialogContent","PayloadHashSourceDetails","noTitle","DialogActions","ButtonEx","color","FlexCol","React","forwardRef","Paper","useMediaQuery","useTheme","JsonViewerEx","PropertyGroup","React","PayloadJsonDetails","jsonViewProps","payload","props","breakpoints","palette","useTheme","belowSm","useMediaQuery","down","elevation","paper","jsonTheme","mode","React","PropertyGroup","titleProps","title","tip","Paper","square","variant","style","overflow","padding","width","JsonViewerEx","groupArraysAfterLength","backgroundColor","undefined","value","enableClipboard","theme","collapseStringsAfterLength","Typography","FlexCol","usePromise","PayloadValidator","Property","PropertyGroup","SchemaProperty","React","PayloadValidationDetails","skipBody","value","props","validateErrors","usePromise","PayloadValidator","validate","undefined","bodyErrors","errors","elevation","paper","React","PropertyGroup","titleProps","title","tip","Property","flexGrow","length","FlexCol","map","error","index","Typography","key","toString","schema","SchemaProperty","PayloadDetails","forwardRef","paper","payload","props","ref","React","FlexCol","gap","justifyContent","alignItems","marginTop","marginBottom","PayloadDataDetails","size","badge","PayloadValidationDetails","value","PayloadJsonDetails","displayName"]}
package/package.json CHANGED
@@ -1,34 +1,75 @@
1
1
  {
2
2
  "name": "@xyo-network/react-payload-details",
3
+ "version": "3.0.4",
4
+ "description": "Common React library for all XYO projects that use React",
5
+ "keywords": [
6
+ "xyo",
7
+ "utility",
8
+ "typescript",
9
+ "react"
10
+ ],
11
+ "homepage": "https://xyo.network",
12
+ "bugs": {
13
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues",
14
+ "email": "support@xyo.network"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
19
+ },
20
+ "license": "LGPL-3.0-only",
3
21
  "author": {
4
- "email": "support@xyo.network",
5
22
  "name": "XYO Development Team",
23
+ "email": "support@xyo.network",
6
24
  "url": "https://xyo.network"
7
25
  },
8
- "bugs": {
9
- "email": "support@xyo.network",
10
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
26
+ "sideEffects": false,
27
+ "type": "module",
28
+ "exports": {
29
+ ".": {
30
+ "import": {
31
+ "types": "./dist/browser/index.d.ts",
32
+ "default": "./dist/browser/index.mjs"
33
+ },
34
+ "types": "./dist/browser/index.d.ts",
35
+ "default": "./dist/browser/index.mjs"
36
+ },
37
+ "./package.json": "./package.json"
38
+ },
39
+ "module": "dist/browser/index.mjs",
40
+ "types": "dist/browser/index.d.ts",
41
+ "scripts": {
42
+ "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\"",
43
+ "lint-pkg": "npmPkgJsonLint ."
11
44
  },
12
45
  "dependencies": {
13
- "@xylabs/forget": "^4.0.2",
46
+ "@xylabs/forget": "^4.0.5",
14
47
  "@xylabs/react-button": "^4.0.3",
15
48
  "@xylabs/react-flexbox": "^4.0.3",
16
49
  "@xylabs/react-promise": "^4.0.3",
17
50
  "@xylabs/react-quick-tip-button": "^4.0.3",
18
- "@xyo-network/hash": "^3.0.3",
19
- "@xyo-network/payload-model": "^3.0.3",
20
- "@xyo-network/payload-validator": "^3.0.3",
21
- "@xyo-network/react-payload-raw-info": "^3.0.2",
22
- "@xyo-network/react-property": "^3.0.2",
23
- "@xyo-network/react-schema": "^3.0.2",
24
- "@xyo-network/react-shared": "^3.0.2"
51
+ "@xyo-network/hash": "^3.0.15",
52
+ "@xyo-network/payload-model": "^3.0.15",
53
+ "@xyo-network/payload-validator": "^3.0.15",
54
+ "@xyo-network/react-payload-raw-info": "^3.0.4",
55
+ "@xyo-network/react-property": "^3.0.4",
56
+ "@xyo-network/react-schema": "^3.0.4",
57
+ "@xyo-network/react-shared": "^3.0.4"
25
58
  },
26
59
  "devDependencies": {
60
+ "@emotion/react": "^11.13.3",
61
+ "@emotion/styled": "^11.13.0",
62
+ "@mui/icons-material": "^5.16.7",
63
+ "@mui/material": "^5.16.7",
64
+ "@mui/styles": "^5.16.7",
27
65
  "@storybook/react": "^8.2.9",
28
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
29
- "@xylabs/tsconfig-react": "^4.0.0-rc.20",
30
- "@xyo-network/react-storybook": "^3.0.2",
66
+ "@xylabs/ts-scripts-yarn3": "^4.0.7",
67
+ "@xylabs/tsconfig-react": "^4.0.7",
68
+ "@xyo-network/react-storybook": "^3.0.4",
69
+ "react": "^18.3.1",
70
+ "react-dom": "^18.3.1",
31
71
  "react-router-dom": "^6.26.1",
72
+ "storybook": "^8.2.9",
32
73
  "typescript": "^5.5.4"
33
74
  },
34
75
  "peerDependencies": {
@@ -40,41 +81,8 @@
40
81
  "react": "^18",
41
82
  "react-dom": "^18"
42
83
  },
43
- "description": "Common React library for all XYO projects that use React",
44
- "docs": "dist/docs.json",
45
- "exports": {
46
- ".": {
47
- "import": {
48
- "types": "./dist/browser/index.d.ts",
49
- "default": "./dist/browser/index.mjs"
50
- },
51
- "types": "./dist/browser/index.d.ts",
52
- "default": "./dist/browser/index.mjs"
53
- },
54
- "./package.json": "./package.json"
55
- },
56
- "module": "dist/browser/index.mjs",
57
- "homepage": "https://xyo.network",
58
- "keywords": [
59
- "xyo",
60
- "utility",
61
- "typescript",
62
- "react"
63
- ],
64
- "license": "LGPL-3.0-only",
65
84
  "publishConfig": {
66
85
  "access": "public"
67
86
  },
68
- "repository": {
69
- "type": "git",
70
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
71
- },
72
- "scripts": {
73
- "lint-pkg": "npmPkgJsonLint .",
74
- "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\""
75
- },
76
- "sideEffects": false,
77
- "types": "dist/browser/index.d.ts",
78
- "version": "3.0.2",
79
- "type": "module"
87
+ "docs": "dist/docs.json"
80
88
  }
@@ -1,5 +1,7 @@
1
1
  import { ContentCopy as ContentCopyIcon, Visibility as VisibilityIcon } from '@mui/icons-material'
2
- import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'
2
+ import {
3
+ Dialog, DialogActions, DialogContent, DialogTitle,
4
+ } from '@mui/material'
3
5
  import { forget } from '@xylabs/forget'
4
6
  import { ButtonEx } from '@xylabs/react-button'
5
7
  import { PayloadHasher } from '@xyo-network/hash'
@@ -18,7 +20,9 @@ export type PayloadDataDetailsProps = PropertyProps & {
18
20
  size?: SizeProp
19
21
  }
20
22
 
21
- export const PayloadDataDetails: React.FC<PayloadDataDetailsProps> = ({ size, badge, payload, ...props }) => {
23
+ export const PayloadDataDetails: React.FC<PayloadDataDetailsProps> = ({
24
+ size, badge, payload, ...props
25
+ }) => {
22
26
  const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : ''
23
27
 
24
28
  const [viewSourceOpen, setViewSourceOpen] = useState(false)
@@ -1,18 +1,16 @@
1
1
  import type { Meta, StoryFn } from '@storybook/react'
2
2
  import { sampleIdPayload, samplePayloadFromBuilder } from '@xyo-network/react-storybook'
3
3
  import React from 'react'
4
- import { BrowserRouter, Route, Routes } from 'react-router-dom'
4
+ import {
5
+ BrowserRouter, Route, Routes,
6
+ } from 'react-router-dom'
5
7
 
6
8
  import { PayloadDetails } from './Details.tsx'
7
9
 
8
10
  const StorybookEntry = {
9
11
  argTypes: {},
10
12
  component: PayloadDetails,
11
- parameters: {
12
- docs: {
13
- page: null,
14
- },
15
- },
13
+ parameters: { docs: { page: null } },
16
14
  title: 'payload/Details',
17
15
  } as Meta<typeof PayloadDetails>
18
16
 
@@ -49,6 +47,8 @@ WithBuilderSamplePaper.args = { paper: true, payload: samplePayloadFromBuilder }
49
47
  const WithArchiveLinkPaper = Template.bind({})
50
48
  WithArchiveLinkPaper.args = { paper: true, payload: samplePayloadFromBuilder }
51
49
 
52
- export { Default, DefaultPaper, WithArchiveLink, WithArchiveLinkPaper, WithBuilderSample, WithBuilderSamplePaper, WithSample, WithSamplePaper }
50
+ export {
51
+ Default, DefaultPaper, WithArchiveLink, WithArchiveLinkPaper, WithBuilderSample, WithBuilderSamplePaper, WithSample, WithSamplePaper,
52
+ }
53
53
 
54
54
  export default StorybookEntry
@@ -15,7 +15,9 @@ export type PayloadDetailsProps = FlexBoxProps & {
15
15
  payload?: Payload
16
16
  }
17
17
 
18
- export const PayloadDetails = forwardRef<HTMLDivElement, PayloadDetailsProps>(({ paper, payload, ...props }, ref) => {
18
+ export const PayloadDetails = forwardRef<HTMLDivElement, PayloadDetailsProps>(({
19
+ paper, payload, ...props
20
+ }, ref) => {
19
21
  return (
20
22
  <FlexCol gap={1} justifyContent="flex-start" alignItems="stretch" marginTop={2} marginBottom={8} ref={ref} {...props}>
21
23
  <PayloadDataDetails paper={paper} size="large" badge payload={payload} />
@@ -1,7 +1,11 @@
1
1
  import { ContentCopy as ContentCopyIcon } from '@mui/icons-material'
2
- import { IconButton, Typography, useTheme } from '@mui/material'
2
+ import {
3
+ IconButton, Typography, useTheme,
4
+ } from '@mui/material'
3
5
  import type { FlexBoxProps } from '@xylabs/react-flexbox'
4
- import { FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'
6
+ import {
7
+ FlexCol, FlexGrowRow, FlexRow,
8
+ } from '@xylabs/react-flexbox'
5
9
  import { QuickTipButton } from '@xylabs/react-quick-tip-button'
6
10
  import { PayloadHasher } from '@xyo-network/hash'
7
11
  import type { Payload } from '@xyo-network/payload-model'
@@ -12,7 +16,9 @@ export interface PayloadHashSourceDetailsProps extends FlexBoxProps {
12
16
  payload?: Payload
13
17
  }
14
18
 
15
- export const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> = ({ noTitle = false, payload, ...props }) => {
19
+ export const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> = ({
20
+ noTitle = false, payload, ...props
21
+ }) => {
16
22
  const theme = useTheme()
17
23
  const payloadString = payload ? JSON.stringify(PayloadHasher.hashFields(payload), null, 2) : ''
18
24
 
@@ -28,7 +34,12 @@ export const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> =
28
34
  )}
29
35
  <FlexRow>
30
36
  <FlexGrowRow background border={1} borderColor={theme.palette.divider} justifyContent="start">
31
- <Typography padding={2} fontFamily="monospace" variant="body1" sx={{ overflowWrap: 'break-word', wordBreak: 'break-all' }}>
37
+ <Typography
38
+ padding={2}
39
+ fontFamily="monospace"
40
+ variant="body1"
41
+ sx={{ overflowWrap: 'break-word', wordBreak: 'break-all' }}
42
+ >
32
43
  {payloadString}
33
44
  </Typography>
34
45
  </FlexGrowRow>
@@ -1,4 +1,6 @@
1
- import { Paper, useMediaQuery, useTheme } from '@mui/material'
1
+ import {
2
+ Paper, useMediaQuery, useTheme,
3
+ } from '@mui/material'
2
4
  import type { Payload } from '@xyo-network/payload-model'
3
5
  import type { JsonViewerExProps } from '@xyo-network/react-payload-raw-info'
4
6
  import { JsonViewerEx } from '@xyo-network/react-payload-raw-info'
@@ -11,7 +13,9 @@ export type PayloadJsonDetailsProps = PropertyGroupProps & {
11
13
  payload?: Payload
12
14
  }
13
15
 
14
- export const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({ jsonViewProps, payload, ...props }) => {
16
+ export const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({
17
+ jsonViewProps, payload, ...props
18
+ }) => {
15
19
  const { breakpoints, palette } = useTheme()
16
20
  const belowSm = useMediaQuery(breakpoints.down('sm'))
17
21
 
@@ -24,7 +28,13 @@ export const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({ jsonView
24
28
 
25
29
  return (
26
30
  <PropertyGroup titleProps={{ elevation }} title="JSON" tip="The raw JSON of the payload" {...props}>
27
- <Paper square variant="elevation" style={{ overflow: 'hidden', padding: '16px', width: '100%' }}>
31
+ <Paper
32
+ square
33
+ variant="elevation"
34
+ style={{
35
+ overflow: 'hidden', padding: '16px', width: '100%',
36
+ }}
37
+ >
28
38
  <JsonViewerEx
29
39
  groupArraysAfterLength={20}
30
40
  style={{ backgroundColor: undefined, overflow: 'hidden' }}
@@ -10,17 +10,9 @@ import type { PayloadValidationDetailsProps } from './ValidationDetailsProps.ts'
10
10
 
11
11
  const StorybookEntry: Meta = {
12
12
  argTypes: {},
13
- args: {
14
- value: {
15
- schema: 'network.xyo.schema',
16
- },
17
- },
13
+ args: { value: { schema: 'network.xyo.schema' } },
18
14
  component: PayloadDetails,
19
- parameters: {
20
- docs: {
21
- page: null,
22
- },
23
- },
15
+ parameters: { docs: { page: null } },
24
16
  title: 'payload/ValidationDetails',
25
17
  }
26
18
 
@@ -56,6 +48,8 @@ SkipBody.args = {
56
48
  } as Payload,
57
49
  }
58
50
 
59
- export { Default, SkipBody, WithErrorsInToolTip }
51
+ export {
52
+ Default, SkipBody, WithErrorsInToolTip,
53
+ }
60
54
 
61
55
  export default StorybookEntry
@@ -8,7 +8,9 @@ import React from 'react'
8
8
 
9
9
  import type { PayloadValidationDetailsProps } from './ValidationDetailsProps.ts'
10
10
 
11
- export const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps> = ({ skipBody = false, value, ...props }) => {
11
+ export const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps> = ({
12
+ skipBody = false, value, ...props
13
+ }) => {
12
14
  const [validateErrors] = usePromise(async () => (value ? await new PayloadValidator(value).validate() : undefined), [value])
13
15
 
14
16
  const bodyErrors = skipBody ? [] : (validateErrors ?? [])
package/xy.config.ts CHANGED
@@ -1,9 +1,7 @@
1
1
  import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
- browser: {
5
- src: true,
6
- },
4
+ browser: { src: true },
7
5
  node: {},
8
6
  neutral: {},
9
7
  },