@xyo-network/react-embed 2.69.0 → 2.69.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/dist/browser/components/controls/ListModeSelect.d.cts +3 -3
  2. package/dist/browser/components/controls/ListModeSelect.d.cts.map +1 -1
  3. package/dist/browser/components/controls/ListModeSelect.d.mts +3 -3
  4. package/dist/browser/components/controls/ListModeSelect.d.mts.map +1 -1
  5. package/dist/browser/components/controls/ListModeSelect.d.ts +3 -3
  6. package/dist/browser/components/controls/ListModeSelect.d.ts.map +1 -1
  7. package/dist/browser/components/controls/RenderSelect.d.cts +2 -2
  8. package/dist/browser/components/controls/RenderSelect.d.cts.map +1 -1
  9. package/dist/browser/components/controls/RenderSelect.d.mts +2 -2
  10. package/dist/browser/components/controls/RenderSelect.d.mts.map +1 -1
  11. package/dist/browser/components/controls/RenderSelect.d.ts +2 -2
  12. package/dist/browser/components/controls/RenderSelect.d.ts.map +1 -1
  13. package/dist/browser/index.cjs +4 -2
  14. package/dist/browser/index.cjs.map +1 -1
  15. package/dist/browser/index.js +6 -4
  16. package/dist/browser/index.js.map +1 -1
  17. package/dist/node/components/controls/ListModeSelect.d.cts +3 -3
  18. package/dist/node/components/controls/ListModeSelect.d.cts.map +1 -1
  19. package/dist/node/components/controls/ListModeSelect.d.mts +3 -3
  20. package/dist/node/components/controls/ListModeSelect.d.mts.map +1 -1
  21. package/dist/node/components/controls/ListModeSelect.d.ts +3 -3
  22. package/dist/node/components/controls/ListModeSelect.d.ts.map +1 -1
  23. package/dist/node/components/controls/RenderSelect.d.cts +2 -2
  24. package/dist/node/components/controls/RenderSelect.d.cts.map +1 -1
  25. package/dist/node/components/controls/RenderSelect.d.mts +2 -2
  26. package/dist/node/components/controls/RenderSelect.d.mts.map +1 -1
  27. package/dist/node/components/controls/RenderSelect.d.ts +2 -2
  28. package/dist/node/components/controls/RenderSelect.d.ts.map +1 -1
  29. package/dist/node/index.cjs +4 -2
  30. package/dist/node/index.cjs.map +1 -1
  31. package/dist/node/index.js +6 -4
  32. package/dist/node/index.js.map +1 -1
  33. package/package.json +14 -14
  34. package/src/components/controls/ListModeSelect.tsx +6 -5
  35. package/src/components/controls/RenderSelect.tsx +5 -4
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { SelectProps } from '@mui/material';
2
+ import { SelectExProps } from '@xylabs/react-select';
3
3
  import { ListMode } from '@xyo-network/react-shared';
4
- export declare const ListModeSelect: React.FC<SelectProps<ListMode>>;
5
- export declare const ListModeSelectFormControl: React.FC<SelectProps<ListMode>>;
4
+ export declare const ListModeSelect: React.FC<SelectExProps<ListMode>>;
5
+ export declare const ListModeSelectFormControl: React.FC<SelectExProps<ListMode>>;
6
6
  //# sourceMappingURL=ListModeSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ListModeSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAA;AAOjE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAsB1D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAMrE,CAAA"}
