@xyo-network/react-embed 2.27.30 → 2.28.1

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 (202) hide show
  1. package/dist/cjs/components/XyoEmbedPlugin.d.ts.map +1 -1
  2. package/dist/cjs/components/XyoEmbedPlugin.js +9 -2
  3. package/dist/cjs/components/XyoEmbedPlugin.js.map +1 -1
  4. package/dist/cjs/components/embed-card/EmbedCardHeader.d.ts.map +1 -1
  5. package/dist/cjs/components/embed-card/EmbedCardHeader.js +3 -2
  6. package/dist/cjs/components/embed-card/EmbedCardHeader.js.map +1 -1
  7. package/dist/cjs/components/embed-card/EmbedCardResolver.d.ts +5 -0
  8. package/dist/cjs/components/embed-card/EmbedCardResolver.d.ts.map +1 -0
  9. package/dist/cjs/components/embed-card/EmbedCardResolver.js +19 -0
  10. package/dist/cjs/components/embed-card/EmbedCardResolver.js.map +1 -0
  11. package/dist/cjs/components/embed-card/EmbedPluginCard.d.ts +4 -0
  12. package/dist/cjs/components/embed-card/EmbedPluginCard.d.ts.map +1 -0
  13. package/dist/cjs/components/embed-card/{EmbedPluginContainer.js → EmbedPluginCard.js} +6 -5
  14. package/dist/cjs/components/embed-card/EmbedPluginCard.js.map +1 -0
  15. package/dist/cjs/components/embed-card/ValidatePlugins.d.ts.map +1 -1
  16. package/dist/cjs/components/embed-card/ValidatePlugins.js +2 -1
  17. package/dist/cjs/components/embed-card/ValidatePlugins.js.map +1 -1
  18. package/dist/cjs/components/embed-card/index.d.ts +2 -1
  19. package/dist/cjs/components/embed-card/index.d.ts.map +1 -1
  20. package/dist/cjs/components/embed-card/index.js +2 -1
  21. package/dist/cjs/components/embed-card/index.js.map +1 -1
  22. package/dist/cjs/components/embed-card/menu/JsonMenuItem.js +1 -1
  23. package/dist/cjs/components/embed-card/menu/JsonMenuItem.js.map +1 -1
  24. package/dist/cjs/contexts/RefreshPayloadContext/Context.d.ts +4 -0
  25. package/dist/cjs/contexts/RefreshPayloadContext/Context.d.ts.map +1 -0
  26. package/dist/cjs/contexts/RefreshPayloadContext/Context.js +6 -0
  27. package/dist/cjs/contexts/RefreshPayloadContext/Context.js.map +1 -0
  28. package/dist/cjs/contexts/RefreshPayloadContext/Provider.d.ts +8 -0
  29. package/dist/cjs/contexts/RefreshPayloadContext/Provider.d.ts.map +1 -0
  30. package/dist/cjs/contexts/RefreshPayloadContext/Provider.js +12 -0
  31. package/dist/cjs/contexts/RefreshPayloadContext/Provider.js.map +1 -0
  32. package/dist/cjs/contexts/RefreshPayloadContext/State.d.ts +8 -0
  33. package/dist/cjs/contexts/RefreshPayloadContext/State.d.ts.map +1 -0
  34. package/dist/cjs/{components/XyoEmbedPluginProps.js → contexts/RefreshPayloadContext/State.js} +1 -1
  35. package/dist/cjs/contexts/RefreshPayloadContext/State.js.map +1 -0
  36. package/dist/cjs/contexts/RefreshPayloadContext/index.d.ts +3 -0
  37. package/dist/cjs/contexts/RefreshPayloadContext/index.d.ts.map +1 -0
  38. package/dist/cjs/contexts/RefreshPayloadContext/index.js +6 -0
  39. package/dist/cjs/contexts/RefreshPayloadContext/index.js.map +1 -0
  40. package/dist/cjs/contexts/RefreshPayloadContext/use.d.ts +2 -0
  41. package/dist/cjs/contexts/RefreshPayloadContext/use.d.ts.map +1 -0
  42. package/dist/cjs/contexts/RefreshPayloadContext/use.js +8 -0
  43. package/dist/cjs/contexts/RefreshPayloadContext/use.js.map +1 -0
  44. package/dist/cjs/contexts/ResolvePayloadContext/Context.d.ts +4 -0
  45. package/dist/cjs/contexts/ResolvePayloadContext/Context.d.ts.map +1 -0
  46. package/dist/cjs/contexts/ResolvePayloadContext/Context.js +6 -0
  47. package/dist/cjs/contexts/ResolvePayloadContext/Context.js.map +1 -0
  48. package/dist/cjs/contexts/ResolvePayloadContext/Provider.d.ts +6 -0
  49. package/dist/cjs/contexts/ResolvePayloadContext/Provider.d.ts.map +1 -0
  50. package/dist/cjs/contexts/ResolvePayloadContext/Provider.js +54 -0
  51. package/dist/cjs/contexts/ResolvePayloadContext/Provider.js.map +1 -0
  52. package/dist/cjs/contexts/ResolvePayloadContext/State.d.ts +14 -0
  53. package/dist/cjs/contexts/ResolvePayloadContext/State.d.ts.map +1 -0
  54. package/dist/cjs/contexts/ResolvePayloadContext/State.js +3 -0
  55. package/dist/cjs/contexts/ResolvePayloadContext/State.js.map +1 -0
  56. package/dist/cjs/contexts/ResolvePayloadContext/index.d.ts +4 -0
  57. package/dist/cjs/contexts/ResolvePayloadContext/index.d.ts.map +1 -0
  58. package/dist/cjs/contexts/ResolvePayloadContext/index.js +7 -0
  59. package/dist/cjs/contexts/ResolvePayloadContext/index.js.map +1 -0
  60. package/dist/cjs/contexts/ResolvePayloadContext/use.d.ts +2 -0
  61. package/dist/cjs/contexts/ResolvePayloadContext/use.d.ts.map +1 -0
  62. package/dist/cjs/contexts/ResolvePayloadContext/use.js +8 -0
  63. package/dist/cjs/contexts/ResolvePayloadContext/use.js.map +1 -0
  64. package/dist/cjs/contexts/ValidatePayloadContext/Provider.js +2 -2
  65. package/dist/cjs/contexts/ValidatePayloadContext/Provider.js.map +1 -1
  66. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.d.ts +2 -3
  67. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.d.ts.map +1 -1
  68. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.js +3 -40
  69. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.js.map +1 -1
  70. package/dist/cjs/contexts/XyoEmbedPluginContext/State.d.ts +1 -3
  71. package/dist/cjs/contexts/XyoEmbedPluginContext/State.d.ts.map +1 -1
  72. package/dist/cjs/contexts/index.d.ts +2 -0
  73. package/dist/cjs/contexts/index.d.ts.map +1 -1
  74. package/dist/cjs/contexts/index.js +2 -0
  75. package/dist/cjs/contexts/index.js.map +1 -1
  76. package/dist/cjs/types/XyoEmbedPluginProps.d.ts +6 -2
  77. package/dist/cjs/types/XyoEmbedPluginProps.d.ts.map +1 -1
  78. package/dist/docs.json +3 -3
  79. package/dist/esm/components/XyoEmbedPlugin.d.ts.map +1 -1
  80. package/dist/esm/components/XyoEmbedPlugin.js +10 -4
  81. package/dist/esm/components/XyoEmbedPlugin.js.map +1 -1
  82. package/dist/esm/components/embed-card/EmbedCardHeader.d.ts.map +1 -1
  83. package/dist/esm/components/embed-card/EmbedCardHeader.js +4 -3
  84. package/dist/esm/components/embed-card/EmbedCardHeader.js.map +1 -1
  85. package/dist/esm/components/embed-card/EmbedCardResolver.d.ts +5 -0
  86. package/dist/esm/components/embed-card/EmbedCardResolver.d.ts.map +1 -0
  87. package/dist/esm/components/embed-card/EmbedCardResolver.js +13 -0
  88. package/dist/esm/components/embed-card/EmbedCardResolver.js.map +1 -0
  89. package/dist/esm/components/embed-card/EmbedPluginCard.d.ts +4 -0
  90. package/dist/esm/components/embed-card/EmbedPluginCard.d.ts.map +1 -0
  91. package/dist/esm/components/embed-card/{EmbedPluginContainer.js → EmbedPluginCard.js} +5 -4
  92. package/dist/esm/components/embed-card/EmbedPluginCard.js.map +1 -0
  93. package/dist/esm/components/embed-card/ValidatePlugins.d.ts.map +1 -1
  94. package/dist/esm/components/embed-card/ValidatePlugins.js +3 -2
  95. package/dist/esm/components/embed-card/ValidatePlugins.js.map +1 -1
  96. package/dist/esm/components/embed-card/index.d.ts +2 -1
  97. package/dist/esm/components/embed-card/index.d.ts.map +1 -1
  98. package/dist/esm/components/embed-card/index.js +2 -1
  99. package/dist/esm/components/embed-card/index.js.map +1 -1
  100. package/dist/esm/components/embed-card/menu/JsonMenuItem.js +2 -2
  101. package/dist/esm/components/embed-card/menu/JsonMenuItem.js.map +1 -1
  102. package/dist/esm/contexts/RefreshPayloadContext/Context.d.ts +4 -0
  103. package/dist/esm/contexts/RefreshPayloadContext/Context.d.ts.map +1 -0
  104. package/dist/esm/contexts/RefreshPayloadContext/Context.js +3 -0
  105. package/dist/esm/contexts/RefreshPayloadContext/Context.js.map +1 -0
  106. package/dist/esm/contexts/RefreshPayloadContext/Provider.d.ts +8 -0
  107. package/dist/esm/contexts/RefreshPayloadContext/Provider.d.ts.map +1 -0
  108. package/dist/esm/contexts/RefreshPayloadContext/Provider.js +8 -0
  109. package/dist/esm/contexts/RefreshPayloadContext/Provider.js.map +1 -0
  110. package/dist/esm/contexts/RefreshPayloadContext/State.d.ts +8 -0
  111. package/dist/esm/contexts/RefreshPayloadContext/State.d.ts.map +1 -0
  112. package/dist/esm/contexts/RefreshPayloadContext/State.js +2 -0
  113. package/dist/esm/contexts/RefreshPayloadContext/State.js.map +1 -0
  114. package/dist/esm/contexts/RefreshPayloadContext/index.d.ts +3 -0
  115. package/dist/esm/contexts/RefreshPayloadContext/index.d.ts.map +1 -0
  116. package/dist/esm/contexts/RefreshPayloadContext/index.js +3 -0
  117. package/dist/esm/contexts/RefreshPayloadContext/index.js.map +1 -0
  118. package/dist/esm/contexts/RefreshPayloadContext/use.d.ts +2 -0
  119. package/dist/esm/contexts/RefreshPayloadContext/use.d.ts.map +1 -0
  120. package/dist/esm/contexts/RefreshPayloadContext/use.js +4 -0
  121. package/dist/esm/contexts/RefreshPayloadContext/use.js.map +1 -0
  122. package/dist/esm/contexts/ResolvePayloadContext/Context.d.ts +4 -0
  123. package/dist/esm/contexts/ResolvePayloadContext/Context.d.ts.map +1 -0
  124. package/dist/esm/contexts/ResolvePayloadContext/Context.js +3 -0
  125. package/dist/esm/contexts/ResolvePayloadContext/Context.js.map +1 -0
  126. package/dist/esm/contexts/ResolvePayloadContext/Provider.d.ts +6 -0
  127. package/dist/esm/contexts/ResolvePayloadContext/Provider.d.ts.map +1 -0
  128. package/dist/esm/contexts/ResolvePayloadContext/Provider.js +49 -0
  129. package/dist/esm/contexts/ResolvePayloadContext/Provider.js.map +1 -0
  130. package/dist/esm/contexts/ResolvePayloadContext/State.d.ts +14 -0
  131. package/dist/esm/contexts/ResolvePayloadContext/State.d.ts.map +1 -0
  132. package/dist/esm/contexts/ResolvePayloadContext/State.js +2 -0
  133. package/dist/esm/contexts/ResolvePayloadContext/State.js.map +1 -0
  134. package/dist/esm/contexts/ResolvePayloadContext/index.d.ts +4 -0
  135. package/dist/esm/contexts/ResolvePayloadContext/index.d.ts.map +1 -0
  136. package/dist/esm/contexts/ResolvePayloadContext/index.js +4 -0
  137. package/dist/esm/contexts/ResolvePayloadContext/index.js.map +1 -0
  138. package/dist/esm/contexts/ResolvePayloadContext/use.d.ts +2 -0
  139. package/dist/esm/contexts/ResolvePayloadContext/use.d.ts.map +1 -0
  140. package/dist/esm/contexts/ResolvePayloadContext/use.js +4 -0
  141. package/dist/esm/contexts/ResolvePayloadContext/use.js.map +1 -0
  142. package/dist/esm/contexts/ValidatePayloadContext/Provider.js +2 -2
  143. package/dist/esm/contexts/ValidatePayloadContext/Provider.js.map +1 -1
  144. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.d.ts +2 -3
  145. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.d.ts.map +1 -1
  146. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.js +3 -38
  147. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.js.map +1 -1
  148. package/dist/esm/contexts/XyoEmbedPluginContext/State.d.ts +1 -3
  149. package/dist/esm/contexts/XyoEmbedPluginContext/State.d.ts.map +1 -1
  150. package/dist/esm/contexts/index.d.ts +2 -0
  151. package/dist/esm/contexts/index.d.ts.map +1 -1
  152. package/dist/esm/contexts/index.js +2 -0
  153. package/dist/esm/contexts/index.js.map +1 -1
  154. package/dist/esm/types/XyoEmbedPluginProps.d.ts +6 -2
  155. package/dist/esm/types/XyoEmbedPluginProps.d.ts.map +1 -1
  156. package/package.json +12 -12
  157. package/src/components/XyoEmbedPlugin.stories.tsx +26 -9
  158. package/src/components/XyoEmbedPlugin.tsx +36 -14
  159. package/src/components/embed-card/EmbedCardHeader.tsx +6 -4
  160. package/src/components/embed-card/EmbedCardResolver.tsx +27 -0
  161. package/src/components/embed-card/{EmbedPluginContainer.tsx → EmbedPluginCard.tsx} +4 -3
  162. package/src/components/embed-card/ValidatePlugins.tsx +3 -2
  163. package/src/components/embed-card/index.ts +2 -1
  164. package/src/components/embed-card/menu/JsonMenuItem.tsx +2 -2
  165. package/src/components/payload.stories.ts +21 -0
  166. package/src/contexts/RefreshPayloadContext/Context.tsx +5 -0
  167. package/src/contexts/RefreshPayloadContext/Provider.tsx +19 -0
  168. package/src/contexts/RefreshPayloadContext/State.ts +8 -0
  169. package/src/contexts/RefreshPayloadContext/index.ts +2 -0
  170. package/src/contexts/RefreshPayloadContext/use.tsx +5 -0
  171. package/src/contexts/ResolvePayloadContext/Context.ts +5 -0
  172. package/src/contexts/ResolvePayloadContext/Provider.tsx +64 -0
  173. package/src/contexts/ResolvePayloadContext/State.ts +14 -0
  174. package/src/contexts/ResolvePayloadContext/index.ts +3 -0
  175. package/src/contexts/ResolvePayloadContext/use.tsx +5 -0
  176. package/src/contexts/ValidatePayloadContext/Provider.stories.tsx +19 -7
  177. package/src/contexts/ValidatePayloadContext/Provider.tsx +2 -2
  178. package/src/contexts/XyoEmbedPluginContext/Provider.tsx +4 -51
  179. package/src/contexts/XyoEmbedPluginContext/State.ts +1 -3
  180. package/src/contexts/index.ts +2 -0
  181. package/src/types/XyoEmbedPluginProps.ts +6 -2
  182. package/dist/cjs/components/RenderComponent.d.ts +0 -10
  183. package/dist/cjs/components/RenderComponent.d.ts.map +0 -1
  184. package/dist/cjs/components/RenderComponent.js +0 -11
  185. package/dist/cjs/components/RenderComponent.js.map +0 -1
  186. package/dist/cjs/components/XyoEmbedPluginProps.d.ts +0 -19
  187. package/dist/cjs/components/XyoEmbedPluginProps.d.ts.map +0 -1
  188. package/dist/cjs/components/XyoEmbedPluginProps.js.map +0 -1
  189. package/dist/cjs/components/embed-card/EmbedPluginContainer.d.ts +0 -4
  190. package/dist/cjs/components/embed-card/EmbedPluginContainer.d.ts.map +0 -1
  191. package/dist/cjs/components/embed-card/EmbedPluginContainer.js.map +0 -1
  192. package/dist/esm/components/RenderComponent.d.ts +0 -10
  193. package/dist/esm/components/RenderComponent.d.ts.map +0 -1
  194. package/dist/esm/components/RenderComponent.js +0 -7
  195. package/dist/esm/components/RenderComponent.js.map +0 -1
  196. package/dist/esm/components/XyoEmbedPluginProps.d.ts +0 -19
  197. package/dist/esm/components/XyoEmbedPluginProps.d.ts.map +0 -1
  198. package/dist/esm/components/XyoEmbedPluginProps.js +0 -2
  199. package/dist/esm/components/XyoEmbedPluginProps.js.map +0 -1
  200. package/dist/esm/components/embed-card/EmbedPluginContainer.d.ts +0 -4
  201. package/dist/esm/components/embed-card/EmbedPluginContainer.d.ts.map +0 -1
  202. package/dist/esm/components/embed-card/EmbedPluginContainer.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import { XyoApiError } from '@xyo-network/api';
