@xyo-network/react-embed 2.64.0 → 2.64.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. package/dist/browser/components/EmbedPlugin.js +203 -11
  2. package/dist/browser/components/EmbedPlugin.js.map +1 -1
  3. package/dist/browser/components/EmbedResolver.js +13 -3
  4. package/dist/browser/components/EmbedResolver.js.map +1 -1
  5. package/dist/browser/components/controls/EmbedFormControl.js +3 -2
  6. package/dist/browser/components/controls/EmbedFormControl.js.map +1 -1
  7. package/dist/browser/components/controls/ListModeSelect.js +23 -11
  8. package/dist/browser/components/controls/ListModeSelect.js.map +1 -1
  9. package/dist/browser/components/controls/RenderSelect.js +26 -7
  10. package/dist/browser/components/controls/RenderSelect.js.map +1 -1
  11. package/dist/browser/components/controls/index.js +63 -3
  12. package/dist/browser/components/controls/index.js.map +1 -1
  13. package/dist/browser/components/embed-card/EmbedCardResolver.js +52 -5
  14. package/dist/browser/components/embed-card/EmbedCardResolver.js.map +1 -1
  15. package/dist/browser/components/embed-card/EmbedPluginCard.js +429 -11
  16. package/dist/browser/components/embed-card/EmbedPluginCard.js.map +1 -1
  17. package/dist/browser/components/embed-card/card/BusyCard.js +3 -2
  18. package/dist/browser/components/embed-card/card/BusyCard.js.map +1 -1
  19. package/dist/browser/components/embed-card/card/EmbedCardHeader.js +61 -10
  20. package/dist/browser/components/embed-card/card/EmbedCardHeader.js.map +1 -1
  21. package/dist/browser/components/embed-card/card/EmbedPluginCard.js +168 -13
  22. package/dist/browser/components/embed-card/card/EmbedPluginCard.js.map +1 -1
  23. package/dist/browser/components/embed-card/card/index.js +182 -3
  24. package/dist/browser/components/embed-card/card/index.js.map +1 -1
  25. package/dist/browser/components/embed-card/error-handling/EmbedCardApiErrorRenderer.js +26 -6
  26. package/dist/browser/components/embed-card/error-handling/EmbedCardApiErrorRenderer.js.map +1 -1
  27. package/dist/browser/components/embed-card/error-handling/EmbedErrorCard.js +4 -3
  28. package/dist/browser/components/embed-card/error-handling/EmbedErrorCard.js.map +1 -1
  29. package/dist/browser/components/embed-card/error-handling/index.js +33 -2
  30. package/dist/browser/components/embed-card/error-handling/index.js.map +1 -1
  31. package/dist/browser/components/embed-card/index.js +481 -2
  32. package/dist/browser/components/embed-card/index.js.map +1 -1
  33. package/dist/browser/components/embed-card/menu/EmbedMenu.js +30 -6
  34. package/dist/browser/components/embed-card/menu/EmbedMenu.js.map +1 -1
  35. package/dist/browser/components/embed-card/menu/JsonMenuItem.js +13 -3
  36. package/dist/browser/components/embed-card/menu/JsonMenuItem.js.map +1 -1
  37. package/dist/browser/components/embed-card/menu/index.js +46 -1
  38. package/dist/browser/components/embed-card/menu/index.js.map +1 -1
  39. package/dist/browser/components/embed-plugin-stories/storyPayload.js +2 -1
  40. package/dist/browser/components/embed-plugin-stories/storyPayload.js.map +1 -1
  41. package/dist/browser/components/embed-plugin-stories/storyShared.js +480 -5
  42. package/dist/browser/components/embed-plugin-stories/storyShared.js.map +1 -1
  43. package/dist/browser/components/index.js +482 -2
  44. package/dist/browser/components/index.js.map +1 -1
  45. package/dist/browser/components/validation-alerts/ValidatePayload.js +13 -3
  46. package/dist/browser/components/validation-alerts/ValidatePayload.js.map +1 -1
  47. package/dist/browser/components/validation-alerts/ValidatePlugins.js +21 -3
  48. package/dist/browser/components/validation-alerts/ValidatePlugins.js.map +1 -1
  49. package/dist/browser/components/validation-alerts/index.js +59 -2
  50. package/dist/browser/components/validation-alerts/index.js.map +1 -1
  51. package/dist/browser/contexts/EmbedPluginContext/Context.js +2 -1
  52. package/dist/browser/contexts/EmbedPluginContext/Context.js.map +1 -1
  53. package/dist/browser/contexts/EmbedPluginContext/Provider.js +9 -3
  54. package/dist/browser/contexts/EmbedPluginContext/Provider.js.map +1 -1
  55. package/dist/browser/contexts/EmbedPluginContext/index.js +44 -4
  56. package/dist/browser/contexts/EmbedPluginContext/index.js.map +1 -1
  57. package/dist/browser/contexts/EmbedPluginContext/use.js +8 -2
  58. package/dist/browser/contexts/EmbedPluginContext/use.js.map +1 -1
  59. package/dist/browser/contexts/RefreshPayloadContext/Context.js +2 -1
  60. package/dist/browser/contexts/RefreshPayloadContext/Context.js.map +1 -1
  61. package/dist/browser/contexts/RefreshPayloadContext/Provider.js +9 -3
  62. package/dist/browser/contexts/RefreshPayloadContext/Provider.js.map +1 -1
  63. package/dist/browser/contexts/RefreshPayloadContext/index.js +21 -3
  64. package/dist/browser/contexts/RefreshPayloadContext/index.js.map +1 -1
  65. package/dist/browser/contexts/RefreshPayloadContext/use.js +8 -2
  66. package/dist/browser/contexts/RefreshPayloadContext/use.js.map +1 -1
  67. package/dist/browser/contexts/ResolvePayloadContext/Context.js +2 -1
  68. package/dist/browser/contexts/ResolvePayloadContext/Context.js.map +1 -1
  69. package/dist/browser/contexts/ResolvePayloadContext/Provider.js +17 -4
  70. package/dist/browser/contexts/ResolvePayloadContext/Provider.js.map +1 -1
  71. package/dist/browser/contexts/ResolvePayloadContext/index.js +72 -4
  72. package/dist/browser/contexts/ResolvePayloadContext/index.js.map +1 -1
  73. package/dist/browser/contexts/ResolvePayloadContext/use.js +8 -2
  74. package/dist/browser/contexts/ResolvePayloadContext/use.js.map +1 -1
  75. package/dist/browser/contexts/ValidatePayloadContext/Context.js +2 -1
  76. package/dist/browser/contexts/ValidatePayloadContext/Context.js.map +1 -1
  77. package/dist/browser/contexts/ValidatePayloadContext/Provider.js +17 -4
  78. package/dist/browser/contexts/ValidatePayloadContext/Provider.js.map +1 -1
  79. package/dist/browser/contexts/ValidatePayloadContext/index.js +49 -3
  80. package/dist/browser/contexts/ValidatePayloadContext/index.js.map +1 -1
  81. package/dist/browser/contexts/ValidatePayloadContext/use.js +8 -2
  82. package/dist/browser/contexts/ValidatePayloadContext/use.js.map +1 -1
  83. package/dist/browser/contexts/index.js +165 -4
  84. package/dist/browser/contexts/index.js.map +1 -1
  85. package/dist/browser/index.js +492 -3
  86. package/dist/browser/index.js.map +1 -1
  87. package/dist/browser/types/index.js +0 -1
  88. package/dist/browser/types/index.js.map +1 -1
  89. package/dist/docs.json +109 -109
  90. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx"],"sourcesContent":["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"],"mappings":"AAauE;AAVvE,SAAS,YAAY,mBAAmB;AAExC,SAAS,sBAAsB;AAMxB,MAAM,4BAAoF,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACrI,SACE,oBAAC,eAAY,OAAO,UAAU,UAAQ,MAAC,gBAAc,MAAC,aAAa,oBAAC,sBAAmB,UAAqB,GAAG,OAAO,GACnH,UACH;AAEJ;AAEA,MAAM,qBAA+D,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AAC/F,SACE,oBAAC,kBAAgB,GAAG,OAClB,8BAAC,cAAW,OAAO,UAAU,GAC/B;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx","../../../../../src/components/embed-card/error-handling/EmbedErrorCard.tsx"],"sourcesContent":["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 ) : (\n <Typography variant=\"caption\" fontSize=\"small\">\n Error Loading Plugin\n </Typography>\n )}\n </Alert>\n )\n}\n"],"mappings":";AAGA,SAAS,YAAY,mBAAmB;;;ACHxC,SAAS,OAAmB,YAAY,MAAM,aAAwB,kBAAkB;AAmBxD,SAUxB,UAVwB,KAUxB,YAVwB;AALzB,IAAM,iBAA8D,CAAC,UAAU;AACpF,QAAM,EAAE,YAAY,OAAO,mBAAmB,MAAM,UAAU,GAAG,UAAU,IAAI;AAC/E,QAAM,aAAa,EAAE,YAAY,OAAO,iBAAiB;AACzD,SACE,oBAAC,QAAM,GAAG,WACR,8BAAC,eAAa,sBAAY,oBAAC,qBAAmB,GAAG,YAAY,GAAG,GAClE;AAEJ;AAEA,IAAM,oBAAuD,CAAC,EAAE,YAAY,kBAAkB,MAAM,MAAM;AACxG,SACE,qBAAC,SAAM,UAAS,SAAS,GAAG,YAC1B;AAAA,wBAAC,cAAW,0CAA4B;AAAA,IACvC,CAAC,oBAAoB,QACpB,iCACE;AAAA,0BAAC,cAAW,SAAQ,WAAU,qBAAO;AAAA,MACrC,oBAAC,cAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,OAChD,IAEA,oBAAC,cAAW,SAAQ,WAAU,UAAS,SAAQ,kCAE/C;AAAA,KAEJ;AAEJ;;;AD3BuE,gBAAAA,YAAA;AAFhE,IAAM,4BAAoF,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACrI,SACE,gBAAAA,KAAC,eAAY,OAAO,UAAU,UAAQ,MAAC,gBAAc,MAAC,aAAa,gBAAAA,KAAC,sBAAmB,UAAqB,GAAG,OAAO,GACnH,UACH;AAEJ;AAEA,IAAM,qBAA+D,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AAC/F,SACE,gBAAAA,KAAC,kBAAgB,GAAG,OAClB,0BAAAA,KAAC,cAAW,OAAO,UAAU,GAC/B;AAEJ;","names":["jsx"]}
