@xyo-network/react-chain-shared 1.21.2 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsStack.d.ts","sourceRoot":"","sources":["../../../../src/components/stack/DetailsStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAM/C,OAAO,KAAK,EACV,aAAa,EAAE,SAAS,EAAE,aAAa,EACxC,MAAM,OAAO,CAAA;AACd,OAAO,KAAkB,MAAM,OAAO,CAAA;AAMtC;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,aAAa,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAA;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoCpD,CAAA"}
1
+ {"version":3,"file":"DetailsStack.d.ts","sourceRoot":"","sources":["../../../../src/components/stack/DetailsStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAM/C,OAAO,KAAK,EACV,aAAa,EAAE,SAAS,EAAE,aAAa,EACxC,MAAM,OAAO,CAAA;AACd,OAAO,KAAkB,MAAM,OAAO,CAAA;AAMtC;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,aAAa,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAA;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4CpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LabelValueStack.d.ts","sourceRoot":"","sources":["../../../../src/components/stack/LabelValueStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4C1D,CAAA"}
1
+ {"version":3,"file":"LabelValueStack.d.ts","sourceRoot":"","sources":["../../../../src/components/stack/LabelValueStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4D1D,CAAA"}
@@ -61,10 +61,17 @@ var DetailsStack = /* @__PURE__ */ __name(({ IconComponent, heading, children, t
61
61
  ]);
62
62
  return /* @__PURE__ */ React2.createElement(Stack, {
63
63
  direction: "column",
64
- flexGrow: 1,
65
- flexWrap: "wrap",
66
- minWidth: "1px",
67
- ...props
64
+ ...props,
65
+ sx: [
66
+ {
67
+ flexGrow: 1,
68
+ flexWrap: "wrap",
69
+ minWidth: "1px"
70
+ },
71
+ ...Array.isArray(props.sx) ? props.sx : [
72
+ props.sx
73
+ ]
74
+ ]
68
75
  }, /* @__PURE__ */ React2.createElement(SectionHeadingTypography, null, heading, hasTooltip ? /* @__PURE__ */ React2.createElement(Tooltip, {
69
76
  title: tooltipTitle
70
77
  }, /* @__PURE__ */ React2.createElement("span", null, resolvedIconComponent)) : resolvedIconComponent), children);
@@ -91,28 +98,37 @@ var LabelValueStack = /* @__PURE__ */ __name(({ labels, values, ...props }) => {
91
98
  return value;
92
99
  }, "formattedValue");
93
100
  return /* @__PURE__ */ React3.createElement(Stack2, {
94
- flexDirection: "row",
95
- flexGrow: 1,
96
- ...props
101
+ ...props,
102
+ sx: [
103
+ {
104
+ flexDirection: "row",
105
+ flexGrow: 1
106
+ },
107
+ ...Array.isArray(props.sx) ? props.sx : [
108
+ props.sx
109
+ ]
110
+ ]
97
111
  }, /* @__PURE__ */ React3.createElement(Stack2, null, labels.map((label) => /* @__PURE__ */ React3.createElement(Typography2, {
98
- fontWeight: "300",
99
112
  key: label,
100
113
  variant: "body2",
101
114
  sx: {
115
+ fontWeight: "300",
102
116
  borderBottom: `1px solid ${theme.vars?.palette.divider}`,
103
117
  opacity: 0.7
104
118
  }
105
119
  }, label, ":"))), /* @__PURE__ */ React3.createElement(Stack2, {
106
- alignItems: "end",
107
- flexGrow: 1
120
+ sx: {
121
+ alignItems: "end",
122
+ flexGrow: 1
123
+ }
108
124
  }, values.map((value, index) => /* @__PURE__ */ React3.createElement(Typography2, {
109
125
  title: value,
110
- fontFamily: "monospace",
111
126
  variant: "body2",
112
127
  // Use matching label as key since values might be the same
113
128
  key: labels[index],
114
- width: "100%",
115
129
  sx: {
130
+ fontFamily: "monospace",
131
+ width: "100%",
116
132
  display: "flex",
117
133
  justifyContent: "end",
118
134
  borderBottom: `1px solid ${theme.vars?.palette.divider}`
@@ -141,7 +157,9 @@ var inIframe = globalThis.self !== window.top;
141
157
  var IframeWalletWarningDecorator = /* @__PURE__ */ __name((Story, args) => {
142
158
  const hasXyoGlobal = isXyoGlobal(globalThis.xyo);
143
159
  return /* @__PURE__ */ React4.createElement(Stack3, {
144
- gap: 2
160
+ sx: {
161
+ gap: 2
162
+ }
145
163
  }, inIframe ? /* @__PURE__ */ React4.createElement(Alert, {
146
164
  severity: "warning"
147
165
  }, "This story is running in an iframe. Please run it in a standalone browser window to test the wallet extension.") : null, hasXyoGlobal ? null : /* @__PURE__ */ React4.createElement(Alert, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/menu-item/ActiveMenuItem.tsx","../../src/components/stack/DetailsStack.tsx","../../src/components/stack/LabelValueStack.tsx","../../src/story/buildRandomBlockchain.ts","../../src/story/IframeWalletWarningDecorator.tsx"],"sourcesContent":["import type { MenuItemProps } from '@mui/material'\nimport {\n MenuItem, styled, useTheme,\n} from '@mui/material'\nimport React from 'react'\n\n/**\n * @deprecated Use {@link ActiveMenuItem} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport const ActiveMenuItem: React.FC<MenuItemProps & { active?: boolean }> = ({\n active, children, sx, ...props\n}) => {\n const theme = useTheme()\n return (\n <StyledMenuItem\n disableRipple\n sx={{\n // left border color and background color for active state\n 'borderLeft': `5px solid ${active ? theme.vars.palette.secondary.light : 'transparent'}`,\n 'backgroundColor': active ? theme.vars.palette.secondary.dark : 'transparent',\n // force white text color for active state for improved readability with background color\n 'color': active ? 'white' : 'unset',\n '&:hover': {\n // overriding default hover color and backgroundColor since active state conflicts visually with\n // default styles of MenuItem hover\n ...(active ? { backgroundColor: theme.vars.palette.secondary.dark } : {}),\n color: active ? 'white' : 'unset',\n },\n ...sx,\n }}\n {...props}\n >\n {children}\n </StyledMenuItem>\n )\n}\n\nconst StyledMenuItem = styled(MenuItem, { name: 'StyledMenuItem' })(({ theme }) => ({\n display: 'flex-inline',\n flexDirection: 'row',\n gap: theme.spacing(1),\n padding: 0,\n paddingLeft: theme.spacing(1),\n marginBottom: theme.spacing(1),\n}))\n","import type { StackProps } from '@mui/material'\nimport {\n Stack, styled, Tooltip, Typography,\n useTheme,\n} from '@mui/material'\nimport { isDefined } from '@xylabs/sdk-js'\nimport type {\n ComponentType, ReactNode, SVGAttributes,\n} from 'react'\nimport React, { useMemo } from 'react'\n\nconst isComponentType = (value: unknown): value is ComponentType<SVGAttributes<SVGElement>> =>\n typeof value === 'function'\n || (typeof value === 'object' && value !== null && ('$$typeof' in value || 'render' in value))\n\n/**\n * @deprecated Use {@link DetailsStackProps} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport interface DetailsStackProps extends StackProps {\n IconComponent?: ComponentType<SVGAttributes<SVGElement>> | ReactNode\n heading?: string\n tooltipTitle?: string\n}\n\n/**\n * @deprecated Use {@link DetailsStack} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport const DetailsStack: React.FC<DetailsStackProps> = ({\n IconComponent, heading, children, tooltipTitle, ...props\n}) => {\n const theme = useTheme()\n\n const hasTooltip = isDefined(tooltipTitle)\n const resolvedIconComponent = useMemo(() => {\n return isComponentType(IconComponent)\n ? (\n <IconComponent\n style={{\n /** height and marginTop adjusted to account for font not filling container with line-height: 1 */\n height: '0.85rem',\n marginTop: 0.5,\n marginLeft: theme.spacing(1),\n }}\n />\n )\n : IconComponent ?? null\n }, [IconComponent, theme])\n\n return (\n <Stack direction=\"column\" flexGrow={1} flexWrap=\"wrap\" minWidth=\"1px\" {...props}>\n <SectionHeadingTypography>\n {heading}\n {hasTooltip\n ? (\n <Tooltip title={tooltipTitle}>\n <span>{resolvedIconComponent}</span>\n </Tooltip>\n )\n : resolvedIconComponent}\n </SectionHeadingTypography>\n {children}\n </Stack>\n )\n}\n\nconst SectionHeadingTypography = styled(Typography, { name: 'SectionHeadingTypography' })(({ theme }) => ({\n display: 'flex',\n fontFamily: 'monospace',\n lineHeight: 1,\n marginBottom: theme.spacing(1.5),\n}))\n","import type { StackProps } from '@mui/material'\nimport {\n Stack, Typography, useTheme,\n} from '@mui/material'\nimport { ellipsize, isAddress } from '@xylabs/sdk-js'\nimport React from 'react'\n\n/**\n * @deprecated Use {@link LabelValueStackProps} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport interface LabelValueStackProps extends StackProps {\n labels: string[]\n values: (string | undefined)[]\n}\n\n/**\n * @deprecated Use {@link LabelValueStack} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport const LabelValueStack: React.FC<LabelValueStackProps> = ({\n labels, values, ...props\n}) => {\n const theme = useTheme()\n const formattedValue = (value: string | undefined): string | undefined => {\n if (isAddress(value)) {\n return ellipsize(value, 8)\n }\n return value\n }\n return (\n <Stack flexDirection=\"row\" flexGrow={1} {...props}>\n <Stack>\n {labels.map(label => (\n <Typography\n fontWeight=\"300\"\n key={label}\n variant=\"body2\"\n sx={{ borderBottom: `1px solid ${theme.vars?.palette.divider}`, opacity: 0.7 }}\n >\n {label}\n :\n </Typography>\n ))}\n </Stack>\n <Stack alignItems=\"end\" flexGrow={1}>\n {values.map((value, index) => (\n <Typography\n title={value}\n fontFamily=\"monospace\"\n variant=\"body2\"\n // Use matching label as key since values might be the same\n key={labels[index]}\n width=\"100%\"\n sx={{\n display: 'flex', justifyContent: 'end', borderBottom: `1px solid ${theme.vars?.palette.divider}`,\n }}\n >\n {formattedValue(value)}\n </Typography>\n ))}\n </Stack>\n </Stack>\n )\n}\n","import { buildRandomChain } from '@xyo-network/chain-protocol-test'\nimport { Account } from '@xyo-network/sdk-js'\n\ntype BuildRandomChainResult = Awaited<ReturnType<typeof buildRandomChain>>\n\nexport const buildRandomBlockChain = async (blockCount = 10): Promise<BuildRandomChainResult> => {\n // Create a producer\n const initialBlockProducer = await Account.random()\n\n // Create multiple blocks\n const blocks = await buildRandomChain(initialBlockProducer, blockCount)\n return blocks\n}\n\nexport const buildRandomBlockChainBlocksOnly = async (blockCount = 10): Promise<BuildRandomChainResult> => {\n const chain = await buildRandomChain(await Account.random(), blockCount)\n return chain\n}\n","import { Alert, Stack } from '@mui/material'\nimport type { Decorator } from '@storybook/react-vite'\nimport { isXyoGlobal } from '@xyo-network/react-chain-model'\nimport React from 'react'\n\nconst inIframe = globalThis.self !== window.top\n\n/**\n * Storybook decorator that displays warning banners when:\n * - the story is rendered inside an iframe (prompt user to open in a standalone tab), or\n * - the XYO wallet extension is not detected (prompt user to install it).\n *\n * Stories that require direct browser-extension access should use this decorator.\n */\nexport const IframeWalletWarningDecorator: Decorator = (Story, args) => {\n const hasXyoGlobal = isXyoGlobal((globalThis as Record<string, unknown>).xyo)\n return (\n <Stack gap={2}>\n {inIframe\n ? (\n <Alert severity=\"warning\">\n This story is running in an iframe. Please run it in a standalone browser window to test the wallet extension.\n </Alert>\n )\n : null}\n {hasXyoGlobal\n ? null\n : (\n <Alert severity=\"warning\">\n No wallet extension found. Please install the Xyo Wallet Chrome Extension.\n </Alert>\n )}\n <Story {...args} />\n </Stack>\n )\n}\n"],"mappings":"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","names":["MenuItem","styled","useTheme","React","ActiveMenuItem","active","children","sx","props","theme","useTheme","StyledMenuItem","disableRipple","vars","palette","secondary","light","dark","backgroundColor","color","styled","MenuItem","name","display","flexDirection","gap","spacing","padding","paddingLeft","marginBottom","Stack","styled","Tooltip","Typography","useTheme","isDefined","React","useMemo","isComponentType","value","DetailsStack","IconComponent","heading","children","tooltipTitle","props","theme","useTheme","hasTooltip","isDefined","resolvedIconComponent","useMemo","React","style","height","marginTop","marginLeft","spacing","Stack","direction","flexGrow","flexWrap","minWidth","SectionHeadingTypography","Tooltip","title","span","styled","Typography","name","display","fontFamily","lineHeight","marginBottom","Stack","Typography","useTheme","ellipsize","isAddress","React","LabelValueStack","labels","values","props","theme","useTheme","formattedValue","value","isAddress","ellipsize","React","Stack","flexDirection","flexGrow","map","label","Typography","fontWeight","key","variant","sx","borderBottom","vars","palette","divider","opacity","alignItems","index","title","fontFamily","width","display","justifyContent","buildRandomChain","Account","buildRandomBlockChain","blockCount","initialBlockProducer","Account","random","blocks","buildRandomChain","buildRandomBlockChainBlocksOnly","chain","Alert","Stack","isXyoGlobal","React","inIframe","globalThis","self","window","top","IframeWalletWarningDecorator","Story","args","hasXyoGlobal","isXyoGlobal","xyo","React","Stack","gap","Alert","severity"]}
1
+ {"version":3,"sources":["../../src/components/menu-item/ActiveMenuItem.tsx","../../src/components/stack/DetailsStack.tsx","../../src/components/stack/LabelValueStack.tsx","../../src/story/buildRandomBlockchain.ts","../../src/story/IframeWalletWarningDecorator.tsx"],"sourcesContent":["import type { MenuItemProps } from '@mui/material'\nimport {\n MenuItem, styled, useTheme,\n} from '@mui/material'\nimport React from 'react'\n\n/**\n * @deprecated Use {@link ActiveMenuItem} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport const ActiveMenuItem: React.FC<MenuItemProps & { active?: boolean }> = ({\n active, children, sx, ...props\n}) => {\n const theme = useTheme()\n return (\n <StyledMenuItem\n disableRipple\n sx={{\n // left border color and background color for active state\n 'borderLeft': `5px solid ${active ? theme.vars.palette.secondary.light : 'transparent'}`,\n 'backgroundColor': active ? theme.vars.palette.secondary.dark : 'transparent',\n // force white text color for active state for improved readability with background color\n 'color': active ? 'white' : 'unset',\n '&:hover': {\n // overriding default hover color and backgroundColor since active state conflicts visually with\n // default styles of MenuItem hover\n ...(active ? { backgroundColor: theme.vars.palette.secondary.dark } : {}),\n color: active ? 'white' : 'unset',\n },\n ...sx,\n }}\n {...props}\n >\n {children}\n </StyledMenuItem>\n )\n}\n\nconst StyledMenuItem = styled(MenuItem, { name: 'StyledMenuItem' })(({ theme }) => ({\n display: 'flex-inline',\n flexDirection: 'row',\n gap: theme.spacing(1),\n padding: 0,\n paddingLeft: theme.spacing(1),\n marginBottom: theme.spacing(1),\n}))\n","import type { StackProps } from '@mui/material'\nimport {\n Stack, styled, Tooltip, Typography,\n useTheme,\n} from '@mui/material'\nimport { isDefined } from '@xylabs/sdk-js'\nimport type {\n ComponentType, ReactNode, SVGAttributes,\n} from 'react'\nimport React, { useMemo } from 'react'\n\nconst isComponentType = (value: unknown): value is ComponentType<SVGAttributes<SVGElement>> =>\n typeof value === 'function'\n || (typeof value === 'object' && value !== null && ('$$typeof' in value || 'render' in value))\n\n/**\n * @deprecated Use {@link DetailsStackProps} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport interface DetailsStackProps extends StackProps {\n IconComponent?: ComponentType<SVGAttributes<SVGElement>> | ReactNode\n heading?: string\n tooltipTitle?: string\n}\n\n/**\n * @deprecated Use {@link DetailsStack} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport const DetailsStack: React.FC<DetailsStackProps> = ({\n IconComponent, heading, children, tooltipTitle, ...props\n}) => {\n const theme = useTheme()\n\n const hasTooltip = isDefined(tooltipTitle)\n const resolvedIconComponent = useMemo(() => {\n return isComponentType(IconComponent)\n ? (\n <IconComponent\n style={{\n /** height and marginTop adjusted to account for font not filling container with line-height: 1 */\n height: '0.85rem',\n marginTop: 0.5,\n marginLeft: theme.spacing(1),\n }}\n />\n )\n : IconComponent ?? null\n }, [IconComponent, theme])\n\n return (\n <Stack\n direction=\"column\"\n {...props}\n sx={[{\n flexGrow: 1,\n flexWrap: 'wrap',\n minWidth: '1px',\n }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <SectionHeadingTypography>\n {heading}\n {hasTooltip\n ? (\n <Tooltip title={tooltipTitle}>\n <span>{resolvedIconComponent}</span>\n </Tooltip>\n )\n : resolvedIconComponent}\n </SectionHeadingTypography>\n {children}\n </Stack>\n )\n}\n\nconst SectionHeadingTypography = styled(Typography, { name: 'SectionHeadingTypography' })(({ theme }) => ({\n display: 'flex',\n fontFamily: 'monospace',\n lineHeight: 1,\n marginBottom: theme.spacing(1.5),\n}))\n","import type { StackProps } from '@mui/material'\nimport {\n Stack, Typography, useTheme,\n} from '@mui/material'\nimport { ellipsize, isAddress } from '@xylabs/sdk-js'\nimport React from 'react'\n\n/**\n * @deprecated Use {@link LabelValueStackProps} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport interface LabelValueStackProps extends StackProps {\n labels: string[]\n values: (string | undefined)[]\n}\n\n/**\n * @deprecated Use {@link LabelValueStack} from `@xyo-network/xl1-react-client-sdk/shared` instead.\n */\nexport const LabelValueStack: React.FC<LabelValueStackProps> = ({\n labels, values, ...props\n}) => {\n const theme = useTheme()\n const formattedValue = (value: string | undefined): string | undefined => {\n if (isAddress(value)) {\n return ellipsize(value, 8)\n }\n return value\n }\n return (\n <Stack\n {...props}\n sx={[{\n flexDirection: 'row',\n flexGrow: 1,\n }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <Stack>\n {labels.map(label => (\n <Typography\n key={label}\n variant=\"body2\"\n sx={{\n fontWeight: '300',\n borderBottom: `1px solid ${theme.vars?.palette.divider}`,\n opacity: 0.7,\n }}\n >\n {label}\n :\n </Typography>\n ))}\n </Stack>\n <Stack\n sx={{\n alignItems: 'end',\n flexGrow: 1,\n }}\n >\n {values.map((value, index) => (\n <Typography\n title={value}\n variant=\"body2\"\n // Use matching label as key since values might be the same\n key={labels[index]}\n sx={{\n fontFamily: 'monospace',\n width: '100%',\n display: 'flex',\n justifyContent: 'end',\n borderBottom: `1px solid ${theme.vars?.palette.divider}`,\n }}\n >\n {formattedValue(value)}\n </Typography>\n ))}\n </Stack>\n </Stack>\n )\n}\n","import { buildRandomChain } from '@xyo-network/chain-protocol-test'\nimport { Account } from '@xyo-network/sdk-js'\n\ntype BuildRandomChainResult = Awaited<ReturnType<typeof buildRandomChain>>\n\nexport const buildRandomBlockChain = async (blockCount = 10): Promise<BuildRandomChainResult> => {\n // Create a producer\n const initialBlockProducer = await Account.random()\n\n // Create multiple blocks\n const blocks = await buildRandomChain(initialBlockProducer, blockCount)\n return blocks\n}\n\nexport const buildRandomBlockChainBlocksOnly = async (blockCount = 10): Promise<BuildRandomChainResult> => {\n const chain = await buildRandomChain(await Account.random(), blockCount)\n return chain\n}\n","import { Alert, Stack } from '@mui/material'\nimport type { Decorator } from '@storybook/react-vite'\nimport { isXyoGlobal } from '@xyo-network/react-chain-model'\nimport React from 'react'\n\nconst inIframe = globalThis.self !== window.top\n\n/**\n * Storybook decorator that displays warning banners when:\n * - the story is rendered inside an iframe (prompt user to open in a standalone tab), or\n * - the XYO wallet extension is not detected (prompt user to install it).\n *\n * Stories that require direct browser-extension access should use this decorator.\n */\nexport const IframeWalletWarningDecorator: Decorator = (Story, args) => {\n const hasXyoGlobal = isXyoGlobal((globalThis as Record<string, unknown>).xyo)\n return (\n <Stack sx={{ gap: 2 }}>\n {inIframe\n ? (\n <Alert severity=\"warning\">\n This story is running in an iframe. Please run it in a standalone browser window to test the wallet extension.\n </Alert>\n )\n : null}\n {hasXyoGlobal\n ? null\n : (\n <Alert severity=\"warning\">\n No wallet extension found. Please install the Xyo Wallet Chrome Extension.\n </Alert>\n )}\n <Story {...args} />\n </Stack>\n )\n}\n"],"mappings":"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","names":["MenuItem","styled","useTheme","React","ActiveMenuItem","active","children","sx","props","theme","useTheme","StyledMenuItem","disableRipple","vars","palette","secondary","light","dark","backgroundColor","color","styled","MenuItem","name","display","flexDirection","gap","spacing","padding","paddingLeft","marginBottom","Stack","styled","Tooltip","Typography","useTheme","isDefined","React","useMemo","isComponentType","value","DetailsStack","IconComponent","heading","children","tooltipTitle","props","theme","useTheme","hasTooltip","isDefined","resolvedIconComponent","useMemo","React","style","height","marginTop","marginLeft","spacing","Stack","direction","sx","flexGrow","flexWrap","minWidth","Array","isArray","SectionHeadingTypography","Tooltip","title","span","styled","Typography","name","display","fontFamily","lineHeight","marginBottom","Stack","Typography","useTheme","ellipsize","isAddress","React","LabelValueStack","labels","values","props","theme","useTheme","formattedValue","value","isAddress","ellipsize","React","Stack","sx","flexDirection","flexGrow","Array","isArray","map","label","Typography","key","variant","fontWeight","borderBottom","vars","palette","divider","opacity","alignItems","index","title","fontFamily","width","display","justifyContent","buildRandomChain","Account","buildRandomBlockChain","blockCount","initialBlockProducer","Account","random","blocks","buildRandomChain","buildRandomBlockChainBlocksOnly","chain","Alert","Stack","isXyoGlobal","React","inIframe","globalThis","self","window","top","IframeWalletWarningDecorator","Story","args","hasXyoGlobal","isXyoGlobal","xyo","React","Stack","sx","gap","Alert","severity"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/react-chain-shared",
4
- "version": "1.21.2",
4
+ "version": "1.22.0",
5
5
  "description": "XYO Layer One React SDK",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -39,51 +39,55 @@
39
39
  "README.md"
40
40
  ],
41
41
  "dependencies": {
42
- "@xyo-network/react-chain-model": "~1.21.2",
43
- "@xyo-network/chain-protocol-test": "~1.21.2"
42
+ "@xyo-network/chain-protocol-test": "~1.22.0",
43
+ "@xyo-network/react-chain-model": "~1.22.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@bitauth/libauth": "~3.0.0",
47
- "@metamask/json-rpc-engine": "^10.3.0",
47
+ "@metamask/json-rpc-engine": "^10.4.0",
48
48
  "@metamask/providers": "^22.1.1",
49
49
  "@metamask/utils": "~11.11.0",
50
- "@mui/material": "^7.3.10",
50
+ "@mui/material": "^9.0.1",
51
51
  "@opentelemetry/api": "^1.9.1",
52
52
  "@opentelemetry/sdk-trace-base": "^2.7.1",
53
53
  "@scure/base": "~2.2.0",
54
54
  "@scure/bip39": "~2.2.0",
55
55
  "@storybook/react-vite": "^10.3.6",
56
+ "@testing-library/dom": ">=7.21.4",
57
+ "@types/node": "^20.19.0 || >=22.12.0",
56
58
  "@types/react": "^19.2.14",
57
- "@xylabs/fetch": "~5.1.1",
58
- "@xylabs/geo": "^5.1.1",
59
- "@xylabs/sdk-js": "^5.1.1",
60
- "@xylabs/threads": "~5.1.1",
61
- "@xylabs/toolchain": "~7.13.13",
62
- "@xylabs/tsconfig": "~7.13.13",
63
- "@xylabs/tsconfig-dom": "~7.13.13",
64
- "@xylabs/tsconfig-react": "~7.13.13",
65
- "@xyo-network/account": "~5.6.1",
66
- "@xyo-network/account-model": "~5.6.2",
67
- "@xyo-network/api": "~5.6.1",
68
- "@xyo-network/api-models": "~5.6.2",
69
- "@xyo-network/boundwitness-builder": "~5.6.1",
70
- "@xyo-network/boundwitness-model": "~5.6.2",
71
- "@xyo-network/boundwitness-wrapper": "~5.6.1",
72
- "@xyo-network/config-payload-plugin": "~5.6.2",
73
- "@xyo-network/huri": "~5.6.1",
74
- "@xyo-network/manifest-model": "~5.6.2",
75
- "@xyo-network/payload-builder": "~5.6.1",
76
- "@xyo-network/payload-model": "~5.6.2",
77
- "@xyo-network/payload-plugin": "~5.6.2",
78
- "@xyo-network/payload-wrapper": "~5.6.1",
79
- "@xyo-network/query-payload-plugin": "~5.6.2",
80
- "@xyo-network/sdk-js": "^5.6.3",
81
- "@xyo-network/sdk-protocol-js": "~5.6.2",
82
- "@xyo-network/wallet": "~5.6.1",
83
- "@xyo-network/wallet-model": "^5.6.2",
84
- "@xyo-network/xl1-sdk": "^1.28.0",
59
+ "@xylabs/fetch": "~5.1.2",
60
+ "@xylabs/geo": "^5.1.2",
61
+ "@xylabs/sdk-js": "^5.1.2",
62
+ "@xylabs/threads": "~5.1.2",
63
+ "@xylabs/toolchain": "~7.13.22",
64
+ "@xylabs/tsconfig": "~7.13.22",
65
+ "@xylabs/tsconfig-dom": "~7.13.22",
66
+ "@xylabs/tsconfig-react": "~7.13.22",
67
+ "@xyo-network/account": "~5.6.2",
68
+ "@xyo-network/account-model": "~5.6.3",
69
+ "@xyo-network/api": "~5.6.2",
70
+ "@xyo-network/api-models": "~5.6.3",
71
+ "@xyo-network/boundwitness-builder": "~5.6.2",
72
+ "@xyo-network/boundwitness-model": "~5.6.3",
73
+ "@xyo-network/boundwitness-wrapper": "~5.6.2",
74
+ "@xyo-network/config-payload-plugin": "~5.6.3",
75
+ "@xyo-network/huri": "~5.6.2",
76
+ "@xyo-network/manifest-model": "~5.6.3",
77
+ "@xyo-network/payload-builder": "~5.6.2",
78
+ "@xyo-network/payload-model": "~5.6.3",
79
+ "@xyo-network/payload-plugin": "~5.6.3",
80
+ "@xyo-network/payload-wrapper": "~5.6.2",
81
+ "@xyo-network/query-payload-plugin": "~5.6.3",
82
+ "@xyo-network/sdk-js": "^5.6.4",
83
+ "@xyo-network/sdk-protocol-js": "~5.6.3",
84
+ "@xyo-network/wallet": "~5.6.2",
85
+ "@xyo-network/wallet-model": "^5.6.3",
86
+ "@xyo-network/xl1-sdk": "^1.28.5",
87
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0",
85
88
  "ajv": "^8.20.0",
86
89
  "async-mutex": "^0.5.0",
90
+ "axios": "^1",
87
91
  "bn.js": "^5.2.3",
88
92
  "buffer": "^6.0.3",
89
93
  "chalk": "^5.6.2",
@@ -91,6 +95,7 @@
91
95
  "debug": "~4.4.3",
92
96
  "eslint": "^10.3.0",
93
97
  "ethers": "^6.16.0",
98
+ "firebase": "^12",
94
99
  "hash-wasm": "~4.12.0",
95
100
  "idb": "^8.0.3",
96
101
  "lru-cache": "^11.3.6",
@@ -99,11 +104,12 @@
99
104
  "pako": "^2.1.0",
100
105
  "react": "^19.2.6",
101
106
  "react-dom": "^19.2.6",
107
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0",
102
108
  "store2": "~2.14.4",
103
109
  "storybook": "^10.3.6",
104
110
  "typescript": "~5.9.3",
105
111
  "uuid": "~14.0.0",
106
- "vite": "^8.0.10",
112
+ "vite": "^8.0.11",
107
113
  "wasm-feature-detect": "~1.8.0",
108
114
  "webextension-polyfill": "^0.12.0",
109
115
  "zod": "~4.4.3"
@@ -113,12 +119,13 @@
113
119
  "@metamask/json-rpc-engine": "^10.3",
114
120
  "@metamask/providers": "^22.1",
115
121
  "@metamask/utils": "~11.11",
116
- "@mui/material": "^7.3",
122
+ "@mui/material": "^9.0",
117
123
  "@opentelemetry/api": "^1.9",
118
124
  "@opentelemetry/sdk-trace-base": "^2.7",
119
125
  "@scure/base": "~2.2",
120
126
  "@scure/bip39": "~2.2",
121
127
  "@storybook/react-vite": "^10.3",
128
+ "@testing-library/dom": ">=7.21.4",
122
129
  "@xylabs/fetch": "~5.1",
123
130
  "@xylabs/geo": "^5.1",
124
131
  "@xylabs/sdk-js": "^5.1",
@@ -145,12 +152,14 @@
145
152
  "@xyo-network/xl1-sdk": "^1.28",
146
153
  "ajv": "^8.20",
147
154
  "async-mutex": "^0.5",
155
+ "axios": "^1",
148
156
  "bn.js": "^5.2",
149
157
  "buffer": "^6.0",
150
158
  "chalk": "^5.6",
151
159
  "cosmiconfig": "^9.0",
152
160
  "debug": "~4.4",
153
161
  "ethers": "^6.16",
162
+ "firebase": "^12",
154
163
  "hash-wasm": "~4.12",
155
164
  "idb": "^8.0",
156
165
  "lru-cache": "^11.3",