2
+ import { XyoPayload } from '@xyo-network/payload';
3
+ import { ContextExState } from '@xyo-network/react-shared';
4
+ import { Dispatch, SetStateAction } from 'react';
5
+ export interface ResolvePayloadState extends ContextExState {
6
+ huri?: string;
7
+ huriApiError?: XyoApiError;
8
+ huriPayload?: string | XyoPayload;
9
+ notFound?: boolean;
10
+ payload?: XyoPayload;
11
+ refreshHuri?: () => void;
12
+ setPayload?: Dispatch<SetStateAction<XyoPayload | undefined>>;
13
+ }
14
+ //# sourceMappingURL=State.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ResolvePayloadContext/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAA;CAC9D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=State.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/contexts/ResolvePayloadContext/State.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './Provider';
2
+ export * from './State';
3
+ export * from './use';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ResolvePayloadContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Provider';
2
+ export * from './State';
3
+ export * from './use';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/ResolvePayloadContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useResolvePayload: () => Omit<import("./State").ResolvePayloadState & import("@xyo-network/react-shared").ContextExState, "provided">;
2
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ResolvePayloadContext/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,oHAAoE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { useContextEx } from '@xyo-network/react-shared';
2
+ import { ResolvePayloadContext } from './Context';
3
+ export const useResolvePayload = () => useContextEx(ResolvePayloadContext, 'ResolvePayload', true);
4
+ //# sourceMappingURL=use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/ResolvePayloadContext/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA"}
@@ -3,10 +3,10 @@ import { Chip } from '@mui/material';
3
3
  import { useAsyncEffect } from '@xylabs/react-shared';
