@xyo-network/react-embed 2.27.25 → 2.27.28

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 (86) hide show
  1. package/dist/cjs/components/XyoEmbedPlugin.d.ts.map +1 -1
  2. package/dist/cjs/components/XyoEmbedPlugin.js +1 -1
  3. package/dist/cjs/components/XyoEmbedPlugin.js.map +1 -1
  4. package/dist/cjs/components/embed-card/EmbedPluginContainer.d.ts +1 -3
  5. package/dist/cjs/components/embed-card/EmbedPluginContainer.d.ts.map +1 -1
  6. package/dist/cjs/components/embed-card/EmbedPluginContainer.js +4 -8
  7. package/dist/cjs/components/embed-card/EmbedPluginContainer.js.map +1 -1
  8. package/dist/cjs/components/embed-card/menu/EmbedMenu.d.ts +4 -0
  9. package/dist/cjs/components/embed-card/menu/EmbedMenu.d.ts.map +1 -0
  10. package/dist/cjs/components/embed-card/menu/EmbedMenu.js +23 -0
  11. package/dist/cjs/components/embed-card/menu/EmbedMenu.js.map +1 -0
  12. package/dist/cjs/components/embed-card/menu/JsonMenuItem.d.ts +4 -0
  13. package/dist/cjs/components/embed-card/menu/JsonMenuItem.d.ts.map +1 -0
  14. package/dist/cjs/components/embed-card/menu/JsonMenuItem.js +14 -0
  15. package/dist/cjs/components/embed-card/menu/JsonMenuItem.js.map +1 -0
  16. package/dist/cjs/components/embed-card/menu/index.d.ts +2 -0
  17. package/dist/cjs/components/embed-card/menu/index.d.ts.map +1 -0
  18. package/dist/cjs/components/embed-card/menu/index.js +5 -0
  19. package/dist/cjs/components/embed-card/menu/index.js.map +1 -0
  20. package/dist/cjs/contexts/ValidatePayloadContext/Provider.d.ts +1 -2
  21. package/dist/cjs/contexts/ValidatePayloadContext/Provider.d.ts.map +1 -1
  22. package/dist/cjs/contexts/ValidatePayloadContext/use.d.ts.map +1 -1
  23. package/dist/cjs/contexts/ValidatePayloadContext/use.js +1 -1
  24. package/dist/cjs/contexts/ValidatePayloadContext/use.js.map +1 -1
  25. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.d.ts.map +1 -1
  26. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.js +4 -1
  27. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.js.map +1 -1
  28. package/dist/cjs/contexts/XyoEmbedPluginContext/State.d.ts +1 -0
  29. package/dist/cjs/contexts/XyoEmbedPluginContext/State.d.ts.map +1 -1
  30. package/dist/cjs/contexts/XyoEmbedPluginContext/index.d.ts +2 -0
  31. package/dist/cjs/contexts/XyoEmbedPluginContext/index.d.ts.map +1 -1
  32. package/dist/cjs/contexts/XyoEmbedPluginContext/index.js +2 -0
  33. package/dist/cjs/contexts/XyoEmbedPluginContext/index.js.map +1 -1
  34. package/dist/cjs/contexts/XyoEmbedPluginContext/use.d.ts.map +1 -1
  35. package/dist/cjs/contexts/XyoEmbedPluginContext/use.js +1 -1
  36. package/dist/cjs/contexts/XyoEmbedPluginContext/use.js.map +1 -1
  37. package/dist/docs.json +2 -2
  38. package/dist/esm/components/XyoEmbedPlugin.d.ts.map +1 -1
  39. package/dist/esm/components/XyoEmbedPlugin.js +2 -2
  40. package/dist/esm/components/XyoEmbedPlugin.js.map +1 -1
  41. package/dist/esm/components/embed-card/EmbedPluginContainer.d.ts +1 -3
  42. package/dist/esm/components/embed-card/EmbedPluginContainer.d.ts.map +1 -1
  43. package/dist/esm/components/embed-card/EmbedPluginContainer.js +3 -6
  44. package/dist/esm/components/embed-card/EmbedPluginContainer.js.map +1 -1
  45. package/dist/esm/components/embed-card/menu/EmbedMenu.d.ts +4 -0
  46. package/dist/esm/components/embed-card/menu/EmbedMenu.d.ts.map +1 -0
  47. package/dist/esm/components/embed-card/menu/EmbedMenu.js +18 -0
  48. package/dist/esm/components/embed-card/menu/EmbedMenu.js.map +1 -0
  49. package/dist/esm/components/embed-card/menu/JsonMenuItem.d.ts +4 -0
  50. package/dist/esm/components/embed-card/menu/JsonMenuItem.d.ts.map +1 -0
  51. package/dist/esm/components/embed-card/menu/JsonMenuItem.js +9 -0
  52. package/dist/esm/components/embed-card/menu/JsonMenuItem.js.map +1 -0
  53. package/dist/esm/components/embed-card/menu/index.d.ts +2 -0
  54. package/dist/esm/components/embed-card/menu/index.d.ts.map +1 -0
  55. package/dist/esm/components/embed-card/menu/index.js +2 -0
  56. package/dist/esm/components/embed-card/menu/index.js.map +1 -0
  57. package/dist/esm/contexts/ValidatePayloadContext/Provider.d.ts +1 -2
  58. package/dist/esm/contexts/ValidatePayloadContext/Provider.d.ts.map +1 -1
  59. package/dist/esm/contexts/ValidatePayloadContext/use.d.ts.map +1 -1
  60. package/dist/esm/contexts/ValidatePayloadContext/use.js +1 -1
  61. package/dist/esm/contexts/ValidatePayloadContext/use.js.map +1 -1
  62. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.d.ts.map +1 -1
  63. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.js +4 -1
  64. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.js.map +1 -1
  65. package/dist/esm/contexts/XyoEmbedPluginContext/State.d.ts +1 -0
  66. package/dist/esm/contexts/XyoEmbedPluginContext/State.d.ts.map +1 -1
  67. package/dist/esm/contexts/XyoEmbedPluginContext/index.d.ts +2 -0
  68. package/dist/esm/contexts/XyoEmbedPluginContext/index.d.ts.map +1 -1
  69. package/dist/esm/contexts/XyoEmbedPluginContext/index.js +2 -0
  70. package/dist/esm/contexts/XyoEmbedPluginContext/index.js.map +1 -1
  71. package/dist/esm/contexts/XyoEmbedPluginContext/use.d.ts.map +1 -1
  72. package/dist/esm/contexts/XyoEmbedPluginContext/use.js +1 -1
  73. package/dist/esm/contexts/XyoEmbedPluginContext/use.js.map +1 -1
  74. package/package.json +11 -12
  75. package/src/components/XyoEmbedPlugin.tsx +4 -2
  76. package/src/components/embed-card/EmbedPluginContainer.tsx +4 -12
  77. package/src/components/embed-card/menu/EmbedMenu.tsx +29 -0
  78. package/src/components/embed-card/menu/JsonMenuItem.tsx +21 -0
  79. package/src/components/embed-card/menu/index.ts +1 -0
  80. package/src/contexts/ValidatePayloadContext/Provider.stories.tsx +58 -0
  81. package/src/contexts/ValidatePayloadContext/Provider.tsx +1 -1
  82. package/src/contexts/ValidatePayloadContext/use.tsx +1 -1
  83. package/src/contexts/XyoEmbedPluginContext/Provider.tsx +10 -3
  84. package/src/contexts/XyoEmbedPluginContext/State.ts +1 -0
  85. package/src/contexts/XyoEmbedPluginContext/index.ts +2 -0
  86. package/src/contexts/XyoEmbedPluginContext/use.tsx +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"XyoEmbedPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/XyoEmbedPlugin.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmBxD,CAAA"}
1
+ {"version":3,"file":"XyoEmbedPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/XyoEmbedPlugin.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqBxD,CAAA"}
@@ -8,7 +8,7 @@ const contexts_1 = require("../contexts");
8
8
  const embed_card_1 = require("./embed-card");
9
9
  const XyoEmbedPlugin = (_a) => {
10
10
  var { validateSchema, plugins = [], huri, refreshTitle = '', timestampLabel = 'Data From' } = _a, props = tslib_1.__rest(_a, ["validateSchema", "plugins", "huri", "refreshTitle", "timestampLabel"]);
11
- return ((0, jsx_runtime_1.jsx)(contexts_1.XyoEmbedPluginProvider, Object.assign({ refreshTitle: refreshTitle, timestampLabel: timestampLabel, plugins: plugins, huri: huri }, { children: (0, jsx_runtime_1.jsx)(contexts_1.ValidatePayloadProvider, Object.assign({ enabled: validateSchema }, { children: (0, jsx_runtime_1.jsx)(react_shared_1.ListModeProvider, { children: (0, jsx_runtime_1.jsx)(embed_card_1.ValidatePlugins, { children: (0, jsx_runtime_1.jsx)(embed_card_1.EmbedPluginContainer, Object.assign({}, props)) }) }) })) })));
11
+ return ((0, jsx_runtime_1.jsx)(contexts_1.XyoEmbedPluginProvider, Object.assign({ refreshTitle: refreshTitle, timestampLabel: timestampLabel, plugins: plugins, huri: huri }, { children: (0, jsx_runtime_1.jsx)(contexts_1.ValidatePayloadProvider, Object.assign({ enabled: validateSchema }, { children: (0, jsx_runtime_1.jsx)(react_shared_1.ListModeProvider, { children: (0, jsx_runtime_1.jsx)(embed_card_1.ValidatePlugins, { children: (0, jsx_runtime_1.jsx)(embed_card_1.ValidatePayload, { children: (0, jsx_runtime_1.jsx)(embed_card_1.EmbedPluginContainer, Object.assign({}, props)) }) }) }) })) })));
12
12
  };
