@xyo-network/react-shared 3.0.1 → 3.0.3
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/SizeProp.d.ts +2 -0
- package/dist/browser/SizeProp.d.ts.map +1 -0
- package/dist/browser/components/Ampersand.d.ts +4 -0
- package/dist/browser/components/Ampersand.d.ts.map +1 -0
- package/dist/browser/components/BasicHero/BasicHero.d.ts +26 -0
- package/dist/browser/components/BasicHero/BasicHero.d.ts.map +1 -0
- package/dist/browser/components/BasicHero/index.d.ts +2 -0
- package/dist/browser/components/BasicHero/index.d.ts.map +1 -0
- package/dist/browser/components/Ellipsize.d.ts +16 -0
- package/dist/browser/components/Ellipsize.d.ts.map +1 -0
- package/dist/browser/components/ErrorBoundary.d.ts +20 -0
- package/dist/browser/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/browser/components/LabeledTextFieldWrapper.d.ts +7 -0
- package/dist/browser/components/LabeledTextFieldWrapper.d.ts.map +1 -0
- package/dist/browser/components/ListItemButtonEx.d.ts +11 -0
- package/dist/browser/components/ListItemButtonEx.d.ts.map +1 -0
- package/dist/browser/components/LoadResult.d.ts +9 -0
- package/dist/browser/components/LoadResult.d.ts.map +1 -0
- package/dist/browser/components/NotFound.d.ts +5 -0
- package/dist/browser/components/NotFound.d.ts.map +1 -0
- package/dist/browser/components/Pipe.d.ts +4 -0
- package/dist/browser/components/Pipe.d.ts.map +1 -0
- package/dist/browser/components/ScrollTableOnSm.d.ts +5 -0
- package/dist/browser/components/ScrollTableOnSm.d.ts.map +1 -0
- package/dist/browser/components/SectionSpacingRow/SectionSpacingRow.d.ts +3 -0
- package/dist/browser/components/SectionSpacingRow/SectionSpacingRow.d.ts.map +1 -0
- package/dist/browser/components/SectionSpacingRow/index.d.ts +2 -0
- package/dist/browser/components/SectionSpacingRow/index.d.ts.map +1 -0
- package/dist/browser/components/StyleGuide/AppBars.example.d.ts +2 -0
- package/dist/browser/components/StyleGuide/AppBars.example.d.ts.map +1 -0
- package/dist/browser/components/StyleGuide/Buttons.example.d.ts +3 -0
- package/dist/browser/components/StyleGuide/Buttons.example.d.ts.map +1 -0
- package/dist/browser/components/StyleGuide/Papers.example.d.ts +3 -0
- package/dist/browser/components/StyleGuide/Papers.example.d.ts.map +1 -0
- package/dist/browser/components/StyleGuide/StyleGuide.example.d.ts +3 -0
- package/dist/browser/components/StyleGuide/StyleGuide.example.d.ts.map +1 -0
- package/dist/browser/components/StyleGuide/Texts.example.d.ts +2 -0
- package/dist/browser/components/StyleGuide/Texts.example.d.ts.map +1 -0
- package/dist/browser/components/StyleGuide/VariantContext.example.d.ts +2 -0
- package/dist/browser/components/StyleGuide/VariantContext.example.d.ts.map +1 -0
- package/dist/browser/components/TableCell/AddressTableCell.d.ts +10 -0
- package/dist/browser/components/TableCell/AddressTableCell.d.ts.map +1 -0
- package/dist/browser/components/TableCell/EllipsisTableCell.d.ts +13 -0
- package/dist/browser/components/TableCell/EllipsisTableCell.d.ts.map +1 -0
- package/dist/browser/components/TableCell/EllipsisTableCellDeprecated.d.ts +11 -0
- package/dist/browser/components/TableCell/EllipsisTableCellDeprecated.d.ts.map +1 -0
- package/dist/browser/components/TableCell/HashTableCell.d.ts +12 -0
- package/dist/browser/components/TableCell/HashTableCell.d.ts.map +1 -0
- package/dist/browser/components/TableCell/findParent.d.ts +2 -0
- package/dist/browser/components/TableCell/findParent.d.ts.map +1 -0
- package/dist/browser/components/TableCell/getRemainingRowWidth.d.ts +2 -0
- package/dist/browser/components/TableCell/getRemainingRowWidth.d.ts.map +1 -0
- package/dist/browser/components/TableCell/getSmallestParentWidth.d.ts +2 -0
- package/dist/browser/components/TableCell/getSmallestParentWidth.d.ts.map +1 -0
- package/dist/browser/components/TableCell/index.d.ts +4 -0
- package/dist/browser/components/TableCell/index.d.ts.map +1 -0
- package/dist/browser/components/ThemeTokenAvatar/ThemeTokenAvatar.d.ts +4 -0
- package/dist/browser/components/ThemeTokenAvatar/ThemeTokenAvatar.d.ts.map +1 -0
- package/dist/browser/components/ThemeTokenAvatar/index.d.ts +2 -0
- package/dist/browser/components/ThemeTokenAvatar/index.d.ts.map +1 -0
- package/dist/browser/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.d.ts +7 -0
- package/dist/browser/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.d.ts.map +1 -0
- package/dist/browser/components/ThemeTokenAvatarGroup/index.d.ts +2 -0
- package/dist/browser/components/ThemeTokenAvatarGroup/index.d.ts.map +1 -0
- package/dist/browser/components/TokenBar/TokenBar.d.ts +13 -0
- package/dist/browser/components/TokenBar/TokenBar.d.ts.map +1 -0
- package/dist/browser/components/TokenBar/index.d.ts +2 -0
- package/dist/browser/components/TokenBar/index.d.ts.map +1 -0
- package/dist/browser/components/TokenData/TokenData.d.ts +10 -0
- package/dist/browser/components/TokenData/TokenData.d.ts.map +1 -0
- package/dist/browser/components/TokenData/img/index.d.ts +16 -0
- package/dist/browser/components/TokenData/img/index.d.ts.map +1 -0
- package/dist/browser/components/TokenData/index.d.ts +3 -0
- package/dist/browser/components/TokenData/index.d.ts.map +1 -0
- package/dist/browser/components/TokenData/useGetTokenData.d.ts +3 -0
- package/dist/browser/components/TokenData/useGetTokenData.d.ts.map +1 -0
- package/dist/browser/components/TokenSummary/TokenSummary.d.ts +11 -0
- package/dist/browser/components/TokenSummary/TokenSummary.d.ts.map +1 -0
- package/dist/browser/components/TokenSummary/index.d.ts +2 -0
- package/dist/browser/components/TokenSummary/index.d.ts.map +1 -0
- package/dist/browser/components/TypographyEx.d.ts +7 -0
- package/dist/browser/components/TypographyEx.d.ts.map +1 -0
- package/dist/browser/components/index.d.ts +20 -0
- package/dist/browser/components/index.d.ts.map +1 -0
- package/dist/browser/components/pluginValidation/DataMissing.d.ts +7 -0
- package/dist/browser/components/pluginValidation/DataMissing.d.ts.map +1 -0
- package/dist/browser/components/pluginValidation/index.d.ts +2 -0
- package/dist/browser/components/pluginValidation/index.d.ts.map +1 -0
- package/dist/browser/contexts/ListMode/Context.d.ts +3 -0
- package/dist/browser/contexts/ListMode/Context.d.ts.map +1 -0
- package/dist/browser/contexts/ListMode/Provider.d.ts +8 -0
- package/dist/browser/contexts/ListMode/Provider.d.ts.map +1 -0
- package/dist/browser/contexts/ListMode/State.d.ts +8 -0
- package/dist/browser/contexts/ListMode/State.d.ts.map +1 -0
- package/dist/browser/contexts/ListMode/index.d.ts +5 -0
- package/dist/browser/contexts/ListMode/index.d.ts.map +1 -0
- package/dist/browser/contexts/ListMode/use.d.ts +2 -0
- package/dist/browser/contexts/ListMode/use.d.ts.map +1 -0
- package/dist/browser/contexts/contextEx/ContextExProviderProps.d.ts +6 -0
- package/dist/browser/contexts/contextEx/ContextExProviderProps.d.ts.map +1 -0
- package/dist/browser/contexts/contextEx/State.d.ts +4 -0
- package/dist/browser/contexts/contextEx/State.d.ts.map +1 -0
- package/dist/browser/contexts/contextEx/create.d.ts +3 -0
- package/dist/browser/contexts/contextEx/create.d.ts.map +1 -0
- package/dist/browser/contexts/contextEx/index.d.ts +5 -0
- package/dist/browser/contexts/contextEx/index.d.ts.map +1 -0
- package/dist/browser/contexts/contextEx/use.d.ts +5 -0
- package/dist/browser/contexts/contextEx/use.d.ts.map +1 -0
- package/dist/browser/contexts/diviner/Context.d.ts +2 -0
- package/dist/browser/contexts/diviner/Context.d.ts.map +1 -0
- package/dist/browser/contexts/diviner/Provider.d.ts +10 -0
- package/dist/browser/contexts/diviner/Provider.d.ts.map +1 -0
- package/dist/browser/contexts/diviner/State.d.ts +7 -0
- package/dist/browser/contexts/diviner/State.d.ts.map +1 -0
- package/dist/browser/contexts/diviner/index.d.ts +4 -0
- package/dist/browser/contexts/diviner/index.d.ts.map +1 -0
- package/dist/browser/contexts/index.d.ts +4 -0
- package/dist/browser/contexts/index.d.ts.map +1 -0
- package/dist/browser/hooks/GradientStyles/GradientStyles.d.ts +67 -0
- package/dist/browser/hooks/GradientStyles/GradientStyles.d.ts.map +1 -0
- package/dist/browser/hooks/GradientStyles/index.d.ts +2 -0
- package/dist/browser/hooks/GradientStyles/index.d.ts.map +1 -0
- package/dist/browser/hooks/index.d.ts +8 -0
- package/dist/browser/hooks/index.d.ts.map +1 -0
- package/dist/browser/hooks/useDataState.d.ts +3 -0
- package/dist/browser/hooks/useDataState.d.ts.map +1 -0
- package/dist/browser/hooks/useIsMobile.d.ts +3 -0
- package/dist/browser/hooks/useIsMobile.d.ts.map +1 -0
- package/dist/browser/hooks/useMediaQuery.d.ts +2 -0
- package/dist/browser/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/browser/hooks/usePayloadHash.d.ts +4 -0
- package/dist/browser/hooks/usePayloadHash.d.ts.map +1 -0
- package/dist/browser/hooks/usePromise.d.ts +2 -0
- package/dist/browser/hooks/usePromise.d.ts.map +1 -0
- package/dist/browser/hooks/useShareForwardRef.d.ts +3 -0
- package/dist/browser/hooks/useShareForwardRef.d.ts.map +1 -0
- package/dist/browser/index.d.ts +7 -320
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/lib/assertDefinedEx.d.ts +2 -0
- package/dist/browser/lib/assertDefinedEx.d.ts.map +1 -0
- package/dist/browser/lib/getActualPaddingX.d.ts +14 -0
- package/dist/browser/lib/getActualPaddingX.d.ts.map +1 -0
- package/dist/browser/lib/index.d.ts +4 -0
- package/dist/browser/lib/index.d.ts.map +1 -0
- package/dist/browser/lib/networkComponents.d.ts +12 -0
- package/dist/browser/lib/networkComponents.d.ts.map +1 -0
- package/dist/browser/lib/xyo.d.ts +4 -0
- package/dist/browser/lib/xyo.d.ts.map +1 -0
- package/dist/browser/models/ListMode.d.ts +2 -0
- package/dist/browser/models/ListMode.d.ts.map +1 -0
- package/dist/browser/models/index.d.ts +2 -0
- package/dist/browser/models/index.d.ts.map +1 -0
- package/package.json +58 -52
- package/src/components/Ampersand.tsx +2 -1
- package/src/components/BasicHero/BasicHero.stories.tsx +2 -6
- package/src/components/BasicHero/BasicHero.tsx +25 -8
- package/src/components/Ellipsize.tsx +17 -8
- package/src/components/ErrorBoundary.tsx +2 -1
- package/src/components/LabeledTextFieldWrapper.tsx +5 -2
- package/src/components/ListItemButtonEx.tsx +9 -4
- package/src/components/LoadResult.stories.tsx +5 -7
- package/src/components/LoadResult.tsx +5 -2
- package/src/components/NotFound.tsx +2 -1
- package/src/components/Pipe.tsx +2 -1
- package/src/components/ScrollTableOnSm.tsx +2 -4
- package/src/components/SectionSpacingRow/SectionSpacingRow.stories.tsx +2 -6
- package/src/components/SectionSpacingRow/SectionSpacingRow.tsx +5 -2
- package/src/components/StyleGuide/AppBars.example.tsx +3 -1
- package/src/components/StyleGuide/Buttons.example.tsx +2 -1
- package/src/components/StyleGuide/StyleGuide.stories.tsx +2 -6
- package/src/components/StyleGuide/Texts.example.tsx +2 -1
- package/src/components/TableCell/AddressTableCell.tsx +5 -2
- package/src/components/TableCell/EllipsisTableCell.tsx +7 -6
- package/src/components/TableCell/EllipsisTableCellDeprecated.tsx +9 -4
- package/src/components/TableCell/EllipsizeTableCell.stories.tsx +9 -3
- package/src/components/TableCell/HashTableCell.tsx +6 -3
- package/src/components/ThemeTokenAvatar/ThemeTokenAvatar.stories.tsx +2 -6
- package/src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx +2 -1
- package/src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.stories.tsx +2 -6
- package/src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx +2 -1
- package/src/components/TokenBar/TokenBar.stories.tsx +5 -7
- package/src/components/TokenBar/TokenBar.tsx +7 -3
- package/src/components/TokenData/useGetTokenData.tsx +1 -0
- package/src/components/TokenSummary/TokenSummary.stories.tsx +2 -6
- package/src/components/TokenSummary/TokenSummary.tsx +7 -3
- package/src/components/TypographyEx.tsx +2 -1
- package/src/components/pluginValidation/DataMissing.tsx +2 -1
- package/src/contexts/ListMode/Context.ts +1 -1
- package/src/contexts/ListMode/Provider.tsx +6 -4
- package/src/contexts/ListMode/State.ts +3 -3
- package/src/contexts/contextEx/ContextExProviderProps.ts +1 -1
- package/src/contexts/contextEx/create.ts +1 -1
- package/src/contexts/contextEx/use.ts +3 -2
- package/src/contexts/diviner/Provider.tsx +14 -7
- package/src/contexts/diviner/State.ts +2 -2
- package/src/hooks/GradientStyles/GradientStyle.stories.tsx +4 -7
- package/src/hooks/GradientStyles/GradientStyles.tsx +3 -7
- package/src/hooks/useDataState.ts +2 -1
- package/src/hooks/usePayloadHash.ts +2 -2
- package/src/hooks/useShareForwardRef.ts +2 -1
- package/src/lib/networkComponents.tsx +21 -8
- package/src/lib/xyo.tsx +3 -1
- package/xy.config.ts +2 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Meta, StoryFn } from '@storybook/react'
|
|
1
|
+
import type { Meta, StoryFn } from '@storybook/react'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
import { BrowserRouter } from 'react-router-dom'
|
|
4
4
|
|
|
@@ -7,11 +7,7 @@ import BackgroundImage from './default-desktop.svg'
|
|
|
7
7
|
const StorybookEntry = {
|
|
8
8
|
argTypes: {},
|
|
9
9
|
component: BasicHero,
|
|
10
|
-
parameters: {
|
|
11
|
-
docs: {
|
|
12
|
-
page: null,
|
|
13
|
-
},
|
|
14
|
-
},
|
|
10
|
+
parameters: { docs: { page: null } },
|
|
15
11
|
title: 'shared/BasicHero',
|
|
16
12
|
} as Meta<typeof BasicHero>
|
|
17
13
|
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Container, Grid, Typography,
|
|
3
|
+
} from '@mui/material'
|
|
2
4
|
import { ButtonEx } from '@xylabs/react-button'
|
|
3
|
-
import { FlexBoxProps
|
|
5
|
+
import type { FlexBoxProps } from '@xylabs/react-flexbox'
|
|
6
|
+
import { FlexGrowCol, FlexGrowRow } from '@xylabs/react-flexbox'
|
|
4
7
|
import { LinkEx } from '@xylabs/react-link'
|
|
5
|
-
import
|
|
8
|
+
import type { ReactElement } from 'react'
|
|
9
|
+
import React from 'react'
|
|
6
10
|
|
|
7
11
|
import { useGradientStyles, useIsSmall } from '../../hooks/index.ts'
|
|
8
12
|
|
|
@@ -41,11 +45,16 @@ interface ButtonSectionProps {
|
|
|
41
45
|
href?: string
|
|
42
46
|
to?: string
|
|
43
47
|
}
|
|
44
|
-
const SubLinkSection: React.FC<SubLinkSectionProps> = ({
|
|
48
|
+
const SubLinkSection: React.FC<SubLinkSectionProps> = ({
|
|
49
|
+
backgroundImageAlignment, subLinkIcon, subLinkPath, subLinkText1, subLinkText2,
|
|
50
|
+
}) => {
|
|
45
51
|
return (
|
|
46
52
|
<FlexGrowRow
|
|
47
53
|
width="100%"
|
|
48
|
-
sx={{
|
|
54
|
+
sx={{
|
|
55
|
+
flexDirection: { md: 'row', xs: 'column' },
|
|
56
|
+
justifyContent: { md: backgroundImageAlignment ? 'flex-start' : 'center', xs: 'center' },
|
|
57
|
+
}}
|
|
49
58
|
>
|
|
50
59
|
{subLinkIcon
|
|
51
60
|
? (
|
|
@@ -66,7 +75,9 @@ const SubLinkSection: React.FC<SubLinkSectionProps> = ({ backgroundImageAlignmen
|
|
|
66
75
|
)
|
|
67
76
|
}
|
|
68
77
|
|
|
69
|
-
const ButtonSection: React.FC<ButtonSectionProps> = ({
|
|
78
|
+
const ButtonSection: React.FC<ButtonSectionProps> = ({
|
|
79
|
+
href, to, buttonText,
|
|
80
|
+
}) => {
|
|
70
81
|
const isMobile = useIsSmall()
|
|
71
82
|
return (
|
|
72
83
|
<ButtonEx
|
|
@@ -116,7 +127,9 @@ export const BasicHero: React.FC<BasicHeroProps> = ({
|
|
|
116
127
|
<FlexGrowCol
|
|
117
128
|
sx={{
|
|
118
129
|
backgroundImage: `url(${backgroundImage})`,
|
|
119
|
-
backgroundPosition: {
|
|
130
|
+
backgroundPosition: {
|
|
131
|
+
lg: 'bottom', md: 'center left', xs: 'top left',
|
|
132
|
+
},
|
|
120
133
|
minHeight: {
|
|
121
134
|
md: '500px',
|
|
122
135
|
sm: '400px',
|
|
@@ -163,7 +176,11 @@ export const BasicHero: React.FC<BasicHeroProps> = ({
|
|
|
163
176
|
<Typography variant="body1" component="h2" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>
|
|
164
177
|
{desc}
|
|
165
178
|
</Typography>
|
|
166
|
-
<FlexGrowRow
|
|
179
|
+
<FlexGrowRow
|
|
180
|
+
sx={{ flexDirection: { lg: 'row', xs: 'column' } }}
|
|
181
|
+
width="100%"
|
|
182
|
+
marginTop={1}
|
|
183
|
+
>
|
|
167
184
|
<ButtonSection href={button1Href} to={button1To} buttonText={button1Text} />
|
|
168
185
|
<ButtonSection href={button2Href} to={button2To} buttonText={button2Text} />
|
|
169
186
|
</FlexGrowRow>
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type {
|
|
2
|
+
BoxProps, TypographyProps, TypographyTypeMap,
|
|
3
|
+
} from '@mui/material'
|
|
4
|
+
import {
|
|
5
|
+
Box, styled, Typography,
|
|
6
|
+
} from '@mui/material'
|
|
7
|
+
import type { WithChildren } from '@xylabs/react-shared'
|
|
8
|
+
import React, {
|
|
9
|
+
forwardRef, useCallback, useState,
|
|
10
|
+
} from 'react'
|
|
4
11
|
|
|
5
12
|
import { useShareForwardedRef } from '../hooks/index.ts'
|
|
6
13
|
|
|
@@ -37,15 +44,15 @@ const EllipsizeRoot = styled(Box, {
|
|
|
37
44
|
const EllipsizeInnerWrap = styled(Box, {
|
|
38
45
|
name: ComponentName,
|
|
39
46
|
slot: 'innerWrap',
|
|
40
|
-
})(() => ({
|
|
41
|
-
position: 'relative',
|
|
42
|
-
}))
|
|
47
|
+
})(() => ({ position: 'relative' }))
|
|
43
48
|
|
|
44
49
|
const EllipsizeContentWrap = styled(Typography, {
|
|
45
50
|
name: ComponentName,
|
|
46
51
|
shouldForwardProp: prop => prop !== 'ellipsisPosition',
|
|
47
52
|
slot: 'contentWrap',
|
|
48
|
-
})<TypographyWithComponentProps>(({
|
|
53
|
+
})<TypographyWithComponentProps>(({
|
|
54
|
+
theme, ellipsisPosition, fontFamily,
|
|
55
|
+
}) => {
|
|
49
56
|
return theme.unstable_sx({
|
|
50
57
|
fontFamily: fontFamily ?? 'monospace',
|
|
51
58
|
left: 0,
|
|
@@ -86,7 +93,9 @@ export interface EllipsizeBoxProps extends BoxProps {
|
|
|
86
93
|
}
|
|
87
94
|
|
|
88
95
|
export const EllipsizeBox = forwardRef<HTMLDivElement, WithChildren<EllipsizeBoxProps>>(
|
|
89
|
-
({
|
|
96
|
+
({
|
|
97
|
+
children, ellipsisPosition = 'start', disableSharedRef, typographyProps, ...props
|
|
98
|
+
}, ref) => {
|
|
90
99
|
// Allow syncing of :before pseudo element height with contentWrapHeight
|
|
91
100
|
const { contentWrapRef, contentWrapHeight } = useClientHeight()
|
|
92
101
|
const sharedRef = useShareForwardedRef(ref)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Typography } from '@mui/material'
|
|
2
2
|
import { FlexCol } from '@xylabs/react-flexbox'
|
|
3
|
-
import
|
|
3
|
+
import type { ErrorInfo, ReactNode } from 'react'
|
|
4
|
+
import React, { Component } from 'react'
|
|
4
5
|
|
|
5
6
|
export interface ErrorBoundaryProps {
|
|
6
7
|
children: ReactNode
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { StackProps } from '@mui/material'
|
|
2
|
+
import { Stack, Typography } from '@mui/material'
|
|
2
3
|
import React from 'react'
|
|
3
4
|
|
|
4
5
|
export interface LabeledTextFieldWrapperProps extends StackProps {
|
|
5
6
|
label: string
|
|
6
7
|
}
|
|
7
8
|
|
|
8
|
-
export const LabeledTextFieldWrapper: React.FC<LabeledTextFieldWrapperProps> = ({
|
|
9
|
+
export const LabeledTextFieldWrapper: React.FC<LabeledTextFieldWrapperProps> = ({
|
|
10
|
+
children, label, ...props
|
|
11
|
+
}) => {
|
|
9
12
|
return (
|
|
10
13
|
<Stack flexDirection="column" {...props}>
|
|
11
14
|
<Typography gutterBottom variant="caption">
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
1
|
+
import type { ListItemButtonProps } from '@mui/material'
|
|
2
|
+
import { ListItemButton } from '@mui/material'
|
|
3
|
+
import type { MouseEvent } from 'react'
|
|
4
|
+
import React from 'react'
|
|
5
|
+
import type { NavigateOptions, To } from 'react-router-dom'
|
|
6
|
+
import { useNavigate } from 'react-router-dom'
|
|
4
7
|
|
|
5
8
|
export interface ListItemButtonExProps extends ListItemButtonProps {
|
|
6
9
|
target?: string
|
|
@@ -8,7 +11,9 @@ export interface ListItemButtonExProps extends ListItemButtonProps {
|
|
|
8
11
|
toOptions?: NavigateOptions
|
|
9
12
|
}
|
|
10
13
|
|
|
11
|
-
export const ListItemButtonExTo: React.FC<ListItemButtonExProps> = ({
|
|
14
|
+
export const ListItemButtonExTo: React.FC<ListItemButtonExProps> = ({
|
|
15
|
+
to, toOptions, onClick, ...props
|
|
16
|
+
}) => {
|
|
12
17
|
const navigate = useNavigate()
|
|
13
18
|
const localOnClick = (event: MouseEvent<HTMLDivElement>) => {
|
|
14
19
|
onClick?.(event)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Meta, StoryFn } from '@storybook/react'
|
|
1
|
+
import type { Meta, StoryFn } from '@storybook/react'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
|
|
4
4
|
import { LoadResult } from './LoadResult.tsx'
|
|
@@ -6,11 +6,7 @@ import { LoadResult } from './LoadResult.tsx'
|
|
|
6
6
|
const StorybookEntry: Meta = {
|
|
7
7
|
argTypes: {},
|
|
8
8
|
component: LoadResult,
|
|
9
|
-
parameters: {
|
|
10
|
-
docs: {
|
|
11
|
-
page: null,
|
|
12
|
-
},
|
|
13
|
-
},
|
|
9
|
+
parameters: { docs: { page: null } },
|
|
14
10
|
title: 'webapp/LoadResult',
|
|
15
11
|
}
|
|
16
12
|
|
|
@@ -30,6 +26,8 @@ ApiError.args = { children: <h1>Shown in case of error</h1>, error: true }
|
|
|
30
26
|
const SearchResult = Template.bind({})
|
|
31
27
|
SearchResult.args = { children: <h1>Shown when there is a valid result</h1>, searchResult: 'foo' }
|
|
32
28
|
|
|
33
|
-
export {
|
|
29
|
+
export {
|
|
30
|
+
ApiError, Default, NotFound, SearchResult,
|
|
31
|
+
}
|
|
34
32
|
|
|
35
33
|
export default StorybookEntry
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FlexGrowRow } from '@xylabs/react-flexbox'
|
|
2
|
-
import
|
|
2
|
+
import type { PropsWithChildren } from 'react'
|
|
3
|
+
import React from 'react'
|
|
3
4
|
|
|
4
5
|
import { NotFound } from './NotFound.tsx'
|
|
5
6
|
|
|
@@ -13,7 +14,9 @@ export interface LoadResultProps<T> {
|
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export function LoadResult<T>(props: PropsWithChildren<LoadResultProps<T>>) {
|
|
16
|
-
const {
|
|
17
|
+
const {
|
|
18
|
+
notFound, error, searchResult, children,
|
|
19
|
+
} = props
|
|
17
20
|
if (notFound) {
|
|
18
21
|
return <NotFound />
|
|
19
22
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Typography } from '@mui/material'
|
|
2
|
-
import { FlexBoxProps
|
|
2
|
+
import type { FlexBoxProps } from '@xylabs/react-flexbox'
|
|
3
|
+
import { FlexGrowCol } from '@xylabs/react-flexbox'
|
|
3
4
|
import React from 'react'
|
|
4
5
|
|
|
5
6
|
const NotFound: React.FC<FlexBoxProps> = (props) => {
|
package/src/components/Pipe.tsx
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { styled } from '@mui/material'
|
|
2
|
-
import { WithChildren } from '@xylabs/react-shared'
|
|
2
|
+
import type { WithChildren } from '@xylabs/react-shared'
|
|
3
3
|
import React from 'react'
|
|
4
4
|
|
|
5
5
|
const StyledScrollTableOnSm = styled('div')(({ theme }) => ({
|
|
6
|
-
[theme.breakpoints.down('md')]: {
|
|
7
|
-
overflowX: 'scroll',
|
|
8
|
-
},
|
|
6
|
+
[theme.breakpoints.down('md')]: { overflowX: 'scroll' },
|
|
9
7
|
display: 'flex',
|
|
10
8
|
flexGrow: 1,
|
|
11
9
|
}))
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Divider, Typography } from '@mui/material'
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/react'
|
|
2
|
+
import type { Meta, StoryFn } from '@storybook/react'
|
|
3
3
|
import React from 'react'
|
|
4
4
|
import { BrowserRouter } from 'react-router-dom'
|
|
5
5
|
|
|
@@ -7,11 +7,7 @@ import { SectionSpacingRow } from './SectionSpacingRow.tsx'
|
|
|
7
7
|
const StorybookEntry = {
|
|
8
8
|
argTypes: {},
|
|
9
9
|
component: SectionSpacingRow,
|
|
10
|
-
parameters: {
|
|
11
|
-
docs: {
|
|
12
|
-
page: null,
|
|
13
|
-
},
|
|
14
|
-
},
|
|
10
|
+
parameters: { docs: { page: null } },
|
|
15
11
|
title: 'shared/SectionSpacingRow',
|
|
16
12
|
} as Meta<typeof SectionSpacingRow>
|
|
17
13
|
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { useTheme } from '@mui/material'
|
|
2
|
-
import { FlexBoxProps
|
|
2
|
+
import type { FlexBoxProps } from '@xylabs/react-flexbox'
|
|
3
|
+
import { FlexGrowRow } from '@xylabs/react-flexbox'
|
|
3
4
|
import React, { forwardRef } from 'react'
|
|
4
5
|
|
|
5
|
-
export const SectionSpacingRow = forwardRef<HTMLDivElement, FlexBoxProps>(({
|
|
6
|
+
export const SectionSpacingRow = forwardRef<HTMLDivElement, FlexBoxProps>(({
|
|
7
|
+
children, sx, ...props
|
|
8
|
+
}, ref) => {
|
|
6
9
|
const theme = useTheme()
|
|
7
10
|
return (
|
|
8
11
|
<FlexGrowRow
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Menu as MenuIcon } from '@mui/icons-material'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Button, IconButton, Toolbar, Typography,
|
|
4
|
+
} from '@mui/material'
|
|
3
5
|
import { AppBarEx } from '@xylabs/react-appbar'
|
|
4
6
|
import { FlexCol } from '@xylabs/react-flexbox'
|
|
5
7
|
import React from 'react'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ButtonTypeMap } from '@mui/material'
|
|
2
|
+
import { Button, Typography } from '@mui/material'
|
|
2
3
|
import { FlexCol, FlexRow } from '@xylabs/react-flexbox'
|
|
3
4
|
import React, { Fragment } from 'react'
|
|
4
5
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Meta, StoryFn } from '@storybook/react'
|
|
1
|
+
import type { Meta, StoryFn } from '@storybook/react'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
|
|
4
4
|
import { StyleGuideExample } from './StyleGuide.example.tsx'
|
|
@@ -6,11 +6,7 @@ import { StyleGuideExample } from './StyleGuide.example.tsx'
|
|
|
6
6
|
const StorybookEntry = {
|
|
7
7
|
argTypes: {},
|
|
8
8
|
component: StyleGuideExample,
|
|
9
|
-
parameters: {
|
|
10
|
-
docs: {
|
|
11
|
-
page: null,
|
|
12
|
-
},
|
|
13
|
-
},
|
|
9
|
+
parameters: { docs: { page: null } },
|
|
14
10
|
title: 'shared/StyleGuide',
|
|
15
11
|
} as Meta<typeof StyleGuideExample>
|
|
16
12
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'
|
|
4
|
+
import { EllipsisTableCell } from './EllipsisTableCell.tsx'
|
|
4
5
|
|
|
5
6
|
export interface AddressTableCellProps extends Omit<EllipsisTableCellProps, 'ref'> {
|
|
6
7
|
/** @deprecated - archives are no longer supported */
|
|
@@ -10,7 +11,9 @@ export interface AddressTableCellProps extends Omit<EllipsisTableCellProps, 'ref
|
|
|
10
11
|
link?: boolean
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
const AddressTableCell = forwardRef<HTMLElement, AddressTableCellProps>(({
|
|
14
|
+
const AddressTableCell = forwardRef<HTMLElement, AddressTableCellProps>(({
|
|
15
|
+
value, archive, exploreDomain, link, ...props
|
|
16
|
+
}, ref) => {
|
|
14
17
|
const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : undefined
|
|
15
18
|
const to = exploreDomain === undefined && archive ? `/archive/${archive}/address/${value}` : undefined
|
|
16
19
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { TableCellProps } from '@mui/material'
|
|
2
|
+
import { styled, TableCell } from '@mui/material'
|
|
2
3
|
import { LinkEx } from '@xylabs/react-link'
|
|
3
4
|
import React, { forwardRef, useMemo } from 'react'
|
|
4
|
-
import { To } from 'react-router-dom'
|
|
5
|
+
import type { To } from 'react-router-dom'
|
|
5
6
|
|
|
6
7
|
import { EllipsizeBox } from '../Ellipsize.tsx'
|
|
7
8
|
|
|
@@ -9,9 +10,7 @@ const EllipsisTableCellRoot = styled(TableCell, {
|
|
|
9
10
|
name: 'EllipsisTableCell',
|
|
10
11
|
shouldForwardProp: prop => prop !== 'width',
|
|
11
12
|
slot: 'Root',
|
|
12
|
-
})(({ width = '100%' }) => ({
|
|
13
|
-
width,
|
|
14
|
-
}))
|
|
13
|
+
})(({ width = '100%' }) => ({ width }))
|
|
15
14
|
|
|
16
15
|
export interface EllipsisTableCellProps extends Omit<TableCellProps, 'ref'> {
|
|
17
16
|
href?: string
|
|
@@ -28,7 +27,9 @@ export interface EllipsisTableCellProps extends Omit<TableCellProps, 'ref'> {
|
|
|
28
27
|
}
|
|
29
28
|
|
|
30
29
|
export const EllipsisTableCellWithRef = forwardRef<HTMLElement, EllipsisTableCellProps>(
|
|
31
|
-
({
|
|
30
|
+
({
|
|
31
|
+
children, href, link = false, to, value, ...props
|
|
32
|
+
}, ref) => {
|
|
32
33
|
const data = useMemo(() => {
|
|
33
34
|
if (children) {
|
|
34
35
|
return children
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { TableCellProps } from '@mui/material'
|
|
2
|
+
import { TableCell, useTheme } from '@mui/material'
|
|
2
3
|
import { LinkEx } from '@xylabs/react-link'
|
|
3
|
-
import React, {
|
|
4
|
-
|
|
4
|
+
import React, {
|
|
5
|
+
useEffect, useRef, useState,
|
|
6
|
+
} from 'react'
|
|
7
|
+
import type { To } from 'react-router-dom'
|
|
5
8
|
|
|
6
9
|
import { getActualPaddingX } from '../../lib/index.ts'
|
|
7
10
|
import { findParent } from './findParent.ts'
|
|
@@ -16,7 +19,9 @@ export interface EllipsisTableCellProps extends TableCellProps {
|
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
/** @deprecated - use new EllipsisTableCell */
|
|
19
|
-
export const EllipsisTableCellDeprecated: React.FC<EllipsisTableCellProps> = ({
|
|
22
|
+
export const EllipsisTableCellDeprecated: React.FC<EllipsisTableCellProps> = ({
|
|
23
|
+
children, value, to, forCell, href, ...props
|
|
24
|
+
}) => {
|
|
20
25
|
const [calcCellWidth, setCalcCellWidth] = useState<number>(0)
|
|
21
26
|
const hashDivRef = useRef<HTMLDivElement>(null)
|
|
22
27
|
const theme = useTheme()
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
Table, TableBody, TableCell, TableHead, TableRow,
|
|
3
|
+
} from '@mui/material'
|
|
4
|
+
import type {
|
|
5
|
+
Decorator, Meta, StoryFn,
|
|
6
|
+
} from '@storybook/react'
|
|
3
7
|
import React from 'react'
|
|
4
8
|
import { BrowserRouter } from 'react-router-dom'
|
|
5
9
|
|
|
@@ -96,4 +100,6 @@ WithMultiple.args = {}
|
|
|
96
100
|
const WithMultipleRows = TemplateWithMultipleRows.bind({})
|
|
97
101
|
WithMultipleRows.args = {}
|
|
98
102
|
|
|
99
|
-
export {
|
|
103
|
+
export {
|
|
104
|
+
Default, WithMultiple, WithMultipleRows,
|
|
105
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Hash } from '@xylabs/hex'
|
|
1
|
+
import type { Hash } from '@xylabs/hex'
|
|
2
2
|
import { useEvent } from '@xyo-network/react-event'
|
|
3
3
|
import React, { useRef } from 'react'
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import type { EllipsisTableCellProps } from './EllipsisTableCell.tsx'
|
|
6
|
+
import { EllipsisTableCell } from './EllipsisTableCell.tsx'
|
|
6
7
|
|
|
7
8
|
export interface HashTableCellProps extends EllipsisTableCellProps {
|
|
8
9
|
archive?: string
|
|
@@ -12,7 +13,9 @@ export interface HashTableCellProps extends EllipsisTableCellProps {
|
|
|
12
13
|
onHashClick?: (value: Hash) => void
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
export const HashTableCell: React.FC<HashTableCellProps> = ({
|
|
16
|
+
export const HashTableCell: React.FC<HashTableCellProps> = ({
|
|
17
|
+
value, archive, dataType, network, exploreDomain, onHashClick, ...props
|
|
18
|
+
}) => {
|
|
16
19
|
const ref = useRef<HTMLTableCellElement | null>(null)
|
|
17
20
|
const [tableCellRef, dispatch] = useEvent<HTMLTableCellElement>(undefined, ref)
|
|
18
21
|
const hashPath = `/${dataType}/hash/${value}?network=${network ?? 'main'}`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Meta, StoryFn } from '@storybook/react'
|
|
1
|
+
import type { Meta, StoryFn } from '@storybook/react'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
import { BrowserRouter } from 'react-router-dom'
|
|
4
4
|
|
|
@@ -7,11 +7,7 @@ import { ThemeTokenAvatar } from './ThemeTokenAvatar.tsx'
|
|
|
7
7
|
const StorybookEntry = {
|
|
8
8
|
argTypes: {},
|
|
9
9
|
component: ThemeTokenAvatar,
|
|
10
|
-
parameters: {
|
|
11
|
-
docs: {
|
|
12
|
-
page: null,
|
|
13
|
-
},
|
|
14
|
-
},
|
|
10
|
+
parameters: { docs: { page: null } },
|
|
15
11
|
title: 'shared/ThemeTokenAvatar',
|
|
16
12
|
} as Meta<typeof ThemeTokenAvatar>
|
|
17
13
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AvatarProps } from '@mui/material'
|
|
2
|
+
import { Avatar, useTheme } from '@mui/material'
|
|
2
3
|
import React from 'react'
|
|
3
4
|
|
|
4
5
|
export const ThemeTokenAvatar: React.FC<AvatarProps> = ({ ...props }) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Meta, StoryFn } from '@storybook/react'
|
|
1
|
+
import type { Meta, StoryFn } from '@storybook/react'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
import { BrowserRouter } from 'react-router-dom'
|
|
4
4
|
|
|
@@ -7,11 +7,7 @@ import { ThemeTokenAvatarGroup } from './ThemeTokenAvatarGroup.tsx'
|
|
|
7
7
|
const StorybookEntry = {
|
|
8
8
|
argTypes: {},
|
|
9
9
|
component: ThemeTokenAvatarGroup,
|
|
10
|
-
parameters: {
|
|
11
|
-
docs: {
|
|
12
|
-
page: null,
|
|
13
|
-
},
|
|
14
|
-
},
|
|
10
|
+
parameters: { docs: { page: null } },
|
|
15
11
|
title: 'shared/ThemeTokenAvatarGroup',
|
|
16
12
|
} as Meta<typeof ThemeTokenAvatarGroup>
|
|
17
13
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Meta, StoryFn } from '@storybook/react'
|
|
1
|
+
import type { Meta, StoryFn } from '@storybook/react'
|
|
2
2
|
import { QuickTipButton } from '@xylabs/react-quick-tip-button'
|
|
3
3
|
import React from 'react'
|
|
4
4
|
import { BrowserRouter } from 'react-router-dom'
|
|
@@ -7,11 +7,7 @@ import { TokenBar } from './TokenBar.tsx'
|
|
|
7
7
|
const StorybookEntry = {
|
|
8
8
|
argTypes: {},
|
|
9
9
|
component: TokenBar,
|
|
10
|
-
parameters: {
|
|
11
|
-
docs: {
|
|
12
|
-
page: null,
|
|
13
|
-
},
|
|
14
|
-
},
|
|
10
|
+
parameters: { docs: { page: null } },
|
|
15
11
|
title: 'shared/TokenBar',
|
|
16
12
|
} as Meta<typeof TokenBar>
|
|
17
13
|
|
|
@@ -25,7 +21,9 @@ const WithData = Template.bind({})
|
|
|
25
21
|
WithData.args = { text1: 'Hello', text2: 'World' }
|
|
26
22
|
|
|
27
23
|
const WithSuffixes = Template.bind({})
|
|
28
|
-
WithSuffixes.args = {
|
|
24
|
+
WithSuffixes.args = {
|
|
25
|
+
text1: 'ETH', text2: '0.062342', text2Suffix: <QuickTipButton title="0.06234298345834958" />,
|
|
26
|
+
}
|
|
29
27
|
|
|
30
28
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
31
29
|
// @ts-ignore
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { PaperProps, TypographyProps } from '@mui/material'
|
|
2
|
+
import { Paper, Typography } from '@mui/material'
|
|
2
3
|
import { FlexRow } from '@xylabs/react-flexbox'
|
|
3
|
-
import
|
|
4
|
+
import type { ReactNode } from 'react'
|
|
5
|
+
import React from 'react'
|
|
4
6
|
export interface TokenBarProps extends PaperProps {
|
|
5
7
|
text1?: ReactNode
|
|
6
8
|
text1Props?: TypographyProps
|
|
@@ -10,7 +12,9 @@ export interface TokenBarProps extends PaperProps {
|
|
|
10
12
|
text2Suffix?: ReactNode
|
|
11
13
|
}
|
|
12
14
|
|
|
13
|
-
export const TokenBar: React.FC<TokenBarProps> = ({
|
|
15
|
+
export const TokenBar: React.FC<TokenBarProps> = ({
|
|
16
|
+
text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props
|
|
17
|
+
}) => {
|
|
14
18
|
return (
|
|
15
19
|
<Paper elevation={0} className="TokenBar-root" {...props}>
|
|
16
20
|
<FlexRow justifyContent="space-between">
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TokenData } from './TokenData.ts'
|
|
2
2
|
|
|
3
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks
|
|
3
4
|
export const useGetTokenData = (symbols: (string | undefined)[]) => {
|
|
4
5
|
return symbols?.map((symbol) => {
|
|
5
6
|
const additionalTokenData = TokenData.find(x => x.tokenSymbol === symbol)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Link } from '@mui/material'
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/react'
|
|
2
|
+
import type { Meta, StoryFn } from '@storybook/react'
|
|
3
3
|
import React from 'react'
|
|
4
4
|
import { BrowserRouter } from 'react-router-dom'
|
|
5
5
|
|
|
@@ -8,11 +8,7 @@ import { TokenSummary } from './TokenSummary.tsx'
|
|
|
8
8
|
const StorybookEntry = {
|
|
9
9
|
argTypes: {},
|
|
10
10
|
component: TokenSummary,
|
|
11
|
-
parameters: {
|
|
12
|
-
docs: {
|
|
13
|
-
page: null,
|
|
14
|
-
},
|
|
15
|
-
},
|
|
11
|
+
parameters: { docs: { page: null } },
|
|
16
12
|
title: 'shared/TokenSummary',
|
|
17
13
|
} as Meta<typeof TokenSummary>
|
|
18
14
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { AvatarProps,
|
|
2
|
-
import
|
|
1
|
+
import type { AvatarProps, CardHeaderProps } from '@mui/material'
|
|
2
|
+
import { CardHeader, Typography } from '@mui/material'
|
|
3
|
+
import type { ReactNode } from 'react'
|
|
4
|
+
import React from 'react'
|
|
3
5
|
|
|
4
6
|
import { ThemeTokenAvatar } from '../ThemeTokenAvatar/index.ts'
|
|
5
7
|
|
|
@@ -10,7 +12,9 @@ export interface TokenSummaryProps extends CardHeaderProps {
|
|
|
10
12
|
symbolElement?: ReactNode
|
|
11
13
|
}
|
|
12
14
|
|
|
13
|
-
export const TokenSummary: React.FC<TokenSummaryProps> = ({
|
|
15
|
+
export const TokenSummary: React.FC<TokenSummaryProps> = ({
|
|
16
|
+
icon, symbol, symbolElement, children, ...props
|
|
17
|
+
}) => {
|
|
14
18
|
return (
|
|
15
19
|
<>
|
|
16
20
|
<CardHeader
|