@xyo-network/react-chain-transfer-plugin 1.22.0 → 1.23.2

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,95 +1,119 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/transfer/box/Details.tsx
5
2
  import { FlexCol } from "@xylabs/react-flexbox";
6
- import React5 from "react";
7
3
 
8
4
  // src/transfer/card/TransferRenderCard.tsx
9
- import { Card, CardContent, CardHeader, List, useMediaQuery, useTheme as useTheme3 } from "@mui/material";
5
+ import {
6
+ Card,
7
+ CardContent,
8
+ CardHeader,
9
+ List,
10
+ useMediaQuery,
11
+ useTheme as useTheme3
12
+ } from "@mui/material";
10
13
  import { asAddress as asAddress2, asHex } from "@xylabs/sdk-js";
11
- import { BlockiesAvatar as BlockiesAvatar2 } from "@xyo-network/react-chain-blockies";
12
14
  import { useEvent } from "@xyo-network/react-event";
15
+ import { BlockiesAvatar as BlockiesAvatar2 } from "@xyo-network/xl1-blockies";
13
16
  import { asTransfer } from "@xyo-network/xl1-sdk";
14
- import React4, { useMemo } from "react";
17
+ import { useMemo } from "react";
15
18
 
16
19
  // src/transfer/card/ListItem.tsx
17
- import { ListItem, ListItemAvatar, ListItemText, Stack, Typography, useTheme } from "@mui/material";
18
- import { asAddress, hexToBigInt, isDefined } from "@xylabs/sdk-js";
19
- import { BlockiesAvatar } from "@xyo-network/react-chain-blockies";
20
+ import {
21
+ ListItem,
22
+ ListItemAvatar,
23
+ ListItemText,
24
+ Stack,
25
+ Typography,
26
+ useTheme
27
+ } from "@mui/material";
28
+ import {
29
+ asAddress,
30
+ hexToBigInt,
31
+ isDefined
32
+ } from "@xylabs/sdk-js";
20
33
  import { NetworkIcon } from "@xyo-network/react-chain-network";
34
+ import { BlockiesAvatar } from "@xyo-network/xl1-blockies";
21
35
  import { MainNetworkIconString } from "@xyo-network/xl1-sdk";
22
- import React from "react";
23
- var TransferRenderListItem = /* @__PURE__ */ __name(({ address, amount, sx, transferCardHelper, ...props }) => {
36
+ import { jsx, jsxs } from "react/jsx-runtime";
37
+ var TransferRenderListItem = ({
38
+ address,
39
+ amount,
40
+ sx,
41
+ transferCardHelper,
42
+ ...props
43
+ }) => {
24
44
  const theme = useTheme();
25
- return /* @__PURE__ */ React.createElement(ListItem, {
26
- sx: {
27
- px: 0,
28
- ...sx
29
- },
30
- ...props
31
- }, /* @__PURE__ */ React.createElement(ListItemAvatar, {
32
- sx: {
33
- minWidth: 30,
34
- mr: theme.spacing(2)
35
- }
36
- }, /* @__PURE__ */ React.createElement(BlockiesAvatar, {
37
- title: address,
38
- sx: {
39
- width: 30,
40
- height: 30
41
- },
42
- blockiesOptions: {
43
- seed: address
44
- }
45
- })), /* @__PURE__ */ React.createElement(ListItemText, {
46
- sx: {
47
- borderBottom: `1px solid ${theme.vars.palette.divider}`
48
- }
49
- }, /* @__PURE__ */ React.createElement(Stack, {
50
- direction: "row",
51
- sx: {
52
- gap: 2,
53
- justifyContent: "space-between",
54
- width: "100%"
55
- }
56
- }, /* @__PURE__ */ React.createElement(Typography, {
57
- component: "span",
58
- variant: "caption",
59
- sx: {
60
- fontFamily: "monospace"
61
- }
62
- }, transferCardHelper.addressComponent(asAddress(address), "To")), /* @__PURE__ */ React.createElement(Typography, {
63
- component: "span",
64
- variant: "caption",
65
- title: isDefined(amount) ? hexToBigInt(amount).toString() : "",
66
- sx: {
67
- fontFamily: "monospace",
68
- display: "inline-flex",
69
- alignItems: "center",
70
- gap: theme.spacing(0.25)
71
- }
72
- }, transferCardHelper.formatAmountToXl1(amount), /* @__PURE__ */ React.createElement(NetworkIcon, {
73
- icon: MainNetworkIconString,
74
- style: {
75
- width: 16,
76
- height: 16,
77
- display: "inline-flex",
78
- alignItems: "end"
79
- }
80
- }), "(XL1)"))));
81
- }, "TransferRenderListItem");
45
+ return /* @__PURE__ */ jsxs(ListItem, { sx: { px: 0, ...sx }, ...props, children: [
46
+ /* @__PURE__ */ jsx(ListItemAvatar, { sx: { minWidth: 30, mr: theme.spacing(2) }, children: /* @__PURE__ */ jsx(BlockiesAvatar, { title: address, sx: { width: 30, height: 30 }, blockiesOptions: { seed: address } }) }),
47
+ /* @__PURE__ */ jsx(ListItemText, { sx: { borderBottom: `1px solid ${theme.vars.palette.divider}` }, children: /* @__PURE__ */ jsxs(
48
+ Stack,
49
+ {
50
+ direction: "row",
51
+ sx: {
52
+ gap: 2,
53
+ justifyContent: "space-between",
54
+ width: "100%"
55
+ },
56
+ children: [
57
+ /* @__PURE__ */ jsx(
58
+ Typography,
59
+ {
60
+ component: "span",
61
+ variant: "caption",
62
+ sx: { fontFamily: "monospace" },
63
+ children: transferCardHelper.addressComponent(asAddress(address), "To")
64
+ }
65
+ ),
66
+ /* @__PURE__ */ jsxs(
67
+ Typography,
68
+ {
69
+ component: "span",
70
+ variant: "caption",
71
+ title: isDefined(amount) ? hexToBigInt(amount).toString() : "",
72
+ sx: {
73
+ fontFamily: "monospace",
74
+ display: "inline-flex",
75
+ alignItems: "center",
76
+ gap: theme.spacing(0.25)
77
+ },
78
+ children: [
79
+ transferCardHelper.formatAmountToXl1(amount),
80
+ /* @__PURE__ */ jsx(
81
+ NetworkIcon,
82
+ {
83
+ icon: MainNetworkIconString,
84
+ style: {
85
+ width: 16,
86
+ height: 16,
87
+ display: "inline-flex",
88
+ alignItems: "end"
89
+ }
90
+ }
91
+ ),
92
+ "(XL1)"
93
+ ]
94
+ }
95
+ )
96
+ ]
97
+ }
98
+ ) })
99
+ ] });
100
+ };
82
101
 
83
102
  // src/transfer/card/TransferRenderCardHelper.tsx
84
103
  import { Link } from "@mui/material";
85
- import { ellipsize, hexToBigInt as hexToBigInt2, isDefined as isDefined2, isHex, isUndefined } from "@xylabs/sdk-js";
86
- import { XL1Places } from "@xyo-network/xl1-sdk";
104
+ import {
105
+ ellipsize,
106
+ hexToBigInt as hexToBigInt2,
107
+ isDefined as isDefined2,
108
+ isHex,
109
+ isUndefined
110
+ } from "@xylabs/sdk-js";
111
+ import {
112
+ XL1Places
113
+ } from "@xyo-network/xl1-sdk";
87
114
  import { XL1Amount } from "@xyo-network/xl1-sdk";