1
+ {"version":3,"file":"ListModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ListModeSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAA;AAOjE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAsB5D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAMvE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { SelectProps } from '@mui/material';
2
+ import { SelectExProps } from '@xylabs/react-select';
3
3
  import { ListMode } from '@xyo-network/react-shared';
4
- export declare const ListModeSelect: React.FC<SelectProps<ListMode>>;
5
- export declare const ListModeSelectFormControl: React.FC<SelectProps<ListMode>>;
4
+ export declare const ListModeSelect: React.FC<SelectExProps<ListMode>>;
5
+ export declare const ListModeSelectFormControl: React.FC<SelectExProps<ListMode>>;
6
6
  //# sourceMappingURL=ListModeSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ListModeSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAA;AAOjE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAsB1D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAMrE,CAAA"}
1
+ {"version":3,"file":"ListModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ListModeSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAA;AAOjE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAsB5D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAMvE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { SelectProps } from '@mui/material';
2
+ import { SelectExProps } from '@xylabs/react-select';
3
3
  import { ListMode } from '@xyo-network/react-shared';
4
- export declare const ListModeSelect: React.FC<SelectProps<ListMode>>;
5
- export declare const ListModeSelectFormControl: React.FC<SelectProps<ListMode>>;
4
+ export declare const ListModeSelect: React.FC<SelectExProps<ListMode>>;
5
+ export declare const ListModeSelectFormControl: React.FC<SelectExProps<ListMode>>;
6
6
  //# sourceMappingURL=ListModeSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ListModeSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAA;AAOjE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAsB1D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAMrE,CAAA"}
1
+ {"version":3,"file":"ListModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ListModeSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAA;AAOjE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAsB5D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAMvE,CAAA"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { SelectProps } from '@mui/material';
3
- export declare const EmbedRenderSelect: React.FC<SelectProps>;
2
+ import { SelectExProps } from '@xylabs/react-select';
3
+ export declare const EmbedRenderSelect: React.FC<SelectExProps<string>>;
4
4
  //# sourceMappingURL=RenderSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RenderSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAA;AAQ7D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAanD,CAAA"}
1
+ {"version":3,"file":"RenderSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RenderSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAQ9D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAa7D,CAAA"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { SelectProps } from '@mui/material';
3
- export declare const EmbedRenderSelect: React.FC<SelectProps>;
2
+ import { SelectExProps } from '@xylabs/react-select';
3
+ export declare const EmbedRenderSelect: React.FC<SelectExProps<string>>;
4
4
  //# sourceMappingURL=RenderSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RenderSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAA;AAQ7D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAanD,CAAA"}
1
+ {"version":3,"file":"RenderSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RenderSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAQ9D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAa7D,CAAA"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { SelectProps } from '@mui/material';
3
- export declare const EmbedRenderSelect: React.FC<SelectProps>;
2
+ import { SelectExProps } from '@xylabs/react-select';
3
+ export declare const EmbedRenderSelect: React.FC<SelectExProps<string>>;
4
4
  //# sourceMappingURL=RenderSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RenderSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAA;AAQ7D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAanD,CAAA"}
1
+ {"version":3,"file":"RenderSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RenderSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAQ9D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAa7D,CAAA"}
@@ -300,6 +300,7 @@ var EmbedFormControl = ({ formId, formLabel, children, ...props }) => {
300
300
 
301
301
  // src/components/controls/ListModeSelect.tsx
302
302
  var import_material7 = require("@mui/material");
303
+ var import_react_select = require("@xylabs/react-select");
303
304
  var import_react_shared10 = require("@xyo-network/react-shared");
304
305
  var import_jsx_runtime10 = require("react/jsx-runtime");
305
306
  var listModeSelectId = "listmode-select-id";
@@ -307,7 +308,7 @@ var listModeSelectLabel = "List Mode";
307
308
  var ListModeSelect = (props) => {
308
309
  const { listMode, setListMode } = (0, import_react_shared10.useListMode)();
309
310
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
310
- import_material7.Select,
311
+ import_react_select.SelectEx,
311
312
  {
312
313
  value: listMode ?? "default",
313
314
  onChange: (event) => {
@@ -328,12 +329,13 @@ var ListModeSelectFormControl = (props) => {
328
329
 
329
330
  // src/components/controls/RenderSelect.tsx
330
331
  var import_material8 = require("@mui/material");
332
+ var import_react_select2 = require("@xylabs/react-select");
331
333
  var import_jsx_runtime11 = require("react/jsx-runtime");
332
334
  var renderSelectId = "render-select-id";
333
335
  var renderSelectLabel = "Renderer";
334
336
  var EmbedRenderSelect = (props) => {
335
337
  const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState();
336
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(EmbedFormControl, { formId: renderSelectId, formLabel: renderSelectLabel, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material8.Select, { size: "small", value: activePlugin?.name, ...props, children: plugins?.map((plugin) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material8.MenuItem, { value: plugin.name, onClick: () => setActivePlugin?.(plugin), children: plugin.name }, plugin.name)) }) });
338
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(EmbedFormControl, { formId: renderSelectId, formLabel: renderSelectLabel, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_select2.SelectEx, { size: "small", value: activePlugin?.name, ...props, children: plugins?.map((plugin) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material8.MenuItem, { value: plugin.name, onClick: () => setActivePlugin?.(plugin), children: plugin.name }, plugin.name)) }) });
337
339
  };
338
340
 
339
341
  // src/components/embed-card/card/EmbedPluginCard.tsx
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../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":["export * from './components'\nexport * from './contexts'\nexport * from './types'\n","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, Select, SelectProps } from '@mui/material'\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<SelectProps<ListMode>> = (props) => {\n const { listMode, setListMode } = useListMode()\n\n return (\n <Select<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 </Select>\n )\n}\n\nexport const ListModeSelectFormControl: React.FC<SelectProps<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, Select, SelectProps } from '@mui/material'\n\nimport { useEmbedPluginState } from '../../contexts'\nimport { EmbedFormControl } from './EmbedFormControl'\n\nconst renderSelectId = 'render-select-id'\nconst renderSelectLabel = 'Renderer'\n\nexport const EmbedRenderSelect: React.FC<SelectProps> = (props) => {\n const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState()\n return (\n <EmbedFormControl formId={renderSelectId} formLabel={renderSelectLabel}>\n <Select 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 </Select>\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":["import_icons_material","import_material","import_react_flexbox","import_react_shared","import_jsx_runtime","import_react_shared","import_react","import_react_shared","import_jsx_runtime","import_react_shared","import_react_shared","import_react","import_jsx_runtime","import_react_shared","import_material","import_react_async_effect","import_react","import_react_shared","import_jsx_runtime","import_react_shared","import_icons_material","import_material","import_react","import_material","import_jsx_runtime","OpenInNewIcon","import_jsx_runtime","MoreVertIcon","import_jsx_runtime","RefreshIcon","import_material","import_react_flexbox","import_react_shared","import_material","import_jsx_runtime","import_material","import_react_shared","import_jsx_runtime","import_material","import_jsx_runtime","import_jsx_runtime","import_material","import_react_shared","import_react_shared","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_jsx_runtime","import_material","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../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":["export * from './components'\nexport * from './contexts'\nexport * from './types'\n","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":["import_icons_material","import_material","import_react_flexbox","import_react_shared","import_jsx_runtime","import_react_shared","import_react","import_react_shared","import_jsx_runtime","import_react_shared","import_react_shared","import_react","import_jsx_runtime","import_react_shared","import_material","import_react_async_effect","import_react","import_react_shared","import_jsx_runtime","import_react_shared","import_icons_material","import_material","import_react","import_material","import_jsx_runtime","OpenInNewIcon","import_jsx_runtime","MoreVertIcon","import_jsx_runtime","RefreshIcon","import_material","import_react_flexbox","import_react_shared","import_material","import_jsx_runtime","import_material","import_react_shared","import_jsx_runtime","import_material","import_react_select","import_jsx_runtime","import_jsx_runtime","import_material","import_react_shared","import_react_shared","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_jsx_runtime","import_material","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
@@ -260,7 +260,8 @@ var EmbedFormControl = ({ formId, formLabel, children, ...props }) => {
260
260
  };
261
261
 
262
262
  // src/components/controls/ListModeSelect.tsx
263
- import { MenuItem as MenuItem2, Select } from "@mui/material";
263
+ import { MenuItem as MenuItem2 } from "@mui/material";
264
+ import { SelectEx } from "@xylabs/react-select";
264
265
  import { useListMode } from "@xyo-network/react-shared";
265
266
  import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
266
267
  var listModeSelectId = "listmode-select-id";
@@ -268,7 +269,7 @@ var listModeSelectLabel = "List Mode";
268
269
  var ListModeSelect = (props) => {
269
270
  const { listMode, setListMode } = useListMode();
270
271
  return /* @__PURE__ */ jsxs6(
271
- Select,
272
+ SelectEx,
272
273
  {
273
274
  value: listMode ?? "default",
274
275
  onChange: (event) => {
@@ -288,13 +289,14 @@ var ListModeSelectFormControl = (props) => {
288
289
  };
289
290
 
290
291
  // src/components/controls/RenderSelect.tsx
291
- import { MenuItem as MenuItem3, Select as Select2 } from "@mui/material";
292
+ import { MenuItem as MenuItem3 } from "@mui/material";
293
+ import { SelectEx as SelectEx2 } from "@xylabs/react-select";
292
294
  import { jsx as jsx11 } from "react/jsx-runtime";
293
295
  var renderSelectId = "render-select-id";
294
296
  var renderSelectLabel = "Renderer";
295
297
  var EmbedRenderSelect = (props) => {
296
298
  const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState();
297
- return /* @__PURE__ */ jsx11(EmbedFormControl, { formId: renderSelectId, formLabel: renderSelectLabel, children: /* @__PURE__ */ jsx11(Select2, { size: "small", value: activePlugin?.name, ...props, children: plugins?.map((plugin) => /* @__PURE__ */ jsx11(MenuItem3, { value: plugin.name, onClick: () => setActivePlugin?.(plugin), children: plugin.name }, plugin.name)) }) });
299
+ return /* @__PURE__ */ jsx11(EmbedFormControl, { formId: renderSelectId, formLabel: renderSelectLabel, children: /* @__PURE__ */ jsx11(SelectEx2, { size: "small", value: activePlugin?.name, ...props, children: plugins?.map((plugin) => /* @__PURE__ */ jsx11(MenuItem3, { value: plugin.name, onClick: () => setActivePlugin?.(plugin), children: plugin.name }, plugin.name)) }) });
298
300
  };
299
301
 
300
302
  // src/components/embed-card/card/EmbedPluginCard.tsx
@@ -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, Select, SelectProps } from '@mui/material'\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<SelectProps<ListMode>> = (props) => {\n const { listMode, setListMode } = useListMode()\n\n return (\n <Select<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 </Select>\n )\n}\n\nexport const ListModeSelectFormControl: React.FC<SelectProps<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, Select, SelectProps } from '@mui/material'\n\nimport { useEmbedPluginState } from '../../contexts'\nimport { EmbedFormControl } from './EmbedFormControl'\n\nconst renderSelectId = 'render-select-id'\nconst renderSelectLabel = 'Renderer'\n\nexport const EmbedRenderSelect: React.FC<SelectProps> = (props) => {\n const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState()\n return (\n <EmbedFormControl formId={renderSelectId} formLabel={renderSelectLabel}>\n <Select 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 </Select>\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","Select","jsx","Select","MenuItem","jsx","jsxs","useListMode","jsx","Fragment","jsx","jsxs","Alert","Fragment","jsx","jsxs","Alert","jsx","Alert","AlertTitle","Card","CardContent","Fragment","jsx","jsxs","jsx","jsx","jsxs"]}
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"]}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { SelectProps } from '@mui/material';
2
+ import { SelectExProps } from '@xylabs/react-select';
3
3
  import { ListMode } from '@xyo-network/react-shared';
4
- export declare const ListModeSelect: React.FC<SelectProps<ListMode>>;
5
- export declare const ListModeSelectFormControl: React.FC<SelectProps<ListMode>>;
4
+ export declare const ListModeSelect: React.FC<SelectExProps<ListMode>>;
5
+ export declare const ListModeSelectFormControl: React.FC<SelectExProps<ListMode>>;
6
6
  //# sourceMappingURL=ListModeSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ListModeSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAA;AAOjE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAsB1D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAMrE,CAAA"}
1
+ {"version":3,"file":"ListModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/ListModeSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAA;AAOjE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAsB5D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAMvE,CAAA"}