@xyo-network/react-ethereum-gas-price-blocknative-plugin 2.69.4 → 2.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/components/Card/CardContent.d.cts.map +1 -1
- package/dist/browser/components/Card/CardContent.d.mts.map +1 -1
- package/dist/browser/components/Card/CardContent.d.ts.map +1 -1
- package/dist/browser/index.cjs +12 -10
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +12 -10
- package/dist/browser/index.js.map +1 -1
- package/dist/node/components/Card/CardContent.d.cts.map +1 -1
- package/dist/node/components/Card/CardContent.d.mts.map +1 -1
- package/dist/node/components/Card/CardContent.d.ts.map +1 -1
- package/dist/node/index.cjs +13 -11
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +13 -11
- package/dist/node/index.js.map +1 -1
- package/package.json +10 -10
- package/src/components/Card/CardContent.tsx +22 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;
|
|
1
|
+
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;0DAuB1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;
|
|
1
|
+
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;0DAuB1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;
|
|
1
|
+
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;0DAuB1C,CAAA"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -73,17 +73,19 @@ var useBlocknativeTransformer = (payload) => {
|
|
|
73
73
|
|
|
74
74
|
// src/components/Card/CardContent.tsx
|
|
75
75
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
76
|
-
var BlocknativeGasPriceCardContent = (0, import_react.forwardRef)(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
var BlocknativeGasPriceCardContent = (0, import_react.forwardRef)(
|
|
77
|
+
({ payload, ...props }, ref) => {
|
|
78
|
+
const gasPricePayload = payload ? payload : void 0;
|
|
79
|
+
const parsedPayload = useBlocknativeTransformer(gasPricePayload);
|
|
80
|
+
if ((0, import_lodash.isEmpty)(gasPricePayload) || !gasPricePayload.blockPrices?.length) {
|
|
81
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data.", sx: { m: 1 } });
|
|
82
|
+
}
|
|
83
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.CardContent, { ref, sx: { display: "flex", flexDirection: "column", rowGap: 4 }, ...props, children: [
|
|
84
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_gas_price.GasFeeCard, { gasPrice: price?.value, speed: price?.label, speedPaperElevation: 4 }) }, price?.label)) }),
|
|
85
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_gas_price.ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
|
|
86
|
+
] });
|
|
81
87
|
}
|
|
82
|
-
|
|
83
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_gas_price.GasFeeCard, { gasPrice: price?.value, speed: price?.label, speedPaperElevation: 4 }) }, price?.label)) }),
|
|
84
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_gas_price.ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
|
|
85
|
-
] });
|
|
86
|
-
});
|
|
88
|
+
);
|
|
87
89
|
BlocknativeGasPriceCardContent.displayName = "BlocknativeGasPriceCardContent";
|
|
88
90
|
|
|
89
91
|
// src/components/Card/CardHeader.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/Plugin.ts"],"sourcesContent":["export * from './components'\nexport * from './Plugin'\n\n// eslint-disable-next-line import/no-default-export\n\nexport { EthereumGasPriceBlocknativePlugin as default } from './Plugin'\n","import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n})\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n","import { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, PayloadRenderProps & CardContentProps>(({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n})\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map((price) => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ?\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n }\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],"mappings":"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","names":["import_material","import_react","import_react_gas_price","import_react","import_jsx_runtime","import_jsx_runtime","import_material","import_lodash","import_react_gas_price","import_react_shared","import_react","import_jsx_runtime","import_react_gas_price"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/Plugin.ts"],"sourcesContent":["export * from './components'\nexport * from './Plugin'\n\n// eslint-disable-next-line import/no-default-export\n\nexport { EthereumGasPriceBlocknativePlugin as default } from './Plugin'\n","import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n})\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n","import { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, Omit<PayloadRenderProps & CardContentProps, 'ref'>>(\n ({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n },\n)\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map((price) => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ?\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n }\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],"mappings":"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","names":["import_material","import_react","import_react_gas_price","import_react","import_jsx_runtime","import_jsx_runtime","import_material","import_lodash","import_react_gas_price","import_react_shared","import_react","import_jsx_runtime","import_react_gas_price"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -42,17 +42,19 @@ var useBlocknativeTransformer = (payload) => {
|
|
|
42
42
|
|
|
43
43
|
// src/components/Card/CardContent.tsx
|
|
44
44
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
45
|
-
var BlocknativeGasPriceCardContent = forwardRef(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
var BlocknativeGasPriceCardContent = forwardRef(
|
|
46
|
+
({ payload, ...props }, ref) => {
|
|
47
|
+
const gasPricePayload = payload ? payload : void 0;
|
|
48
|
+
const parsedPayload = useBlocknativeTransformer(gasPricePayload);
|
|
49
|
+
if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {
|
|
50
|
+
return /* @__PURE__ */ jsx(PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data.", sx: { m: 1 } });
|
|
51
|
+
}
|
|
52
|
+
return /* @__PURE__ */ jsxs(CardContent, { ref, sx: { display: "flex", flexDirection: "column", rowGap: 4 }, ...props, children: [
|
|
53
|
+
/* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price }) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx(GasFeeCard, { gasPrice: price?.value, speed: price?.label, speedPaperElevation: 4 }) }, price?.label)) }),
|
|
54
|
+
/* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
|
|
55
|
+
] });
|
|
50
56
|
}
|
|
51
|
-
|
|
52
|
-
/* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price }) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx(GasFeeCard, { gasPrice: price?.value, speed: price?.label, speedPaperElevation: 4 }) }, price?.label)) }),
|
|
53
|
-
/* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
|
|
54
|
-
] });
|
|
55
|
-
});
|
|
57
|
+
);
|
|
56
58
|
BlocknativeGasPriceCardContent.displayName = "BlocknativeGasPriceCardContent";
|
|
57
59
|
|
|
58
60
|
// src/components/Card/CardHeader.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/Plugin.ts"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n})\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n","import { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, PayloadRenderProps & CardContentProps>(({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n})\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map((price) => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ?\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n }\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],"mappings":"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","names":["forwardRef","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef","Grid","isEmpty","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","forwardRef","jsx","jsxs","forwardRef","isEmpty","PayloadDataMissing","Grid","GasFeeCard","ToggleRawPayloadBox"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/Plugin.ts"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n})\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n","import { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, Omit<PayloadRenderProps & CardContentProps, 'ref'>>(\n ({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n },\n)\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map((price) => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ?\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n }\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],"mappings":";AAAA,SAAS,YAAuB;AAEhC,SAAS,cAAAA,mBAAkB;;;ACF3B,SAAS,aAA+B,YAAY;AACpD,SAAS,eAAe;AAExB,SAAS,YAAY,2BAA2B;AAEhD,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;;;ACHpB,IAAM,4BAA4B,CAAC,YAAsF;AAC9H,QAAM,cAAc,SAAS,cAAc,CAAC;AAC5C,MAAI,eAAe,YAAY,iBAAiB,QAAQ;AACtD,UAAM,kBAAkB,aAAa;AACrC,UAAM,WAAW,gBAAgB,IAAI,CAAC,WAAW;AAAA,MAC/C,OAAO;AAAA,QACL,OAAO,gBAAgB,MAAM,UAAU;AAAA,QACvC,OAAO,MAAM;AAAA,MACf;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,MAAM;AAAA,MACf;AAAA,IACF,EAAE;AAEF,WAAO;AAAA,MACL,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,EACF;AACF;;;ADhBa,cAIP,YAJO;AANN,IAAM,iCAAiC;AAAA,EAC5C,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAC9B,UAAM,kBAAkB,UAAW,UAA4C;AAC/E,UAAM,gBAAgB,0BAA0B,eAAe;AAE/D,QAAI,QAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,QAAQ;AACpE,aAAO,oBAAC,sBAAmB,WAAU,0CAAyC,IAAI,EAAE,GAAG,EAAE,GAAG;AAAA,IAC9F;AAEA,WACE,qBAAC,eAAY,KAAU,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,QAAQ,EAAE,GAAI,GAAG,OACtF;AAAA,0BAAC,QAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,MAAM,MACpC,oBAAC,QAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD,8BAAC,cAAW,UAAU,OAAO,OAAO,OAAO,OAAO,OAAO,qBAAqB,GAAG,KADxE,OAAO,KAElB,CACD,GACL;AAAA,MACA,oBAAC,uBAAoB,iBAAkC,YAAW,SAAQ,IAAI,GAAG;AAAA,OACnF;AAAA,EAEJ;AACF;AAEA,+BAA+B,cAAc;;;AEjC7C,SAAS,iCAAiC;AAE1C,SAAS,cAAAC,mBAAkB;;;ACJpB,IAAM,cAAc;;;ADYlB,gBAAAC,YAAA;AAHF,IAAM,gCAAgCC,YAAiE,CAAC,EAAE,QAAQ,GAAG,QAAQ;AAClI,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAC/D,SAAO,gBAAAD,KAAC,6BAA0B,OAAO,aAAa,eAA8B,KAAU;AAChG,CAAC;AAED,8BAA8B,cAAc;;;AHNxC,SACE,OAAAE,MADF,QAAAC,aAAA;AAFG,IAAM,0BAA0BC,YAA2D,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAChI,SACE,gBAAAD,MAAC,QAAK,KAAW,GAAG,OAClB;AAAA,oBAAAD,KAAC,iCAA8B,SAAkB;AAAA,IACjD,gBAAAA,KAAC,kCAA+B,SAAkB;AAAA,KACpD;AAEJ,CAAC;AAED,wBAAwB,cAAc;;;AKhBtC,SAAS,QAAAG,aAAY;AACrB,SAAS,WAAAC,gBAAe;AACxB,SAAuB,eAAe;AAEtC,SAAS,cAAAC,aAAY,0BAA0B,uBAAAC,4BAA2B;AAE1E,SAAS,sBAAAC,2BAA0B;AACnC,SAAS,cAAAC,mBAAkB;AAYrB,mBAEI,OAAAC,MACA,QAAAC,aAHJ;AAPC,IAAM,gCAAgCC;AAAA;AAAA,EAE3C,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ;AACxC,UAAM,kBAA6D,UAAW,UAA4C;AAC1H,UAAM,gBAAgB,0BAA0B,eAAe;AAE/D,WACE,gBAAAF,KAAA,YACG,UAAAG,SAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,SACzD,gBAAAH,KAACI,qBAAA,EAAmB,WAAU,0CAAyC,IACvE,gBAAAH,MAAC,WAAQ,YAAW,SAAQ,QAAQ,GAAI,GAAG,OAAO,KAChD;AAAA,sBAAAD,KAAC,4BAAyB,SAAS,aAAa,eAA8B;AAAA,MAC9E,gBAAAA,KAACK,OAAA,EAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,OAAO,YAAY,MACjD,gBAAAL,KAACK,OAAA,EAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD,0BAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UAEC,UAAU,OAAO;AAAA,UACjB,OAAO,OAAO;AAAA,UACd,aAAa,aAAa;AAAA,UAC1B,kBAAkB,aAAa;AAAA;AAAA,QAJ1B,OAAO;AAAA,MAKd,KAPS,OAAO,KAQlB,CACD,GACL;AAAA,MACA,gBAAAN,KAACO,sBAAA,EAAoB,iBAAkC,YAAW,SAAQ;AAAA,OAC5E,GAEJ;AAAA,EAEJ;AACF;AAEA,8BAA8B,cAAc;;;AC9C5C,SAAS,oCAAoC;AAE7C,SAAS,8BAA8B;AACvC,SAAS,iCAAsD;AAIxD,IAAM,oCAAyD;AAAA,EACpE,GAAG,0BAA0B;AAAA,IAC3B,WAAW,CAAC,YAAsB,SAAS,WAAW;AAAA,IACtD,YAAY;AAAA,MACV,QAAQ;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA,KAAK;AAAA,QACH,YAAY;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AACH;","names":["forwardRef","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef","Grid","isEmpty","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","forwardRef","jsx","jsxs","forwardRef","isEmpty","PayloadDataMissing","Grid","GasFeeCard","ToggleRawPayloadBox"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;
|
|
1
|
+
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;0DAuB1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;
|
|
1
|
+
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;0DAuB1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;
|
|
1
|
+
{"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE,eAAO,MAAM,8BAA8B;;;;;;0DAuB1C,CAAA"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -74,18 +74,20 @@ var useBlocknativeTransformer = (payload) => {
|
|
|
74
74
|
|
|
75
75
|
// src/components/Card/CardContent.tsx
|
|
76
76
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
77
|
-
var BlocknativeGasPriceCardContent = (0, import_react.forwardRef)(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
77
|
+
var BlocknativeGasPriceCardContent = (0, import_react.forwardRef)(
|
|
78
|
+
({ payload, ...props }, ref) => {
|
|
79
|
+
var _a, _b;
|
|
80
|
+
const gasPricePayload = payload ? payload : void 0;
|
|
81
|
+
const parsedPayload = useBlocknativeTransformer(gasPricePayload);
|
|
82
|
+
if ((0, import_lodash.isEmpty)(gasPricePayload) || !((_a = gasPricePayload.blockPrices) == null ? void 0 : _a.length)) {
|
|
83
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data.", sx: { m: 1 } });
|
|
84
|
+
}
|
|
85
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.CardContent, { ref, sx: { display: "flex", flexDirection: "column", rowGap: 4 }, ...props, children: [
|
|
86
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && ((_b = parsedPayload == null ? void 0 : parsedPayload.gasPrice) == null ? void 0 : _b.map(({ price }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_gas_price.GasFeeCard, { gasPrice: price == null ? void 0 : price.value, speed: price == null ? void 0 : price.label, speedPaperElevation: 4 }) }, price == null ? void 0 : price.label))) }),
|
|
87
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_gas_price.ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
|
|
88
|
+
] });
|
|
83
89
|
}
|
|
84
|
-
|
|
85
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && ((_b = parsedPayload == null ? void 0 : parsedPayload.gasPrice) == null ? void 0 : _b.map(({ price }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_gas_price.GasFeeCard, { gasPrice: price == null ? void 0 : price.value, speed: price == null ? void 0 : price.label, speedPaperElevation: 4 }) }, price == null ? void 0 : price.label))) }),
|
|
86
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_gas_price.ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
|
|
87
|
-
] });
|
|
88
|
-
});
|
|
90
|
+
);
|
|
89
91
|
BlocknativeGasPriceCardContent.displayName = "BlocknativeGasPriceCardContent";
|
|
90
92
|
|
|
91
93
|
// src/components/Card/CardHeader.tsx
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/Plugin.ts"],"sourcesContent":["export * from './components'\nexport * from './Plugin'\n\n// eslint-disable-next-line import/no-default-export\n\nexport { EthereumGasPriceBlocknativePlugin as default } from './Plugin'\n","import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n})\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n","import { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, PayloadRenderProps & CardContentProps>(({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n})\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map((price) => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ?\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n }\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],"mappings":"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","names":["import_material","import_react","import_react_gas_price","import_react","import_jsx_runtime","import_jsx_runtime","import_material","import_lodash","import_react_gas_price","import_react_shared","import_react","import_jsx_runtime","import_react_gas_price"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/Plugin.ts"],"sourcesContent":["export * from './components'\nexport * from './Plugin'\n\n// eslint-disable-next-line import/no-default-export\n\nexport { EthereumGasPriceBlocknativePlugin as default } from './Plugin'\n","import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n})\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n","import { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, Omit<PayloadRenderProps & CardContentProps, 'ref'>>(\n ({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n },\n)\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map((price) => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ?\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n }\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],"mappings":"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","names":["import_material","import_react","import_react_gas_price","import_react","import_jsx_runtime","import_jsx_runtime","import_material","import_lodash","import_react_gas_price","import_react_shared","import_react","import_jsx_runtime","import_react_gas_price"]}
|
package/dist/node/index.js
CHANGED
|
@@ -43,18 +43,20 @@ var useBlocknativeTransformer = (payload) => {
|
|
|
43
43
|
|
|
44
44
|
// src/components/Card/CardContent.tsx
|
|
45
45
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
46
|
-
var BlocknativeGasPriceCardContent = forwardRef(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
var BlocknativeGasPriceCardContent = forwardRef(
|
|
47
|
+
({ payload, ...props }, ref) => {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
const gasPricePayload = payload ? payload : void 0;
|
|
50
|
+
const parsedPayload = useBlocknativeTransformer(gasPricePayload);
|
|
51
|
+
if (isEmpty(gasPricePayload) || !((_a = gasPricePayload.blockPrices) == null ? void 0 : _a.length)) {
|
|
52
|
+
return /* @__PURE__ */ jsx(PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data.", sx: { m: 1 } });
|
|
53
|
+
}
|
|
54
|
+
return /* @__PURE__ */ jsxs(CardContent, { ref, sx: { display: "flex", flexDirection: "column", rowGap: 4 }, ...props, children: [
|
|
55
|
+
/* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && ((_b = parsedPayload == null ? void 0 : parsedPayload.gasPrice) == null ? void 0 : _b.map(({ price }) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx(GasFeeCard, { gasPrice: price == null ? void 0 : price.value, speed: price == null ? void 0 : price.label, speedPaperElevation: 4 }) }, price == null ? void 0 : price.label))) }),
|
|
56
|
+
/* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
|
|
57
|
+
] });
|
|
52
58
|
}
|
|
53
|
-
|
|
54
|
-
/* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && ((_b = parsedPayload == null ? void 0 : parsedPayload.gasPrice) == null ? void 0 : _b.map(({ price }) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx(GasFeeCard, { gasPrice: price == null ? void 0 : price.value, speed: price == null ? void 0 : price.label, speedPaperElevation: 4 }) }, price == null ? void 0 : price.label))) }),
|
|
55
|
-
/* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
|
|
56
|
-
] });
|
|
57
|
-
});
|
|
59
|
+
);
|
|
58
60
|
BlocknativeGasPriceCardContent.displayName = "BlocknativeGasPriceCardContent";
|
|
59
61
|
|
|
60
62
|
// src/components/Card/CardHeader.tsx
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/Plugin.ts"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n})\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n","import { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, PayloadRenderProps & CardContentProps>(({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n})\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map((price) => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ?\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n }\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],"mappings":"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","names":["forwardRef","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef","Grid","isEmpty","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","forwardRef","jsx","jsxs","forwardRef","isEmpty","PayloadDataMissing","Grid","GasFeeCard","ToggleRawPayloadBox"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/Plugin.ts"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n})\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n","import { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, Omit<PayloadRenderProps & CardContentProps, 'ref'>>(\n ({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n },\n)\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map((price) => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ?\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n }\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],"mappings":"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","names":["forwardRef","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef","Grid","isEmpty","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","forwardRef","jsx","jsxs","forwardRef","isEmpty","PayloadDataMissing","Grid","GasFeeCard","ToggleRawPayloadBox"]}
|
package/package.json
CHANGED
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/lodash": "^3.0.
|
|
14
|
-
"@xylabs/react-flexbox": "^3.1.
|
|
15
|
-
"@xyo-network/blocknative-ethereum-gas-payload-plugin": "^2.
|
|
16
|
-
"@xyo-network/payload-model": "^2.
|
|
17
|
-
"@xyo-network/react-gas-price": "~2.
|
|
18
|
-
"@xyo-network/react-payload-plugin": "~2.
|
|
19
|
-
"@xyo-network/react-shared": "~2.
|
|
13
|
+
"@xylabs/lodash": "^3.0.8",
|
|
14
|
+
"@xylabs/react-flexbox": "^3.1.4",
|
|
15
|
+
"@xyo-network/blocknative-ethereum-gas-payload-plugin": "^2.89.0",
|
|
16
|
+
"@xyo-network/payload-model": "^2.92.0",
|
|
17
|
+
"@xyo-network/react-gas-price": "~2.70.0",
|
|
18
|
+
"@xyo-network/react-payload-plugin": "~2.70.0",
|
|
19
|
+
"@xyo-network/react-shared": "~2.70.0"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@storybook/react": "^7.6.17",
|
|
23
23
|
"@xylabs/ts-scripts-yarn3": "^3.4.1",
|
|
24
24
|
"@xylabs/tsconfig-react": "^3.4.1",
|
|
25
|
-
"@xyo-network/react-storybook": "~2.
|
|
26
|
-
"typescript": "^5.
|
|
25
|
+
"@xyo-network/react-storybook": "~2.70.0",
|
|
26
|
+
"typescript": "^5.4.2"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@mui/icons-material": "^5",
|
|
@@ -83,6 +83,6 @@
|
|
|
83
83
|
},
|
|
84
84
|
"sideEffects": false,
|
|
85
85
|
"types": "dist/browser/index.d.ts",
|
|
86
|
-
"version": "2.
|
|
86
|
+
"version": "2.70.0",
|
|
87
87
|
"type": "module"
|
|
88
88
|
}
|
|
@@ -8,27 +8,29 @@ import { forwardRef } from 'react'
|
|
|
8
8
|
|
|
9
9
|
import { useBlocknativeTransformer } from '../hooks'
|
|
10
10
|
|
|
11
|
-
export const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, PayloadRenderProps & CardContentProps
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
export const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, Omit<PayloadRenderProps & CardContentProps, 'ref'>>(
|
|
12
|
+
({ payload, ...props }, ref) => {
|
|
13
|
+
const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined
|
|
14
|
+
const parsedPayload = useBlocknativeTransformer(gasPricePayload)
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {
|
|
17
|
+
return <PayloadDataMissing alertBody="Payload is missing valid gas fee data." sx={{ m: 1 }} />
|
|
18
|
+
}
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
20
|
+
return (
|
|
21
|
+
<CardContent ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>
|
|
22
|
+
<Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>
|
|
23
|
+
{parsedPayload &&
|
|
24
|
+
parsedPayload?.gasPrice?.map(({ price }) => (
|
|
25
|
+
<Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>
|
|
26
|
+
<GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />
|
|
27
|
+
</Grid>
|
|
28
|
+
))}
|
|
29
|
+
</Grid>
|
|
30
|
+
<ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems="start" pr={1} />
|
|
31
|
+
</CardContent>
|
|
32
|
+
)
|
|
33
|
+
},
|
|
34
|
+
)
|
|
33
35
|
|
|
34
36
|
BlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'
|