@xyo-network/react-embed 2.78.0 → 2.78.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.
- package/dist/browser/index.cjs +513 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +493 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/index.cjs +513 -1
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.js +493 -1
- package/dist/neutral/index.js.map +1 -1
- package/dist/node/index.cjs +535 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +495 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +15 -15
package/dist/node/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/components/embed-card/card/BusyCard.tsx","../../src/components/embed-card/card/EmbedCardHeader.tsx","../../src/contexts/EmbedPluginContext/Context.tsx","../../src/contexts/EmbedPluginContext/Provider.tsx","../../src/contexts/EmbedPluginContext/use.tsx","../../src/contexts/RefreshPayloadContext/Provider.tsx","../../src/contexts/RefreshPayloadContext/Context.tsx","../../src/contexts/RefreshPayloadContext/use.tsx","../../src/contexts/ResolvePayloadContext/Context.ts","../../src/contexts/ResolvePayloadContext/Provider.tsx","../../src/contexts/ResolvePayloadContext/use.tsx","../../src/contexts/ValidatePayloadContext/Provider.tsx","../../src/contexts/ValidatePayloadContext/Context.ts","../../src/contexts/ValidatePayloadContext/use.tsx","../../src/components/embed-card/menu/EmbedMenu.tsx","../../src/components/embed-card/menu/JsonMenuItem.tsx","../../src/components/embed-card/card/EmbedPluginCard.tsx","../../src/components/controls/EmbedFormControl.tsx","../../src/components/controls/ListModeSelect.tsx","../../src/components/controls/RenderSelect.tsx","../../src/components/embed-card/EmbedPluginCard.tsx","../../src/components/EmbedPlugin.tsx","../../src/components/EmbedResolver.tsx","../../src/components/validation-alerts/ValidatePayload.tsx","../../src/components/validation-alerts/ValidatePlugins.tsx","../../src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx","../../src/components/embed-card/error-handling/EmbedErrorCard.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { useBusyTiming } from '@xylabs/react-flexbox'\nimport {\n BusyCircularProgress,\n BusyCircularProgressProps,\n BusyLinearProgress,\n BusyLinearProgressProps,\n BusyVariant,\n WithChildren,\n} from '@xylabs/react-shared'\n\nexport interface BusyCardProps extends CardProps {\n busy?: boolean\n busyMinimum?: number\n busyVariant?: BusyVariant\n busyVariantProps?: BusyCircularProgressProps | BusyLinearProgressProps\n}\n\nexport const BusyCard: React.FC<WithChildren<BusyCardProps>> = ({\n busy,\n busyMinimum = 500,\n busyVariant = 'circular',\n busyVariantProps,\n children,\n ...props\n}) => {\n const internalBusy = useBusyTiming(busy, busyMinimum)\n return (\n <Card {...props}>\n {children}\n {busyVariant === 'circular' && internalBusy ?\n <BusyCircularProgress {...(busyVariantProps as BusyCircularProgressProps)} />\n : null}\n {busyVariant === 'linear' && internalBusy ?\n <BusyLinearProgress {...(busyVariantProps as BusyLinearProgressProps)} />\n : null}\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { Avatar, CardHeader, CardHeaderProps, Chip, Theme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../../contexts'\nimport { EmbedMenu } from '../menu'\n\nexport const EmbedCardHeader: React.FC<CardHeaderProps> = () => {\n const { refreshHuri, huri } = useResolvePayload()\n const { activePlugin, timestampLabel, hideElementsConfig } = useEmbedPluginState()\n const { hideAvatar, hideTitle, hideRefreshButton, hideTimestamp, hideCardActions } = hideElementsConfig ?? {}\n //this is temporary so that we can add the ability to get a timestamp via diviner later\n const timestamp = Date.now()\n return (\n <CardHeader\n sx={{ flexWrap: 'wrap', rowGap: 1 }}\n avatar={\n hideAvatar ?\n <></>\n : <Avatar sx={{ bgcolor: (theme: Theme) => theme.palette.primary.main }} aria-label={activePlugin?.name}>\n {activePlugin?.name?.charAt(0)}\n </Avatar>\n }\n action={\n <FlexRow flexWrap=\"wrap\" columnGap={0.5}>\n {timestamp ?\n hideTimestamp && hideRefreshButton ?\n ''\n : <Chip\n avatar={hideRefreshButton ? <></> : <RefreshIcon />}\n clickable={hideRefreshButton ? false : true}\n onClick={refreshHuri}\n label={hideTimestamp ? '' : `${timestampLabel} ${new Date(timestamp).toLocaleString()}`}\n />\n\n : null}\n {/* Huri case is valid as long as the only menu item is JSON */}\n {hideCardActions || huri === undefined ? null : <EmbedMenu />}\n </FlexRow>\n }\n title={hideTitle ? '' : activePlugin?.name}\n />\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginState } from './State'\n\nexport const EmbedPluginContext = createContextEx<EmbedPluginState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { useEffect, useState } from 'react'\n\nimport { EmbedPluginContext } from './Context'\nimport { EmbedPluginBase } from './State'\n\nexport type EmbedPluginProviderProps = EmbedPluginBase\n\n/** Expose passed embed plugin props via context */\nexport const EmbedPluginProvider: React.FC<WithChildren<EmbedPluginProviderProps>> = ({\n children,\n refreshTitle,\n timestampLabel,\n hideElementsConfig,\n plugins,\n embedPluginConfig,\n}) => {\n const [activePlugin, setActivePlugin] = useState<PayloadRenderPlugin | undefined>(plugins ? plugins[0] : undefined)\n\n useEffect(() => {\n setActivePlugin(plugins ? plugins[0] : undefined)\n }, [plugins])\n\n return (\n <EmbedPluginContext.Provider\n value={{\n activePlugin,\n embedPluginConfig,\n hideElementsConfig,\n provided: true,\n refreshTitle,\n setActivePlugin,\n timestampLabel,\n }}\n >\n {children}\n </EmbedPluginContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginContext } from './Context'\n\nexport const useEmbedPluginState = () => useContextEx(EmbedPluginContext, 'EmbedPlugin', true)\n","import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { RefreshPayloadContext } from './Context'\n\nexport interface RefreshPayloadProps {\n onRefresh?: () => void\n refreshPayload?: boolean\n}\n\nexport const RefreshPayloadProvider: React.FC<WithChildren<RefreshPayloadProps>> = ({ children, onRefresh, refreshPayload }) => {\n const [localRefreshPayload, setRefreshPayload] = useState(refreshPayload)\n\n return (\n <RefreshPayloadContext.Provider value={{ onRefresh, provided: true, refreshPayload: localRefreshPayload, setRefreshPayload }}>\n {children}\n </RefreshPayloadContext.Provider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { RefreshPayloadState } from './State'\n\nexport const RefreshPayloadContext = createContextEx<RefreshPayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { RefreshPayloadContext } from './Context'\n\nexport const useRefreshPayload = () => useContextEx(RefreshPayloadContext, 'RefreshPayload', true)\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { ResolvePayloadState } from './State'\n\nexport const ResolvePayloadContext = createContextEx<ResolvePayloadState>()\n","import { delay } from '@xylabs/delay'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { Huri } from '@xyo-network/huri'\nimport { ModuleError, ModuleErrorSchema, Payload } from '@xyo-network/payload-model'\nimport { useEffect, useState } from 'react'\n\nimport { useRefreshPayload } from '../RefreshPayloadContext'\nimport { ResolvePayloadContext } from './Context'\nimport { ResolvePayloadState } from './State'\n\nexport type ResolvePayloadProviderProps = Omit<ResolvePayloadState, 'provided'>\n\nexport const ResolvePayloadProvider: React.FC<WithChildren<ResolvePayloadProviderProps>> = ({ children, huriPayload }) => {\n const [payload, setPayload] = useState<Payload>()\n const [huri, setHuri] = useState<string>()\n const { refreshPayload, setRefreshPayload, onRefresh } = useRefreshPayload()\n\n useEffect(() => {\n typeof huriPayload === 'string' ? setHuri(huriPayload) : undefined\n if (typeof huriPayload === 'object') {\n setPayload(huriPayload)\n setRefreshPayload?.(true)\n }\n }, [huriPayload, setRefreshPayload])\n\n const [notFound, setNotFound] = useState<boolean>()\n const [huriError, setHuriError] = useState<ModuleError>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (huri && !refreshPayload) {\n try {\n const huriInstance = new Huri(huri)\n const result = await huriInstance.fetch()\n // ensure the busy state can stay for a moment to avoid flashing too quickly\n await delay(500)\n\n if (mounted()) {\n setNotFound(result === null)\n setPayload(result)\n setRefreshPayload?.(true)\n }\n } catch (e) {\n const error = e as Error\n setHuriError({ message: error.message, schema: ModuleErrorSchema, sources: [] })\n }\n }\n },\n [huri, payload, refreshPayload, setRefreshPayload],\n )\n\n const refreshHuri = () => {\n onRefresh?.()\n if (huri) {\n setRefreshPayload?.(false)\n }\n }\n\n return (\n <ResolvePayloadContext.Provider value={{ huri, huriError, notFound, payload, provided: true, refreshHuri, setPayload }}>\n {children}\n </ResolvePayloadContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ResolvePayloadContext } from './Context'\n\nexport const useResolvePayload = () => useContextEx(ResolvePayloadContext, 'ResolvePayload', true)\n","import { Chip } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { SchemaCache, SchemaNameToValidatorMap } from '@xyo-network/schema-cache'\nimport { useState } from 'react'\n\nimport { useResolvePayload } from '../ResolvePayloadContext'\nimport { ValidatePayloadContext } from './Context'\n\nexport interface ValidatePayloadProviderProps {\n // Opt-in flag to validate payloads for the plugin(s)\n enabled?: boolean\n}\n\nexport const ValidatePayloadProvider: React.FC<WithChildren<ValidatePayloadProviderProps>> = ({ children, enabled = false }) => {\n const { payload } = useResolvePayload()\n const [initialized, setInitialized] = useState(false)\n const [valid, setValid] = useState<boolean>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (payload && enabled) {\n await SchemaCache.instance.get(payload.schema)\n\n const possibleKnownSchema = payload.schema as keyof SchemaNameToValidatorMap\n\n if (SchemaCache.instance.validators[possibleKnownSchema]) {\n const validator = SchemaCache.instance.validators[possibleKnownSchema]\n setValid(validator?.(payload))\n }\n setInitialized(true)\n }\n },\n [payload, enabled],\n )\n\n return (\n <ValidatePayloadContext.Provider value={{ enabled, provided: true, schema: payload?.schema, validPayload: valid }}>\n {enabled ?\n <>{initialized ? children : <Chip label=\"Validating Payload...\" />}</>\n : children}\n </ValidatePayloadContext.Provider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { ValidatePayloadState } from './State'\n\nexport const ValidatePayloadContext = createContextEx<ValidatePayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ValidatePayloadContext } from './Context'\n\nexport const useValidatePayload = () => useContextEx(ValidatePayloadContext, 'ValidateSchema', true)\n","import { MoreVert as MoreVertIcon } from '@mui/icons-material'\nimport { IconButton, IconButtonProps, Menu } from '@mui/material'\nimport { useState } from 'react'\n\nimport { JsonMenuItem } from './JsonMenuItem'\n\nexport const EmbedMenu: React.FC<IconButtonProps> = (props) => {\n // TODO - link to explore website\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return (\n <>\n <IconButton onClick={handleClick} {...props}>\n <MoreVertIcon />\n </IconButton>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose} PaperProps={{ variant: 'elevation' }} MenuListProps={{ dense: true }}>\n <JsonMenuItem />\n </Menu>\n </>\n )\n}\n","import { OpenInNew as OpenInNewIcon } from '@mui/icons-material'\nimport { ListItemIcon, ListItemText, MenuItem, MenuItemProps } from '@mui/material'\n\nimport { useResolvePayload } from '../../../contexts'\n\nexport const JsonMenuItem: React.FC<MenuItemProps> = (props) => {\n const { huri } = useResolvePayload()\n\n return (\n <>\n {huri ?\n <MenuItem title=\"Source Payload JSON\" onClick={() => window.open(huri, '_blank')} {...props}>\n <ListItemText sx={{ mr: 1 }}>JSON</ListItemText>\n <ListItemIcon sx={{ justifyContent: 'end' }}>\n <OpenInNewIcon fontSize=\"small\" />\n </ListItemIcon>\n </MenuItem>\n : null}\n </>\n )\n}\n","import { CardContent } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { useListMode } from '@xyo-network/react-shared'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../../contexts'\nimport { EmbedRenderSelect, ListModeSelectFormControl } from '../../controls'\nimport { BusyCard, BusyCardProps } from './BusyCard'\nimport { EmbedCardHeader } from './EmbedCardHeader'\n\nexport const EmbedPluginCard: React.FC<BusyCardProps> = ({ ...props }) => {\n const { payload } = useResolvePayload()\n const { activePlugin: ActivePlugin, plugins, hideElementsConfig } = useEmbedPluginState()\n const { listMode } = useListMode()\n const supportsListMode = ActivePlugin?.components?.box?.listModes?.length ?? 0 > 1\n\n return (\n <BusyCard {...props}>\n {hideElementsConfig?.hideCardHeader ? null : <EmbedCardHeader />}\n {/* Only show the row if the children are present */}\n {(plugins && plugins.length > 0) || supportsListMode ?\n <FlexGrowRow columnGap={2} rowGap={2} flexWrap=\"wrap\" pb={1}>\n {plugins && plugins.length > 1 ?\n <EmbedRenderSelect />\n : null}\n {supportsListMode ?\n <ListModeSelectFormControl />\n : null}\n </FlexGrowRow>\n : null}\n <CardContent sx={{ height: '100%' }}>\n {ActivePlugin ?\n <ActivePlugin.components.box.detailsBox payload={payload} {...(supportsListMode && { listMode })} />\n : null}\n </CardContent>\n </BusyCard>\n )\n}\n","import { FormControl, FormControlProps, InputLabel } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\ninterface EmbedFormControlProps extends FormControlProps {\n formId?: string\n formLabel?: string\n}\n\nexport const EmbedFormControl: React.FC<WithChildren<EmbedFormControlProps>> = ({ formId, formLabel, children, ...props }) => {\n return (\n <FormControl {...props}>\n <InputLabel id={formId}>{formLabel}</InputLabel>\n {children}\n </FormControl>\n )\n}\n","import { MenuItem } from '@mui/material'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\nimport { ListMode, useListMode } from '@xyo-network/react-shared'\n\nimport { EmbedFormControl } from './EmbedFormControl'\n\nconst listModeSelectId = 'listmode-select-id'\nconst listModeSelectLabel = 'List Mode'\n\nexport const ListModeSelect: React.FC<SelectExProps<ListMode>> = (props) => {\n const { listMode, setListMode } = useListMode()\n\n return (\n <SelectEx<ListMode>\n value={(listMode ?? 'default') as ListMode}\n onChange={(event) => {\n setListMode?.(event.target.value as ListMode)\n }}\n {...props}\n >\n <MenuItem key=\"default\" value=\"default\">\n Default\n </MenuItem>\n <MenuItem key=\"table\" value=\"table\">\n Table\n </MenuItem>\n <MenuItem key=\"grid\" value=\"grid\">\n Grid\n </MenuItem>\n </SelectEx>\n )\n}\n\nexport const ListModeSelectFormControl: React.FC<SelectExProps<ListMode>> = (props) => {\n return (\n <EmbedFormControl formId={listModeSelectId} formLabel={listModeSelectLabel}>\n <ListModeSelect size=\"small\" label={listModeSelectLabel} labelId={listModeSelectId} {...props} />\n </EmbedFormControl>\n )\n}\n","import { MenuItem } from '@mui/material'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\n\nimport { useEmbedPluginState } from '../../contexts'\nimport { EmbedFormControl } from './EmbedFormControl'\n\nconst renderSelectId = 'render-select-id'\nconst renderSelectLabel = 'Renderer'\n\nexport const EmbedRenderSelect: React.FC<SelectExProps<string>> = (props) => {\n const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState()\n return (\n <EmbedFormControl formId={renderSelectId} formLabel={renderSelectLabel}>\n <SelectEx size=\"small\" value={activePlugin?.name} {...props}>\n {plugins?.map((plugin) => (\n <MenuItem value={plugin.name} key={plugin.name} onClick={() => setActivePlugin?.(plugin)}>\n {plugin.name}\n </MenuItem>\n ))}\n </SelectEx>\n </EmbedFormControl>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { useRefreshPayload, useResolvePayload } from '../../contexts'\nimport { EmbedPluginProps } from '../../types'\nimport { EmbedPluginInner } from '../EmbedPlugin'\nimport { BusyCardProps, EmbedPluginCard } from './card'\nimport { EmbedCardApiErrorRenderer } from './error-handling'\n\nexport interface EmbedPluginCardProps extends WithChildren, EmbedPluginProps, BusyCardProps {}\n\nexport const ApiEmbedPluginCard: React.FC<EmbedPluginCardProps> = ({ children, ...props }) => {\n const {\n validateSchema,\n plugins = [],\n huriPayload,\n refreshTitle = '',\n timestampLabel = 'Data From',\n hideElementsConfig,\n embedPluginConfig,\n onRefresh,\n ...busyCardProps\n } = props\n\n return (\n <EmbedPluginInner\n {...{\n embedPluginConfig,\n hideElementsConfig,\n huriPayload,\n onRefresh,\n plugins,\n refreshTitle,\n timestampLabel,\n validateSchema,\n }}\n >\n <EmbedPluginCardInner {...busyCardProps} />\n {children}\n </EmbedPluginInner>\n )\n}\n\nexport const EmbedPluginCardInner: React.FC<BusyCardProps> = (props) => {\n const { payload, huriError } = useResolvePayload()\n const { refreshPayload } = useRefreshPayload()\n const theme = useTheme()\n\n return (\n <EmbedCardApiErrorRenderer xyoError={huriError}>\n <EmbedPluginCard\n elevation={3}\n variant=\"elevation\"\n busy={Boolean(!refreshPayload && payload)}\n busyVariantProps={{ style: { alignItems: 'start', paddingTop: theme.spacing(2), zIndex: 2 } }}\n sx={{ position: 'relative' }}\n {...props}\n />\n </EmbedCardApiErrorRenderer>\n )\n}\n\n/** @deprecated - use EmbedPluginCard and use CardProps instead of FlexBoxProps */\n\nexport { EmbedPluginCard as EmbedPlugin } from './card'\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ErrorBoundary, ListModeProvider } from '@xyo-network/react-shared'\n\nimport { EmbedPluginProvider, RefreshPayloadProvider, ResolvePayloadProvider, ValidatePayloadProvider } from '../contexts'\nimport { EmbedPluginProps } from '../types'\nimport { EmbedResolver } from './EmbedResolver'\nimport { ValidatePayloadAlert, ValidatePluginsAlert } from './validation-alerts'\n\nexport const EmbedPluginInner: React.FC<WithChildren<EmbedPluginProps>> = ({\n validateSchema,\n plugins = [],\n huriPayload,\n refreshTitle = '',\n timestampLabel = 'Data From',\n hideElementsConfig,\n embedPluginConfig,\n onRefresh,\n children,\n}) => {\n return (\n <ErrorBoundary>\n <EmbedPluginProvider\n refreshTitle={refreshTitle}\n timestampLabel={timestampLabel}\n hideElementsConfig={hideElementsConfig}\n plugins={plugins}\n embedPluginConfig={embedPluginConfig}\n >\n <WithResolvers onRefresh={onRefresh} huriPayload={huriPayload}>\n <WithValidators validateSchema={validateSchema}>\n <ListModeProvider defaultListMode={embedPluginConfig?.listMode}>{children}</ListModeProvider>\n </WithValidators>\n </WithResolvers>\n </EmbedPluginProvider>\n </ErrorBoundary>\n )\n}\n\ninterface WithResolversProps extends Pick<EmbedPluginProps, 'onRefresh' | 'huriPayload'>, FlexBoxProps {}\n\nconst WithResolvers: React.FC<WithChildren<WithResolversProps>> = ({ children, onRefresh, huriPayload }) => {\n return (\n <RefreshPayloadProvider onRefresh={onRefresh}>\n <ResolvePayloadProvider huriPayload={huriPayload}>\n <EmbedResolver>{children}</EmbedResolver>\n </ResolvePayloadProvider>\n </RefreshPayloadProvider>\n )\n}\n\nconst WithValidators: React.FC<WithChildren<{ validateSchema?: boolean }>> = ({ children, validateSchema }) => {\n return (\n <ValidatePayloadProvider enabled={validateSchema}>\n <ValidatePluginsAlert>\n <ValidatePayloadAlert>{children}</ValidatePayloadAlert>\n </ValidatePluginsAlert>\n </ValidatePayloadProvider>\n )\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { LoadResult } from '@xyo-network/react-shared'\n\nimport { useResolvePayload } from '../contexts'\n\nexport const EmbedResolver: React.FC<WithChildren> = ({ children }) => {\n const { payload, notFound, huriError } = useResolvePayload()\n\n return (\n <LoadResult searchResult={payload} notFound={!!notFound} error={!!huriError}>\n {children}\n </LoadResult>\n )\n}\n","import { Alert, AlertProps } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { useValidatePayload } from '../../contexts'\n\nexport const ValidatePayloadAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {\n const { validPayload, enabled, schema } = useValidatePayload()\n\n if (enabled && validPayload === false) {\n return (\n <Alert severity=\"error\" title=\"Invalid Payload!\" {...props}>\n Payload schema claimed to be {schema} but failed to validate.\n </Alert>\n )\n }\n\n return <>{children}</>\n}\n","import { Alert, AlertProps, AlertTitle } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../contexts'\n\nexport const ValidatePluginsAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {\n const { payload } = useResolvePayload()\n const { plugins } = useEmbedPluginState()\n\n if (payload && plugins?.length === 0) {\n return (\n <Alert severity=\"warning\" {...props}>\n <AlertTitle>Missing plugins!</AlertTitle>Payload found but no plugins were present.\n </Alert>\n )\n }\n\n return <>{children}</>\n}\n","import { CardProps } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ModuleError } from '@xyo-network/payload-model'\nimport { ErrorAlert, ErrorRender } from '@xyo-network/react-error'\n\nimport { EmbedErrorCard } from './EmbedErrorCard'\n\ninterface EmbedCardApiErrorRendererProps extends CardProps {\n xyoError?: ModuleError\n}\n\nexport const EmbedCardApiErrorRenderer: React.FC<WithChildren<EmbedCardApiErrorRendererProps>> = ({ xyoError, children, ...props }) => {\n return (\n <ErrorRender error={xyoError} noReAuth noErrorDisplay customError={<CustomApiErrorCard xyoError={xyoError} {...props} />}>\n {children}\n </ErrorRender>\n )\n}\n\nconst CustomApiErrorCard: React.FC<EmbedCardApiErrorRendererProps> = ({ xyoError, ...props }) => {\n return (\n <EmbedErrorCard {...props}>\n <ErrorAlert error={xyoError} />\n </EmbedErrorCard>\n )\n}\n","import { Alert, AlertProps, AlertTitle, Card, CardContent, CardProps, Typography } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\ninterface EmbedErrorCardBaseProps {\n alertProps?: AlertProps\n error?: Error\n hideErrorDetails?: boolean\n}\n\ninterface EmbedErrorCardProps extends EmbedErrorCardBaseProps, CardProps {\n alertProps?: AlertProps\n error?: Error\n}\n\nexport const EmbedErrorCard: React.FC<WithChildren<EmbedErrorCardProps>> = (props) => {\n const { alertProps, error, hideErrorDetails = true, children, ...cardProps } = props\n const errorProps = { alertProps, error, hideErrorDetails }\n return (\n <Card {...cardProps}>\n <CardContent>{children ?? <DefaultErrorAlert {...errorProps} />}</CardContent>\n </Card>\n )\n}\n\nconst DefaultErrorAlert: React.FC<EmbedErrorCardBaseProps> = ({ alertProps, hideErrorDetails, error }) => {\n return (\n <Alert severity=\"error\" {...alertProps}>\n <AlertTitle>Whoops! Something went wrong</AlertTitle>\n {!hideErrorDetails && error ?\n <>\n <Typography variant=\"caption\">Error: </Typography>\n <Typography variant=\"caption\">{error?.message}</Typography>\n </>\n : <Typography variant=\"caption\" fontSize=\"small\">\n Error Loading Plugin\n </Typography>\n }\n </Alert>\n )\n}\n"],"mappings":"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","names":["Card","useBusyTiming","BusyCircularProgress","BusyLinearProgress","jsx","jsxs","BusyCard","busy","busyMinimum","busyVariant","busyVariantProps","children","props","internalBusy","RefreshIcon","Avatar","CardHeader","Chip","FlexRow","createContextEx","EmbedPluginContext","useEffect","useState","jsx","EmbedPluginProvider","children","refreshTitle","timestampLabel","hideElementsConfig","plugins","embedPluginConfig","activePlugin","setActivePlugin","useState","useEffect","EmbedPluginContext","useContextEx","useEmbedPluginState","useContextEx","EmbedPluginContext","useState","createContextEx","RefreshPayloadContext","jsx","RefreshPayloadProvider","children","onRefresh","refreshPayload","localRefreshPayload","setRefreshPayload","useState","RefreshPayloadContext","useContextEx","useRefreshPayload","useContextEx","RefreshPayloadContext","createContextEx","ResolvePayloadContext","delay","useAsyncEffect","Huri","ModuleErrorSchema","useEffect","useState","jsx","ResolvePayloadProvider","children","huriPayload","payload","setPayload","useState","huri","setHuri","refreshPayload","setRefreshPayload","onRefresh","useRefreshPayload","useEffect","notFound","setNotFound","huriError","setHuriError","useAsyncEffect","mounted","result","Huri","delay","e","ModuleErrorSchema","refreshHuri","ResolvePayloadContext","useContextEx","useResolvePayload","useContextEx","ResolvePayloadContext","Chip","useAsyncEffect","SchemaCache","useState","createContextEx","ValidatePayloadContext","Fragment","jsx","ValidatePayloadProvider","children","enabled","payload","useResolvePayload","initialized","setInitialized","useState","valid","setValid","useAsyncEffect","SchemaCache","possibleKnownSchema","validator","ValidatePayloadContext","Chip","useContextEx","useValidatePayload","useContextEx","ValidatePayloadContext","MoreVertIcon","IconButton","Menu","useState","OpenInNewIcon","ListItemIcon","ListItemText","MenuItem","Fragment","jsx","jsxs","JsonMenuItem","props","huri","useResolvePayload","MenuItem","ListItemText","ListItemIcon","OpenInNewIcon","Fragment","jsx","jsxs","EmbedMenu","props","anchorEl","setAnchorEl","useState","open","handleClick","event","handleClose","IconButton","MoreVertIcon","Menu","JsonMenuItem","Fragment","jsx","jsxs","EmbedCardHeader","_a","refreshHuri","huri","useResolvePayload","activePlugin","timestampLabel","hideElementsConfig","useEmbedPluginState","hideAvatar","hideTitle","hideRefreshButton","hideTimestamp","hideCardActions","timestamp","CardHeader","Avatar","theme","FlexRow","Chip","RefreshIcon","EmbedMenu","CardContent","FlexGrowRow","useListMode","FormControl","InputLabel","jsx","jsxs","EmbedFormControl","formId","formLabel","children","props","MenuItem","SelectEx","useListMode","jsx","jsxs","listModeSelectId","listModeSelectLabel","ListModeSelect","props","listMode","setListMode","useListMode","SelectEx","event","MenuItem","ListModeSelectFormControl","EmbedFormControl","MenuItem","SelectEx","jsx","renderSelectId","renderSelectLabel","EmbedRenderSelect","props","activePlugin","setActivePlugin","plugins","useEmbedPluginState","EmbedFormControl","SelectEx","plugin","MenuItem","jsx","jsxs","EmbedPluginCard","props","_a","_b","_c","payload","useResolvePayload","ActivePlugin","plugins","hideElementsConfig","useEmbedPluginState","listMode","useListMode","supportsListMode","BusyCard","EmbedCardHeader","FlexGrowRow","EmbedRenderSelect","ListModeSelectFormControl","CardContent","useTheme","ErrorBoundary","ListModeProvider","LoadResult","jsx","EmbedResolver","children","payload","notFound","huriError","useResolvePayload","LoadResult","Alert","Fragment","jsx","jsxs","ValidatePayloadAlert","children","props","validPayload","enabled","schema","useValidatePayload","Alert","Alert","AlertTitle","Fragment","jsx","jsxs","ValidatePluginsAlert","children","props","payload","useResolvePayload","plugins","useEmbedPluginState","Alert","AlertTitle","jsx","EmbedPluginInner","validateSchema","plugins","huriPayload","refreshTitle","timestampLabel","hideElementsConfig","embedPluginConfig","onRefresh","children","ErrorBoundary","EmbedPluginProvider","WithResolvers","WithValidators","ListModeProvider","RefreshPayloadProvider","ResolvePayloadProvider","EmbedResolver","ValidatePayloadProvider","ValidatePluginsAlert","ValidatePayloadAlert","ErrorAlert","ErrorRender","Alert","AlertTitle","Card","CardContent","Typography","Fragment","jsx","jsxs","EmbedErrorCard","props","alertProps","error","hideErrorDetails","children","cardProps","DefaultErrorAlert","jsx","EmbedCardApiErrorRenderer","xyoError","children","props","ErrorRender","CustomApiErrorCard","EmbedErrorCard","ErrorAlert","jsx","jsxs","ApiEmbedPluginCard","children","props","validateSchema","plugins","huriPayload","refreshTitle","timestampLabel","hideElementsConfig","embedPluginConfig","onRefresh","busyCardProps","EmbedPluginInner","EmbedPluginCardInner","payload","huriError","useResolvePayload","refreshPayload","useRefreshPayload","theme","useTheme","EmbedCardApiErrorRenderer","EmbedPluginCard"]}
|
1
|
+
{"version":3,"sources":["../../src/components/embed-card/card/BusyCard.tsx","../../src/components/embed-card/card/EmbedCardHeader.tsx","../../src/contexts/EmbedPluginContext/Context.tsx","../../src/contexts/EmbedPluginContext/Provider.tsx","../../src/contexts/EmbedPluginContext/use.tsx","../../src/contexts/RefreshPayloadContext/Provider.tsx","../../src/contexts/RefreshPayloadContext/Context.tsx","../../src/contexts/RefreshPayloadContext/use.tsx","../../src/contexts/ResolvePayloadContext/Context.ts","../../src/contexts/ResolvePayloadContext/Provider.tsx","../../src/contexts/ResolvePayloadContext/use.tsx","../../src/contexts/ValidatePayloadContext/Provider.tsx","../../src/contexts/ValidatePayloadContext/Context.ts","../../src/contexts/ValidatePayloadContext/use.tsx","../../src/components/embed-card/menu/EmbedMenu.tsx","../../src/components/embed-card/menu/JsonMenuItem.tsx","../../src/components/embed-card/card/EmbedPluginCard.tsx","../../src/components/controls/EmbedFormControl.tsx","../../src/components/controls/ListModeSelect.tsx","../../src/components/controls/RenderSelect.tsx","../../src/components/embed-card/EmbedPluginCard.tsx","../../src/components/EmbedPlugin.tsx","../../src/components/EmbedResolver.tsx","../../src/components/validation-alerts/ValidatePayload.tsx","../../src/components/validation-alerts/ValidatePlugins.tsx","../../src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx","../../src/components/embed-card/error-handling/EmbedErrorCard.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { useBusyTiming } from '@xylabs/react-flexbox'\nimport {\n BusyCircularProgress,\n BusyCircularProgressProps,\n BusyLinearProgress,\n BusyLinearProgressProps,\n BusyVariant,\n WithChildren,\n} from '@xylabs/react-shared'\n\nexport interface BusyCardProps extends CardProps {\n busy?: boolean\n busyMinimum?: number\n busyVariant?: BusyVariant\n busyVariantProps?: BusyCircularProgressProps | BusyLinearProgressProps\n}\n\nexport const BusyCard: React.FC<WithChildren<BusyCardProps>> = ({\n busy,\n busyMinimum = 500,\n busyVariant = 'circular',\n busyVariantProps,\n children,\n ...props\n}) => {\n const internalBusy = useBusyTiming(busy, busyMinimum)\n return (\n <Card {...props}>\n {children}\n {busyVariant === 'circular' && internalBusy ?\n <BusyCircularProgress {...(busyVariantProps as BusyCircularProgressProps)} />\n : null}\n {busyVariant === 'linear' && internalBusy ?\n <BusyLinearProgress {...(busyVariantProps as BusyLinearProgressProps)} />\n : null}\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { Avatar, CardHeader, CardHeaderProps, Chip, Theme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../../contexts'\nimport { EmbedMenu } from '../menu'\n\nexport const EmbedCardHeader: React.FC<CardHeaderProps> = () => {\n const { refreshHuri, huri } = useResolvePayload()\n const { activePlugin, timestampLabel, hideElementsConfig } = useEmbedPluginState()\n const { hideAvatar, hideTitle, hideRefreshButton, hideTimestamp, hideCardActions } = hideElementsConfig ?? {}\n //this is temporary so that we can add the ability to get a timestamp via diviner later\n const timestamp = Date.now()\n return (\n <CardHeader\n sx={{ flexWrap: 'wrap', rowGap: 1 }}\n avatar={\n hideAvatar ?\n <></>\n : <Avatar sx={{ bgcolor: (theme: Theme) => theme.palette.primary.main }} aria-label={activePlugin?.name}>\n {activePlugin?.name?.charAt(0)}\n </Avatar>\n }\n action={\n <FlexRow flexWrap=\"wrap\" columnGap={0.5}>\n {timestamp ?\n hideTimestamp && hideRefreshButton ?\n ''\n : <Chip\n avatar={hideRefreshButton ? <></> : <RefreshIcon />}\n clickable={hideRefreshButton ? false : true}\n onClick={refreshHuri}\n label={hideTimestamp ? '' : `${timestampLabel} ${new Date(timestamp).toLocaleString()}`}\n />\n\n : null}\n {/* Huri case is valid as long as the only menu item is JSON */}\n {hideCardActions || huri === undefined ? null : <EmbedMenu />}\n </FlexRow>\n }\n title={hideTitle ? '' : activePlugin?.name}\n />\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginState } from './State'\n\nexport const EmbedPluginContext = createContextEx<EmbedPluginState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { useEffect, useState } from 'react'\n\nimport { EmbedPluginContext } from './Context'\nimport { EmbedPluginBase } from './State'\n\nexport type EmbedPluginProviderProps = EmbedPluginBase\n\n/** Expose passed embed plugin props via context */\nexport const EmbedPluginProvider: React.FC<WithChildren<EmbedPluginProviderProps>> = ({\n children,\n refreshTitle,\n timestampLabel,\n hideElementsConfig,\n plugins,\n embedPluginConfig,\n}) => {\n const [activePlugin, setActivePlugin] = useState<PayloadRenderPlugin | undefined>(plugins ? plugins[0] : undefined)\n\n useEffect(() => {\n setActivePlugin(plugins ? plugins[0] : undefined)\n }, [plugins])\n\n return (\n <EmbedPluginContext.Provider\n value={{\n activePlugin,\n embedPluginConfig,\n hideElementsConfig,\n provided: true,\n refreshTitle,\n setActivePlugin,\n timestampLabel,\n }}\n >\n {children}\n </EmbedPluginContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginContext } from './Context'\n\nexport const useEmbedPluginState = () => useContextEx(EmbedPluginContext, 'EmbedPlugin', true)\n","import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { RefreshPayloadContext } from './Context'\n\nexport interface RefreshPayloadProps {\n onRefresh?: () => void\n refreshPayload?: boolean\n}\n\nexport const RefreshPayloadProvider: React.FC<WithChildren<RefreshPayloadProps>> = ({ children, onRefresh, refreshPayload }) => {\n const [localRefreshPayload, setRefreshPayload] = useState(refreshPayload)\n\n return (\n <RefreshPayloadContext.Provider value={{ onRefresh, provided: true, refreshPayload: localRefreshPayload, setRefreshPayload }}>\n {children}\n </RefreshPayloadContext.Provider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { RefreshPayloadState } from './State'\n\nexport const RefreshPayloadContext = createContextEx<RefreshPayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { RefreshPayloadContext } from './Context'\n\nexport const useRefreshPayload = () => useContextEx(RefreshPayloadContext, 'RefreshPayload', true)\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { ResolvePayloadState } from './State'\n\nexport const ResolvePayloadContext = createContextEx<ResolvePayloadState>()\n","import { delay } from '@xylabs/delay'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { Huri } from '@xyo-network/huri'\nimport { ModuleError, ModuleErrorSchema, Payload } from '@xyo-network/payload-model'\nimport { useEffect, useState } from 'react'\n\nimport { useRefreshPayload } from '../RefreshPayloadContext'\nimport { ResolvePayloadContext } from './Context'\nimport { ResolvePayloadState } from './State'\n\nexport type ResolvePayloadProviderProps = Omit<ResolvePayloadState, 'provided'>\n\nexport const ResolvePayloadProvider: React.FC<WithChildren<ResolvePayloadProviderProps>> = ({ children, huriPayload }) => {\n const [payload, setPayload] = useState<Payload>()\n const [huri, setHuri] = useState<string>()\n const { refreshPayload, setRefreshPayload, onRefresh } = useRefreshPayload()\n\n useEffect(() => {\n typeof huriPayload === 'string' ? setHuri(huriPayload) : undefined\n if (typeof huriPayload === 'object') {\n setPayload(huriPayload)\n setRefreshPayload?.(true)\n }\n }, [huriPayload, setRefreshPayload])\n\n const [notFound, setNotFound] = useState<boolean>()\n const [huriError, setHuriError] = useState<ModuleError>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (huri && !refreshPayload) {\n try {\n const huriInstance = new Huri(huri)\n const result = await huriInstance.fetch()\n // ensure the busy state can stay for a moment to avoid flashing too quickly\n await delay(500)\n\n if (mounted()) {\n setNotFound(result === null)\n setPayload(result)\n setRefreshPayload?.(true)\n }\n } catch (e) {\n const error = e as Error\n setHuriError({ message: error.message, schema: ModuleErrorSchema, sources: [] })\n }\n }\n },\n [huri, payload, refreshPayload, setRefreshPayload],\n )\n\n const refreshHuri = () => {\n onRefresh?.()\n if (huri) {\n setRefreshPayload?.(false)\n }\n }\n\n return (\n <ResolvePayloadContext.Provider value={{ huri, huriError, notFound, payload, provided: true, refreshHuri, setPayload }}>\n {children}\n </ResolvePayloadContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ResolvePayloadContext } from './Context'\n\nexport const useResolvePayload = () => useContextEx(ResolvePayloadContext, 'ResolvePayload', true)\n","import { Chip } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { SchemaCache, SchemaNameToValidatorMap } from '@xyo-network/schema-cache'\nimport { useState } from 'react'\n\nimport { useResolvePayload } from '../ResolvePayloadContext'\nimport { ValidatePayloadContext } from './Context'\n\nexport interface ValidatePayloadProviderProps {\n // Opt-in flag to validate payloads for the plugin(s)\n enabled?: boolean\n}\n\nexport const ValidatePayloadProvider: React.FC<WithChildren<ValidatePayloadProviderProps>> = ({ children, enabled = false }) => {\n const { payload } = useResolvePayload()\n const [initialized, setInitialized] = useState(false)\n const [valid, setValid] = useState<boolean>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (payload && enabled) {\n await SchemaCache.instance.get(payload.schema)\n\n const possibleKnownSchema = payload.schema as keyof SchemaNameToValidatorMap\n\n if (SchemaCache.instance.validators[possibleKnownSchema]) {\n const validator = SchemaCache.instance.validators[possibleKnownSchema]\n setValid(validator?.(payload))\n }\n setInitialized(true)\n }\n },\n [payload, enabled],\n )\n\n return (\n <ValidatePayloadContext.Provider value={{ enabled, provided: true, schema: payload?.schema, validPayload: valid }}>\n {enabled ?\n <>{initialized ? children : <Chip label=\"Validating Payload...\" />}</>\n : children}\n </ValidatePayloadContext.Provider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { ValidatePayloadState } from './State'\n\nexport const ValidatePayloadContext = createContextEx<ValidatePayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ValidatePayloadContext } from './Context'\n\nexport const useValidatePayload = () => useContextEx(ValidatePayloadContext, 'ValidateSchema', true)\n","import { MoreVert as MoreVertIcon } from '@mui/icons-material'\nimport { IconButton, IconButtonProps, Menu } from '@mui/material'\nimport { useState } from 'react'\n\nimport { JsonMenuItem } from './JsonMenuItem'\n\nexport const EmbedMenu: React.FC<IconButtonProps> = (props) => {\n // TODO - link to explore website\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return (\n <>\n <IconButton onClick={handleClick} {...props}>\n <MoreVertIcon />\n </IconButton>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose} PaperProps={{ variant: 'elevation' }} MenuListProps={{ dense: true }}>\n <JsonMenuItem />\n </Menu>\n </>\n )\n}\n","import { OpenInNew as OpenInNewIcon } from '@mui/icons-material'\nimport { ListItemIcon, ListItemText, MenuItem, MenuItemProps } from '@mui/material'\n\nimport { useResolvePayload } from '../../../contexts'\n\nexport const JsonMenuItem: React.FC<MenuItemProps> = (props) => {\n const { huri } = useResolvePayload()\n\n return (\n <>\n {huri ?\n <MenuItem title=\"Source Payload JSON\" onClick={() => window.open(huri, '_blank')} {...props}>\n <ListItemText sx={{ mr: 1 }}>JSON</ListItemText>\n <ListItemIcon sx={{ justifyContent: 'end' }}>\n <OpenInNewIcon fontSize=\"small\" />\n </ListItemIcon>\n </MenuItem>\n : null}\n </>\n )\n}\n","import { CardContent } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { useListMode } from '@xyo-network/react-shared'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../../contexts'\nimport { EmbedRenderSelect, ListModeSelectFormControl } from '../../controls'\nimport { BusyCard, BusyCardProps } from './BusyCard'\nimport { EmbedCardHeader } from './EmbedCardHeader'\n\nexport const EmbedPluginCard: React.FC<BusyCardProps> = ({ ...props }) => {\n const { payload } = useResolvePayload()\n const { activePlugin: ActivePlugin, plugins, hideElementsConfig } = useEmbedPluginState()\n const { listMode } = useListMode()\n const supportsListMode = ActivePlugin?.components?.box?.listModes?.length ?? 0 > 1\n\n return (\n <BusyCard {...props}>\n {hideElementsConfig?.hideCardHeader ? null : <EmbedCardHeader />}\n {/* Only show the row if the children are present */}\n {(plugins && plugins.length > 0) || supportsListMode ?\n <FlexGrowRow columnGap={2} rowGap={2} flexWrap=\"wrap\" pb={1}>\n {plugins && plugins.length > 1 ?\n <EmbedRenderSelect />\n : null}\n {supportsListMode ?\n <ListModeSelectFormControl />\n : null}\n </FlexGrowRow>\n : null}\n <CardContent sx={{ height: '100%' }}>\n {ActivePlugin ?\n <ActivePlugin.components.box.detailsBox payload={payload} {...(supportsListMode && { listMode })} />\n : null}\n </CardContent>\n </BusyCard>\n )\n}\n","import { FormControl, FormControlProps, InputLabel } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\ninterface EmbedFormControlProps extends FormControlProps {\n formId?: string\n formLabel?: string\n}\n\nexport const EmbedFormControl: React.FC<WithChildren<EmbedFormControlProps>> = ({ formId, formLabel, children, ...props }) => {\n return (\n <FormControl {...props}>\n <InputLabel id={formId}>{formLabel}</InputLabel>\n {children}\n </FormControl>\n )\n}\n","import { MenuItem } from '@mui/material'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\nimport { ListMode, useListMode } from '@xyo-network/react-shared'\n\nimport { EmbedFormControl } from './EmbedFormControl'\n\nconst listModeSelectId = 'listmode-select-id'\nconst listModeSelectLabel = 'List Mode'\n\nexport const ListModeSelect: React.FC<SelectExProps<ListMode>> = (props) => {\n const { listMode, setListMode } = useListMode()\n\n return (\n <SelectEx<ListMode>\n value={(listMode ?? 'default') as ListMode}\n onChange={(event) => {\n setListMode?.(event.target.value as ListMode)\n }}\n {...props}\n >\n <MenuItem key=\"default\" value=\"default\">\n Default\n </MenuItem>\n <MenuItem key=\"table\" value=\"table\">\n Table\n </MenuItem>\n <MenuItem key=\"grid\" value=\"grid\">\n Grid\n </MenuItem>\n </SelectEx>\n )\n}\n\nexport const ListModeSelectFormControl: React.FC<SelectExProps<ListMode>> = (props) => {\n return (\n <EmbedFormControl formId={listModeSelectId} formLabel={listModeSelectLabel}>\n <ListModeSelect size=\"small\" label={listModeSelectLabel} labelId={listModeSelectId} {...props} />\n </EmbedFormControl>\n )\n}\n","import { MenuItem } from '@mui/material'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\n\nimport { useEmbedPluginState } from '../../contexts'\nimport { EmbedFormControl } from './EmbedFormControl'\n\nconst renderSelectId = 'render-select-id'\nconst renderSelectLabel = 'Renderer'\n\nexport const EmbedRenderSelect: React.FC<SelectExProps<string>> = (props) => {\n const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState()\n return (\n <EmbedFormControl formId={renderSelectId} formLabel={renderSelectLabel}>\n <SelectEx size=\"small\" value={activePlugin?.name} {...props}>\n {plugins?.map((plugin) => (\n <MenuItem value={plugin.name} key={plugin.name} onClick={() => setActivePlugin?.(plugin)}>\n {plugin.name}\n </MenuItem>\n ))}\n </SelectEx>\n </EmbedFormControl>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { useRefreshPayload, useResolvePayload } from '../../contexts'\nimport { EmbedPluginProps } from '../../types'\nimport { EmbedPluginInner } from '../EmbedPlugin'\nimport { BusyCardProps, EmbedPluginCard } from './card'\nimport { EmbedCardApiErrorRenderer } from './error-handling'\n\nexport interface EmbedPluginCardProps extends WithChildren, EmbedPluginProps, BusyCardProps {}\n\nexport const ApiEmbedPluginCard: React.FC<EmbedPluginCardProps> = ({ children, ...props }) => {\n const {\n validateSchema,\n plugins = [],\n huriPayload,\n refreshTitle = '',\n timestampLabel = 'Data From',\n hideElementsConfig,\n embedPluginConfig,\n onRefresh,\n ...busyCardProps\n } = props\n\n return (\n <EmbedPluginInner\n {...{\n embedPluginConfig,\n hideElementsConfig,\n huriPayload,\n onRefresh,\n plugins,\n refreshTitle,\n timestampLabel,\n validateSchema,\n }}\n >\n <EmbedPluginCardInner {...busyCardProps} />\n {children}\n </EmbedPluginInner>\n )\n}\n\nexport const EmbedPluginCardInner: React.FC<BusyCardProps> = (props) => {\n const { payload, huriError } = useResolvePayload()\n const { refreshPayload } = useRefreshPayload()\n const theme = useTheme()\n\n return (\n <EmbedCardApiErrorRenderer xyoError={huriError}>\n <EmbedPluginCard\n elevation={3}\n variant=\"elevation\"\n busy={Boolean(!refreshPayload && payload)}\n busyVariantProps={{ style: { alignItems: 'start', paddingTop: theme.spacing(2), zIndex: 2 } }}\n sx={{ position: 'relative' }}\n {...props}\n />\n </EmbedCardApiErrorRenderer>\n )\n}\n\n/** @deprecated - use EmbedPluginCard and use CardProps instead of FlexBoxProps */\n\nexport { EmbedPluginCard as EmbedPlugin } from './card'\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ErrorBoundary, ListModeProvider } from '@xyo-network/react-shared'\n\nimport { EmbedPluginProvider, RefreshPayloadProvider, ResolvePayloadProvider, ValidatePayloadProvider } from '../contexts'\nimport { EmbedPluginProps } from '../types'\nimport { EmbedResolver } from './EmbedResolver'\nimport { ValidatePayloadAlert, ValidatePluginsAlert } from './validation-alerts'\n\nexport const EmbedPluginInner: React.FC<WithChildren<EmbedPluginProps>> = ({\n validateSchema,\n plugins = [],\n huriPayload,\n refreshTitle = '',\n timestampLabel = 'Data From',\n hideElementsConfig,\n embedPluginConfig,\n onRefresh,\n children,\n}) => {\n return (\n <ErrorBoundary>\n <EmbedPluginProvider\n refreshTitle={refreshTitle}\n timestampLabel={timestampLabel}\n hideElementsConfig={hideElementsConfig}\n plugins={plugins}\n embedPluginConfig={embedPluginConfig}\n >\n <WithResolvers onRefresh={onRefresh} huriPayload={huriPayload}>\n <WithValidators validateSchema={validateSchema}>\n <ListModeProvider defaultListMode={embedPluginConfig?.listMode}>{children}</ListModeProvider>\n </WithValidators>\n </WithResolvers>\n </EmbedPluginProvider>\n </ErrorBoundary>\n )\n}\n\ninterface WithResolversProps extends Pick<EmbedPluginProps, 'onRefresh' | 'huriPayload'>, FlexBoxProps {}\n\nconst WithResolvers: React.FC<WithChildren<WithResolversProps>> = ({ children, onRefresh, huriPayload }) => {\n return (\n <RefreshPayloadProvider onRefresh={onRefresh}>\n <ResolvePayloadProvider huriPayload={huriPayload}>\n <EmbedResolver>{children}</EmbedResolver>\n </ResolvePayloadProvider>\n </RefreshPayloadProvider>\n )\n}\n\nconst WithValidators: React.FC<WithChildren<{ validateSchema?: boolean }>> = ({ children, validateSchema }) => {\n return (\n <ValidatePayloadProvider enabled={validateSchema}>\n <ValidatePluginsAlert>\n <ValidatePayloadAlert>{children}</ValidatePayloadAlert>\n </ValidatePluginsAlert>\n </ValidatePayloadProvider>\n )\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { LoadResult } from '@xyo-network/react-shared'\n\nimport { useResolvePayload } from '../contexts'\n\nexport const EmbedResolver: React.FC<WithChildren> = ({ children }) => {\n const { payload, notFound, huriError } = useResolvePayload()\n\n return (\n <LoadResult searchResult={payload} notFound={!!notFound} error={!!huriError}>\n {children}\n </LoadResult>\n )\n}\n","import { Alert, AlertProps } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { useValidatePayload } from '../../contexts'\n\nexport const ValidatePayloadAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {\n const { validPayload, enabled, schema } = useValidatePayload()\n\n if (enabled && validPayload === false) {\n return (\n <Alert severity=\"error\" title=\"Invalid Payload!\" {...props}>\n Payload schema claimed to be {schema} but failed to validate.\n </Alert>\n )\n }\n\n return <>{children}</>\n}\n","import { Alert, AlertProps, AlertTitle } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../contexts'\n\nexport const ValidatePluginsAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {\n const { payload } = useResolvePayload()\n const { plugins } = useEmbedPluginState()\n\n if (payload && plugins?.length === 0) {\n return (\n <Alert severity=\"warning\" {...props}>\n <AlertTitle>Missing plugins!</AlertTitle>Payload found but no plugins were present.\n </Alert>\n )\n }\n\n return <>{children}</>\n}\n","import { CardProps } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ModuleError } from '@xyo-network/payload-model'\nimport { ErrorAlert, ErrorRender } from '@xyo-network/react-error'\n\nimport { EmbedErrorCard } from './EmbedErrorCard'\n\ninterface EmbedCardApiErrorRendererProps extends CardProps {\n xyoError?: ModuleError\n}\n\nexport const EmbedCardApiErrorRenderer: React.FC<WithChildren<EmbedCardApiErrorRendererProps>> = ({ xyoError, children, ...props }) => {\n return (\n <ErrorRender error={xyoError} noReAuth noErrorDisplay customError={<CustomApiErrorCard xyoError={xyoError} {...props} />}>\n {children}\n </ErrorRender>\n )\n}\n\nconst CustomApiErrorCard: React.FC<EmbedCardApiErrorRendererProps> = ({ xyoError, ...props }) => {\n return (\n <EmbedErrorCard {...props}>\n <ErrorAlert error={xyoError} />\n </EmbedErrorCard>\n )\n}\n","import { Alert, AlertProps, AlertTitle, Card, CardContent, CardProps, Typography } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\ninterface EmbedErrorCardBaseProps {\n alertProps?: AlertProps\n error?: Error\n hideErrorDetails?: boolean\n}\n\ninterface EmbedErrorCardProps extends EmbedErrorCardBaseProps, CardProps {\n alertProps?: AlertProps\n error?: Error\n}\n\nexport const EmbedErrorCard: React.FC<WithChildren<EmbedErrorCardProps>> = (props) => {\n const { alertProps, error, hideErrorDetails = true, children, ...cardProps } = props\n const errorProps = { alertProps, error, hideErrorDetails }\n return (\n <Card {...cardProps}>\n <CardContent>{children ?? <DefaultErrorAlert {...errorProps} />}</CardContent>\n </Card>\n )\n}\n\nconst DefaultErrorAlert: React.FC<EmbedErrorCardBaseProps> = ({ alertProps, hideErrorDetails, error }) => {\n return (\n <Alert severity=\"error\" {...alertProps}>\n <AlertTitle>Whoops! Something went wrong</AlertTitle>\n {!hideErrorDetails && error ?\n <>\n <Typography variant=\"caption\">Error: </Typography>\n <Typography variant=\"caption\">{error?.message}</Typography>\n </>\n : <Typography variant=\"caption\" fontSize=\"small\">\n Error Loading Plugin\n </Typography>\n }\n </Alert>\n )\n}\n"],"mappings":"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","names":["Chip","jsx","useState","createContextEx","jsx","useState","useContextEx","useContextEx","createContextEx","useEffect","useState","jsx","useState","useEffect","useContextEx","useContextEx","useAsyncEffect","useState","createContextEx","jsx","useState","useAsyncEffect","useContextEx","useContextEx","useState","Fragment","jsx","jsxs","Fragment","jsx","jsxs","useState","Fragment","jsx","jsxs","Chip","useListMode","jsx","jsxs","MenuItem","jsx","jsxs","MenuItem","MenuItem","SelectEx","jsx","SelectEx","MenuItem","jsx","jsxs","useListMode","jsx","Fragment","jsx","jsxs","Alert","Fragment","jsx","jsxs","Alert","jsx","Alert","AlertTitle","Card","CardContent","Fragment","jsx","jsxs","jsx","jsx","jsxs"]}
|
package/package.json
CHANGED
@@ -10,29 +10,29 @@
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
11
11
|
},
|
12
12
|
"dependencies": {
|
13
|
-
"@mui/icons-material": "^5.15.
|
14
|
-
"@mui/material": "^5.15.
|
15
|
-
"@mui/styles": "^5.15.
|
16
|
-
"@xylabs/delay": "^3.5.
|
13
|
+
"@mui/icons-material": "^5.15.21",
|
14
|
+
"@mui/material": "^5.15.21",
|
15
|
+
"@mui/styles": "^5.15.21",
|
16
|
+
"@xylabs/delay": "^3.5.2",
|
17
17
|
"@xylabs/react-async-effect": "^3.1.7",
|
18
18
|
"@xylabs/react-flexbox": "^3.1.7",
|
19
19
|
"@xylabs/react-select": "^3.1.7",
|
20
20
|
"@xylabs/react-shared": "^3.1.7",
|
21
|
-
"@xyo-network/huri": "^2.107.
|
22
|
-
"@xyo-network/payload-model": "^2.107.
|
23
|
-
"@xyo-network/react-error": "
|
24
|
-
"@xyo-network/react-payload-plugin": "
|
25
|
-
"@xyo-network/react-shared": "
|
26
|
-
"@xyo-network/schema-cache": "^2.107.
|
21
|
+
"@xyo-network/huri": "^2.107.6",
|
22
|
+
"@xyo-network/payload-model": "^2.107.6",
|
23
|
+
"@xyo-network/react-error": "^2.78.2",
|
24
|
+
"@xyo-network/react-payload-plugin": "^2.78.2",
|
25
|
+
"@xyo-network/react-shared": "^2.78.2",
|
26
|
+
"@xyo-network/schema-cache": "^2.107.6",
|
27
27
|
"react": "^18.3.1",
|
28
28
|
"react-dom": "^18.3.1"
|
29
29
|
},
|
30
30
|
"devDependencies": {
|
31
31
|
"@storybook/react": "^7.6.20",
|
32
|
-
"@xylabs/ts-scripts-yarn3": "^3.11.
|
33
|
-
"@xylabs/tsconfig-react": "^3.11.
|
34
|
-
"@xyo-network/react-aggregate-price-plugin": "
|
35
|
-
"@xyo-network/react-crypto-market-uniswap-plugin": "
|
32
|
+
"@xylabs/ts-scripts-yarn3": "^3.11.12",
|
33
|
+
"@xylabs/tsconfig-react": "^3.11.12",
|
34
|
+
"@xyo-network/react-aggregate-price-plugin": "^2.78.2",
|
35
|
+
"@xyo-network/react-crypto-market-uniswap-plugin": "^2.78.2",
|
36
36
|
"react-router-dom": "^6.24.0",
|
37
37
|
"typescript": "^5.5.2"
|
38
38
|
},
|
@@ -91,6 +91,6 @@
|
|
91
91
|
},
|
92
92
|
"sideEffects": false,
|
93
93
|
"types": "dist/browser/index.d.ts",
|
94
|
-
"version": "2.78.
|
94
|
+
"version": "2.78.2",
|
95
95
|
"type": "module"
|
96
96
|
}
|