@xyo-network/react-embed 2.27.28 → 2.27.31

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 (141) hide show
  1. package/dist/cjs/components/XyoEmbedPlugin.d.ts +1 -1
  2. package/dist/cjs/components/XyoEmbedPlugin.d.ts.map +1 -1
  3. package/dist/cjs/components/XyoEmbedPlugin.js +2 -2
  4. package/dist/cjs/components/XyoEmbedPlugin.js.map +1 -1
  5. package/dist/cjs/components/XyoEmbedPluginProps.d.ts +9 -0
  6. package/dist/cjs/components/XyoEmbedPluginProps.d.ts.map +1 -1
  7. package/dist/cjs/components/embed-card/EmbedCardHeader.d.ts +4 -0
  8. package/dist/cjs/components/embed-card/EmbedCardHeader.d.ts.map +1 -0
  9. package/dist/cjs/components/embed-card/EmbedCardHeader.js +19 -0
  10. package/dist/cjs/components/embed-card/EmbedCardHeader.js.map +1 -0
  11. package/dist/cjs/components/embed-card/EmbedPluginContainer.d.ts +1 -4
  12. package/dist/cjs/components/embed-card/EmbedPluginContainer.d.ts.map +1 -1
  13. package/dist/cjs/components/embed-card/EmbedPluginContainer.js +8 -9
  14. package/dist/cjs/components/embed-card/EmbedPluginContainer.js.map +1 -1
  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/menu/JsonMenuItem.js +1 -1
  19. package/dist/cjs/components/embed-card/menu/JsonMenuItem.js.map +1 -1
  20. package/dist/cjs/contexts/ResolvePayloadContext/Context.d.ts +4 -0
  21. package/dist/cjs/contexts/ResolvePayloadContext/Context.d.ts.map +1 -0
  22. package/dist/cjs/contexts/ResolvePayloadContext/Context.js +6 -0
  23. package/dist/cjs/contexts/ResolvePayloadContext/Context.js.map +1 -0
  24. package/dist/cjs/contexts/ResolvePayloadContext/Provider.d.ts +7 -0
  25. package/dist/cjs/contexts/ResolvePayloadContext/Provider.d.ts.map +1 -0
  26. package/dist/cjs/contexts/ResolvePayloadContext/Provider.js +56 -0
  27. package/dist/cjs/contexts/ResolvePayloadContext/Provider.js.map +1 -0
  28. package/dist/cjs/contexts/ResolvePayloadContext/State.d.ts +15 -0
  29. package/dist/cjs/contexts/ResolvePayloadContext/State.d.ts.map +1 -0
  30. package/dist/cjs/contexts/ResolvePayloadContext/State.js +3 -0
  31. package/dist/cjs/contexts/ResolvePayloadContext/State.js.map +1 -0
  32. package/dist/cjs/contexts/ResolvePayloadContext/index.d.ts +4 -0
  33. package/dist/cjs/contexts/ResolvePayloadContext/index.d.ts.map +1 -0
  34. package/dist/cjs/contexts/ResolvePayloadContext/index.js +7 -0
  35. package/dist/cjs/contexts/ResolvePayloadContext/index.js.map +1 -0
  36. package/dist/cjs/contexts/ResolvePayloadContext/use.d.ts +2 -0
  37. package/dist/cjs/contexts/ResolvePayloadContext/use.d.ts.map +1 -0
  38. package/dist/cjs/contexts/ResolvePayloadContext/use.js +8 -0
  39. package/dist/cjs/contexts/ResolvePayloadContext/use.js.map +1 -0
  40. package/dist/cjs/contexts/ValidatePayloadContext/Provider.js +2 -2
  41. package/dist/cjs/contexts/ValidatePayloadContext/Provider.js.map +1 -1
  42. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.d.ts +6 -7
  43. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.d.ts.map +1 -1
  44. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.js +11 -37
  45. package/dist/cjs/contexts/XyoEmbedPluginContext/Provider.js.map +1 -1
  46. package/dist/cjs/contexts/XyoEmbedPluginContext/State.d.ts +24 -7
  47. package/dist/cjs/contexts/XyoEmbedPluginContext/State.d.ts.map +1 -1
  48. package/dist/cjs/contexts/index.d.ts +1 -0
  49. package/dist/cjs/contexts/index.d.ts.map +1 -1
  50. package/dist/cjs/contexts/index.js +1 -0
  51. package/dist/cjs/contexts/index.js.map +1 -1
  52. package/dist/cjs/types/XyoEmbedPluginProps.d.ts +10 -0
  53. package/dist/cjs/types/XyoEmbedPluginProps.d.ts.map +1 -0
  54. package/dist/cjs/types/XyoEmbedPluginProps.js +3 -0
  55. package/dist/cjs/types/XyoEmbedPluginProps.js.map +1 -0
  56. package/dist/cjs/types/index.d.ts +2 -0
  57. package/dist/cjs/types/index.d.ts.map +1 -0
  58. package/dist/cjs/types/index.js +5 -0
  59. package/dist/cjs/types/index.js.map +1 -0
  60. package/dist/docs.json +2 -2
  61. package/dist/esm/components/XyoEmbedPlugin.d.ts +1 -1
  62. package/dist/esm/components/XyoEmbedPlugin.d.ts.map +1 -1
  63. package/dist/esm/components/XyoEmbedPlugin.js +3 -3
  64. package/dist/esm/components/XyoEmbedPlugin.js.map +1 -1
  65. package/dist/esm/components/XyoEmbedPluginProps.d.ts +9 -0
  66. package/dist/esm/components/XyoEmbedPluginProps.d.ts.map +1 -1
  67. package/dist/esm/components/embed-card/EmbedCardHeader.d.ts +4 -0
  68. package/dist/esm/components/embed-card/EmbedCardHeader.d.ts.map +1 -0
  69. package/dist/esm/components/embed-card/EmbedCardHeader.js +13 -0
  70. package/dist/esm/components/embed-card/EmbedCardHeader.js.map +1 -0
  71. package/dist/esm/components/embed-card/EmbedPluginContainer.d.ts +1 -4
  72. package/dist/esm/components/embed-card/EmbedPluginContainer.d.ts.map +1 -1
  73. package/dist/esm/components/embed-card/EmbedPluginContainer.js +10 -9
  74. package/dist/esm/components/embed-card/EmbedPluginContainer.js.map +1 -1
  75. package/dist/esm/components/embed-card/ValidatePlugins.d.ts.map +1 -1
  76. package/dist/esm/components/embed-card/ValidatePlugins.js +3 -2
  77. package/dist/esm/components/embed-card/ValidatePlugins.js.map +1 -1
  78. package/dist/esm/components/embed-card/menu/JsonMenuItem.js +2 -2
  79. package/dist/esm/components/embed-card/menu/JsonMenuItem.js.map +1 -1
  80. package/dist/esm/contexts/ResolvePayloadContext/Context.d.ts +4 -0
  81. package/dist/esm/contexts/ResolvePayloadContext/Context.d.ts.map +1 -0
  82. package/dist/esm/contexts/ResolvePayloadContext/Context.js +3 -0
  83. package/dist/esm/contexts/ResolvePayloadContext/Context.js.map +1 -0
  84. package/dist/esm/contexts/ResolvePayloadContext/Provider.d.ts +7 -0
  85. package/dist/esm/contexts/ResolvePayloadContext/Provider.d.ts.map +1 -0
  86. package/dist/esm/contexts/ResolvePayloadContext/Provider.js +50 -0
  87. package/dist/esm/contexts/ResolvePayloadContext/Provider.js.map +1 -0
  88. package/dist/esm/contexts/ResolvePayloadContext/State.d.ts +15 -0
  89. package/dist/esm/contexts/ResolvePayloadContext/State.d.ts.map +1 -0
  90. package/dist/esm/contexts/ResolvePayloadContext/State.js +2 -0
  91. package/dist/esm/contexts/ResolvePayloadContext/State.js.map +1 -0
  92. package/dist/esm/contexts/ResolvePayloadContext/index.d.ts +4 -0
  93. package/dist/esm/contexts/ResolvePayloadContext/index.d.ts.map +1 -0
  94. package/dist/esm/contexts/ResolvePayloadContext/index.js +4 -0
  95. package/dist/esm/contexts/ResolvePayloadContext/index.js.map +1 -0
  96. package/dist/esm/contexts/ResolvePayloadContext/use.d.ts +2 -0
  97. package/dist/esm/contexts/ResolvePayloadContext/use.d.ts.map +1 -0
  98. package/dist/esm/contexts/ResolvePayloadContext/use.js +4 -0
  99. package/dist/esm/contexts/ResolvePayloadContext/use.js.map +1 -0
  100. package/dist/esm/contexts/ValidatePayloadContext/Provider.js +2 -2
  101. package/dist/esm/contexts/ValidatePayloadContext/Provider.js.map +1 -1
  102. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.d.ts +6 -7
  103. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.d.ts.map +1 -1
  104. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.js +11 -35
  105. package/dist/esm/contexts/XyoEmbedPluginContext/Provider.js.map +1 -1
  106. package/dist/esm/contexts/XyoEmbedPluginContext/State.d.ts +24 -7
  107. package/dist/esm/contexts/XyoEmbedPluginContext/State.d.ts.map +1 -1
  108. package/dist/esm/contexts/index.d.ts +1 -0
  109. package/dist/esm/contexts/index.d.ts.map +1 -1
  110. package/dist/esm/contexts/index.js +1 -0
  111. package/dist/esm/contexts/index.js.map +1 -1
  112. package/dist/esm/types/XyoEmbedPluginProps.d.ts +10 -0
  113. package/dist/esm/types/XyoEmbedPluginProps.d.ts.map +1 -0
  114. package/dist/esm/types/XyoEmbedPluginProps.js +2 -0
  115. package/dist/esm/types/XyoEmbedPluginProps.js.map +1 -0
  116. package/dist/esm/types/index.d.ts +2 -0
  117. package/dist/esm/types/index.d.ts.map +1 -0
  118. package/dist/esm/types/index.js +2 -0
  119. package/dist/esm/types/index.js.map +1 -0
  120. package/package.json +9 -9
  121. package/src/components/XyoEmbedPlugin.stories.tsx +31 -5
  122. package/src/components/XyoEmbedPlugin.tsx +24 -14
  123. package/src/components/embed-card/EmbedCardHeader.tsx +45 -0
  124. package/src/components/embed-card/EmbedPluginContainer.tsx +12 -37
  125. package/src/components/embed-card/ValidatePlugins.tsx +3 -2
  126. package/src/components/embed-card/menu/JsonMenuItem.tsx +2 -2
  127. package/src/components/payload.stories.ts +21 -0
  128. package/src/contexts/ResolvePayloadContext/Context.ts +5 -0
  129. package/src/contexts/ResolvePayloadContext/Provider.tsx +71 -0
  130. package/src/contexts/ResolvePayloadContext/State.ts +15 -0
  131. package/src/contexts/ResolvePayloadContext/index.ts +3 -0
  132. package/src/contexts/ResolvePayloadContext/use.tsx +5 -0
  133. package/src/contexts/ValidatePayloadContext/Provider.stories.tsx +19 -7
  134. package/src/contexts/ValidatePayloadContext/Provider.tsx +2 -2
  135. package/src/contexts/XyoEmbedPluginContext/Provider.tsx +19 -53
  136. package/src/contexts/XyoEmbedPluginContext/State.ts +27 -7
  137. package/src/contexts/index.ts +1 -0
  138. package/src/types/XyoEmbedPluginProps.ts +11 -0
  139. package/src/types/index.ts +1 -0
  140. package/src/components/RenderComponent.tsx +0 -13
  141. package/src/components/XyoEmbedPluginProps.ts +0 -10