88
- import React2 from "react";
115
+ import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
89
116
  var TransferCardHelper = class {
90
- static {
91
- __name(this, "TransferCardHelper");
92
- }
93
117
  _dispatch;
94
118
  _isMedium;
95
119
  _options;
@@ -119,14 +143,20 @@ var TransferCardHelper = class {
119
143
  const resolvedPrefix = isDefined2(prefix) ? `${prefix}: ` : "";
120
144
  const text = `${this.formatAddress(address) ?? "Unknown"}`;
121
145
  if (this.options?.links?.has("address")) {
122
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, resolvedPrefix, " ", /* @__PURE__ */ React2.createElement(Link, {
123
- onClick: /* @__PURE__ */ __name(() => {
124
- this.dispatch?.("address", "click", address);
125
- }, "onClick"),
126
- sx: {
127
- cursor: "pointer"
128
- }
129
- }, text));
146
+ return /* @__PURE__ */ jsxs2(Fragment, { children: [
147
+ resolvedPrefix,
148
+ " ",
149
+ /* @__PURE__ */ jsx2(
150
+ Link,
151
+ {
152
+ onClick: () => {
153
+ this.dispatch?.("address", "click", address);
154
+ },
155
+ sx: { cursor: "pointer" },
156
+ children: text
157
+ }
158
+ )
159
+ ] });
130
160
  }
131
161
  return `${resolvedPrefix}${text}`;
132
162
  }