4
4
  import { XyoSchemaCache } from '@xyo-network/utils';
5
5
  import { useState } from 'react';
6
- import { useXyoEmbedPluginState } from '../XyoEmbedPluginContext';
6
+ import { useResolvePayload } from '../ResolvePayloadContext';
7
7
  import { ValidatePayloadContext } from './Context';
8
8
  export const ValidatePayloadProvider = ({ children, enabled = false }) => {
9
- const { payload } = useXyoEmbedPluginState();
9
+ const { payload } = useResolvePayload();
10
10
  const [initialized, setInitialized] = useState(false);
11
11
  const [valid, setValid] = useState();
12
12
  useAsyncEffect(
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,cAAc,EAA+B,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAOlD,MAAM,CAAC,MAAM,uBAAuB,GAAyD,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE,EAAE;IAC7H,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAA;IAC5C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAA;IAE7C,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,MAAM,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAEjD,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAA2C,CAAA;YAE/E,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;gBAC3D,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA;gBACzE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;aAC/B;YACD,cAAc,CAAC,IAAI,CAAC,CAAA;SACrB;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAA;IAED,OAAO,CACL,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAC9G,OAAO,CAAC,CAAC,CAAC,4BAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,uBAAuB,GAAG,GAAI,CAAC,CAAC,CAAC,QAAQ,GAC5D,CACnC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,cAAc,EAA+B,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAOlD,MAAM,CAAC,MAAM,uBAAuB,GAAyD,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE,EAAE;IAC7H,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAA;IACvC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAA;IAE7C,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,MAAM,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAEjD,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAA2C,CAAA;YAE/E,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;gBAC3D,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA;gBACzE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;aAC/B;YACD,cAAc,CAAC,IAAI,CAAC,CAAA;SACrB;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAA;IAED,OAAO,CACL,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAC9G,OAAO,CAAC,CAAC,CAAC,4BAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,uBAAuB,GAAG,GAAI,CAAC,CAAC,CAAC,QAAQ,GAC5D,CACnC,CAAA;AACH,CAAC,CAAA"}
@@ -1,8 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { FlexBoxProps } from '@xylabs/react-flexbox';
3
2
  import { WithChildren } from '@xylabs/react-shared';
4
3
  import { XyoEmbedPluginBase } from './State';
5
- export interface XyoEmbedPluginProviderProps extends XyoEmbedPluginBase, FlexBoxProps {
6
- }
4
+ export declare type XyoEmbedPluginProviderProps = XyoEmbedPluginBase;
5
+ /** Expose passed embed plugin props via context */
7
6
  export declare const XyoEmbedPluginProvider: React.FC<WithChildren<XyoEmbedPluginProviderProps>>;
8
7
  //# sourceMappingURL=Provider.d.ts.map
@@ -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;AAUnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB,EAAE,YAAY;CAAG;AAExF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAmEtF,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,oBAAY,2BAA2B,GAAG,kBAAkB,CAAA;AAE5D,mDAAmD;AACnD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAyBtF,CAAA"}
@@ -1,52 +1,17 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { FlexCol } from '@xylabs/react-flexbox';
3
- import { useAsyncEffect } from '@xylabs/react-shared';
4
- import { delay } from '@xylabs/sdk-js';
5
- import { Huri } from '@xyo-network/payload';
6
- import { XyoApiErrorRender } from '@xyo-network/react-auth-service';
7
- import { ResultLoader } from '@xyo-network/react-webapp';
8
2
  import { useState } from 'react';
9
3
  import { XyoEmbedPluginContext } from './Context';
10
- export const XyoEmbedPluginProvider = ({ children, refreshTitle, timestampLabel, hideElementsConfig, huri, plugins, embedPluginConfig, ...props }) => {
11
- const [payload, setPayload] = useState();
12
- const [notFound, setNotFound] = useState();
13
- const [huriApiError, setHuriApiError] = useState();
4
+ /** Expose passed embed plugin props via context */
5
+ export const XyoEmbedPluginProvider = ({ children, refreshTitle, timestampLabel, hideElementsConfig, plugins, embedPluginConfig, }) => {
14
6
  const [activePlugin, setActivePlugin] = useState(plugins ? plugins[0] : undefined);
15
- const [refreshPayload, setRefreshPayload] = useState(0);
16
- useAsyncEffect(
17
- // eslint-disable-next-line react-hooks/exhaustive-deps
18
- async (mounted) => {
19
- if (huri && !refreshPayload) {
20
- try {
21
- const huriInstance = new Huri(huri);
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);
25
- if (mounted()) {
26
- setNotFound(result === null);
27
- setPayload(result);
28
- setRefreshPayload(1);
29
- }
30
- }
31
- catch (e) {
32
- setHuriApiError(e);
33
- }
34
- }
35
- }, [huri, payload, refreshPayload]);
36
- const refreshHuri = () => {
37
- setRefreshPayload(0);
38
- };
39
7
  return (_jsx(XyoEmbedPluginContext.Provider, { value: {
40
8
  activePlugin,
41
9
  embedPluginConfig,
42
10
  hideElementsConfig,
43
- huri,
44
- payload,
45
11
  provided: true,
46
- refreshHuri,
47
12
  refreshTitle,
48
13
  setActivePlugin,
49
14
  timestampLabel,
50
- }, children: _jsx(ResultLoader, { searchResult: payload, notFound: !!notFound, apiError: huriApiError, children: _jsx(XyoApiErrorRender, { apiError: huriApiError, children: _jsx(FlexCol, { busy: Boolean(!refreshPayload && payload), ...props, children: children }) }) }) }));
15
+ }, children: children }));
51
16
  };
