@xyo-network/react-embed 2.28.8 → 2.28.11
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/cjs/components/XyoEmbedPlugin.d.ts.map +1 -1
- package/dist/cjs/components/XyoEmbedPlugin.js +3 -3
- package/dist/cjs/components/XyoEmbedPlugin.js.map +1 -1
- package/dist/cjs/components/controls/{ControlWrap.d.ts → EmbedFormControl.d.ts} +3 -3
- package/dist/cjs/components/controls/EmbedFormControl.d.ts.map +1 -0
- package/dist/cjs/components/controls/{ControlWrap.js → EmbedFormControl.js} +4 -4
- package/dist/cjs/components/controls/EmbedFormControl.js.map +1 -0
- package/dist/cjs/components/controls/ListModeSelect.js +2 -2
- package/dist/cjs/components/controls/ListModeSelect.js.map +1 -1
- package/dist/cjs/components/controls/RenderSelect.d.ts +2 -1
- package/dist/cjs/components/controls/RenderSelect.d.ts.map +1 -1
- package/dist/cjs/components/controls/RenderSelect.js +2 -2
- package/dist/cjs/components/controls/RenderSelect.js.map +1 -1
- package/dist/cjs/components/controls/index.d.ts +1 -1
- package/dist/cjs/components/controls/index.d.ts.map +1 -1
- package/dist/cjs/components/controls/index.js +1 -1
- package/dist/cjs/components/controls/index.js.map +1 -1
- package/dist/cjs/components/embed-card/EmbedCardHeader.js +1 -1
- package/dist/cjs/components/embed-card/EmbedCardHeader.js.map +1 -1
- package/dist/cjs/components/embed-card/EmbedCardResolver.d.ts +1 -1
- package/dist/cjs/components/embed-card/EmbedCardResolver.d.ts.map +1 -1
- package/dist/cjs/components/embed-card/EmbedCardResolver.js +5 -5
- package/dist/cjs/components/embed-card/EmbedCardResolver.js.map +1 -1
- package/dist/cjs/components/embed-card/EmbedPluginCard.d.ts.map +1 -1
- package/dist/cjs/components/embed-card/EmbedPluginCard.js +6 -3
- package/dist/cjs/components/embed-card/EmbedPluginCard.js.map +1 -1
- package/dist/cjs/components/embed-card/ValidatePayload.d.ts +1 -1
- package/dist/cjs/components/embed-card/ValidatePayload.d.ts.map +1 -1
- package/dist/cjs/components/embed-card/ValidatePayload.js +4 -4
- package/dist/cjs/components/embed-card/ValidatePayload.js.map +1 -1
- package/dist/cjs/components/embed-card/ValidatePlugins.d.ts +2 -1
- package/dist/cjs/components/embed-card/ValidatePlugins.d.ts.map +1 -1
- package/dist/cjs/components/embed-card/ValidatePlugins.js +6 -4
- package/dist/cjs/components/embed-card/ValidatePlugins.js.map +1 -1
- package/dist/cjs/components/embed-card/error-handling/EmbedCardApiErrorRenderer.d.ts +10 -0
- package/dist/cjs/components/embed-card/error-handling/EmbedCardApiErrorRenderer.d.ts.map +1 -0
- package/dist/cjs/components/embed-card/error-handling/EmbedCardApiErrorRenderer.js +18 -0
- package/dist/cjs/components/embed-card/error-handling/EmbedCardApiErrorRenderer.js.map +1 -0
- package/dist/cjs/components/embed-card/error-handling/EmbedErrorCard.d.ts +15 -0
- package/dist/cjs/components/embed-card/error-handling/EmbedErrorCard.d.ts.map +1 -0
- package/dist/cjs/components/embed-card/error-handling/EmbedErrorCard.js +16 -0
- package/dist/cjs/components/embed-card/error-handling/EmbedErrorCard.js.map +1 -0
- package/dist/cjs/components/embed-card/error-handling/index.d.ts +3 -0
- package/dist/cjs/components/embed-card/error-handling/index.d.ts.map +1 -0
- package/dist/cjs/components/embed-card/error-handling/index.js +6 -0
- package/dist/cjs/components/embed-card/error-handling/index.js.map +1 -0
- package/dist/cjs/components/embed-card/index.d.ts +1 -0
- package/dist/cjs/components/embed-card/index.d.ts.map +1 -1
- package/dist/cjs/components/embed-card/index.js +1 -0
- package/dist/cjs/components/embed-card/index.js.map +1 -1
- package/dist/cjs/contexts/XyoEmbedPluginContext/State.d.ts +1 -0
- package/dist/cjs/contexts/XyoEmbedPluginContext/State.d.ts.map +1 -1
- package/dist/docs.json +2 -2
- package/dist/esm/components/XyoEmbedPlugin.d.ts.map +1 -1
- package/dist/esm/components/XyoEmbedPlugin.js +5 -5
- package/dist/esm/components/XyoEmbedPlugin.js.map +1 -1
- package/dist/esm/components/controls/{ControlWrap.d.ts → EmbedFormControl.d.ts} +3 -3
- package/dist/esm/components/controls/EmbedFormControl.d.ts.map +1 -0
- package/dist/esm/components/controls/{ControlWrap.js → EmbedFormControl.js} +2 -2
- package/dist/esm/components/controls/EmbedFormControl.js.map +1 -0
- package/dist/esm/components/controls/ListModeSelect.js +2 -2
- package/dist/esm/components/controls/ListModeSelect.js.map +1 -1
- package/dist/esm/components/controls/RenderSelect.d.ts +2 -1
- package/dist/esm/components/controls/RenderSelect.d.ts.map +1 -1
- package/dist/esm/components/controls/RenderSelect.js +2 -2
- package/dist/esm/components/controls/RenderSelect.js.map +1 -1
- package/dist/esm/components/controls/index.d.ts +1 -1
- package/dist/esm/components/controls/index.d.ts.map +1 -1
- package/dist/esm/components/controls/index.js +1 -1
- package/dist/esm/components/controls/index.js.map +1 -1
- package/dist/esm/components/embed-card/EmbedCardHeader.js +1 -1
- package/dist/esm/components/embed-card/EmbedCardHeader.js.map +1 -1
- package/dist/esm/components/embed-card/EmbedCardResolver.d.ts +1 -1
- package/dist/esm/components/embed-card/EmbedCardResolver.d.ts.map +1 -1
- package/dist/esm/components/embed-card/EmbedCardResolver.js +3 -3
- package/dist/esm/components/embed-card/EmbedCardResolver.js.map +1 -1
- package/dist/esm/components/embed-card/EmbedPluginCard.d.ts.map +1 -1
- package/dist/esm/components/embed-card/EmbedPluginCard.js +3 -2
- package/dist/esm/components/embed-card/EmbedPluginCard.js.map +1 -1
- package/dist/esm/components/embed-card/ValidatePayload.d.ts +1 -1
- package/dist/esm/components/embed-card/ValidatePayload.d.ts.map +1 -1
- package/dist/esm/components/embed-card/ValidatePayload.js +4 -4
- package/dist/esm/components/embed-card/ValidatePayload.js.map +1 -1
- package/dist/esm/components/embed-card/ValidatePlugins.d.ts +2 -1
- package/dist/esm/components/embed-card/ValidatePlugins.d.ts.map +1 -1
- package/dist/esm/components/embed-card/ValidatePlugins.js +2 -2
- package/dist/esm/components/embed-card/ValidatePlugins.js.map +1 -1
- package/dist/esm/components/embed-card/error-handling/EmbedCardApiErrorRenderer.d.ts +10 -0
- package/dist/esm/components/embed-card/error-handling/EmbedCardApiErrorRenderer.d.ts.map +1 -0
- package/dist/esm/components/embed-card/error-handling/EmbedCardApiErrorRenderer.js +11 -0
- package/dist/esm/components/embed-card/error-handling/EmbedCardApiErrorRenderer.js.map +1 -0
- package/dist/esm/components/embed-card/error-handling/EmbedErrorCard.d.ts +15 -0
- package/dist/esm/components/embed-card/error-handling/EmbedErrorCard.d.ts.map +1 -0
- package/dist/esm/components/embed-card/error-handling/EmbedErrorCard.js +11 -0
- package/dist/esm/components/embed-card/error-handling/EmbedErrorCard.js.map +1 -0
- package/dist/esm/components/embed-card/error-handling/index.d.ts +3 -0
- package/dist/esm/components/embed-card/error-handling/index.d.ts.map +1 -0
- package/dist/esm/components/embed-card/error-handling/index.js +3 -0
- package/dist/esm/components/embed-card/error-handling/index.js.map +1 -0
- package/dist/esm/components/embed-card/index.d.ts +1 -0
- package/dist/esm/components/embed-card/index.d.ts.map +1 -1
- package/dist/esm/components/embed-card/index.js +1 -0
- package/dist/esm/components/embed-card/index.js.map +1 -1
- package/dist/esm/contexts/XyoEmbedPluginContext/State.d.ts +1 -0
- package/dist/esm/contexts/XyoEmbedPluginContext/State.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/components/XyoEmbedPlugin.tsx +23 -21
- package/src/components/controls/{ControlWrap.tsx → EmbedFormControl.tsx} +2 -2
- package/src/components/controls/ListModeSelect.tsx +3 -3
- package/src/components/controls/RenderSelect.tsx +5 -5
- package/src/components/controls/index.ts +1 -1
- package/src/components/embed-card/EmbedCardHeader.tsx +1 -1
- package/src/components/embed-card/EmbedCardResolver.tsx +5 -4
- package/src/components/embed-card/EmbedPluginCard.tsx +6 -3
- package/src/components/embed-card/ValidatePayload.tsx +4 -4
- package/src/components/embed-card/ValidatePlugins.tsx +3 -3
- package/src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx +27 -0
- package/src/components/embed-card/error-handling/EmbedErrorCard.tsx +41 -0
- package/src/components/embed-card/error-handling/index.ts +2 -0
- package/src/components/embed-card/index.ts +1 -0
- package/src/components/embed-plugin-stories/XyoEmbedPlugin.examples.stories.tsx +28 -0
- package/src/components/{XyoEmbedPlugin.stories.tsx → embed-plugin-stories/XyoEmbedPlugin.states.stories.tsx} +24 -34
- package/src/components/{payload.stories.ts → embed-plugin-stories/payload.stories.ts} +0 -0
- package/src/components/embed-plugin-stories/shared.stories.tsx +22 -0
- package/src/contexts/XyoEmbedPluginContext/State.ts +1 -0
- package/dist/cjs/components/controls/ControlWrap.d.ts.map +0 -1
- package/dist/cjs/components/controls/ControlWrap.js.map +0 -1
- package/dist/esm/components/controls/ControlWrap.d.ts.map +0 -1
- package/dist/esm/components/controls/ControlWrap.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { FormControl, FormControlProps, InputLabel } from '@mui/material'
|
|
2
2
|
import { WithChildren } from '@xylabs/react-shared'
|
|
3
3
|
|
|
4
|
-
interface
|
|
4
|
+
interface EmbedFormControlProps extends FormControlProps {
|
|
5
5
|
formId?: string
|
|
6
6
|
formLabel?: string
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export const
|
|
9
|
+
export const EmbedFormControl: React.FC<WithChildren<EmbedFormControlProps>> = ({ formId, formLabel, children, ...props }) => {
|
|
10
10
|
return (
|
|
11
11
|
<FormControl {...props}>
|
|
12
12
|
<InputLabel id={formId}>{formLabel}</InputLabel>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MenuItem, Select, SelectProps } from '@mui/material'
|
|
2
2
|
import { ListMode, useListMode } from '@xyo-network/react-shared'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { EmbedFormControl } from './EmbedFormControl'
|
|
5
5
|
|
|
6
6
|
const listModeSelectId = 'listmode-select-id'
|
|
7
7
|
const listModeSelectLabel = 'List Mode'
|
|
@@ -32,8 +32,8 @@ export const ListModeSelect: React.FC<SelectProps<ListMode>> = (props) => {
|
|
|
32
32
|
|
|
33
33
|
export const ListModeSelectFormControl: React.FC<SelectProps<ListMode>> = (props) => {
|
|
34
34
|
return (
|
|
35
|
-
<
|
|
35
|
+
<EmbedFormControl formId={listModeSelectId} formLabel={listModeSelectLabel}>
|
|
36
36
|
<ListModeSelect size="small" label={listModeSelectLabel} labelId={listModeSelectId} {...props} />
|
|
37
|
-
</
|
|
37
|
+
</EmbedFormControl>
|
|
38
38
|
)
|
|
39
39
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { MenuItem, Select } from '@mui/material'
|
|
1
|
+
import { MenuItem, Select, SelectProps } from '@mui/material'
|
|
2
2
|
|
|
3
3
|
import { useXyoEmbedPluginState } from '../../contexts'
|
|
4
|
-
import {
|
|
4
|
+
import { EmbedFormControl } from './EmbedFormControl'
|
|
5
5
|
|
|
6
6
|
const renderSelectId = 'render-select-id'
|
|
7
7
|
const renderSelectLabel = 'Renderer'
|
|
8
8
|
|
|
9
|
-
export const EmbedRenderSelect: React.FC = (props) => {
|
|
9
|
+
export const EmbedRenderSelect: React.FC<SelectProps> = (props) => {
|
|
10
10
|
const { activePlugin, setActivePlugin, plugins } = useXyoEmbedPluginState()
|
|
11
11
|
return (
|
|
12
|
-
<
|
|
12
|
+
<EmbedFormControl formId={renderSelectId} formLabel={renderSelectLabel}>
|
|
13
13
|
<Select size="small" value={activePlugin?.name} {...props}>
|
|
14
14
|
{plugins?.map((plugin) => (
|
|
15
15
|
<MenuItem value={plugin.name} key={plugin.name} onClick={() => setActivePlugin?.(plugin)}>
|
|
@@ -17,6 +17,6 @@ export const EmbedRenderSelect: React.FC = (props) => {
|
|
|
17
17
|
</MenuItem>
|
|
18
18
|
))}
|
|
19
19
|
</Select>
|
|
20
|
-
</
|
|
20
|
+
</EmbedFormControl>
|
|
21
21
|
)
|
|
22
22
|
}
|
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import { useTheme } from '@mui/material'
|
|
2
2
|
import { FlexBoxProps, FlexGrowCol } from '@xylabs/react-flexbox'
|
|
3
3
|
import { WithChildren } from '@xylabs/react-shared'
|
|
4
|
-
import { XyoApiErrorRender } from '@xyo-network/react-auth-service'
|
|
5
4
|
import { ResultLoader } from '@xyo-network/react-webapp'
|
|
6
5
|
|
|
7
6
|
import { useRefreshPayload, useResolvePayload } from '../../contexts'
|
|
7
|
+
import { EmbedCardApiErrorRenderer } from './error-handling'
|
|
8
8
|
|
|
9
|
-
export const
|
|
9
|
+
export const EmbedCardResolverFlexBox: React.FC<WithChildren<FlexBoxProps>> = ({ children, ...props }) => {
|
|
10
10
|
const { payload, notFound, huriApiError } = useResolvePayload()
|
|
11
11
|
const { refreshPayload } = useRefreshPayload()
|
|
12
12
|
const theme = useTheme()
|
|
13
13
|
|
|
14
14
|
return (
|
|
15
15
|
<ResultLoader searchResult={payload} notFound={!!notFound} apiError={huriApiError}>
|
|
16
|
-
<
|
|
16
|
+
<EmbedCardApiErrorRenderer apiError={huriApiError}>
|
|
17
17
|
<FlexGrowCol
|
|
18
|
+
alignItems="stretch"
|
|
18
19
|
busy={Boolean(!refreshPayload && payload)}
|
|
19
20
|
busyCircularProps={{ style: { alignItems: 'start', paddingTop: theme.spacing(2), zIndex: 2 } }}
|
|
20
21
|
{...props}
|
|
21
22
|
>
|
|
22
23
|
{children}
|
|
23
24
|
</FlexGrowCol>
|
|
24
|
-
</
|
|
25
|
+
</EmbedCardApiErrorRenderer>
|
|
25
26
|
</ResultLoader>
|
|
26
27
|
)
|
|
27
28
|
}
|
|
@@ -6,19 +6,22 @@ import { useResolvePayload, useXyoEmbedPluginState } from '../../contexts'
|
|
|
6
6
|
import { EmbedRenderSelect, ListModeSelectFormControl } from '../controls'
|
|
7
7
|
import { EmbedCardHeader } from './EmbedCardHeader'
|
|
8
8
|
|
|
9
|
-
export const EmbedPluginCard: React.FC<CardProps> = (props) => {
|
|
9
|
+
export const EmbedPluginCard: React.FC<CardProps> = ({ ...props }) => {
|
|
10
10
|
const { payload } = useResolvePayload()
|
|
11
11
|
const { activePlugin: ActivePlugin, plugins, hideElementsConfig } = useXyoEmbedPluginState()
|
|
12
12
|
const { listMode } = useListMode()
|
|
13
|
+
const supportsListMode = ActivePlugin?.components?.box?.listModes?.length ?? 0 > 1
|
|
13
14
|
|
|
14
15
|
return (
|
|
15
16
|
<Card elevation={3} variant="elevation" {...props}>
|
|
16
17
|
{hideElementsConfig?.hideCardHeader ? null : <EmbedCardHeader />}
|
|
17
18
|
<FlexGrowRow columnGap={2} rowGap={2} flexWrap="wrap" justifyContent="center" pb={1}>
|
|
18
19
|
{plugins && plugins.length > 1 ? <EmbedRenderSelect /> : null}
|
|
19
|
-
{
|
|
20
|
+
{supportsListMode ? <ListModeSelectFormControl /> : null}
|
|
20
21
|
</FlexGrowRow>
|
|
21
|
-
<CardContent>
|
|
22
|
+
<CardContent>
|
|
23
|
+
{ActivePlugin ? <ActivePlugin.components.box.details payload={payload} {...(supportsListMode && { listMode })} /> : null}
|
|
24
|
+
</CardContent>
|
|
22
25
|
</Card>
|
|
23
26
|
)
|
|
24
27
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Alert, AlertProps
|
|
1
|
+
import { Alert, AlertProps } from '@mui/material'
|
|
2
2
|
import { WithChildren } from '@xylabs/react-shared'
|
|
3
3
|
|
|
4
4
|
import { useValidatePayload } from '../../contexts'
|
|
5
5
|
|
|
6
|
-
export const
|
|
6
|
+
export const ValidatePayloadAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {
|
|
7
7
|
const { validPayload, enabled, schema } = useValidatePayload()
|
|
8
8
|
|
|
9
9
|
if (enabled && validPayload === false) {
|
|
10
10
|
return (
|
|
11
|
-
<Alert severity="error" {...props}>
|
|
12
|
-
|
|
11
|
+
<Alert severity="error" title="Invalid Payload!" {...props}>
|
|
12
|
+
Payload schema claimed to be {schema} but failed to validate.
|
|
13
13
|
</Alert>
|
|
14
14
|
)
|
|
15
15
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Alert, AlertTitle } from '@mui/material'
|
|
1
|
+
import { Alert, AlertProps, AlertTitle } from '@mui/material'
|
|
2
2
|
import { WithChildren } from '@xylabs/react-shared'
|
|
3
3
|
|
|
4
4
|
import { useResolvePayload, useXyoEmbedPluginState } from '../../contexts'
|
|
5
5
|
|
|
6
|
-
export const
|
|
6
|
+
export const ValidatePluginsAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {
|
|
7
7
|
const { payload } = useResolvePayload()
|
|
8
8
|
const { plugins } = useXyoEmbedPluginState()
|
|
9
9
|
|
|
10
10
|
if (payload && plugins?.length === 0) {
|
|
11
11
|
return (
|
|
12
|
-
<Alert severity="warning">
|
|
12
|
+
<Alert severity="warning" {...props}>
|
|
13
13
|
<AlertTitle>Missing plugins!</AlertTitle>Payload found but no plugins were present.
|
|
14
14
|
</Alert>
|
|
15
15
|
)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CardProps } from '@mui/material'
|
|
2
|
+
import { WithChildren } from '@xylabs/react-shared'
|
|
3
|
+
import { XyoApiError } from '@xyo-network/api'
|
|
4
|
+
import { XyoApiErrorRender } from '@xyo-network/react-auth-service'
|
|
5
|
+
import { ApiErrorAlert } from '@xyo-network/react-shared'
|
|
6
|
+
|
|
7
|
+
import { EmbedErrorCard } from './EmbedErrorCard'
|
|
8
|
+
|
|
9
|
+
interface EmbedCardApiErrorRendererProps extends CardProps {
|
|
10
|
+
apiError?: XyoApiError
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const EmbedCardApiErrorRenderer: React.FC<WithChildren<EmbedCardApiErrorRendererProps>> = ({ apiError, children, ...props }) => {
|
|
14
|
+
return (
|
|
15
|
+
<XyoApiErrorRender apiError={apiError} noReAuth noErrorDisplay customError={<CustomApiErrorCard apiError={apiError} {...props} />}>
|
|
16
|
+
{children}
|
|
17
|
+
</XyoApiErrorRender>
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const CustomApiErrorCard: React.FC<EmbedCardApiErrorRendererProps> = ({ apiError, ...props }) => {
|
|
22
|
+
return (
|
|
23
|
+
<EmbedErrorCard {...props}>
|
|
24
|
+
<ApiErrorAlert call={apiError} />
|
|
25
|
+
</EmbedErrorCard>
|
|
26
|
+
)
|
|
27
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Alert, AlertProps, AlertTitle, Card, CardContent, CardProps, Typography } from '@mui/material'
|
|
2
|
+
import { WithChildren } from '@xylabs/react-shared'
|
|
3
|
+
|
|
4
|
+
interface EmbedErrorCardBaseProps {
|
|
5
|
+
alertProps?: AlertProps
|
|
6
|
+
error?: Error
|
|
7
|
+
hideErrorDetails?: boolean
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface EmbedErrorCardProps extends EmbedErrorCardBaseProps, CardProps {
|
|
11
|
+
alertProps?: AlertProps
|
|
12
|
+
error?: Error
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const EmbedErrorCard: React.FC<WithChildren<EmbedErrorCardProps>> = (props) => {
|
|
16
|
+
const { alertProps, error, hideErrorDetails = true, children, ...cardProps } = props
|
|
17
|
+
const errorProps = { alertProps, error, hideErrorDetails }
|
|
18
|
+
return (
|
|
19
|
+
<Card {...cardProps}>
|
|
20
|
+
<CardContent>{children ?? <DefaultErrorAlert {...errorProps} />}</CardContent>
|
|
21
|
+
</Card>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const DefaultErrorAlert: React.FC<EmbedErrorCardBaseProps> = ({ alertProps, hideErrorDetails, error }) => {
|
|
26
|
+
return (
|
|
27
|
+
<Alert severity="error" {...alertProps}>
|
|
28
|
+
<AlertTitle>Whoops! Something went wrong</AlertTitle>
|
|
29
|
+
{!hideErrorDetails && error ? (
|
|
30
|
+
<>
|
|
31
|
+
<Typography variant="caption">Error: </Typography>
|
|
32
|
+
<Typography variant="caption">{error?.message}</Typography>
|
|
33
|
+
</>
|
|
34
|
+
) : (
|
|
35
|
+
<Typography variant="caption" fontSize="small">
|
|
36
|
+
Error Loading Plugin
|
|
37
|
+
</Typography>
|
|
38
|
+
)}
|
|
39
|
+
</Alert>
|
|
40
|
+
)
|
|
41
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Meta } from '@storybook/react'
|
|
2
|
+
import { CryptoAssetRenderPlugin } from '@xyo-network/react-aggregate-price-plugin'
|
|
3
|
+
import { UniswapPairsRenderPlugin } from '@xyo-network/react-crypto-market-uniswap-payload-plugin'
|
|
4
|
+
|
|
5
|
+
import { Template, xyoEmbedStoryBase } from './shared.stories'
|
|
6
|
+
|
|
7
|
+
const AggregatePricePointer = 'https://api.archivist.xyo.network/1948bf4eedf90ee2b8a1f63216b7c6b3b18d7bc2834330d85bcd6ab3d6428a20'
|
|
8
|
+
const UniswapPairPointer = 'https://beta.api.archivist.xyo.network/e36602006239d86b6e08412f7879372b2c622d74f4d6bc508a08a46fa8ad6523'
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line import/no-default-export
|
|
11
|
+
export default {
|
|
12
|
+
...xyoEmbedStoryBase,
|
|
13
|
+
title: 'embed/XyoEmbedPlugin/examples',
|
|
14
|
+
} as Meta
|
|
15
|
+
|
|
16
|
+
const AggregatePriceExample = Template.bind({})
|
|
17
|
+
AggregatePriceExample.args = {
|
|
18
|
+
huriPayload: AggregatePricePointer,
|
|
19
|
+
plugins: [CryptoAssetRenderPlugin],
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const UniswapPairsExample = Template.bind({})
|
|
23
|
+
UniswapPairsExample.args = {
|
|
24
|
+
huriPayload: UniswapPairPointer,
|
|
25
|
+
plugins: [UniswapPairsRenderPlugin],
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { AggregatePriceExample, UniswapPairsExample }
|
|
@@ -1,35 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Meta } from '@storybook/react'
|
|
2
2
|
import { CryptoAssetRenderPlugin } from '@xyo-network/react-aggregate-price-plugin'
|
|
3
3
|
import { UniswapPairsRenderPlugin } from '@xyo-network/react-crypto-market-uniswap-payload-plugin'
|
|
4
4
|
import { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
|
|
5
|
-
import { BrowserRouter } from 'react-router-dom'
|
|
6
5
|
|
|
7
6
|
import { payloadData } from './payload.stories'
|
|
8
|
-
import {
|
|
7
|
+
import { Template, xyoEmbedStoryBase } from './shared.stories'
|
|
9
8
|
|
|
10
9
|
const AggregatePricePointer = 'https://api.archivist.xyo.network/1948bf4eedf90ee2b8a1f63216b7c6b3b18d7bc2834330d85bcd6ab3d6428a20'
|
|
11
|
-
const UniswapPairPointer = 'https://beta.api.archivist.xyo.network/e36602006239d86b6e08412f7879372b2c622d74f4d6bc508a08a46fa8ad6523'
|
|
12
10
|
|
|
13
11
|
// eslint-disable-next-line import/no-default-export
|
|
14
12
|
export default {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
parameters: {
|
|
18
|
-
docs: {
|
|
19
|
-
page: null,
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
title: 'embed/XyoEmbedPlugin',
|
|
13
|
+
...xyoEmbedStoryBase,
|
|
14
|
+
title: 'embed/XyoEmbedPlugin/states',
|
|
23
15
|
} as Meta
|
|
24
16
|
|
|
25
|
-
const Template: ComponentStory<typeof XyoEmbedPlugin> = (args) => {
|
|
26
|
-
return (
|
|
27
|
-
<BrowserRouter>
|
|
28
|
-
<XyoEmbedPlugin {...args} />
|
|
29
|
-
</BrowserRouter>
|
|
30
|
-
)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
17
|
const testPlugin = createPayloadRenderPlugin({
|
|
34
18
|
canRender: () => true,
|
|
35
19
|
name: 'Test Plugin',
|
|
@@ -40,28 +24,34 @@ const testPlugin1 = createPayloadRenderPlugin({
|
|
|
40
24
|
name: 'Test1 Plugin',
|
|
41
25
|
})
|
|
42
26
|
|
|
27
|
+
const failingPlugin = createPayloadRenderPlugin({
|
|
28
|
+
canRender: () => true,
|
|
29
|
+
components: {
|
|
30
|
+
box: {
|
|
31
|
+
details: () => {
|
|
32
|
+
throw Error('testing Error Boundary')
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
name: 'Failing Plugin',
|
|
37
|
+
})
|
|
38
|
+
|
|
43
39
|
const Default = Template.bind({})
|
|
44
40
|
Default.args = {
|
|
45
41
|
huri: AggregatePricePointer,
|
|
46
42
|
plugins: [testPlugin, testPlugin1],
|
|
47
43
|
}
|
|
48
44
|
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
huriPayload:
|
|
52
|
-
plugins: [CryptoAssetRenderPlugin],
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const UniswapPairsExample = Template.bind({})
|
|
56
|
-
UniswapPairsExample.args = {
|
|
57
|
-
huriPayload: UniswapPairPointer,
|
|
45
|
+
const ApiError = Template.bind({})
|
|
46
|
+
ApiError.args = {
|
|
47
|
+
huriPayload: 'https://api.archivist.xyo.network/9663b2f80395a9e7e95948fdd5988b778a4dcc047202bf67e855ff6cd459b8c',
|
|
58
48
|
plugins: [UniswapPairsRenderPlugin],
|
|
59
49
|
}
|
|
60
50
|
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
huriPayload:
|
|
64
|
-
plugins: [
|
|
51
|
+
const ThrownError = Template.bind({})
|
|
52
|
+
ThrownError.args = {
|
|
53
|
+
huriPayload: AggregatePricePointer,
|
|
54
|
+
plugins: [failingPlugin],
|
|
65
55
|
}
|
|
66
56
|
|
|
67
57
|
const HiddenElements = Template.bind({})
|
|
@@ -98,4 +88,4 @@ WithOnRefresh.args = {
|
|
|
98
88
|
plugins: [CryptoAssetRenderPlugin],
|
|
99
89
|
}
|
|
100
90
|
|
|
101
|
-
export {
|
|
91
|
+
export { ApiError, Default, HiddenElements, ThrownError, WithOnRefresh, WithPassedPayload, WithSetBusyExternally }
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComponentStory, Meta } from '@storybook/react'
|
|
2
|
+
import { BrowserRouter } from 'react-router-dom'
|
|
3
|
+
|
|
4
|
+
import { XyoEmbedPlugin } from '../XyoEmbedPlugin'
|
|
5
|
+
|
|
6
|
+
export const xyoEmbedStoryBase: Meta = {
|
|
7
|
+
argTypes: {},
|
|
8
|
+
component: XyoEmbedPlugin,
|
|
9
|
+
parameters: {
|
|
10
|
+
docs: {
|
|
11
|
+
page: null,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const Template: ComponentStory<typeof XyoEmbedPlugin> = (args) => {
|
|
17
|
+
return (
|
|
18
|
+
<BrowserRouter>
|
|
19
|
+
<XyoEmbedPlugin {...args} />
|
|
20
|
+
</BrowserRouter>
|
|
21
|
+
)
|
|
22
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ControlWrap.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ControlWrap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,gBAAgB,EAAc,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,UAAU,qBAAsB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAO1E,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ControlWrap.js","sourceRoot":"","sources":["../../../../src/components/controls/ControlWrap.tsx"],"names":[],"mappings":";;;;;AAAA,4CAAyE;AAQlE,MAAM,gBAAgB,GAAkD,CAAC,EAAyC,EAAE,EAAE;QAA7C,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,OAAY,EAAP,KAAK,sBAAvC,mCAAyC,CAAF;IACrH,OAAO,CACL,wBAAC,sBAAW,oBAAK,KAAK,eACpB,uBAAC,qBAAU,kBAAC,EAAE,EAAE,MAAM,gBAAG,SAAS,IAAc,EAC/C,QAAQ,KACG,CACf,CAAA;AACH,CAAC,CAAA;AAPY,QAAA,gBAAgB,oBAO5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ControlWrap.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ControlWrap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,gBAAgB,EAAc,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,UAAU,qBAAsB,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAO1E,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ControlWrap.js","sourceRoot":"","sources":["../../../../src/components/controls/ControlWrap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAoB,UAAU,EAAE,MAAM,eAAe,CAAA;AAQzE,MAAM,CAAC,MAAM,gBAAgB,GAAkD,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC3H,OAAO,CACL,MAAC,WAAW,OAAK,KAAK,aACpB,KAAC,UAAU,IAAC,EAAE,EAAE,MAAM,YAAG,SAAS,GAAc,EAC/C,QAAQ,IACG,CACf,CAAA;AACH,CAAC,CAAA"}
|