@xyo-network/react-embed 3.0.2 → 3.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. package/dist/browser/components/EmbedPlugin.d.ts +5 -0
  2. package/dist/browser/components/EmbedPlugin.d.ts.map +1 -0
  3. package/dist/browser/components/EmbedResolver.d.ts +4 -0
  4. package/dist/browser/components/EmbedResolver.d.ts.map +1 -0
  5. package/dist/browser/components/controls/EmbedFormControl.d.ts +10 -0
  6. package/dist/browser/components/controls/EmbedFormControl.d.ts.map +1 -0
  7. package/dist/browser/components/controls/ListModeSelect.d.ts +6 -0
  8. package/dist/browser/components/controls/ListModeSelect.d.ts.map +1 -0
  9. package/dist/browser/components/controls/RenderSelect.d.ts +4 -0
  10. package/dist/browser/components/controls/RenderSelect.d.ts.map +1 -0
  11. package/dist/browser/components/controls/index.d.ts +4 -0
  12. package/dist/browser/components/controls/index.d.ts.map +1 -0
  13. package/dist/browser/components/embed-card/EmbedCardResolver.d.ts +5 -0
  14. package/dist/browser/components/embed-card/EmbedCardResolver.d.ts.map +1 -0
  15. package/dist/browser/components/embed-card/EmbedPluginCard.d.ts +10 -0
  16. package/dist/browser/components/embed-card/EmbedPluginCard.d.ts.map +1 -0
  17. package/dist/browser/components/embed-card/card/BusyCard.d.ts +11 -0
  18. package/dist/browser/components/embed-card/card/BusyCard.d.ts.map +1 -0
  19. package/dist/browser/components/embed-card/card/EmbedCardHeader.d.ts +4 -0
  20. package/dist/browser/components/embed-card/card/EmbedCardHeader.d.ts.map +1 -0
  21. package/dist/browser/components/embed-card/card/EmbedPluginCard.d.ts +4 -0
  22. package/dist/browser/components/embed-card/card/EmbedPluginCard.d.ts.map +1 -0
  23. package/dist/browser/components/embed-card/card/index.d.ts +4 -0
  24. package/dist/browser/components/embed-card/card/index.d.ts.map +1 -0
  25. package/dist/browser/components/embed-card/error-handling/EmbedCardApiErrorRenderer.d.ts +10 -0
  26. package/dist/browser/components/embed-card/error-handling/EmbedCardApiErrorRenderer.d.ts.map +1 -0
  27. package/dist/browser/components/embed-card/error-handling/EmbedErrorCard.d.ts +14 -0
  28. package/dist/browser/components/embed-card/error-handling/EmbedErrorCard.d.ts.map +1 -0
  29. package/dist/browser/components/embed-card/error-handling/index.d.ts +3 -0
  30. package/dist/browser/components/embed-card/error-handling/index.d.ts.map +1 -0
  31. package/dist/browser/components/embed-card/index.d.ts +3 -0
  32. package/dist/browser/components/embed-card/index.d.ts.map +1 -0
  33. package/dist/browser/components/embed-card/menu/EmbedMenu.d.ts +4 -0
  34. package/dist/browser/components/embed-card/menu/EmbedMenu.d.ts.map +1 -0
  35. package/dist/browser/components/embed-card/menu/JsonMenuItem.d.ts +4 -0
  36. package/dist/browser/components/embed-card/menu/JsonMenuItem.d.ts.map +1 -0
  37. package/dist/browser/components/embed-card/menu/index.d.ts +2 -0
  38. package/dist/browser/components/embed-card/menu/index.d.ts.map +1 -0
  39. package/dist/browser/components/index.d.ts +3 -0
  40. package/dist/browser/components/index.d.ts.map +1 -0
  41. package/dist/browser/components/stories/storyPayload.d.ts +126 -0
  42. package/dist/browser/components/stories/storyPayload.d.ts.map +1 -0
  43. package/dist/browser/components/stories/storyShared.d.ts +4 -0
  44. package/dist/browser/components/stories/storyShared.d.ts.map +1 -0
  45. package/dist/browser/components/stories/xyoEmbedStoryBase.d.ts +3 -0
  46. package/dist/browser/components/stories/xyoEmbedStoryBase.d.ts.map +1 -0
  47. package/dist/browser/components/validation-alerts/ValidatePayload.d.ts +5 -0
  48. package/dist/browser/components/validation-alerts/ValidatePayload.d.ts.map +1 -0
  49. package/dist/browser/components/validation-alerts/ValidatePlugins.d.ts +5 -0
  50. package/dist/browser/components/validation-alerts/ValidatePlugins.d.ts.map +1 -0
  51. package/dist/browser/components/validation-alerts/index.d.ts +3 -0
  52. package/dist/browser/components/validation-alerts/index.d.ts.map +1 -0
  53. package/dist/browser/contexts/EmbedPluginContext/Context.d.ts +3 -0
  54. package/dist/browser/contexts/EmbedPluginContext/Context.d.ts.map +1 -0
  55. package/dist/browser/contexts/EmbedPluginContext/Provider.d.ts +6 -0
  56. package/dist/browser/contexts/EmbedPluginContext/Provider.d.ts.map +1 -0
  57. package/dist/browser/contexts/EmbedPluginContext/State.d.ts +28 -0
  58. package/dist/browser/contexts/EmbedPluginContext/State.d.ts.map +1 -0
  59. package/dist/browser/contexts/EmbedPluginContext/index.d.ts +5 -0
  60. package/dist/browser/contexts/EmbedPluginContext/index.d.ts.map +1 -0
  61. package/dist/browser/contexts/EmbedPluginContext/use.d.ts +2 -0
  62. package/dist/browser/contexts/EmbedPluginContext/use.d.ts.map +1 -0
  63. package/dist/browser/contexts/RefreshPayloadContext/Context.d.ts +3 -0
  64. package/dist/browser/contexts/RefreshPayloadContext/Context.d.ts.map +1 -0
  65. package/dist/browser/contexts/RefreshPayloadContext/Provider.d.ts +8 -0
  66. package/dist/browser/contexts/RefreshPayloadContext/Provider.d.ts.map +1 -0
  67. package/dist/browser/contexts/RefreshPayloadContext/State.d.ts +8 -0
  68. package/dist/browser/contexts/RefreshPayloadContext/State.d.ts.map +1 -0
  69. package/dist/browser/contexts/RefreshPayloadContext/index.d.ts +4 -0
  70. package/dist/browser/contexts/RefreshPayloadContext/index.d.ts.map +1 -0
  71. package/dist/browser/contexts/RefreshPayloadContext/use.d.ts +2 -0
  72. package/dist/browser/contexts/RefreshPayloadContext/use.d.ts.map +1 -0
  73. package/dist/browser/contexts/ResolvePayloadContext/Context.d.ts +3 -0
  74. package/dist/browser/contexts/ResolvePayloadContext/Context.d.ts.map +1 -0
  75. package/dist/browser/contexts/ResolvePayloadContext/Provider.d.ts +6 -0
  76. package/dist/browser/contexts/ResolvePayloadContext/Provider.d.ts.map +1 -0
  77. package/dist/browser/contexts/ResolvePayloadContext/State.d.ts +13 -0
  78. package/dist/browser/contexts/ResolvePayloadContext/State.d.ts.map +1 -0
  79. package/dist/browser/contexts/ResolvePayloadContext/index.d.ts +5 -0
  80. package/dist/browser/contexts/ResolvePayloadContext/index.d.ts.map +1 -0
  81. package/dist/browser/contexts/ResolvePayloadContext/use.d.ts +2 -0
  82. package/dist/browser/contexts/ResolvePayloadContext/use.d.ts.map +1 -0
  83. package/dist/browser/contexts/ValidatePayloadContext/Context.d.ts +3 -0
  84. package/dist/browser/contexts/ValidatePayloadContext/Context.d.ts.map +1 -0
  85. package/dist/browser/contexts/ValidatePayloadContext/Provider.d.ts +7 -0
  86. package/dist/browser/contexts/ValidatePayloadContext/Provider.d.ts.map +1 -0
  87. package/dist/browser/contexts/ValidatePayloadContext/State.d.ts +7 -0
  88. package/dist/browser/contexts/ValidatePayloadContext/State.d.ts.map +1 -0
  89. package/dist/browser/contexts/ValidatePayloadContext/index.d.ts +4 -0
  90. package/dist/browser/contexts/ValidatePayloadContext/index.d.ts.map +1 -0
  91. package/dist/browser/contexts/ValidatePayloadContext/use.d.ts +2 -0
  92. package/dist/browser/contexts/ValidatePayloadContext/use.d.ts.map +1 -0
  93. package/dist/browser/contexts/index.d.ts +5 -0
  94. package/dist/browser/contexts/index.d.ts.map +1 -0
  95. package/dist/browser/index.d.ts +4 -112
  96. package/dist/browser/index.d.ts.map +1 -0
  97. package/dist/browser/index.mjs.map +1 -1
  98. package/dist/browser/types/EmbedPluginProps.d.ts +9 -0
  99. package/dist/browser/types/EmbedPluginProps.d.ts.map +1 -0
  100. package/dist/browser/types/index.d.ts +2 -0
  101. package/dist/browser/types/index.d.ts.map +1 -0
  102. package/package.json +52 -49
  103. package/src/components/EmbedPlugin.tsx +6 -2
  104. package/src/components/EmbedResolver.tsx +3 -1
  105. package/src/components/controls/EmbedFormControl.tsx +3 -1
  106. package/src/components/controls/RenderSelect.tsx +3 -1
  107. package/src/components/embed-card/EmbedCardResolver.tsx +8 -2
  108. package/src/components/embed-card/EmbedPluginCard.tsx +5 -1
  109. package/src/components/embed-card/card/BusyCard.tsx +2 -1
  110. package/src/components/embed-card/card/EmbedCardHeader.tsx +9 -3
  111. package/src/components/embed-card/card/EmbedPluginCard.tsx +3 -1
  112. package/src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx +3 -1
  113. package/src/components/embed-card/error-handling/EmbedErrorCard.tsx +12 -4
  114. package/src/components/embed-card/menu/JsonMenuItem.tsx +3 -1
  115. package/src/components/stories/XyoEmbedPlugin.states.stories.tsx +3 -1
  116. package/src/components/stories/storyPayload.ts +60 -12
  117. package/src/components/stories/storyShared.tsx +1 -11
  118. package/src/components/stories/xyoEmbedStoryBase.ts +9 -0
  119. package/src/components/validation-alerts/ValidatePayload.tsx +3 -1
  120. package/src/contexts/RefreshPayloadContext/Provider.tsx +7 -2
  121. package/src/contexts/ResolvePayloadContext/Provider.tsx +10 -3
  122. package/src/contexts/ValidatePayloadContext/Provider.stories.tsx +9 -3
  123. package/src/contexts/ValidatePayloadContext/Provider.tsx +4 -1
  124. package/xy.config.ts +1 -3