13
13
  exports.XyoEmbedPlugin = XyoEmbedPlugin;
14
14
  //# sourceMappingURL=XyoEmbedPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoEmbedPlugin.js","sourceRoot":"","sources":["../../../src/components/XyoEmbedPlugin.tsx"],"names":[],"mappings":";;;;;AAAA,4DAA4D;AAE5D,0CAA6E;AAC7E,6CAAoE;AAG7D,MAAM,cAAc,GAAkC,CAAC,EAO7D,EAAE,EAAE;QAPyD,EAC5D,cAAc,EACd,OAAO,GAAG,EAAE,EACZ,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,cAAc,GAAG,WAAW,OAE7B,EADI,KAAK,sBANoD,uEAO7D,CADS;IAER,OAAO,CACL,uBAAC,iCAAsB,kBAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,gBAC9G,uBAAC,kCAAuB,kBAAC,OAAO,EAAE,cAAc,gBAC9C,uBAAC,+BAAgB,cACf,uBAAC,4BAAe,cACd,uBAAC,iCAAoB,oBAAK,KAAK,EAAI,GACnB,GACD,IACK,IACH,CAC1B,CAAA;AACH,CAAC,CAAA;AAnBY,QAAA,cAAc,kBAmB1B"}
1
+ {"version":3,"file":"XyoEmbedPlugin.js","sourceRoot":"","sources":["../../../src/components/XyoEmbedPlugin.tsx"],"names":[],"mappings":";;;;;AAAA,4DAA4D;AAE5D,0CAA6E;AAC7E,6CAAqF;AAG9E,MAAM,cAAc,GAAkC,CAAC,EAO7D,EAAE,EAAE;QAPyD,EAC5D,cAAc,EACd,OAAO,GAAG,EAAE,EACZ,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,cAAc,GAAG,WAAW,OAE7B,EADI,KAAK,sBANoD,uEAO7D,CADS;IAER,OAAO,CACL,uBAAC,iCAAsB,kBAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,gBAC9G,uBAAC,kCAAuB,kBAAC,OAAO,EAAE,cAAc,gBAC9C,uBAAC,+BAAgB,cACf,uBAAC,4BAAe,cACd,uBAAC,4BAAe,cACd,uBAAC,iCAAoB,oBAAK,KAAK,EAAI,GACnB,GACF,GACD,IACK,IACH,CAC1B,CAAA;AACH,CAAC,CAAA;AArBY,QAAA,cAAc,kBAqB1B"}
@@ -1,9 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { CardProps } from '@mui/material';
3
- import { ButtonExProps } from '@xylabs/react-button';
4
- export declare const JsonButton: React.FC<ButtonExProps>;
5
3
  export interface EmbedPluginContainerProps extends CardProps {
6
- hideJsonButton?: boolean;
4
+ hideEmbedMenu?: boolean;
7
5
  }
8
6
  export declare const EmbedPluginContainer: React.FC<EmbedPluginContainerProps>;
9
7
  //# sourceMappingURL=EmbedPluginContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbedPluginContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/embed-card/EmbedPluginContainer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAyC,SAAS,EAAe,MAAM,eAAe,CAAA;AAC7F,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAO9D,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAM9C,CAAA;AAED,MAAM,WAAW,yBAA0B,SAAQ,SAAS;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmCpE,CAAA"}
1
+ {"version":3,"file":"EmbedPluginContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/embed-card/EmbedPluginContainer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAyC,SAAS,EAAe,MAAM,eAAe,CAAA;AAQ7F,MAAM,WAAW,yBAA0B,SAAQ,SAAS;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmCpE,CAAA"}
@@ -1,24 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EmbedPluginContainer = exports.JsonButton = void 0;
3
+ exports.EmbedPluginContainer = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const Refresh_1 = tslib_1.__importDefault(require("@mui/icons-material/Refresh"));
7
7
  const material_1 = require("@mui/material");
8
- const react_button_1 = require("@xylabs/react-button");
9
8
  const react_flexbox_1 = require("@xylabs/react-flexbox");
10
9
  const contexts_1 = require("../../contexts");
11
10
  const controls_1 = require("../controls");
12
11
  const RenderComponent_1 = require("../RenderComponent");
