@xyo-network/react-payload-raw-info 9.0.2 → 9.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonViewerCollapse.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/Dialog/JsonViewerCollapse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"JsonViewerCollapse.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/Dialog/JsonViewerCollapse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAI3D,MAAM,WAAW,sBAAuB,SAAQ,aAAa,EAAE,cAAc;IAC3E,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAgD/D,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -53,9 +53,8 @@ import {
|
|
|
53
53
|
} from "@mui/material";
|
|
54
54
|
import { FlexCol, FlexRow } from "@xylabs/react-flexbox";
|
|
55
55
|
import { usePromise } from "@xylabs/react-promise";
|
|
56
|
-
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
57
|
-
import { isAnyPayload } from "@xyo-network/payload-model";
|
|
58
56
|
import { useDataState } from "@xyo-network/react-shared";
|
|
57
|
+
import { isAnyPayload, PayloadBuilder } from "@xyo-network/sdk-js";
|
|
59
58
|
|
|
60
59
|
// src/components/styled/StyledChipLabel.tsx
|
|
61
60
|
import { styled, Typography } from "@mui/material";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/Button/RawInfoButton.tsx", "../../src/components/img/index.tsx", "../../src/components/shared/Dialog/JsonViewerCollapse.tsx", "../../src/components/styled/StyledChipLabel.tsx", "../../src/components/shared/JsonViewerEx.tsx", "../../src/components/shared/Dialog/RawInfoDialog.tsx", "../../src/components/Button/lib/presetIconSize.ts", "../../src/components/Button/RawInfoIconButton.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { ButtonExProps } from '@xylabs/react-button'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { toSafeJson } from '@xylabs/sdk-js'\nimport type { MouseEventHandler, ReactNode } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ExpansionProps } from '../../lib/index.ts'\nimport { XyoColorLogo } from '../img/index.tsx'\nimport { RawInfoDialog } from '../shared/index.ts'\nimport type { IconSize } from './lib/index.ts'\nimport { presetIconSizeValue } from './lib/index.ts'\n\nexport type RawInfoButtonProps = ButtonExProps & ExpansionProps & {\n dialogContent?: ReactNode\n iconOnly?: boolean\n iconSize?: number\n onCloseCallback?: () => void\n presetIconSize?: IconSize\n rawValue?: unknown\n}\n\nexport const RawInfoButton: React.FC<RawInfoButtonProps> = ({\n defaultExpandedJson = true,\n dialogContent,\n iconOnly,\n iconSize = 24,\n onCloseCallback,\n children,\n rawValue,\n presetIconSize,\n updateExpandedJson,\n ...props\n}) => {\n const [open, setOpen] = useState(false)\n const size = presetIconSizeValue(presetIconSize)\n const json = useMemo(() => toSafeJson(rawValue), [rawValue])\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n event.stopPropagation()\n setOpen(true)\n }\n\n const onCloseCallBackWrapped = () => {\n setOpen(false)\n onCloseCallback?.()\n }\n\n return (\n <span>\n <ButtonEx\n variant=\"outlined\"\n size=\"small\"\n startIcon={(\n <XyoColorLogo sx={{ height: size ?? iconSize, width: size ?? iconSize }} />\n )}\n onClick={handleClick}\n disabled={iconOnly ? false : !rawValue}\n {...props}\n >\n {children ?? <span>Data</span>}\n </ButtonEx>\n {iconOnly\n ? null\n : (\n <RawInfoDialog\n defaultExpandedJson={defaultExpandedJson}\n jsonValue={json}\n onCloseCallback={onCloseCallBackWrapped}\n dialogContent={dialogContent}\n open={open}\n updateExpandedJson={updateExpandedJson}\n />\n )}\n </span>\n )\n}\n", "/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const XyoColorLogo = createSvgIcon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 238\">\n <path\n className=\"cls-1\"\n d=\"M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z\"\n fill=\"#8d8fc6\"\n />\n <path\n className=\"cls-2\"\n d=\"M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z\"\n fill=\"#579fd6\"\n />\n <path\n className=\"cls-3\"\n d=\"M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z\"\n fill=\"#f27046\"\n />\n <path\n className=\"cls-4\"\n d=\"M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z\"\n fill=\"#eb407a\"\n />\n </svg>,\n 'XyoColorLogo',\n)\n", "import type { CollapseProps } from '@mui/material'\nimport {\n Button, Chip, Collapse, Typography,\n} from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { JsonValue } from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isAnyPayload } from '@xyo-network/payload-model'\nimport { useDataState } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport type { ExpansionProps } from '../../../lib/index.ts'\nimport { StyledChipLabel } from '../../styled/index.ts'\nimport { JsonViewerEx } from '../JsonViewerEx.tsx'\n\nexport interface RawInfoPayloadCollapse extends CollapseProps, ExpansionProps {\n jsonValue?: JsonValue\n}\n\nexport const JsonViewerCollapse: React.FC<RawInfoPayloadCollapse> = ({\n defaultExpandedJson, jsonValue, updateExpandedJson, ...props\n}) => {\n const [expandedJson, setExpandedJson] = useDataState(defaultExpandedJson)\n\n const [hash] = usePromise(async () => {\n if (!jsonValue || !isAnyPayload(jsonValue)) return\n return await PayloadBuilder.dataHash(jsonValue)\n }, [jsonValue])\n\n const actionText = expandedJson ? 'Hide JSON' : 'Show JSON'\n\n const handleExpansion = () => {\n updateExpandedJson?.(!expandedJson)\n setExpandedJson(!expandedJson)\n }\n\n return (\n <>\n {jsonValue\n ? (\n <FlexRow>\n <Button onClick={handleExpansion} size=\"small\" variant=\"outlined\">\n {actionText}\n </Button>\n </FlexRow>\n )\n : null}\n <Collapse in={expandedJson} {...props}>\n {jsonValue\n ? (\n <FlexCol\n sx={{\n alignItems: 'stretch',\n gap: 1.5,\n }}\n >\n <Typography sx={{ lineHeight: 1 }}>Payload Hash:</Typography>\n {hash\n ? <Chip label={<StyledChipLabel>{hash}</StyledChipLabel>} sx={{ alignSelf: 'start' }} />\n : null}\n <JsonViewerEx value={jsonValue} />\n </FlexCol>\n )\n : null}\n </Collapse>\n </>\n )\n}\n", "import { styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const StyledChipLabel: React.FC<React.ComponentProps<typeof Typography>> = styled(Typography, { name: 'StyledChipLabel' })(({ theme }) => ({\n display: 'block',\n lineHeight: 1,\n overflow: 'hidden',\n paddingRight: theme.spacing(0.95),\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}))\n", "import { useTheme } from '@mui/material'\nimport { useIsDark } from '@xylabs/react-theme'\nimport { JsonViewer, type JsonViewerProps } from '@xylabs/sdk-react'\nimport React from 'react'\n\nexport type JsonViewerExProps = JsonViewerProps\n\nexport const JsonViewerEx: React.FC<JsonViewerExProps> = (props) => {\n const theme = useTheme()\n const isDark = useIsDark()\n\n return (\n <JsonViewer\n theme={isDark ? 'dark' : 'light'}\n collapseStringsAfterLength={50}\n style={{\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n }}\n {...props}\n />\n )\n}\n", "import type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport type { JsonValue } from '@xylabs/sdk-js'\nimport type { MouseEventHandler, ReactNode } from 'react'\nimport React from 'react'\n\nimport type { ExpansionProps } from '../../../lib/index.ts'\nimport { JsonViewerCollapse } from './JsonViewerCollapse.tsx'\n\nexport interface RawInfoDialogProps extends DialogProps, ExpansionProps {\n dialogContent?: ReactNode\n jsonValue?: JsonValue\n onCloseCallback?: () => void\n}\n\nexport const RawInfoDialog: React.FC<RawInfoDialogProps> = ({\n defaultExpandedJson,\n dialogContent,\n onCloseCallback,\n jsonValue: jsonObject,\n updateExpandedJson,\n open = false,\n ...props\n}) => {\n const onDialogClick: MouseEventHandler<HTMLSpanElement> = (event) => {\n event.stopPropagation()\n }\n\n return (\n // Wrapping in a span so we can catch click events and prevent them from propagating outside the component\n <span onClick={onDialogClick}>\n <Dialog\n fullWidth\n onClose={() => onCloseCallback?.()}\n open={open}\n {...props}\n sx={[{ maxWidth: 'lg' }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <DialogTitle>Raw Data</DialogTitle>\n <DialogContent sx={{\n display: 'flex', flexDirection: 'column', gap: 2,\n }}\n >\n {dialogContent}\n <JsonViewerCollapse defaultExpandedJson={defaultExpandedJson} jsonValue={jsonObject} updateExpandedJson={updateExpandedJson} />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => onCloseCallback?.()}>\n Close\n </Button>\n </DialogActions>\n </Dialog>\n </span>\n )\n}\n", "import type { IconSize } from './IconSize.ts'\n\nexport const presetIconSizeValue = (size?: IconSize) => {\n switch (size) {\n case 'small': {\n return 16\n }\n case 'medium': {\n return 32\n }\n case 'large': {\n return 48\n }\n }\n}\n", "import type { IconButtonProps } from '@mui/material'\nimport { IconButton } from '@mui/material'\nimport { toSafeJson } from '@xylabs/sdk-js'\nimport type { MouseEventHandler, ReactNode } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ExpansionProps } from '../../lib/index.ts'\nimport { XyoColorLogo } from '../img/index.tsx'\nimport { RawInfoDialog } from '../shared/index.ts'\nimport type { IconSize } from './lib/index.ts'\nimport { presetIconSizeValue } from './lib/index.ts'\n\nexport interface RawInfoIconProps extends IconButtonProps, ExpansionProps {\n dialogContent?: ReactNode\n iconOnly?: boolean\n iconSize?: number\n onCloseCallback?: () => void\n presetIconSize?: IconSize\n rawValue?: unknown\n}\n\nexport const RawInfoIconButton = (\n {\n ref, defaultExpandedJson = true, dialogContent, iconOnly, iconSize = 32, onCloseCallback, rawValue, presetIconSize, updateExpandedJson, ...props\n }: RawInfoIconProps & { ref?: React.RefObject<HTMLButtonElement | null> },\n) => {\n const [open, setOpen] = useState(false)\n const size = presetIconSizeValue(presetIconSize)\n const json = useMemo(() => toSafeJson(rawValue), [rawValue])\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n event.stopPropagation()\n setOpen(true)\n }\n\n const onCloseCallBackWrapped = () => {\n setOpen(false)\n onCloseCallback?.()\n }\n\n return (\n <>\n <IconButton onClick={handleClick} ref={ref} {...props}>\n <XyoColorLogo sx={{ height: size ?? iconSize, width: size ?? iconSize }} />\n </IconButton>\n {iconOnly\n ? null\n : (\n <RawInfoDialog\n defaultExpandedJson={defaultExpandedJson}\n jsonValue={json}\n onCloseCallback={onCloseCallBackWrapped}\n dialogContent={dialogContent}\n open={open}\n updateExpandedJson={updateExpandedJson}\n />\n )}\n </>\n )\n}\n\nRawInfoIconButton.displayName = 'RawInfoIcon'\n"],
|
|
5
|
-
"mappings": ";AACA,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAE3B,SAAgB,SAAS,gBAAgB;;;ACHzC,SAAS,qBAAqB;AAI5B,SACE,KADF;AADK,IAAM,eAAe;AAAA,EAC1B,qBAAC,SAAI,OAAM,8BAA6B,SAAQ,eAC9C;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,KACF;AAAA,EACA;AACF;;;AC3BA;AAAA,EACE;AAAA,EAAQ;AAAA,EAAM;AAAA,EAAU,cAAAA;AAAA,OACnB;AACP,SAAS,SAAS,eAAe;AACjC,SAAS,kBAAkB;AAE3B,SAAS,
|
|
4
|
+
"sourcesContent": ["import type { ButtonExProps } from '@xylabs/react-button'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { toSafeJson } from '@xylabs/sdk-js'\nimport type { MouseEventHandler, ReactNode } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ExpansionProps } from '../../lib/index.ts'\nimport { XyoColorLogo } from '../img/index.tsx'\nimport { RawInfoDialog } from '../shared/index.ts'\nimport type { IconSize } from './lib/index.ts'\nimport { presetIconSizeValue } from './lib/index.ts'\n\nexport type RawInfoButtonProps = ButtonExProps & ExpansionProps & {\n dialogContent?: ReactNode\n iconOnly?: boolean\n iconSize?: number\n onCloseCallback?: () => void\n presetIconSize?: IconSize\n rawValue?: unknown\n}\n\nexport const RawInfoButton: React.FC<RawInfoButtonProps> = ({\n defaultExpandedJson = true,\n dialogContent,\n iconOnly,\n iconSize = 24,\n onCloseCallback,\n children,\n rawValue,\n presetIconSize,\n updateExpandedJson,\n ...props\n}) => {\n const [open, setOpen] = useState(false)\n const size = presetIconSizeValue(presetIconSize)\n const json = useMemo(() => toSafeJson(rawValue), [rawValue])\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n event.stopPropagation()\n setOpen(true)\n }\n\n const onCloseCallBackWrapped = () => {\n setOpen(false)\n onCloseCallback?.()\n }\n\n return (\n <span>\n <ButtonEx\n variant=\"outlined\"\n size=\"small\"\n startIcon={(\n <XyoColorLogo sx={{ height: size ?? iconSize, width: size ?? iconSize }} />\n )}\n onClick={handleClick}\n disabled={iconOnly ? false : !rawValue}\n {...props}\n >\n {children ?? <span>Data</span>}\n </ButtonEx>\n {iconOnly\n ? null\n : (\n <RawInfoDialog\n defaultExpandedJson={defaultExpandedJson}\n jsonValue={json}\n onCloseCallback={onCloseCallBackWrapped}\n dialogContent={dialogContent}\n open={open}\n updateExpandedJson={updateExpandedJson}\n />\n )}\n </span>\n )\n}\n", "/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const XyoColorLogo = createSvgIcon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 238\">\n <path\n className=\"cls-1\"\n d=\"M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z\"\n fill=\"#8d8fc6\"\n />\n <path\n className=\"cls-2\"\n d=\"M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z\"\n fill=\"#579fd6\"\n />\n <path\n className=\"cls-3\"\n d=\"M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z\"\n fill=\"#f27046\"\n />\n <path\n className=\"cls-4\"\n d=\"M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z\"\n fill=\"#eb407a\"\n />\n </svg>,\n 'XyoColorLogo',\n)\n", "import type { CollapseProps } from '@mui/material'\nimport {\n Button, Chip, Collapse, Typography,\n} from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { JsonValue } from '@xylabs/sdk-js'\nimport { useDataState } from '@xyo-network/react-shared'\nimport { isAnyPayload, PayloadBuilder } from '@xyo-network/sdk-js'\nimport React from 'react'\n\nimport type { ExpansionProps } from '../../../lib/index.ts'\nimport { StyledChipLabel } from '../../styled/index.ts'\nimport { JsonViewerEx } from '../JsonViewerEx.tsx'\n\nexport interface RawInfoPayloadCollapse extends CollapseProps, ExpansionProps {\n jsonValue?: JsonValue\n}\n\nexport const JsonViewerCollapse: React.FC<RawInfoPayloadCollapse> = ({\n defaultExpandedJson, jsonValue, updateExpandedJson, ...props\n}) => {\n const [expandedJson, setExpandedJson] = useDataState(defaultExpandedJson)\n\n const [hash] = usePromise(async () => {\n if (!jsonValue || !isAnyPayload(jsonValue)) return\n return await PayloadBuilder.dataHash(jsonValue)\n }, [jsonValue])\n\n const actionText = expandedJson ? 'Hide JSON' : 'Show JSON'\n\n const handleExpansion = () => {\n updateExpandedJson?.(!expandedJson)\n setExpandedJson(!expandedJson)\n }\n\n return (\n <>\n {jsonValue\n ? (\n <FlexRow>\n <Button onClick={handleExpansion} size=\"small\" variant=\"outlined\">\n {actionText}\n </Button>\n </FlexRow>\n )\n : null}\n <Collapse in={expandedJson} {...props}>\n {jsonValue\n ? (\n <FlexCol\n sx={{\n alignItems: 'stretch',\n gap: 1.5,\n }}\n >\n <Typography sx={{ lineHeight: 1 }}>Payload Hash:</Typography>\n {hash\n ? <Chip label={<StyledChipLabel>{hash}</StyledChipLabel>} sx={{ alignSelf: 'start' }} />\n : null}\n <JsonViewerEx value={jsonValue} />\n </FlexCol>\n )\n : null}\n </Collapse>\n </>\n )\n}\n", "import { styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const StyledChipLabel: React.FC<React.ComponentProps<typeof Typography>> = styled(Typography, { name: 'StyledChipLabel' })(({ theme }) => ({\n display: 'block',\n lineHeight: 1,\n overflow: 'hidden',\n paddingRight: theme.spacing(0.95),\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}))\n", "import { useTheme } from '@mui/material'\nimport { useIsDark } from '@xylabs/react-theme'\nimport { JsonViewer, type JsonViewerProps } from '@xylabs/sdk-react'\nimport React from 'react'\n\nexport type JsonViewerExProps = JsonViewerProps\n\nexport const JsonViewerEx: React.FC<JsonViewerExProps> = (props) => {\n const theme = useTheme()\n const isDark = useIsDark()\n\n return (\n <JsonViewer\n theme={isDark ? 'dark' : 'light'}\n collapseStringsAfterLength={50}\n style={{\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n }}\n {...props}\n />\n )\n}\n", "import type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport type { JsonValue } from '@xylabs/sdk-js'\nimport type { MouseEventHandler, ReactNode } from 'react'\nimport React from 'react'\n\nimport type { ExpansionProps } from '../../../lib/index.ts'\nimport { JsonViewerCollapse } from './JsonViewerCollapse.tsx'\n\nexport interface RawInfoDialogProps extends DialogProps, ExpansionProps {\n dialogContent?: ReactNode\n jsonValue?: JsonValue\n onCloseCallback?: () => void\n}\n\nexport const RawInfoDialog: React.FC<RawInfoDialogProps> = ({\n defaultExpandedJson,\n dialogContent,\n onCloseCallback,\n jsonValue: jsonObject,\n updateExpandedJson,\n open = false,\n ...props\n}) => {\n const onDialogClick: MouseEventHandler<HTMLSpanElement> = (event) => {\n event.stopPropagation()\n }\n\n return (\n // Wrapping in a span so we can catch click events and prevent them from propagating outside the component\n <span onClick={onDialogClick}>\n <Dialog\n fullWidth\n onClose={() => onCloseCallback?.()}\n open={open}\n {...props}\n sx={[{ maxWidth: 'lg' }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <DialogTitle>Raw Data</DialogTitle>\n <DialogContent sx={{\n display: 'flex', flexDirection: 'column', gap: 2,\n }}\n >\n {dialogContent}\n <JsonViewerCollapse defaultExpandedJson={defaultExpandedJson} jsonValue={jsonObject} updateExpandedJson={updateExpandedJson} />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => onCloseCallback?.()}>\n Close\n </Button>\n </DialogActions>\n </Dialog>\n </span>\n )\n}\n", "import type { IconSize } from './IconSize.ts'\n\nexport const presetIconSizeValue = (size?: IconSize) => {\n switch (size) {\n case 'small': {\n return 16\n }\n case 'medium': {\n return 32\n }\n case 'large': {\n return 48\n }\n }\n}\n", "import type { IconButtonProps } from '@mui/material'\nimport { IconButton } from '@mui/material'\nimport { toSafeJson } from '@xylabs/sdk-js'\nimport type { MouseEventHandler, ReactNode } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ExpansionProps } from '../../lib/index.ts'\nimport { XyoColorLogo } from '../img/index.tsx'\nimport { RawInfoDialog } from '../shared/index.ts'\nimport type { IconSize } from './lib/index.ts'\nimport { presetIconSizeValue } from './lib/index.ts'\n\nexport interface RawInfoIconProps extends IconButtonProps, ExpansionProps {\n dialogContent?: ReactNode\n iconOnly?: boolean\n iconSize?: number\n onCloseCallback?: () => void\n presetIconSize?: IconSize\n rawValue?: unknown\n}\n\nexport const RawInfoIconButton = (\n {\n ref, defaultExpandedJson = true, dialogContent, iconOnly, iconSize = 32, onCloseCallback, rawValue, presetIconSize, updateExpandedJson, ...props\n }: RawInfoIconProps & { ref?: React.RefObject<HTMLButtonElement | null> },\n) => {\n const [open, setOpen] = useState(false)\n const size = presetIconSizeValue(presetIconSize)\n const json = useMemo(() => toSafeJson(rawValue), [rawValue])\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n event.stopPropagation()\n setOpen(true)\n }\n\n const onCloseCallBackWrapped = () => {\n setOpen(false)\n onCloseCallback?.()\n }\n\n return (\n <>\n <IconButton onClick={handleClick} ref={ref} {...props}>\n <XyoColorLogo sx={{ height: size ?? iconSize, width: size ?? iconSize }} />\n </IconButton>\n {iconOnly\n ? null\n : (\n <RawInfoDialog\n defaultExpandedJson={defaultExpandedJson}\n jsonValue={json}\n onCloseCallback={onCloseCallBackWrapped}\n dialogContent={dialogContent}\n open={open}\n updateExpandedJson={updateExpandedJson}\n />\n )}\n </>\n )\n}\n\nRawInfoIconButton.displayName = 'RawInfoIcon'\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Typography", "jsx", "jsx", "jsxs", "Typography", "Button", "jsx", "jsxs", "Button", "jsx", "jsxs", "toSafeJson", "useMemo", "useState", "Fragment", "jsx", "jsxs", "useState", "useMemo", "toSafeJson"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-payload-raw-info",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.4",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -41,18 +41,22 @@
|
|
|
41
41
|
"README.md"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@xyo-network/react-shared": "~9.0.
|
|
44
|
+
"@xyo-network/react-shared": "~9.0.4"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@bitauth/libauth": "~3.0.0",
|
|
48
|
+
"@metamask/providers": "^22.1.1",
|
|
48
49
|
"@mui/icons-material": "^9.0.1",
|
|
49
50
|
"@mui/material": "^9.0.1",
|
|
51
|
+
"@noble/post-quantum": "~0.6.1",
|
|
50
52
|
"@opentelemetry/api": "^1.9.1",
|
|
51
53
|
"@opentelemetry/sdk-trace-base": "^2.7.1",
|
|
52
54
|
"@react-spring/web": "~10.1.0",
|
|
53
55
|
"@scure/base": "~2.2.0",
|
|
54
|
-
"@
|
|
56
|
+
"@scure/bip39": "~2.2.0",
|
|
57
|
+
"@storybook/react-vite": "~10.4.2",
|
|
55
58
|
"@types/react": "^19.2.16",
|
|
59
|
+
"@xylabs/geo": "^6.0.7",
|
|
56
60
|
"@xylabs/pixel": "~6.0.7",
|
|
57
61
|
"@xylabs/react-button": "~9.0.2",
|
|
58
62
|
"@xylabs/react-flexbox": "~9.0.2",
|
|
@@ -64,14 +68,13 @@
|
|
|
64
68
|
"@xylabs/sdk-js": "^6.0.7",
|
|
65
69
|
"@xylabs/sdk-react": "~9.0.2",
|
|
66
70
|
"@xylabs/threads": "^6.0.7",
|
|
67
|
-
"@xylabs/toolchain": "~8.1.
|
|
68
|
-
"@xylabs/tsconfig": "^8.1.
|
|
69
|
-
"@xylabs/tsconfig-dom": "^8.1.
|
|
70
|
-
"@xylabs/tsconfig-react": "~8.1.
|
|
71
|
-
"@xyo-network/
|
|
72
|
-
"@xyo-network/
|
|
73
|
-
"
|
|
74
|
-
"@xyo-network/payload-model": "^6.0.7",
|
|
71
|
+
"@xylabs/toolchain": "~8.1.15",
|
|
72
|
+
"@xylabs/tsconfig": "^8.1.15",
|
|
73
|
+
"@xylabs/tsconfig-dom": "^8.1.15",
|
|
74
|
+
"@xylabs/tsconfig-react": "~8.1.15",
|
|
75
|
+
"@xyo-network/sdk-js": "^6.0.2",
|
|
76
|
+
"@xyo-network/sdk-protocol-js": "~6.0.7",
|
|
77
|
+
"ajv": "^8.20.0",
|
|
75
78
|
"async-mutex": "^0.5.0",
|
|
76
79
|
"bn.js": "^5.2.3",
|
|
77
80
|
"bowser": "^2.14.1",
|
|
@@ -81,6 +84,7 @@
|
|
|
81
84
|
"eslint": "^10.4.1",
|
|
82
85
|
"ethers": "^6.16.0",
|
|
83
86
|
"hash-wasm": "~4.12.0",
|
|
87
|
+
"idb": "^8.0.3",
|
|
84
88
|
"lru-cache": "^11.5.1",
|
|
85
89
|
"md5": "~2.3.0",
|
|
86
90
|
"mixpanel-browser": "~2.80.0",
|
|
@@ -92,21 +96,26 @@
|
|
|
92
96
|
"react-dom": "^19.2.7",
|
|
93
97
|
"react-router-dom": "^7.16.0",
|
|
94
98
|
"spark-md5": "~3.0.2",
|
|
95
|
-
"storybook": "^10.4.
|
|
99
|
+
"storybook": "^10.4.2",
|
|
96
100
|
"typescript": "^6.0.3",
|
|
97
101
|
"viem": "^2.52.0",
|
|
98
102
|
"vite": "^8.0.16",
|
|
103
|
+
"webextension-polyfill": "^0.12.0",
|
|
99
104
|
"zod": "^4.4.3",
|
|
100
105
|
"zustand": "~5.0.14"
|
|
101
106
|
},
|
|
102
107
|
"peerDependencies": {
|
|
103
108
|
"@bitauth/libauth": "~3.0",
|
|
109
|
+
"@metamask/providers": "^22.1",
|
|
104
110
|
"@mui/icons-material": "^9.0",
|
|
105
111
|
"@mui/material": "^9.0",
|
|
112
|
+
"@noble/post-quantum": "~0.6.1",
|
|
106
113
|
"@opentelemetry/api": "^1.9",
|
|
107
114
|
"@opentelemetry/sdk-trace-base": "^2.7",
|
|
108
115
|
"@react-spring/web": "~10.1",
|
|
109
116
|
"@scure/base": "~2.2",
|
|
117
|
+
"@scure/bip39": "~2.2",
|
|
118
|
+
"@xylabs/geo": "^6.0",
|
|
110
119
|
"@xylabs/pixel": "~6.0",
|
|
111
120
|
"@xylabs/react-button": "~9.0",
|
|
112
121
|
"@xylabs/react-flexbox": "~9.0",
|
|
@@ -118,10 +127,9 @@
|
|
|
118
127
|
"@xylabs/sdk-js": "^6.0",
|
|
119
128
|
"@xylabs/sdk-react": "~9.0",
|
|
120
129
|
"@xylabs/threads": "^6.0",
|
|
121
|
-
"@xyo-network/
|
|
122
|
-
"@xyo-network/
|
|
123
|
-
"
|
|
124
|
-
"@xyo-network/payload-model": "^6.0",
|
|
130
|
+
"@xyo-network/sdk-js": "^6.0",
|
|
131
|
+
"@xyo-network/sdk-protocol-js": "~6.0",
|
|
132
|
+
"ajv": "^8.20",
|
|
125
133
|
"async-mutex": "^0.5",
|
|
126
134
|
"bn.js": "^5.2",
|
|
127
135
|
"bowser": "^2.14",
|
|
@@ -130,6 +138,7 @@
|
|
|
130
138
|
"debug": "~4.4",
|
|
131
139
|
"ethers": "^6.16",
|
|
132
140
|
"hash-wasm": "~4.12",
|
|
141
|
+
"idb": "^8.0",
|
|
133
142
|
"lru-cache": "^11.3",
|
|
134
143
|
"md5": "~2.3",
|
|
135
144
|
"mixpanel-browser": "~2.80",
|
|
@@ -142,6 +151,7 @@
|
|
|
142
151
|
"react-router-dom": "^7.15",
|
|
143
152
|
"spark-md5": "~3.0",
|
|
144
153
|
"viem": "^2.48",
|
|
154
|
+
"webextension-polyfill": "^0.12",
|
|
145
155
|
"zod": "^4.4",
|
|
146
156
|
"zustand": "~5.0"
|
|
147
157
|
},
|