@xyo-network/react-ethereum-gas-price-blocknative-plugin 3.0.1 → 3.0.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 +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 React, { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent.tsx'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader.tsx'\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 { 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 React, { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks/index.ts'\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\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 React, { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks/index.ts'\nimport { RenderTitle } from '../lib/index.ts'\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 { 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 React, { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks/index.ts'\nimport { RenderTitle } from '../../lib/index.ts'\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\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 : (\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/index.ts'\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":["Card","React","forwardRef","CardContent","Grid","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","React","forwardRef","useBlocknativeTransformer","payload","blockPrices","estimatedPrices","length","gasPrice","map","price","label","confidence","value","priorityFee","maxPriorityFeePerGas","baseFee","baseFeePerGas","blockNumber","timestamp","website","isEmpty","obj","Object","keys","length","BlocknativeGasPriceCardContent","forwardRef","payload","props","ref","gasPricePayload","undefined","parsedPayload","useBlocknativeTransformer","blockPrices","PayloadDataMissing","alertBody","sx","m","CardContent","display","flexDirection","rowGap","Grid","container","spacing","columns","lg","md","sm","xs","gasPrice","map","price","key","label","item","GasFeeCard","value","speed","speedPaperElevation","ToggleRawPayloadBox","alignItems","pr","displayName","GasPriceWitnessCardHeader","React","forwardRef","RenderTitle","BlocknativeGasPriceCardHeader","forwardRef","payload","ref","gasPricePayload","undefined","parsedPayload","useBlocknativeTransformer","React","GasPriceWitnessCardHeader","title","RenderTitle","displayName","BlocknativeGasPriceCard","forwardRef","payload","props","ref","React","Card","BlocknativeGasPriceCardHeader","BlocknativeGasPriceCardContent","displayName","Grid","FlexCol","GasFeeCard","GasPriceWitnessHeaderBox","ToggleRawPayloadBox","PayloadDataMissing","React","forwardRef","isEmpty","obj","Object","keys","length","BlocknativeGasPriceDetailsBox","forwardRef","payload","listMode","props","ref","gasPricePayload","undefined","parsedPayload","useBlocknativeTransformer","React","blockPrices","PayloadDataMissing","alertBody","FlexCol","alignItems","rowGap","GasPriceWitnessHeaderBox","heading","RenderTitle","Grid","container","spacing","columns","lg","md","sm","xs","gasPrice","map","price","priorityFee","key","label","item","GasFeeCard","value","speed","priorityFeeLabel","ToggleRawPayloadBox","displayName","EthereumGasBlocknativeSchema","EthereumGasPriceAvatar","createPayloadRenderPlugin","EthereumGasPriceBlocknativePlugin","createPayloadRenderPlugin","canRender","payload","schema","EthereumGasBlocknativeSchema","components","avatar","image","EthereumGasPriceAvatar","box","detailsBox","BlocknativeGasPriceDetailsBox","card","content","BlocknativeGasPriceCardContent","header","BlocknativeGasPriceCardHeader","name"]}
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 type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport React, { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent.tsx'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader.tsx'\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 type { CardContentProps } from '@mui/material'\nimport { CardContent, Grid } from '@mui/material'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport React, { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks/index.ts'\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\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 type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport type { 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 type { CardHeaderProps } from '@mui/material'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport React, { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks/index.ts'\nimport { RenderTitle } from '../lib/index.ts'\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 type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport React, { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks/index.ts'\nimport { RenderTitle } from '../../lib/index.ts'\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\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 : (\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 type { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components/index.ts'\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":["Card","React","forwardRef","CardContent","Grid","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","React","forwardRef","useBlocknativeTransformer","payload","blockPrices","estimatedPrices","length","gasPrice","map","price","label","confidence","value","priorityFee","maxPriorityFeePerGas","baseFee","baseFeePerGas","blockNumber","timestamp","website","isEmpty","obj","Object","keys","length","BlocknativeGasPriceCardContent","forwardRef","payload","props","ref","gasPricePayload","undefined","parsedPayload","useBlocknativeTransformer","blockPrices","PayloadDataMissing","alertBody","sx","m","CardContent","display","flexDirection","rowGap","Grid","container","spacing","columns","lg","md","sm","xs","gasPrice","map","price","key","label","item","GasFeeCard","value","speed","speedPaperElevation","ToggleRawPayloadBox","alignItems","pr","displayName","GasPriceWitnessCardHeader","React","forwardRef","RenderTitle","BlocknativeGasPriceCardHeader","forwardRef","payload","ref","gasPricePayload","undefined","parsedPayload","useBlocknativeTransformer","React","GasPriceWitnessCardHeader","title","RenderTitle","displayName","BlocknativeGasPriceCard","forwardRef","payload","props","ref","React","Card","BlocknativeGasPriceCardHeader","BlocknativeGasPriceCardContent","displayName","Grid","FlexCol","GasFeeCard","GasPriceWitnessHeaderBox","ToggleRawPayloadBox","PayloadDataMissing","React","forwardRef","isEmpty","obj","Object","keys","length","BlocknativeGasPriceDetailsBox","forwardRef","payload","listMode","props","ref","gasPricePayload","undefined","parsedPayload","useBlocknativeTransformer","React","blockPrices","PayloadDataMissing","alertBody","FlexCol","alignItems","rowGap","GasPriceWitnessHeaderBox","heading","RenderTitle","Grid","container","spacing","columns","lg","md","sm","xs","gasPrice","map","price","priorityFee","key","label","item","GasFeeCard","value","speed","priorityFeeLabel","ToggleRawPayloadBox","displayName","EthereumGasBlocknativeSchema","EthereumGasPriceAvatar","createPayloadRenderPlugin","EthereumGasPriceBlocknativePlugin","createPayloadRenderPlugin","canRender","payload","schema","EthereumGasBlocknativeSchema","components","avatar","image","EthereumGasPriceAvatar","box","detailsBox","BlocknativeGasPriceDetailsBox","card","content","BlocknativeGasPriceCardContent","header","BlocknativeGasPriceCardHeader","name"]}
package/package.json CHANGED
@@ -7,21 +7,21 @@
7
7
  },
8
8
  "bugs": {
9
9
  "email": "support@xyo.network",
10
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
10
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/react-flexbox": "^4.0.1",
14
- "@xyo-network/blocknative-ethereum-gas-payload-plugin": "^3.0.0",
15
- "@xyo-network/payload-model": "^3.0.2",
16
- "@xyo-network/react-gas-price": "^3.0.1",
17
- "@xyo-network/react-payload-plugin": "^3.0.1",
18
- "@xyo-network/react-shared": "^3.0.1"
13
+ "@xylabs/react-flexbox": "^4.0.3",
14
+ "@xyo-network/blocknative-ethereum-gas-payload-plugin": "^3.0.3",
15
+ "@xyo-network/payload-model": "^3.0.3",
16
+ "@xyo-network/react-gas-price": "^3.0.2",
17
+ "@xyo-network/react-payload-plugin": "^3.0.2",
18
+ "@xyo-network/react-shared": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@storybook/react": "^8.2.9",
22
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15",
23
- "@xylabs/tsconfig-react": "^4.0.0-rc.15",
24
- "@xyo-network/react-storybook": "^3.0.1",
22
+ "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
23
+ "@xylabs/tsconfig-react": "^4.0.0-rc.20",
24
+ "@xyo-network/react-storybook": "^3.0.2",
25
25
  "typescript": "^5.5.4"
26
26
  },
27
27
  "peerDependencies": {
@@ -60,7 +60,7 @@
60
60
  },
61
61
  "repository": {
62
62
  "type": "git",
63
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
63
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
64
64
  },
65
65
  "scripts": {
66
66
  "lint-pkg": "npmPkgJsonLint .",
@@ -68,6 +68,6 @@
68
68
  },
69
69
  "sideEffects": false,
70
70
  "types": "dist/browser/index.d.ts",
71
- "version": "3.0.1",
71
+ "version": "3.0.2",
72
72
  "type": "module"
73
73
  }
package/src/Plugin.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
2
- import { Payload } from '@xyo-network/payload-model'
2
+ import type { Payload } from '@xyo-network/payload-model'
3
3
  import { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'
4
- import { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
4
+ import type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
5
+ import { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
5
6
 
6
7
  import { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components/index.ts'
7
8
 
@@ -1,4 +1,4 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
3
3
  import { sampleBlocknativeGasPricePayload } from '@xyo-network/react-storybook'
4
4
  import React from 'react'
@@ -1,5 +1,6 @@
1
- import { Card, CardProps } from '@mui/material'
2
- import { PayloadRenderProps } from '@xyo-network/react-payload-plugin'
1
+ import type { CardProps } from '@mui/material'
2
+ import { Card } from '@mui/material'
3
+ import type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'
3
4
  import React, { forwardRef } from 'react'
4
5
 
5
6
  import { BlocknativeGasPriceCardContent } from './CardContent.tsx'
@@ -1,7 +1,8 @@
1
- import { CardContent, CardContentProps, Grid } from '@mui/material'
2
- import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
1
+ import type { CardContentProps } from '@mui/material'
2
+ import { CardContent, Grid } from '@mui/material'
3
+ import type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
3
4
  import { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'
4
- import { PayloadRenderProps } from '@xyo-network/react-payload-plugin'
5
+ import type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'
5
6
  import { PayloadDataMissing } from '@xyo-network/react-shared'
6
7
  import React, { forwardRef } from 'react'
7
8
 
@@ -1,7 +1,7 @@
1
- import { CardHeaderProps } from '@mui/material'
2
- import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
1
+ import type { CardHeaderProps } from '@mui/material'
2
+ import type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
3
3
  import { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'
4
- import { PayloadRenderProps } from '@xyo-network/react-payload-plugin'
4
+ import type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'
5
5
  import React, { forwardRef } from 'react'
6
6
 
7
7
  import { useBlocknativeTransformer } from '../hooks/index.ts'
@@ -1,4 +1,4 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
3
3
  import { sampleBlocknativeGasPricePayload } from '@xyo-network/react-storybook'
4
4
  import React from 'react'
@@ -1,8 +1,9 @@
1
1
  import { Grid } from '@mui/material'
2
- import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'
3
- import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
2
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
3
+ import { FlexCol } from '@xylabs/react-flexbox'
4
+ import type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
4
5
  import { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'
5
- import { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'
6
+ import type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'
6
7
  import { PayloadDataMissing } from '@xyo-network/react-shared'
7
8
  import React, { forwardRef } from 'react'
8
9
 
@@ -1,5 +1,5 @@
1
- import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
2
- import { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'
1
+ import type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'
2
+ import type { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'
3
3
 
4
4
  export const useBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {
5
5
  const blockPrices = payload?.blockPrices?.[0]
package/xy.config.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
1
+ import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
4
  browser: {