@@ -0,0 +1,3 @@
1
+ import type { ValidatePayloadState } from './State.ts';
2
+ export declare const ValidatePayloadContext: import("react").Context<ValidatePayloadState & import("@xyo-network/react-shared").ContextExState>;
3
+ //# sourceMappingURL=Context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/Context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,eAAO,MAAM,sBAAsB,oGAA0C,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { WithChildren } from '@xylabs/react-shared';
2
+ import React from 'react';
3
+ export interface ValidatePayloadProviderProps {
4
+ enabled?: boolean;
5
+ }
6
+ export declare const ValidatePayloadProvider: React.FC<WithChildren<ValidatePayloadProviderProps>>;
7
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/Provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,MAAM,WAAW,4BAA4B;IAE3C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAiCxF,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { ContextExState } from '@xyo-network/react-shared';
2
+ export interface ValidatePayloadState extends ContextExState {
3
+ enabled?: boolean;
4
+ schema?: string;
5
+ validPayload?: boolean;
6
+ }
7
+ //# sourceMappingURL=State.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/State.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB"}
@@ -0,0 +1,4 @@
1
+ export * from './Provider.tsx';
2
+ export * from './State.ts';
3
+ export * from './use.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ValidatePayloadContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useValidatePayload: () => Omit<import("./State.ts").ValidatePayloadState & 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/ValidatePayloadContext/use.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,wHAAqE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './EmbedPluginContext/index.ts';
2
+ export * from './RefreshPayloadContext/index.ts';
3
+ export * from './ResolvePayloadContext/index.ts';
4
+ export * from './ValidatePayloadContext/index.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA"}
@@ -1,112 +1,4 @@
1
- import { CardProps, CardHeaderProps } from '@mui/material';
2
- import { BusyVariant, BusyCircularProgressProps, BusyLinearProgressProps, WithChildren } from '@xylabs/react-shared';
3
- import * as React from 'react';
4
- import React__default, { Dispatch, SetStateAction } from 'react';
5
- import { ModuleError, Payload } from '@xyo-network/payload-model';
6
- import { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin';
7
- import * as _xyo_network_react_shared from '@xyo-network/react-shared';
8
- import { ListMode, ContextExState } from '@xyo-network/react-shared';
9
-
10
- interface BusyCardProps extends CardProps {
11
- busy?: boolean;
12
- busyMinimum?: number;
13
- busyVariant?: BusyVariant;
14
- busyVariantProps?: BusyCircularProgressProps | BusyLinearProgressProps;
15
- }
16
- declare const BusyCard: React__default.FC<WithChildren<BusyCardProps>>;
17
-
18
- declare const EmbedCardHeader: React__default.FC<CardHeaderProps>;
19
-
20
- declare const EmbedPluginCard: React__default.FC<BusyCardProps>;
21
-
22
- interface EmbedPluginVisibilityConfig {
23
- hideAvatar?: boolean;
24
- hideCardActions?: boolean;
25
- hideCardHeader?: boolean;
26
- hideErrorDetails?: boolean;
27
- hideRefreshButton?: boolean;
28
- hideTimestamp?: boolean;
29
- hideTitle?: boolean;
30
- }
31
- interface PluginConfig {
32
- listMode?: ListMode;
33
- }
34
- interface EmbedPluginBase {
35
- embedPluginConfig?: PluginConfig;
36
- hideElementsConfig?: EmbedPluginVisibilityConfig;
37
- huri?: string;
38
- plugins?: PayloadRenderPlugin[];
39
- refreshTitle?: string;
40
- timestampLabel?: string;
41
- }
42
- interface EmbedPluginState extends EmbedPluginBase, ContextExState {
43
- activePlugin?: PayloadRenderPlugin;
44
- setActivePlugin?: Dispatch<SetStateAction<PayloadRenderPlugin | undefined>>;
45
- }
46
-
47
- declare const EmbedPluginContext: React.Context<EmbedPluginState & _xyo_network_react_shared.ContextExState>;
48
-
49
- type EmbedPluginProviderProps = EmbedPluginBase;
50
- declare const EmbedPluginProvider: React__default.FC<WithChildren<EmbedPluginProviderProps>>;
51
-
52
- declare const useEmbedPluginState: () => Omit<EmbedPluginState & _xyo_network_react_shared.ContextExState, "provided">;
53
-
54
- interface RefreshPayloadProps {
55
- onRefresh?: () => void;
56
- refreshPayload?: boolean;
57
- }
58
- declare const RefreshPayloadProvider: React__default.FC<WithChildren<RefreshPayloadProps>>;
59
-
60
- interface RefreshPayloadState extends ContextExState {
61
- onRefresh?: () => void;
62
- refreshPayload?: boolean;
63
- setRefreshPayload?: Dispatch<SetStateAction<boolean | undefined>>;
64
- }
65
-
66
- declare const useRefreshPayload: () => Omit<RefreshPayloadState & _xyo_network_react_shared.ContextExState, "provided">;
67
-
68
- interface ResolvePayloadState extends ContextExState {
69
- huri?: string;
70
- huriError?: ModuleError;
71
- huriPayload?: string | Payload;
72
- notFound?: boolean;
73
- payload?: Payload;
74
- refreshHuri?: () => void;
75
- setPayload?: Dispatch<SetStateAction<Payload | undefined>>;
76
- }
77
-
78
- declare const ResolvePayloadContext: React.Context<ResolvePayloadState & _xyo_network_react_shared.ContextExState>;
79
-
80
- type ResolvePayloadProviderProps = Omit<ResolvePayloadState, 'provided'>;
81
- declare const ResolvePayloadProvider: React__default.FC<WithChildren<ResolvePayloadProviderProps>>;
82
-
83
- declare const useResolvePayload: () => Omit<ResolvePayloadState & _xyo_network_react_shared.ContextExState, "provided">;
84
-
85
- interface ValidatePayloadProviderProps {
86
- enabled?: boolean;
87
- }
88
- declare const ValidatePayloadProvider: React__default.FC<WithChildren<ValidatePayloadProviderProps>>;
89
-
90
- interface ValidatePayloadState extends ContextExState {
91
- enabled?: boolean;
92
- schema?: string;
93
- validPayload?: boolean;
94
- }
95
-
96
- declare const useValidatePayload: () => Omit<ValidatePayloadState & _xyo_network_react_shared.ContextExState, "provided">;
97
-
98
- interface EmbedPluginProps extends EmbedPluginBase {
99
- hideElementsConfig?: EmbedPluginVisibilityConfig;
100
- huriPayload?: string | Payload;
101
- onRefresh?: () => void;
102
- validateSchema?: boolean;
103
- }
104
-
105
- interface EmbedPluginCardProps extends WithChildren, EmbedPluginProps, BusyCardProps {
106
- }
107
- declare const ApiEmbedPluginCard: React__default.FC<EmbedPluginCardProps>;
108
- declare const EmbedPluginCardInner: React__default.FC<BusyCardProps>;
109
-
110
- declare const EmbedPluginInner: React__default.FC<WithChildren<EmbedPluginProps>>;
111
-
112
- export { ApiEmbedPluginCard, BusyCard, type BusyCardProps, EmbedCardHeader, EmbedPluginCard as EmbedPlugin, type EmbedPluginBase, EmbedPluginCard, EmbedPluginCardInner, type EmbedPluginCardProps, EmbedPluginContext, EmbedPluginInner, type EmbedPluginProps, EmbedPluginProvider, type EmbedPluginProviderProps, type EmbedPluginState, type EmbedPluginVisibilityConfig, type PluginConfig, type RefreshPayloadProps, RefreshPayloadProvider, type RefreshPayloadState, ResolvePayloadContext, ResolvePayloadProvider, type ResolvePayloadProviderProps, type ResolvePayloadState, ValidatePayloadProvider, type ValidatePayloadProviderProps, type ValidatePayloadState, useEmbedPluginState, useRefreshPayload, useResolvePayload, useValidatePayload };
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
+ export * from './types/index.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/embed-card/card/BusyCard.tsx","../../src/components/embed-card/card/EmbedCardHeader.tsx","../../src/contexts/EmbedPluginContext/Context.ts","../../src/contexts/EmbedPluginContext/Provider.tsx","../../src/contexts/EmbedPluginContext/use.ts","../../src/contexts/RefreshPayloadContext/Provider.tsx","../../src/contexts/RefreshPayloadContext/Context.ts","../../src/contexts/RefreshPayloadContext/use.ts","../../src/contexts/ResolvePayloadContext/Context.ts","../../src/contexts/ResolvePayloadContext/Provider.tsx","../../src/contexts/ResolvePayloadContext/use.ts","../../src/contexts/ValidatePayloadContext/Provider.tsx","../../src/contexts/ValidatePayloadContext/Context.ts","../../src/contexts/ValidatePayloadContext/use.ts","../../src/components/embed-card/menu/EmbedMenu.tsx","../../src/components/embed-card/menu/JsonMenuItem.tsx","../../src/components/embed-card/card/EmbedPluginCard.tsx","../../src/components/controls/EmbedFormControl.tsx","../../src/components/controls/ListModeSelect.tsx","../../src/components/controls/RenderSelect.tsx","../../src/components/embed-card/EmbedPluginCard.tsx","../../src/components/EmbedPlugin.tsx","../../src/components/EmbedResolver.tsx","../../src/components/validation-alerts/ValidatePayload.tsx","../../src/components/validation-alerts/ValidatePlugins.tsx","../../src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx","../../src/components/embed-card/error-handling/EmbedErrorCard.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport { useBusyTiming } from '@xylabs/react-flexbox'\nimport type {\n BusyCircularProgressProps,\n BusyLinearProgressProps,\n BusyVariant,\n WithChildren } from '@xylabs/react-shared'\nimport {\n BusyCircularProgress,\n BusyLinearProgress,\n} from '@xylabs/react-shared'\nimport React from 'react'\n\nexport interface BusyCardProps extends CardProps {\n busy?: boolean\n busyMinimum?: number\n busyVariant?: BusyVariant\n busyVariantProps?: BusyCircularProgressProps | BusyLinearProgressProps\n}\n\nexport const BusyCard: React.FC<WithChildren<BusyCardProps>> = ({\n busy,\n busyMinimum = 500,\n busyVariant = 'circular',\n busyVariantProps,\n children,\n ...props\n}) => {\n const internalBusy = useBusyTiming(busy, busyMinimum)\n return (\n <Card {...props}>\n {children}\n {busyVariant === 'circular' && internalBusy\n ? <BusyCircularProgress {...(busyVariantProps as BusyCircularProgressProps)} />\n : null}\n {busyVariant === 'linear' && internalBusy\n ? <BusyLinearProgress {...(busyVariantProps as BusyLinearProgressProps)} />\n : null}\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport type { CardHeaderProps, Theme } from '@mui/material'\nimport { Avatar, CardHeader, Chip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../../contexts/index.ts'\nimport { EmbedMenu } from '../menu/index.ts'\n\nexport const EmbedCardHeader: React.FC<CardHeaderProps> = () => {\n const { refreshHuri, huri } = useResolvePayload()\n const { activePlugin, timestampLabel, hideElementsConfig } = useEmbedPluginState()\n const { hideAvatar, hideTitle, hideRefreshButton, hideTimestamp, hideCardActions } = hideElementsConfig ?? {}\n // this is temporary so that we can add the ability to get a timestamp via diviner later\n const timestamp = Date.now()\n return (\n <CardHeader\n sx={{ flexWrap: 'wrap', rowGap: 1 }}\n avatar={\n hideAvatar\n ? <></>\n : (\n <Avatar sx={{ bgcolor: (theme: Theme) => theme.palette.primary.main }} aria-label={activePlugin?.name}>\n {activePlugin?.name?.charAt(0)}\n </Avatar>\n )\n }\n action={(\n <FlexRow flexWrap=\"wrap\" columnGap={0.5}>\n {timestamp\n ? hideTimestamp && hideRefreshButton\n ? ''\n : (\n <Chip\n avatar={hideRefreshButton ? <></> : <RefreshIcon />}\n clickable={hideRefreshButton ? false : true}\n onClick={refreshHuri}\n label={hideTimestamp ? '' : `${timestampLabel} ${new Date(timestamp).toLocaleString()}`}\n />\n )\n\n : null}\n {/* Huri case is valid as long as the only menu item is JSON */}\n {hideCardActions || huri === undefined ? null : <EmbedMenu />}\n </FlexRow>\n )}\n title={hideTitle ? '' : activePlugin?.name}\n />\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport type { EmbedPluginState } from './State.ts'\n\nexport const EmbedPluginContext = createContextEx<EmbedPluginState>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport React, { useEffect, useState } from 'react'\n\nimport { EmbedPluginContext } from './Context.ts'\nimport type { EmbedPluginBase } from './State.ts'\n\nexport type EmbedPluginProviderProps = EmbedPluginBase\n\n/** Expose passed embed plugin props via context */\nexport const EmbedPluginProvider: React.FC<WithChildren<EmbedPluginProviderProps>> = ({\n children,\n refreshTitle,\n timestampLabel,\n hideElementsConfig,\n plugins,\n embedPluginConfig,\n}) => {\n const [activePlugin, setActivePlugin] = useState<PayloadRenderPlugin | undefined>(plugins ? plugins[0] : undefined)\n\n useEffect(() => {\n setActivePlugin(plugins ? plugins[0] : undefined)\n }, [plugins])\n\n return (\n <EmbedPluginContext.Provider\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n value={{\n activePlugin,\n embedPluginConfig,\n hideElementsConfig,\n provided: true,\n refreshTitle,\n setActivePlugin,\n timestampLabel,\n }}\n >\n {children}\n </EmbedPluginContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginContext } from './Context.ts'\n\nexport const useEmbedPluginState = () => useContextEx(EmbedPluginContext, 'EmbedPlugin', true)\n","import type { WithChildren } from '@xylabs/react-shared'\nimport React, { useState } from 'react'\n\nimport { RefreshPayloadContext } from './Context.ts'\n\nexport interface RefreshPayloadProps {\n onRefresh?: () => void\n refreshPayload?: boolean\n}\n\nexport const RefreshPayloadProvider: React.FC<WithChildren<RefreshPayloadProps>> = ({ children, onRefresh, refreshPayload }) => {\n const [localRefreshPayload, setRefreshPayload] = useState(refreshPayload)\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <RefreshPayloadContext.Provider value={{ onRefresh, provided: true, refreshPayload: localRefreshPayload, setRefreshPayload }}>\n {children}\n </RefreshPayloadContext.Provider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport type { RefreshPayloadState } from './State.ts'\n\nexport const RefreshPayloadContext = createContextEx<RefreshPayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { RefreshPayloadContext } from './Context.ts'\n\nexport const useRefreshPayload = () => useContextEx(RefreshPayloadContext, 'RefreshPayload', true)\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport type { ResolvePayloadState } from './State.ts'\n\nexport const ResolvePayloadContext = createContextEx<ResolvePayloadState>()\n","import { delay } from '@xylabs/delay'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { Huri } from '@xyo-network/huri'\nimport type { ModuleError, Payload } from '@xyo-network/payload-model'\nimport { ModuleErrorSchema } from '@xyo-network/payload-model'\nimport React, { useEffect, useState } from 'react'\n\nimport { useRefreshPayload } from '../RefreshPayloadContext/index.ts'\nimport { ResolvePayloadContext } from './Context.ts'\nimport type { ResolvePayloadState } from './State.ts'\n\nexport type ResolvePayloadProviderProps = Omit<ResolvePayloadState, 'provided'>\n\nexport const ResolvePayloadProvider: React.FC<WithChildren<ResolvePayloadProviderProps>> = ({ children, huriPayload }) => {\n const [payload, setPayload] = useState<Payload>()\n const [huri, setHuri] = useState<string>()\n const { refreshPayload, setRefreshPayload, onRefresh } = useRefreshPayload()\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n typeof huriPayload === 'string' ? setHuri(huriPayload) : undefined\n if (typeof huriPayload === 'object') {\n setPayload(huriPayload)\n setRefreshPayload?.(true)\n }\n }, [huriPayload, setRefreshPayload])\n\n const [notFound, setNotFound] = useState<boolean>()\n const [huriError, setHuriError] = useState<ModuleError>()\n\n useAsyncEffect(\n async (mounted) => {\n if (huri && !refreshPayload) {\n try {\n const huriInstance = new Huri(huri)\n const result = await huriInstance.fetch()\n // ensure the busy state can stay for a moment to avoid flashing too quickly\n await delay(500)\n\n if (mounted()) {\n setNotFound(result === null)\n setPayload(result)\n setRefreshPayload?.(true)\n }\n } catch (e) {\n const error = e as Error\n setHuriError({ message: error.message, schema: ModuleErrorSchema, sources: [] })\n }\n }\n },\n [huri, payload, refreshPayload, setRefreshPayload],\n )\n\n const refreshHuri = () => {\n onRefresh?.()\n if (huri) {\n setRefreshPayload?.(false)\n }\n }\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <ResolvePayloadContext.Provider value={{ huri, huriError, notFound, payload, provided: true, refreshHuri, setPayload }}>\n {children}\n </ResolvePayloadContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ResolvePayloadContext } from './Context.ts'\n\nexport const useResolvePayload = () => useContextEx(ResolvePayloadContext, 'ResolvePayload', true)\n","import { Chip } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport type { SchemaNameToValidatorMap } from '@xyo-network/schema-cache'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport React, { useState } from 'react'\n\nimport { useResolvePayload } from '../ResolvePayloadContext/index.ts'\nimport { ValidatePayloadContext } from './Context.ts'\n\nexport interface ValidatePayloadProviderProps {\n // Opt-in flag to validate payloads for the plugin(s)\n enabled?: boolean\n}\n\nexport const ValidatePayloadProvider: React.FC<WithChildren<ValidatePayloadProviderProps>> = ({ children, enabled = false }) => {\n const { payload } = useResolvePayload()\n const [initialized, setInitialized] = useState(false)\n const [valid, setValid] = useState<boolean>()\n\n useAsyncEffect(\n async () => {\n if (payload && enabled) {\n await SchemaCache.instance.get(payload.schema)\n\n const possibleKnownSchema = payload.schema as keyof SchemaNameToValidatorMap\n\n if (SchemaCache.instance.validators[possibleKnownSchema]) {\n const validator = SchemaCache.instance.validators[possibleKnownSchema]\n setValid(validator?.(payload))\n }\n setInitialized(true)\n }\n },\n [payload, enabled],\n )\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <ValidatePayloadContext.Provider value={{ enabled, provided: true, schema: payload?.schema, validPayload: valid }}>\n {enabled\n ? <>{initialized ? children : <Chip label=\"Validating Payload...\" />}</>\n : children}\n </ValidatePayloadContext.Provider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport type { ValidatePayloadState } from './State.ts'\n\nexport const ValidatePayloadContext = createContextEx<ValidatePayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ValidatePayloadContext } from './Context.ts'\n\nexport const useValidatePayload = () => useContextEx(ValidatePayloadContext, 'ValidateSchema', true)\n","import { MoreVert as MoreVertIcon } from '@mui/icons-material'\nimport type { IconButtonProps } from '@mui/material'\nimport { IconButton, Menu } from '@mui/material'\nimport React, { useState } from 'react'\n\nimport { JsonMenuItem } from './JsonMenuItem.tsx'\n\nexport const EmbedMenu: React.FC<IconButtonProps> = (props) => {\n // TODO - link to explore website\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return (\n <>\n <IconButton onClick={handleClick} {...props}>\n <MoreVertIcon />\n </IconButton>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose} PaperProps={{ variant: 'elevation' }} MenuListProps={{ dense: true }}>\n <JsonMenuItem />\n </Menu>\n </>\n )\n}\n","import { OpenInNew as OpenInNewIcon } from '@mui/icons-material'\nimport type { MenuItemProps } from '@mui/material'\nimport { ListItemIcon, ListItemText, MenuItem } from '@mui/material'\nimport React from 'react'\n\nimport { useResolvePayload } from '../../../contexts/index.ts'\n\nexport const JsonMenuItem: React.FC<MenuItemProps> = (props) => {\n const { huri } = useResolvePayload()\n\n return (\n <>\n {huri\n ? (\n <MenuItem title=\"Source Payload JSON\" onClick={() => window.open(huri, '_blank')} {...props}>\n <ListItemText sx={{ mr: 1 }}>JSON</ListItemText>\n <ListItemIcon sx={{ justifyContent: 'end' }}>\n <OpenInNewIcon fontSize=\"small\" />\n </ListItemIcon>\n </MenuItem>\n )\n : null}\n </>\n )\n}\n","import { CardContent } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { useListMode } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../../contexts/index.ts'\nimport { EmbedRenderSelect, ListModeSelectFormControl } from '../../controls/index.ts'\nimport type { BusyCardProps } from './BusyCard.tsx'\nimport { BusyCard } from './BusyCard.tsx'\nimport { EmbedCardHeader } from './EmbedCardHeader.tsx'\n\nexport const EmbedPluginCard: React.FC<BusyCardProps> = ({ ...props }) => {\n const { payload } = useResolvePayload()\n const { activePlugin: ActivePlugin, plugins, hideElementsConfig } = useEmbedPluginState()\n const { listMode } = useListMode()\n const supportsListMode = ActivePlugin?.components?.box?.listModes?.length ?? 0 > 1\n\n return (\n <BusyCard {...props}>\n {hideElementsConfig?.hideCardHeader ? null : <EmbedCardHeader />}\n {/* Only show the row if the children are present */}\n {(plugins && plugins.length > 0) || supportsListMode\n ? (\n <FlexGrowRow columnGap={2} rowGap={2} flexWrap=\"wrap\" pb={1}>\n {plugins && plugins.length > 1\n ? <EmbedRenderSelect />\n : null}\n {supportsListMode\n ? <ListModeSelectFormControl />\n : null}\n </FlexGrowRow>\n )\n : null}\n <CardContent sx={{ height: '100%' }}>\n {ActivePlugin\n ? <ActivePlugin.components.box.detailsBox payload={payload} {...(supportsListMode && { listMode })} />\n : null}\n </CardContent>\n </BusyCard>\n )\n}\n","import type { FormControlProps } from '@mui/material'\nimport { FormControl, InputLabel } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\ninterface EmbedFormControlProps extends FormControlProps {\n formId?: string\n formLabel?: string\n}\n\nexport const EmbedFormControl: React.FC<WithChildren<EmbedFormControlProps>> = ({ formId, formLabel, children, ...props }) => {\n return (\n <FormControl {...props}>\n <InputLabel id={formId}>{formLabel}</InputLabel>\n {children}\n </FormControl>\n )\n}\n","import { MenuItem } from '@mui/material'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport type { ListMode } from '@xyo-network/react-shared'\nimport { useListMode } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { EmbedFormControl } from './EmbedFormControl.tsx'\n\nconst listModeSelectId = 'listmode-select-id'\nconst listModeSelectLabel = 'List Mode'\n\nexport const ListModeSelect: React.FC<SelectExProps<ListMode>> = (props) => {\n const { listMode, setListMode } = useListMode()\n\n return (\n <SelectEx<ListMode>\n value={(listMode ?? 'default') as ListMode}\n onChange={(event) => {\n setListMode?.(event.target.value as ListMode)\n }}\n {...props}\n >\n <MenuItem key=\"default\" value=\"default\">\n Default\n </MenuItem>\n <MenuItem key=\"table\" value=\"table\">\n Table\n </MenuItem>\n <MenuItem key=\"grid\" value=\"grid\">\n Grid\n </MenuItem>\n </SelectEx>\n )\n}\n\nexport const ListModeSelectFormControl: React.FC<SelectExProps<ListMode>> = (props) => {\n return (\n <EmbedFormControl formId={listModeSelectId} formLabel={listModeSelectLabel}>\n <ListModeSelect size=\"small\" label={listModeSelectLabel} labelId={listModeSelectId} {...props} />\n </EmbedFormControl>\n )\n}\n","import { MenuItem } from '@mui/material'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport React from 'react'\n\nimport { useEmbedPluginState } from '../../contexts/index.ts'\nimport { EmbedFormControl } from './EmbedFormControl.tsx'\n\nconst renderSelectId = 'render-select-id'\nconst renderSelectLabel = 'Renderer'\n\nexport const EmbedRenderSelect: React.FC<SelectExProps<string>> = (props) => {\n const { activePlugin, setActivePlugin, plugins } = useEmbedPluginState()\n return (\n <EmbedFormControl formId={renderSelectId} formLabel={renderSelectLabel}>\n <SelectEx size=\"small\" value={activePlugin?.name} {...props}>\n {plugins?.map(plugin => (\n <MenuItem value={plugin.name} key={plugin.name} onClick={() => setActivePlugin?.(plugin)}>\n {plugin.name}\n </MenuItem>\n ))}\n </SelectEx>\n </EmbedFormControl>\n )\n}\n","import { useTheme } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\nimport { useRefreshPayload, useResolvePayload } from '../../contexts/index.ts'\nimport type { EmbedPluginProps } from '../../types/index.ts'\nimport { EmbedPluginInner } from '../EmbedPlugin.tsx'\nimport type { BusyCardProps } from './card/index.ts'\nimport { EmbedPluginCard } from './card/index.ts'\nimport { EmbedCardApiErrorRenderer } from './error-handling/index.ts'\n\nexport interface EmbedPluginCardProps extends WithChildren, EmbedPluginProps, BusyCardProps {}\n\nexport const ApiEmbedPluginCard: React.FC<EmbedPluginCardProps> = ({ children, ...props }) => {\n const {\n validateSchema,\n plugins = [],\n huriPayload,\n refreshTitle = '',\n timestampLabel = 'Data From',\n hideElementsConfig,\n embedPluginConfig,\n onRefresh,\n ...busyCardProps\n } = props\n\n return (\n <EmbedPluginInner\n {...{\n embedPluginConfig,\n hideElementsConfig,\n huriPayload,\n onRefresh,\n plugins,\n refreshTitle,\n timestampLabel,\n validateSchema,\n }}\n >\n <EmbedPluginCardInner {...busyCardProps} />\n {children}\n </EmbedPluginInner>\n )\n}\n\nexport const EmbedPluginCardInner: React.FC<BusyCardProps> = (props) => {\n const { payload, huriError } = useResolvePayload()\n const { refreshPayload } = useRefreshPayload()\n const theme = useTheme()\n\n return (\n <EmbedCardApiErrorRenderer xyoError={huriError}>\n <EmbedPluginCard\n elevation={3}\n variant=\"elevation\"\n busy={Boolean(!refreshPayload && payload)}\n busyVariantProps={{ style: { alignItems: 'start', paddingTop: theme.spacing(2), zIndex: 2 } }}\n sx={{ position: 'relative' }}\n {...props}\n />\n </EmbedCardApiErrorRenderer>\n )\n}\n\n/** @deprecated - use EmbedPluginCard and use CardProps instead of FlexBoxProps */\n\nexport { EmbedPluginCard as EmbedPlugin } from './card/index.ts'\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { ErrorBoundary, ListModeProvider } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { EmbedPluginProvider, RefreshPayloadProvider, ResolvePayloadProvider, ValidatePayloadProvider } from '../contexts/index.ts'\nimport type { EmbedPluginProps } from '../types/index.ts'\nimport { EmbedResolver } from './EmbedResolver.tsx'\nimport { ValidatePayloadAlert, ValidatePluginsAlert } from './validation-alerts/index.ts'\n\nexport const EmbedPluginInner: React.FC<WithChildren<EmbedPluginProps>> = ({\n validateSchema,\n plugins,\n huriPayload,\n refreshTitle = '',\n timestampLabel = 'Data From',\n hideElementsConfig,\n embedPluginConfig,\n onRefresh,\n children,\n}) => {\n return (\n <ErrorBoundary>\n <EmbedPluginProvider\n refreshTitle={refreshTitle}\n timestampLabel={timestampLabel}\n hideElementsConfig={hideElementsConfig}\n plugins={plugins}\n embedPluginConfig={embedPluginConfig}\n >\n <WithResolvers onRefresh={onRefresh} huriPayload={huriPayload}>\n <WithValidators validateSchema={validateSchema}>\n <ListModeProvider defaultListMode={embedPluginConfig?.listMode}>{children}</ListModeProvider>\n </WithValidators>\n </WithResolvers>\n </EmbedPluginProvider>\n </ErrorBoundary>\n )\n}\n\ninterface WithResolversProps extends Pick<EmbedPluginProps, 'onRefresh' | 'huriPayload'>, FlexBoxProps {}\n\nconst WithResolvers: React.FC<WithChildren<WithResolversProps>> = ({ children, onRefresh, huriPayload }) => {\n return (\n <RefreshPayloadProvider onRefresh={onRefresh}>\n <ResolvePayloadProvider huriPayload={huriPayload}>\n <EmbedResolver>{children}</EmbedResolver>\n </ResolvePayloadProvider>\n </RefreshPayloadProvider>\n )\n}\n\nconst WithValidators: React.FC<WithChildren<{ validateSchema?: boolean }>> = ({ children, validateSchema }) => {\n return (\n <ValidatePayloadProvider enabled={validateSchema}>\n <ValidatePluginsAlert>\n <ValidatePayloadAlert>{children}</ValidatePayloadAlert>\n </ValidatePluginsAlert>\n </ValidatePayloadProvider>\n )\n}\n","import type { WithChildren } from '@xylabs/react-shared'\nimport { LoadResult } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { useResolvePayload } from '../contexts/index.ts'\n\nexport const EmbedResolver: React.FC<WithChildren> = ({ children }) => {\n const { payload, notFound, huriError } = useResolvePayload()\n\n return (\n <LoadResult searchResult={payload} notFound={!!notFound} error={!!huriError}>\n {children}\n </LoadResult>\n )\n}\n","import type { AlertProps } from '@mui/material'\nimport { Alert } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\nimport { useValidatePayload } from '../../contexts/index.ts'\n\nexport const ValidatePayloadAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {\n const { validPayload, enabled, schema } = useValidatePayload()\n\n if (enabled && validPayload === false) {\n return (\n <Alert severity=\"error\" title=\"Invalid Payload!\" {...props}>\n Payload schema claimed to be\n {' '}\n {schema}\n {' '}\n but failed to validate.\n </Alert>\n )\n }\n\n return <>{children}</>\n}\n","import type { AlertProps } from '@mui/material'\nimport { Alert, AlertTitle } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../contexts/index.ts'\n\nexport const ValidatePluginsAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {\n const { payload } = useResolvePayload()\n const { plugins } = useEmbedPluginState()\n\n if (payload && plugins?.length === 0) {\n return (\n <Alert severity=\"warning\" {...props}>\n <AlertTitle>Missing plugins!</AlertTitle>\n Payload found but no plugins were present.\n </Alert>\n )\n }\n\n return <>{children}</>\n}\n","import type { CardProps } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport type { ModuleError } from '@xyo-network/payload-model'\nimport { ErrorAlert, ErrorRender } from '@xyo-network/react-error'\nimport React from 'react'\n\nimport { EmbedErrorCard } from './EmbedErrorCard.tsx'\n\ninterface EmbedCardApiErrorRendererProps extends CardProps {\n xyoError?: ModuleError\n}\n\nexport const EmbedCardApiErrorRenderer: React.FC<WithChildren<EmbedCardApiErrorRendererProps>> = ({ xyoError, children, ...props }) => {\n return (\n <ErrorRender error={xyoError} noReAuth noErrorDisplay customError={<CustomApiErrorCard xyoError={xyoError} {...props} />}>\n {children}\n </ErrorRender>\n )\n}\n\nconst CustomApiErrorCard: React.FC<EmbedCardApiErrorRendererProps> = ({ xyoError, ...props }) => {\n return (\n <EmbedErrorCard {...props}>\n <ErrorAlert error={xyoError} />\n </EmbedErrorCard>\n )\n}\n","import type { AlertProps, CardProps } from '@mui/material'\nimport { Alert, AlertTitle, Card, CardContent, Typography } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\ninterface EmbedErrorCardBaseProps {\n alertProps?: AlertProps\n error?: Error\n hideErrorDetails?: boolean\n scope?: string\n}\n\ninterface EmbedErrorCardProps extends EmbedErrorCardBaseProps, CardProps {}\n\nexport const EmbedErrorCard: React.FC<WithChildren<EmbedErrorCardProps>> = (props) => {\n const { alertProps, error, scope, hideErrorDetails = true, children, ...cardProps } = props\n const errorProps = { alertProps, error, hideErrorDetails, scope }\n return (\n <Card {...cardProps}>\n <CardContent>{children ?? <DefaultErrorAlert {...errorProps} />}</CardContent>\n </Card>\n )\n}\n\nconst DefaultErrorAlert: React.FC<EmbedErrorCardBaseProps> = ({ alertProps, scope, hideErrorDetails, error }) => {\n return (\n <Alert severity=\"error\" {...alertProps}>\n <AlertTitle>Whoops! Something went wrong</AlertTitle>\n {scope\n ? (\n <Typography variant=\"caption\">\n Scope:\n {scope}\n </Typography>\n )\n : null}\n {!hideErrorDetails && error\n ? (\n <>\n <Typography variant=\"caption\">Error: </Typography>\n <Typography variant=\"caption\">{error?.message}</Typography>\n </>\n )\n : (\n <Typography variant=\"caption\" fontSize=\"small\">\n Error Loading Plugin\n </Typography>\n )}\n </Alert>\n )\n}\n"],"mappings":"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","names":["Card","useBusyTiming","BusyCircularProgress","BusyLinearProgress","React","BusyCard","busy","busyMinimum","busyVariant","busyVariantProps","children","props","internalBusy","useBusyTiming","Card","BusyCircularProgress","BusyLinearProgress","Refresh","RefreshIcon","Avatar","CardHeader","Chip","FlexRow","React","createContextEx","EmbedPluginContext","React","useEffect","useState","EmbedPluginProvider","children","refreshTitle","timestampLabel","hideElementsConfig","plugins","embedPluginConfig","activePlugin","setActivePlugin","useState","undefined","useEffect","React","EmbedPluginContext","Provider","value","provided","useContextEx","useEmbedPluginState","useContextEx","EmbedPluginContext","React","useState","createContextEx","RefreshPayloadContext","RefreshPayloadProvider","children","onRefresh","refreshPayload","localRefreshPayload","setRefreshPayload","useState","React","RefreshPayloadContext","Provider","value","provided","useContextEx","useRefreshPayload","useContextEx","RefreshPayloadContext","createContextEx","ResolvePayloadContext","delay","useAsyncEffect","Huri","ModuleErrorSchema","React","useEffect","useState","ResolvePayloadProvider","children","huriPayload","payload","setPayload","useState","huri","setHuri","refreshPayload","setRefreshPayload","onRefresh","useRefreshPayload","useEffect","undefined","notFound","setNotFound","huriError","setHuriError","useAsyncEffect","mounted","huriInstance","Huri","result","fetch","delay","e","error","message","schema","ModuleErrorSchema","sources","refreshHuri","React","ResolvePayloadContext","Provider","value","provided","useContextEx","useResolvePayload","useContextEx","ResolvePayloadContext","Chip","useAsyncEffect","SchemaCache","React","useState","createContextEx","ValidatePayloadContext","ValidatePayloadProvider","children","enabled","payload","useResolvePayload","initialized","setInitialized","useState","valid","setValid","useAsyncEffect","SchemaCache","instance","get","schema","possibleKnownSchema","validators","validator","React","ValidatePayloadContext","Provider","value","provided","validPayload","Chip","label","useContextEx","useValidatePayload","useContextEx","ValidatePayloadContext","MoreVert","MoreVertIcon","IconButton","Menu","React","useState","OpenInNew","OpenInNewIcon","ListItemIcon","ListItemText","MenuItem","React","JsonMenuItem","props","huri","useResolvePayload","React","MenuItem","title","onClick","window","open","ListItemText","sx","mr","ListItemIcon","justifyContent","OpenInNewIcon","fontSize","EmbedMenu","props","anchorEl","setAnchorEl","useState","open","Boolean","handleClick","event","currentTarget","handleClose","React","IconButton","onClick","MoreVertIcon","Menu","onClose","PaperProps","variant","MenuListProps","dense","JsonMenuItem","EmbedCardHeader","refreshHuri","huri","useResolvePayload","activePlugin","timestampLabel","hideElementsConfig","useEmbedPluginState","hideAvatar","hideTitle","hideRefreshButton","hideTimestamp","hideCardActions","timestamp","Date","now","React","CardHeader","sx","flexWrap","rowGap","avatar","Avatar","bgcolor","theme","palette","primary","main","aria-label","name","charAt","action","FlexRow","columnGap","Chip","RefreshIcon","clickable","onClick","label","toLocaleString","undefined","EmbedMenu","title","CardContent","FlexGrowRow","useListMode","React","FormControl","InputLabel","React","EmbedFormControl","formId","formLabel","children","props","React","FormControl","InputLabel","id","MenuItem","SelectEx","useListMode","React","listModeSelectId","listModeSelectLabel","ListModeSelect","props","listMode","setListMode","useListMode","React","SelectEx","value","onChange","event","target","MenuItem","key","ListModeSelectFormControl","EmbedFormControl","formId","formLabel","size","label","labelId","MenuItem","SelectEx","React","renderSelectId","renderSelectLabel","EmbedRenderSelect","props","activePlugin","setActivePlugin","plugins","useEmbedPluginState","React","EmbedFormControl","formId","formLabel","SelectEx","size","value","name","map","plugin","MenuItem","key","onClick","EmbedPluginCard","props","payload","useResolvePayload","activePlugin","ActivePlugin","plugins","hideElementsConfig","useEmbedPluginState","listMode","useListMode","supportsListMode","components","box","listModes","length","React","BusyCard","hideCardHeader","EmbedCardHeader","FlexGrowRow","columnGap","rowGap","flexWrap","pb","EmbedRenderSelect","ListModeSelectFormControl","CardContent","sx","height","detailsBox","useTheme","React","ErrorBoundary","ListModeProvider","React","LoadResult","React","EmbedResolver","children","payload","notFound","huriError","useResolvePayload","React","LoadResult","searchResult","error","Alert","React","ValidatePayloadAlert","children","props","validPayload","enabled","schema","useValidatePayload","React","Alert","severity","title","Alert","AlertTitle","React","ValidatePluginsAlert","children","props","payload","useResolvePayload","plugins","useEmbedPluginState","length","React","Alert","severity","AlertTitle","EmbedPluginInner","validateSchema","plugins","huriPayload","refreshTitle","timestampLabel","hideElementsConfig","embedPluginConfig","onRefresh","children","React","ErrorBoundary","EmbedPluginProvider","WithResolvers","WithValidators","ListModeProvider","defaultListMode","listMode","RefreshPayloadProvider","ResolvePayloadProvider","EmbedResolver","ValidatePayloadProvider","enabled","ValidatePluginsAlert","ValidatePayloadAlert","ErrorAlert","ErrorRender","React","Alert","AlertTitle","Card","CardContent","Typography","React","EmbedErrorCard","props","alertProps","error","scope","hideErrorDetails","children","cardProps","errorProps","React","Card","CardContent","DefaultErrorAlert","Alert","severity","AlertTitle","Typography","variant","message","fontSize","EmbedCardApiErrorRenderer","xyoError","children","props","React","ErrorRender","error","noReAuth","noErrorDisplay","customError","CustomApiErrorCard","EmbedErrorCard","ErrorAlert","ApiEmbedPluginCard","children","props","validateSchema","plugins","huriPayload","refreshTitle","timestampLabel","hideElementsConfig","embedPluginConfig","onRefresh","busyCardProps","React","EmbedPluginInner","EmbedPluginCardInner","payload","huriError","useResolvePayload","refreshPayload","useRefreshPayload","theme","useTheme","EmbedCardApiErrorRenderer","xyoError","EmbedPluginCard","elevation","variant","busy","Boolean","busyVariantProps","style","alignItems","paddingTop","spacing","zIndex","sx","position"]}
1
+ {"version":3,"sources":["../../src/components/embed-card/card/BusyCard.tsx","../../src/components/embed-card/card/EmbedCardHeader.tsx","../../src/contexts/EmbedPluginContext/Context.ts","../../src/contexts/EmbedPluginContext/Provider.tsx","../../src/contexts/EmbedPluginContext/use.ts","../../src/contexts/RefreshPayloadContext/Provider.tsx","../../src/contexts/RefreshPayloadContext/Context.ts","../../src/contexts/RefreshPayloadContext/use.ts","../../src/contexts/ResolvePayloadContext/Context.ts","../../src/contexts/ResolvePayloadContext/Provider.tsx","../../src/contexts/ResolvePayloadContext/use.ts","../../src/contexts/ValidatePayloadContext/Provider.tsx","../../src/contexts/ValidatePayloadContext/Context.ts","../../src/contexts/ValidatePayloadContext/use.ts","../../src/components/embed-card/menu/EmbedMenu.tsx","../../src/components/embed-card/menu/JsonMenuItem.tsx","../../src/components/embed-card/card/EmbedPluginCard.tsx","../../src/components/controls/EmbedFormControl.tsx","../../src/components/controls/ListModeSelect.tsx","../../src/components/controls/RenderSelect.tsx","../../src/components/embed-card/EmbedPluginCard.tsx","../../src/components/EmbedPlugin.tsx","../../src/components/EmbedResolver.tsx","../../src/components/validation-alerts/ValidatePayload.tsx","../../src/components/validation-alerts/ValidatePlugins.tsx","../../src/components/embed-card/error-handling/EmbedCardApiErrorRenderer.tsx","../../src/components/embed-card/error-handling/EmbedErrorCard.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport { useBusyTiming } from '@xylabs/react-flexbox'\nimport type {\n BusyCircularProgressProps,\n BusyLinearProgressProps,\n BusyVariant,\n WithChildren,\n} from '@xylabs/react-shared'\nimport {\n BusyCircularProgress,\n BusyLinearProgress,\n} from '@xylabs/react-shared'\nimport React from 'react'\n\nexport interface BusyCardProps extends CardProps {\n busy?: boolean\n busyMinimum?: number\n busyVariant?: BusyVariant\n busyVariantProps?: BusyCircularProgressProps | BusyLinearProgressProps\n}\n\nexport const BusyCard: React.FC<WithChildren<BusyCardProps>> = ({\n busy,\n busyMinimum = 500,\n busyVariant = 'circular',\n busyVariantProps,\n children,\n ...props\n}) => {\n const internalBusy = useBusyTiming(busy, busyMinimum)\n return (\n <Card {...props}>\n {children}\n {busyVariant === 'circular' && internalBusy\n ? <BusyCircularProgress {...(busyVariantProps as BusyCircularProgressProps)} />\n : null}\n {busyVariant === 'linear' && internalBusy\n ? <BusyLinearProgress {...(busyVariantProps as BusyLinearProgressProps)} />\n : null}\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport type { CardHeaderProps, Theme } from '@mui/material'\nimport {\n Avatar, CardHeader, Chip,\n} from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../../contexts/index.ts'\nimport { EmbedMenu } from '../menu/index.ts'\n\nexport const EmbedCardHeader: React.FC<CardHeaderProps> = () => {\n const { refreshHuri, huri } = useResolvePayload()\n const {\n activePlugin, timestampLabel, hideElementsConfig,\n } = useEmbedPluginState()\n const {\n hideAvatar, hideTitle, hideRefreshButton, hideTimestamp, hideCardActions,\n } = hideElementsConfig ?? {}\n // this is temporary so that we can add the ability to get a timestamp via diviner later\n const timestamp = Date.now()\n return (\n <CardHeader\n sx={{ flexWrap: 'wrap', rowGap: 1 }}\n avatar={\n hideAvatar\n ? <></>\n : (\n <Avatar sx={{ bgcolor: (theme: Theme) => theme.palette.primary.main }} aria-label={activePlugin?.name}>\n {activePlugin?.name?.charAt(0)}\n </Avatar>\n )\n }\n action={(\n <FlexRow flexWrap=\"wrap\" columnGap={0.5}>\n {timestamp\n ? hideTimestamp && hideRefreshButton\n ? ''\n : (\n <Chip\n avatar={hideRefreshButton ? <></> : <RefreshIcon />}\n clickable={hideRefreshButton ? false : true}\n onClick={refreshHuri}\n label={hideTimestamp ? '' : `${timestampLabel} ${new Date(timestamp).toLocaleString()}`}\n />\n )\n\n : null}\n {/* Huri case is valid as long as the only menu item is JSON */}\n {hideCardActions || huri === undefined ? null : <EmbedMenu />}\n </FlexRow>\n )}\n title={hideTitle ? '' : activePlugin?.name}\n />\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport type { EmbedPluginState } from './State.ts'\n\nexport const EmbedPluginContext = createContextEx<EmbedPluginState>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport React, { useEffect, useState } from 'react'\n\nimport { EmbedPluginContext } from './Context.ts'\nimport type { EmbedPluginBase } from './State.ts'\n\nexport type EmbedPluginProviderProps = EmbedPluginBase\n\n/** Expose passed embed plugin props via context */\nexport const EmbedPluginProvider: React.FC<WithChildren<EmbedPluginProviderProps>> = ({\n children,\n refreshTitle,\n timestampLabel,\n hideElementsConfig,\n plugins,\n embedPluginConfig,\n}) => {\n const [activePlugin, setActivePlugin] = useState<PayloadRenderPlugin | undefined>(plugins ? plugins[0] : undefined)\n\n useEffect(() => {\n setActivePlugin(plugins ? plugins[0] : undefined)\n }, [plugins])\n\n return (\n <EmbedPluginContext.Provider\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n value={{\n activePlugin,\n embedPluginConfig,\n hideElementsConfig,\n provided: true,\n refreshTitle,\n setActivePlugin,\n timestampLabel,\n }}\n >\n {children}\n </EmbedPluginContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { EmbedPluginContext } from './Context.ts'\n\nexport const useEmbedPluginState = () => useContextEx(EmbedPluginContext, 'EmbedPlugin', true)\n","import type { WithChildren } from '@xylabs/react-shared'\nimport React, { useState } from 'react'\n\nimport { RefreshPayloadContext } from './Context.ts'\n\nexport interface RefreshPayloadProps {\n onRefresh?: () => void\n refreshPayload?: boolean\n}\n\nexport const RefreshPayloadProvider: React.FC<WithChildren<RefreshPayloadProps>> = ({\n children, onRefresh, refreshPayload,\n}) => {\n const [localRefreshPayload, setRefreshPayload] = useState(refreshPayload)\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <RefreshPayloadContext.Provider value={{\n onRefresh, provided: true, refreshPayload: localRefreshPayload, setRefreshPayload,\n }}\n >\n {children}\n </RefreshPayloadContext.Provider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport type { RefreshPayloadState } from './State.ts'\n\nexport const RefreshPayloadContext = createContextEx<RefreshPayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { RefreshPayloadContext } from './Context.ts'\n\nexport const useRefreshPayload = () => useContextEx(RefreshPayloadContext, 'RefreshPayload', true)\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport type { ResolvePayloadState } from './State.ts'\n\nexport const ResolvePayloadContext = createContextEx<ResolvePayloadState>()\n","import { delay } from '@xylabs/delay'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { Huri } from '@xyo-network/huri'\nimport type { ModuleError, Payload } from '@xyo-network/payload-model'\nimport { ModuleErrorSchema } from '@xyo-network/payload-model'\nimport React, { useEffect, useState } from 'react'\n\nimport { useRefreshPayload } from '../RefreshPayloadContext/index.ts'\nimport { ResolvePayloadContext } from './Context.ts'\nimport type { ResolvePayloadState } from './State.ts'\n\nexport type ResolvePayloadProviderProps = Omit<ResolvePayloadState, 'provided'>\n\nexport const ResolvePayloadProvider: React.FC<WithChildren<ResolvePayloadProviderProps>> = ({ children, huriPayload }) => {\n const [payload, setPayload] = useState<Payload>()\n const [huri, setHuri] = useState<string>()\n const {\n refreshPayload, setRefreshPayload, onRefresh,\n } = useRefreshPayload()\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n typeof huriPayload === 'string' ? setHuri(huriPayload) : undefined\n if (typeof huriPayload === 'object') {\n setPayload(huriPayload)\n setRefreshPayload?.(true)\n }\n }, [huriPayload, setRefreshPayload])\n\n const [notFound, setNotFound] = useState<boolean>()\n const [huriError, setHuriError] = useState<ModuleError>()\n\n useAsyncEffect(\n async (mounted) => {\n if (huri && !refreshPayload) {\n try {\n const huriInstance = new Huri(huri)\n const result = await huriInstance.fetch()\n // ensure the busy state can stay for a moment to avoid flashing too quickly\n await delay(500)\n\n if (mounted()) {\n setNotFound(result === null)\n setPayload(result)\n setRefreshPayload?.(true)\n }\n } catch (e) {\n const error = e as Error\n setHuriError({\n message: error.message, schema: ModuleErrorSchema, sources: [],\n })\n }\n }\n },\n [huri, payload, refreshPayload, setRefreshPayload],\n )\n\n const refreshHuri = () => {\n onRefresh?.()\n if (huri) {\n setRefreshPayload?.(false)\n }\n }\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <ResolvePayloadContext.Provider value={{\n huri, huriError, notFound, payload, provided: true, refreshHuri, setPayload,\n }}\n >\n {children}\n </ResolvePayloadContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ResolvePayloadContext } from './Context.ts'\n\nexport const useResolvePayload = () => useContextEx(ResolvePayloadContext, 'ResolvePayload', true)\n","import { Chip } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport type { SchemaNameToValidatorMap } from '@xyo-network/schema-cache'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport React, { useState } from 'react'\n\nimport { useResolvePayload } from '../ResolvePayloadContext/index.ts'\nimport { ValidatePayloadContext } from './Context.ts'\n\nexport interface ValidatePayloadProviderProps {\n // Opt-in flag to validate payloads for the plugin(s)\n enabled?: boolean\n}\n\nexport const ValidatePayloadProvider: React.FC<WithChildren<ValidatePayloadProviderProps>> = ({ children, enabled = false }) => {\n const { payload } = useResolvePayload()\n const [initialized, setInitialized] = useState(false)\n const [valid, setValid] = useState<boolean>()\n\n useAsyncEffect(\n async () => {\n if (payload && enabled) {\n await SchemaCache.instance.get(payload.schema)\n\n const possibleKnownSchema = payload.schema as keyof SchemaNameToValidatorMap\n\n if (SchemaCache.instance.validators[possibleKnownSchema]) {\n const validator = SchemaCache.instance.validators[possibleKnownSchema]\n setValid(validator?.(payload))\n }\n setInitialized(true)\n }\n },\n [payload, enabled],\n )\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <ValidatePayloadContext.Provider value={{\n enabled, provided: true, schema: payload?.schema, validPayload: valid,\n }}\n >\n {enabled\n ? <>{initialized ? children : <Chip label=\"Validating Payload...\" />}</>\n : children}\n </ValidatePayloadContext.Provider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport type { ValidatePayloadState } from './State.ts'\n\nexport const ValidatePayloadContext = createContextEx<ValidatePayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { ValidatePayloadContext } from './Context.ts'\n\nexport const useValidatePayload = () => useContextEx(ValidatePayloadContext, 'ValidateSchema', true)\n","import { MoreVert as MoreVertIcon } from '@mui/icons-material'\nimport type { IconButtonProps } from '@mui/material'\nimport { IconButton, Menu } from '@mui/material'\nimport React, { useState } from 'react'\n\nimport { JsonMenuItem } from './JsonMenuItem.tsx'\n\nexport const EmbedMenu: React.FC<IconButtonProps> = (props) => {\n // TODO - link to explore website\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return (\n <>\n <IconButton onClick={handleClick} {...props}>\n <MoreVertIcon />\n </IconButton>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose} PaperProps={{ variant: 'elevation' }} MenuListProps={{ dense: true }}>\n <JsonMenuItem />\n </Menu>\n </>\n )\n}\n","import { OpenInNew as OpenInNewIcon } from '@mui/icons-material'\nimport type { MenuItemProps } from '@mui/material'\nimport {\n ListItemIcon, ListItemText, MenuItem,\n} from '@mui/material'\nimport React from 'react'\n\nimport { useResolvePayload } from '../../../contexts/index.ts'\n\nexport const JsonMenuItem: React.FC<MenuItemProps> = (props) => {\n const { huri } = useResolvePayload()\n\n return (\n <>\n {huri\n ? (\n <MenuItem title=\"Source Payload JSON\" onClick={() => window.open(huri, '_blank')} {...props}>\n <ListItemText sx={{ mr: 1 }}>JSON</ListItemText>\n <ListItemIcon sx={{ justifyContent: 'end' }}>\n <OpenInNewIcon fontSize=\"small\" />\n </ListItemIcon>\n </MenuItem>\n )\n : null}\n </>\n )\n}\n","import { CardContent } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { useListMode } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../../contexts/index.ts'\nimport { EmbedRenderSelect, ListModeSelectFormControl } from '../../controls/index.ts'\nimport type { BusyCardProps } from './BusyCard.tsx'\nimport { BusyCard } from './BusyCard.tsx'\nimport { EmbedCardHeader } from './EmbedCardHeader.tsx'\n\nexport const EmbedPluginCard: React.FC<BusyCardProps> = ({ ...props }) => {\n const { payload } = useResolvePayload()\n const {\n activePlugin: ActivePlugin, plugins, hideElementsConfig,\n } = useEmbedPluginState()\n const { listMode } = useListMode()\n const supportsListMode = ActivePlugin?.components?.box?.listModes?.length ?? 0 > 1\n\n return (\n <BusyCard {...props}>\n {hideElementsConfig?.hideCardHeader ? null : <EmbedCardHeader />}\n {/* Only show the row if the children are present */}\n {(plugins && plugins.length > 0) || supportsListMode\n ? (\n <FlexGrowRow columnGap={2} rowGap={2} flexWrap=\"wrap\" pb={1}>\n {plugins && plugins.length > 1\n ? <EmbedRenderSelect />\n : null}\n {supportsListMode\n ? <ListModeSelectFormControl />\n : null}\n </FlexGrowRow>\n )\n : null}\n <CardContent sx={{ height: '100%' }}>\n {ActivePlugin\n ? <ActivePlugin.components.box.detailsBox payload={payload} {...(supportsListMode && { listMode })} />\n : null}\n </CardContent>\n </BusyCard>\n )\n}\n","import type { FormControlProps } from '@mui/material'\nimport { FormControl, InputLabel } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\ninterface EmbedFormControlProps extends FormControlProps {\n formId?: string\n formLabel?: string\n}\n\nexport const EmbedFormControl: React.FC<WithChildren<EmbedFormControlProps>> = ({\n formId, formLabel, children, ...props\n}) => {\n return (\n <FormControl {...props}>\n <InputLabel id={formId}>{formLabel}</InputLabel>\n {children}\n </FormControl>\n )\n}\n","import { MenuItem } from '@mui/material'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport type { ListMode } from '@xyo-network/react-shared'\nimport { useListMode } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { EmbedFormControl } from './EmbedFormControl.tsx'\n\nconst listModeSelectId = 'listmode-select-id'\nconst listModeSelectLabel = 'List Mode'\n\nexport const ListModeSelect: React.FC<SelectExProps<ListMode>> = (props) => {\n const { listMode, setListMode } = useListMode()\n\n return (\n <SelectEx<ListMode>\n value={(listMode ?? 'default') as ListMode}\n onChange={(event) => {\n setListMode?.(event.target.value as ListMode)\n }}\n {...props}\n >\n <MenuItem key=\"default\" value=\"default\">\n Default\n </MenuItem>\n <MenuItem key=\"table\" value=\"table\">\n Table\n </MenuItem>\n <MenuItem key=\"grid\" value=\"grid\">\n Grid\n </MenuItem>\n </SelectEx>\n )\n}\n\nexport const ListModeSelectFormControl: React.FC<SelectExProps<ListMode>> = (props) => {\n return (\n <EmbedFormControl formId={listModeSelectId} formLabel={listModeSelectLabel}>\n <ListModeSelect size=\"small\" label={listModeSelectLabel} labelId={listModeSelectId} {...props} />\n </EmbedFormControl>\n )\n}\n","import { MenuItem } from '@mui/material'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport React from 'react'\n\nimport { useEmbedPluginState } from '../../contexts/index.ts'\nimport { EmbedFormControl } from './EmbedFormControl.tsx'\n\nconst renderSelectId = 'render-select-id'\nconst renderSelectLabel = 'Renderer'\n\nexport const EmbedRenderSelect: React.FC<SelectExProps<string>> = (props) => {\n const {\n activePlugin, setActivePlugin, plugins,\n } = useEmbedPluginState()\n return (\n <EmbedFormControl formId={renderSelectId} formLabel={renderSelectLabel}>\n <SelectEx size=\"small\" value={activePlugin?.name} {...props}>\n {plugins?.map(plugin => (\n <MenuItem value={plugin.name} key={plugin.name} onClick={() => setActivePlugin?.(plugin)}>\n {plugin.name}\n </MenuItem>\n ))}\n </SelectEx>\n </EmbedFormControl>\n )\n}\n","import { useTheme } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\nimport { useRefreshPayload, useResolvePayload } from '../../contexts/index.ts'\nimport type { EmbedPluginProps } from '../../types/index.ts'\nimport { EmbedPluginInner } from '../EmbedPlugin.tsx'\nimport type { BusyCardProps } from './card/index.ts'\nimport { EmbedPluginCard } from './card/index.ts'\nimport { EmbedCardApiErrorRenderer } from './error-handling/index.ts'\n\nexport interface EmbedPluginCardProps extends WithChildren, EmbedPluginProps, BusyCardProps {}\n\nexport const ApiEmbedPluginCard: React.FC<EmbedPluginCardProps> = ({ children, ...props }) => {\n const {\n validateSchema,\n plugins = [],\n huriPayload,\n refreshTitle = '',\n timestampLabel = 'Data From',\n hideElementsConfig,\n embedPluginConfig,\n onRefresh,\n ...busyCardProps\n } = props\n\n return (\n <EmbedPluginInner\n {...{\n embedPluginConfig,\n hideElementsConfig,\n huriPayload,\n onRefresh,\n plugins,\n refreshTitle,\n timestampLabel,\n validateSchema,\n }}\n >\n <EmbedPluginCardInner {...busyCardProps} />\n {children}\n </EmbedPluginInner>\n )\n}\n\nexport const EmbedPluginCardInner: React.FC<BusyCardProps> = (props) => {\n const { payload, huriError } = useResolvePayload()\n const { refreshPayload } = useRefreshPayload()\n const theme = useTheme()\n\n return (\n <EmbedCardApiErrorRenderer xyoError={huriError}>\n <EmbedPluginCard\n elevation={3}\n variant=\"elevation\"\n busy={Boolean(!refreshPayload && payload)}\n busyVariantProps={{\n style: {\n alignItems: 'start', paddingTop: theme.spacing(2), zIndex: 2,\n },\n }}\n sx={{ position: 'relative' }}\n {...props}\n />\n </EmbedCardApiErrorRenderer>\n )\n}\n\n/** @deprecated - use EmbedPluginCard and use CardProps instead of FlexBoxProps */\n\nexport { EmbedPluginCard as EmbedPlugin } from './card/index.ts'\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { ErrorBoundary, ListModeProvider } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport {\n EmbedPluginProvider, RefreshPayloadProvider, ResolvePayloadProvider, ValidatePayloadProvider,\n} from '../contexts/index.ts'\nimport type { EmbedPluginProps } from '../types/index.ts'\nimport { EmbedResolver } from './EmbedResolver.tsx'\nimport { ValidatePayloadAlert, ValidatePluginsAlert } from './validation-alerts/index.ts'\n\nexport const EmbedPluginInner: React.FC<WithChildren<EmbedPluginProps>> = ({\n validateSchema,\n plugins,\n huriPayload,\n refreshTitle = '',\n timestampLabel = 'Data From',\n hideElementsConfig,\n embedPluginConfig,\n onRefresh,\n children,\n}) => {\n return (\n <ErrorBoundary>\n <EmbedPluginProvider\n refreshTitle={refreshTitle}\n timestampLabel={timestampLabel}\n hideElementsConfig={hideElementsConfig}\n plugins={plugins}\n embedPluginConfig={embedPluginConfig}\n >\n <WithResolvers onRefresh={onRefresh} huriPayload={huriPayload}>\n <WithValidators validateSchema={validateSchema}>\n <ListModeProvider defaultListMode={embedPluginConfig?.listMode}>{children}</ListModeProvider>\n </WithValidators>\n </WithResolvers>\n </EmbedPluginProvider>\n </ErrorBoundary>\n )\n}\n\ninterface WithResolversProps extends Pick<EmbedPluginProps, 'onRefresh' | 'huriPayload'>, FlexBoxProps {}\n\nconst WithResolvers: React.FC<WithChildren<WithResolversProps>> = ({\n children, onRefresh, huriPayload,\n}) => {\n return (\n <RefreshPayloadProvider onRefresh={onRefresh}>\n <ResolvePayloadProvider huriPayload={huriPayload}>\n <EmbedResolver>{children}</EmbedResolver>\n </ResolvePayloadProvider>\n </RefreshPayloadProvider>\n )\n}\n\nconst WithValidators: React.FC<WithChildren<{ validateSchema?: boolean }>> = ({ children, validateSchema }) => {\n return (\n <ValidatePayloadProvider enabled={validateSchema}>\n <ValidatePluginsAlert>\n <ValidatePayloadAlert>{children}</ValidatePayloadAlert>\n </ValidatePluginsAlert>\n </ValidatePayloadProvider>\n )\n}\n","import type { WithChildren } from '@xylabs/react-shared'\nimport { LoadResult } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { useResolvePayload } from '../contexts/index.ts'\n\nexport const EmbedResolver: React.FC<WithChildren> = ({ children }) => {\n const {\n payload, notFound, huriError,\n } = useResolvePayload()\n\n return (\n <LoadResult searchResult={payload} notFound={!!notFound} error={!!huriError}>\n {children}\n </LoadResult>\n )\n}\n","import type { AlertProps } from '@mui/material'\nimport { Alert } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\nimport { useValidatePayload } from '../../contexts/index.ts'\n\nexport const ValidatePayloadAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {\n const {\n validPayload, enabled, schema,\n } = useValidatePayload()\n\n if (enabled && validPayload === false) {\n return (\n <Alert severity=\"error\" title=\"Invalid Payload!\" {...props}>\n Payload schema claimed to be\n {' '}\n {schema}\n {' '}\n but failed to validate.\n </Alert>\n )\n }\n\n return <>{children}</>\n}\n","import type { AlertProps } from '@mui/material'\nimport { Alert, AlertTitle } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\nimport { useEmbedPluginState, useResolvePayload } from '../../contexts/index.ts'\n\nexport const ValidatePluginsAlert: React.FC<WithChildren<AlertProps>> = ({ children, ...props }) => {\n const { payload } = useResolvePayload()\n const { plugins } = useEmbedPluginState()\n\n if (payload && plugins?.length === 0) {\n return (\n <Alert severity=\"warning\" {...props}>\n <AlertTitle>Missing plugins!</AlertTitle>\n Payload found but no plugins were present.\n </Alert>\n )\n }\n\n return <>{children}</>\n}\n","import type { CardProps } from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport type { ModuleError } from '@xyo-network/payload-model'\nimport { ErrorAlert, ErrorRender } from '@xyo-network/react-error'\nimport React from 'react'\n\nimport { EmbedErrorCard } from './EmbedErrorCard.tsx'\n\ninterface EmbedCardApiErrorRendererProps extends CardProps {\n xyoError?: ModuleError\n}\n\nexport const EmbedCardApiErrorRenderer: React.FC<WithChildren<EmbedCardApiErrorRendererProps>> = ({\n xyoError, children, ...props\n}) => {\n return (\n <ErrorRender error={xyoError} noReAuth noErrorDisplay customError={<CustomApiErrorCard xyoError={xyoError} {...props} />}>\n {children}\n </ErrorRender>\n )\n}\n\nconst CustomApiErrorCard: React.FC<EmbedCardApiErrorRendererProps> = ({ xyoError, ...props }) => {\n return (\n <EmbedErrorCard {...props}>\n <ErrorAlert error={xyoError} />\n </EmbedErrorCard>\n )\n}\n","import type { AlertProps, CardProps } from '@mui/material'\nimport {\n Alert, AlertTitle, Card, CardContent, Typography,\n} from '@mui/material'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport React from 'react'\n\ninterface EmbedErrorCardBaseProps {\n alertProps?: AlertProps\n error?: Error\n hideErrorDetails?: boolean\n scope?: string\n}\n\ninterface EmbedErrorCardProps extends EmbedErrorCardBaseProps, CardProps {}\n\nexport const EmbedErrorCard: React.FC<WithChildren<EmbedErrorCardProps>> = (props) => {\n const {\n alertProps, error, scope, hideErrorDetails = true, children, ...cardProps\n } = props\n const errorProps = {\n alertProps, error, hideErrorDetails, scope,\n }\n return (\n <Card {...cardProps}>\n <CardContent>{children ?? <DefaultErrorAlert {...errorProps} />}</CardContent>\n </Card>\n )\n}\n\nconst DefaultErrorAlert: React.FC<EmbedErrorCardBaseProps> = ({\n alertProps, scope, hideErrorDetails, error,\n}) => {\n return (\n <Alert severity=\"error\" {...alertProps}>\n <AlertTitle>Whoops! Something went wrong</AlertTitle>\n {scope\n ? (\n <Typography variant=\"caption\">\n Scope:\n {scope}\n </Typography>\n )\n : null}\n {!hideErrorDetails && error\n ? (\n <>\n <Typography variant=\"caption\">Error: </Typography>\n <Typography variant=\"caption\">{error?.message}</Typography>\n </>\n )\n : (\n <Typography variant=\"caption\" fontSize=\"small\">\n Error Loading Plugin\n </Typography>\n )}\n </Alert>\n )\n}\n"],"mappings":"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","names":["Card","useBusyTiming","BusyCircularProgress","BusyLinearProgress","React","BusyCard","busy","busyMinimum","busyVariant","busyVariantProps","children","props","internalBusy","useBusyTiming","Card","BusyCircularProgress","BusyLinearProgress","Refresh","RefreshIcon","Avatar","CardHeader","Chip","FlexRow","React","createContextEx","EmbedPluginContext","React","useEffect","useState","EmbedPluginProvider","children","refreshTitle","timestampLabel","hideElementsConfig","plugins","embedPluginConfig","activePlugin","setActivePlugin","useState","undefined","useEffect","React","EmbedPluginContext","Provider","value","provided","useContextEx","useEmbedPluginState","useContextEx","EmbedPluginContext","React","useState","createContextEx","RefreshPayloadContext","RefreshPayloadProvider","children","onRefresh","refreshPayload","localRefreshPayload","setRefreshPayload","useState","React","RefreshPayloadContext","Provider","value","provided","useContextEx","useRefreshPayload","useContextEx","RefreshPayloadContext","createContextEx","ResolvePayloadContext","delay","useAsyncEffect","Huri","ModuleErrorSchema","React","useEffect","useState","ResolvePayloadProvider","children","huriPayload","payload","setPayload","useState","huri","setHuri","refreshPayload","setRefreshPayload","onRefresh","useRefreshPayload","useEffect","undefined","notFound","setNotFound","huriError","setHuriError","useAsyncEffect","mounted","huriInstance","Huri","result","fetch","delay","e","error","message","schema","ModuleErrorSchema","sources","refreshHuri","React","ResolvePayloadContext","Provider","value","provided","useContextEx","useResolvePayload","useContextEx","ResolvePayloadContext","Chip","useAsyncEffect","SchemaCache","React","useState","createContextEx","ValidatePayloadContext","ValidatePayloadProvider","children","enabled","payload","useResolvePayload","initialized","setInitialized","useState","valid","setValid","useAsyncEffect","SchemaCache","instance","get","schema","possibleKnownSchema","validators","validator","React","ValidatePayloadContext","Provider","value","provided","validPayload","Chip","label","useContextEx","useValidatePayload","useContextEx","ValidatePayloadContext","MoreVert","MoreVertIcon","IconButton","Menu","React","useState","OpenInNew","OpenInNewIcon","ListItemIcon","ListItemText","MenuItem","React","JsonMenuItem","props","huri","useResolvePayload","React","MenuItem","title","onClick","window","open","ListItemText","sx","mr","ListItemIcon","justifyContent","OpenInNewIcon","fontSize","EmbedMenu","props","anchorEl","setAnchorEl","useState","open","Boolean","handleClick","event","currentTarget","handleClose","React","IconButton","onClick","MoreVertIcon","Menu","onClose","PaperProps","variant","MenuListProps","dense","JsonMenuItem","EmbedCardHeader","refreshHuri","huri","useResolvePayload","activePlugin","timestampLabel","hideElementsConfig","useEmbedPluginState","hideAvatar","hideTitle","hideRefreshButton","hideTimestamp","hideCardActions","timestamp","Date","now","React","CardHeader","sx","flexWrap","rowGap","avatar","Avatar","bgcolor","theme","palette","primary","main","aria-label","name","charAt","action","FlexRow","columnGap","Chip","RefreshIcon","clickable","onClick","label","toLocaleString","undefined","EmbedMenu","title","CardContent","FlexGrowRow","useListMode","React","FormControl","InputLabel","React","EmbedFormControl","formId","formLabel","children","props","React","FormControl","InputLabel","id","MenuItem","SelectEx","useListMode","React","listModeSelectId","listModeSelectLabel","ListModeSelect","props","listMode","setListMode","useListMode","React","SelectEx","value","onChange","event","target","MenuItem","key","ListModeSelectFormControl","EmbedFormControl","formId","formLabel","size","label","labelId","MenuItem","SelectEx","React","renderSelectId","renderSelectLabel","EmbedRenderSelect","props","activePlugin","setActivePlugin","plugins","useEmbedPluginState","React","EmbedFormControl","formId","formLabel","SelectEx","size","value","name","map","plugin","MenuItem","key","onClick","EmbedPluginCard","props","payload","useResolvePayload","activePlugin","ActivePlugin","plugins","hideElementsConfig","useEmbedPluginState","listMode","useListMode","supportsListMode","components","box","listModes","length","React","BusyCard","hideCardHeader","EmbedCardHeader","FlexGrowRow","columnGap","rowGap","flexWrap","pb","EmbedRenderSelect","ListModeSelectFormControl","CardContent","sx","height","detailsBox","useTheme","React","ErrorBoundary","ListModeProvider","React","LoadResult","React","EmbedResolver","children","payload","notFound","huriError","useResolvePayload","React","LoadResult","searchResult","error","Alert","React","ValidatePayloadAlert","children","props","validPayload","enabled","schema","useValidatePayload","React","Alert","severity","title","Alert","AlertTitle","React","ValidatePluginsAlert","children","props","payload","useResolvePayload","plugins","useEmbedPluginState","length","React","Alert","severity","AlertTitle","EmbedPluginInner","validateSchema","plugins","huriPayload","refreshTitle","timestampLabel","hideElementsConfig","embedPluginConfig","onRefresh","children","React","ErrorBoundary","EmbedPluginProvider","WithResolvers","WithValidators","ListModeProvider","defaultListMode","listMode","RefreshPayloadProvider","ResolvePayloadProvider","EmbedResolver","ValidatePayloadProvider","enabled","ValidatePluginsAlert","ValidatePayloadAlert","ErrorAlert","ErrorRender","React","Alert","AlertTitle","Card","CardContent","Typography","React","EmbedErrorCard","props","alertProps","error","scope","hideErrorDetails","children","cardProps","errorProps","React","Card","CardContent","DefaultErrorAlert","Alert","severity","AlertTitle","Typography","variant","message","fontSize","EmbedCardApiErrorRenderer","xyoError","children","props","React","ErrorRender","error","noReAuth","noErrorDisplay","customError","CustomApiErrorCard","EmbedErrorCard","ErrorAlert","ApiEmbedPluginCard","children","props","validateSchema","plugins","huriPayload","refreshTitle","timestampLabel","hideElementsConfig","embedPluginConfig","onRefresh","busyCardProps","React","EmbedPluginInner","EmbedPluginCardInner","payload","huriError","useResolvePayload","refreshPayload","useRefreshPayload","theme","useTheme","EmbedCardApiErrorRenderer","xyoError","EmbedPluginCard","elevation","variant","busy","Boolean","busyVariantProps","style","alignItems","paddingTop","spacing","zIndex","sx","position"]}
@@ -0,0 +1,9 @@
1
+ import type { Payload } from '@xyo-network/payload-model';
2
+ import type { EmbedPluginBase, EmbedPluginVisibilityConfig } from '../contexts/index.ts';
3
+ export interface EmbedPluginProps extends EmbedPluginBase {
4
+ hideElementsConfig?: EmbedPluginVisibilityConfig;
5
+ huriPayload?: string | Payload;
6
+ onRefresh?: () => void;
7
+ validateSchema?: boolean;
8
+ }
9
+ //# sourceMappingURL=EmbedPluginProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbedPluginProps.d.ts","sourceRoot":"","sources":["../../../src/types/EmbedPluginProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAExF,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAE9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB"}
@@ -0,0 +1,2 @@
1
+ export * from './EmbedPluginProps.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
package/package.json CHANGED
@@ -1,80 +1,83 @@
1
1
  {
2
2
  "name": "@xyo-network/react-embed",
3
+ "version": "3.0.4",
4
+ "description": "Common React library for all XYO projects that use React",
5
+ "keywords": [
6
+ "xyo",
7
+ "utility",
8
+ "typescript",
9
+ "react"
10
+ ],
11
+ "homepage": "https://xyo.network",
12
+ "bugs": {
13
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues",
14
+ "email": "support@xyo.network"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
19
+ },
20
+ "license": "LGPL-3.0-only",
3
21
  "author": {
4
- "email": "support@xyo.network",
5
22
  "name": "XYO Development Team",
23
+ "email": "support@xyo.network",
6
24
  "url": "https://xyo.network"
7
25
  },
8
- "bugs": {
9
- "email": "support@xyo.network",
10
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
26
+ "sideEffects": false,
27
+ "type": "module",
28
+ "exports": {
29
+ ".": {
30
+ "import": {
31
+ "types": "./dist/browser/index.d.ts",
32
+ "default": "./dist/browser/index.mjs"
33
+ },
34
+ "types": "./dist/browser/index.d.ts",
35
+ "default": "./dist/browser/index.mjs"
36
+ },
37
+ "./package.json": "./package.json"
38
+ },
39
+ "module": "dist/browser/index.mjs",
40
+ "types": "dist/browser/index.d.ts",
41
+ "scripts": {
42
+ "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\"",
43
+ "lint-pkg": "npmPkgJsonLint ."
11
44
  },
12
45
  "dependencies": {
13
46
  "@mui/icons-material": "^5.16.7",
14
47
  "@mui/material": "^5.16.7",
15
48
  "@mui/styles": "^5.16.7",
16
- "@xylabs/delay": "^4.0.2",
49
+ "@xylabs/delay": "^4.0.5",
17
50
  "@xylabs/react-async-effect": "^4.0.3",
18
51
  "@xylabs/react-flexbox": "^4.0.3",
19
52
  "@xylabs/react-select": "^4.0.3",
20
53
  "@xylabs/react-shared": "^4.0.3",
21
- "@xyo-network/huri": "^3.0.3",
22
- "@xyo-network/payload-model": "^3.0.3",
23
- "@xyo-network/react-error": "^3.0.2",
24
- "@xyo-network/react-payload-plugin": "^3.0.2",
25
- "@xyo-network/react-shared": "^3.0.2",
26
- "@xyo-network/schema-cache": "^3.0.3",
54
+ "@xyo-network/huri": "^3.0.15",
55
+ "@xyo-network/payload-model": "^3.0.15",
56
+ "@xyo-network/react-error": "^3.0.4",
57
+ "@xyo-network/react-payload-plugin": "^3.0.4",
58
+ "@xyo-network/react-shared": "^3.0.4",
59
+ "@xyo-network/schema-cache": "^3.0.15",
27
60
  "react": "^18.3.1",
28
61
  "react-dom": "^18.3.1"
29
62
  },
30
63
  "devDependencies": {
64
+ "@emotion/react": "^11.13.3",
65
+ "@emotion/styled": "^11.13.0",
31
66
  "@storybook/react": "^8.2.9",
32
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
33
- "@xylabs/tsconfig-react": "^4.0.0-rc.20",
34
- "@xyo-network/react-aggregate-price-plugin": "^3.0.2",
35
- "@xyo-network/react-crypto-market-uniswap-plugin": "^3.0.2",
67
+ "@xylabs/ts-scripts-yarn3": "^4.0.7",
68
+ "@xylabs/tsconfig-react": "^4.0.7",
69
+ "@xyo-network/react-aggregate-price-plugin": "^3.0.4",
70
+ "@xyo-network/react-crypto-market-uniswap-plugin": "^3.0.4",
36
71
  "react-router-dom": "^6.26.1",
72
+ "storybook": "^8.2.9",
37
73
  "typescript": "^5.5.4"
38
74
  },
39
75
  "peerDependencies": {
40
76
  "@emotion/react": "^11",
41
77
  "@emotion/styled": "^11"
42
78
  },
43
- "description": "Common React library for all XYO projects that use React",
44
- "docs": "dist/docs.json",
45
- "exports": {
46
- ".": {
47
- "import": {
48
- "types": "./dist/browser/index.d.ts",
49
- "default": "./dist/browser/index.mjs"
50
- },
51
- "types": "./dist/browser/index.d.ts",
52
- "default": "./dist/browser/index.mjs"
53
- },
54
- "./package.json": "./package.json"
55
- },
56
- "module": "dist/browser/index.mjs",
57
- "homepage": "https://xyo.network",
58
- "keywords": [
59
- "xyo",
60
- "utility",
61
- "typescript",
62
- "react"
63
- ],
64
- "license": "LGPL-3.0-only",
65
79
  "publishConfig": {
66
80
  "access": "public"
67
81
  },
68
- "repository": {
69
- "type": "git",
70
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
71
- },
72
- "scripts": {
73
- "lint-pkg": "npmPkgJsonLint .",
74
- "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\""
75
- },
76
- "sideEffects": false,
77
- "types": "dist/browser/index.d.ts",
78
- "version": "3.0.2",
79
- "type": "module"
82
+ "docs": "dist/docs.json"
80
83
  }