@@ -160,107 +190,127 @@ var TransferCardHelper = class {
160
190
  import { Typography as Typography2, useTheme as useTheme2 } from "@mui/material";
161
191
  import { NetworkIcon as NetworkIcon2 } from "@xyo-network/react-chain-network";
162
192
  import { MainNetworkIconString as MainNetworkIconString2 } from "@xyo-network/xl1-sdk";
163
- import React3 from "react";
164
- var TransferRenderTotalTypography = /* @__PURE__ */ __name(({ transferRenderHelper, sx, ...props }) => {
193
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
194
+ var TransferRenderTotalTypography = ({
195
+ transferRenderHelper,
196
+ sx,
197
+ ...props
198
+ }) => {
165
199
  const theme = useTheme2();
166
- return /* @__PURE__ */ React3.createElement(Typography2, {
167
- sx: {
168
- display: "inline-flex",
169
- gap: theme.spacing(0.25),
170
- fontFamily: "monospace",
171
- ...sx
172
- },
173
- variant: "caption",
174
- ...props
175
- }, "Total:", " ", /* @__PURE__ */ React3.createElement("strong", null, transferRenderHelper?.totalTransferred()), /* @__PURE__ */ React3.createElement(NetworkIcon2, {
176
- icon: MainNetworkIconString2,
177
- style: {
178
- width: 16,
179
- height: 16,
180
- display: "inline-flex",
181
- alignItems: "end"
200
+ return /* @__PURE__ */ jsxs3(
201
+ Typography2,
202
+ {
203
+ sx: {
204
+ display: "inline-flex",
205
+ gap: theme.spacing(0.25),
206
+ fontFamily: "monospace",
207
+ ...sx
208
+ },
209
+ variant: "caption",
210
+ ...props,
211
+ children: [
212
+ "Total:",
213
+ " ",
214
+ /* @__PURE__ */ jsx3("strong", { children: transferRenderHelper?.totalTransferred() }),
215
+ /* @__PURE__ */ jsx3(
216
+ NetworkIcon2,
217
+ {
218
+ icon: MainNetworkIconString2,
219
+ style: {
220
+ width: 16,
221
+ height: 16,
222
+ display: "inline-flex",
223
+ alignItems: "end"
224
+ }
225
+ }
226
+ ),
227
+ "(XL1)"
228
+ ]
182
229
  }
183
- }), "(XL1)");
184
- }, "TransferRenderTotalTypography");
230
+ );
231
+ };
185
232
 
186
233
  // src/transfer/card/TransferRenderCard.tsx
187
- var TransferRenderCard = /* @__PURE__ */ __name(({ options, payload, ...props }) => {
234
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
235
+ var TransferRenderCard = ({
236
+ options,
237
+ payload,
238
+ ...props
239
+ }) => {
188
240
  const theme = useTheme3();
189
241
  const isMedium = useMediaQuery((theme2) => theme2.breakpoints.up("sm"));
190
242
  const [ref, dispatch] = useEvent();
191
243
  const transfer = asTransfer(payload);
192
244
  const { from, transfers } = transfer ?? {};
193
- const transferCardHelper = useMemo(() => new TransferCardHelper(isMedium, asTransfer(payload), dispatch, options), [
194
- isMedium,
195
- payload,
196
- dispatch,
197
- options
198
- ]);
199
- return /* @__PURE__ */ React4.createElement(Card, {
200
- ref,
201
- ...props
202
- }, /* @__PURE__ */ React4.createElement(CardHeader, {
203
- title: transferCardHelper.addressComponent(from, "From"),
204
- slotProps: {
205
- title: {
206
- title: from,
207
- variant: "body1",
208
- fontFamily: "monospace"
209
- }
210
- },
211
- avatar: /* @__PURE__ */ React4.createElement(BlockiesAvatar2, {
212
- sx: {
213
- width: 30,
214
- height: 30
215
- },
216
- title: from,
217
- blockiesOptions: {
218
- seed: from
219
- }
220
- })
221
- }), /* @__PURE__ */ React4.createElement(CardContent, {
222
- sx: {
223
- "&:last-child": {
224
- pb: theme.spacing(0)
245
+ const transferCardHelper = useMemo(
246
+ () => new TransferCardHelper(isMedium, asTransfer(payload), dispatch, options),
247
+ [isMedium, payload, dispatch, options]
248
+ );
249
+ return /* @__PURE__ */ jsxs4(Card, { ref, ...props, children: [
250
+ /* @__PURE__ */ jsx4(
251
+ CardHeader,
252
+ {
253
+ title: transferCardHelper.addressComponent(from, "From"),
254
+ slotProps: {
255
+ title: {
256
+ title: from,
257
+ variant: "body1",
258
+ fontFamily: "monospace"
259
+ }
260
+ },
261
+ avatar: /* @__PURE__ */ jsx4(BlockiesAvatar2, { sx: { width: 30, height: 30 }, title: from, blockiesOptions: { seed: from } })
225
262
  }
226
- }
227
- }, /* @__PURE__ */ React4.createElement(List, null, Object.entries(transfers ?? {}).map(([address, amount]) => /* @__PURE__ */ React4.createElement(TransferRenderListItem, {
228
- key: address,
229
- address: asAddress2(address),
230
- amount: asHex(amount),
231
- transferCardHelper
232
- }))), /* @__PURE__ */ React4.createElement(TransferRenderTotalTypography, {
233
- transferRenderHelper: transferCardHelper,
234
- sx: {
235
- // pt matches bottom padding of the ListItem
236
- width: "100%",
237
- justifyContent: "end",
238
- pt: 0.6666666667,
239
- pb: theme.spacing(2)
240
- }
241
- })));
242
- }, "TransferRenderCard");
263
+ ),
264
+ /* @__PURE__ */ jsxs4(CardContent, { sx: { "&:last-child": { pb: theme.spacing(0) } }, children: [
265
+ /* @__PURE__ */ jsx4(List, { children: Object.entries(transfers ?? {}).map(([address, amount]) => /* @__PURE__ */ jsx4(
266
+ TransferRenderListItem,
267
+ {
268
+ address: asAddress2(address),
269
+ amount: asHex(amount),
270
+ transferCardHelper
271
+ },
272
+ address
273
+ )) }),
274
+ /* @__PURE__ */ jsx4(
275
+ TransferRenderTotalTypography,
276
+ {
277
+ transferRenderHelper: transferCardHelper,
278
+ sx: {
279
+ // pt matches bottom padding of the ListItem
280
+ width: "100%",
281
+ justifyContent: "end",
282
+ pt: 0.6666666667,
283
+ pb: theme.spacing(2)
284
+ }
285
+ }
286
+ )
287
+ ] })
288
+ ] });
289
+ };
243
290
 
244
291
  // src/transfer/box/Details.tsx
245
- var TransferRenderBoxDetails = /* @__PURE__ */ __name(({ options, payload, ...props }) => {
246
- return /* @__PURE__ */ React5.createElement(FlexCol, props, /* @__PURE__ */ React5.createElement(TransferRenderCard, {
247
- options,
248
- payload
249
- }));
250
- }, "TransferRenderBoxDetails");
292
+ import { jsx as jsx5 } from "react/jsx-runtime";
293
+ var TransferRenderBoxDetails = ({
294
+ options,
295
+ payload,
296
+ ...props
297
+ }) => {
298
+ return /* @__PURE__ */ jsx5(FlexCol, { ...props, children: /* @__PURE__ */ jsx5(
299
+ TransferRenderCard,
300
+ {
301
+ options,
302
+ payload
303
+ }
304
+ ) });
305
+ };
251
306
 
252
307
  // src/transfer/Plugin.ts
253
308
  import { createPayloadRenderPlugin } from "@xyo-network/react-payload-plugin";
254
309
  import { TransferSchema } from "@xyo-network/xl1-sdk";
255
310
  var TransferRenderPlugin = {
256
311
  ...createPayloadRenderPlugin({
257
- canRender: /* @__PURE__ */ __name((payload) => payload?.schema === TransferSchema, "canRender"),
258
- components: {
259
- box: {
260
- detailsBox: TransferRenderBoxDetails,
261
- detailsCard: TransferRenderCard
262
- }
263
- },
312
+ canRender: (payload) => payload?.schema === TransferSchema,
313
+ components: { box: { detailsBox: TransferRenderBoxDetails, detailsCard: TransferRenderCard } },
264
314
  name: "Transfer"
265
315
  })
266
316
  };
@@ -269,4 +319,4 @@ export {
269
319
  TransferRenderCard,
270
320
  TransferRenderPlugin
271
321
  };
272
- //# sourceMappingURL=index.mjs.map
322
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1,7 @@
1
- {"version":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"],"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 { BlockiesAvatar } from '@xyo-network/react-chain-blockies'\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 { 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 { BlockiesAvatar } from '@xyo-network/react-chain-blockies'\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 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"],"mappings":"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","names":["FlexCol","React","Card","CardContent","CardHeader","List","useMediaQuery","useTheme","asAddress","asHex","BlockiesAvatar","useEvent","asTransfer","React","useMemo","ListItem","ListItemAvatar","ListItemText","Stack","Typography","useTheme","asAddress","hexToBigInt","isDefined","BlockiesAvatar","NetworkIcon","MainNetworkIconString","React","TransferRenderListItem","address","amount","sx","transferCardHelper","props","theme","useTheme","ListItem","px","ListItemAvatar","minWidth","mr","spacing","BlockiesAvatar","title","width","height","blockiesOptions","seed","ListItemText","borderBottom","vars","palette","divider","Stack","direction","gap","justifyContent","Typography","component","variant","fontFamily","addressComponent","asAddress","isDefined","hexToBigInt","toString","display","alignItems","formatAmountToXl1","NetworkIcon","icon","MainNetworkIconString","style","Link","ellipsize","hexToBigInt","isDefined","isHex","isUndefined","XL1Places","XL1Amount","React","TransferCardHelper","_dispatch","_isMedium","_options","_payload","isMedium","payload","dispatch","options","linkedAddresses","links","has","addressComponent","address","prefix","resolvedPrefix","isDefined","text","formatAddress","React","Link","onClick","sx","cursor","ellipsize","formatAmountToXl1","amount","isUndefined","amountBigInt","isHex","hexToBigInt","xl1Amount","XL1Amount","fromAtto","toString","Number","XL1Places","xl1","maxDecimal","maxCharacters","minDecimals","locale","navigator","language","totalTransferred","transfers","total","Object","entries","Typography","useTheme","NetworkIcon","MainNetworkIconString","React","TransferRenderTotalTypography","transferRenderHelper","sx","props","theme","useTheme","React","Typography","display","gap","spacing","fontFamily","variant","strong","totalTransferred","NetworkIcon","icon","MainNetworkIconString","style","width","height","alignItems","TransferRenderCard","options","payload","props","theme","useTheme","isMedium","useMediaQuery","breakpoints","up","ref","dispatch","useEvent","transfer","asTransfer","from","transfers","transferCardHelper","useMemo","TransferCardHelper","React","Card","CardHeader","title","addressComponent","slotProps","variant","fontFamily","avatar","BlockiesAvatar","sx","width","height","blockiesOptions","seed","CardContent","pb","spacing","List","Object","entries","map","address","amount","TransferRenderListItem","key","asAddress","asHex","TransferRenderTotalTypography","transferRenderHelper","justifyContent","pt","TransferRenderBoxDetails","options","payload","props","React","FlexCol","TransferRenderCard","createPayloadRenderPlugin","TransferSchema","TransferRenderPlugin","createPayloadRenderPlugin","canRender","payload","schema","TransferSchema","components","box","detailsBox","TransferRenderBoxDetails","detailsCard","TransferRenderCard","name"]}
1
+ {
2
+ "version": 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;AAEP;AAAA,EAC+B;AAAA,OACxB;AACP,SAAS,iBAAiB;AAiDlB,mBAGE,OAAAC,MAHF,QAAAC,aAAA;AA3CD,IAAM,qBAAN,MAAyB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACE,UACA,SACA,UACA,SACA;AACA,SAAK,YAAY;AACjB,SAAK,WAAW;AAChB,SAAK,WAAW;AAChB,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,kBAAkB;AACpB,WAAO,KAAK,SAAS,OAAO,IAAI,SAAS;AAAA,EAC3C;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,UAAgC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,iBAAiB,SAAmB,QAA4B;AAC9D,UAAM,iBAAiBF,WAAU,MAAM,IAAI,GAAG,MAAM,OAAO;AAC3D,UAAM,OAAO,GAAG,KAAK,cAAc,OAAO,KAAK,SAAS;AACxD,QAAI,KAAK,SAAS,OAAO,IAAI,SAAS,GAAG;AACvC,aACE,gBAAAE,MAAA,YACG;AAAA;AAAA,QACA;AAAA,QACD,gBAAAD;AAAA,UAAC;AAAA;AAAA,YACC,SAAS,MAAM;AACb,mBAAK,WAAW,WAAW,SAAS,OAAO;AAAA,YAC7C;AAAA,YACA,IAAI,EAAE,QAAQ,UAAU;AAAA,YAEvB;AAAA;AAAA,QACH;AAAA,SACF;AAAA,IAEJ;AACA,WAAO,GAAG,cAAc,GAAG,IAAI;AAAA,EACjC;AAAA,EAEA,cAAc,SAA2B;AACvC,WAAQ,UAAW,KAAK,WAAW,UAAU,UAAU,SAAS,CAAC,IAAK;AAAA,EACxE;AAAA,EAEA,kBAAkB,QAA+B;AAC/C,QAAI,YAAY,MAAM,EAAG,QAAO;AAChC,UAAM,eAAe,MAAM,MAAM,IAAIF,aAAY,MAAM,IAAI;AAC3D,UAAM,YAAY,UAAU,SAAS,YAAuB,EAAE,SAAS,OAAO,UAAU,GAAG,GAAG;AAAA,MAC5F,YAAY;AAAA,MAAI,eAAe;AAAA,MAAI,aAAa;AAAA,MAAG,QAAQ,UAAU;AAAA,IACvE,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,mBAAmB;AACjB,QAAI,YAAY,KAAK,SAAS,SAAS,EAAG,QAAO;AACjD,QAAI,QAAQ;AACZ,eAAW,CAAC,EAAE,MAAM,KAAK,OAAO,QAAQ,KAAK,QAAQ,SAAS,GAAG;AAC/D,UAAIC,WAAU,MAAM,GAAG;AACrB,iBAASD,aAAY,MAAM;AAAA,MAC7B;AAAA,IACF;AACA,WAAO,KAAK,kBAAkB,KAAK;AAAA,EACrC;AACF;;;ACjGA,SAAS,cAAAI,aAAY,YAAAC,iBAAgB;AACrC,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,yBAAAC,8BAA6B;AAelC,SASE,OAAAC,MATF,QAAAC,aAAA;AANG,IAAM,gCAA8E,CAAC;AAAA,EAC1F;AAAA,EAAsB;AAAA,EAAI,GAAG;AAC/B,MAAM;AACJ,QAAM,QAAQJ,UAAS;AAEvB,SACE,gBAAAI;AAAA,IAACL;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,SAAS;AAAA,QAAe,KAAK,MAAM,QAAQ,IAAI;AAAA,QAAG,YAAY;AAAA,QAAa,GAAG;AAAA,MAChF;AAAA,MACA,SAAQ;AAAA,MACP,GAAG;AAAA,MACL;AAAA;AAAA,QAEE;AAAA,QACD,gBAAAI,KAAC,YAAQ,gCAAsB,iBAAiB,GAAE;AAAA,QAClD,gBAAAA;AAAA,UAACF;AAAA,UAAA;AAAA,YACC,MAAMC;AAAA,YACN,OAAO;AAAA,cACL,OAAO;AAAA,cAAI,QAAQ;AAAA,cAAI,SAAS;AAAA,cAAe,YAAY;AAAA,YAC7D;AAAA;AAAA,QACF;AAAA,QAAE;AAAA;AAAA;AAAA,EAEJ;AAEJ;;;AHSgB,gBAAAG,MAEV,QAAAC,aAFU;AAxBT,IAAM,qBAAwD,CAAC;AAAA,EACpE;AAAA,EAAS;AAAA,EAAS,GAAG;AACvB,MAAM;AACJ,QAAM,QAAQC,UAAS;AACvB,QAAM,WAAW,cAAc,CAAAC,WAASA,OAAM,YAAY,GAAG,IAAI,CAAC;AAClE,QAAM,CAAC,KAAK,QAAQ,IAAI,SAAyB;AACjD,QAAM,WAAW,WAAW,OAAO;AACnC,QAAM,EAAE,MAAM,UAAU,IAAI,YAAY,CAAC;AAEzC,QAAM,qBAAqB;AAAA,IACzB,MACE,IAAI,mBAAmB,UAAU,WAAW,OAAO,GAAG,UAAU,OAAO;AAAA,IACzE,CAAC,UAAU,SAAS,UAAU,OAAO;AAAA,EACvC;AAEA,SACE,gBAAAF,MAAC,QAAK,KAAW,GAAG,OAClB;AAAA,oBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,mBAAmB,iBAAiB,MAAM,MAAM;AAAA,QACvD,WAAW;AAAA,UACT,OAAO;AAAA,YACL,OAAO;AAAA,YAAM,SAAS;AAAA,YAAS,YAAY;AAAA,UAC7C;AAAA,QACF;AAAA,QACA,QAAQ,gBAAAA,KAACI,iBAAA,EAAe,IAAI,EAAE,OAAO,IAAI,QAAQ,GAAG,GAAG,OAAO,MAAM,iBAAiB,EAAE,MAAM,KAAK,GAAG;AAAA;AAAA,IACvG;AAAA,IACA,gBAAAH,MAAC,eAAY,IAAI,EAAE,gBAAgB,EAAE,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,GAC1D;AAAA,sBAAAD,KAAC,QACE,iBAAO,QAAQ,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,MAAM,MACpD,gBAAAA;AAAA,QAAC;AAAA;AAAA,UAEC,SAASK,WAAU,OAAO;AAAA,UAC1B,QAAQ,MAAM,MAAM;AAAA,UACpB;AAAA;AAAA,QAHK;AAAA,MAIP,CACD,GACH;AAAA,MACA,gBAAAL;AAAA,QAAC;AAAA;AAAA,UACC,sBAAsB;AAAA,UACtB,IAAI;AAAA;AAAA,YAEF,OAAO;AAAA,YAAQ,gBAAgB;AAAA,YAAO,IAAI;AAAA,YAAiB,IAAI,MAAM,QAAQ,CAAC;AAAA,UAChF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,KACF;AAEJ;;;ADhDM,gBAAAM,YAAA;AAPC,IAAM,2BAAoE,CAAC;AAAA,EAChF;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE,gBAAAA,KAAC,WAAS,GAAG,OACX,0BAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA;AAAA,EACF,GACF;AAEJ;;;AK1BA,SAAS,iCAAiC;AAE1C,SAAS,sBAAsB;AAKxB,IAAM,uBAA4C;AAAA,EACvD,GAAG,0BAA0B;AAAA,IAC3B,WAAW,CAAC,YAAsB,SAAS,WAAW;AAAA,IACtD,YAAY,EAAE,KAAK,EAAE,YAAY,0BAA0B,aAAa,mBAAmB,EAAE;AAAA,IAC7F,MAAM;AAAA,EACR,CAAC;AACH;",
6
+ "names": ["useTheme", "asAddress", "BlockiesAvatar", "hexToBigInt", "isDefined", "jsx", "jsxs", "Typography", "useTheme", "NetworkIcon", "MainNetworkIconString", "jsx", "jsxs", "jsx", "jsxs", "useTheme", "theme", "BlockiesAvatar", "asAddress", "jsx"]
7
+ }
@@ -1,99 +1,123 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/transfer/Plugin.ts
5
2
  import { createPayloadRenderPlugin } from "@xyo-network/react-payload-plugin";
6
3
  import { TransferSchema } from "@xyo-network/xl1-sdk";
7
4
 
8
5
  // src/transfer/box/Details.tsx
9
6
  import { FlexCol } from "@xylabs/react-flexbox";
10
- import React5 from "react";
11
7
 
12
8
  // src/transfer/card/TransferRenderCard.tsx
13
- import { Card, CardContent, CardHeader, List, useMediaQuery, useTheme as useTheme3 } from "@mui/material";
9
+ import {
10
+ Card,
11
+ CardContent,
12
+ CardHeader,
13
+ List,
14
+ useMediaQuery,
15
+ useTheme as useTheme3
16
+ } from "@mui/material";
14
17
  import { asAddress as asAddress2, asHex } from "@xylabs/sdk-js";
15
- import { BlockiesAvatar as BlockiesAvatar2 } from "@xyo-network/react-chain-blockies";
16
18
  import { useEvent } from "@xyo-network/react-event";
19
+ import { BlockiesAvatar as BlockiesAvatar2 } from "@xyo-network/xl1-blockies";
17
20
  import { asTransfer } from "@xyo-network/xl1-sdk";
18
- import React4, { useMemo } from "react";
21
+ import { useMemo } from "react";
19
22
 
20
23
  // src/transfer/card/ListItem.tsx
21
- import { ListItem, ListItemAvatar, ListItemText, Stack, Typography, useTheme } from "@mui/material";
22
- import { asAddress, hexToBigInt, isDefined } from "@xylabs/sdk-js";
23
- import { BlockiesAvatar } from "@xyo-network/react-chain-blockies";
24
+ import {
25
+ ListItem,
26
+ ListItemAvatar,
27
+ ListItemText,
28
+ Stack,
29
+ Typography,
30
+ useTheme
31
+ } from "@mui/material";
32
+ import {
33
+ asAddress,
34
+ hexToBigInt,
35
+ isDefined
36
+ } from "@xylabs/sdk-js";
24
37
  import { NetworkIcon } from "@xyo-network/react-chain-network";
38
+ import { BlockiesAvatar } from "@xyo-network/xl1-blockies";
25
39
  import { MainNetworkIconString } from "@xyo-network/xl1-sdk";
26
- import React from "react";
27
- var TransferRenderListItem = /* @__PURE__ */ __name(({ address, amount, sx, transferCardHelper, ...props }) => {
40
+ import { jsx, jsxs } from "react/jsx-runtime";
41
+ var TransferRenderListItem = ({
42
+ address,
43
+ amount,
44
+ sx,
45
+ transferCardHelper,
46
+ ...props
47
+ }) => {
28
48
  const theme = useTheme();
29
- return /* @__PURE__ */ React.createElement(ListItem, {
30
- sx: {
31
- px: 0,
32
- ...sx
33
- },
34
- ...props
35
- }, /* @__PURE__ */ React.createElement(ListItemAvatar, {
36
- sx: {
37
- minWidth: 30,
38
- mr: theme.spacing(2)
39
- }
40
- }, /* @__PURE__ */ React.createElement(BlockiesAvatar, {
41
- title: address,
42
- sx: {
43
- width: 30,
44
- height: 30
45
- },
46
- blockiesOptions: {
47
- seed: address
48
- }
49
- })), /* @__PURE__ */ React.createElement(ListItemText, {
50
- sx: {
51
- borderBottom: `1px solid ${theme.vars.palette.divider}`
52
- }
53
- }, /* @__PURE__ */ React.createElement(Stack, {
54
- direction: "row",
55
- sx: {
56
- gap: 2,
57
- justifyContent: "space-between",
58
- width: "100%"
59
- }
60
- }, /* @__PURE__ */ React.createElement(Typography, {
61
- component: "span",
62
- variant: "caption",
63
- sx: {
64
- fontFamily: "monospace"
65
- }
66
- }, transferCardHelper.addressComponent(asAddress(address), "To")), /* @__PURE__ */ React.createElement(Typography, {
67
- component: "span",
68
- variant: "caption",
69
- title: isDefined(amount) ? hexToBigInt(amount).toString() : "",
70
- sx: {
71
- fontFamily: "monospace",
72
- display: "inline-flex",
73
- alignItems: "center",
74
- gap: theme.spacing(0.25)
75
- }
76
- }, transferCardHelper.formatAmountToXl1(amount), /* @__PURE__ */ React.createElement(NetworkIcon, {
77
- icon: MainNetworkIconString,
78
- style: {
79
- width: 16,
80
- height: 16,
81
- display: "inline-flex",
82
- alignItems: "end"
83
- }
84
- }), "(XL1)"))));
85
- }, "TransferRenderListItem");
49
+ return /* @__PURE__ */ jsxs(ListItem, { sx: { px: 0, ...sx }, ...props, children: [
50
+ /* @__PURE__ */ jsx(ListItemAvatar, { sx: { minWidth: 30, mr: theme.spacing(2) }, children: /* @__PURE__ */ jsx(BlockiesAvatar, { title: address, sx: { width: 30, height: 30 }, blockiesOptions: { seed: address } }) }),
51
+ /* @__PURE__ */ jsx(ListItemText, { sx: { borderBottom: `1px solid ${theme.vars.palette.divider}` }, children: /* @__PURE__ */ jsxs(
52
+ Stack,
53
+ {
54
+ direction: "row",
55
+ sx: {
56
+ gap: 2,
57
+ justifyContent: "space-between",
58
+ width: "100%"
59
+ },
60
+ children: [
61
+ /* @__PURE__ */ jsx(
62
+ Typography,
63
+ {
64
+ component: "span",
65
+ variant: "caption",
66
+ sx: { fontFamily: "monospace" },
67
+ children: transferCardHelper.addressComponent(asAddress(address), "To")
68
+ }
69
+ ),
70
+ /* @__PURE__ */ jsxs(
71
+ Typography,
72
+ {
73
+ component: "span",
74
+ variant: "caption",
75
+ title: isDefined(amount) ? hexToBigInt(amount).toString() : "",
76
+ sx: {
77
+ fontFamily: "monospace",
78
+ display: "inline-flex",
79
+ alignItems: "center",
80
+ gap: theme.spacing(0.25)
81
+ },
82
+ children: [
83
+ transferCardHelper.formatAmountToXl1(amount),
84
+ /* @__PURE__ */ jsx(
85
+ NetworkIcon,
86
+ {
87
+ icon: MainNetworkIconString,
88
+ style: {
89
+ width: 16,
90
+ height: 16,
91
+ display: "inline-flex",
92
+ alignItems: "end"
93
+ }
94
+ }
95
+ ),
96
+ "(XL1)"
97
+ ]
98
+ }
99
+ )
100
+ ]
101
+ }
102
+ ) })
103
+ ] });
104
+ };
86
105
 
87
106
  // src/transfer/card/TransferRenderCardHelper.tsx
88
107
  import { Link } from "@mui/material";
89
- import { ellipsize, hexToBigInt as hexToBigInt2, isDefined as isDefined2, isHex, isUndefined } from "@xylabs/sdk-js";
90
- import { XL1Places } from "@xyo-network/xl1-sdk";
108
+ import {
109
+ ellipsize,
110
+ hexToBigInt as hexToBigInt2,
111
+ isDefined as isDefined2,
112
+ isHex,
113
+ isUndefined
114
+ } from "@xylabs/sdk-js";
115
+ import {
116
+ XL1Places
117
+ } from "@xyo-network/xl1-sdk";
91
118
  import { XL1Amount } from "@xyo-network/xl1-sdk";
92
- import React2 from "react";
119
+ import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
93
120
  var TransferCardHelper = class {
94
- static {
95
- __name(this, "TransferCardHelper");
96
- }
97
121
  _dispatch;
98
122
  _isMedium;
99
123
  _options;
@@ -123,14 +147,20 @@ var TransferCardHelper = class {
123
147
  const resolvedPrefix = isDefined2(prefix) ? `${prefix}: ` : "";
124
148
  const text = `${this.formatAddress(address) ?? "Unknown"}`;
125
149
  if (this.options?.links?.has("address")) {
126
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, resolvedPrefix, " ", /* @__PURE__ */ React2.createElement(Link, {
127
- onClick: /* @__PURE__ */ __name(() => {
128
- this.dispatch?.("address", "click", address);
129
- }, "onClick"),
130
- sx: {
131
- cursor: "pointer"
132
- }
133
- }, text));
150
+ return /* @__PURE__ */ jsxs2(Fragment, { children: [
151
+ resolvedPrefix,
152
+ " ",
153
+ /* @__PURE__ */ jsx2(
154
+ Link,
155
+ {
156
+ onClick: () => {
157
+ this.dispatch?.("address", "click", address);
158
+ },
159
+ sx: { cursor: "pointer" },
160
+ children: text
161
+ }
162
+ )
163
+ ] });
134
164
  }
135
165
  return `${resolvedPrefix}${text}`;
136
166
  }
@@ -164,105 +194,125 @@ var TransferCardHelper = class {
164
194
  import { Typography as Typography2, useTheme as useTheme2 } from "@mui/material";
165
195
  import { NetworkIcon as NetworkIcon2 } from "@xyo-network/react-chain-network";
166
196
  import { MainNetworkIconString as MainNetworkIconString2 } from "@xyo-network/xl1-sdk";
167
- import React3 from "react";
168
- var TransferRenderTotalTypography = /* @__PURE__ */ __name(({ transferRenderHelper, sx, ...props }) => {
197
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
198
+ var TransferRenderTotalTypography = ({
199
+ transferRenderHelper,
200
+ sx,
201
+ ...props
202
+ }) => {
169
203
  const theme = useTheme2();
170
- return /* @__PURE__ */ React3.createElement(Typography2, {
171
- sx: {
172
- display: "inline-flex",
173
- gap: theme.spacing(0.25),
174
- fontFamily: "monospace",
175
- ...sx
176
- },
177
- variant: "caption",
178
- ...props
179
- }, "Total:", " ", /* @__PURE__ */ React3.createElement("strong", null, transferRenderHelper?.totalTransferred()), /* @__PURE__ */ React3.createElement(NetworkIcon2, {
180
- icon: MainNetworkIconString2,
181
- style: {
182
- width: 16,
183
- height: 16,
184
- display: "inline-flex",
185
- alignItems: "end"
204
+ return /* @__PURE__ */ jsxs3(
205
+ Typography2,
206
+ {
207
+ sx: {
208
+ display: "inline-flex",
209
+ gap: theme.spacing(0.25),
210
+ fontFamily: "monospace",
211
+ ...sx
212
+ },
213
+ variant: "caption",
214
+ ...props,
215
+ children: [
216
+ "Total:",
217
+ " ",
218
+ /* @__PURE__ */ jsx3("strong", { children: transferRenderHelper?.totalTransferred() }),
219
+ /* @__PURE__ */ jsx3(
220
+ NetworkIcon2,
221
+ {
222
+ icon: MainNetworkIconString2,
223
+ style: {
224
+ width: 16,
225
+ height: 16,
226
+ display: "inline-flex",
227
+ alignItems: "end"
228
+ }
229
+ }
230
+ ),
231
+ "(XL1)"
232
+ ]
186
233
  }
187
- }), "(XL1)");
188
- }, "TransferRenderTotalTypography");
234
+ );
235
+ };
189
236
 
190
237
  // src/transfer/card/TransferRenderCard.tsx
191
- var TransferRenderCard = /* @__PURE__ */ __name(({ options, payload, ...props }) => {
238
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
239
+ var TransferRenderCard = ({
240
+ options,
241
+ payload,
242
+ ...props
243
+ }) => {
192
244
  const theme = useTheme3();
193
245
  const isMedium = useMediaQuery((theme2) => theme2.breakpoints.up("sm"));
194
246
  const [ref, dispatch] = useEvent();
195
247
  const transfer = asTransfer(payload);
196
248
  const { from, transfers } = transfer ?? {};
197
- const transferCardHelper = useMemo(() => new TransferCardHelper(isMedium, asTransfer(payload), dispatch, options), [
198
- isMedium,
199
- payload,
200
- dispatch,
201
- options
202
- ]);
203
- return /* @__PURE__ */ React4.createElement(Card, {
204
- ref,
205
- ...props
206
- }, /* @__PURE__ */ React4.createElement(CardHeader, {
207
- title: transferCardHelper.addressComponent(from, "From"),
208
- slotProps: {
209
- title: {
210
- title: from,
211
- variant: "body1",
212
- fontFamily: "monospace"
213
- }
214
- },
215
- avatar: /* @__PURE__ */ React4.createElement(BlockiesAvatar2, {
216
- sx: {
217
- width: 30,
218
- height: 30
219
- },
220
- title: from,
221
- blockiesOptions: {
222
- seed: from
223
- }
224
- })
225
- }), /* @__PURE__ */ React4.createElement(CardContent, {
226
- sx: {
227
- "&:last-child": {
228
- pb: theme.spacing(0)
249
+ const transferCardHelper = useMemo(
250
+ () => new TransferCardHelper(isMedium, asTransfer(payload), dispatch, options),
251
+ [isMedium, payload, dispatch, options]
252
+ );
253
+ return /* @__PURE__ */ jsxs4(Card, { ref, ...props, children: [
254
+ /* @__PURE__ */ jsx4(
255
+ CardHeader,
256
+ {
257
+ title: transferCardHelper.addressComponent(from, "From"),
258
+ slotProps: {
259
+ title: {
260
+ title: from,
261
+ variant: "body1",
262
+ fontFamily: "monospace"
263
+ }
264
+ },
265
+ avatar: /* @__PURE__ */ jsx4(BlockiesAvatar2, { sx: { width: 30, height: 30 }, title: from, blockiesOptions: { seed: from } })
229
266
  }
230
- }
231
- }, /* @__PURE__ */ React4.createElement(List, null, Object.entries(transfers ?? {}).map(([address, amount]) => /* @__PURE__ */ React4.createElement(TransferRenderListItem, {
232
- key: address,
233
- address: asAddress2(address),
234
- amount: asHex(amount),
235
- transferCardHelper
236
- }))), /* @__PURE__ */ React4.createElement(TransferRenderTotalTypography, {
237
- transferRenderHelper: transferCardHelper,
238
- sx: {
239
- // pt matches bottom padding of the ListItem
240
- width: "100%",
241
- justifyContent: "end",
242
- pt: 0.6666666667,
243
- pb: theme.spacing(2)
244
- }
245
- })));
246
- }, "TransferRenderCard");
267
+ ),
268
+ /* @__PURE__ */ jsxs4(CardContent, { sx: { "&:last-child": { pb: theme.spacing(0) } }, children: [
269
+ /* @__PURE__ */ jsx4(List, { children: Object.entries(transfers ?? {}).map(([address, amount]) => /* @__PURE__ */ jsx4(
270
+ TransferRenderListItem,
271
+ {
272
+ address: asAddress2(address),
273
+ amount: asHex(amount),
274
+ transferCardHelper
275
+ },
276
+ address
277
+ )) }),
278
+ /* @__PURE__ */ jsx4(
279
+ TransferRenderTotalTypography,
280
+ {
281
+ transferRenderHelper: transferCardHelper,
282
+ sx: {
283
+ // pt matches bottom padding of the ListItem
284
+ width: "100%",
285
+ justifyContent: "end",
286
+ pt: 0.6666666667,
287
+ pb: theme.spacing(2)
288
+ }
289
+ }
290
+ )
291
+ ] })
292
+ ] });
293
+ };
247
294
 
248
295
  // src/transfer/box/Details.tsx
249
- var TransferRenderBoxDetails = /* @__PURE__ */ __name(({ options, payload, ...props }) => {
250
- return /* @__PURE__ */ React5.createElement(FlexCol, props, /* @__PURE__ */ React5.createElement(TransferRenderCard, {
251
- options,
252
- payload
253
- }));
254
- }, "TransferRenderBoxDetails");
296
+ import { jsx as jsx5 } from "react/jsx-runtime";
297
+ var TransferRenderBoxDetails = ({
298
+ options,
299
+ payload,
300
+ ...props
301
+ }) => {
302
+ return /* @__PURE__ */ jsx5(FlexCol, { ...props, children: /* @__PURE__ */ jsx5(
303
+ TransferRenderCard,
304
+ {
305
+ options,
306
+ payload
307
+ }
308
+ ) });
309
+ };
255
310
 
256
311
  // src/transfer/Plugin.ts
257
312
  var TransferRenderPlugin = {
258
313
  ...createPayloadRenderPlugin({
259
- canRender: /* @__PURE__ */ __name((payload) => payload?.schema === TransferSchema, "canRender"),
260
- components: {
261
- box: {
262
- detailsBox: TransferRenderBoxDetails,
263
- detailsCard: TransferRenderCard
264
- }
265
- },
314
+ canRender: (payload) => payload?.schema === TransferSchema,
315
+ components: { box: { detailsBox: TransferRenderBoxDetails, detailsCard: TransferRenderCard } },
266
316
  name: "Transfer"
267
317
  })
268
318
  };
@@ -271,4 +321,4 @@ export {
271
321
  TransferRenderPlugin,
272
322
  Plugin_default as default
273
323
  };
274
- //# sourceMappingURL=Plugin.mjs.map
324
+ //# sourceMappingURL=Plugin.mjs.map
@@ -1 +1,7 @@
1
- {"version":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"],"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 { BlockiesAvatar } from '@xyo-network/react-chain-blockies'\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 { 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 { BlockiesAvatar } from '@xyo-network/react-chain-blockies'\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 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"],"mappings":"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","names":["createPayloadRenderPlugin","TransferSchema","FlexCol","React","Card","CardContent","CardHeader","List","useMediaQuery","useTheme","asAddress","asHex","BlockiesAvatar","useEvent","asTransfer","React","useMemo","ListItem","ListItemAvatar","ListItemText","Stack","Typography","useTheme","asAddress","hexToBigInt","isDefined","BlockiesAvatar","NetworkIcon","MainNetworkIconString","React","TransferRenderListItem","address","amount","sx","transferCardHelper","props","theme","useTheme","ListItem","px","ListItemAvatar","minWidth","mr","spacing","BlockiesAvatar","title","width","height","blockiesOptions","seed","ListItemText","borderBottom","vars","palette","divider","Stack","direction","gap","justifyContent","Typography","component","variant","fontFamily","addressComponent","asAddress","isDefined","hexToBigInt","toString","display","alignItems","formatAmountToXl1","NetworkIcon","icon","MainNetworkIconString","style","Link","ellipsize","hexToBigInt","isDefined","isHex","isUndefined","XL1Places","XL1Amount","React","TransferCardHelper","_dispatch","_isMedium","_options","_payload","isMedium","payload","dispatch","options","linkedAddresses","links","has","addressComponent","address","prefix","resolvedPrefix","isDefined","text","formatAddress","React","Link","onClick","sx","cursor","ellipsize","formatAmountToXl1","amount","isUndefined","amountBigInt","isHex","hexToBigInt","xl1Amount","XL1Amount","fromAtto","toString","Number","XL1Places","xl1","maxDecimal","maxCharacters","minDecimals","locale","navigator","language","totalTransferred","transfers","total","Object","entries","Typography","useTheme","NetworkIcon","MainNetworkIconString","React","TransferRenderTotalTypography","transferRenderHelper","sx","props","theme","useTheme","React","Typography","display","gap","spacing","fontFamily","variant","strong","totalTransferred","NetworkIcon","icon","MainNetworkIconString","style","width","height","alignItems","TransferRenderCard","options","payload","props","theme","useTheme","isMedium","useMediaQuery","breakpoints","up","ref","dispatch","useEvent","transfer","asTransfer","from","transfers","transferCardHelper","useMemo","TransferCardHelper","React","Card","CardHeader","title","addressComponent","slotProps","variant","fontFamily","avatar","BlockiesAvatar","sx","width","height","blockiesOptions","seed","CardContent","pb","spacing","List","Object","entries","map","address","amount","TransferRenderListItem","key","asAddress","asHex","TransferRenderTotalTypography","transferRenderHelper","justifyContent","pt","TransferRenderBoxDetails","options","payload","props","React","FlexCol","TransferRenderCard","TransferRenderPlugin","createPayloadRenderPlugin","canRender","payload","schema","TransferSchema","components","box","detailsBox","TransferRenderBoxDetails","detailsCard","TransferRenderCard","name"]}
1
+ {
2
+ "version": 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": "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",
6
+ "names": ["useTheme", "asAddress", "BlockiesAvatar", "hexToBigInt", "isDefined", "jsx", "jsxs", "Typography", "useTheme", "NetworkIcon", "MainNetworkIconString", "jsx", "jsxs", "jsx", "jsxs", "useTheme", "theme", "BlockiesAvatar", "asAddress", "jsx"]
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"TransferRenderCard.d.ts","sourceRoot":"","sources":["../../../../src/transfer/card/TransferRenderCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAO9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAK5D,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB,EAAE,SAAS;IACnF,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA+ChE,CAAA"}
1
+ {"version":3,"file":"TransferRenderCard.d.ts","sourceRoot":"","sources":["../../../../src/transfer/card/TransferRenderCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAM9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAK5D,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB,EAAE,SAAS;IACnF,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA+ChE,CAAA"}
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": "1.22.0",
4
+ "version": "1.23.2",
5
5
  "description": "XYO Layer One API",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -43,54 +43,49 @@
43
43
  "README.md"
44
44
  ],
45
45
  "dependencies": {
46
- "@xyo-network/react-chain-blockies": "~1.22.0",
47
- "@xyo-network/react-chain-network": "~1.22.0"
46
+ "@xyo-network/react-chain-network": "~1.23.2"
48
47
  },
49
48
  "devDependencies": {
50
49
  "@bitauth/libauth": "~3.0.0",
51
50
  "@emotion/react": "^11.14.0",
52
51
  "@emotion/styled": "^11.14.1",
53
- "@metamask/json-rpc-engine": "^10.4.0",
52
+ "@metamask/json-rpc-engine": "^10.5.0",
54
53
  "@metamask/providers": "^22.1.1",
55
54
  "@metamask/utils": "~11.11.0",
56
- "@mixpanel/rrweb": "^2.0.0-alpha.18",
57
- "@mixpanel/rrweb-utils": "^2.0.0-alpha.18",
58
- "@mui/icons-material": "^9.0.1",
59
- "@mui/material": "^9.0.1",
60
- "@mui/system": "^9.0.1",
61
- "@mui/x-tree-view": "~9.1.0",
55
+ "@mui/icons-material": "~9.0.1",
56
+ "@mui/material": "~9.0.1",
57
+ "@mui/system": "~9.0.1",
58
+ "@mui/x-tree-view": "~9.1",
62
59
  "@opentelemetry/api": "^1.9.1",
63
60
  "@opentelemetry/sdk-trace-base": "^2.7.1",
64
61
  "@react-spring/web": "~10.0.3",
65
62
  "@rollbar/react": "~1.0.0",
66
63
  "@scure/base": "~2.2.0",
67
64
  "@scure/bip39": "~2.2.0",
68
- "@storybook/react-vite": "^10.3.6",
69
- "@testing-library/dom": ">=7.21.4",
65
+ "@storybook/react-vite": "^10.4.0",
70
66
  "@textea/json-viewer": "^4.0.1",
71
- "@types/node": "^20.19.0 || >=22.12.0",
72
67
  "@types/react": "^19.2.14",
73
68
  "@xylabs/fetch": "~5.1.2",
74
69
  "@xylabs/geo": "^5.1.2",
75
70
  "@xylabs/pixel": "~5.1.2",
76
- "@xylabs/react-async-effect": "~8.0",
77
- "@xylabs/react-button": "~8.0",
78
- "@xylabs/react-error": "~8.0",
79
- "@xylabs/react-flexbox": "~8.0",
80
- "@xylabs/react-hooks": "~8.0",
81
- "@xylabs/react-identicon": "~8.0",
82
- "@xylabs/react-link": "~8.0",
83
- "@xylabs/react-promise": "~8.0",
84
- "@xylabs/react-quick-tip-button": "~8.0",
85
- "@xylabs/react-select": "~8.0",
86
- "@xylabs/react-shared": "~8.0",
87
- "@xylabs/react-theme": "~8.0",
71
+ "@xylabs/react-async-effect": "~8.0.2",
72
+ "@xylabs/react-button": "~8.0.2",
73
+ "@xylabs/react-error": "~8.0.2",
74
+ "@xylabs/react-flexbox": "~8.0.2",
75
+ "@xylabs/react-hooks": "~8.0.2",
76
+ "@xylabs/react-identicon": "~8.0.2",
77
+ "@xylabs/react-link": "~8.0.2",
78
+ "@xylabs/react-promise": "~8.0.2",
79
+ "@xylabs/react-quick-tip-button": "~8.0.2",
80
+ "@xylabs/react-select": "~8.0.2",
81
+ "@xylabs/react-shared": "~8.0.2",
82
+ "@xylabs/react-theme": "~8.0.2",
88
83
  "@xylabs/sdk-js": "^5.1.2",
89
84
  "@xylabs/threads": "~5.1.2",
90
- "@xylabs/toolchain": "~7.13.22",
91
- "@xylabs/tsconfig": "~7.13.22",
92
- "@xylabs/tsconfig-dom": "~7.13.22",
93
- "@xylabs/tsconfig-react": "~7.13.22",
85
+ "@xylabs/toolchain": "~8.0.4",
86
+ "@xylabs/tsconfig": "~8.0.4",
87
+ "@xylabs/tsconfig-dom": "~8.0.4",
88
+ "@xylabs/tsconfig-react": "~8.0.3",
94
89
  "@xyo-network/account": "~5.6.2",
95
90
  "@xyo-network/account-model": "~5.6.3",
96
91
  "@xyo-network/api": "~5.6.2",
@@ -127,11 +122,11 @@
127
122
  "@xyo-network/typeof": "~5.3.30",
128
123
  "@xyo-network/wallet": "~5.6.2",
129
124
  "@xyo-network/wallet-model": "^5.6.3",
130
- "@xyo-network/xl1-sdk": "^1.28.5",
131
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0",
125
+ "@xyo-network/xl1-blockies": "^1.30.2",
126
+ "@xyo-network/xl1-react-client-sdk": "^1.30.2",
127
+ "@xyo-network/xl1-sdk": "^1.30.2",
132
128
  "ajv": "^8.20.0",
133
129
  "async-mutex": "^0.5.0",
134
- "axios": "^1",
135
130
  "bn.js": "^5.2.3",
136
131
  "bowser": "^2.14.1",
137
132
  "buffer": "^6.0.3",
@@ -142,7 +137,6 @@
142
137
  "eslint": "^10.3.0",
143
138
  "ethers": "^6.16.0",
144
139
  "fast-deep-equal": "~3.1.3",
145
- "firebase": "^12",
146
140
  "hash-wasm": "~4.12.0",
147
141
  "idb": "^8.0.3",
148
142
  "js-cookie": "~3.0.5",
@@ -156,19 +150,17 @@
156
150
  "query-string": "~9.3.1",
157
151
  "react": "^19.2.6",
158
152
  "react-dom": "^19.2.6",
159
- "react-is": "~19.2.6",
160
- "react-router-dom": "^7.15.0",
153
+ "react-is": "^19.2.6",
154
+ "react-router-dom": "^7.15.1",
161
155
  "recharts": "~3.8.1",
162
- "redux": "^5.0.0",
163
156
  "rollbar": "^3.1.0",
164
- "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0",
165
157
  "spark-md5": "~3.0.2",
166
158
  "store2": "~2.14.4",
167
- "storybook": "^10.3.6",
168
- "typescript": "~5.9.3",
159
+ "storybook": "^10.4.0",
160
+ "typescript": "~6.0.3",
169
161
  "uuid": "~14.0.0",
170
- "vite": "^8.0.11",
171
- "vitest": "^4.1.5",
162
+ "vite": "^8.0.13",
163
+ "vitest": "^4.1.6",
172
164
  "wasm-feature-detect": "~1.8.0",
173
165
  "webextension-polyfill": "^0.12.0",
174
166
  "zod": "~4.4.3"
@@ -180,11 +172,9 @@
180
172
  "@metamask/json-rpc-engine": "^10.3",
181
173
  "@metamask/providers": "^22.1",
182
174
  "@metamask/utils": "~11.11",
183
- "@mixpanel/rrweb": "^2.0.0-alpha.18",
184
- "@mixpanel/rrweb-utils": "^2.0.0-alpha.18",
185
- "@mui/icons-material": "^9.0",
186
- "@mui/material": "^9.0",
187
- "@mui/system": "^9.0",
175
+ "@mui/icons-material": "~9.0",
176
+ "@mui/material": "~9.0",
177
+ "@mui/system": "~9.0",
188
178
  "@mui/x-tree-view": "~9.1",
189
179
  "@opentelemetry/api": "^1.9",
190
180
  "@opentelemetry/sdk-trace-base": "^2.7",
@@ -193,7 +183,6 @@
193
183
  "@scure/base": "~2.2",
194
184
  "@scure/bip39": "~2.2",
195
185
  "@storybook/react-vite": "^10.3",
196
- "@testing-library/dom": ">=7.21.4",
197
186
  "@textea/json-viewer": "^4.0",
198
187
  "@xylabs/fetch": "~5.1",
199
188
  "@xylabs/geo": "^5.1",
@@ -248,10 +237,11 @@
248
237
  "@xyo-network/typeof": "~5.3",
249
238
  "@xyo-network/wallet": "~5.6",
250
239
  "@xyo-network/wallet-model": "^5.6",
240
+ "@xyo-network/xl1-blockies": "^1.28",
241
+ "@xyo-network/xl1-react-client-sdk": "^1.28",
251
242
  "@xyo-network/xl1-sdk": "^1.28",
252
243
  "ajv": "^8.20",
253
244
  "async-mutex": "^0.5",
254
- "axios": "^1",
255
245
  "bn.js": "^5.2",
256
246
  "bowser": "^2.14",
257
247
  "buffer": "^6.0",
@@ -260,7 +250,6 @@
260
250
  "debug": "~4.4",
261
251
  "ethers": "^6.16",
262
252
  "fast-deep-equal": "~3.1",
263
- "firebase": "^12",
264
253
  "hash-wasm": "~4.12",
265
254
  "idb": "^8.0",
266
255
  "js-cookie": "~3.0",
@@ -274,10 +263,9 @@
274
263
  "query-string": "~9.3",
275
264
  "react": "^19.2",
276
265
  "react-dom": "^19.2",
277
- "react-is": "~19.2",
266
+ "react-is": "^19.2",
278
267
  "react-router-dom": "^7.15",
279
268
  "recharts": "~3.8",
280
- "redux": "^5.0.0",
281
269
  "rollbar": "^3.1",
282
270
  "spark-md5": "~3.0",
283
271
  "store2": "~2.14",