@xyo-network/react-chain-transfer-plugin 2.0.3 → 2.0.5
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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/transfer/box/Details.tsx", "../../src/transfer/card/TransferRenderCard.tsx", "../../src/transfer/card/ListItem.tsx", "../../src/transfer/card/TransferRenderCardHelper.tsx", "../../src/transfer/card/TransferRenderTotalTypography.tsx", "../../src/transfer/Plugin.ts"],
|
|
4
|
-
"sourcesContent": ["import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport React from 'react'\n\nimport { TransferRenderCard } from '../card/index.ts'\nimport type { TransferRenderOptions } from '../lib/index.ts'\n\nexport interface TransferRenderBoxDetailsProps extends PayloadDetailsRenderProps, FlexBoxProps {\n options?: TransferRenderOptions\n payload?: Payload\n}\n\nexport const TransferRenderBoxDetails: React.FC<TransferRenderBoxDetailsProps> = ({\n options,\n payload,\n ...props\n}) => {\n return (\n <FlexCol {...props}>\n <TransferRenderCard\n options={options}\n payload={payload}\n />\n </FlexCol>\n )\n}\n", "import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, CardHeader, List, useMediaQuery, useTheme,\n} from '@mui/material'\nimport { asAddress, asHex } from '@xylabs/sdk-js'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { BlockiesAvatar } from '@xyo-network/xl1-blockies'\nimport { asTransfer } from '@xyo-network/xl1-sdk'\nimport React, { useMemo } from 'react'\n\nimport type { TransferRenderOptions } from '../lib/index.ts'\nimport { TransferRenderListItem } from './ListItem.tsx'\nimport { TransferCardHelper } from './TransferRenderCardHelper.tsx'\nimport { TransferRenderTotalTypography } from './TransferRenderTotalTypography.tsx'\n\nexport interface TransferRenderCardProps extends PayloadDetailsRenderProps, CardProps {\n options?: TransferRenderOptions\n payload?: Payload\n}\n\nexport const TransferRenderCard: React.FC<TransferRenderCardProps> = ({\n options, payload, ...props\n}) => {\n const theme = useTheme()\n const isMedium = useMediaQuery(theme => theme.breakpoints.up('sm'))\n const [ref, dispatch] = useEvent<HTMLDivElement>()\n const transfer = asTransfer(payload)\n const { from, transfers } = transfer ?? {}\n\n const transferCardHelper = useMemo(\n () =>\n new TransferCardHelper(isMedium, asTransfer(payload), dispatch, options),\n [isMedium, payload, dispatch, options],\n )\n\n return (\n <Card ref={ref} {...props}>\n <CardHeader\n title={transferCardHelper.addressComponent(from, 'From')}\n slotProps={{\n title: {\n title: from, variant: 'body1', fontFamily: 'monospace',\n },\n }}\n avatar={<BlockiesAvatar sx={{ width: 30, height: 30 }} title={from} blockiesOptions={{ seed: from }} />}\n />\n <CardContent sx={{ '&:last-child': { pb: theme.spacing(0) } }}>\n <List>\n {Object.entries(transfers ?? {}).map(([address, amount]) => (\n <TransferRenderListItem\n key={address}\n address={asAddress(address)}\n amount={asHex(amount)}\n transferCardHelper={transferCardHelper}\n />\n ))}\n </List>\n <TransferRenderTotalTypography\n transferRenderHelper={transferCardHelper}\n sx={{\n // pt matches bottom padding of the ListItem\n width: '100%', justifyContent: 'end', pt: 0.666_666_666_7, pb: theme.spacing(2),\n }}\n />\n </CardContent>\n </Card>\n )\n}\n", "import {\n ListItem, ListItemAvatar, type ListItemProps, ListItemText, Stack, Typography,\n useTheme,\n} from '@mui/material'\nimport type { Address, Hex } from '@xylabs/sdk-js'\nimport {\n asAddress, hexToBigInt, isDefined,\n} from '@xylabs/sdk-js'\nimport { NetworkIcon } from '@xyo-network/react-chain-network'\nimport { BlockiesAvatar } from '@xyo-network/xl1-blockies'\nimport { MainNetworkIconString } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport type { TransferCardHelper } from './TransferRenderCardHelper.tsx'\n\nexport interface TransferRenderListItem extends ListItemProps {\n address?: Address\n amount?: Hex\n transferCardHelper: TransferCardHelper\n}\n\nexport const TransferRenderListItem: React.FC<TransferRenderListItem> = ({\n address, amount, sx, transferCardHelper, ...props\n}) => {\n const theme = useTheme()\n return (\n <ListItem sx={{ px: 0, ...sx }} {...props}>\n <ListItemAvatar sx={{ minWidth: 30, mr: theme.spacing(2) }}>\n <BlockiesAvatar title={address} sx={{ width: 30, height: 30 }} blockiesOptions={{ seed: address }} />\n </ListItemAvatar>\n <ListItemText sx={{ borderBottom: `1px solid ${theme.vars.palette.divider}` }}>\n <Stack\n direction=\"row\"\n sx={{\n gap: 2,\n justifyContent: 'space-between',\n width: '100%',\n }}\n >\n <Typography\n component=\"span\"\n variant=\"caption\"\n sx={{ fontFamily: 'monospace' }}\n >\n {transferCardHelper.addressComponent(asAddress(address), 'To')}\n </Typography>\n <Typography\n component=\"span\"\n variant=\"caption\"\n title={isDefined(amount) ? hexToBigInt(amount).toString() : ''}\n sx={{\n fontFamily: 'monospace',\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.25),\n }}\n >\n {transferCardHelper.formatAmountToXl1(amount)}\n <NetworkIcon\n icon={MainNetworkIconString}\n style={{\n width: 16, height: 16, display: 'inline-flex', alignItems: 'end',\n }}\n />\n (XL1)\n </Typography>\n </Stack>\n </ListItemText>\n </ListItem>\n )\n}\n", "import { Link } from '@mui/material'\nimport type { Address, Hex } from '@xylabs/sdk-js'\nimport {\n ellipsize, hexToBigInt, isDefined, isHex, isUndefined,\n} from '@xylabs/sdk-js'\nimport type { EventDispatch } from '@xyo-network/react-event'\nimport {\n type AttoXL1, type Transfer, XL1Places,\n} from '@xyo-network/xl1-sdk'\nimport { XL1Amount } from '@xyo-network/xl1-sdk'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport type { TransferRenderOptions } from '../lib/index.ts'\n\nexport class TransferCardHelper {\n private _dispatch: EventDispatch | undefined\n private _isMedium: boolean\n private _options: TransferRenderOptions | undefined\n private _payload: Transfer | undefined\n\n constructor(\n isMedium: boolean,\n payload?: Transfer,\n dispatch?: EventDispatch,\n options?: TransferRenderOptions,\n ) {\n this._isMedium = isMedium\n this._options = options\n this._payload = payload\n this._dispatch = dispatch\n }\n\n get dispatch() {\n return this._dispatch\n }\n\n get isMedium() {\n return this._isMedium\n }\n\n get linkedAddresses() {\n return this.options?.links?.has('address')\n }\n\n get options() {\n return this._options\n }\n\n get payload(): Transfer | undefined {\n return this._payload\n }\n\n addressComponent(address?: Address, prefix?: string): ReactNode {\n const resolvedPrefix = isDefined(prefix) ? `${prefix}: ` : ''\n const text = `${this.formatAddress(address) ?? 'Unknown'}`\n if (this.options?.links?.has('address')) {\n return (\n <>\n {resolvedPrefix}\n {' '}\n <Link\n onClick={() => {\n this.dispatch?.('address', 'click', address)\n }}\n sx={{ cursor: 'pointer' }}\n >\n {text}\n </Link>\n </>\n )\n }\n return `${resolvedPrefix}${text}`\n }\n\n formatAddress(address?: Address): string {\n return (address ? (this.isMedium ? address : ellipsize(address, 5)) : '')\n }\n\n formatAmountToXl1(amount?: Hex | bigint): string {\n if (isUndefined(amount)) return ''\n const amountBigInt = isHex(amount) ? hexToBigInt(amount) : amount\n const xl1Amount = XL1Amount.fromAtto(amountBigInt as AttoXL1).toString(Number(XL1Places.xl1), {\n maxDecimal: 18, maxCharacters: 19, minDecimals: 0, locale: navigator.language,\n })\n return xl1Amount\n }\n\n totalTransferred() {\n if (isUndefined(this.payload?.transfers)) return '0'\n let total = 0n\n for (const [, amount] of Object.entries(this.payload.transfers)) {\n if (isDefined(amount)) {\n total += hexToBigInt(amount)\n }\n }\n return this.formatAmountToXl1(total)\n }\n}\n", "import type { TypographyProps } from '@mui/material'\nimport { Typography, useTheme } from '@mui/material'\nimport { NetworkIcon } from '@xyo-network/react-chain-network'\nimport { MainNetworkIconString } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport type { TransferCardHelper } from './TransferRenderCardHelper.tsx'\n\nexport interface TransferRenderTotalTypographyProps extends TypographyProps {\n transferRenderHelper: TransferCardHelper\n}\n\nexport const TransferRenderTotalTypography: React.FC<TransferRenderTotalTypographyProps> = ({\n transferRenderHelper, sx, ...props\n}) => {\n const theme = useTheme()\n\n return (\n <Typography\n sx={{\n display: 'inline-flex', gap: theme.spacing(0.25), fontFamily: 'monospace', ...sx,\n }}\n variant=\"caption\"\n {...props}\n >\n Total:\n {' '}\n <strong>{transferRenderHelper?.totalTransferred()}</strong>\n <NetworkIcon\n icon={MainNetworkIconString}\n style={{\n width: 16, height: 16, display: 'inline-flex', alignItems: 'end',\n }}\n />\n (XL1)\n </Typography>\n )\n}\n", "import type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { TransferSchema } from '@xyo-network/xl1-sdk'\n\nimport { TransferRenderBoxDetails } from './box/index.ts'\nimport { TransferRenderCard } from './card/index.ts'\n\nexport const TransferRenderPlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === TransferSchema,\n components: { box: { detailsBox: TransferRenderBoxDetails, detailsCard: TransferRenderCard } },\n name: 'Transfer',\n }),\n}\n\nexport default TransferRenderPlugin\n"],
|
|
5
|
-
"mappings": ";AACA,SAAS,eAAe;;;ACAxB;AAAA,EACE;AAAA,EAAM;AAAA,EAAa;AAAA,EAAY;AAAA,EAAM;AAAA,EAAe,YAAAA;AAAA,OAC/C;AACP,SAAS,aAAAC,YAAW,aAAa;AACjC,SAAS,gBAAgB;AAGzB,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,kBAAkB;AAC3B,SAAgB,eAAe;;;ACV/B;AAAA,EACE;AAAA,EAAU;AAAA,EAAoC;AAAA,EAAc;AAAA,EAAO;AAAA,EACnE;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EAAW;AAAA,EAAa;AAAA,OACnB;AACP,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AAkB9B,cAkBE,YAlBF;AAPD,IAAM,yBAA2D,CAAC;AAAA,EACvE;AAAA,EAAS;AAAA,EAAQ;AAAA,EAAI;AAAA,EAAoB,GAAG;AAC9C,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,SACE,qBAAC,YAAS,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,GAAI,GAAG,OAClC;AAAA,wBAAC,kBAAe,IAAI,EAAE,UAAU,IAAI,IAAI,MAAM,QAAQ,CAAC,EAAE,GACvD,8BAAC,kBAAe,OAAO,SAAS,IAAI,EAAE,OAAO,IAAI,QAAQ,GAAG,GAAG,iBAAiB,EAAE,MAAM,QAAQ,GAAG,GACrG;AAAA,IACA,oBAAC,gBAAa,IAAI,EAAE,cAAc,aAAa,MAAM,KAAK,QAAQ,OAAO,GAAG,GAC1E;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,IAAI;AAAA,UACF,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,OAAO;AAAA,QACT;AAAA,QAEA;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,IAAI,EAAE,YAAY,YAAY;AAAA,cAE7B,6BAAmB,iBAAiB,UAAU,OAAO,GAAG,IAAI;AAAA;AAAA,UAC/D;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,OAAO,UAAU,MAAM,IAAI,YAAY,MAAM,EAAE,SAAS,IAAI;AAAA,cAC5D,IAAI;AAAA,gBACF,YAAY;AAAA,gBACZ,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,KAAK,MAAM,QAAQ,IAAI;AAAA,cACzB;AAAA,cAEC;AAAA,mCAAmB,kBAAkB,MAAM;AAAA,gBAC5C;AAAA,kBAAC;AAAA;AAAA,oBACC,MAAM;AAAA,oBACN,OAAO;AAAA,sBACL,OAAO;AAAA,sBAAI,QAAQ;AAAA,sBAAI,SAAS;AAAA,sBAAe,YAAY;AAAA,oBAC7D;AAAA;AAAA,gBACF;AAAA,gBAAE;AAAA;AAAA;AAAA,UAEJ;AAAA;AAAA;AAAA,IACF,GACF;AAAA,KACF;AAEJ;;;ACtEA,SAAS,YAAY;AAErB;AAAA,EACE;AAAA,EAAW,eAAAC;AAAA,EAAa,aAAAC;AAAA,EAAW;AAAA,EAAO;AAAA,OACrC;
|
|
4
|
+
"sourcesContent": ["import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport React from 'react'\n\nimport { TransferRenderCard } from '../card/index.ts'\nimport type { TransferRenderOptions } from '../lib/index.ts'\n\nexport interface TransferRenderBoxDetailsProps extends PayloadDetailsRenderProps, FlexBoxProps {\n options?: TransferRenderOptions\n payload?: Payload\n}\n\nexport const TransferRenderBoxDetails: React.FC<TransferRenderBoxDetailsProps> = ({\n options,\n payload,\n ...props\n}) => {\n return (\n <FlexCol {...props}>\n <TransferRenderCard\n options={options}\n payload={payload}\n />\n </FlexCol>\n )\n}\n", "import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, CardHeader, List, useMediaQuery, useTheme,\n} from '@mui/material'\nimport { asAddress, asHex } from '@xylabs/sdk-js'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { BlockiesAvatar } from '@xyo-network/xl1-blockies'\nimport { asTransfer } from '@xyo-network/xl1-sdk'\nimport React, { useMemo } from 'react'\n\nimport type { TransferRenderOptions } from '../lib/index.ts'\nimport { TransferRenderListItem } from './ListItem.tsx'\nimport { TransferCardHelper } from './TransferRenderCardHelper.tsx'\nimport { TransferRenderTotalTypography } from './TransferRenderTotalTypography.tsx'\n\nexport interface TransferRenderCardProps extends PayloadDetailsRenderProps, CardProps {\n options?: TransferRenderOptions\n payload?: Payload\n}\n\nexport const TransferRenderCard: React.FC<TransferRenderCardProps> = ({\n options, payload, ...props\n}) => {\n const theme = useTheme()\n const isMedium = useMediaQuery(theme => theme.breakpoints.up('sm'))\n const [ref, dispatch] = useEvent<HTMLDivElement>()\n const transfer = asTransfer(payload)\n const { from, transfers } = transfer ?? {}\n\n const transferCardHelper = useMemo(\n () =>\n new TransferCardHelper(isMedium, asTransfer(payload), dispatch, options),\n [isMedium, payload, dispatch, options],\n )\n\n return (\n <Card ref={ref} {...props}>\n <CardHeader\n title={transferCardHelper.addressComponent(from, 'From')}\n slotProps={{\n title: {\n title: from, variant: 'body1', fontFamily: 'monospace',\n },\n }}\n avatar={<BlockiesAvatar sx={{ width: 30, height: 30 }} title={from} blockiesOptions={{ seed: from }} />}\n />\n <CardContent sx={{ '&:last-child': { pb: theme.spacing(0) } }}>\n <List>\n {Object.entries(transfers ?? {}).map(([address, amount]) => (\n <TransferRenderListItem\n key={address}\n address={asAddress(address)}\n amount={asHex(amount)}\n transferCardHelper={transferCardHelper}\n />\n ))}\n </List>\n <TransferRenderTotalTypography\n transferRenderHelper={transferCardHelper}\n sx={{\n // pt matches bottom padding of the ListItem\n width: '100%', justifyContent: 'end', pt: 0.666_666_666_7, pb: theme.spacing(2),\n }}\n />\n </CardContent>\n </Card>\n )\n}\n", "import {\n ListItem, ListItemAvatar, type ListItemProps, ListItemText, Stack, Typography,\n useTheme,\n} from '@mui/material'\nimport type { Address, Hex } from '@xylabs/sdk-js'\nimport {\n asAddress, hexToBigInt, isDefined,\n} from '@xylabs/sdk-js'\nimport { NetworkIcon } from '@xyo-network/react-chain-network'\nimport { BlockiesAvatar } from '@xyo-network/xl1-blockies'\nimport { MainNetworkIconString } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport type { TransferCardHelper } from './TransferRenderCardHelper.tsx'\n\nexport interface TransferRenderListItem extends ListItemProps {\n address?: Address\n amount?: Hex\n transferCardHelper: TransferCardHelper\n}\n\nexport const TransferRenderListItem: React.FC<TransferRenderListItem> = ({\n address, amount, sx, transferCardHelper, ...props\n}) => {\n const theme = useTheme()\n return (\n <ListItem sx={{ px: 0, ...sx }} {...props}>\n <ListItemAvatar sx={{ minWidth: 30, mr: theme.spacing(2) }}>\n <BlockiesAvatar title={address} sx={{ width: 30, height: 30 }} blockiesOptions={{ seed: address }} />\n </ListItemAvatar>\n <ListItemText sx={{ borderBottom: `1px solid ${theme.vars.palette.divider}` }}>\n <Stack\n direction=\"row\"\n sx={{\n gap: 2,\n justifyContent: 'space-between',\n width: '100%',\n }}\n >\n <Typography\n component=\"span\"\n variant=\"caption\"\n sx={{ fontFamily: 'monospace' }}\n >\n {transferCardHelper.addressComponent(asAddress(address), 'To')}\n </Typography>\n <Typography\n component=\"span\"\n variant=\"caption\"\n title={isDefined(amount) ? hexToBigInt(amount).toString() : ''}\n sx={{\n fontFamily: 'monospace',\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.25),\n }}\n >\n {transferCardHelper.formatAmountToXl1(amount)}\n <NetworkIcon\n icon={MainNetworkIconString}\n style={{\n width: 16, height: 16, display: 'inline-flex', alignItems: 'end',\n }}\n />\n (XL1)\n </Typography>\n </Stack>\n </ListItemText>\n </ListItem>\n )\n}\n", "import { Link } from '@mui/material'\nimport type { Hex } from '@xylabs/sdk-js'\nimport {\n ellipsize, hexToBigInt, isDefined, isHex, isUndefined,\n} from '@xylabs/sdk-js'\nimport type { XyoAddress } from '@xyo-network/address'\nimport type { EventDispatch } from '@xyo-network/react-event'\nimport {\n type AttoXL1, type Transfer, XL1Places,\n} from '@xyo-network/xl1-sdk'\nimport { XL1Amount } from '@xyo-network/xl1-sdk'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport type { TransferRenderOptions } from '../lib/index.ts'\n\nexport class TransferCardHelper {\n private _dispatch: EventDispatch | undefined\n private _isMedium: boolean\n private _options: TransferRenderOptions | undefined\n private _payload: Transfer | undefined\n\n constructor(\n isMedium: boolean,\n payload?: Transfer,\n dispatch?: EventDispatch,\n options?: TransferRenderOptions,\n ) {\n this._isMedium = isMedium\n this._options = options\n this._payload = payload\n this._dispatch = dispatch\n }\n\n get dispatch() {\n return this._dispatch\n }\n\n get isMedium() {\n return this._isMedium\n }\n\n get linkedAddresses() {\n return this.options?.links?.has('address')\n }\n\n get options() {\n return this._options\n }\n\n get payload(): Transfer | undefined {\n return this._payload\n }\n\n addressComponent(address?: XyoAddress, prefix?: string): ReactNode {\n const resolvedPrefix = isDefined(prefix) ? `${prefix}: ` : ''\n const text = `${this.formatAddress(address) ?? 'Unknown'}`\n if (this.options?.links?.has('address')) {\n return (\n <>\n {resolvedPrefix}\n {' '}\n <Link\n onClick={() => {\n this.dispatch?.('address', 'click', address)\n }}\n sx={{ cursor: 'pointer' }}\n >\n {text}\n </Link>\n </>\n )\n }\n return `${resolvedPrefix}${text}`\n }\n\n formatAddress(address?: XyoAddress): string {\n return (address ? (this.isMedium ? address : ellipsize(address, 5)) : '')\n }\n\n formatAmountToXl1(amount?: Hex | bigint): string {\n if (isUndefined(amount)) return ''\n const amountBigInt = isHex(amount) ? hexToBigInt(amount) : amount\n const xl1Amount = XL1Amount.fromAtto(amountBigInt as AttoXL1).toString(Number(XL1Places.xl1), {\n maxDecimal: 18, maxCharacters: 19, minDecimals: 0, locale: navigator.language,\n })\n return xl1Amount\n }\n\n totalTransferred() {\n if (isUndefined(this.payload?.transfers)) return '0'\n let total = 0n\n for (const [, amount] of Object.entries(this.payload.transfers)) {\n if (isDefined(amount)) {\n total += hexToBigInt(amount)\n }\n }\n return this.formatAmountToXl1(total)\n }\n}\n", "import type { TypographyProps } from '@mui/material'\nimport { Typography, useTheme } from '@mui/material'\nimport { NetworkIcon } from '@xyo-network/react-chain-network'\nimport { MainNetworkIconString } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport type { TransferCardHelper } from './TransferRenderCardHelper.tsx'\n\nexport interface TransferRenderTotalTypographyProps extends TypographyProps {\n transferRenderHelper: TransferCardHelper\n}\n\nexport const TransferRenderTotalTypography: React.FC<TransferRenderTotalTypographyProps> = ({\n transferRenderHelper, sx, ...props\n}) => {\n const theme = useTheme()\n\n return (\n <Typography\n sx={{\n display: 'inline-flex', gap: theme.spacing(0.25), fontFamily: 'monospace', ...sx,\n }}\n variant=\"caption\"\n {...props}\n >\n Total:\n {' '}\n <strong>{transferRenderHelper?.totalTransferred()}</strong>\n <NetworkIcon\n icon={MainNetworkIconString}\n style={{\n width: 16, height: 16, display: 'inline-flex', alignItems: 'end',\n }}\n />\n (XL1)\n </Typography>\n )\n}\n", "import type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { TransferSchema } from '@xyo-network/xl1-sdk'\n\nimport { TransferRenderBoxDetails } from './box/index.ts'\nimport { TransferRenderCard } from './card/index.ts'\n\nexport const TransferRenderPlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === TransferSchema,\n components: { box: { detailsBox: TransferRenderBoxDetails, detailsCard: TransferRenderCard } },\n name: 'Transfer',\n }),\n}\n\nexport default TransferRenderPlugin\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["useTheme", "asAddress", "BlockiesAvatar", "hexToBigInt", "isDefined", "jsx", "jsxs", "Typography", "useTheme", "NetworkIcon", "MainNetworkIconString", "jsx", "jsxs", "jsx", "jsxs", "useTheme", "theme", "BlockiesAvatar", "asAddress", "jsx"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/transfer/Plugin.ts", "../../../src/transfer/box/Details.tsx", "../../../src/transfer/card/TransferRenderCard.tsx", "../../../src/transfer/card/ListItem.tsx", "../../../src/transfer/card/TransferRenderCardHelper.tsx", "../../../src/transfer/card/TransferRenderTotalTypography.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { TransferSchema } from '@xyo-network/xl1-sdk'\n\nimport { TransferRenderBoxDetails } from './box/index.ts'\nimport { TransferRenderCard } from './card/index.ts'\n\nexport const TransferRenderPlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === TransferSchema,\n components: { box: { detailsBox: TransferRenderBoxDetails, detailsCard: TransferRenderCard } },\n name: 'Transfer',\n }),\n}\n\nexport default TransferRenderPlugin\n", "import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport React from 'react'\n\nimport { TransferRenderCard } from '../card/index.ts'\nimport type { TransferRenderOptions } from '../lib/index.ts'\n\nexport interface TransferRenderBoxDetailsProps extends PayloadDetailsRenderProps, FlexBoxProps {\n options?: TransferRenderOptions\n payload?: Payload\n}\n\nexport const TransferRenderBoxDetails: React.FC<TransferRenderBoxDetailsProps> = ({\n options,\n payload,\n ...props\n}) => {\n return (\n <FlexCol {...props}>\n <TransferRenderCard\n options={options}\n payload={payload}\n />\n </FlexCol>\n )\n}\n", "import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, CardHeader, List, useMediaQuery, useTheme,\n} from '@mui/material'\nimport { asAddress, asHex } from '@xylabs/sdk-js'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { BlockiesAvatar } from '@xyo-network/xl1-blockies'\nimport { asTransfer } from '@xyo-network/xl1-sdk'\nimport React, { useMemo } from 'react'\n\nimport type { TransferRenderOptions } from '../lib/index.ts'\nimport { TransferRenderListItem } from './ListItem.tsx'\nimport { TransferCardHelper } from './TransferRenderCardHelper.tsx'\nimport { TransferRenderTotalTypography } from './TransferRenderTotalTypography.tsx'\n\nexport interface TransferRenderCardProps extends PayloadDetailsRenderProps, CardProps {\n options?: TransferRenderOptions\n payload?: Payload\n}\n\nexport const TransferRenderCard: React.FC<TransferRenderCardProps> = ({\n options, payload, ...props\n}) => {\n const theme = useTheme()\n const isMedium = useMediaQuery(theme => theme.breakpoints.up('sm'))\n const [ref, dispatch] = useEvent<HTMLDivElement>()\n const transfer = asTransfer(payload)\n const { from, transfers } = transfer ?? {}\n\n const transferCardHelper = useMemo(\n () =>\n new TransferCardHelper(isMedium, asTransfer(payload), dispatch, options),\n [isMedium, payload, dispatch, options],\n )\n\n return (\n <Card ref={ref} {...props}>\n <CardHeader\n title={transferCardHelper.addressComponent(from, 'From')}\n slotProps={{\n title: {\n title: from, variant: 'body1', fontFamily: 'monospace',\n },\n }}\n avatar={<BlockiesAvatar sx={{ width: 30, height: 30 }} title={from} blockiesOptions={{ seed: from }} />}\n />\n <CardContent sx={{ '&:last-child': { pb: theme.spacing(0) } }}>\n <List>\n {Object.entries(transfers ?? {}).map(([address, amount]) => (\n <TransferRenderListItem\n key={address}\n address={asAddress(address)}\n amount={asHex(amount)}\n transferCardHelper={transferCardHelper}\n />\n ))}\n </List>\n <TransferRenderTotalTypography\n transferRenderHelper={transferCardHelper}\n sx={{\n // pt matches bottom padding of the ListItem\n width: '100%', justifyContent: 'end', pt: 0.666_666_666_7, pb: theme.spacing(2),\n }}\n />\n </CardContent>\n </Card>\n )\n}\n", "import {\n ListItem, ListItemAvatar, type ListItemProps, ListItemText, Stack, Typography,\n useTheme,\n} from '@mui/material'\nimport type { Address, Hex } from '@xylabs/sdk-js'\nimport {\n asAddress, hexToBigInt, isDefined,\n} from '@xylabs/sdk-js'\nimport { NetworkIcon } from '@xyo-network/react-chain-network'\nimport { BlockiesAvatar } from '@xyo-network/xl1-blockies'\nimport { MainNetworkIconString } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport type { TransferCardHelper } from './TransferRenderCardHelper.tsx'\n\nexport interface TransferRenderListItem extends ListItemProps {\n address?: Address\n amount?: Hex\n transferCardHelper: TransferCardHelper\n}\n\nexport const TransferRenderListItem: React.FC<TransferRenderListItem> = ({\n address, amount, sx, transferCardHelper, ...props\n}) => {\n const theme = useTheme()\n return (\n <ListItem sx={{ px: 0, ...sx }} {...props}>\n <ListItemAvatar sx={{ minWidth: 30, mr: theme.spacing(2) }}>\n <BlockiesAvatar title={address} sx={{ width: 30, height: 30 }} blockiesOptions={{ seed: address }} />\n </ListItemAvatar>\n <ListItemText sx={{ borderBottom: `1px solid ${theme.vars.palette.divider}` }}>\n <Stack\n direction=\"row\"\n sx={{\n gap: 2,\n justifyContent: 'space-between',\n width: '100%',\n }}\n >\n <Typography\n component=\"span\"\n variant=\"caption\"\n sx={{ fontFamily: 'monospace' }}\n >\n {transferCardHelper.addressComponent(asAddress(address), 'To')}\n </Typography>\n <Typography\n component=\"span\"\n variant=\"caption\"\n title={isDefined(amount) ? hexToBigInt(amount).toString() : ''}\n sx={{\n fontFamily: 'monospace',\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.25),\n }}\n >\n {transferCardHelper.formatAmountToXl1(amount)}\n <NetworkIcon\n icon={MainNetworkIconString}\n style={{\n width: 16, height: 16, display: 'inline-flex', alignItems: 'end',\n }}\n />\n (XL1)\n </Typography>\n </Stack>\n </ListItemText>\n </ListItem>\n )\n}\n", "import { Link } from '@mui/material'\nimport type { Address, Hex } from '@xylabs/sdk-js'\nimport {\n ellipsize, hexToBigInt, isDefined, isHex, isUndefined,\n} from '@xylabs/sdk-js'\nimport type { EventDispatch } from '@xyo-network/react-event'\nimport {\n type AttoXL1, type Transfer, XL1Places,\n} from '@xyo-network/xl1-sdk'\nimport { XL1Amount } from '@xyo-network/xl1-sdk'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport type { TransferRenderOptions } from '../lib/index.ts'\n\nexport class TransferCardHelper {\n private _dispatch: EventDispatch | undefined\n private _isMedium: boolean\n private _options: TransferRenderOptions | undefined\n private _payload: Transfer | undefined\n\n constructor(\n isMedium: boolean,\n payload?: Transfer,\n dispatch?: EventDispatch,\n options?: TransferRenderOptions,\n ) {\n this._isMedium = isMedium\n this._options = options\n this._payload = payload\n this._dispatch = dispatch\n }\n\n get dispatch() {\n return this._dispatch\n }\n\n get isMedium() {\n return this._isMedium\n }\n\n get linkedAddresses() {\n return this.options?.links?.has('address')\n }\n\n get options() {\n return this._options\n }\n\n get payload(): Transfer | undefined {\n return this._payload\n }\n\n addressComponent(address?: Address, prefix?: string): ReactNode {\n const resolvedPrefix = isDefined(prefix) ? `${prefix}: ` : ''\n const text = `${this.formatAddress(address) ?? 'Unknown'}`\n if (this.options?.links?.has('address')) {\n return (\n <>\n {resolvedPrefix}\n {' '}\n <Link\n onClick={() => {\n this.dispatch?.('address', 'click', address)\n }}\n sx={{ cursor: 'pointer' }}\n >\n {text}\n </Link>\n </>\n )\n }\n return `${resolvedPrefix}${text}`\n }\n\n formatAddress(address?: Address): string {\n return (address ? (this.isMedium ? address : ellipsize(address, 5)) : '')\n }\n\n formatAmountToXl1(amount?: Hex | bigint): string {\n if (isUndefined(amount)) return ''\n const amountBigInt = isHex(amount) ? hexToBigInt(amount) : amount\n const xl1Amount = XL1Amount.fromAtto(amountBigInt as AttoXL1).toString(Number(XL1Places.xl1), {\n maxDecimal: 18, maxCharacters: 19, minDecimals: 0, locale: navigator.language,\n })\n return xl1Amount\n }\n\n totalTransferred() {\n if (isUndefined(this.payload?.transfers)) return '0'\n let total = 0n\n for (const [, amount] of Object.entries(this.payload.transfers)) {\n if (isDefined(amount)) {\n total += hexToBigInt(amount)\n }\n }\n return this.formatAmountToXl1(total)\n }\n}\n", "import type { TypographyProps } from '@mui/material'\nimport { Typography, useTheme } from '@mui/material'\nimport { NetworkIcon } from '@xyo-network/react-chain-network'\nimport { MainNetworkIconString } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport type { TransferCardHelper } from './TransferRenderCardHelper.tsx'\n\nexport interface TransferRenderTotalTypographyProps extends TypographyProps {\n transferRenderHelper: TransferCardHelper\n}\n\nexport const TransferRenderTotalTypography: React.FC<TransferRenderTotalTypographyProps> = ({\n transferRenderHelper, sx, ...props\n}) => {\n const theme = useTheme()\n\n return (\n <Typography\n sx={{\n display: 'inline-flex', gap: theme.spacing(0.25), fontFamily: 'monospace', ...sx,\n }}\n variant=\"caption\"\n {...props}\n >\n Total:\n {' '}\n <strong>{transferRenderHelper?.totalTransferred()}</strong>\n <NetworkIcon\n icon={MainNetworkIconString}\n style={{\n width: 16, height: 16, display: 'inline-flex', alignItems: 'end',\n }}\n />\n (XL1)\n </Typography>\n )\n}\n"],
|
|
5
|
-
"mappings": ";AACA,SAAS,iCAAiC;AAE1C,SAAS,sBAAsB;;;ACF/B,SAAS,eAAe;;;ACAxB;AAAA,EACE;AAAA,EAAM;AAAA,EAAa;AAAA,EAAY;AAAA,EAAM;AAAA,EAAe,YAAAA;AAAA,OAC/C;AACP,SAAS,aAAAC,YAAW,aAAa;AACjC,SAAS,gBAAgB;AAGzB,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,kBAAkB;AAC3B,SAAgB,eAAe;;;ACV/B;AAAA,EACE;AAAA,EAAU;AAAA,EAAoC;AAAA,EAAc;AAAA,EAAO;AAAA,EACnE;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EAAW;AAAA,EAAa;AAAA,OACnB;AACP,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AAkB9B,cAkBE,YAlBF;AAPD,IAAM,yBAA2D,CAAC;AAAA,EACvE;AAAA,EAAS;AAAA,EAAQ;AAAA,EAAI;AAAA,EAAoB,GAAG;AAC9C,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,SACE,qBAAC,YAAS,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,GAAI,GAAG,OAClC;AAAA,wBAAC,kBAAe,IAAI,EAAE,UAAU,IAAI,IAAI,MAAM,QAAQ,CAAC,EAAE,GACvD,8BAAC,kBAAe,OAAO,SAAS,IAAI,EAAE,OAAO,IAAI,QAAQ,GAAG,GAAG,iBAAiB,EAAE,MAAM,QAAQ,GAAG,GACrG;AAAA,IACA,oBAAC,gBAAa,IAAI,EAAE,cAAc,aAAa,MAAM,KAAK,QAAQ,OAAO,GAAG,GAC1E;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,IAAI;AAAA,UACF,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,OAAO;AAAA,QACT;AAAA,QAEA;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,IAAI,EAAE,YAAY,YAAY;AAAA,cAE7B,6BAAmB,iBAAiB,UAAU,OAAO,GAAG,IAAI;AAAA;AAAA,UAC/D;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,OAAO,UAAU,MAAM,IAAI,YAAY,MAAM,EAAE,SAAS,IAAI;AAAA,cAC5D,IAAI;AAAA,gBACF,YAAY;AAAA,gBACZ,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,KAAK,MAAM,QAAQ,IAAI;AAAA,cACzB;AAAA,cAEC;AAAA,mCAAmB,kBAAkB,MAAM;AAAA,gBAC5C;AAAA,kBAAC;AAAA;AAAA,oBACC,MAAM;AAAA,oBACN,OAAO;AAAA,sBACL,OAAO;AAAA,sBAAI,QAAQ;AAAA,sBAAI,SAAS;AAAA,sBAAe,YAAY;AAAA,oBAC7D;AAAA;AAAA,gBACF;AAAA,gBAAE;AAAA;AAAA;AAAA,UAEJ;AAAA;AAAA;AAAA,IACF,GACF;AAAA,KACF;AAEJ;;;ACtEA,SAAS,YAAY;AAErB;AAAA,EACE;AAAA,EAAW,eAAAC;AAAA,EAAa,aAAAC;AAAA,EAAW;AAAA,EAAO;AAAA,OACrC;
|
|
4
|
+
"sourcesContent": ["import type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { TransferSchema } from '@xyo-network/xl1-sdk'\n\nimport { TransferRenderBoxDetails } from './box/index.ts'\nimport { TransferRenderCard } from './card/index.ts'\n\nexport const TransferRenderPlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === TransferSchema,\n components: { box: { detailsBox: TransferRenderBoxDetails, detailsCard: TransferRenderCard } },\n name: 'Transfer',\n }),\n}\n\nexport default TransferRenderPlugin\n", "import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport React from 'react'\n\nimport { TransferRenderCard } from '../card/index.ts'\nimport type { TransferRenderOptions } from '../lib/index.ts'\n\nexport interface TransferRenderBoxDetailsProps extends PayloadDetailsRenderProps, FlexBoxProps {\n options?: TransferRenderOptions\n payload?: Payload\n}\n\nexport const TransferRenderBoxDetails: React.FC<TransferRenderBoxDetailsProps> = ({\n options,\n payload,\n ...props\n}) => {\n return (\n <FlexCol {...props}>\n <TransferRenderCard\n options={options}\n payload={payload}\n />\n </FlexCol>\n )\n}\n", "import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, CardHeader, List, useMediaQuery, useTheme,\n} from '@mui/material'\nimport { asAddress, asHex } from '@xylabs/sdk-js'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { BlockiesAvatar } from '@xyo-network/xl1-blockies'\nimport { asTransfer } from '@xyo-network/xl1-sdk'\nimport React, { useMemo } from 'react'\n\nimport type { TransferRenderOptions } from '../lib/index.ts'\nimport { TransferRenderListItem } from './ListItem.tsx'\nimport { TransferCardHelper } from './TransferRenderCardHelper.tsx'\nimport { TransferRenderTotalTypography } from './TransferRenderTotalTypography.tsx'\n\nexport interface TransferRenderCardProps extends PayloadDetailsRenderProps, CardProps {\n options?: TransferRenderOptions\n payload?: Payload\n}\n\nexport const TransferRenderCard: React.FC<TransferRenderCardProps> = ({\n options, payload, ...props\n}) => {\n const theme = useTheme()\n const isMedium = useMediaQuery(theme => theme.breakpoints.up('sm'))\n const [ref, dispatch] = useEvent<HTMLDivElement>()\n const transfer = asTransfer(payload)\n const { from, transfers } = transfer ?? {}\n\n const transferCardHelper = useMemo(\n () =>\n new TransferCardHelper(isMedium, asTransfer(payload), dispatch, options),\n [isMedium, payload, dispatch, options],\n )\n\n return (\n <Card ref={ref} {...props}>\n <CardHeader\n title={transferCardHelper.addressComponent(from, 'From')}\n slotProps={{\n title: {\n title: from, variant: 'body1', fontFamily: 'monospace',\n },\n }}\n avatar={<BlockiesAvatar sx={{ width: 30, height: 30 }} title={from} blockiesOptions={{ seed: from }} />}\n />\n <CardContent sx={{ '&:last-child': { pb: theme.spacing(0) } }}>\n <List>\n {Object.entries(transfers ?? {}).map(([address, amount]) => (\n <TransferRenderListItem\n key={address}\n address={asAddress(address)}\n amount={asHex(amount)}\n transferCardHelper={transferCardHelper}\n />\n ))}\n </List>\n <TransferRenderTotalTypography\n transferRenderHelper={transferCardHelper}\n sx={{\n // pt matches bottom padding of the ListItem\n width: '100%', justifyContent: 'end', pt: 0.666_666_666_7, pb: theme.spacing(2),\n }}\n />\n </CardContent>\n </Card>\n )\n}\n", "import {\n ListItem, ListItemAvatar, type ListItemProps, ListItemText, Stack, Typography,\n useTheme,\n} from '@mui/material'\nimport type { Address, Hex } from '@xylabs/sdk-js'\nimport {\n asAddress, hexToBigInt, isDefined,\n} from '@xylabs/sdk-js'\nimport { NetworkIcon } from '@xyo-network/react-chain-network'\nimport { BlockiesAvatar } from '@xyo-network/xl1-blockies'\nimport { MainNetworkIconString } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport type { TransferCardHelper } from './TransferRenderCardHelper.tsx'\n\nexport interface TransferRenderListItem extends ListItemProps {\n address?: Address\n amount?: Hex\n transferCardHelper: TransferCardHelper\n}\n\nexport const TransferRenderListItem: React.FC<TransferRenderListItem> = ({\n address, amount, sx, transferCardHelper, ...props\n}) => {\n const theme = useTheme()\n return (\n <ListItem sx={{ px: 0, ...sx }} {...props}>\n <ListItemAvatar sx={{ minWidth: 30, mr: theme.spacing(2) }}>\n <BlockiesAvatar title={address} sx={{ width: 30, height: 30 }} blockiesOptions={{ seed: address }} />\n </ListItemAvatar>\n <ListItemText sx={{ borderBottom: `1px solid ${theme.vars.palette.divider}` }}>\n <Stack\n direction=\"row\"\n sx={{\n gap: 2,\n justifyContent: 'space-between',\n width: '100%',\n }}\n >\n <Typography\n component=\"span\"\n variant=\"caption\"\n sx={{ fontFamily: 'monospace' }}\n >\n {transferCardHelper.addressComponent(asAddress(address), 'To')}\n </Typography>\n <Typography\n component=\"span\"\n variant=\"caption\"\n title={isDefined(amount) ? hexToBigInt(amount).toString() : ''}\n sx={{\n fontFamily: 'monospace',\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.25),\n }}\n >\n {transferCardHelper.formatAmountToXl1(amount)}\n <NetworkIcon\n icon={MainNetworkIconString}\n style={{\n width: 16, height: 16, display: 'inline-flex', alignItems: 'end',\n }}\n />\n (XL1)\n </Typography>\n </Stack>\n </ListItemText>\n </ListItem>\n )\n}\n", "import { Link } from '@mui/material'\nimport type { Hex } from '@xylabs/sdk-js'\nimport {\n ellipsize, hexToBigInt, isDefined, isHex, isUndefined,\n} from '@xylabs/sdk-js'\nimport type { XyoAddress } from '@xyo-network/address'\nimport type { EventDispatch } from '@xyo-network/react-event'\nimport {\n type AttoXL1, type Transfer, XL1Places,\n} from '@xyo-network/xl1-sdk'\nimport { XL1Amount } from '@xyo-network/xl1-sdk'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport type { TransferRenderOptions } from '../lib/index.ts'\n\nexport class TransferCardHelper {\n private _dispatch: EventDispatch | undefined\n private _isMedium: boolean\n private _options: TransferRenderOptions | undefined\n private _payload: Transfer | undefined\n\n constructor(\n isMedium: boolean,\n payload?: Transfer,\n dispatch?: EventDispatch,\n options?: TransferRenderOptions,\n ) {\n this._isMedium = isMedium\n this._options = options\n this._payload = payload\n this._dispatch = dispatch\n }\n\n get dispatch() {\n return this._dispatch\n }\n\n get isMedium() {\n return this._isMedium\n }\n\n get linkedAddresses() {\n return this.options?.links?.has('address')\n }\n\n get options() {\n return this._options\n }\n\n get payload(): Transfer | undefined {\n return this._payload\n }\n\n addressComponent(address?: XyoAddress, prefix?: string): ReactNode {\n const resolvedPrefix = isDefined(prefix) ? `${prefix}: ` : ''\n const text = `${this.formatAddress(address) ?? 'Unknown'}`\n if (this.options?.links?.has('address')) {\n return (\n <>\n {resolvedPrefix}\n {' '}\n <Link\n onClick={() => {\n this.dispatch?.('address', 'click', address)\n }}\n sx={{ cursor: 'pointer' }}\n >\n {text}\n </Link>\n </>\n )\n }\n return `${resolvedPrefix}${text}`\n }\n\n formatAddress(address?: XyoAddress): string {\n return (address ? (this.isMedium ? address : ellipsize(address, 5)) : '')\n }\n\n formatAmountToXl1(amount?: Hex | bigint): string {\n if (isUndefined(amount)) return ''\n const amountBigInt = isHex(amount) ? hexToBigInt(amount) : amount\n const xl1Amount = XL1Amount.fromAtto(amountBigInt as AttoXL1).toString(Number(XL1Places.xl1), {\n maxDecimal: 18, maxCharacters: 19, minDecimals: 0, locale: navigator.language,\n })\n return xl1Amount\n }\n\n totalTransferred() {\n if (isUndefined(this.payload?.transfers)) return '0'\n let total = 0n\n for (const [, amount] of Object.entries(this.payload.transfers)) {\n if (isDefined(amount)) {\n total += hexToBigInt(amount)\n }\n }\n return this.formatAmountToXl1(total)\n }\n}\n", "import type { TypographyProps } from '@mui/material'\nimport { Typography, useTheme } from '@mui/material'\nimport { NetworkIcon } from '@xyo-network/react-chain-network'\nimport { MainNetworkIconString } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport type { TransferCardHelper } from './TransferRenderCardHelper.tsx'\n\nexport interface TransferRenderTotalTypographyProps extends TypographyProps {\n transferRenderHelper: TransferCardHelper\n}\n\nexport const TransferRenderTotalTypography: React.FC<TransferRenderTotalTypographyProps> = ({\n transferRenderHelper, sx, ...props\n}) => {\n const theme = useTheme()\n\n return (\n <Typography\n sx={{\n display: 'inline-flex', gap: theme.spacing(0.25), fontFamily: 'monospace', ...sx,\n }}\n variant=\"caption\"\n {...props}\n >\n Total:\n {' '}\n <strong>{transferRenderHelper?.totalTransferred()}</strong>\n <NetworkIcon\n icon={MainNetworkIconString}\n style={{\n width: 16, height: 16, display: 'inline-flex', alignItems: 'end',\n }}\n />\n (XL1)\n </Typography>\n )\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["useTheme", "asAddress", "BlockiesAvatar", "hexToBigInt", "isDefined", "jsx", "jsxs", "Typography", "useTheme", "NetworkIcon", "MainNetworkIconString", "jsx", "jsxs", "jsx", "jsxs", "useTheme", "theme", "BlockiesAvatar", "asAddress", "jsx"]
|
|
7
7
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Hex } from '@xylabs/sdk-js';
|
|
2
|
+
import type { XyoAddress } from '@xyo-network/address';
|
|
2
3
|
import type { EventDispatch } from '@xyo-network/react-event';
|
|
3
4
|
import { type Transfer } from '@xyo-network/xl1-sdk';
|
|
4
5
|
import type { ReactNode } from 'react';
|
|
@@ -14,8 +15,8 @@ export declare class TransferCardHelper {
|
|
|
14
15
|
get linkedAddresses(): boolean | undefined;
|
|
15
16
|
get options(): TransferRenderOptions | undefined;
|
|
16
17
|
get payload(): Transfer | undefined;
|
|
17
|
-
addressComponent(address?:
|
|
18
|
-
formatAddress(address?:
|
|
18
|
+
addressComponent(address?: XyoAddress, prefix?: string): ReactNode;
|
|
19
|
+
formatAddress(address?: XyoAddress): string;
|
|
19
20
|
formatAmountToXl1(amount?: Hex | bigint): string;
|
|
20
21
|
totalTransferred(): string;
|
|
21
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferRenderCardHelper.d.ts","sourceRoot":"","sources":["../../../../src/transfer/card/TransferRenderCardHelper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TransferRenderCardHelper.d.ts","sourceRoot":"","sources":["../../../../src/transfer/card/TransferRenderCardHelper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAIzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EACS,KAAK,QAAQ,EAC5B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE5D,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,QAAQ,CAAsB;gBAGpC,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,QAAQ,EAClB,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,qBAAqB;IAQjC,IAAI,QAAQ,8BAEX;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,eAAe,wBAElB;IAED,IAAI,OAAO,sCAEV;IAED,IAAI,OAAO,IAAI,QAAQ,GAAG,SAAS,CAElC;IAED,gBAAgB,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAsBlE,aAAa,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAI3C,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM;IAShD,gBAAgB;CAUjB"}
|
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-transfer-plugin",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.5",
|
|
5
5
|
"description": "XYO Layer One API",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"README.md"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xyo-network/react-chain-network": "~2.0.
|
|
46
|
+
"@xyo-network/react-chain-network": "~2.0.5"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@bitauth/libauth": "~3.0.0",
|
|
@@ -62,78 +62,67 @@
|
|
|
62
62
|
"@scure/base": "~2.2.0",
|
|
63
63
|
"@scure/bip39": "~2.2.0",
|
|
64
64
|
"@storybook/react-vite": "^10.4.1",
|
|
65
|
-
"@types/react": "^19.2.
|
|
66
|
-
"@xylabs/geo": "^6.0.
|
|
67
|
-
"@xylabs/pixel": "~6.0.
|
|
68
|
-
"@xylabs/react-async-effect": "~9.0",
|
|
69
|
-
"@xylabs/react-button": "~9.0",
|
|
70
|
-
"@xylabs/react-error": "~9.0",
|
|
71
|
-
"@xylabs/react-flexbox": "~9.0",
|
|
72
|
-
"@xylabs/react-hooks": "~9.0",
|
|
73
|
-
"@xylabs/react-identicon": "~9.0",
|
|
74
|
-
"@xylabs/react-link": "~9.0",
|
|
75
|
-
"@xylabs/react-promise": "~9.0",
|
|
76
|
-
"@xylabs/react-quick-tip-button": "~9.0",
|
|
77
|
-
"@xylabs/react-select": "~9.0",
|
|
78
|
-
"@xylabs/react-shared": "~9.0",
|
|
79
|
-
"@xylabs/react-theme": "~9.0.
|
|
80
|
-
"@xylabs/sdk-js": "^6.0.
|
|
81
|
-
"@xylabs/sdk-react": "~9.0",
|
|
82
|
-
"@xylabs/threads": "~6.0.
|
|
83
|
-
"@xylabs/toolchain": "~8.1.
|
|
84
|
-
"@xylabs/tsconfig": "~8.1.
|
|
85
|
-
"@xylabs/tsconfig-dom": "~8.1.
|
|
86
|
-
"@xylabs/tsconfig-react": "~8.1.
|
|
87
|
-
"@xyo-network/
|
|
88
|
-
"@xyo-network/
|
|
89
|
-
"@xyo-network/boundwitness-
|
|
90
|
-
"@xyo-network/
|
|
91
|
-
"@xyo-network/
|
|
92
|
-
"@xyo-network/
|
|
93
|
-
"@xyo-network/
|
|
94
|
-
"@xyo-network/diviner-model": "~6.0.1",
|
|
95
|
-
"@xyo-network/diviner-schema-list": "~6.0.1",
|
|
96
|
-
"@xyo-network/diviner-schema-stats": "~6.0.1",
|
|
97
|
-
"@xyo-network/manifest-model": "~6.0.5",
|
|
98
|
-
"@xyo-network/module-model": "~6.0.1",
|
|
65
|
+
"@types/react": "^19.2.16",
|
|
66
|
+
"@xylabs/geo": "^6.0.7",
|
|
67
|
+
"@xylabs/pixel": "~6.0.7",
|
|
68
|
+
"@xylabs/react-async-effect": "~9.0.2",
|
|
69
|
+
"@xylabs/react-button": "~9.0.2",
|
|
70
|
+
"@xylabs/react-error": "~9.0.2",
|
|
71
|
+
"@xylabs/react-flexbox": "~9.0.2",
|
|
72
|
+
"@xylabs/react-hooks": "~9.0.2",
|
|
73
|
+
"@xylabs/react-identicon": "~9.0.2",
|
|
74
|
+
"@xylabs/react-link": "~9.0.2",
|
|
75
|
+
"@xylabs/react-promise": "~9.0.2",
|
|
76
|
+
"@xylabs/react-quick-tip-button": "~9.0.2",
|
|
77
|
+
"@xylabs/react-select": "~9.0.2",
|
|
78
|
+
"@xylabs/react-shared": "~9.0.2",
|
|
79
|
+
"@xylabs/react-theme": "~9.0.2",
|
|
80
|
+
"@xylabs/sdk-js": "^6.0.7",
|
|
81
|
+
"@xylabs/sdk-react": "~9.0.2",
|
|
82
|
+
"@xylabs/threads": "~6.0.7",
|
|
83
|
+
"@xylabs/toolchain": "~8.1.12",
|
|
84
|
+
"@xylabs/tsconfig": "~8.1.12",
|
|
85
|
+
"@xylabs/tsconfig-dom": "~8.1.12",
|
|
86
|
+
"@xylabs/tsconfig-react": "~8.1.12",
|
|
87
|
+
"@xyo-network/address": "~6.0.7",
|
|
88
|
+
"@xyo-network/boundwitness-model": "~6.0.7",
|
|
89
|
+
"@xyo-network/boundwitness-validator": "~6.0.7",
|
|
90
|
+
"@xyo-network/diviner-model": "~6.0.2",
|
|
91
|
+
"@xyo-network/diviner-schema-list": "~6.0.2",
|
|
92
|
+
"@xyo-network/diviner-schema-stats": "~6.0.2",
|
|
93
|
+
"@xyo-network/module-model": "~6.0.2",
|
|
99
94
|
"@xyo-network/node-core-types": "~4.2.2",
|
|
100
|
-
"@xyo-network/node-memory": "~6.0.
|
|
101
|
-
"@xyo-network/node-model": "~6.0.
|
|
102
|
-
"@xyo-network/payload-builder": "~6.0.
|
|
103
|
-
"@xyo-network/payload-model": "~6.0.
|
|
104
|
-
"@xyo-network/payload-validator": "~6.0.
|
|
105
|
-
"@xyo-network/
|
|
106
|
-
"@xyo-network/react-
|
|
107
|
-
"@xyo-network/react-
|
|
108
|
-
"@xyo-network/react-payload-
|
|
109
|
-
"@xyo-network/
|
|
110
|
-
"@xyo-network/schema-
|
|
111
|
-
"@xyo-network/
|
|
112
|
-
"@xyo-network/sdk-js": "
|
|
113
|
-
"@xyo-network/sdk-protocol-js": "~6.0.5",
|
|
95
|
+
"@xyo-network/node-memory": "~6.0.2",
|
|
96
|
+
"@xyo-network/node-model": "~6.0.2",
|
|
97
|
+
"@xyo-network/payload-builder": "~6.0.7",
|
|
98
|
+
"@xyo-network/payload-model": "~6.0.7",
|
|
99
|
+
"@xyo-network/payload-validator": "~6.0.7",
|
|
100
|
+
"@xyo-network/react-error": "~9.0.2",
|
|
101
|
+
"@xyo-network/react-event": "~9.0.2",
|
|
102
|
+
"@xyo-network/react-payload-plugin": "~9.0.2",
|
|
103
|
+
"@xyo-network/react-payload-raw-info": "~9.0.2",
|
|
104
|
+
"@xyo-network/schema-cache": "~6.0.7",
|
|
105
|
+
"@xyo-network/schema-payload-plugin": "~6.0.7",
|
|
106
|
+
"@xyo-network/sdk-js": "^6.0.2",
|
|
107
|
+
"@xyo-network/sdk-protocol-js": "~6.0.7",
|
|
114
108
|
"@xyo-network/typeof": "~5.3.30",
|
|
115
|
-
"@xyo-network/
|
|
116
|
-
"@xyo-network/xl1-
|
|
117
|
-
"@xyo-network/xl1-
|
|
118
|
-
"@xyo-network/xl1-sdk": "^2.0.6",
|
|
109
|
+
"@xyo-network/xl1-blockies": "~2.0.9",
|
|
110
|
+
"@xyo-network/xl1-react-client-sdk": "^2.0.9",
|
|
111
|
+
"@xyo-network/xl1-sdk": "^2.0.9",
|
|
119
112
|
"ajv": "^8.20.0",
|
|
120
113
|
"async-mutex": "^0.5.0",
|
|
121
114
|
"bn.js": "^5.2.3",
|
|
122
115
|
"bowser": "^2.14.1",
|
|
123
116
|
"buffer": "^6.0.3",
|
|
124
|
-
"chalk": "^5.6.2",
|
|
125
117
|
"clsx": "~2.1.1",
|
|
126
118
|
"cosmiconfig": "^9.0.1",
|
|
127
119
|
"debug": "~4.4.3",
|
|
128
120
|
"dotenv": "~17.4.2",
|
|
129
|
-
"eslint": "^10.4.
|
|
121
|
+
"eslint": "^10.4.1",
|
|
130
122
|
"ethers": "^6.16.0",
|
|
131
|
-
"fast-deep-equal": "~3.1.3",
|
|
132
123
|
"hash-wasm": "~4.12.0",
|
|
133
124
|
"idb": "^8.0.3",
|
|
134
|
-
"js-cookie": "~3.0.7",
|
|
135
125
|
"lru-cache": "^11.5.1",
|
|
136
|
-
"mapbox-gl": "^3.24.0",
|
|
137
126
|
"md5": "~2.3.0",
|
|
138
127
|
"mixpanel-browser": "~2.79",
|
|
139
128
|
"numeral": "~2.0.6",
|
|
@@ -141,21 +130,17 @@
|
|
|
141
130
|
"pako": "^2.1.0",
|
|
142
131
|
"prop-types": "^15.8.1",
|
|
143
132
|
"query-string": "~9.3.1",
|
|
144
|
-
"react": "^19.2.
|
|
145
|
-
"react-dom": "^19.2.
|
|
146
|
-
"react-
|
|
147
|
-
"react-router-dom": "^7.15.1",
|
|
148
|
-
"recharts": "~3.8.1",
|
|
133
|
+
"react": "^19.2.7",
|
|
134
|
+
"react-dom": "^19.2.7",
|
|
135
|
+
"react-router-dom": "^7.16.0",
|
|
149
136
|
"rollbar": "^3.1.0",
|
|
150
137
|
"spark-md5": "~3.0.2",
|
|
151
|
-
"store2": "~2.14.4",
|
|
152
138
|
"storybook": "^10.4.1",
|
|
153
139
|
"typescript": "~6.0.3",
|
|
154
140
|
"uuid": "~14.0.0",
|
|
155
|
-
"viem": "^2.
|
|
156
|
-
"vite": "^8.0.
|
|
157
|
-
"vitest": "^4.1.
|
|
158
|
-
"wasm-feature-detect": "~1.8.0",
|
|
141
|
+
"viem": "^2.52.0",
|
|
142
|
+
"vite": "^8.0.16",
|
|
143
|
+
"vitest": "^4.1.8",
|
|
159
144
|
"webextension-polyfill": "^0.12.0",
|
|
160
145
|
"zod": "~4.4.3",
|
|
161
146
|
"zustand": "~5.0.14"
|
|
@@ -194,17 +179,12 @@
|
|
|
194
179
|
"@xylabs/sdk-js": "^6.0",
|
|
195
180
|
"@xylabs/sdk-react": "~9.0",
|
|
196
181
|
"@xylabs/threads": "~6.0",
|
|
197
|
-
"@xyo-network/
|
|
198
|
-
"@xyo-network/account-model": "~6.0",
|
|
199
|
-
"@xyo-network/boundwitness-builder": "~6.0",
|
|
182
|
+
"@xyo-network/address": "~6.0",
|
|
200
183
|
"@xyo-network/boundwitness-model": "~6.0",
|
|
201
184
|
"@xyo-network/boundwitness-validator": "~6.0",
|
|
202
|
-
"@xyo-network/boundwitness-wrapper": "~6.0",
|
|
203
|
-
"@xyo-network/config-payload-plugin": "~6.0",
|
|
204
185
|
"@xyo-network/diviner-model": "^6.0",
|
|
205
186
|
"@xyo-network/diviner-schema-list": "~6.0",
|
|
206
187
|
"@xyo-network/diviner-schema-stats": "~6.0",
|
|
207
|
-
"@xyo-network/manifest-model": "~6.0",
|
|
208
188
|
"@xyo-network/module-model": "^6.0",
|
|
209
189
|
"@xyo-network/node-core-types": "~4.2",
|
|
210
190
|
"@xyo-network/node-memory": "~6.0",
|
|
@@ -212,7 +192,6 @@
|
|
|
212
192
|
"@xyo-network/payload-builder": "~6.0",
|
|
213
193
|
"@xyo-network/payload-model": "~6.0",
|
|
214
194
|
"@xyo-network/payload-validator": "^6.0",
|
|
215
|
-
"@xyo-network/query-payload-plugin": "~6.0",
|
|
216
195
|
"@xyo-network/react-error": "~9.0",
|
|
217
196
|
"@xyo-network/react-event": "~9.0",
|
|
218
197
|
"@xyo-network/react-payload-plugin": "~9.0",
|
|
@@ -222,7 +201,6 @@
|
|
|
222
201
|
"@xyo-network/sdk-js": "^6.0",
|
|
223
202
|
"@xyo-network/sdk-protocol-js": "~6.0",
|
|
224
203
|
"@xyo-network/typeof": "~5.3",
|
|
225
|
-
"@xyo-network/wallet-model": "^6.0",
|
|
226
204
|
"@xyo-network/xl1-blockies": "^2.0",
|
|
227
205
|
"@xyo-network/xl1-react-client-sdk": "^2.0",
|
|
228
206
|
"@xyo-network/xl1-sdk": "^2.0",
|
|
@@ -231,17 +209,13 @@
|
|
|
231
209
|
"bn.js": "^5.2",
|
|
232
210
|
"bowser": "^2.14",
|
|
233
211
|
"buffer": "^6.0",
|
|
234
|
-
"chalk": "^5.6",
|
|
235
212
|
"clsx": "~2.1",
|
|
236
213
|
"cosmiconfig": "^9.0",
|
|
237
214
|
"debug": "~4.4",
|
|
238
215
|
"ethers": "^6.16",
|
|
239
|
-
"fast-deep-equal": "~3.1",
|
|
240
216
|
"hash-wasm": "~4.12",
|
|
241
217
|
"idb": "^8.0",
|
|
242
|
-
"js-cookie": "~3.0",
|
|
243
218
|
"lru-cache": "^11.3",
|
|
244
|
-
"mapbox-gl": "^3.23",
|
|
245
219
|
"md5": "~2.3",
|
|
246
220
|
"mixpanel-browser": "~2.79",
|
|
247
221
|
"numeral": "~2.0",
|
|
@@ -251,17 +225,13 @@
|
|
|
251
225
|
"query-string": "~9.3",
|
|
252
226
|
"react": "^19.2",
|
|
253
227
|
"react-dom": "^19.2",
|
|
254
|
-
"react-is": "^19.2",
|
|
255
228
|
"react-router-dom": "^7.15",
|
|
256
|
-
"recharts": "~3.8",
|
|
257
229
|
"rollbar": "^3.1",
|
|
258
230
|
"spark-md5": "~3.0",
|
|
259
|
-
"store2": "~2.14",
|
|
260
231
|
"storybook": "^10.3",
|
|
261
232
|
"uuid": "~14.0",
|
|
262
233
|
"viem": "^2.48",
|
|
263
234
|
"vite": "^8.0",
|
|
264
|
-
"wasm-feature-detect": "~1.8",
|
|
265
235
|
"webextension-polyfill": "^0.12",
|
|
266
236
|
"zod": "~4.4",
|
|
267
237
|
"zustand": "~5.0"
|