13
- const JsonButton = (props) => {
14
- return ((0, jsx_runtime_1.jsx)(react_button_1.ButtonEx, Object.assign({ size: "small", title: "Source Payload JSON", color: "primary", variant: "outlined", marginX: 1 }, props, { children: "JSON" })));
15
- };
16
- exports.JsonButton = JsonButton;
12
+ const menu_1 = require("./menu");
17
13
  const EmbedPluginContainer = (_a) => {
18
14
  var _b, _c, _d, _e, _f;
19
- var { hideJsonButton } = _a, props = tslib_1.__rest(_a, ["hideJsonButton"]);
15
+ var { hideEmbedMenu } = _a, props = tslib_1.__rest(_a, ["hideEmbedMenu"]);
20
16
  const { activePlugin, payload, timestampLabel, refreshHuri, plugins } = (0, contexts_1.useXyoEmbedPluginState)();
21
- return ((0, jsx_runtime_1.jsxs)(material_1.Card, Object.assign({ elevation: 3, variant: "elevation" }, props, { children: [(0, jsx_runtime_1.jsx)(material_1.CardHeader, { sx: { flexWrap: 'wrap', rowGap: 1 }, avatar: (0, jsx_runtime_1.jsx)(material_1.Avatar, Object.assign({ sx: { bgcolor: (theme) => theme.palette.primary.main }, "aria-label": activePlugin === null || activePlugin === void 0 ? void 0 : activePlugin.name }, { children: (_b = activePlugin === null || activePlugin === void 0 ? void 0 : activePlugin.name) === null || _b === void 0 ? void 0 : _b.charAt(0) })), action: (0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexRow, { children: [(payload === null || payload === void 0 ? void 0 : payload.timestamp) ? ((0, jsx_runtime_1.jsx)(material_1.Chip, { avatar: (0, jsx_runtime_1.jsx)(Refresh_1.default, {}), clickable: true, onClick: refreshHuri, label: `${timestampLabel} ${new Date(payload.timestamp).toLocaleString()}` })) : null, hideJsonButton ? null : (0, jsx_runtime_1.jsx)(exports.JsonButton, {})] }), title: activePlugin === null || activePlugin === void 0 ? void 0 : activePlugin.name }), (0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexGrowRow, Object.assign({ columnGap: 2, rowGap: 2, flexWrap: "wrap", justifyContent: "center", pb: 1 }, { children: [plugins && plugins.length > 1 ? (0, jsx_runtime_1.jsx)(controls_1.EmbedRenderSelect, {}) : null, ((_f = (_e = (_d = (_c = activePlugin === null || activePlugin === void 0 ? void 0 : activePlugin.components) === null || _c === void 0 ? void 0 : _c.box) === null || _d === void 0 ? void 0 : _d.listModes) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0) > 1 ? (0, jsx_runtime_1.jsx)(controls_1.ListModeSelectFormControl, {}) : null] })), (0, jsx_runtime_1.jsx)(material_1.CardContent, { children: (0, jsx_runtime_1.jsx)(RenderComponent_1.RenderComponent, { payload: payload, ActivePlugin: activePlugin }) })] })));
17
+ return ((0, jsx_runtime_1.jsxs)(material_1.Card, Object.assign({ elevation: 3, variant: "elevation" }, props, { children: [(0, jsx_runtime_1.jsx)(material_1.CardHeader, { sx: { flexWrap: 'wrap', rowGap: 1 }, avatar: (0, jsx_runtime_1.jsx)(material_1.Avatar, Object.assign({ sx: { bgcolor: (theme) => theme.palette.primary.main }, "aria-label": activePlugin === null || activePlugin === void 0 ? void 0 : activePlugin.name }, { children: (_b = activePlugin === null || activePlugin === void 0 ? void 0 : activePlugin.name) === null || _b === void 0 ? void 0 : _b.charAt(0) })), action: (0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexRow, { children: [(payload === null || payload === void 0 ? void 0 : payload.timestamp) ? ((0, jsx_runtime_1.jsx)(material_1.Chip, { avatar: (0, jsx_runtime_1.jsx)(Refresh_1.default, {}), clickable: true, onClick: refreshHuri, label: `${timestampLabel} ${new Date(payload.timestamp).toLocaleString()}` })) : null, hideEmbedMenu ? null : (0, jsx_runtime_1.jsx)(menu_1.EmbedMenu, {})] }), title: activePlugin === null || activePlugin === void 0 ? void 0 : activePlugin.name }), (0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexGrowRow, Object.assign({ columnGap: 2, rowGap: 2, flexWrap: "wrap", justifyContent: "center", pb: 1 }, { children: [plugins && plugins.length > 1 ? (0, jsx_runtime_1.jsx)(controls_1.EmbedRenderSelect, {}) : null, ((_f = (_e = (_d = (_c = activePlugin === null || activePlugin === void 0 ? void 0 : activePlugin.components) === null || _c === void 0 ? void 0 : _c.box) === null || _d === void 0 ? void 0 : _d.listModes) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0) > 1 ? (0, jsx_runtime_1.jsx)(controls_1.ListModeSelectFormControl, {}) : null] })), (0, jsx_runtime_1.jsx)(material_1.CardContent, { children: (0, jsx_runtime_1.jsx)(RenderComponent_1.RenderComponent, { payload: payload, ActivePlugin: activePlugin }) })] })));
22
18
  };
23
19
  exports.EmbedPluginContainer = EmbedPluginContainer;
24
20
  //# sourceMappingURL=EmbedPluginContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbedPluginContainer.js","sourceRoot":"","sources":["../../../../src/components/embed-card/EmbedPluginContainer.tsx"],"names":[],"mappings":";;;;;AAAA,kFAAqD;AACrD,4CAA6F;AAC7F,uDAA8D;AAC9D,yDAA4D;AAE5D,6CAAuD;AACvD,0CAA0E;AAC1E,wDAAoD;AAE7C,MAAM,UAAU,GAA4B,CAAC,KAAK,EAAE,EAAE;IAC3D,OAAO,CACL,uBAAC,uBAAQ,kBAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,qBAAqB,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,CAAC,IAAM,KAAK,wBAEhG,CACZ,CAAA;AACH,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB;AAMM,MAAM,oBAAoB,GAAwC,CAAC,EAA4B,EAAE,EAAE;;QAAhC,EAAE,cAAc,OAAY,EAAP,KAAK,sBAA1B,kBAA4B,CAAF;IAClG,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAA,iCAAsB,GAAE,CAAA;IAChG,OAAO,CACL,wBAAC,eAAI,kBAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAC,WAAW,IAAK,KAAK,eAC/C,uBAAC,qBAAU,IACT,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EACnC,MAAM,EACJ,uBAAC,iBAAM,kBAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAc,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,gBAClG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,0CAAE,MAAM,CAAC,CAAC,CAAC,IACvB,EAEX,MAAM,EACJ,wBAAC,uBAAO,eACL,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAC,CAAC,CAAC,CACpB,uBAAC,eAAI,IACH,MAAM,EAAE,uBAAC,iBAAW,KAAG,EACvB,SAAS,QACT,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,GAAG,cAAc,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,GAC1E,CACH,CAAC,CAAC,CAAC,IAAI,EACP,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAC,kBAAU,KAAG,IAC/B,EAEZ,KAAK,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,GACzB,EACF,wBAAC,2BAAW,kBAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,EAAC,cAAc,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,iBAChF,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAC,4BAAiB,KAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,CAAC,MAAA,MAAA,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,GAAG,0CAAE,SAAS,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAC,oCAAyB,KAAG,CAAC,CAAC,CAAC,IAAI,KACvF,EACd,uBAAC,sBAAW,cACV,uBAAC,iCAAe,IAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAI,GACrD,KACT,CACR,CAAA;AACH,CAAC,CAAA;AAnCY,QAAA,oBAAoB,wBAmChC"}
1
+ {"version":3,"file":"EmbedPluginContainer.js","sourceRoot":"","sources":["../../../../src/components/embed-card/EmbedPluginContainer.tsx"],"names":[],"mappings":";;;;;AAAA,kFAAqD;AACrD,4CAA6F;AAC7F,yDAA4D;AAE5D,6CAAuD;AACvD,0CAA0E;AAC1E,wDAAoD;AACpD,iCAAkC;AAM3B,MAAM,oBAAoB,GAAwC,CAAC,EAA2B,EAAE,EAAE;;QAA/B,EAAE,aAAa,OAAY,EAAP,KAAK,sBAAzB,iBAA2B,CAAF;IACjG,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAA,iCAAsB,GAAE,CAAA;IAChG,OAAO,CACL,wBAAC,eAAI,kBAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAC,WAAW,IAAK,KAAK,eAC/C,uBAAC,qBAAU,IACT,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EACnC,MAAM,EACJ,uBAAC,iBAAM,kBAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAc,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,gBAClG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,0CAAE,MAAM,CAAC,CAAC,CAAC,IACvB,EAEX,MAAM,EACJ,wBAAC,uBAAO,eACL,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAC,CAAC,CAAC,CACpB,uBAAC,eAAI,IACH,MAAM,EAAE,uBAAC,iBAAW,KAAG,EACvB,SAAS,QACT,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,GAAG,cAAc,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,GAC1E,CACH,CAAC,CAAC,CAAC,IAAI,EACP,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAC,gBAAS,KAAG,IAC7B,EAEZ,KAAK,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,GACzB,EACF,wBAAC,2BAAW,kBAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,EAAC,cAAc,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,iBAChF,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAC,4BAAiB,KAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,CAAC,MAAA,MAAA,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,GAAG,0CAAE,SAAS,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAC,oCAAyB,KAAG,CAAC,CAAC,CAAC,IAAI,KACvF,EACd,uBAAC,sBAAW,cACV,uBAAC,iCAAe,IAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAI,GACrD,KACT,CACR,CAAA;AACH,CAAC,CAAA;AAnCY,QAAA,oBAAoB,wBAmChC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { IconButtonProps } from '@mui/material';
3
+ export declare const EmbedMenu: React.FC<IconButtonProps>;
4
+ //# sourceMappingURL=EmbedMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbedMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/EmbedMenu.tsx"],"names":[],"mappings":";AACA,OAAO,EAAc,eAAe,EAAQ,MAAM,eAAe,CAAA;AAKjE,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsB/C,CAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbedMenu = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const MoreVert_1 = tslib_1.__importDefault(require("@mui/icons-material/MoreVert"));
7
+ const material_1 = require("@mui/material");
8
+ const react_1 = require("react");
9
+ const JsonMenuItem_1 = require("./JsonMenuItem");
10
+ const EmbedMenu = (props) => {
11
+ // TODO - link to explore website
12
+ const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
13
+ const open = Boolean(anchorEl);
14
+ const handleClick = (event) => {
15
+ setAnchorEl(event.currentTarget);
16
+ };
17
+ const handleClose = () => {
18
+ setAnchorEl(null);
19
+ };
20
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleClick }, props, { children: (0, jsx_runtime_1.jsx)(MoreVert_1.default, {}) })), (0, jsx_runtime_1.jsx)(material_1.Menu, Object.assign({ anchorEl: anchorEl, open: open, onClose: handleClose, PaperProps: { variant: 'elevation' }, MenuListProps: { dense: true } }, { children: (0, jsx_runtime_1.jsx)(JsonMenuItem_1.JsonMenuItem, {}) }))] }));
21
+ };
22
+ exports.EmbedMenu = EmbedMenu;
23
+ //# sourceMappingURL=EmbedMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbedMenu.js","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/EmbedMenu.tsx"],"names":[],"mappings":";;;;;AAAA,oFAAuD;AACvD,4CAAiE;AACjE,iCAAgC;AAEhC,iDAA6C;AAEtC,MAAM,SAAS,GAA8B,CAAC,KAAK,EAAE,EAAE;IAC5D,iCAAiC;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAqB,IAAI,CAAC,CAAA;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,MAAM,WAAW,GAAG,CAAC,KAA0C,EAAE,EAAE;QACjE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAClC,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,OAAO,CACL,6DACE,uBAAC,qBAAU,kBAAC,OAAO,EAAE,WAAW,IAAM,KAAK,cACzC,uBAAC,kBAAY,KAAG,IACL,EACb,uBAAC,eAAI,kBAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,gBAC9H,uBAAC,2BAAY,KAAG,IACX,IACN,CACJ,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,SAAS,aAsBrB"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { MenuItemProps } from '@mui/material';
3
+ export declare const JsonMenuItem: React.FC<MenuItemProps>;
4
+ //# sourceMappingURL=JsonMenuItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonMenuItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/JsonMenuItem.tsx"],"names":[],"mappings":";AACA,OAAO,EAAwC,aAAa,EAAE,MAAM,eAAe,CAAA;AAInF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAehD,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonMenuItem = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const OpenInNew_1 = tslib_1.__importDefault(require("@mui/icons-material/OpenInNew"));
7
+ const material_1 = require("@mui/material");
8
+ const contexts_1 = require("../../../contexts");
9
+ const JsonMenuItem = (props) => {
10
+ const { huri } = (0, contexts_1.useXyoEmbedPluginState)();
11
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: huri ? ((0, jsx_runtime_1.jsxs)(material_1.MenuItem, Object.assign({ title: "Source Payload JSON", onClick: () => window.open(huri, '_blank') }, props, { children: [(0, jsx_runtime_1.jsx)(material_1.ListItemText, Object.assign({ sx: { mr: 1 } }, { children: "JSON" })), (0, jsx_runtime_1.jsx)(material_1.ListItemIcon, Object.assign({ sx: { justifyContent: 'end' } }, { children: (0, jsx_runtime_1.jsx)(OpenInNew_1.default, { fontSize: "small" }) }))] }))) : null }));
12
+ };
13
+ exports.JsonMenuItem = JsonMenuItem;
14
+ //# sourceMappingURL=JsonMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonMenuItem.js","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/JsonMenuItem.tsx"],"names":[],"mappings":";;;;;AAAA,sFAAyD;AACzD,4CAAmF;AAEnF,gDAA0D;AAEnD,MAAM,YAAY,GAA4B,CAAC,KAAK,EAAE,EAAE;IAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,iCAAsB,GAAE,CAAA;IAEzC,OAAO,CACL,2DACG,IAAI,CAAC,CAAC,CAAC,CACN,wBAAC,mBAAQ,kBAAC,KAAK,EAAC,qBAAqB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAM,KAAK,eACzF,uBAAC,uBAAY,kBAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,0BAAqB,EAChD,uBAAC,uBAAY,kBAAC,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBACzC,uBAAC,mBAAa,IAAC,QAAQ,EAAC,OAAO,GAAG,IACrB,KACN,CACZ,CAAC,CAAC,CAAC,IAAI,GACP,CACJ,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,YAAY,gBAexB"}
@@ -0,0 +1,2 @@
1
+ export * from './EmbedMenu';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./EmbedMenu"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B"}
@@ -1,8 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { WithChildren } from '@xylabs/react-shared';
3
- interface ValidatePayloadProviderProps {
3
+ export interface ValidatePayloadProviderProps {
4
4
  enabled?: boolean;
5
5
  }
6
6
  export declare const ValidatePayloadProvider: React.FC<WithChildren<ValidatePayloadProviderProps>>;
7
- export {};
8
7
  //# sourceMappingURL=Provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAOnE,UAAU,4BAA4B;IAEpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CA4BxF,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAOnE,MAAM,WAAW,4BAA4B;IAE3C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CA4BxF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,qHAA4E,CAAA"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,qHAAqE,CAAA"}
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useValidatePayload = void 0;
4
4
  const react_shared_1 = require("@xyo-network/react-shared");
5
5
  const Context_1 = require("./Context");
6
- const useValidatePayload = () => (0, react_shared_1.useContextEx)(Context_1.ValidatePayloadContext, 'ValidateSchemaContext', true);
6
+ const useValidatePayload = () => (0, react_shared_1.useContextEx)(Context_1.ValidatePayloadContext, 'ValidateSchema', true);
7
7
  exports.useValidatePayload = useValidatePayload;
8
8
  //# sourceMappingURL=use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/use.tsx"],"names":[],"mappings":";;;AAAA,4DAAwD;AAExD,uCAAkD;AAE3C,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAA,2BAAY,EAAC,gCAAsB,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAA;AAA9F,QAAA,kBAAkB,sBAA4E"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/use.tsx"],"names":[],"mappings":";;;AAAA,4DAAwD;AAExD,uCAAkD;AAE3C,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAA,2BAAY,EAAC,gCAAsB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA;AAAvF,QAAA,kBAAkB,sBAAqE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAM1E,MAAM,WAAW,2BAA4B,SAAQ,YAAY;IAC/D,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAgDtF,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAM1E,MAAM,WAAW,2BAA4B,SAAQ,YAAY;IAC/D,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAsDtF,CAAA"}
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_flexbox_1 = require("@xylabs/react-flexbox");
7
7
  const react_shared_1 = require("@xylabs/react-shared");
8
+ const sdk_js_1 = require("@xylabs/sdk-js");
8
9
  const payload_1 = require("@xyo-network/payload");
9
10
  const react_auth_service_1 = require("@xyo-network/react-auth-service");
10
11
  const react_webapp_1 = require("@xyo-network/react-webapp");
@@ -24,6 +25,8 @@ const XyoEmbedPluginProvider = (_a) => {
24
25
  try {
25
26
  const huriInstance = new payload_1.Huri(huri);
26
27
  const result = yield huriInstance.fetch();
28
+ // ensure the busy state can stay for a moment to avoid flashing too quickly
29
+ yield (0, sdk_js_1.delay)(500);
27
30
  if (mounted()) {
28
31
  setNotFound(result === null);
29
32
  setPayload(result);
@@ -38,7 +41,7 @@ const XyoEmbedPluginProvider = (_a) => {
38
41
  const refreshHuri = () => {
39
42
  setRefreshPayload(0);
40
43
  };
41
- return ((0, jsx_runtime_1.jsx)(Context_1.XyoEmbedPluginContext.Provider, Object.assign({ value: { activePlugin, payload, provided: true, refreshHuri, refreshTitle, setActivePlugin, timestampLabel } }, { children: (0, jsx_runtime_1.jsx)(react_webapp_1.ResultLoader, Object.assign({ searchResult: payload, notFound: !!notFound, apiError: huriApiError }, { children: (0, jsx_runtime_1.jsx)(react_auth_service_1.XyoApiErrorRender, Object.assign({ apiError: huriApiError, busy: Boolean(!refreshPayload && payload) }, props, { children: (0, jsx_runtime_1.jsx)(react_flexbox_1.FlexCol, { children: children }) })) })) })));
44
+ return ((0, jsx_runtime_1.jsx)(Context_1.XyoEmbedPluginContext.Provider, Object.assign({ value: { activePlugin, huri, payload, provided: true, refreshHuri, refreshTitle, setActivePlugin, timestampLabel } }, { children: (0, jsx_runtime_1.jsx)(react_webapp_1.ResultLoader, Object.assign({ searchResult: payload, notFound: !!notFound, apiError: huriApiError }, { children: (0, jsx_runtime_1.jsx)(react_auth_service_1.XyoApiErrorRender, Object.assign({ apiError: huriApiError }, { children: (0, jsx_runtime_1.jsx)(react_flexbox_1.FlexCol, Object.assign({ busy: Boolean(!refreshPayload && payload) }, props, { children: children })) })) })) })));
42
45
  };
43
46
  exports.XyoEmbedPluginProvider = XyoEmbedPluginProvider;
44
47
  //# sourceMappingURL=Provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";;;;;AAAA,yDAA6D;AAC7D,uDAAmE;AAEnE,kDAAuD;AACvD,wEAAmE;AAEnE,4DAAwD;AACxD,iCAAgC;AAEhC,uCAAiD;AAS1C,MAAM,sBAAsB,GAAwD,CAAC,EAO3F,EAAE,EAAE;QAPuF,EAC1F,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,OAAO,OAER,EADI,KAAK,sBANkF,iEAO3F,CADS;IAER,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAc,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,GAAW,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAC/D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAqC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACtH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;IAEvD,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;YAC3B,IAAI;gBACF,MAAM,YAAY,GAAG,IAAI,cAAI,CAAC,IAAI,CAAC,CAAA;gBACnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;gBAEzC,IAAI,OAAO,EAAE,EAAE;oBACb,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;oBAC5B,UAAU,CAAC,MAAM,CAAC,CAAA;oBAClB,iBAAiB,CAAC,CAAC,CAAC,CAAA;iBACrB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,eAAe,CAAC,CAAgB,CAAC,CAAA;aAClC;SACF;IACH,CAAC,CAAA,EACD,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAChC,CAAA;IAED,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,OAAO,CACL,uBAAC,+BAAqB,CAAC,QAAQ,kBAAC,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAC1I,uBAAC,2BAAY,kBAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,gBAC/E,uBAAC,sCAAiB,kBAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,IAAM,KAAK,cAC7F,uBAAC,uBAAO,cAAE,QAAQ,GAAW,IACX,IACP,IACgB,CAClC,CAAA;AACH,CAAC,CAAA;AAhDY,QAAA,sBAAsB,0BAgDlC"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";;;;;AAAA,yDAA6D;AAC7D,uDAAmE;AACnE,2CAAsC;AAEtC,kDAAuD;AACvD,wEAAmE;AAEnE,4DAAwD;AACxD,iCAAgC;AAEhC,uCAAiD;AAS1C,MAAM,sBAAsB,GAAwD,CAAC,EAO3F,EAAE,EAAE;QAPuF,EAC1F,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,OAAO,OAER,EADI,KAAK,sBANkF,iEAO3F,CADS;IAER,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAc,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,GAAW,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAC/D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAqC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACtH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;IAEvD,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;YAC3B,IAAI;gBACF,MAAM,YAAY,GAAG,IAAI,cAAI,CAAC,IAAI,CAAC,CAAA;gBACnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;gBACzC,4EAA4E;gBAC5E,MAAM,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;gBAEhB,IAAI,OAAO,EAAE,EAAE;oBACb,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;oBAC5B,UAAU,CAAC,MAAM,CAAC,CAAA;oBAClB,iBAAiB,CAAC,CAAC,CAAC,CAAA;iBACrB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,eAAe,CAAC,CAAgB,CAAC,CAAA;aAClC;SACF;IACH,CAAC,CAAA,EACD,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAChC,CAAA;IAED,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,OAAO,CACL,uBAAC,+BAAqB,CAAC,QAAQ,kBAC7B,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAElH,uBAAC,2BAAY,kBAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,gBAC/E,uBAAC,sCAAiB,kBAAC,QAAQ,EAAE,YAAY,gBACvC,uBAAC,uBAAO,kBAAC,IAAI,EAAE,OAAO,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,IAAM,KAAK,cAC1D,QAAQ,IACD,IACQ,IACP,IACgB,CAClC,CAAA;AACH,CAAC,CAAA;AAtDY,QAAA,sBAAsB,0BAsDlC"}
@@ -8,6 +8,7 @@ export interface XyoEmbedPluginState extends ContextExState {
8
8
  payload?: XyoPayload;
9
9
  plugins?: XyoPayloadRenderPlugin[];
10
10
  refreshHuri?: () => void;
11
+ huri?: string;
11
12
  refreshTitle?: string;
12
13
  timestampLabel?: string;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,eAAe,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAA;IAC9E,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB"}
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,eAAe,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAA;IAC9E,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB"}
@@ -1,3 +1,5 @@
1
+ export * from './Context';
1
2
  export * from './Provider';
3
+ export * from './State';
2
4
  export * from './use';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./Context"), exports);
4
5
  tslib_1.__exportStar(require("./Provider"), exports);
6
+ tslib_1.__exportStar(require("./State"), exports);
5
7
  tslib_1.__exportStar(require("./use"), exports);
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B;AAC1B,gDAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,gDAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,oHAA2E,CAAA"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,oHAAoE,CAAA"}
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useXyoEmbedPluginState = void 0;
4
4
  const react_shared_1 = require("@xyo-network/react-shared");
5
5
  const Context_1 = require("./Context");
6
- const useXyoEmbedPluginState = () => (0, react_shared_1.useContextEx)(Context_1.XyoEmbedPluginContext, 'XyoEmbedPluginContext', true);
6
+ const useXyoEmbedPluginState = () => (0, react_shared_1.useContextEx)(Context_1.XyoEmbedPluginContext, 'XyoEmbedPlugin', true);
7
7
  exports.useXyoEmbedPluginState = useXyoEmbedPluginState;
8
8
  //# sourceMappingURL=use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/use.tsx"],"names":[],"mappings":";;;AAAA,4DAAwD;AAExD,uCAAiD;AAE1C,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,IAAA,2BAAY,EAAC,+BAAqB,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAA;AAAjG,QAAA,sBAAsB,0BAA2E"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/use.tsx"],"names":[],"mappings":";;;AAAA,4DAAwD;AAExD,uCAAiD;AAE1C,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,IAAA,2BAAY,EAAC,+BAAqB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA;AAA1F,QAAA,sBAAsB,0BAAoE"}
package/dist/docs.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "fileName": "packages/sdk/embed/src/components/XyoEmbedPlugin.tsx",
18
18
  "line": 7,
19
19
  "character": 13,
20
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/5e48ac8/packages/sdk/embed/src/components/XyoEmbedPlugin.tsx#L7"
20
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/7ed8ee4b/packages/sdk/embed/src/components/XyoEmbedPlugin.tsx#L7"
21
21
  }
22
22
  ],
23
23
  "signatures": [
@@ -95,7 +95,7 @@
95
95
  "fileName": "packages/sdk/embed/src/index.ts",
96
96
  "line": 1,
97
97
  "character": 0,
98
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/5e48ac8/packages/sdk/embed/src/index.ts#L1"
98
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/7ed8ee4b/packages/sdk/embed/src/index.ts#L1"
99
99
  }
100
100
  ]
101
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoEmbedPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/XyoEmbedPlugin.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmBxD,CAAA"}
1
+ {"version":3,"file":"XyoEmbedPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/XyoEmbedPlugin.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqBxD,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ListModeProvider } from '@xyo-network/react-shared';
3
3
  import { ValidatePayloadProvider, XyoEmbedPluginProvider } from '../contexts';
4
- import { EmbedPluginContainer, ValidatePlugins } from './embed-card';
4
+ import { EmbedPluginContainer, ValidatePayload, ValidatePlugins } from './embed-card';
5
5
  export const XyoEmbedPlugin = ({ validateSchema, plugins = [], huri, refreshTitle = '', timestampLabel = 'Data From', ...props }) => {
6
- return (_jsx(XyoEmbedPluginProvider, { refreshTitle: refreshTitle, timestampLabel: timestampLabel, plugins: plugins, huri: huri, children: _jsx(ValidatePayloadProvider, { enabled: validateSchema, children: _jsx(ListModeProvider, { children: _jsx(ValidatePlugins, { children: _jsx(EmbedPluginContainer, { ...props }) }) }) }) }));
6
+ return (_jsx(XyoEmbedPluginProvider, { refreshTitle: refreshTitle, timestampLabel: timestampLabel, plugins: plugins, huri: huri, children: _jsx(ValidatePayloadProvider, { enabled: validateSchema, children: _jsx(ListModeProvider, { children: _jsx(ValidatePlugins, { children: _jsx(ValidatePayload, { children: _jsx(EmbedPluginContainer, { ...props }) }) }) }) }) }));
7
7
  };
8
8
  //# sourceMappingURL=XyoEmbedPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoEmbedPlugin.js","sourceRoot":"","sources":["../../../src/components/XyoEmbedPlugin.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGpE,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,cAAc,EACd,OAAO,GAAG,EAAE,EACZ,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,cAAc,GAAG,WAAW,EAC5B,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,KAAC,sBAAsB,IAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,YAC9G,KAAC,uBAAuB,IAAC,OAAO,EAAE,cAAc,YAC9C,KAAC,gBAAgB,cACf,KAAC,eAAe,cACd,KAAC,oBAAoB,OAAK,KAAK,GAAI,GACnB,GACD,GACK,GACH,CAC1B,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"XyoEmbedPlugin.js","sourceRoot":"","sources":["../../../src/components/XyoEmbedPlugin.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGrF,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,cAAc,EACd,OAAO,GAAG,EAAE,EACZ,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,cAAc,GAAG,WAAW,EAC5B,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,KAAC,sBAAsB,IAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,YAC9G,KAAC,uBAAuB,IAAC,OAAO,EAAE,cAAc,YAC9C,KAAC,gBAAgB,cACf,KAAC,eAAe,cACd,KAAC,eAAe,cACd,KAAC,oBAAoB,OAAK,KAAK,GAAI,GACnB,GACF,GACD,GACK,GACH,CAC1B,CAAA;AACH,CAAC,CAAA"}
@@ -1,9 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { CardProps } from '@mui/material';
3
- import { ButtonExProps } from '@xylabs/react-button';
4
- export declare const JsonButton: React.FC<ButtonExProps>;
5
3
  export interface EmbedPluginContainerProps extends CardProps {
6
- hideJsonButton?: boolean;
4
+ hideEmbedMenu?: boolean;
7
5
  }
8
6
  export declare const EmbedPluginContainer: React.FC<EmbedPluginContainerProps>;
9
7
  //# sourceMappingURL=EmbedPluginContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbedPluginContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/embed-card/EmbedPluginContainer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAyC,SAAS,EAAe,MAAM,eAAe,CAAA;AAC7F,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAO9D,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAM9C,CAAA;AAED,MAAM,WAAW,yBAA0B,SAAQ,SAAS;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmCpE,CAAA"}
1
+ {"version":3,"file":"EmbedPluginContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/embed-card/EmbedPluginContainer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAyC,SAAS,EAAe,MAAM,eAAe,CAAA;AAQ7F,MAAM,WAAW,yBAA0B,SAAQ,SAAS;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmCpE,CAAA"}
@@ -1,16 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import RefreshIcon from '@mui/icons-material/Refresh';
3
3
  import { Avatar, Card, CardContent, CardHeader, Chip } from '@mui/material';
4
- import { ButtonEx } from '@xylabs/react-button';
5
4
  import { FlexGrowRow, FlexRow } from '@xylabs/react-flexbox';
6
5
  import { useXyoEmbedPluginState } from '../../contexts';
7
6
  import { EmbedRenderSelect, ListModeSelectFormControl } from '../controls';
8
7
  import { RenderComponent } from '../RenderComponent';
9
- export const JsonButton = (props) => {
10
- return (_jsx(ButtonEx, { size: "small", title: "Source Payload JSON", color: "primary", variant: "outlined", marginX: 1, ...props, children: "JSON" }));
11
- };
12
- export const EmbedPluginContainer = ({ hideJsonButton, ...props }) => {
8
+ import { EmbedMenu } from './menu';
9
+ export const EmbedPluginContainer = ({ hideEmbedMenu, ...props }) => {
13
10
  const { activePlugin, payload, timestampLabel, refreshHuri, plugins } = useXyoEmbedPluginState();
14
- return (_jsxs(Card, { elevation: 3, variant: "elevation", ...props, children: [_jsx(CardHeader, { sx: { flexWrap: 'wrap', rowGap: 1 }, avatar: _jsx(Avatar, { sx: { bgcolor: (theme) => theme.palette.primary.main }, "aria-label": activePlugin?.name, children: activePlugin?.name?.charAt(0) }), action: _jsxs(FlexRow, { children: [payload?.timestamp ? (_jsx(Chip, { avatar: _jsx(RefreshIcon, {}), clickable: true, onClick: refreshHuri, label: `${timestampLabel} ${new Date(payload.timestamp).toLocaleString()}` })) : null, hideJsonButton ? null : _jsx(JsonButton, {})] }), title: activePlugin?.name }), _jsxs(FlexGrowRow, { columnGap: 2, rowGap: 2, flexWrap: "wrap", justifyContent: "center", pb: 1, children: [plugins && plugins.length > 1 ? _jsx(EmbedRenderSelect, {}) : null, (activePlugin?.components?.box?.listModes?.length ?? 0) > 1 ? _jsx(ListModeSelectFormControl, {}) : null] }), _jsx(CardContent, { children: _jsx(RenderComponent, { payload: payload, ActivePlugin: activePlugin }) })] }));
11
+ return (_jsxs(Card, { elevation: 3, variant: "elevation", ...props, children: [_jsx(CardHeader, { sx: { flexWrap: 'wrap', rowGap: 1 }, avatar: _jsx(Avatar, { sx: { bgcolor: (theme) => theme.palette.primary.main }, "aria-label": activePlugin?.name, children: activePlugin?.name?.charAt(0) }), action: _jsxs(FlexRow, { children: [payload?.timestamp ? (_jsx(Chip, { avatar: _jsx(RefreshIcon, {}), clickable: true, onClick: refreshHuri, label: `${timestampLabel} ${new Date(payload.timestamp).toLocaleString()}` })) : null, hideEmbedMenu ? null : _jsx(EmbedMenu, {})] }), title: activePlugin?.name }), _jsxs(FlexGrowRow, { columnGap: 2, rowGap: 2, flexWrap: "wrap", justifyContent: "center", pb: 1, children: [plugins && plugins.length > 1 ? _jsx(EmbedRenderSelect, {}) : null, (activePlugin?.components?.box?.listModes?.length ?? 0) > 1 ? _jsx(ListModeSelectFormControl, {}) : null] }), _jsx(CardContent, { children: _jsx(RenderComponent, { payload: payload, ActivePlugin: activePlugin }) })] }));
15
12
  };
16
13
  //# sourceMappingURL=EmbedPluginContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbedPluginContainer.js","sourceRoot":"","sources":["../../../../src/components/embed-card/EmbedPluginContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAa,IAAI,EAAS,MAAM,eAAe,CAAA;AAC7F,OAAO,EAAE,QAAQ,EAAiB,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,CAAC,MAAM,UAAU,GAA4B,CAAC,KAAK,EAAE,EAAE;IAC3D,OAAO,CACL,KAAC,QAAQ,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,qBAAqB,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,CAAC,KAAM,KAAK,qBAEhG,CACZ,CAAA;AACH,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxG,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAA;IAChG,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAC,WAAW,KAAK,KAAK,aAC/C,KAAC,UAAU,IACT,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EACnC,MAAM,EACJ,KAAC,MAAM,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAc,YAAY,EAAE,IAAI,YAClG,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GACvB,EAEX,MAAM,EACJ,MAAC,OAAO,eACL,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CACpB,KAAC,IAAI,IACH,MAAM,EAAE,KAAC,WAAW,KAAG,EACvB,SAAS,QACT,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,GAAG,cAAc,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,GAC1E,CACH,CAAC,CAAC,CAAC,IAAI,EACP,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,UAAU,KAAG,IAC/B,EAEZ,KAAK,EAAE,YAAY,EAAE,IAAI,GACzB,EACF,MAAC,WAAW,IAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,EAAC,cAAc,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,aAChF,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAC,iBAAiB,KAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAC,yBAAyB,KAAG,CAAC,CAAC,CAAC,IAAI,IACvF,EACd,KAAC,WAAW,cACV,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAI,GACrD,IACT,CACR,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"EmbedPluginContainer.js","sourceRoot":"","sources":["../../../../src/components/embed-card/EmbedPluginContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAa,IAAI,EAAS,MAAM,eAAe,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAMlC,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACvG,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAA;IAChG,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAC,WAAW,KAAK,KAAK,aAC/C,KAAC,UAAU,IACT,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EACnC,MAAM,EACJ,KAAC,MAAM,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAc,YAAY,EAAE,IAAI,YAClG,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GACvB,EAEX,MAAM,EACJ,MAAC,OAAO,eACL,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CACpB,KAAC,IAAI,IACH,MAAM,EAAE,KAAC,WAAW,KAAG,EACvB,SAAS,QACT,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,GAAG,cAAc,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,GAC1E,CACH,CAAC,CAAC,CAAC,IAAI,EACP,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,SAAS,KAAG,IAC7B,EAEZ,KAAK,EAAE,YAAY,EAAE,IAAI,GACzB,EACF,MAAC,WAAW,IAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,EAAC,cAAc,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,aAChF,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAC,iBAAiB,KAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAC,yBAAyB,KAAG,CAAC,CAAC,CAAC,IAAI,IACvF,EACd,KAAC,WAAW,cACV,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAI,GACrD,IACT,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { IconButtonProps } from '@mui/material';
3
+ export declare const EmbedMenu: React.FC<IconButtonProps>;
4
+ //# sourceMappingURL=EmbedMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbedMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/EmbedMenu.tsx"],"names":[],"mappings":";AACA,OAAO,EAAc,eAAe,EAAQ,MAAM,eAAe,CAAA;AAKjE,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsB/C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import MoreVertIcon from '@mui/icons-material/MoreVert';
3
+ import { IconButton, Menu } from '@mui/material';
4
+ import { useState } from 'react';
5
+ import { JsonMenuItem } from './JsonMenuItem';
6
+ export const EmbedMenu = (props) => {
7
+ // TODO - link to explore website
8
+ const [anchorEl, setAnchorEl] = useState(null);
9
+ const open = Boolean(anchorEl);
10
+ const handleClick = (event) => {
11
+ setAnchorEl(event.currentTarget);
12
+ };
13
+ const handleClose = () => {
14
+ setAnchorEl(null);
15
+ };
16
+ return (_jsxs(_Fragment, { children: [_jsx(IconButton, { onClick: handleClick, ...props, children: _jsx(MoreVertIcon, {}) }), _jsx(Menu, { anchorEl: anchorEl, open: open, onClose: handleClose, PaperProps: { variant: 'elevation' }, MenuListProps: { dense: true }, children: _jsx(JsonMenuItem, {}) })] }));
17
+ };
18
+ //# sourceMappingURL=EmbedMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbedMenu.js","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/EmbedMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAmB,IAAI,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,CAAC,MAAM,SAAS,GAA8B,CAAC,KAAK,EAAE,EAAE;IAC5D,iCAAiC;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,MAAM,WAAW,GAAG,CAAC,KAA0C,EAAE,EAAE;QACjE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAClC,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,OAAO,CACL,8BACE,KAAC,UAAU,IAAC,OAAO,EAAE,WAAW,KAAM,KAAK,YACzC,KAAC,YAAY,KAAG,GACL,EACb,KAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,YAC9H,KAAC,YAAY,KAAG,GACX,IACN,CACJ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { MenuItemProps } from '@mui/material';
3
+ export declare const JsonMenuItem: React.FC<MenuItemProps>;
4
+ //# sourceMappingURL=JsonMenuItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonMenuItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/JsonMenuItem.tsx"],"names":[],"mappings":";AACA,OAAO,EAAwC,aAAa,EAAE,MAAM,eAAe,CAAA;AAInF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAehD,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import OpenInNewIcon from '@mui/icons-material/OpenInNew';
3
+ import { ListItemIcon, ListItemText, MenuItem } from '@mui/material';
4
+ import { useXyoEmbedPluginState } from '../../../contexts';
5
+ export const JsonMenuItem = (props) => {
6
+ const { huri } = useXyoEmbedPluginState();
7
+ return (_jsx(_Fragment, { children: huri ? (_jsxs(MenuItem, { title: "Source Payload JSON", onClick: () => window.open(huri, '_blank'), ...props, children: [_jsx(ListItemText, { sx: { mr: 1 }, children: "JSON" }), _jsx(ListItemIcon, { sx: { justifyContent: 'end' }, children: _jsx(OpenInNewIcon, { fontSize: "small" }) })] })) : null }));
8
+ };
9
+ //# sourceMappingURL=JsonMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonMenuItem.js","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/JsonMenuItem.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAA;AAEnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,CAAC,MAAM,YAAY,GAA4B,CAAC,KAAK,EAAE,EAAE;IAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,sBAAsB,EAAE,CAAA;IAEzC,OAAO,CACL,4BACG,IAAI,CAAC,CAAC,CAAC,CACN,MAAC,QAAQ,IAAC,KAAK,EAAC,qBAAqB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAM,KAAK,aACzF,KAAC,YAAY,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,qBAAqB,EAChD,KAAC,YAAY,IAAC,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,YACzC,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,GAAG,GACrB,IACN,CACZ,CAAC,CAAC,CAAC,IAAI,GACP,CACJ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './EmbedMenu';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './EmbedMenu';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/embed-card/menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,8 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { WithChildren } from '@xylabs/react-shared';
3
- interface ValidatePayloadProviderProps {
3
+ export interface ValidatePayloadProviderProps {
4
4
  enabled?: boolean;
5
5
  }
6
6
  export declare const ValidatePayloadProvider: React.FC<WithChildren<ValidatePayloadProviderProps>>;
7
- export {};
8
7
  //# sourceMappingURL=Provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAOnE,UAAU,4BAA4B;IAEpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CA4BxF,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAOnE,MAAM,WAAW,4BAA4B;IAE3C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CA4BxF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,qHAA4E,CAAA"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,qHAAqE,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { useContextEx } from '@xyo-network/react-shared';
2
2
  import { ValidatePayloadContext } from './Context';
3
- export const useValidatePayload = () => useContextEx(ValidatePayloadContext, 'ValidateSchemaContext', true);
3
+ export const useValidatePayload = () => useContextEx(ValidatePayloadContext, 'ValidateSchema', true);
4
4
  //# sourceMappingURL=use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAM1E,MAAM,WAAW,2BAA4B,SAAQ,YAAY;IAC/D,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAgDtF,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAM1E,MAAM,WAAW,2BAA4B,SAAQ,YAAY;IAC/D,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAsDtF,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { FlexCol } from '@xylabs/react-flexbox';
3
3
  import { useAsyncEffect } from '@xylabs/react-shared';
4
+ import { delay } from '@xylabs/sdk-js';
4
5
  import { Huri } from '@xyo-network/payload';
5
6
  import { XyoApiErrorRender } from '@xyo-network/react-auth-service';
6
7
  import { ResultLoader } from '@xyo-network/react-webapp';
@@ -19,6 +20,8 @@ export const XyoEmbedPluginProvider = ({ children, refreshTitle, timestampLabel,
19
20
  try {
20
21
  const huriInstance = new Huri(huri);
21
22
  const result = await huriInstance.fetch();
23
+ // ensure the busy state can stay for a moment to avoid flashing too quickly
24
+ await delay(500);
22
25
  if (mounted()) {
23
26
  setNotFound(result === null);
24
27
  setPayload(result);
@@ -33,6 +36,6 @@ export const XyoEmbedPluginProvider = ({ children, refreshTitle, timestampLabel,
33
36
  const refreshHuri = () => {
34
37
  setRefreshPayload(0);
35
38
  };
36
- return (_jsx(XyoEmbedPluginContext.Provider, { value: { activePlugin, payload, provided: true, refreshHuri, refreshTitle, setActivePlugin, timestampLabel }, children: _jsx(ResultLoader, { searchResult: payload, notFound: !!notFound, apiError: huriApiError, children: _jsx(XyoApiErrorRender, { apiError: huriApiError, busy: Boolean(!refreshPayload && payload), ...props, children: _jsx(FlexCol, { children: children }) }) }) }));
39
+ return (_jsx(XyoEmbedPluginContext.Provider, { value: { activePlugin, huri, payload, provided: true, refreshHuri, refreshTitle, setActivePlugin, timestampLabel }, children: _jsx(ResultLoader, { searchResult: payload, notFound: !!notFound, apiError: huriApiError, children: _jsx(XyoApiErrorRender, { apiError: huriApiError, children: _jsx(FlexCol, { busy: Boolean(!refreshPayload && payload), ...props, children: children }) }) }) }));
37
40
  };
38
41
  //# sourceMappingURL=Provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AASjD,MAAM,CAAC,MAAM,sBAAsB,GAAwD,CAAC,EAC1F,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAc,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAW,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC/D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACtH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEvD,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;YAC3B,IAAI;gBACF,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;gBACnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;gBAEzC,IAAI,OAAO,EAAE,EAAE;oBACb,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;oBAC5B,UAAU,CAAC,MAAM,CAAC,CAAA;oBAClB,iBAAiB,CAAC,CAAC,CAAC,CAAA;iBACrB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,eAAe,CAAC,CAAgB,CAAC,CAAA;aAClC;SACF;IACH,CAAC,EACD,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAChC,CAAA;IAED,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAC1I,KAAC,YAAY,IAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,YAC/E,KAAC,iBAAiB,IAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,KAAM,KAAK,YAC7F,KAAC,OAAO,cAAE,QAAQ,GAAW,GACX,GACP,GACgB,CAClC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AASjD,MAAM,CAAC,MAAM,sBAAsB,GAAwD,CAAC,EAC1F,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAc,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAW,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC/D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACtH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEvD,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;YAC3B,IAAI;gBACF,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;gBACnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;gBACzC,4EAA4E;gBAC5E,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAEhB,IAAI,OAAO,EAAE,EAAE;oBACb,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;oBAC5B,UAAU,CAAC,MAAM,CAAC,CAAA;oBAClB,iBAAiB,CAAC,CAAC,CAAC,CAAA;iBACrB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,eAAe,CAAC,CAAgB,CAAC,CAAA;aAClC;SACF;IACH,CAAC,EACD,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAChC,CAAA;IAED,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAC7B,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAElH,KAAC,YAAY,IAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,YAC/E,KAAC,iBAAiB,IAAC,QAAQ,EAAE,YAAY,YACvC,KAAC,OAAO,IAAC,IAAI,EAAE,OAAO,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,KAAM,KAAK,YAC1D,QAAQ,GACD,GACQ,GACP,GACgB,CAClC,CAAA;AACH,CAAC,CAAA"}
@@ -8,6 +8,7 @@ export interface XyoEmbedPluginState extends ContextExState {
8
8
  payload?: XyoPayload;
9
9
  plugins?: XyoPayloadRenderPlugin[];
10
10
  refreshHuri?: () => void;
11
+ huri?: string;
11
12
  refreshTitle?: string;
12
13
  timestampLabel?: string;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,eAAe,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAA;IAC9E,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB"}
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,eAAe,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAA;IAC9E,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB"}
@@ -1,3 +1,5 @@
1
+ export * from './Context';
1
2
  export * from './Provider';
3
+ export * from './State';
2
4
  export * from './use';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
@@ -1,3 +1,5 @@
1
+ export * from './Context';
1
2
  export * from './Provider';
3
+ export * from './State';
2
4
  export * from './use';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,oHAA2E,CAAA"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,oHAAoE,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { useContextEx } from '@xyo-network/react-shared';
2
2
  import { XyoEmbedPluginContext } from './Context';
3
- export const useXyoEmbedPluginState = () => useContextEx(XyoEmbedPluginContext, 'XyoEmbedPluginContext', true);
3
+ export const useXyoEmbedPluginState = () => useContextEx(XyoEmbedPluginContext, 'XyoEmbedPlugin', true);
4
4
  //# sourceMappingURL=use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA"}
package/package.json CHANGED
@@ -14,16 +14,15 @@
14
14
  "@emotion/styled": "^11.10.0",
15
15
  "@mui/icons-material": "^5.8.4",
16
16
  "@mui/material": "^5.10.0",
17
- "@xylabs/react-button": "^2.14.11",
18
- "@xylabs/react-flexbox": "^2.14.11",
19
- "@xylabs/react-shared": "^2.14.11",
17
+ "@xylabs/react-flexbox": "^2.14.13",
18
+ "@xylabs/react-shared": "^2.14.13",
19
+ "@xylabs/sdk-js": "^2.6.5",
20
20
  "@xyo-network/api": "^2.25.2",
21
21
  "@xyo-network/payload": "^2.25.2",
22
- "@xyo-network/react-app-settings": "^2.27.27",
23
- "@xyo-network/react-auth-service": "^2.27.27",
24
- "@xyo-network/react-payload-plugin": "^2.27.27",
25
- "@xyo-network/react-shared": "^2.27.27",
26
- "@xyo-network/react-webapp": "^2.27.27",
22
+ "@xyo-network/react-auth-service": "^2.27.30",
23
+ "@xyo-network/react-payload-plugin": "^2.27.30",
24
+ "@xyo-network/react-shared": "^2.27.30",
25
+ "@xyo-network/react-webapp": "^2.27.30",
27
26
  "@xyo-network/utils": "^2.25.2",
28
27
  "react": "^18.2.0",
29
28
  "react-dom": "^18.2.0",
@@ -32,9 +31,9 @@
32
31
  "description": "Common React library for all XYO projects that use React",
33
32
  "devDependencies": {
34
33
  "@storybook/react": "^6.5.10",
35
- "@xylabs/tsconfig-dom": "^2.5.92",
36
- "@xyo-network/react-aggregate-price-plugin": "^2.27.26",
37
- "@xyo-network/react-crypto-market-uniswap-payload-plugin": "^2.27.27",
34
+ "@xylabs/tsconfig-dom": "^2.5.97",
35
+ "@xyo-network/react-aggregate-price-plugin": "^2.27.29",
36
+ "@xyo-network/react-crypto-market-uniswap-payload-plugin": "^2.27.30",
38
37
  "react-router-dom": "^6.3.0"
39
38
  },
40
39
  "browser": "dist/esm/index.js",
@@ -79,5 +78,5 @@
79
78
  },
80
79
  "sideEffects": false,
81
80
  "types": "dist/esm/index.d.ts",
82
- "version": "2.27.25"
81
+ "version": "2.27.28"
83
82
  }
@@ -1,7 +1,7 @@
1
1
  import { ListModeProvider } from '@xyo-network/react-shared'
2
2
 
3
3
  import { ValidatePayloadProvider, XyoEmbedPluginProvider } from '../contexts'
4
- import { EmbedPluginContainer, ValidatePlugins } from './embed-card'
4
+ import { EmbedPluginContainer, ValidatePayload, ValidatePlugins } from './embed-card'
5
5
  import { XyoEmbedPluginProps } from './XyoEmbedPluginProps'
6
6
 
7
7
  export const XyoEmbedPlugin: React.FC<XyoEmbedPluginProps> = ({
@@ -17,7 +17,9 @@ export const XyoEmbedPlugin: React.FC<XyoEmbedPluginProps> = ({
17
17
  <ValidatePayloadProvider enabled={validateSchema}>
18
18
  <ListModeProvider>
19
19
  <ValidatePlugins>
20
- <EmbedPluginContainer {...props} />
20
+ <ValidatePayload>
21
+ <EmbedPluginContainer {...props} />
22
+ </ValidatePayload>
21
23
  </ValidatePlugins>
22
24
  </ListModeProvider>
23
25
  </ValidatePayloadProvider>
@@ -1,25 +1,17 @@
1
1
  import RefreshIcon from '@mui/icons-material/Refresh'
2
2
  import { Avatar, Card, CardContent, CardHeader, CardProps, Chip, Theme } from '@mui/material'
3
- import { ButtonEx, ButtonExProps } from '@xylabs/react-button'
4
3
  import { FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'
5
4
 
6
5
  import { useXyoEmbedPluginState } from '../../contexts'
7
6
  import { EmbedRenderSelect, ListModeSelectFormControl } from '../controls'
8
7
  import { RenderComponent } from '../RenderComponent'
9
-
10
- export const JsonButton: React.FC<ButtonExProps> = (props) => {
11
- return (
12
- <ButtonEx size="small" title="Source Payload JSON" color="primary" variant="outlined" marginX={1} {...props}>
13
- JSON
14
- </ButtonEx>
15
- )
16
- }
8
+ import { EmbedMenu } from './menu'
17
9
 
18
10
  export interface EmbedPluginContainerProps extends CardProps {
19
- hideJsonButton?: boolean
11
+ hideEmbedMenu?: boolean
20
12
  }
21
13
 
22
- export const EmbedPluginContainer: React.FC<EmbedPluginContainerProps> = ({ hideJsonButton, ...props }) => {
14
+ export const EmbedPluginContainer: React.FC<EmbedPluginContainerProps> = ({ hideEmbedMenu, ...props }) => {
23
15
  const { activePlugin, payload, timestampLabel, refreshHuri, plugins } = useXyoEmbedPluginState()
24
16
  return (
25
17
  <Card elevation={3} variant="elevation" {...props}>
@@ -40,7 +32,7 @@ export const EmbedPluginContainer: React.FC<EmbedPluginContainerProps> = ({ hide
40
32
  label={`${timestampLabel} ${new Date(payload.timestamp).toLocaleString()}`}
41
33
  />
42
34
  ) : null}
43
- {hideJsonButton ? null : <JsonButton />}
35
+ {hideEmbedMenu ? null : <EmbedMenu />}
44
36
  </FlexRow>
45
37
  }
46
38
  title={activePlugin?.name}
@@ -0,0 +1,29 @@
1
+ import MoreVertIcon from '@mui/icons-material/MoreVert'
2
+ import { IconButton, IconButtonProps, Menu } from '@mui/material'
3
+ import { useState } from 'react'
4
+
5
+ import { JsonMenuItem } from './JsonMenuItem'
6
+
7
+ export const EmbedMenu: React.FC<IconButtonProps> = (props) => {
8
+ // TODO - link to explore website
9
+ const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)
10
+ const open = Boolean(anchorEl)
11
+
12
+ const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
13
+ setAnchorEl(event.currentTarget)
14
+ }
15
+ const handleClose = () => {
16
+ setAnchorEl(null)
17
+ }
18
+
19
+ return (
20
+ <>
21
+ <IconButton onClick={handleClick} {...props}>
22
+ <MoreVertIcon />
23
+ </IconButton>
24
+ <Menu anchorEl={anchorEl} open={open} onClose={handleClose} PaperProps={{ variant: 'elevation' }} MenuListProps={{ dense: true }}>
25
+ <JsonMenuItem />
26
+ </Menu>
27
+ </>
28
+ )
29
+ }
@@ -0,0 +1,21 @@
1
+ import OpenInNewIcon from '@mui/icons-material/OpenInNew'
2
+ import { ListItemIcon, ListItemText, MenuItem, MenuItemProps } from '@mui/material'
3
+
4
+ import { useXyoEmbedPluginState } from '../../../contexts'
5
+
6
+ export const JsonMenuItem: React.FC<MenuItemProps> = (props) => {
7
+ const { huri } = useXyoEmbedPluginState()
8
+
9
+ return (
10
+ <>
11
+ {huri ? (
12
+ <MenuItem title="Source Payload JSON" onClick={() => window.open(huri, '_blank')} {...props}>
13
+ <ListItemText sx={{ mr: 1 }}>JSON</ListItemText>
14
+ <ListItemIcon sx={{ justifyContent: 'end' }}>
15
+ <OpenInNewIcon fontSize="small" />
16
+ </ListItemIcon>
17
+ </MenuItem>
18
+ ) : null}
19
+ </>
20
+ )
21
+ }
@@ -0,0 +1 @@
1
+ export * from './EmbedMenu'
@@ -0,0 +1,58 @@
1
+ import { Typography } from '@mui/material'
2
+ import { ComponentStory, DecoratorFn, Meta } from '@storybook/react'
3
+
4
+ import { XyoEmbedPluginContext, XyoEmbedPluginState } from '../XyoEmbedPluginContext'
5
+ import { ValidatePayloadProvider, ValidatePayloadProviderProps } from './Provider'
6
+ import { useValidatePayload } from './use'
7
+
8
+ const EmbedDecorator: DecoratorFn = (Story, { args }) => {
9
+ const { xyoEmbedPluginContext, ...props } = args
10
+ return (
11
+ <XyoEmbedPluginContext.Provider value={xyoEmbedPluginContext}>
12
+ <Story {...props} />
13
+ </XyoEmbedPluginContext.Provider>
14
+ )
15
+ }
16
+
17
+ const StorybookEntry: Meta = {
18
+ component: ValidatePayloadProvider,
19
+ decorators: [EmbedDecorator],
20
+ title: 'embed/ValidatePayloadProvider',
21
+ }
22
+
23
+ const ValidatePayloadState = () => {
24
+ const state = useValidatePayload()
25
+ return <pre>{JSON.stringify(state, null, 2)}</pre>
26
+ }
27
+
28
+ interface ValidatePayloadProviderPropsEx extends ValidatePayloadProviderProps {
29
+ xyoEmbedPluginContext: XyoEmbedPluginState
30
+ }
31
+
32
+ const Template: ComponentStory<React.FC<ValidatePayloadProviderPropsEx>> = (props) => {
33
+ return (
34
+ <ValidatePayloadProvider {...props}>
35
+ <Typography>State:</Typography>
36
+ <ValidatePayloadState />
37
+ <Typography>Children</Typography>
38
+ </ValidatePayloadProvider>
39
+ )
40
+ }
41
+
42
+ const InvalidPayload = { schema: 'network.xyo.schema' }
43
+ const ValidPayload = { definition: { $id: 'test.schema' }, schema: 'network.xyo.schema' }
44
+ const XyoEmbedPluginProviderDefaultValue = { provided: true }
45
+
46
+ const Default = Template.bind({})
47
+ Default.args = { xyoEmbedPluginContext: XyoEmbedPluginProviderDefaultValue }
48
+
49
+ const ValidationSucceeded = Template.bind({})
50
+ ValidationSucceeded.args = { enabled: true, xyoEmbedPluginContext: { payload: ValidPayload, ...XyoEmbedPluginProviderDefaultValue } }
51
+
52
+ const ValidationFailed = Template.bind({})
53
+ ValidationFailed.args = { enabled: true, xyoEmbedPluginContext: { payload: InvalidPayload, ...XyoEmbedPluginProviderDefaultValue } }
54
+
55
+ export { Default, ValidationFailed, ValidationSucceeded }
56
+
57
+ // eslint-disable-next-line import/no-default-export
58
+ export default StorybookEntry
@@ -6,7 +6,7 @@ import { useState } from 'react'
6
6
  import { useXyoEmbedPluginState } from '../XyoEmbedPluginContext'
7
7
  import { ValidatePayloadContext } from './Context'
8
8
 
9
- interface ValidatePayloadProviderProps {
9
+ export interface ValidatePayloadProviderProps {
10
10
  // Opt-in flag to validate payloads for the plugin(s)
11
11
  enabled?: boolean
12
12
  }
@@ -2,4 +2,4 @@ import { useContextEx } from '@xyo-network/react-shared'
2
2
 
3
3
  import { ValidatePayloadContext } from './Context'
4
4
 
5
- export const useValidatePayload = () => useContextEx(ValidatePayloadContext, 'ValidateSchemaContext', true)
5
+ export const useValidatePayload = () => useContextEx(ValidatePayloadContext, 'ValidateSchema', true)
@@ -1,5 +1,6 @@
1
1
  import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'
2
2
  import { useAsyncEffect, WithChildren } from '@xylabs/react-shared'
3
+ import { delay } from '@xylabs/sdk-js'
3
4
  import { XyoApiError } from '@xyo-network/api'
4
5
  import { Huri, XyoPayload } from '@xyo-network/payload'
5
6
  import { XyoApiErrorRender } from '@xyo-network/react-auth-service'
@@ -37,6 +38,8 @@ export const XyoEmbedPluginProvider: React.FC<WithChildren<XyoEmbedPluginProvide
37
38
  try {
38
39
  const huriInstance = new Huri(huri)
39
40
  const result = await huriInstance.fetch()
41
+ // ensure the busy state can stay for a moment to avoid flashing too quickly
42
+ await delay(500)
40
43
 
41
44
  if (mounted()) {
42
45
  setNotFound(result === null)
@@ -56,10 +59,14 @@ export const XyoEmbedPluginProvider: React.FC<WithChildren<XyoEmbedPluginProvide
56
59
  }
57
60
 
58
61
  return (
59
- <XyoEmbedPluginContext.Provider value={{ activePlugin, payload, provided: true, refreshHuri, refreshTitle, setActivePlugin, timestampLabel }}>
62
+ <XyoEmbedPluginContext.Provider
63
+ value={{ activePlugin, huri, payload, provided: true, refreshHuri, refreshTitle, setActivePlugin, timestampLabel }}
64
+ >
60
65
  <ResultLoader searchResult={payload} notFound={!!notFound} apiError={huriApiError}>
61
- <XyoApiErrorRender apiError={huriApiError} busy={Boolean(!refreshPayload && payload)} {...props}>
62
- <FlexCol>{children}</FlexCol>
66
+ <XyoApiErrorRender apiError={huriApiError}>
67
+ <FlexCol busy={Boolean(!refreshPayload && payload)} {...props}>
68
+ {children}
69
+ </FlexCol>
63
70
  </XyoApiErrorRender>
64
71
  </ResultLoader>
65
72
  </XyoEmbedPluginContext.Provider>
@@ -9,6 +9,7 @@ export interface XyoEmbedPluginState extends ContextExState {
9
9
  payload?: XyoPayload
10
10
  plugins?: XyoPayloadRenderPlugin[]
11
11
  refreshHuri?: () => void
12
+ huri?: string
12
13
  refreshTitle?: string
13
14
  timestampLabel?: string
14
15
  }
@@ -1,2 +1,4 @@
1
+ export * from './Context'
1
2
  export * from './Provider'
3
+ export * from './State'
2
4
  export * from './use'
@@ -2,4 +2,4 @@ import { useContextEx } from '@xyo-network/react-shared'
2
2
 
3
3
  import { XyoEmbedPluginContext } from './Context'
4
4
 
5
- export const useXyoEmbedPluginState = () => useContextEx(XyoEmbedPluginContext, 'XyoEmbedPluginContext', true)
5
+ export const useXyoEmbedPluginState = () => useContextEx(XyoEmbedPluginContext, 'XyoEmbedPlugin', true)