@xyo-network/react-payload-raw-info 9.0.6 → 9.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,6 +8,6 @@ Part of [@xyo-network/sdk-xyo-react](https://www.npmjs.com/package/@xyo-network/
8
8
 
9
9
  ## Credits
10
10
 
11
- [Made with 🔥 and ❄️ by XYO](https://xyo.network)
11
+ [Made with 🔥 and ❄️ by XYO Foundation](https://xyo.network)
12
12
 
13
- [logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
13
+ [logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
@@ -216,7 +216,7 @@ var RawInfoButton = ({
216
216
  event.stopPropagation();
217
217
  setOpen(true);
218
218
  };
219
- const onCloseCallBackWrapped = () => {
219
+ const onCloseCallbackWrapped = () => {
220
220
  setOpen(false);
221
221
  onCloseCallback?.();
222
222
  };
@@ -238,7 +238,7 @@ var RawInfoButton = ({
238
238
  {
239
239
  defaultExpandedJson,
240
240
  jsonValue: json,
241
- onCloseCallback: onCloseCallBackWrapped,
241
+ onCloseCallback: onCloseCallbackWrapped,
242
242
  dialogContent,
243
243
  open,
244
244
  updateExpandedJson
@@ -271,7 +271,7 @@ var RawInfoIconButton = ({
271
271
  event.stopPropagation();
272
272
  setOpen(true);
273
273
  };
274
- const onCloseCallBackWrapped = () => {
274
+ const onCloseCallbackWrapped = () => {
275
275
  setOpen(false);
276
276
  onCloseCallback?.();
277
277
  };
@@ -282,7 +282,7 @@ var RawInfoIconButton = ({
282
282
  {
283
283
  defaultExpandedJson,
284
284
  jsonValue: json,
285
- onCloseCallback: onCloseCallBackWrapped,
285
+ onCloseCallback: onCloseCallbackWrapped,
286
286
  dialogContent,
287
287
  open,
288
288
  updateExpandedJson
@@ -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 { 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"],
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
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.6",
3
+ "version": "9.1.1",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -41,44 +41,42 @@
41
41
  "README.md"
42
42
  ],
43
43
  "dependencies": {
44
- "@xyo-network/react-shared": "~9.0.6"
44
+ "@xyo-network/react-shared": "~9.1.1"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@bitauth/libauth": "~3.0.0",
48
48
  "@metamask/providers": "^22.1.1",
49
- "@mui/icons-material": "^9.0.1",
50
- "@mui/material": "^9.0.1",
49
+ "@mui/icons-material": "^9.1.1",
50
+ "@mui/material": "^9.1.1",
51
51
  "@noble/post-quantum": "~0.6.1",
52
52
  "@opentelemetry/api": "^1.9.1",
53
- "@opentelemetry/sdk-trace-base": "^2.7.1",
54
- "@react-spring/web": "~10.1.0",
53
+ "@opentelemetry/sdk-trace-base": "^2.8.0",
54
+ "@react-spring/web": "~10.1.1",
55
55
  "@scure/base": "~2.2.0",
56
56
  "@scure/bip39": "~2.2.0",
57
- "@storybook/react-vite": "~10.4.2",
57
+ "@storybook/react-vite": "~10.4.4",
58
58
  "@types/react": "^19.2.17",
59
- "@xylabs/geo": "^6.0.10",
60
- "@xylabs/pixel": "~6.0.10",
61
- "@xylabs/react-button": "~9.0.4",
62
- "@xylabs/react-flexbox": "~9.0.4",
63
- "@xylabs/react-hooks": "~9.0.4",
64
- "@xylabs/react-link": "~9.0.4",
65
- "@xylabs/react-promise": "~9.0.4",
66
- "@xylabs/react-shared": "~9.0.4",
67
- "@xylabs/react-theme": "~9.0.4",
68
- "@xylabs/sdk-js": "^6.0.10",
69
- "@xylabs/sdk-react": "~9.0.4",
70
- "@xylabs/threads": "^6.0.10",
71
- "@xylabs/toolchain": "~8.1.16",
72
- "@xylabs/tsconfig": "^8.1.16",
73
- "@xylabs/tsconfig-dom": "^8.1.16",
74
- "@xylabs/tsconfig-react": "~8.1.16",
75
- "@xyo-network/sdk-js": "^6.0.4",
76
- "@xyo-network/sdk-protocol-js": "~6.0.9",
59
+ "@xylabs/eth-address": "^6.1.1",
60
+ "@xylabs/geo": "^6.1.1",
61
+ "@xylabs/pixel": "^6.1.1",
62
+ "@xylabs/react-button": "^9.1.0",
63
+ "@xylabs/react-flexbox": "^9.1.0",
64
+ "@xylabs/react-hooks": "^9.1.0",
65
+ "@xylabs/react-link": "^9.1.0",
66
+ "@xylabs/react-promise": "^9.1.0",
67
+ "@xylabs/react-shared": "^9.1.0",
68
+ "@xylabs/react-theme": "^9.1.0",
69
+ "@xylabs/sdk-js": "^6.1.1",
70
+ "@xylabs/sdk-react": "~9.1",
71
+ "@xylabs/threads": "^6.1.1",
72
+ "@xylabs/toolchain": "~8.1.20",
73
+ "@xylabs/tsconfig": "^8.1.20",
74
+ "@xylabs/tsconfig-dom": "^8.1.20",
75
+ "@xylabs/tsconfig-react": "~8.1.20",
76
+ "@xyo-network/sdk-js": "^6.1.0",
77
+ "@xyo-network/sdk-protocol-js": "^6.1.1",
77
78
  "ajv": "^8.20.0",
78
79
  "async-mutex": "^0.5.0",
79
- "bn.js": "^5.2.3",
80
- "bowser": "^2.14.1",
81
- "buffer": "^6.0.3",
82
80
  "clsx": "~2.1.1",
83
81
  "debug": "~4.4.3",
84
82
  "eslint": "^10.4.1",
@@ -87,17 +85,13 @@
87
85
  "idb": "^8.0.3",
88
86
  "lru-cache": "^11.5.1",
89
87
  "md5": "~2.3.0",
90
- "mixpanel-browser": "~2.80.0",
91
88
  "numeral": "~2.0.6",
92
89
  "observable-fns": "~0.6.1",
93
90
  "query-string": "~9.4.0",
94
91
  "react": "^19.2.7",
95
92
  "react-dom": "^19.2.7",
96
- "react-is": "^19.2.7",
97
93
  "react-router-dom": "^7.17.0",
98
- "recharts": "^3.8.1",
99
- "spark-md5": "~3.0.2",
100
- "storybook": "^10.4.2",
94
+ "storybook": "^10.4.4",
101
95
  "typescript": "^6.0.3",
102
96
  "viem": "^2.52.2",
103
97
  "vite": "^8.0.16",
@@ -116,25 +110,23 @@
116
110
  "@react-spring/web": "~10.1",
117
111
  "@scure/base": "~2.2",
118
112
  "@scure/bip39": "~2.2",
113
+ "@xylabs/eth-address": "^6.1.0",
119
114
  "@xylabs/geo": "^6.0",
120
- "@xylabs/pixel": "~6.0",
121
- "@xylabs/react-button": "~9.0",
122
- "@xylabs/react-flexbox": "~9.0",
123
- "@xylabs/react-hooks": "~9.0",
124
- "@xylabs/react-link": "~9.0",
125
- "@xylabs/react-promise": "~9.0",
126
- "@xylabs/react-shared": "~9.0",
127
- "@xylabs/react-theme": "~9.0",
115
+ "@xylabs/pixel": "^6.1",
116
+ "@xylabs/react-button": "^9.1",
117
+ "@xylabs/react-flexbox": "^9.1",
118
+ "@xylabs/react-hooks": "^9.1",
119
+ "@xylabs/react-link": "^9.1",
120
+ "@xylabs/react-promise": "^9.1",
121
+ "@xylabs/react-shared": "^9.1",
122
+ "@xylabs/react-theme": "^9.1",
128
123
  "@xylabs/sdk-js": "^6.0",
129
- "@xylabs/sdk-react": "~9.0",
124
+ "@xylabs/sdk-react": "^9.1",
130
125
  "@xylabs/threads": "^6.0",
131
126
  "@xyo-network/sdk-js": "^6.0",
132
- "@xyo-network/sdk-protocol-js": "~6.0",
127
+ "@xyo-network/sdk-protocol-js": "^6.1",
133
128
  "ajv": "^8.20",
134
129
  "async-mutex": "^0.5",
135
- "bn.js": "^5.2",
136
- "bowser": "^2.14",
137
- "buffer": "^6.0",
138
130
  "clsx": "~2.1",
139
131
  "debug": "~4.4",
140
132
  "ethers": "^6.16",
@@ -142,16 +134,12 @@
142
134
  "idb": "^8.0",
143
135
  "lru-cache": "^11.3",
144
136
  "md5": "~2.3",
145
- "mixpanel-browser": "~2.80",
146
137
  "numeral": "~2.0",
147
138
  "observable-fns": "~0.6",
148
139
  "query-string": "~9.4",
149
140
  "react": "^19.2",
150
141
  "react-dom": "^19.2",
151
- "react-is": "^19.2",
152
142
  "react-router-dom": "^7.15",
153
- "recharts": "^3.8",
154
- "spark-md5": "~3.0",
155
143
  "viem": "^2.48",
156
144
  "webextension-polyfill": "^0.12",
157
145
  "zod": "^4.4",