@@ -1,74 +1,40 @@
1
- import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'
2
- import { useAsyncEffect, WithChildren } from '@xylabs/react-shared'
3
- import { delay } from '@xylabs/sdk-js'
4
- import { XyoApiError } from '@xyo-network/api'
5
- import { Huri, XyoPayload } from '@xyo-network/payload'
6
- import { XyoApiErrorRender } from '@xyo-network/react-auth-service'
1
+ import { WithChildren } from '@xylabs/react-shared'
2
+ import { XyoPayload } from '@xyo-network/payload'
7
3
  import { XyoPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
8
- import { ResultLoader } from '@xyo-network/react-webapp'
9
4
  import { useState } from 'react'
10
5
 
11
6
  import { XyoEmbedPluginContext } from './Context'
7
+ import { XyoEmbedPluginBase } from './State'
12
8
 
13
- export interface XyoEmbedPluginProviderProps extends FlexBoxProps {
14
- plugins?: XyoPayloadRenderPlugin[]
15
- huri?: string
16
- refreshTitle?: string
17
- timestampLabel?: string
9
+ export interface XyoEmbedPluginProviderProps extends XyoEmbedPluginBase {
10
+ /** string for huri to resolve and payload for bypassing huri resolution */
11
+ huriPayload?: string | XyoPayload
18
12
  }
19
13
 
14
+ /** Expose passed embed plugin props and payload via context */
20
15
  export const XyoEmbedPluginProvider: React.FC<WithChildren<XyoEmbedPluginProviderProps>> = ({
21
16
  children,
22
17
  refreshTitle,
23
18
  timestampLabel,
24
- huri,
19
+ hideElementsConfig,
25
20
  plugins,
26
- ...props
21
+ embedPluginConfig,
27
22
  }) => {
28
- const [payload, setPayload] = useState<XyoPayload>()
29
- const [notFound, setNotFound] = useState<boolean>()
30
- const [huriApiError, setHuriApiError] = useState<XyoApiError>()
31
23
  const [activePlugin, setActivePlugin] = useState<XyoPayloadRenderPlugin | undefined>(plugins ? plugins[0] : undefined)
32
- const [refreshPayload, setRefreshPayload] = useState(0)
33
-
34
- useAsyncEffect(
35
- // eslint-disable-next-line react-hooks/exhaustive-deps
36
- async (mounted) => {
37
- if (huri && !refreshPayload) {
38
- try {
39
- const huriInstance = new Huri(huri)
40
- const result = await huriInstance.fetch()
41
- // ensure the busy state can stay for a moment to avoid flashing too quickly
42
- await delay(500)
43
-
44
- if (mounted()) {
45
- setNotFound(result === null)
46
- setPayload(result)
47
- setRefreshPayload(1)
48
- }
49
- } catch (e) {
50
- setHuriApiError(e as XyoApiError)
51
- }
52
- }
53
- },
54
- [huri, payload, refreshPayload],
55
- )
56
-
57
- const refreshHuri = () => {
58
- setRefreshPayload(0)
59
- }
60
24
 
61
25
  return (
62
26
  <XyoEmbedPluginContext.Provider
63
- value={{ activePlugin, huri, payload, provided: true, refreshHuri, refreshTitle, setActivePlugin, timestampLabel }}
27
+ value={{
28
+ activePlugin,
29
+ embedPluginConfig,
30
+ hideElementsConfig,
31
+ provided: true,
32
+ refreshTitle,
33
+ setActivePlugin,
34
+ timestampLabel,
35
+ }}
64
36
  >
65
- <ResultLoader searchResult={payload} notFound={!!notFound} apiError={huriApiError}>
66
- <XyoApiErrorRender apiError={huriApiError}>
67
- <FlexCol busy={Boolean(!refreshPayload && payload)} {...props}>
68
- {children}
69
- </FlexCol>
70
- </XyoApiErrorRender>
71
- </ResultLoader>
37
+ {children}
72
38
  </XyoEmbedPluginContext.Provider>
73
39
  )
74
40
  }
@@ -1,15 +1,35 @@
1
- import { XyoPayload } from '@xyo-network/payload'
2
1
  import { XyoPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
3
- import { ContextExState } from '@xyo-network/react-shared'
2
+ import { ContextExState, ListMode } from '@xyo-network/react-shared'
4
3
  import { Dispatch, SetStateAction } from 'react'
5
4
 
6
- export interface XyoEmbedPluginState extends ContextExState {
7
- activePlugin?: XyoPayloadRenderPlugin
8
- setActivePlugin?: Dispatch<SetStateAction<XyoPayloadRenderPlugin | undefined>>
9
- payload?: XyoPayload
5
+ export interface EmbedPluginVisibilityConfig {
6
+ hideAvatar?: boolean
7
+ hideTitle?: boolean
8
+ hideRefreshButton?: boolean
9
+ hideTimestamp?: boolean
10
+ hideCardActions?: boolean
11
+ hideCardHeader?: boolean
12
+ }
13
+
14
+ /**
15
+ * Extend for custom plugin configuration
16
+ */
17
+ export interface XyoPluginConfig {
18
+ listMode?: ListMode
19
+ }
20
+
21
+ export interface XyoEmbedPluginBase {
10
22
  plugins?: XyoPayloadRenderPlugin[]
11
- refreshHuri?: () => void
23
+ /** XyoEmbedPlugin component configuration */
24
+ embedPluginConfig?: XyoPluginConfig
25
+ /** @deprecated use huriPayload */
12
26
  huri?: string
13
27
  refreshTitle?: string
14
28
  timestampLabel?: string
29
+ hideElementsConfig?: EmbedPluginVisibilityConfig
30
+ }
31
+
32
+ export interface XyoEmbedPluginState extends XyoEmbedPluginBase, ContextExState {
33
+ activePlugin?: XyoPayloadRenderPlugin
34
+ setActivePlugin?: Dispatch<SetStateAction<XyoPayloadRenderPlugin | undefined>>
15
35
  }
@@ -1,2 +1,3 @@
1
+ export * from './ResolvePayloadContext'
1
2
  export * from './ValidatePayloadContext'
2
3
  export * from './XyoEmbedPluginContext'
@@ -0,0 +1,11 @@
1
+ import { CardProps } from '@mui/material'
2
+ import { XyoPayload } from '@xyo-network/payload'
3
+
4
+ import { EmbedPluginVisibilityConfig, XyoEmbedPluginBase } from '../contexts'
5
+
6
+ export interface XyoEmbedPluginProps extends XyoEmbedPluginBase, CardProps {
7
+ /** string for huri to resolve and payload for bypassing huri resolution */
8
+ huriPayload?: string | XyoPayload
9
+ validateSchema?: boolean
10
+ hideElementsConfig?: EmbedPluginVisibilityConfig
11
+ }
@@ -0,0 +1 @@
1
+ export * from './XyoEmbedPluginProps'
@@ -1,13 +0,0 @@
1
- import { XyoPayload } from '@xyo-network/payload'
2
- import { XyoPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
3
- import { useListMode } from '@xyo-network/react-shared'
4
-
5
- interface RenderComponentProps {
6
- ActivePlugin?: XyoPayloadRenderPlugin
7
- payload?: XyoPayload
8
- }
9
-
10
- export const RenderComponent: React.FC<RenderComponentProps> = ({ ActivePlugin, payload }) => {
11
- const { listMode } = useListMode()
12
- return <>{ActivePlugin ? <ActivePlugin.components.box.details payload={payload} listMode={listMode} /> : null}</>
13
- }
@@ -1,10 +0,0 @@
1
- import { CardProps } from '@mui/material'
2
- import { XyoPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
3
-
4
- export interface XyoEmbedPluginProps extends CardProps {
5
- plugins?: XyoPayloadRenderPlugin[]
6
- huri?: string
7
- refreshTitle?: string
8
- timestampLabel?: string
9
- validateSchema?: boolean
10
- }