52
17
  //# 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;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;AAKjD,MAAM,CAAC,MAAM,sBAAsB,GAAwD,CAAC,EAC1F,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,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;YACL,YAAY;YACZ,iBAAiB;YACjB,kBAAkB;YAClB,IAAI;YACJ,OAAO;YACP,QAAQ,EAAE,IAAI;YACd,WAAW;YACX,YAAY;YACZ,eAAe;YACf,cAAc;SACf,YAED,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"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAKjD,mDAAmD;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAwD,CAAC,EAC1F,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,iBAAiB,GAClB,EAAE,EAAE;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEtH,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAC7B,KAAK,EAAE;YACL,YAAY;YACZ,iBAAiB;YACjB,kBAAkB;YAClB,QAAQ,EAAE,IAAI;YACd,YAAY;YACZ,eAAe;YACf,cAAc;SACf,YAEA,QAAQ,GACsB,CAClC,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
- import { XyoPayload } from '@xyo-network/payload';
2
1
  import { XyoPayloadRenderPlugin } from '@xyo-network/react-payload-plugin';
3
2
  import { ContextExState, ListMode } from '@xyo-network/react-shared';
4
3
  import { Dispatch, SetStateAction } from 'react';
@@ -20,6 +19,7 @@ export interface XyoEmbedPluginBase {
20
19
  plugins?: XyoPayloadRenderPlugin[];
21
20
  /** XyoEmbedPlugin component configuration */
22
21
  embedPluginConfig?: XyoPluginConfig;
22
+ /** @deprecated use huriPayload */
23
23
  huri?: string;
24
24
  refreshTitle?: string;
25
25
  timestampLabel?: string;
@@ -28,7 +28,5 @@ export interface XyoEmbedPluginBase {
28
28
  export interface XyoEmbedPluginState extends XyoEmbedPluginBase, ContextExState {
29
29
  activePlugin?: XyoPayloadRenderPlugin;
30
30
  setActivePlugin?: Dispatch<SetStateAction<XyoPayloadRenderPlugin | undefined>>;
31
- payload?: XyoPayload;
32
- refreshHuri?: () => void;
33
31
  }
34
32
  //# sourceMappingURL=State.d.ts.map
@@ -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,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB,EAAE,cAAc;IAC7E,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,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;CACzB"}
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/XyoEmbedPluginContext/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB,EAAE,cAAc;IAC7E,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,eAAe,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAA;CAC/E"}
@@ -1,3 +1,5 @@
1
+ export * from './RefreshPayloadContext';
2
+ export * from './ResolvePayloadContext';
1
3
  export * from './ValidatePayloadContext';
2
4
  export * from './XyoEmbedPluginContext';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA"}
@@ -1,3 +1,5 @@
1
+ export * from './RefreshPayloadContext';
2
+ export * from './ResolvePayloadContext';
1
3
  export * from './ValidatePayloadContext';
2
4
  export * from './XyoEmbedPluginContext';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA"}
@@ -1,6 +1,10 @@
1
- import { CardProps } from '@mui/material';
1
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import { XyoPayload } from '@xyo-network/payload';
2
3
  import { EmbedPluginVisibilityConfig, XyoEmbedPluginBase } from '../contexts';
3
- export interface XyoEmbedPluginProps extends XyoEmbedPluginBase, CardProps {
4
+ export interface XyoEmbedPluginProps extends XyoEmbedPluginBase, FlexBoxProps {
5
+ /** string for huri to resolve and payload for bypassing huri resolution */
6
+ onRefresh?: () => void;
7
+ huriPayload?: string | XyoPayload;
4
8
  validateSchema?: boolean;
5
9
  hideElementsConfig?: EmbedPluginVisibilityConfig;
6
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoEmbedPluginProps.d.ts","sourceRoot":"","sources":["../../../src/types/XyoEmbedPluginProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE7E,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB,EAAE,SAAS;IACxE,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD"}
1
+ {"version":3,"file":"XyoEmbedPluginProps.d.ts","sourceRoot":"","sources":["../../../src/types/XyoEmbedPluginProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE7E,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB,EAAE,YAAY;IAC3E,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACjC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD"}
package/package.json CHANGED
@@ -13,17 +13,17 @@
13
13
  "@emotion/react": "^11.10.0",
14
14
  "@emotion/styled": "^11.10.0",
15
15
  "@mui/icons-material": "^5.8.4",
16
- "@mui/material": "^5.10.0",
16
+ "@mui/material": "^5.10.1",
17
17
  "@xylabs/react-flexbox": "^2.14.13",
18
18
  "@xylabs/react-shared": "^2.14.13",
19
19
  "@xylabs/sdk-js": "^2.6.6",
20
- "@xyo-network/api": "^2.25.2",
21
- "@xyo-network/payload": "^2.25.2",
22
- "@xyo-network/react-auth-service": "^2.27.32",
23
- "@xyo-network/react-payload-plugin": "^2.27.32",
24
- "@xyo-network/react-shared": "^2.27.32",
25
- "@xyo-network/react-webapp": "^2.27.32",
26
- "@xyo-network/utils": "^2.25.2",
20
+ "@xyo-network/api": "^2.26.11",
21
+ "@xyo-network/payload": "^2.26.11",
22
+ "@xyo-network/react-auth-service": "^2.28.1",
23
+ "@xyo-network/react-payload-plugin": "^2.28.1",
24
+ "@xyo-network/react-shared": "^2.28.1",
25
+ "@xyo-network/react-webapp": "^2.28.1",
26
+ "@xyo-network/utils": "^2.26.11",
27
27
  "react": "^18.2.0",
28
28
  "react-dom": "^18.2.0",
29
29
  "tslib": "^2.4.0"
@@ -31,9 +31,9 @@
31
31
  "description": "Common React library for all XYO projects that use React",
32
32
  "devDependencies": {
33
33
  "@storybook/react": "^6.5.10",
34
- "@xylabs/tsconfig-dom": "^2.5.99",
35
- "@xyo-network/react-aggregate-price-plugin": "^2.27.31",
36
- "@xyo-network/react-crypto-market-uniswap-payload-plugin": "^2.27.32",
34
+ "@xylabs/tsconfig-dom": "^2.5.119",
35
+ "@xyo-network/react-aggregate-price-plugin": "^2.28.1",
36
+ "@xyo-network/react-crypto-market-uniswap-payload-plugin": "^2.28.1",
37
37
  "react-router-dom": "^6.3.0"
38
38
  },
39
39
  "browser": "dist/esm/index.js",
@@ -78,5 +78,5 @@
78
78
  },
79
79
  "sideEffects": false,
80
80
  "types": "dist/esm/index.d.ts",
81
- "version": "2.27.30"
81
+ "version": "2.28.1"
82
82
  }
@@ -4,6 +4,7 @@ import { UniswapPairsRenderPlugin } from '@xyo-network/react-crypto-market-unisw
4
4
  import { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
5
5
  import { BrowserRouter } from 'react-router-dom'
6
6
 
7
+ import { payloadData } from './payload.stories'
7
8
  import { XyoEmbedPlugin } from './XyoEmbedPlugin'
8
9
 
9
10
  const AggregatePricePointer = 'https://api.archivist.xyo.network/1948bf4eedf90ee2b8a1f63216b7c6b3b18d7bc2834330d85bcd6ab3d6428a20'
@@ -47,23 +48,20 @@ Default.args = {
47
48
 
48
49
  const AggregatePriceExample = Template.bind({})
49
50
  AggregatePriceExample.args = {
50
- huri: AggregatePricePointer,
51
+ huriPayload: AggregatePricePointer,
51
52
  plugins: [CryptoAssetRenderPlugin],
52
- timestampLabel: 'Last Updated - ',
53
53
  }
54
54
 
55
55
  const UniswapPairsExample = Template.bind({})
56
56
  UniswapPairsExample.args = {
57
- huri: UniswapPairPointer,
57
+ huriPayload: UniswapPairPointer,
58
58
  plugins: [UniswapPairsRenderPlugin],
59
- timestampLabel: 'Last Updated - ',
60
59
  }
61
60
 
62
61
  const Error = Template.bind({})
63
62
  Error.args = {
64
- huri: 'https://api.archivist.xyo.network/9663b2f80395a9e7e95948fdd5988b778a4dcc047202bf67e855ff6cd459b8c',
63
+ huriPayload: 'https://api.archivist.xyo.network/9663b2f80395a9e7e95948fdd5988b778a4dcc047202bf67e855ff6cd459b8c',
65
64
  plugins: [UniswapPairsRenderPlugin],
66
- timestampLabel: 'Last Updated - ',
67
65
  }
68
66
 
69
67
  const HiddenElements = Template.bind({})
@@ -76,9 +74,28 @@ HiddenElements.args = {
76
74
  hideTimestamp: true,
77
75
  hideTitle: true,
78
76
  },
79
- huri: AggregatePricePointer,
77
+ huriPayload: AggregatePricePointer,
78
+ plugins: [CryptoAssetRenderPlugin],
79
+ }
80
+
81
+ const WithPassedPayload = Template.bind({})
82
+ WithPassedPayload.args = {
83
+ huriPayload: payloadData,
84
+ plugins: [CryptoAssetRenderPlugin],
85
+ }
86
+
87
+ const WithSetBusyExternally = Template.bind({})
88
+ WithSetBusyExternally.args = {
89
+ busy: true,
90
+ huriPayload: payloadData,
91
+ plugins: [CryptoAssetRenderPlugin],
92
+ }
93
+
94
+ const WithOnRefresh = Template.bind({})
95
+ WithOnRefresh.args = {
96
+ huriPayload: payloadData,
97
+ onRefresh: () => console.log('refreshed'),
80
98
  plugins: [CryptoAssetRenderPlugin],
81
- timestampLabel: 'Last Updated - ',
82
99
  }
83
100
 
84
- export { AggregatePriceExample, Default, Error, HiddenElements, UniswapPairsExample }
101
+ export { AggregatePriceExample, Default, Error, HiddenElements, UniswapPairsExample, WithOnRefresh, WithPassedPayload, WithSetBusyExternally }
@@ -1,37 +1,59 @@
1
+ import { FlexBoxProps } from '@xylabs/react-flexbox'
2
+ import { WithChildren } from '@xylabs/react-shared'
1
3
  import { ListModeProvider } from '@xyo-network/react-shared'
2
4
 
3
- import { ValidatePayloadProvider, XyoEmbedPluginProvider } from '../contexts'
5
+ import { RefreshPayloadProvider, ResolvePayloadProvider, ValidatePayloadProvider, XyoEmbedPluginProvider } from '../contexts'
4
6
  import { XyoEmbedPluginProps } from '../types'
5
- import { EmbedPluginContainer, ValidatePayload, ValidatePlugins } from './embed-card'
7
+ import { EmbedCardResolver, EmbedPluginCard, ValidatePayload, ValidatePlugins } from './embed-card'
6
8
 
7
9
  export const XyoEmbedPlugin: React.FC<XyoEmbedPluginProps> = ({
8
10
  validateSchema,
9
11
  plugins = [],
10
- huri,
12
+ huriPayload,
11
13
  refreshTitle = '',
12
14
  timestampLabel = 'Data From',
13
15
  hideElementsConfig,
14
16
  embedPluginConfig,
17
+ onRefresh,
15
18
  ...props
16
19
  }) => {
17
20
  return (
18
21
  <XyoEmbedPluginProvider
19
22
  refreshTitle={refreshTitle}
20
23
  timestampLabel={timestampLabel}
24
+ hideElementsConfig={hideElementsConfig}
21
25
  plugins={plugins}
22
- huri={huri}
23
26
  embedPluginConfig={embedPluginConfig}
24
- hideElementsConfig={hideElementsConfig}
25
27
  >
26
- <ValidatePayloadProvider enabled={validateSchema}>
27
- <ListModeProvider defaultListMode={embedPluginConfig?.listMode}>
28
- <ValidatePlugins>
29
- <ValidatePayload>
30
- <EmbedPluginContainer {...props} />
31
- </ValidatePayload>
32
- </ValidatePlugins>
33
- </ListModeProvider>
34
- </ValidatePayloadProvider>
28
+ <WithResolvers onRefresh={onRefresh} huriPayload={huriPayload} {...props}>
29
+ <WithValidators validateSchema={validateSchema}>
30
+ <ListModeProvider defaultListMode={embedPluginConfig?.listMode}>
31
+ <EmbedPluginCard />
32
+ </ListModeProvider>
33
+ </WithValidators>
34
+ </WithResolvers>
35
35
  </XyoEmbedPluginProvider>
36
36
  )
37
37
  }
38
+
39
+ interface WithResolversProps extends Pick<XyoEmbedPluginProps, 'onRefresh' | 'huriPayload'>, FlexBoxProps {}
40
+
41
+ const WithResolvers: React.FC<WithChildren<WithResolversProps>> = ({ children, onRefresh, huriPayload, ...props }) => {
42
+ return (
43
+ <RefreshPayloadProvider onRefresh={onRefresh}>
44
+ <ResolvePayloadProvider huriPayload={huriPayload}>
45
+ <EmbedCardResolver {...props}>{children}</EmbedCardResolver>
46
+ </ResolvePayloadProvider>
47
+ </RefreshPayloadProvider>
48
+ )
49
+ }
50
+
51
+ const WithValidators: React.FC<WithChildren<{ validateSchema?: boolean }>> = ({ children, validateSchema }) => {
52
+ return (
53
+ <ValidatePayloadProvider enabled={validateSchema}>
54
+ <ValidatePlugins>
55
+ <ValidatePayload>{children}</ValidatePayload>
56
+ </ValidatePlugins>
57
+ </ValidatePayloadProvider>
58
+ )
59
+ }
@@ -2,11 +2,12 @@ import RefreshIcon from '@mui/icons-material/Refresh'
2
2
  import { Avatar, CardHeader, CardHeaderProps, Chip, Theme } from '@mui/material'
3
3
  import { FlexRow } from '@xylabs/react-flexbox'
4
4
 
5
- import { useXyoEmbedPluginState } from '../../contexts'
5
+ import { useResolvePayload, useXyoEmbedPluginState } from '../../contexts'
6
6
  import { EmbedMenu } from './menu'
7
7
 
8
8
  export const EmbedCardHeader: React.FC<CardHeaderProps> = () => {
9
- const { activePlugin, payload, timestampLabel, refreshHuri, hideElementsConfig } = useXyoEmbedPluginState()
9
+ const { payload, refreshHuri, huri } = useResolvePayload()
10
+ const { activePlugin, timestampLabel, hideElementsConfig } = useXyoEmbedPluginState()
10
11
  const { hideAvatar, hideTitle, hideRefreshButton, hideTimestamp, hideCardActions } = hideElementsConfig ?? {}
11
12
  return (
12
13
  <CardHeader
@@ -28,13 +29,14 @@ export const EmbedCardHeader: React.FC<CardHeaderProps> = () => {
28
29
  ) : (
29
30
  <Chip
30
31
  avatar={hideRefreshButton ? <></> : <RefreshIcon />}
31
- clickable
32
+ clickable={hideRefreshButton ? false : true}
32
33
  onClick={refreshHuri}
33
34
  label={hideTimestamp ? '' : `${timestampLabel} ${new Date(payload.timestamp).toLocaleString()}`}
34
35
  />
35
36
  )
36
37
  ) : null}
37
- {hideCardActions ? null : <EmbedMenu />}
38
+ {/* Huri case is valid as long as the only menu item is JSON */}
39
+ {hideCardActions || huri === undefined ? null : <EmbedMenu />}
38
40
  </FlexRow>
39
41
  }
40
42
  title={hideTitle ? '' : activePlugin?.name}
@@ -0,0 +1,27 @@
1
+ import { useTheme } from '@mui/material'
2
+ import { FlexBoxProps, FlexGrowCol } from '@xylabs/react-flexbox'
3
+ import { WithChildren } from '@xylabs/react-shared'
4
+ import { XyoApiErrorRender } from '@xyo-network/react-auth-service'
5
+ import { ResultLoader } from '@xyo-network/react-webapp'
6
+
7
+ import { useRefreshPayload, useResolvePayload } from '../../contexts'
8
+
9
+ export const EmbedCardResolver: React.FC<WithChildren<FlexBoxProps>> = ({ children, ...props }) => {
10
+ const { payload, notFound, huriApiError } = useResolvePayload()
11
+ const { refreshPayload } = useRefreshPayload()
12
+ const theme = useTheme()
13
+
14
+ return (
15
+ <ResultLoader searchResult={payload} notFound={!!notFound} apiError={huriApiError}>
16
+ <XyoApiErrorRender apiError={huriApiError}>
17
+ <FlexGrowCol
18
+ busy={Boolean(!refreshPayload && payload)}
19
+ busyCircularProps={{ style: { alignItems: 'start', paddingTop: theme.spacing(2), zIndex: 2 } }}
20
+ {...props}
21
+ >
22
+ {children}
23
+ </FlexGrowCol>
24
+ </XyoApiErrorRender>
25
+ </ResultLoader>
26
+ )
27
+ }
@@ -2,12 +2,13 @@ import { Card, CardContent, CardProps } from '@mui/material'
2
2
  import { FlexGrowRow } from '@xylabs/react-flexbox'
3
3
  import { useListMode } from '@xyo-network/react-shared'
4
4
 
5
- import { useXyoEmbedPluginState } from '../../contexts'
5
+ import { useResolvePayload, useXyoEmbedPluginState } from '../../contexts'
6
6
  import { EmbedRenderSelect, ListModeSelectFormControl } from '../controls'
7
7
  import { EmbedCardHeader } from './EmbedCardHeader'
8
8
 
9
- export const EmbedPluginContainer: React.FC<CardProps> = (props) => {
10
- const { activePlugin: ActivePlugin, payload, plugins, hideElementsConfig } = useXyoEmbedPluginState()
9
+ export const EmbedPluginCard: React.FC<CardProps> = (props) => {
10
+ const { payload } = useResolvePayload()
11
+ const { activePlugin: ActivePlugin, plugins, hideElementsConfig } = useXyoEmbedPluginState()
11
12
  const { listMode } = useListMode()
12
13
 
13
14
  return (
@@ -1,10 +1,11 @@
1
1
  import { Alert, AlertTitle } from '@mui/material'
2
2
  import { WithChildren } from '@xylabs/react-shared'
3
3
 
4
- import { useXyoEmbedPluginState } from '../../contexts'
4
+ import { useResolvePayload, useXyoEmbedPluginState } from '../../contexts'
5
5
 
6
6
  export const ValidatePlugins: React.FC<WithChildren> = ({ children }) => {
7
- const { payload, plugins } = useXyoEmbedPluginState()
7
+ const { payload } = useResolvePayload()
8
+ const { plugins } = useXyoEmbedPluginState()
8
9
 
9
10
  if (payload && plugins?.length === 0) {
10
11
  return (
@@ -1,3 +1,4 @@
1
- export * from './EmbedPluginContainer'
1
+ export * from './EmbedCardResolver'
2
+ export * from './EmbedPluginCard'
2
3
  export * from './ValidatePayload'
3
4
  export * from './ValidatePlugins'
@@ -1,10 +1,10 @@
1
1
  import OpenInNewIcon from '@mui/icons-material/OpenInNew'
2
2
  import { ListItemIcon, ListItemText, MenuItem, MenuItemProps } from '@mui/material'
3
3
 
4
- import { useXyoEmbedPluginState } from '../../../contexts'
4
+ import { useResolvePayload } from '../../../contexts'
5
5
 
6
6
  export const JsonMenuItem: React.FC<MenuItemProps> = (props) => {
7
- const { huri } = useXyoEmbedPluginState()
7
+ const { huri } = useResolvePayload()
8
8
 
9
9
  return (
10
10
  <>
@@ -0,0 +1,21 @@
1
+ export const payloadData = {
2
+ assets: {
3
+ ada: { value: { btc: '0.00002192', eth: '0.00031141', eur: '0.491867', usd: '0.502045' } },
4
+ btc: { value: { btc: '1', eth: '14.213346', eur: '22450', usd: '22914' } },
5
+ busd: { value: { btc: '0.00004369', eth: '0.00062074', eur: '0.980451', usd: '1.001' } },
6
+ dai: { value: { usdc: '1.00004', xyo: '114.394' } },
7
+ doge: { value: { btc: '0.00000293', eth: '0.00004157', eur: '0.065655', usd: '0.067013' } },
8
+ dot: { value: { btc: '0.00035508', eth: '0.00504454', eur: '7.97', usd: '8.13' } },
9
+ eth: { value: { btc: '0.0703878', eth: '1', eur: '1579.47', usd: '1612.16' } },
10
+ frax: { value: { usdc: '0.999738' } },
11
+ link: { value: { xyo: '837.731' } },
12
+ sol: { value: { btc: '0.00169369', eth: '0.02406215', eur: '38.01', usd: '38.79' } },
13
+ usdc: { value: { btc: '0.0000436965', dai: '0.999963', eth: '0.0006204464999999999', eur: '0.979419', frax: '1.00026', usd: '0.999732' } },
14
+ usdt: { value: { btc: '0.00004367', eth: '0.0006204', eur: '0.979881', usd: '1.001', usdc: '1.00022', xyo: '113.28' } },
15
+ wbtc: { value: { btc: '0.99903669', eth: '14.2015745', eur: '22418', usd: '22882', usdc: '22860.8', xyo: '2617950' } },
16
+ weth: { value: { btc: '0.0703735', usdc: '1610.82', xyo: '186652' } },
17
+ xyo: { value: { btc: '3.79226e-7', dai: '0.00874169', eth: '0.000005353785', eur: '0.00844792', link: '0.0011937', usd: '0.00872519' } },
18
+ },
19
+ schema: 'network.xyo.crypto.asset',
20
+ timestamp: 1659625815232,
21
+ }
@@ -0,0 +1,5 @@
1
+ import { createContextEx } from '@xyo-network/react-shared'
2
+
3
+ import { RefreshPayloadState } from './State'
4
+
5
+ export const RefreshPayloadContext = createContextEx<RefreshPayloadState>()
@@ -0,0 +1,19 @@
1
+ import { WithChildren } from '@xylabs/react-shared'
2
+ import { useState } from 'react'
3
+
4
+ import { RefreshPayloadContext } from './Context'
5
+
6
+ export interface RefreshPayloadProps {
7
+ refreshPayload?: boolean
8
+ onRefresh?: () => void
9
+ }
10
+
11
+ export const RefreshPayloadProvider: React.FC<WithChildren<RefreshPayloadProps>> = ({ children, onRefresh, refreshPayload }) => {
12
+ const [localRefreshPayload, setRefreshPayload] = useState(refreshPayload)
13
+
14
+ return (
15
+ <RefreshPayloadContext.Provider value={{ onRefresh, provided: true, refreshPayload: localRefreshPayload, setRefreshPayload }}>
16
+ {children}
17
+ </RefreshPayloadContext.Provider>
18
+ )
19
+ }
@@ -0,0 +1,8 @@
1
+ import { ContextExState } from '@xyo-network/react-shared'
2
+ import { Dispatch, SetStateAction } from 'react'
3
+
4
+ export interface RefreshPayloadState extends ContextExState {
5
+ onRefresh?: () => void
6
+ refreshPayload?: boolean
7
+ setRefreshPayload?: Dispatch<SetStateAction<boolean | undefined>>
8
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Provider'
2
+ export * from './use'
@@ -0,0 +1,5 @@
1
+ import { useContextEx } from '@xyo-network/react-shared'
2
+
3
+ import { RefreshPayloadContext } from './Context'
4
+
5
+ export const useRefreshPayload = () => useContextEx(RefreshPayloadContext, 'RefreshPayload', true)