@@ -1,11 +1,12 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/embed-card/error-handling/EmbedErrorCard.tsx
2
2
  import { Alert, AlertTitle, Card, CardContent, Typography } from "@mui/material";
3
- const EmbedErrorCard = (props) => {
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ var EmbedErrorCard = (props) => {
4
5
  const { alertProps, error, hideErrorDetails = true, children, ...cardProps } = props;
5
6
  const errorProps = { alertProps, error, hideErrorDetails };
6
7
  return /* @__PURE__ */ jsx(Card, { ...cardProps, children: /* @__PURE__ */ jsx(CardContent, { children: children ?? /* @__PURE__ */ jsx(DefaultErrorAlert, { ...errorProps }) }) });
7
8
  };
8
- const DefaultErrorAlert = ({ alertProps, hideErrorDetails, error }) => {
9
+ var DefaultErrorAlert = ({ alertProps, hideErrorDetails, error }) => {
9
10
  return /* @__PURE__ */ jsxs(Alert, { severity: "error", ...alertProps, children: [
10
11
  /* @__PURE__ */ jsx(AlertTitle, { children: "Whoops! Something went wrong" }),
11
12
  !hideErrorDetails && error ? /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/embed-card/error-handling/EmbedErrorCard.tsx"],"sourcesContent":["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 ) : (\n <Typography variant=\"caption\" fontSize=\"small\">\n Error Loading Plugin\n </Typography>\n )}\n </Alert>\n )\n}\n"],"mappings":"AAmBgC,SAUxB,UAVwB,KAUxB,YAVwB;AAnBhC,SAAS,OAAmB,YAAY,MAAM,aAAwB,kBAAkB;AAcjF,MAAM,iBAA8D,CAAC,UAAU;AACpF,QAAM,EAAE,YAAY,OAAO,mBAAmB,MAAM,UAAU,GAAG,UAAU,IAAI;AAC/E,QAAM,aAAa,EAAE,YAAY,OAAO,iBAAiB;AACzD,SACE,oBAAC,QAAM,GAAG,WACR,8BAAC,eAAa,sBAAY,oBAAC,qBAAmB,GAAG,YAAY,GAAG,GAClE;AAEJ;AAEA,MAAM,oBAAuD,CAAC,EAAE,YAAY,kBAAkB,MAAM,MAAM;AACxG,SACE,qBAAC,SAAM,UAAS,SAAS,GAAG,YAC1B;AAAA,wBAAC,cAAW,0CAA4B;AAAA,IACvC,CAAC,oBAAoB,QACpB,iCACE;AAAA,0BAAC,cAAW,SAAQ,WAAU,qBAAO;AAAA,MACrC,oBAAC,cAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,OAChD,IAEA,oBAAC,cAAW,SAAQ,WAAU,UAAS,SAAQ,kCAE/C;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/embed-card/error-handling/EmbedErrorCard.tsx"],"sourcesContent":["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 ) : (\n <Typography variant=\"caption\" fontSize=\"small\">\n Error Loading Plugin\n </Typography>\n )}\n </Alert>\n )\n}\n"],"mappings":";AAAA,SAAS,OAAmB,YAAY,MAAM,aAAwB,kBAAkB;AAmBxD,SAUxB,UAVwB,KAUxB,YAVwB;AALzB,IAAM,iBAA8D,CAAC,UAAU;AACpF,QAAM,EAAE,YAAY,OAAO,mBAAmB,MAAM,UAAU,GAAG,UAAU,IAAI;AAC/E,QAAM,aAAa,EAAE,YAAY,OAAO,iBAAiB;AACzD,SACE,oBAAC,QAAM,GAAG,WACR,8BAAC,eAAa,sBAAY,oBAAC,qBAAmB,GAAG,YAAY,GAAG,GAClE;AAEJ;AAEA,IAAM,oBAAuD,CAAC,EAAE,YAAY,kBAAkB,MAAM,MAAM;AACxG,SACE,qBAAC,SAAM,UAAS,SAAS,GAAG,YAC1B;AAAA,wBAAC,cAAW,0CAA4B;AAAA,IACvC,CAAC,oBAAoB,QACpB,iCACE;AAAA,0BAAC,cAAW,SAAQ,WAAU,qBAAO;AAAA,MACrC,oBAAC,cAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,OAChD,IAEA,oBAAC,cAAW,SAAQ,WAAU,UAAS,SAAQ,kCAE/C;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1,3 +1,34 @@
1
- export * from "./EmbedCardApiErrorRenderer";
2
- export * from "./EmbedErrorCard";
1
+ // src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx
2
+ import { ErrorAlert, ErrorRender } from "@xyo-network/react-error";
3
+
4
+ // src/components/embed-card/error-handling/EmbedErrorCard.tsx
5
+ import { Alert, AlertTitle, Card, CardContent, Typography } from "@mui/material";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ var EmbedErrorCard = (props) => {
8
+ const { alertProps, error, hideErrorDetails = true, children, ...cardProps } = props;
9
+ const errorProps = { alertProps, error, hideErrorDetails };
10
+ return /* @__PURE__ */ jsx(Card, { ...cardProps, children: /* @__PURE__ */ jsx(CardContent, { children: children ?? /* @__PURE__ */ jsx(DefaultErrorAlert, { ...errorProps }) }) });
11
+ };
12
+ var DefaultErrorAlert = ({ alertProps, hideErrorDetails, error }) => {
13
+ return /* @__PURE__ */ jsxs(Alert, { severity: "error", ...alertProps, children: [
14
+ /* @__PURE__ */ jsx(AlertTitle, { children: "Whoops! Something went wrong" }),
15
+ !hideErrorDetails && error ? /* @__PURE__ */ jsxs(Fragment, { children: [
16
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", children: "Error: " }),
17
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", children: error?.message })
18
+ ] }) : /* @__PURE__ */ jsx(Typography, { variant: "caption", fontSize: "small", children: "Error Loading Plugin" })
19
+ ] });
20
+ };
21
+
22
+ // src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx
23
+ import { jsx as jsx2 } from "react/jsx-runtime";
24
+ var EmbedCardApiErrorRenderer = ({ xyoError, children, ...props }) => {
25
+ return /* @__PURE__ */ jsx2(ErrorRender, { error: xyoError, noReAuth: true, noErrorDisplay: true, customError: /* @__PURE__ */ jsx2(CustomApiErrorCard, { xyoError, ...props }), children });
26
+ };
27
+ var CustomApiErrorCard = ({ xyoError, ...props }) => {
28
+ return /* @__PURE__ */ jsx2(EmbedErrorCard, { ...props, children: /* @__PURE__ */ jsx2(ErrorAlert, { error: xyoError }) });
29
+ };
30
+ export {
31
+ EmbedCardApiErrorRenderer,
32
+ EmbedErrorCard
33
+ };
3
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/embed-card/error-handling/index.ts"],"sourcesContent":["export * from './EmbedCardApiErrorRenderer'\nexport * from './EmbedErrorCard'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx","../../../../../src/components/embed-card/error-handling/EmbedErrorCard.tsx"],"sourcesContent":["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 ) : (\n <Typography variant=\"caption\" fontSize=\"small\">\n Error Loading Plugin\n </Typography>\n )}\n </Alert>\n )\n}\n"],"mappings":";AAGA,SAAS,YAAY,mBAAmB;;;ACHxC,SAAS,OAAmB,YAAY,MAAM,aAAwB,kBAAkB;AAmBxD,SAUxB,UAVwB,KAUxB,YAVwB;AALzB,IAAM,iBAA8D,CAAC,UAAU;AACpF,QAAM,EAAE,YAAY,OAAO,mBAAmB,MAAM,UAAU,GAAG,UAAU,IAAI;AAC/E,QAAM,aAAa,EAAE,YAAY,OAAO,iBAAiB;AACzD,SACE,oBAAC,QAAM,GAAG,WACR,8BAAC,eAAa,sBAAY,oBAAC,qBAAmB,GAAG,YAAY,GAAG,GAClE;AAEJ;AAEA,IAAM,oBAAuD,CAAC,EAAE,YAAY,kBAAkB,MAAM,MAAM;AACxG,SACE,qBAAC,SAAM,UAAS,SAAS,GAAG,YAC1B;AAAA,wBAAC,cAAW,0CAA4B;AAAA,IACvC,CAAC,oBAAoB,QACpB,iCACE;AAAA,0BAAC,cAAW,SAAQ,WAAU,qBAAO;AAAA,MACrC,oBAAC,cAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,OAChD,IAEA,oBAAC,cAAW,SAAQ,WAAU,UAAS,SAAQ,kCAE/C;AAAA,KAEJ;AAEJ;;;AD3BuE,gBAAAA,YAAA;AAFhE,IAAM,4BAAoF,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACrI,SACE,gBAAAA,KAAC,eAAY,OAAO,UAAU,UAAQ,MAAC,gBAAc,MAAC,aAAa,gBAAAA,KAAC,sBAAmB,UAAqB,GAAG,OAAO,GACnH,UACH;AAEJ;AAEA,IAAM,qBAA+D,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AAC/F,SACE,gBAAAA,KAAC,kBAAgB,GAAG,OAClB,0BAAAA,KAAC,cAAW,OAAO,UAAU,GAC/B;AAEJ;","names":["jsx"]}
@@ -1,3 +1,482 @@
1
- export * from "./card";
2
- export * from "./EmbedPluginCard";
1
+ // src/components/embed-card/card/BusyCard.tsx
2
+ import { Card } from "@mui/material";
3
+ import { useBusyTiming } from "@xylabs/react-flexbox";
4
+ import {
5
+ BusyCircularProgress,
6
+ BusyLinearProgress
7
+ } from "@xylabs/react-shared";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var BusyCard = ({
10
+ busy,
11
+ busyMinimum = 500,
12
+ busyVariant = "circular",
13
+ busyVariantProps,
14
+ children,
15
+ ...props
16
+ }) => {
17
+ const internalBusy = useBusyTiming(busy, busyMinimum);
18
+ return /* @__PURE__ */ jsxs(Card, { ...props, children: [
19
+ children,
20
+ busyVariant === "circular" && internalBusy ? /* @__PURE__ */ jsx(BusyCircularProgress, { ...busyVariantProps }) : null,
21
+ busyVariant === "linear" && internalBusy ? /* @__PURE__ */ jsx(BusyLinearProgress, { ...busyVariantProps }) : null
22
+ ] });
23
+ };
24
+
25
+ // src/components/embed-card/card/EmbedCardHeader.tsx
26
+ import { Refresh as RefreshIcon } from "@mui/icons-material";
27
+ import { Avatar, CardHeader, Chip as Chip2 } from "@mui/material";
28
+ import { FlexRow } from "@xylabs/react-flexbox";
29
+
30
+ // src/contexts/EmbedPluginContext/Context.tsx
31
+ import { createContextEx } from "@xyo-network/react-shared";
32
+ var EmbedPluginContext = createContextEx();
33
+
34
+ // src/contexts/EmbedPluginContext/Provider.tsx
35
+ import { useEffect, useState } from "react";
36
+ import { jsx as jsx2 } from "react/jsx-runtime";
37
+ var EmbedPluginProvider = ({
38
+ children,
39
+ refreshTitle,
40
+ timestampLabel,
41
+ hideElementsConfig,
42
+ plugins,
43
+ embedPluginConfig
44
+ }) => {
45
+ const [activePlugin, setActivePlugin] = useState(plugins ? plugins[0] : void 0);
46
+ useEffect(() => {
47
+ setActivePlugin(plugins ? plugins[0] : void 0);
48
+ }, [plugins]);
49
+ return /* @__PURE__ */ jsx2(
50
+ EmbedPluginContext.Provider,
51
+ {
52
+ value: {
53
+ activePlugin,
54
+ embedPluginConfig,
55
+ hideElementsConfig,
56
+ provided: true,
57
+ refreshTitle,
58
+ setActivePlugin,
59
+ timestampLabel
60
+ },
61
+ children
62
+ }
63
+ );
64
+ };
65
+
66
+ // src/contexts/EmbedPluginContext/use.tsx
67
+ import { useContextEx } from "@xyo-network/react-shared";
68
+ var useEmbedPluginState = () => useContextEx(EmbedPluginContext, "EmbedPlugin", true);
69
+
70
+ // src/contexts/RefreshPayloadContext/Provider.tsx
71
+ import { useState as useState2 } from "react";
72
+
73
+ // src/contexts/RefreshPayloadContext/Context.tsx
74
+ import { createContextEx as createContextEx2 } from "@xyo-network/react-shared";
75
+ var RefreshPayloadContext = createContextEx2();
76
+
77
+ // src/contexts/RefreshPayloadContext/Provider.tsx
78
+ import { jsx as jsx3 } from "react/jsx-runtime";
79
+ var RefreshPayloadProvider = ({ children, onRefresh, refreshPayload }) => {
80
+ const [localRefreshPayload, setRefreshPayload] = useState2(refreshPayload);
81
+ return /* @__PURE__ */ jsx3(RefreshPayloadContext.Provider, { value: { onRefresh, provided: true, refreshPayload: localRefreshPayload, setRefreshPayload }, children });
82
+ };
83
+
84
+ // src/contexts/RefreshPayloadContext/use.tsx
85
+ import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
86
+ var useRefreshPayload = () => useContextEx2(RefreshPayloadContext, "RefreshPayload", true);
87
+
88
+ // src/contexts/ResolvePayloadContext/Context.ts
89
+ import { createContextEx as createContextEx3 } from "@xyo-network/react-shared";
90
+ var ResolvePayloadContext = createContextEx3();
91
+
92
+ // src/contexts/ResolvePayloadContext/Provider.tsx
93
+ import { delay } from "@xylabs/delay";
94
+ import { useAsyncEffect } from "@xylabs/react-async-effect";
95
+ import { Huri } from "@xyo-network/huri";
96
+ import { ModuleErrorSchema } from "@xyo-network/payload-model";
97
+ import { useEffect as useEffect2, useState as useState3 } from "react";
98
+ import { jsx as jsx4 } from "react/jsx-runtime";
99
+ var ResolvePayloadProvider = ({ children, huriPayload }) => {
100
+ const [payload, setPayload] = useState3();
101
+ const [huri, setHuri] = useState3();
102
+ const { refreshPayload, setRefreshPayload, onRefresh } = useRefreshPayload();
103
+ useEffect2(() => {
104
+ typeof huriPayload === "string" ? setHuri(huriPayload) : void 0;
105
+ if (typeof huriPayload === "object") {
106
+ setPayload(huriPayload);
107
+ setRefreshPayload?.(true);
108
+ }
109
+ }, [huriPayload, setRefreshPayload]);
110
+ const [notFound, setNotFound] = useState3();
111
+ const [huriError, setHuriError] = useState3();
112
+ useAsyncEffect(
113
+ // eslint-disable-next-line react-hooks/exhaustive-deps
114
+ async (mounted) => {
115
+ if (huri && !refreshPayload) {
116
+ try {
117
+ const huriInstance = new Huri(huri);
118
+ const result = await huriInstance.fetch();
119
+ await delay(500);
120
+ if (mounted()) {
121
+ setNotFound(result === null);
122
+ setPayload(result);
123
+ setRefreshPayload?.(true);
124
+ }
125
+ } catch (e) {
126
+ const error = e;
127
+ setHuriError({ message: error.message, schema: ModuleErrorSchema, sources: [] });
128
+ }
129
+ }
130
+ },
131
+ [huri, payload, refreshPayload, setRefreshPayload]
132
+ );
133
+ const refreshHuri = () => {
134
+ onRefresh?.();
135
+ if (huri) {
136
+ setRefreshPayload?.(false);
137
+ }
138
+ };
139
+ return /* @__PURE__ */ jsx4(ResolvePayloadContext.Provider, { value: { huri, huriError, notFound, payload, provided: true, refreshHuri, setPayload }, children });
140
+ };
141
+
142
+ // src/contexts/ResolvePayloadContext/use.tsx
143
+ import { useContextEx as useContextEx3 } from "@xyo-network/react-shared";
144
+ var useResolvePayload = () => useContextEx3(ResolvePayloadContext, "ResolvePayload", true);
145
+
146
+ // src/contexts/ValidatePayloadContext/Provider.tsx
147
+ import { Chip } from "@mui/material";
148
+ import { useAsyncEffect as useAsyncEffect2 } from "@xylabs/react-async-effect";
149
+ import { SchemaCache } from "@xyo-network/schema-cache";
150
+ import { useState as useState4 } from "react";
151
+
152
+ // src/contexts/ValidatePayloadContext/Context.ts
153
+ import { createContextEx as createContextEx4 } from "@xyo-network/react-shared";
154
+ var ValidatePayloadContext = createContextEx4();
155
+
156
+ // src/contexts/ValidatePayloadContext/Provider.tsx
157
+ import { Fragment, jsx as jsx5 } from "react/jsx-runtime";
158
+ var ValidatePayloadProvider = ({ children, enabled = false }) => {
159
+ const { payload } = useResolvePayload();
160
+ const [initialized, setInitialized] = useState4(false);
161
+ const [valid, setValid] = useState4();
162
+ useAsyncEffect2(
163
+ // eslint-disable-next-line react-hooks/exhaustive-deps
164
+ async () => {
165
+ if (payload && enabled) {
166
+ await SchemaCache.instance.get(payload.schema);
167
+ const possibleKnownSchema = payload.schema;
168
+ if (SchemaCache.instance.validators[possibleKnownSchema]) {
169
+ const validator = SchemaCache.instance.validators[possibleKnownSchema];
170
+ setValid(validator?.(payload));
171
+ }
172
+ setInitialized(true);
173
+ }
174
+ },
175
+ [payload, enabled]
176
+ );
177
+ return /* @__PURE__ */ jsx5(ValidatePayloadContext.Provider, { value: { enabled, provided: true, schema: payload?.schema, validPayload: valid }, children: enabled ? /* @__PURE__ */ jsx5(Fragment, { children: initialized ? children : /* @__PURE__ */ jsx5(Chip, { label: "Validating Payload..." }) }) : children });
178
+ };
179
+
180
+ // src/contexts/ValidatePayloadContext/use.tsx
181
+ import { useContextEx as useContextEx4 } from "@xyo-network/react-shared";
182
+ var useValidatePayload = () => useContextEx4(ValidatePayloadContext, "ValidateSchema", true);
183
+
184
+ // src/components/embed-card/menu/EmbedMenu.tsx
185
+ import { MoreVert as MoreVertIcon } from "@mui/icons-material";
186
+ import { IconButton, Menu } from "@mui/material";
187
+ import { useState as useState5 } from "react";
188
+
189
+ // src/components/embed-card/menu/JsonMenuItem.tsx
190
+ import { OpenInNew as OpenInNewIcon } from "@mui/icons-material";
191
+ import { ListItemIcon, ListItemText, MenuItem } from "@mui/material";
192
+ import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
193
+ var JsonMenuItem = (props) => {
194
+ const { huri } = useResolvePayload();
195
+ return /* @__PURE__ */ jsx6(Fragment2, { children: huri ? /* @__PURE__ */ jsxs2(MenuItem, { title: "Source Payload JSON", onClick: () => window.open(huri, "_blank"), ...props, children: [
196
+ /* @__PURE__ */ jsx6(ListItemText, { sx: { mr: 1 }, children: "JSON" }),
197
+ /* @__PURE__ */ jsx6(ListItemIcon, { sx: { justifyContent: "end" }, children: /* @__PURE__ */ jsx6(OpenInNewIcon, { fontSize: "small" }) })
198
+ ] }) : null });
199
+ };
200
+
201
+ // src/components/embed-card/menu/EmbedMenu.tsx
202
+ import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
203
+ var EmbedMenu = (props) => {
204
+ const [anchorEl, setAnchorEl] = useState5(null);
205
+ const open = Boolean(anchorEl);
206
+ const handleClick = (event) => {
207
+ setAnchorEl(event.currentTarget);
208
+ };
209
+ const handleClose = () => {
210
+ setAnchorEl(null);
211
+ };
212
+ return /* @__PURE__ */ jsxs3(Fragment3, { children: [
213
+ /* @__PURE__ */ jsx7(IconButton, { onClick: handleClick, ...props, children: /* @__PURE__ */ jsx7(MoreVertIcon, {}) }),
214
+ /* @__PURE__ */ jsx7(Menu, { anchorEl, open, onClose: handleClose, PaperProps: { variant: "elevation" }, MenuListProps: { dense: true }, children: /* @__PURE__ */ jsx7(JsonMenuItem, {}) })
215
+ ] });
216
+ };
217
+
218
+ // src/components/embed-card/card/EmbedCardHeader.tsx
219
+ import { Fragment as Fragment4, jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
220
+ var EmbedCardHeader = () => {
221
+ const { refreshHuri, huri } = useResolvePayload();
222
+ const { activePlugin, timestampLabel, hideElementsConfig } = useEmbedPluginState();
223
+ const { hideAvatar, hideTitle, hideRefreshButton, hideTimestamp, hideCardActions } = hideElementsConfig ?? {};
224
+ const timestamp = Date.now();
225
+ return /* @__PURE__ */ jsx8(
226
+ CardHeader,
227
+ {
228
+ sx: { flexWrap: "wrap", rowGap: 1 },
229
+ avatar: hideAvatar ? /* @__PURE__ */ jsx8(Fragment4, {}) : /* @__PURE__ */ jsx8(Avatar, { sx: { bgcolor: (theme) => theme.palette.primary.main }, "aria-label": activePlugin?.name, children: activePlugin?.name?.charAt(0) }),
230
+ action: /* @__PURE__ */ jsxs4(FlexRow, { flexWrap: "wrap", columnGap: 0.5, children: [
231
+ timestamp ? hideTimestamp && hideRefreshButton ? "" : /* @__PURE__ */ jsx8(
232
+ Chip2,
233
+ {
234
+ avatar: hideRefreshButton ? /* @__PURE__ */ jsx8(Fragment4, {}) : /* @__PURE__ */ jsx8(RefreshIcon, {}),
235
+ clickable: hideRefreshButton ? false : true,
236
+ onClick: refreshHuri,
237
+ label: hideTimestamp ? "" : `${timestampLabel} ${new Date(timestamp).toLocaleString()}`
238
+ }
239
+ ) : null,
240
+ hideCardActions || huri === void 0 ? null : /* @__PURE__ */ jsx8(EmbedMenu, {})
241
+ ] }),
242
+ title: hideTitle ? "" : activePlugin?.name
243
+ }
244
+ );
245
+ };
246
+
247
+ // src/components/embed-card/card/EmbedPluginCard.tsx
248
+ import { CardContent } from "@mui/material";
249
+ import { FlexGrowRow } from "@xylabs/react-flexbox";
250
+ import { useListMode as useListMode2 } from "@xyo-network/react-shared";
251
+
252
+ // src/components/controls/EmbedFormControl.tsx
253
+ import { FormControl, InputLabel } from "@mui/material";
254
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
255
+ var EmbedFormControl = ({ formId, formLabel, children, ...props }) => {
256
+ return /* @__PURE__ */ jsxs5(FormControl, { ...props, children: [
257
+ /* @__PURE__ */ jsx9(InputLabel, { id: formId, children: formLabel }),
258
+ children
259
+ ] });
260
+ };
261
+
262
+ // src/components/controls/ListModeSelect.tsx
263
+ import { MenuItem as MenuItem2, Select } from "@mui/material";
264
+ import { useListMode } from "@xyo-network/react-shared";
265
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
266
+ var listModeSelectId = "listmode-select-id";
267
+ var listModeSelectLabel = "List Mode";
268
+ var ListModeSelect = (props) => {
269
+ const { listMode, setListMode } = useListMode();
270
+ return /* @__PURE__ */ jsxs6(
271
+ Select,
272
+ {
273
+ value: listMode ?? "default",
274
+ onChange: (event) => {
275
+ setListMode?.(event.target.value);
276
+ },
277
+ ...props,
278
+ children: [
279
+ /* @__PURE__ */ jsx10(MenuItem2, { value: "default", children: "Default" }, "default"),
280
+ /* @__PURE__ */ jsx10(MenuItem2, { value: "table", children: "Table" }, "table"),
281
+ /* @__PURE__ */ jsx10(MenuItem2, { value: "grid", children: "Grid" }, "grid")
282
+ ]
283
+ }
284
+ );
285
+ };
286
+ var ListModeSelectFormControl = (props) => {
287
+ return /* @__PURE__ */ jsx10(EmbedFormControl, { formId: listModeSelectId, formLabel: listModeSelectLabel, children: /* @__PURE__ */ jsx10(ListModeSelect, { size: "small", label: listModeSelectLabel, labelId: listModeSelectId, ...props }) });
288
+ };
289
+
290
+ // src/components/controls/RenderSelect.tsx
291
+ import { MenuItem as MenuItem3, Select as Select2 } from "@mui/material";
292
+ import { jsx as jsx11 } from "react/jsx-runtime";
293
+ var renderSelectId = "render-select-id";
294
+ var renderSelectLabel = "Renderer";
295
+ var EmbedRenderSelect = (props) => {
296
+ 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)) }) });
298
+ };
299
+
300
+ // src/components/embed-card/card/EmbedPluginCard.tsx
301
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
302
+ var EmbedPluginCard = ({ ...props }) => {
303
+ const { payload } = useResolvePayload();
304
+ const { activePlugin: ActivePlugin, plugins, hideElementsConfig } = useEmbedPluginState();
305
+ const { listMode } = useListMode2();
306
+ const supportsListMode = ActivePlugin?.components?.box?.listModes?.length ?? 0 > 1;
307
+ return /* @__PURE__ */ jsxs7(BusyCard, { ...props, children: [
308
+ hideElementsConfig?.hideCardHeader ? null : /* @__PURE__ */ jsx12(EmbedCardHeader, {}),
309
+ plugins && plugins.length || supportsListMode ? /* @__PURE__ */ jsxs7(FlexGrowRow, { columnGap: 2, rowGap: 2, flexWrap: "wrap", pb: 1, children: [
310
+ plugins && plugins.length > 1 ? /* @__PURE__ */ jsx12(EmbedRenderSelect, {}) : null,
311
+ supportsListMode ? /* @__PURE__ */ jsx12(ListModeSelectFormControl, {}) : null
312
+ ] }) : null,
313
+ /* @__PURE__ */ jsx12(CardContent, { sx: { height: "100%" }, children: ActivePlugin ? /* @__PURE__ */ jsx12(ActivePlugin.components.box.detailsBox, { payload, ...supportsListMode && { listMode } }) : null })
314
+ ] });
315
+ };
316
+
317
+ // src/components/embed-card/EmbedPluginCard.tsx
318
+ import { useTheme } from "@mui/material";
319
+
320
+ // src/components/EmbedPlugin.tsx
321
+ import { ErrorBoundary, ListModeProvider } from "@xyo-network/react-shared";
322
+
323
+ // src/components/EmbedResolver.tsx
324
+ import { LoadResult } from "@xyo-network/react-shared";
325
+ import { jsx as jsx13 } from "react/jsx-runtime";
326
+ var EmbedResolver = ({ children }) => {
327
+ const { payload, notFound, huriError } = useResolvePayload();
328
+ return /* @__PURE__ */ jsx13(LoadResult, { searchResult: payload, notFound: !!notFound, error: !!huriError, children });
329
+ };
330
+
331
+ // src/components/validation-alerts/ValidatePayload.tsx
332
+ import { Alert } from "@mui/material";
333
+ import { Fragment as Fragment5, jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
334
+ var ValidatePayloadAlert = ({ children, ...props }) => {
335
+ const { validPayload, enabled, schema } = useValidatePayload();
336
+ if (enabled && validPayload === false) {
337
+ return /* @__PURE__ */ jsxs8(Alert, { severity: "error", title: "Invalid Payload!", ...props, children: [
338
+ "Payload schema claimed to be ",
339
+ schema,
340
+ " but failed to validate."
341
+ ] });
342
+ }
343
+ return /* @__PURE__ */ jsx14(Fragment5, { children });
344
+ };
345
+
346
+ // src/components/validation-alerts/ValidatePlugins.tsx
347
+ import { Alert as Alert2, AlertTitle } from "@mui/material";
348
+ import { Fragment as Fragment6, jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
349
+ var ValidatePluginsAlert = ({ children, ...props }) => {
350
+ const { payload } = useResolvePayload();
351
+ const { plugins } = useEmbedPluginState();
352
+ if (payload && plugins?.length === 0) {
353
+ return /* @__PURE__ */ jsxs9(Alert2, { severity: "warning", ...props, children: [
354
+ /* @__PURE__ */ jsx15(AlertTitle, { children: "Missing plugins!" }),
355
+ "Payload found but no plugins were present."
356
+ ] });
357
+ }
358
+ return /* @__PURE__ */ jsx15(Fragment6, { children });
359
+ };
360
+
361
+ // src/components/EmbedPlugin.tsx
362
+ import { jsx as jsx16 } from "react/jsx-runtime";
363
+ var EmbedPluginInner = ({
364
+ validateSchema,
365
+ plugins = [],
366
+ huriPayload,
367
+ refreshTitle = "",
368
+ timestampLabel = "Data From",
369
+ hideElementsConfig,
370
+ embedPluginConfig,
371
+ onRefresh,
372
+ children
373
+ }) => {
374
+ return /* @__PURE__ */ jsx16(ErrorBoundary, { children: /* @__PURE__ */ jsx16(
375
+ EmbedPluginProvider,
376
+ {
377
+ refreshTitle,
378
+ timestampLabel,
379
+ hideElementsConfig,
380
+ plugins,
381
+ embedPluginConfig,
382
+ children: /* @__PURE__ */ jsx16(WithResolvers, { onRefresh, huriPayload, children: /* @__PURE__ */ jsx16(WithValidators, { validateSchema, children: /* @__PURE__ */ jsx16(ListModeProvider, { defaultListMode: embedPluginConfig?.listMode, children }) }) })
383
+ }
384
+ ) });
385
+ };
386
+ var WithResolvers = ({ children, onRefresh, huriPayload }) => {
387
+ return /* @__PURE__ */ jsx16(RefreshPayloadProvider, { onRefresh, children: /* @__PURE__ */ jsx16(ResolvePayloadProvider, { huriPayload, children: /* @__PURE__ */ jsx16(EmbedResolver, { children }) }) });
388
+ };
389
+ var WithValidators = ({ children, validateSchema }) => {
390
+ return /* @__PURE__ */ jsx16(ValidatePayloadProvider, { enabled: validateSchema, children: /* @__PURE__ */ jsx16(ValidatePluginsAlert, { children: /* @__PURE__ */ jsx16(ValidatePayloadAlert, { children }) }) });
391
+ };
392
+
393
+ // src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx
394
+ import { ErrorAlert, ErrorRender } from "@xyo-network/react-error";
395
+
396
+ // src/components/embed-card/error-handling/EmbedErrorCard.tsx
397
+ import { Alert as Alert3, AlertTitle as AlertTitle2, Card as Card2, CardContent as CardContent2, Typography } from "@mui/material";
398
+ import { Fragment as Fragment7, jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
399
+ var EmbedErrorCard = (props) => {
400
+ const { alertProps, error, hideErrorDetails = true, children, ...cardProps } = props;
401
+ const errorProps = { alertProps, error, hideErrorDetails };
402
+ return /* @__PURE__ */ jsx17(Card2, { ...cardProps, children: /* @__PURE__ */ jsx17(CardContent2, { children: children ?? /* @__PURE__ */ jsx17(DefaultErrorAlert, { ...errorProps }) }) });
403
+ };
404
+ var DefaultErrorAlert = ({ alertProps, hideErrorDetails, error }) => {
405
+ return /* @__PURE__ */ jsxs10(Alert3, { severity: "error", ...alertProps, children: [
406
+ /* @__PURE__ */ jsx17(AlertTitle2, { children: "Whoops! Something went wrong" }),
407
+ !hideErrorDetails && error ? /* @__PURE__ */ jsxs10(Fragment7, { children: [
408
+ /* @__PURE__ */ jsx17(Typography, { variant: "caption", children: "Error: " }),
409
+ /* @__PURE__ */ jsx17(Typography, { variant: "caption", children: error?.message })
410
+ ] }) : /* @__PURE__ */ jsx17(Typography, { variant: "caption", fontSize: "small", children: "Error Loading Plugin" })
411
+ ] });
412
+ };
413
+
414
+ // src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx
415
+ import { jsx as jsx18 } from "react/jsx-runtime";
416
+ var EmbedCardApiErrorRenderer = ({ xyoError, children, ...props }) => {
417
+ return /* @__PURE__ */ jsx18(ErrorRender, { error: xyoError, noReAuth: true, noErrorDisplay: true, customError: /* @__PURE__ */ jsx18(CustomApiErrorCard, { xyoError, ...props }), children });
418
+ };
419
+ var CustomApiErrorCard = ({ xyoError, ...props }) => {
420
+ return /* @__PURE__ */ jsx18(EmbedErrorCard, { ...props, children: /* @__PURE__ */ jsx18(ErrorAlert, { error: xyoError }) });
421
+ };
422
+
423
+ // src/components/embed-card/EmbedPluginCard.tsx
424
+ import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
425
+ var ApiEmbedPluginCard = ({ children, ...props }) => {
426
+ const {
427
+ validateSchema,
428
+ plugins = [],
429
+ huriPayload,
430
+ refreshTitle = "",
431
+ timestampLabel = "Data From",
432
+ hideElementsConfig,
433
+ embedPluginConfig,
434
+ onRefresh,
435
+ ...busyCardProps
436
+ } = props;
437
+ return /* @__PURE__ */ jsxs11(
438
+ EmbedPluginInner,
439
+ {
440
+ ...{
441
+ embedPluginConfig,
442
+ hideElementsConfig,
443
+ huriPayload,
444
+ onRefresh,
445
+ plugins,
446
+ refreshTitle,
447
+ timestampLabel,
448
+ validateSchema
449
+ },
450
+ children: [
451
+ /* @__PURE__ */ jsx19(EmbedPluginCardInner, { ...busyCardProps }),
452
+ children
453
+ ]
454
+ }
455
+ );
456
+ };
457
+ var EmbedPluginCardInner = (props) => {
458
+ const { payload, huriError } = useResolvePayload();
459
+ const { refreshPayload } = useRefreshPayload();
460
+ const theme = useTheme();
461
+ return /* @__PURE__ */ jsx19(EmbedCardApiErrorRenderer, { xyoError: huriError, children: /* @__PURE__ */ jsx19(
462
+ EmbedPluginCard,
463
+ {
464
+ elevation: 3,
465
+ variant: "elevation",
466
+ busy: Boolean(!refreshPayload && payload),
467
+ busyVariantProps: { style: { alignItems: "start", paddingTop: theme.spacing(2), zIndex: 2 } },
468
+ sx: { position: "relative" },
469
+ ...props
470
+ }
471
+ ) });
472
+ };
473
+ var EmbedPlugin = EmbedPluginCard;
474
+ export {
475
+ ApiEmbedPluginCard,
476
+ BusyCard,
477
+ EmbedCardHeader,
478
+ EmbedPlugin,
479
+ EmbedPluginCard,
480
+ EmbedPluginCardInner
481
+ };
3
482
  //# sourceMappingURL=index.js.map