@xyo-network/react-embed 2.64.0 → 2.64.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,9 +1,201 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/components/EmbedPlugin.tsx
2
2
  import { ErrorBoundary, ListModeProvider } from "@xyo-network/react-shared";
3
- import { EmbedPluginProvider, RefreshPayloadProvider, ResolvePayloadProvider, ValidatePayloadProvider } from "../contexts";
4
- import { EmbedResolver } from "./EmbedResolver";
5
- import { ValidatePayloadAlert, ValidatePluginsAlert } from "./validation-alerts";
6
- const EmbedPluginInner = ({
3
+
4
+ // src/contexts/EmbedPluginContext/Context.tsx
5
+ import { createContextEx } from "@xyo-network/react-shared";
6
+ var EmbedPluginContext = createContextEx();
7
+
8
+ // src/contexts/EmbedPluginContext/Provider.tsx
9
+ import { useEffect, useState } from "react";
10
+ import { jsx } from "react/jsx-runtime";
11
+ var EmbedPluginProvider = ({
12
+ children,
13
+ refreshTitle,
14
+ timestampLabel,
15
+ hideElementsConfig,
16
+ plugins,
17
+ embedPluginConfig
18
+ }) => {
19
+ const [activePlugin, setActivePlugin] = useState(plugins ? plugins[0] : void 0);
20
+ useEffect(() => {
21
+ setActivePlugin(plugins ? plugins[0] : void 0);
22
+ }, [plugins]);
23
+ return /* @__PURE__ */ jsx(
24
+ EmbedPluginContext.Provider,
25
+ {
26
+ value: {
27
+ activePlugin,
28
+ embedPluginConfig,
29
+ hideElementsConfig,
30
+ provided: true,
31
+ refreshTitle,
32
+ setActivePlugin,
33
+ timestampLabel
34
+ },
35
+ children
36
+ }
37
+ );
38
+ };
39
+
40
+ // src/contexts/EmbedPluginContext/use.tsx
41
+ import { useContextEx } from "@xyo-network/react-shared";
42
+ var useEmbedPluginState = () => useContextEx(EmbedPluginContext, "EmbedPlugin", true);
43
+
44
+ // src/contexts/RefreshPayloadContext/Provider.tsx
45
+ import { useState as useState2 } from "react";
46
+
47
+ // src/contexts/RefreshPayloadContext/Context.tsx
48
+ import { createContextEx as createContextEx2 } from "@xyo-network/react-shared";
49
+ var RefreshPayloadContext = createContextEx2();
50
+
51
+ // src/contexts/RefreshPayloadContext/Provider.tsx
52
+ import { jsx as jsx2 } from "react/jsx-runtime";
53
+ var RefreshPayloadProvider = ({ children, onRefresh, refreshPayload }) => {
54
+ const [localRefreshPayload, setRefreshPayload] = useState2(refreshPayload);
55
+ return /* @__PURE__ */ jsx2(RefreshPayloadContext.Provider, { value: { onRefresh, provided: true, refreshPayload: localRefreshPayload, setRefreshPayload }, children });
56
+ };
57
+
58
+ // src/contexts/RefreshPayloadContext/use.tsx
59
+ import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
60
+ var useRefreshPayload = () => useContextEx2(RefreshPayloadContext, "RefreshPayload", true);
61
+
62
+ // src/contexts/ResolvePayloadContext/Context.ts
63
+ import { createContextEx as createContextEx3 } from "@xyo-network/react-shared";
64
+ var ResolvePayloadContext = createContextEx3();
65
+
66
+ // src/contexts/ResolvePayloadContext/Provider.tsx
67
+ import { delay } from "@xylabs/delay";
68
+ import { useAsyncEffect } from "@xylabs/react-async-effect";
69
+ import { Huri } from "@xyo-network/huri";
70
+ import { ModuleErrorSchema } from "@xyo-network/payload-model";
71
+ import { useEffect as useEffect2, useState as useState3 } from "react";
72
+ import { jsx as jsx3 } from "react/jsx-runtime";
73
+ var ResolvePayloadProvider = ({ children, huriPayload }) => {
74
+ const [payload, setPayload] = useState3();
75
+ const [huri, setHuri] = useState3();
76
+ const { refreshPayload, setRefreshPayload, onRefresh } = useRefreshPayload();
77
+ useEffect2(() => {
78
+ typeof huriPayload === "string" ? setHuri(huriPayload) : void 0;
79
+ if (typeof huriPayload === "object") {
80
+ setPayload(huriPayload);
81
+ setRefreshPayload?.(true);
82
+ }
83
+ }, [huriPayload, setRefreshPayload]);
84
+ const [notFound, setNotFound] = useState3();
85
+ const [huriError, setHuriError] = useState3();
86
+ useAsyncEffect(
87
+ // eslint-disable-next-line react-hooks/exhaustive-deps
88
+ async (mounted) => {
89
+ if (huri && !refreshPayload) {
90
+ try {
91
+ const huriInstance = new Huri(huri);
92
+ const result = await huriInstance.fetch();
93
+ await delay(500);
94
+ if (mounted()) {
95
+ setNotFound(result === null);
96
+ setPayload(result);
97
+ setRefreshPayload?.(true);
98
+ }
99
+ } catch (e) {
100
+ const error = e;
101
+ setHuriError({ message: error.message, schema: ModuleErrorSchema, sources: [] });
102
+ }
103
+ }
104
+ },
105
+ [huri, payload, refreshPayload, setRefreshPayload]
106
+ );
107
+ const refreshHuri = () => {
108
+ onRefresh?.();
109
+ if (huri) {
110
+ setRefreshPayload?.(false);
111
+ }
112
+ };
113
+ return /* @__PURE__ */ jsx3(ResolvePayloadContext.Provider, { value: { huri, huriError, notFound, payload, provided: true, refreshHuri, setPayload }, children });
114
+ };
115
+
116
+ // src/contexts/ResolvePayloadContext/use.tsx
117
+ import { useContextEx as useContextEx3 } from "@xyo-network/react-shared";
118
+ var useResolvePayload = () => useContextEx3(ResolvePayloadContext, "ResolvePayload", true);
119
+
120
+ // src/contexts/ValidatePayloadContext/Provider.tsx
121
+ import { Chip } from "@mui/material";
122
+ import { useAsyncEffect as useAsyncEffect2 } from "@xylabs/react-async-effect";
123
+ import { SchemaCache } from "@xyo-network/schema-cache";
124
+ import { useState as useState4 } from "react";
125
+
126
+ // src/contexts/ValidatePayloadContext/Context.ts
127
+ import { createContextEx as createContextEx4 } from "@xyo-network/react-shared";
128
+ var ValidatePayloadContext = createContextEx4();
129
+
130
+ // src/contexts/ValidatePayloadContext/Provider.tsx
131
+ import { Fragment, jsx as jsx4 } from "react/jsx-runtime";
132
+ var ValidatePayloadProvider = ({ children, enabled = false }) => {
133
+ const { payload } = useResolvePayload();
134
+ const [initialized, setInitialized] = useState4(false);
135
+ const [valid, setValid] = useState4();
136
+ useAsyncEffect2(
137
+ // eslint-disable-next-line react-hooks/exhaustive-deps
138
+ async () => {
139
+ if (payload && enabled) {
140
+ await SchemaCache.instance.get(payload.schema);
141
+ const possibleKnownSchema = payload.schema;
142
+ if (SchemaCache.instance.validators[possibleKnownSchema]) {
143
+ const validator = SchemaCache.instance.validators[possibleKnownSchema];
144
+ setValid(validator?.(payload));
145
+ }
146
+ setInitialized(true);
147
+ }
148
+ },
149
+ [payload, enabled]
150
+ );
151
+ return /* @__PURE__ */ jsx4(ValidatePayloadContext.Provider, { value: { enabled, provided: true, schema: payload?.schema, validPayload: valid }, children: enabled ? /* @__PURE__ */ jsx4(Fragment, { children: initialized ? children : /* @__PURE__ */ jsx4(Chip, { label: "Validating Payload..." }) }) : children });
152
+ };
153
+
154
+ // src/contexts/ValidatePayloadContext/use.tsx
155
+ import { useContextEx as useContextEx4 } from "@xyo-network/react-shared";
156
+ var useValidatePayload = () => useContextEx4(ValidatePayloadContext, "ValidateSchema", true);
157
+
158
+ // src/components/EmbedResolver.tsx
159
+ import { LoadResult } from "@xyo-network/react-shared";
160
+ import { jsx as jsx5 } from "react/jsx-runtime";
161
+ var EmbedResolver = ({ children }) => {
162
+ const { payload, notFound, huriError } = useResolvePayload();
163
+ return /* @__PURE__ */ jsx5(LoadResult, { searchResult: payload, notFound: !!notFound, error: !!huriError, children });
164
+ };
165
+
166
+ // src/components/validation-alerts/ValidatePayload.tsx
167
+ import { Alert } from "@mui/material";
168
+ import { Fragment as Fragment2, jsx as jsx6, jsxs } from "react/jsx-runtime";
169
+ var ValidatePayloadAlert = ({ children, ...props }) => {
170
+ const { validPayload, enabled, schema } = useValidatePayload();
171
+ if (enabled && validPayload === false) {
172
+ return /* @__PURE__ */ jsxs(Alert, { severity: "error", title: "Invalid Payload!", ...props, children: [
173
+ "Payload schema claimed to be ",
174
+ schema,
175
+ " but failed to validate."
176
+ ] });
177
+ }
178
+ return /* @__PURE__ */ jsx6(Fragment2, { children });
179
+ };
180
+
181
+ // src/components/validation-alerts/ValidatePlugins.tsx
182
+ import { Alert as Alert2, AlertTitle } from "@mui/material";
183
+ import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
184
+ var ValidatePluginsAlert = ({ children, ...props }) => {
185
+ const { payload } = useResolvePayload();
186
+ const { plugins } = useEmbedPluginState();
187
+ if (payload && plugins?.length === 0) {
188
+ return /* @__PURE__ */ jsxs2(Alert2, { severity: "warning", ...props, children: [
189
+ /* @__PURE__ */ jsx7(AlertTitle, { children: "Missing plugins!" }),
190
+ "Payload found but no plugins were present."
191
+ ] });
192
+ }
193
+ return /* @__PURE__ */ jsx7(Fragment3, { children });
194
+ };
195
+
196
+ // src/components/EmbedPlugin.tsx
197
+ import { jsx as jsx8 } from "react/jsx-runtime";
198
+ var EmbedPluginInner = ({
7
199
  validateSchema,
8
200
  plugins = [],
9
201
  huriPayload,
@@ -14,7 +206,7 @@ const EmbedPluginInner = ({
14
206
  onRefresh,
15
207
  children
16
208
  }) => {
17
- return /* @__PURE__ */ jsx(ErrorBoundary, { children: /* @__PURE__ */ jsx(
209
+ return /* @__PURE__ */ jsx8(ErrorBoundary, { children: /* @__PURE__ */ jsx8(
18
210
  EmbedPluginProvider,
19
211
  {
20
212
  refreshTitle,
@@ -22,15 +214,15 @@ const EmbedPluginInner = ({
22
214
  hideElementsConfig,
23
215
  plugins,
24
216
  embedPluginConfig,
25
- children: /* @__PURE__ */ jsx(WithResolvers, { onRefresh, huriPayload, children: /* @__PURE__ */ jsx(WithValidators, { validateSchema, children: /* @__PURE__ */ jsx(ListModeProvider, { defaultListMode: embedPluginConfig?.listMode, children }) }) })
217
+ children: /* @__PURE__ */ jsx8(WithResolvers, { onRefresh, huriPayload, children: /* @__PURE__ */ jsx8(WithValidators, { validateSchema, children: /* @__PURE__ */ jsx8(ListModeProvider, { defaultListMode: embedPluginConfig?.listMode, children }) }) })
26
218
  }
27
219
  ) });
28
220
  };
29
- const WithResolvers = ({ children, onRefresh, huriPayload }) => {
30
- return /* @__PURE__ */ jsx(RefreshPayloadProvider, { onRefresh, children: /* @__PURE__ */ jsx(ResolvePayloadProvider, { huriPayload, children: /* @__PURE__ */ jsx(EmbedResolver, { children }) }) });
221
+ var WithResolvers = ({ children, onRefresh, huriPayload }) => {
222
+ return /* @__PURE__ */ jsx8(RefreshPayloadProvider, { onRefresh, children: /* @__PURE__ */ jsx8(ResolvePayloadProvider, { huriPayload, children: /* @__PURE__ */ jsx8(EmbedResolver, { children }) }) });
31
223
  };
32
- const WithValidators = ({ children, validateSchema }) => {
33
- return /* @__PURE__ */ jsx(ValidatePayloadProvider, { enabled: validateSchema, children: /* @__PURE__ */ jsx(ValidatePluginsAlert, { children: /* @__PURE__ */ jsx(ValidatePayloadAlert, { children }) }) });
224
+ var WithValidators = ({ children, validateSchema }) => {
225
+ return /* @__PURE__ */ jsx8(ValidatePayloadProvider, { enabled: validateSchema, children: /* @__PURE__ */ jsx8(ValidatePluginsAlert, { children: /* @__PURE__ */ jsx8(ValidatePayloadAlert, { children }) }) });
34
226
  };
35
227
  export {
36
228
  EmbedPluginInner
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/EmbedPlugin.tsx"],"sourcesContent":["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"],"mappings":"AA+BY;AA7BZ,SAAS,eAAe,wBAAwB;AAEhD,SAAS,qBAAqB,wBAAwB,wBAAwB,+BAA+B;AAE7G,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB,4BAA4B;AAEpD,MAAM,mBAA6D,CAAC;AAAA,EACzE;AAAA,EACA,UAAU,CAAC;AAAA,EACX;AAAA,EACA,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,SACE,oBAAC,iBACC;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,8BAAC,iBAAc,WAAsB,aACnC,8BAAC,kBAAe,gBACd,8BAAC,oBAAiB,iBAAiB,mBAAmB,UAAW,UAAS,GAC5E,GACF;AAAA;AAAA,EACF,GACF;AAEJ;AAIA,MAAM,gBAA4D,CAAC,EAAE,UAAU,WAAW,YAAY,MAAM;AAC1G,SACE,oBAAC,0BAAuB,WACtB,8BAAC,0BAAuB,aACtB,8BAAC,iBAAe,UAAS,GAC3B,GACF;AAEJ;AAEA,MAAM,iBAAuE,CAAC,EAAE,UAAU,eAAe,MAAM;AAC7G,SACE,oBAAC,2BAAwB,SAAS,gBAChC,8BAAC,wBACC,8BAAC,wBAAsB,UAAS,GAClC,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/EmbedPlugin.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/EmbedResolver.tsx","../../../src/components/validation-alerts/ValidatePayload.tsx","../../../src/components/validation-alerts/ValidatePlugins.tsx"],"sourcesContent":["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 { 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 ? <>{initialized ? children : <Chip label=\"Validating Payload...\" />}</> : 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 { 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"],"mappings":"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","names":["useState","createContextEx","jsx","useState","useContextEx","useContextEx","createContextEx","useEffect","useState","jsx","useState","useEffect","useContextEx","useContextEx","useAsyncEffect","useState","createContextEx","jsx","useState","useAsyncEffect","useContextEx","useContextEx","jsx","Fragment","jsx","Alert","Fragment","jsx","jsxs","Alert","jsx"]}
@@ -1,7 +1,17 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/components/EmbedResolver.tsx
2
2
  import { LoadResult } from "@xyo-network/react-shared";
3
- import { useResolvePayload } from "../contexts";
4
- const EmbedResolver = ({ children }) => {
3
+
4
+ // src/contexts/ResolvePayloadContext/Context.ts
5
+ import { createContextEx } from "@xyo-network/react-shared";
6
+ var ResolvePayloadContext = createContextEx();
7
+
8
+ // src/contexts/ResolvePayloadContext/use.tsx
9
+ import { useContextEx } from "@xyo-network/react-shared";
10
+ var useResolvePayload = () => useContextEx(ResolvePayloadContext, "ResolvePayload", true);
11
+
12
+ // src/components/EmbedResolver.tsx
13
+ import { jsx } from "react/jsx-runtime";
14
+ var EmbedResolver = ({ children }) => {
5
15
  const { payload, notFound, huriError } = useResolvePayload();
6
16
  return /* @__PURE__ */ jsx(LoadResult, { searchResult: payload, notFound: !!notFound, error: !!huriError, children });
7
17
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/EmbedResolver.tsx"],"sourcesContent":["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"],"mappings":"AASI;AARJ,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAE3B,MAAM,gBAAwC,CAAC,EAAE,SAAS,MAAM;AACrE,QAAM,EAAE,SAAS,UAAU,UAAU,IAAI,kBAAkB;AAE3D,SACE,oBAAC,cAAW,cAAc,SAAS,UAAU,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,WAC/D,UACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/EmbedResolver.tsx","../../../src/contexts/ResolvePayloadContext/Context.ts","../../../src/contexts/ResolvePayloadContext/use.tsx"],"sourcesContent":["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 { createContextEx } from '@xyo-network/react-shared'\n\nimport { ResolvePayloadState } from './State'\n\nexport const ResolvePayloadContext = createContextEx<ResolvePayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ResolvePayloadContext } from './Context'\n\nexport const useResolvePayload = () => useContextEx(ResolvePayloadContext, 'ResolvePayload', true)\n"],"mappings":";AACA,SAAS,kBAAkB;;;ACD3B,SAAS,uBAAuB;AAIzB,IAAM,wBAAwB,gBAAqC;;;ACJ1E,SAAS,oBAAoB;AAItB,IAAM,oBAAoB,MAAM,aAAa,uBAAuB,kBAAkB,IAAI;;;AFK7F;AAJG,IAAM,gBAAwC,CAAC,EAAE,SAAS,MAAM;AACrE,QAAM,EAAE,SAAS,UAAU,UAAU,IAAI,kBAAkB;AAE3D,SACE,oBAAC,cAAW,cAAc,SAAS,UAAU,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,WAC/D,UACH;AAEJ;","names":[]}
@@ -1,6 +1,7 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/controls/EmbedFormControl.tsx
2
2
  import { FormControl, InputLabel } from "@mui/material";
3
- const EmbedFormControl = ({ formId, formLabel, children, ...props }) => {
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var EmbedFormControl = ({ formId, formLabel, children, ...props }) => {
4
5
  return /* @__PURE__ */ jsxs(FormControl, { ...props, children: [
5
6
  /* @__PURE__ */ jsx(InputLabel, { id: formId, children: formLabel }),
6
7
  children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/controls/EmbedFormControl.tsx"],"sourcesContent":["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"],"mappings":"AAUI,SACE,KADF;AAVJ,SAAS,aAA+B,kBAAkB;AAQnD,MAAM,mBAAkE,CAAC,EAAE,QAAQ,WAAW,UAAU,GAAG,MAAM,MAAM;AAC5H,SACE,qBAAC,eAAa,GAAG,OACf;AAAA,wBAAC,cAAW,IAAI,QAAS,qBAAU;AAAA,IAClC;AAAA,KACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/controls/EmbedFormControl.tsx"],"sourcesContent":["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"],"mappings":";AAAA,SAAS,aAA+B,kBAAkB;AAUtD,SACE,KADF;AAFG,IAAM,mBAAkE,CAAC,EAAE,QAAQ,WAAW,UAAU,GAAG,MAAM,MAAM;AAC5H,SACE,qBAAC,eAAa,GAAG,OACf;AAAA,wBAAC,cAAW,IAAI,QAAS,qBAAU;AAAA,IAClC;AAAA,KACH;AAEJ;","names":[]}
@@ -1,12 +1,24 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/controls/ListModeSelect.tsx
2
2
  import { MenuItem, Select } from "@mui/material";
3
3
  import { useListMode } from "@xyo-network/react-shared";
4
- import { EmbedFormControl } from "./EmbedFormControl";
5
- const listModeSelectId = "listmode-select-id";
6
- const listModeSelectLabel = "List Mode";
7
- const ListModeSelect = (props) => {
4
+
5
+ // src/components/controls/EmbedFormControl.tsx
6
+ import { FormControl, InputLabel } from "@mui/material";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ var EmbedFormControl = ({ formId, formLabel, children, ...props }) => {
9
+ return /* @__PURE__ */ jsxs(FormControl, { ...props, children: [
10
+ /* @__PURE__ */ jsx(InputLabel, { id: formId, children: formLabel }),
11
+ children
12
+ ] });
13
+ };
14
+
15
+ // src/components/controls/ListModeSelect.tsx
16
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
17
+ var listModeSelectId = "listmode-select-id";
18
+ var listModeSelectLabel = "List Mode";
19
+ var ListModeSelect = (props) => {
8
20
  const { listMode, setListMode } = useListMode();
9
- return /* @__PURE__ */ jsxs(
21
+ return /* @__PURE__ */ jsxs2(
10
22
  Select,
11
23
  {
12
24
  value: listMode ?? "default",
@@ -15,15 +27,15 @@ const ListModeSelect = (props) => {
15
27
  },
16
28
  ...props,
17
29
  children: [
18
- /* @__PURE__ */ jsx(MenuItem, { value: "default", children: "Default" }, "default"),
19
- /* @__PURE__ */ jsx(MenuItem, { value: "table", children: "Table" }, "table"),
20
- /* @__PURE__ */ jsx(MenuItem, { value: "grid", children: "Grid" }, "grid")
30
+ /* @__PURE__ */ jsx2(MenuItem, { value: "default", children: "Default" }, "default"),
31
+ /* @__PURE__ */ jsx2(MenuItem, { value: "table", children: "Table" }, "table"),
32
+ /* @__PURE__ */ jsx2(MenuItem, { value: "grid", children: "Grid" }, "grid")
21
33
  ]
22
34
  }
23
35
  );
24
36
  };
25
- const ListModeSelectFormControl = (props) => {
26
- return /* @__PURE__ */ jsx(EmbedFormControl, { formId: listModeSelectId, formLabel: listModeSelectLabel, children: /* @__PURE__ */ jsx(ListModeSelect, { size: "small", label: listModeSelectLabel, labelId: listModeSelectId, ...props }) });
37
+ var ListModeSelectFormControl = (props) => {
38
+ return /* @__PURE__ */ jsx2(EmbedFormControl, { formId: listModeSelectId, formLabel: listModeSelectLabel, children: /* @__PURE__ */ jsx2(ListModeSelect, { size: "small", label: listModeSelectLabel, labelId: listModeSelectId, ...props }) });
27
39
  };
28
40
  export {
29
41
  ListModeSelect,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/controls/ListModeSelect.tsx"],"sourcesContent":["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"],"mappings":"AAYI,SAOE,KAPF;AAZJ,SAAS,UAAU,cAA2B;AAC9C,SAAmB,mBAAmB;AAEtC,SAAS,wBAAwB;AAEjC,MAAM,mBAAmB;AACzB,MAAM,sBAAsB;AAErB,MAAM,iBAAkD,CAAC,UAAU;AACxE,QAAM,EAAE,UAAU,YAAY,IAAI,YAAY;AAE9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAQ,YAAY;AAAA,MACpB,UAAU,CAAC,UAAU;AACnB,sBAAc,MAAM,OAAO,KAAiB;AAAA,MAC9C;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,4BAAC,YAAuB,OAAM,WAAU,uBAA1B,SAEd;AAAA,QACA,oBAAC,YAAqB,OAAM,SAAQ,qBAAtB,OAEd;AAAA,QACA,oBAAC,YAAoB,OAAM,QAAO,oBAApB,MAEd;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,MAAM,4BAA6D,CAAC,UAAU;AACnF,SACE,oBAAC,oBAAiB,QAAQ,kBAAkB,WAAW,qBACrD,8BAAC,kBAAe,MAAK,SAAQ,OAAO,qBAAqB,SAAS,kBAAmB,GAAG,OAAO,GACjG;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/controls/ListModeSelect.tsx","../../../../src/components/controls/EmbedFormControl.tsx"],"sourcesContent":["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 { 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"],"mappings":";AAAA,SAAS,UAAU,cAA2B;AAC9C,SAAmB,mBAAmB;;;ACDtC,SAAS,aAA+B,kBAAkB;AAUtD,SACE,KADF;AAFG,IAAM,mBAAkE,CAAC,EAAE,QAAQ,WAAW,UAAU,GAAG,MAAM,MAAM;AAC5H,SACE,qBAAC,eAAa,GAAG,OACf;AAAA,wBAAC,cAAW,IAAI,QAAS,qBAAU;AAAA,IAClC;AAAA,KACH;AAEJ;;;ADHI,SAOE,OAAAA,MAPF,QAAAC,aAAA;AAPJ,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAErB,IAAM,iBAAkD,CAAC,UAAU;AACxE,QAAM,EAAE,UAAU,YAAY,IAAI,YAAY;AAE9C,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAQ,YAAY;AAAA,MACpB,UAAU,CAAC,UAAU;AACnB,sBAAc,MAAM,OAAO,KAAiB;AAAA,MAC9C;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,wBAAAD,KAAC,YAAuB,OAAM,WAAU,uBAA1B,SAEd;AAAA,QACA,gBAAAA,KAAC,YAAqB,OAAM,SAAQ,qBAAtB,OAEd;AAAA,QACA,gBAAAA,KAAC,YAAoB,OAAM,QAAO,oBAApB,MAEd;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,IAAM,4BAA6D,CAAC,UAAU;AACnF,SACE,gBAAAA,KAAC,oBAAiB,QAAQ,kBAAkB,WAAW,qBACrD,0BAAAA,KAAC,kBAAe,MAAK,SAAQ,OAAO,qBAAqB,SAAS,kBAAmB,GAAG,OAAO,GACjG;AAEJ;","names":["jsx","jsxs"]}
@@ -1,12 +1,31 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/components/controls/RenderSelect.tsx
2
2
  import { MenuItem, Select } from "@mui/material";
3
- import { useEmbedPluginState } from "../../contexts";
4
- import { EmbedFormControl } from "./EmbedFormControl";
5
- const renderSelectId = "render-select-id";
6
- const renderSelectLabel = "Renderer";
7
- const EmbedRenderSelect = (props) => {
3
+
4
+ // src/contexts/EmbedPluginContext/Context.tsx
5
+ import { createContextEx } from "@xyo-network/react-shared";
6
+ var EmbedPluginContext = createContextEx();
7
+
8
+ // src/contexts/EmbedPluginContext/use.tsx
9
+ import { useContextEx } from "@xyo-network/react-shared";
10
+ var useEmbedPluginState = () => useContextEx(EmbedPluginContext, "EmbedPlugin", true);
11
+
12
+ // src/components/controls/EmbedFormControl.tsx
13
+ import { FormControl, InputLabel } from "@mui/material";
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ var EmbedFormControl = ({ formId, formLabel, children, ...props }) => {
16
+ return /* @__PURE__ */ jsxs(FormControl, { ...props, children: [
17
+ /* @__PURE__ */ jsx(InputLabel, { id: formId, children: formLabel }),
18
+ children
19
+ ] });
20
+ };
21
+
22
+ // src/components/controls/RenderSelect.tsx
23
+ import { jsx as jsx2 } from "react/jsx-runtime";
24
+ var renderSelectId = "render-select-id";
25
+ var renderSelectLabel = "Renderer";
26
+ var EmbedRenderSelect = (props) => {
8
27
  const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState();
9
- return /* @__PURE__ */ jsx(EmbedFormControl, { formId: renderSelectId, formLabel: renderSelectLabel, children: /* @__PURE__ */ jsx(Select, { size: "small", value: activePlugin?.name, ...props, children: plugins?.map((plugin) => /* @__PURE__ */ jsx(MenuItem, { value: plugin.name, onClick: () => setActivePlugin?.(plugin), children: plugin.name }, plugin.name)) }) });
28
+ return /* @__PURE__ */ jsx2(EmbedFormControl, { formId: renderSelectId, formLabel: renderSelectLabel, children: /* @__PURE__ */ jsx2(Select, { size: "small", value: activePlugin?.name, ...props, children: plugins?.map((plugin) => /* @__PURE__ */ jsx2(MenuItem, { value: plugin.name, onClick: () => setActivePlugin?.(plugin), children: plugin.name }, plugin.name)) }) });
10
29
  };
11
30
  export {
12
31
  EmbedRenderSelect
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/controls/RenderSelect.tsx"],"sourcesContent":["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"],"mappings":"AAcU;AAdV,SAAS,UAAU,cAA2B;AAE9C,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AAEjC,MAAM,iBAAiB;AACvB,MAAM,oBAAoB;AAEnB,MAAM,oBAA2C,CAAC,UAAU;AACjE,QAAM,EAAE,cAAc,iBAAiB,QAAQ,IAAI,oBAAoB;AACvE,SACE,oBAAC,oBAAiB,QAAQ,gBAAgB,WAAW,mBACnD,8BAAC,UAAO,MAAK,SAAQ,OAAO,cAAc,MAAO,GAAG,OACjD,mBAAS,IAAI,CAAC,WACb,oBAAC,YAAS,OAAO,OAAO,MAAwB,SAAS,MAAM,kBAAkB,MAAM,GACpF,iBAAO,QADyB,OAAO,IAE1C,CACD,GACH,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/controls/RenderSelect.tsx","../../../../src/contexts/EmbedPluginContext/Context.tsx","../../../../src/contexts/EmbedPluginContext/use.tsx","../../../../src/components/controls/EmbedFormControl.tsx"],"sourcesContent":["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 { createContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginState } from './State'\n\nexport const EmbedPluginContext = createContextEx<EmbedPluginState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginContext } from './Context'\n\nexport const useEmbedPluginState = () => useContextEx(EmbedPluginContext, 'EmbedPlugin', true)\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"],"mappings":";AAAA,SAAS,UAAU,cAA2B;;;ACA9C,SAAS,uBAAuB;AAIzB,IAAM,qBAAqB,gBAAkC;;;ACJpE,SAAS,oBAAoB;AAItB,IAAM,sBAAsB,MAAM,aAAa,oBAAoB,eAAe,IAAI;;;ACJ7F,SAAS,aAA+B,kBAAkB;AAUtD,SACE,KADF;AAFG,IAAM,mBAAkE,CAAC,EAAE,QAAQ,WAAW,UAAU,GAAG,MAAM,MAAM;AAC5H,SACE,qBAAC,eAAa,GAAG,OACf;AAAA,wBAAC,cAAW,IAAI,QAAS,qBAAU;AAAA,IAClC;AAAA,KACH;AAEJ;;;AHDU,gBAAAA,YAAA;AATV,IAAM,iBAAiB;AACvB,IAAM,oBAAoB;AAEnB,IAAM,oBAA2C,CAAC,UAAU;AACjE,QAAM,EAAE,cAAc,iBAAiB,QAAQ,IAAI,oBAAoB;AACvE,SACE,gBAAAA,KAAC,oBAAiB,QAAQ,gBAAgB,WAAW,mBACnD,0BAAAA,KAAC,UAAO,MAAK,SAAQ,OAAO,cAAc,MAAO,GAAG,OACjD,mBAAS,IAAI,CAAC,WACb,gBAAAA,KAAC,YAAS,OAAO,OAAO,MAAwB,SAAS,MAAM,kBAAkB,MAAM,GACpF,iBAAO,QADyB,OAAO,IAE1C,CACD,GACH,GACF;AAEJ;","names":["jsx"]}
@@ -1,4 +1,64 @@
1
- export * from "./EmbedFormControl";
2
- export * from "./ListModeSelect";
3
- export * from "./RenderSelect";
1
+ // src/components/controls/EmbedFormControl.tsx
2
+ import { FormControl, InputLabel } from "@mui/material";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var EmbedFormControl = ({ formId, formLabel, children, ...props }) => {
5
+ return /* @__PURE__ */ jsxs(FormControl, { ...props, children: [
6
+ /* @__PURE__ */ jsx(InputLabel, { id: formId, children: formLabel }),
7
+ children
8
+ ] });
9
+ };
10
+
11
+ // src/components/controls/ListModeSelect.tsx
12
+ import { MenuItem, Select } from "@mui/material";
13
+ import { useListMode } from "@xyo-network/react-shared";
14
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
15
+ var listModeSelectId = "listmode-select-id";
16
+ var listModeSelectLabel = "List Mode";
17
+ var ListModeSelect = (props) => {
18
+ const { listMode, setListMode } = useListMode();
19
+ return /* @__PURE__ */ jsxs2(
20
+ Select,
21
+ {
22
+ value: listMode ?? "default",
23
+ onChange: (event) => {
24
+ setListMode?.(event.target.value);
25
+ },
26
+ ...props,
27
+ children: [
28
+ /* @__PURE__ */ jsx2(MenuItem, { value: "default", children: "Default" }, "default"),
29
+ /* @__PURE__ */ jsx2(MenuItem, { value: "table", children: "Table" }, "table"),
30
+ /* @__PURE__ */ jsx2(MenuItem, { value: "grid", children: "Grid" }, "grid")
31
+ ]
32
+ }
33
+ );
34
+ };
35
+ var ListModeSelectFormControl = (props) => {
36
+ return /* @__PURE__ */ jsx2(EmbedFormControl, { formId: listModeSelectId, formLabel: listModeSelectLabel, children: /* @__PURE__ */ jsx2(ListModeSelect, { size: "small", label: listModeSelectLabel, labelId: listModeSelectId, ...props }) });
37
+ };
38
+
39
+ // src/components/controls/RenderSelect.tsx
40
+ import { MenuItem as MenuItem2, Select as Select2 } from "@mui/material";
41
+
42
+ // src/contexts/EmbedPluginContext/Context.tsx
43
+ import { createContextEx } from "@xyo-network/react-shared";
44
+ var EmbedPluginContext = createContextEx();
45
+
46
+ // src/contexts/EmbedPluginContext/use.tsx
47
+ import { useContextEx } from "@xyo-network/react-shared";
48
+ var useEmbedPluginState = () => useContextEx(EmbedPluginContext, "EmbedPlugin", true);
49
+
50
+ // src/components/controls/RenderSelect.tsx
51
+ import { jsx as jsx3 } from "react/jsx-runtime";
52
+ var renderSelectId = "render-select-id";
53
+ var renderSelectLabel = "Renderer";
54
+ var EmbedRenderSelect = (props) => {
55
+ const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState();
56
+ return /* @__PURE__ */ jsx3(EmbedFormControl, { formId: renderSelectId, formLabel: renderSelectLabel, children: /* @__PURE__ */ jsx3(Select2, { size: "small", value: activePlugin?.name, ...props, children: plugins?.map((plugin) => /* @__PURE__ */ jsx3(MenuItem2, { value: plugin.name, onClick: () => setActivePlugin?.(plugin), children: plugin.name }, plugin.name)) }) });
57
+ };
58
+ export {
59
+ EmbedFormControl,
60
+ EmbedRenderSelect,
61
+ ListModeSelect,
62
+ ListModeSelectFormControl
63
+ };
4
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/controls/index.ts"],"sourcesContent":["export * from './EmbedFormControl'\nexport * from './ListModeSelect'\nexport * from './RenderSelect'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/controls/EmbedFormControl.tsx","../../../../src/components/controls/ListModeSelect.tsx","../../../../src/components/controls/RenderSelect.tsx","../../../../src/contexts/EmbedPluginContext/Context.tsx","../../../../src/contexts/EmbedPluginContext/use.tsx"],"sourcesContent":["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 { createContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginState } from './State'\n\nexport const EmbedPluginContext = createContextEx<EmbedPluginState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginContext } from './Context'\n\nexport const useEmbedPluginState = () => useContextEx(EmbedPluginContext, 'EmbedPlugin', true)\n"],"mappings":";AAAA,SAAS,aAA+B,kBAAkB;AAUtD,SACE,KADF;AAFG,IAAM,mBAAkE,CAAC,EAAE,QAAQ,WAAW,UAAU,GAAG,MAAM,MAAM;AAC5H,SACE,qBAAC,eAAa,GAAG,OACf;AAAA,wBAAC,cAAW,IAAI,QAAS,qBAAU;AAAA,IAClC;AAAA,KACH;AAEJ;;;ACfA,SAAS,UAAU,cAA2B;AAC9C,SAAmB,mBAAmB;AAWlC,SAOE,OAAAA,MAPF,QAAAC,aAAA;AAPJ,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAErB,IAAM,iBAAkD,CAAC,UAAU;AACxE,QAAM,EAAE,UAAU,YAAY,IAAI,YAAY;AAE9C,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAQ,YAAY;AAAA,MACpB,UAAU,CAAC,UAAU;AACnB,sBAAc,MAAM,OAAO,KAAiB;AAAA,MAC9C;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,wBAAAD,KAAC,YAAuB,OAAM,WAAU,uBAA1B,SAEd;AAAA,QACA,gBAAAA,KAAC,YAAqB,OAAM,SAAQ,qBAAtB,OAEd;AAAA,QACA,gBAAAA,KAAC,YAAoB,OAAM,QAAO,oBAApB,MAEd;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,IAAM,4BAA6D,CAAC,UAAU;AACnF,SACE,gBAAAA,KAAC,oBAAiB,QAAQ,kBAAkB,WAAW,qBACrD,0BAAAA,KAAC,kBAAe,MAAK,SAAQ,OAAO,qBAAqB,SAAS,kBAAmB,GAAG,OAAO,GACjG;AAEJ;;;ACtCA,SAAS,YAAAE,WAAU,UAAAC,eAA2B;;;ACA9C,SAAS,uBAAuB;AAIzB,IAAM,qBAAqB,gBAAkC;;;ACJpE,SAAS,oBAAoB;AAItB,IAAM,sBAAsB,MAAM,aAAa,oBAAoB,eAAe,IAAI;;;AFUnF,gBAAAC,YAAA;AATV,IAAM,iBAAiB;AACvB,IAAM,oBAAoB;AAEnB,IAAM,oBAA2C,CAAC,UAAU;AACjE,QAAM,EAAE,cAAc,iBAAiB,QAAQ,IAAI,oBAAoB;AACvE,SACE,gBAAAA,KAAC,oBAAiB,QAAQ,gBAAgB,WAAW,mBACnD,0BAAAA,KAACC,SAAA,EAAO,MAAK,SAAQ,OAAO,cAAc,MAAO,GAAG,OACjD,mBAAS,IAAI,CAAC,WACb,gBAAAD,KAACE,WAAA,EAAS,OAAO,OAAO,MAAwB,SAAS,MAAM,kBAAkB,MAAM,GACpF,iBAAO,QADyB,OAAO,IAE1C,CACD,GACH,GACF;AAEJ;","names":["jsx","jsxs","MenuItem","Select","jsx","Select","MenuItem"]}
@@ -1,14 +1,61 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/components/embed-card/EmbedCardResolver.tsx
2
2
  import { useTheme } from "@mui/material";
3
3
  import { FlexCol } from "@xylabs/react-flexbox";
4
4
  import { LoadResult } from "@xyo-network/react-shared";
5
- import { useRefreshPayload, useResolvePayload } from "../../contexts";
6
- import { EmbedCardApiErrorRenderer } from "./error-handling";
7
- const EmbedCardResolverFlexBox = ({ children, ...props }) => {
5
+
6
+ // src/contexts/RefreshPayloadContext/Context.tsx
7
+ import { createContextEx } from "@xyo-network/react-shared";
8
+ var RefreshPayloadContext = createContextEx();
9
+
10
+ // src/contexts/RefreshPayloadContext/use.tsx
11
+ import { useContextEx } from "@xyo-network/react-shared";
12
+ var useRefreshPayload = () => useContextEx(RefreshPayloadContext, "RefreshPayload", true);
13
+
14
+ // src/contexts/ResolvePayloadContext/Context.ts
15
+ import { createContextEx as createContextEx2 } from "@xyo-network/react-shared";
16
+ var ResolvePayloadContext = createContextEx2();
17
+
18
+ // src/contexts/ResolvePayloadContext/use.tsx
19
+ import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
20
+ var useResolvePayload = () => useContextEx2(ResolvePayloadContext, "ResolvePayload", true);
21
+
22
+ // src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx
23
+ import { ErrorAlert, ErrorRender } from "@xyo-network/react-error";
24
+
25
+ // src/components/embed-card/error-handling/EmbedErrorCard.tsx
26
+ import { Alert, AlertTitle, Card, CardContent, Typography } from "@mui/material";
27
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
28
+ var EmbedErrorCard = (props) => {
29
+ const { alertProps, error, hideErrorDetails = true, children, ...cardProps } = props;
30
+ const errorProps = { alertProps, error, hideErrorDetails };
31
+ return /* @__PURE__ */ jsx(Card, { ...cardProps, children: /* @__PURE__ */ jsx(CardContent, { children: children ?? /* @__PURE__ */ jsx(DefaultErrorAlert, { ...errorProps }) }) });
32
+ };
33
+ var DefaultErrorAlert = ({ alertProps, hideErrorDetails, error }) => {
34
+ return /* @__PURE__ */ jsxs(Alert, { severity: "error", ...alertProps, children: [
35
+ /* @__PURE__ */ jsx(AlertTitle, { children: "Whoops! Something went wrong" }),
36
+ !hideErrorDetails && error ? /* @__PURE__ */ jsxs(Fragment, { children: [
37
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", children: "Error: " }),
38
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", children: error?.message })
39
+ ] }) : /* @__PURE__ */ jsx(Typography, { variant: "caption", fontSize: "small", children: "Error Loading Plugin" })
40
+ ] });
41
+ };
42
+
43
+ // src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx
44
+ import { jsx as jsx2 } from "react/jsx-runtime";
45
+ var EmbedCardApiErrorRenderer = ({ xyoError, children, ...props }) => {
46
+ return /* @__PURE__ */ jsx2(ErrorRender, { error: xyoError, noReAuth: true, noErrorDisplay: true, customError: /* @__PURE__ */ jsx2(CustomApiErrorCard, { xyoError, ...props }), children });
47
+ };
48
+ var CustomApiErrorCard = ({ xyoError, ...props }) => {
49
+ return /* @__PURE__ */ jsx2(EmbedErrorCard, { ...props, children: /* @__PURE__ */ jsx2(ErrorAlert, { error: xyoError }) });
50
+ };
51
+
52
+ // src/components/embed-card/EmbedCardResolver.tsx
53
+ import { jsx as jsx3 } from "react/jsx-runtime";
54
+ var EmbedCardResolverFlexBox = ({ children, ...props }) => {
8
55
  const { payload, notFound, huriError } = useResolvePayload();
9
56
  const { refreshPayload } = useRefreshPayload();
10
57
  const theme = useTheme();
11
- return /* @__PURE__ */ jsx(LoadResult, { searchResult: payload, notFound: !!notFound, error: !!huriError, children: /* @__PURE__ */ jsx(EmbedCardApiErrorRenderer, { xyoError: huriError, children: /* @__PURE__ */ jsx(
58
+ return /* @__PURE__ */ jsx3(LoadResult, { searchResult: payload, notFound: !!notFound, error: !!huriError, children: /* @__PURE__ */ jsx3(EmbedCardApiErrorRenderer, { xyoError: huriError, children: /* @__PURE__ */ jsx3(
12
59
  FlexCol,
13
60
  {
14
61
  id: "embed-outer-wrap",