@sitecore-content-sdk/react 1.3.0-canary.9 → 1.3.0

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 (234) hide show
  1. package/LICENSE.txt +202 -202
  2. package/README.md +11 -11
  3. package/dist/cjs/components/ClientEditingChromesUpdate.js +53 -52
  4. package/dist/cjs/components/Date.js +49 -45
  5. package/dist/cjs/components/DefaultEmptyFieldEditingComponents.js +32 -22
  6. package/dist/cjs/components/{DesignLibrary.js → DesignLibrary/DesignLibrary.js} +161 -202
  7. package/dist/cjs/components/DesignLibrary/DesignLibraryApp.js +31 -0
  8. package/dist/cjs/components/DesignLibrary/DesignLibraryClientEvents.js +123 -0
  9. package/dist/cjs/components/DesignLibrary/DesignLibraryErrorBoundary.js +65 -0
  10. package/dist/cjs/components/DesignLibrary/DesignLibraryServer.js +193 -0
  11. package/dist/cjs/components/DesignLibrary/index.js +7 -0
  12. package/dist/cjs/components/DesignLibrary/models.js +2 -0
  13. package/dist/cjs/components/EditingScripts.js +44 -43
  14. package/dist/cjs/components/ErrorBoundary.js +101 -92
  15. package/dist/cjs/components/FEaaS/BYOCServerWrapper.js +25 -28
  16. package/dist/cjs/components/FEaaS/BYOCWrapper.js +133 -122
  17. package/dist/cjs/components/FEaaS/FEaaSSeverWrapper.js +26 -34
  18. package/dist/cjs/components/FEaaS/FEaaSWrapper.js +84 -78
  19. package/dist/cjs/components/FEaaS/feaas-utils.js +130 -144
  20. package/dist/cjs/components/FEaaS/index.js +21 -21
  21. package/dist/cjs/components/FEaaS/models.js +7 -7
  22. package/dist/cjs/components/FieldMetadata.js +29 -29
  23. package/dist/cjs/components/File.js +43 -38
  24. package/dist/cjs/components/Form.js +100 -92
  25. package/dist/cjs/components/HiddenRendering.js +23 -23
  26. package/dist/cjs/components/Image.js +71 -66
  27. package/dist/cjs/components/Link.js +91 -86
  28. package/dist/cjs/components/MissingComponent.js +28 -28
  29. package/dist/cjs/components/Placeholder/AppPlaceholder.js +79 -76
  30. package/dist/cjs/components/Placeholder/ClientComponentWrapper.js +21 -21
  31. package/dist/cjs/components/Placeholder/Placeholder.js +144 -110
  32. package/dist/cjs/components/Placeholder/PlaceholderMetadata.js +68 -63
  33. package/dist/cjs/components/Placeholder/index.js +25 -25
  34. package/dist/cjs/components/Placeholder/models.js +18 -18
  35. package/dist/cjs/components/Placeholder/placeholder-utils.js +226 -226
  36. package/dist/cjs/components/RichText.js +75 -70
  37. package/dist/cjs/components/SitecoreProvider.js +62 -52
  38. package/dist/cjs/components/Text.js +69 -65
  39. package/dist/cjs/components/sharedTypes/components.js +7 -7
  40. package/dist/cjs/components/sharedTypes/index.js +18 -18
  41. package/dist/cjs/components/sharedTypes/props.js +2 -2
  42. package/dist/cjs/enhancers/withAppPlaceholder.js +21 -21
  43. package/dist/cjs/enhancers/withComponentMap.js +24 -24
  44. package/dist/cjs/enhancers/withDatasourceCheck.js +31 -30
  45. package/dist/cjs/enhancers/withEditorChromes.js +29 -24
  46. package/dist/cjs/enhancers/withEmptyFieldEditingComponent.js +71 -70
  47. package/dist/cjs/enhancers/withFieldMetadata.js +68 -67
  48. package/dist/cjs/enhancers/withLoadImportMap.js +53 -0
  49. package/dist/cjs/enhancers/withPlaceholder.js +64 -65
  50. package/dist/cjs/enhancers/withSitecore.js +47 -45
  51. package/dist/cjs/index.js +86 -85
  52. package/dist/cjs/rsc-utils/no-rsc.js +5 -5
  53. package/dist/cjs/rsc-utils/rsc.js +5 -5
  54. package/dist/cjs/search/index.js +7 -0
  55. package/dist/cjs/search/useInfiniteSearch.js +136 -0
  56. package/dist/cjs/search/useSearch.js +107 -0
  57. package/dist/cjs/search/utils.js +35 -0
  58. package/dist/cjs/server-actions/update-server-component-action.js +18 -0
  59. package/dist/cjs/utils.js +38 -38
  60. package/dist/esm/components/ClientEditingChromesUpdate.js +16 -15
  61. package/dist/esm/components/Date.js +43 -39
  62. package/dist/esm/components/DefaultEmptyFieldEditingComponents.js +24 -14
  63. package/dist/esm/components/{DesignLibrary.js → DesignLibrary/DesignLibrary.js} +124 -164
  64. package/dist/esm/components/DesignLibrary/DesignLibraryApp.js +24 -0
  65. package/dist/esm/components/DesignLibrary/DesignLibraryClientEvents.js +84 -0
  66. package/dist/esm/components/DesignLibrary/DesignLibraryErrorBoundary.js +28 -0
  67. package/dist/esm/components/DesignLibrary/DesignLibraryServer.js +150 -0
  68. package/dist/esm/components/DesignLibrary/index.js +2 -0
  69. package/dist/esm/components/DesignLibrary/models.js +1 -0
  70. package/dist/esm/components/EditingScripts.js +37 -36
  71. package/dist/esm/components/ErrorBoundary.js +64 -57
  72. package/dist/esm/components/FEaaS/BYOCServerWrapper.js +18 -21
  73. package/dist/esm/components/FEaaS/BYOCWrapper.js +91 -81
  74. package/dist/esm/components/FEaaS/FEaaSSeverWrapper.js +19 -27
  75. package/dist/esm/components/FEaaS/FEaaSWrapper.js +43 -37
  76. package/dist/esm/components/FEaaS/feaas-utils.js +91 -105
  77. package/dist/esm/components/FEaaS/index.js +6 -6
  78. package/dist/esm/components/FEaaS/models.js +4 -4
  79. package/dist/esm/components/FieldMetadata.js +22 -22
  80. package/dist/esm/components/File.js +36 -31
  81. package/dist/esm/components/Form.js +62 -54
  82. package/dist/esm/components/HiddenRendering.js +16 -16
  83. package/dist/esm/components/Image.js +65 -60
  84. package/dist/esm/components/Link.js +55 -50
  85. package/dist/esm/components/MissingComponent.js +21 -21
  86. package/dist/esm/components/Placeholder/AppPlaceholder.js +72 -69
  87. package/dist/esm/components/Placeholder/ClientComponentWrapper.js +14 -14
  88. package/dist/esm/components/Placeholder/Placeholder.js +104 -103
  89. package/dist/esm/components/Placeholder/PlaceholderMetadata.js +61 -56
  90. package/dist/esm/components/Placeholder/index.js +4 -4
  91. package/dist/esm/components/Placeholder/models.js +15 -15
  92. package/dist/esm/components/Placeholder/placeholder-utils.js +214 -214
  93. package/dist/esm/components/RichText.js +39 -34
  94. package/dist/esm/components/SitecoreProvider.js +55 -45
  95. package/dist/esm/components/Text.js +63 -59
  96. package/dist/esm/components/sharedTypes/components.js +4 -4
  97. package/dist/esm/components/sharedTypes/index.js +2 -2
  98. package/dist/esm/components/sharedTypes/props.js +1 -1
  99. package/dist/esm/enhancers/withAppPlaceholder.js +14 -14
  100. package/dist/esm/enhancers/withComponentMap.js +18 -18
  101. package/dist/esm/enhancers/withDatasourceCheck.js +23 -22
  102. package/dist/esm/enhancers/withEditorChromes.js +22 -17
  103. package/dist/esm/enhancers/withEmptyFieldEditingComponent.js +35 -34
  104. package/dist/esm/enhancers/withFieldMetadata.js +32 -31
  105. package/dist/esm/enhancers/withLoadImportMap.js +17 -0
  106. package/dist/esm/enhancers/withPlaceholder.js +58 -59
  107. package/dist/esm/enhancers/withSitecore.js +40 -38
  108. package/dist/esm/index.js +29 -29
  109. package/dist/esm/rsc-utils/no-rsc.js +2 -2
  110. package/dist/esm/rsc-utils/rsc.js +2 -2
  111. package/dist/esm/search/index.js +2 -0
  112. package/dist/esm/search/useInfiniteSearch.js +132 -0
  113. package/dist/esm/search/useSearch.js +103 -0
  114. package/dist/esm/search/utils.js +30 -0
  115. package/dist/esm/server-actions/update-server-component-action.js +15 -0
  116. package/dist/esm/utils.js +33 -33
  117. package/global.d.ts +17 -0
  118. package/package.json +113 -97
  119. package/search.d.ts +1 -0
  120. package/types/components/ClientEditingChromesUpdate.d.ts +8 -6
  121. package/types/components/ClientEditingChromesUpdate.d.ts.map +1 -0
  122. package/types/components/Date.d.ts +25 -16
  123. package/types/components/Date.d.ts.map +1 -0
  124. package/types/components/DefaultEmptyFieldEditingComponents.d.ts +20 -9
  125. package/types/components/DefaultEmptyFieldEditingComponents.d.ts.map +1 -0
  126. package/types/components/DesignLibrary/DesignLibrary.d.ts +20 -0
  127. package/types/components/DesignLibrary/DesignLibrary.d.ts.map +1 -0
  128. package/types/components/DesignLibrary/DesignLibraryApp.d.ts +14 -0
  129. package/types/components/DesignLibrary/DesignLibraryApp.d.ts.map +1 -0
  130. package/types/components/DesignLibrary/DesignLibraryClientEvents.d.ts +21 -0
  131. package/types/components/DesignLibrary/DesignLibraryClientEvents.d.ts.map +1 -0
  132. package/types/components/DesignLibrary/DesignLibraryErrorBoundary.d.ts +19 -0
  133. package/types/components/DesignLibrary/DesignLibraryErrorBoundary.d.ts.map +1 -0
  134. package/types/components/DesignLibrary/DesignLibraryServer.d.ts +38 -0
  135. package/types/components/DesignLibrary/DesignLibraryServer.d.ts.map +1 -0
  136. package/types/components/DesignLibrary/index.d.ts +3 -0
  137. package/types/components/DesignLibrary/index.d.ts.map +1 -0
  138. package/types/components/DesignLibrary/models.d.ts +67 -0
  139. package/types/components/DesignLibrary/models.d.ts.map +1 -0
  140. package/types/components/EditingScripts.d.ts +9 -7
  141. package/types/components/EditingScripts.d.ts.map +1 -0
  142. package/types/components/ErrorBoundary.d.ts +29 -17
  143. package/types/components/ErrorBoundary.d.ts.map +1 -0
  144. package/types/components/FEaaS/BYOCServerWrapper.d.ts +10 -3
  145. package/types/components/FEaaS/BYOCServerWrapper.d.ts.map +1 -0
  146. package/types/components/FEaaS/BYOCWrapper.d.ts +29 -25
  147. package/types/components/FEaaS/BYOCWrapper.d.ts.map +1 -0
  148. package/types/components/FEaaS/FEaaSSeverWrapper.d.ts +10 -8
  149. package/types/components/FEaaS/FEaaSSeverWrapper.d.ts.map +1 -0
  150. package/types/components/FEaaS/FEaaSWrapper.d.ts +14 -7
  151. package/types/components/FEaaS/FEaaSWrapper.d.ts.map +1 -0
  152. package/types/components/FEaaS/feaas-utils.d.ts +24 -21
  153. package/types/components/FEaaS/feaas-utils.d.ts.map +1 -0
  154. package/types/components/FEaaS/index.d.ts +7 -6
  155. package/types/components/FEaaS/index.d.ts.map +1 -0
  156. package/types/components/FEaaS/models.d.ts +136 -125
  157. package/types/components/FEaaS/models.d.ts.map +1 -0
  158. package/types/components/FieldMetadata.d.ts +18 -17
  159. package/types/components/FieldMetadata.d.ts.map +1 -0
  160. package/types/components/File.d.ts +28 -18
  161. package/types/components/File.d.ts.map +1 -0
  162. package/types/components/Form.d.ts +35 -29
  163. package/types/components/Form.d.ts.map +1 -0
  164. package/types/components/HiddenRendering.d.ts +3 -2
  165. package/types/components/HiddenRendering.d.ts.map +1 -0
  166. package/types/components/Image.d.ts +70 -48
  167. package/types/components/Image.d.ts.map +1 -0
  168. package/types/components/Link.d.ts +45 -27
  169. package/types/components/Link.d.ts.map +1 -0
  170. package/types/components/MissingComponent.d.ts +9 -8
  171. package/types/components/MissingComponent.d.ts.map +1 -0
  172. package/types/components/Placeholder/AppPlaceholder.d.ts +12 -10
  173. package/types/components/Placeholder/AppPlaceholder.d.ts.map +1 -0
  174. package/types/components/Placeholder/ClientComponentWrapper.d.ts +10 -9
  175. package/types/components/Placeholder/ClientComponentWrapper.d.ts.map +1 -0
  176. package/types/components/Placeholder/Placeholder.d.ts +33 -28
  177. package/types/components/Placeholder/Placeholder.d.ts.map +1 -0
  178. package/types/components/Placeholder/PlaceholderMetadata.d.ts +35 -28
  179. package/types/components/Placeholder/PlaceholderMetadata.d.ts.map +1 -0
  180. package/types/components/Placeholder/index.d.ts +6 -5
  181. package/types/components/Placeholder/index.d.ts.map +1 -0
  182. package/types/components/Placeholder/models.d.ts +149 -140
  183. package/types/components/Placeholder/models.d.ts.map +1 -0
  184. package/types/components/Placeholder/placeholder-utils.d.ts +52 -53
  185. package/types/components/Placeholder/placeholder-utils.d.ts.map +1 -0
  186. package/types/components/RichText.d.ts +31 -17
  187. package/types/components/RichText.d.ts.map +1 -0
  188. package/types/components/SitecoreProvider.d.ts +68 -48
  189. package/types/components/SitecoreProvider.d.ts.map +1 -0
  190. package/types/components/Text.d.ts +29 -20
  191. package/types/components/Text.d.ts.map +1 -0
  192. package/types/components/sharedTypes/components.d.ts +50 -38
  193. package/types/components/sharedTypes/components.d.ts.map +1 -0
  194. package/types/components/sharedTypes/index.d.ts +3 -2
  195. package/types/components/sharedTypes/index.d.ts.map +1 -0
  196. package/types/components/sharedTypes/props.d.ts +15 -14
  197. package/types/components/sharedTypes/props.d.ts.map +1 -0
  198. package/types/enhancers/withAppPlaceholder.d.ts +16 -15
  199. package/types/enhancers/withAppPlaceholder.d.ts.map +1 -0
  200. package/types/enhancers/withComponentMap.d.ts +13 -12
  201. package/types/enhancers/withComponentMap.d.ts.map +1 -0
  202. package/types/enhancers/withDatasourceCheck.d.ts +23 -21
  203. package/types/enhancers/withDatasourceCheck.d.ts.map +1 -0
  204. package/types/enhancers/withEditorChromes.d.ts +8 -2
  205. package/types/enhancers/withEditorChromes.d.ts.map +1 -0
  206. package/types/enhancers/withEmptyFieldEditingComponent.d.ts +29 -27
  207. package/types/enhancers/withEmptyFieldEditingComponent.d.ts.map +1 -0
  208. package/types/enhancers/withFieldMetadata.d.ts +18 -16
  209. package/types/enhancers/withFieldMetadata.d.ts.map +1 -0
  210. package/types/enhancers/withLoadImportMap.d.ts +22 -0
  211. package/types/enhancers/withLoadImportMap.d.ts.map +1 -0
  212. package/types/enhancers/withPlaceholder.d.ts +37 -35
  213. package/types/enhancers/withPlaceholder.d.ts.map +1 -0
  214. package/types/enhancers/withSitecore.d.ts +63 -48
  215. package/types/enhancers/withSitecore.d.ts.map +1 -0
  216. package/types/index.d.ts +31 -30
  217. package/types/index.d.ts.map +1 -0
  218. package/types/rsc-utils/no-rsc.d.ts +2 -1
  219. package/types/rsc-utils/no-rsc.d.ts.map +1 -0
  220. package/types/rsc-utils/rsc.d.ts +2 -1
  221. package/types/rsc-utils/rsc.d.ts.map +1 -0
  222. package/types/search/index.d.ts +4 -0
  223. package/types/search/index.d.ts.map +1 -0
  224. package/types/search/useInfiniteSearch.d.ts +116 -0
  225. package/types/search/useInfiniteSearch.d.ts.map +1 -0
  226. package/types/search/useSearch.d.ts +107 -0
  227. package/types/search/useSearch.d.ts.map +1 -0
  228. package/types/search/utils.d.ts +19 -0
  229. package/types/search/utils.d.ts.map +1 -0
  230. package/types/server-actions/update-server-component-action.d.ts +25 -0
  231. package/types/server-actions/update-server-component-action.d.ts.map +1 -0
  232. package/types/utils.d.ts +18 -17
  233. package/types/utils.d.ts.map +1 -0
  234. package/types/components/DesignLibrary.d.ts +0 -26
@@ -1,140 +1,149 @@
1
- import { Page } from '@sitecore-content-sdk/core/client';
2
- import { ComponentRendering, Field, Item, RouteData } from '@sitecore-content-sdk/core/layout';
3
- import { ComponentType } from '@sitecore-content-sdk/core/tools';
4
- import { ComponentMap } from '../sharedTypes';
5
- export type { ComponentType };
6
- type ErrorComponentProps = {
7
- [prop: string]: unknown;
8
- };
9
- /** Provided for the component which represents rendering data */
10
- export type ComponentProps = {
11
- [key: string]: unknown;
12
- rendering: ComponentRendering;
13
- };
14
- export interface AppComponentProps {
15
- fields: {
16
- [name: string]: Field | Item | Item[];
17
- };
18
- params: {
19
- [name: string]: string;
20
- };
21
- rendering: ComponentRendering;
22
- }
23
- export interface BasePlaceholderProps {
24
- /** Name of the placeholder to render. */
25
- name: string;
26
- /** Rendering data to be used when rendering the placeholder. */
27
- rendering: ComponentRendering | RouteData;
28
- /**
29
- * An object of field names/values that are aggregated and propagated through the component tree created by a placeholder.
30
- * Any component or placeholder rendered by a placeholder will have access to this data via `props.fields`.
31
- */
32
- fields?: {
33
- [name: string]: Field | Item | Item[];
34
- };
35
- /**
36
- * An object of rendering parameter names/values that are aggregated and propagated through the component tree created by a placeholder.
37
- * Any component or placeholder rendered by a placeholder will have access to this data via `props.params`.
38
- */
39
- params?: {
40
- [name: string]: string;
41
- };
42
- /**
43
- * A component that is rendered in place of any components that are in this placeholder,
44
- * but do not have a definition in the componentMap (i.e. don't have a React implementation)
45
- */
46
- missingComponentComponent?: React.ComponentClass<unknown> | React.FC<unknown>;
47
- /**
48
- * A component that is rendered in place of any components that are hidden
49
- */
50
- hiddenRenderingComponent?: React.ComponentClass<unknown> | React.FC<unknown>;
51
- /**
52
- * A component that is rendered in place of the placeholder when an error occurs rendering
53
- * the placeholder
54
- */
55
- errorComponent?: React.ComponentClass<ErrorComponentProps> | React.FC<ErrorComponentProps>;
56
- /**
57
- * Page data.
58
- * This data is passed by the SitecoreProvider.
59
- */
60
- page: Page;
61
- /**
62
- * The message that gets displayed while component is loading
63
- */
64
- componentLoadingMessage?: string;
65
- /**
66
- * If true, disables Suspense in ErrorBoundary for the placeholder.
67
- * @default false
68
- */
69
- disableSuspense?: boolean;
70
- /**
71
- * Render props function that is called when the placeholder contains no content components.
72
- */
73
- renderEmpty?: (components: React.ReactNode[]) => React.ReactNode;
74
- /**
75
- * Render props function that is called for each non-system component added to the placeholder.
76
- * Mutually exclusive with `render`.
77
- */
78
- renderEach?: (component: React.ReactNode, index: number) => React.ReactNode;
79
- }
80
- export interface PlaceholderProps extends BasePlaceholderProps {
81
- [key: string]: unknown;
82
- /**
83
- * Component Map will be used to map Sitecore component names to app implementation
84
- * When rendered within a <SitecoreProvider> component, defaults to the context componentMap.
85
- * When rendered as a server placeholder, this prop must be provided. This prop is not used in AppPlaceholder.
86
- */
87
- componentMap?: ComponentMap;
88
- /**
89
- * Modify final props of component (before render) provided by rendering data.
90
- * Can be used in case when you need to insert additional data into the component.
91
- * @param {ComponentProps} componentProps component props to be modified
92
- * @returns {ComponentProps} modified or initial props
93
- */
94
- modifyComponentProps?: (componentProps: ComponentProps) => ComponentProps;
95
- /**
96
- * Render props function that enables control over the rendering of the components in the placeholder.
97
- * Useful for techniques like wrapping each child in a wrapper component.
98
- */
99
- render?: (components: React.ReactNode[], data: ComponentRendering[], props: PlaceholderProps) => React.ReactNode;
100
- }
101
- export interface AppPlaceholderProps extends BasePlaceholderProps {
102
- /**
103
- * Component Map will be used to map Sitecore component names to app implementation
104
- * When rendered within a <SitecoreProvider> component, defaults to the context componentMap.
105
- * When rendered as a server placeholder, this prop must be provided. This prop is not used in AppPlaceholder.
106
- */
107
- componentMap: ComponentMap;
108
- /**
109
- * Modify final props of component (before render) provided by rendering data.
110
- * Can be used in case when you need to insert additional data into the component.
111
- * @param {AppComponentProps} componentProps component props to be modified
112
- * @returns {AppComponentProps} modified or initial props
113
- */
114
- modifyComponentProps?: (componentProps: AppComponentProps) => AppComponentProps;
115
- /**
116
- * Render props function that enables control over the rendering of the components in the placeholder.
117
- * Useful for techniques like wrapping each child in a wrapper component.
118
- */
119
- render?: (components: React.ReactNode[], data: ComponentRendering[], props: AppPlaceholderProps) => React.ReactNode;
120
- }
121
- export type RenderedProps = Omit<PlaceholderProps, 'fields' | 'params'> & {
122
- key: string;
123
- fields: {
124
- [field: string]: unknown;
125
- };
126
- params: {
127
- [param: string]: unknown;
128
- };
129
- rendering: ComponentRendering;
130
- };
131
- export interface ComponentForRendering {
132
- component: React.ComponentType<any>;
133
- isEmpty: boolean;
134
- dynamic?: boolean;
135
- componentType?: ComponentType;
136
- }
137
- /**
138
- * Prop names from placeholder that cannot be serialized and passed from server to client side components
139
- */
140
- export declare const nonSerializedPlaceholderProps: ["renderEmpty", "render", "renderEach", "errorComponent", "componentLoadingMessage", "modifyComponentProps", "componentMap", "page", "missingComponentComponent", "hiddenRenderingComponent"];
1
+ import { Page } from '@sitecore-content-sdk/core/client';
2
+ import { ComponentRendering, Field, Item, RouteData } from '@sitecore-content-sdk/core/layout';
3
+ import { ComponentType } from '@sitecore-content-sdk/core/tools';
4
+ import { ComponentMap } from '../sharedTypes';
5
+ export type { ComponentType };
6
+ type ErrorComponentProps = {
7
+ [prop: string]: unknown;
8
+ };
9
+ /** Provided for the component which represents rendering data */
10
+ export type ComponentProps = {
11
+ [key: string]: unknown;
12
+ rendering: ComponentRendering;
13
+ };
14
+ export interface AppComponentProps {
15
+ fields: {
16
+ [name: string]: Field | Item | Item[];
17
+ };
18
+ params: {
19
+ [name: string]: string;
20
+ };
21
+ rendering: ComponentRendering;
22
+ }
23
+ export interface BasePlaceholderProps {
24
+ /** Name of the placeholder to render. */
25
+ name: string;
26
+ /** Rendering data to be used when rendering the placeholder. */
27
+ rendering: ComponentRendering | RouteData;
28
+ /**
29
+ * An object of field names/values that are aggregated and propagated through the component tree created by a placeholder.
30
+ * Any component or placeholder rendered by a placeholder will have access to this data via `props.fields`.
31
+ */
32
+ fields?: {
33
+ [name: string]: Field | Item | Item[];
34
+ };
35
+ /**
36
+ * An object of rendering parameter names/values that are aggregated and propagated through the component tree created by a placeholder.
37
+ * Any component or placeholder rendered by a placeholder will have access to this data via `props.params`.
38
+ */
39
+ params?: {
40
+ [name: string]: string;
41
+ };
42
+ /**
43
+ * A component that is rendered in place of any components that are in this placeholder,
44
+ * but do not have a definition in the componentMap (i.e. don't have a React implementation)
45
+ */
46
+ missingComponentComponent?: React.ComponentClass<unknown> | React.FC<unknown>;
47
+ /**
48
+ * A component that is rendered in place of any components that are hidden
49
+ */
50
+ hiddenRenderingComponent?: React.ComponentClass<unknown> | React.FC<unknown>;
51
+ /**
52
+ * A component that is rendered in place of the placeholder when an error occurs rendering
53
+ * the placeholder
54
+ */
55
+ errorComponent?: React.ComponentClass<ErrorComponentProps> | React.FC<ErrorComponentProps>;
56
+ /**
57
+ * Page data.
58
+ * This data is passed by the SitecoreProvider.
59
+ */
60
+ page: Page;
61
+ /**
62
+ * The message that gets displayed while component is loading
63
+ */
64
+ componentLoadingMessage?: string;
65
+ /**
66
+ * If true, disables Suspense in ErrorBoundary for the placeholder.
67
+ * @default false
68
+ */
69
+ disableSuspense?: boolean;
70
+ /**
71
+ * Render props function that is called when the placeholder contains no content components.
72
+ */
73
+ renderEmpty?: (components: React.ReactNode[]) => React.ReactNode;
74
+ /**
75
+ * Render props function that is called for each non-system component added to the placeholder.
76
+ * Mutually exclusive with `render`.
77
+ */
78
+ renderEach?: (component: React.ReactNode, index: number) => React.ReactNode;
79
+ }
80
+ /**
81
+ * The interface for the Placeholder component props.
82
+ * @public
83
+ */
84
+ export interface PlaceholderProps extends BasePlaceholderProps {
85
+ [key: string]: unknown;
86
+ /**
87
+ * Component Map will be used to map Sitecore component names to app implementation
88
+ * When rendered within a <SitecoreProvider> component, defaults to the context componentMap.
89
+ * When rendered as a server placeholder, this prop must be provided. This prop is not used in AppPlaceholder.
90
+ */
91
+ componentMap?: ComponentMap;
92
+ /**
93
+ * Modify final props of component (before render) provided by rendering data.
94
+ * Can be used in case when you need to insert additional data into the component.
95
+ * @param {ComponentProps} componentProps component props to be modified
96
+ * @returns {ComponentProps} modified or initial props
97
+ */
98
+ modifyComponentProps?: (componentProps: ComponentProps) => ComponentProps;
99
+ /**
100
+ * Render props function that enables control over the rendering of the components in the placeholder.
101
+ * Useful for techniques like wrapping each child in a wrapper component.
102
+ */
103
+ render?: (components: React.ReactNode[], data: ComponentRendering[], props: PlaceholderProps) => React.ReactNode;
104
+ }
105
+ /**
106
+ * The interface for the AppPlaceholder component props.
107
+ * @public
108
+ */
109
+ export interface AppPlaceholderProps extends BasePlaceholderProps {
110
+ /**
111
+ * Component Map will be used to map Sitecore component names to app implementation
112
+ * When rendered within a <SitecoreProvider> component, defaults to the context componentMap.
113
+ * When rendered as a server placeholder, this prop must be provided. This prop is not used in AppPlaceholder.
114
+ */
115
+ componentMap: ComponentMap;
116
+ /**
117
+ * Modify final props of component (before render) provided by rendering data.
118
+ * Can be used in case when you need to insert additional data into the component.
119
+ * @param {AppComponentProps} componentProps component props to be modified
120
+ * @returns {AppComponentProps} modified or initial props
121
+ */
122
+ modifyComponentProps?: (componentProps: AppComponentProps) => AppComponentProps;
123
+ /**
124
+ * Render props function that enables control over the rendering of the components in the placeholder.
125
+ * Useful for techniques like wrapping each child in a wrapper component.
126
+ */
127
+ render?: (components: React.ReactNode[], data: ComponentRendering[], props: AppPlaceholderProps) => React.ReactNode;
128
+ }
129
+ export type RenderedProps = Omit<PlaceholderProps, 'fields' | 'params' | 'name'> & {
130
+ key: string;
131
+ fields: {
132
+ [field: string]: unknown;
133
+ };
134
+ params: {
135
+ [param: string]: unknown;
136
+ };
137
+ rendering: ComponentRendering;
138
+ };
139
+ export interface ComponentForRendering {
140
+ component: React.ComponentType<any>;
141
+ isEmpty: boolean;
142
+ dynamic?: boolean;
143
+ componentType?: ComponentType;
144
+ }
145
+ /**
146
+ * Prop names from placeholder that cannot be serialized and passed from server to client side components
147
+ */
148
+ export declare const nonSerializedPlaceholderProps: ["renderEmpty", "render", "renderEach", "errorComponent", "componentLoadingMessage", "modifyComponentProps", "componentMap", "page", "missingComponentComponent", "hiddenRenderingComponent"];
149
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/components/Placeholder/models.ts"],"names":[],"mappings":"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"}
@@ -1,53 +1,52 @@
1
- import React from 'react';
2
- import { ComponentMap } from '../sharedTypes';
3
- import { ComponentRendering, RouteData } from '@sitecore-content-sdk/core/layout';
4
- import { AppComponentProps, BasePlaceholderProps, ComponentForRendering, PlaceholderProps, RenderedProps } from './models';
5
- /**
6
- * Get the renderings for the specified placeholder from the rendering data.
7
- * @param {ComponentRendering | RouteData } rendering rendering data
8
- * @param {string} name placeholder name
9
- * @param {boolean} isEditing whether components should be rendered in editing mode
10
- * @returns {ComponentRendering[]} array of component renderings
11
- */
12
- export declare const getPlaceholderRenderings: (rendering: ComponentRendering | RouteData, name: string, isEditing: boolean) => ComponentRendering<import("@sitecore-content-sdk/core/layout").ComponentFields>[];
13
- /**
14
- * Get SXA specific params from Sitecore rendering params
15
- * @param {ComponentRendering} rendering rendering object
16
- * @returns {object} converted SXA params
17
- */
18
- export declare const getSXAParams: (rendering: ComponentRendering) => {
19
- styles?: undefined;
20
- } | {
21
- styles: string;
22
- };
23
- /**
24
- * Renders the placeholder when it is empty. The required CSS styles are applied to the placeholder in edit mode.
25
- * @param {React.ReactNode | React.ReactElement[]} node react node
26
- * @returns react node
27
- */
28
- export declare const renderEmptyPlaceholder: (node: React.ReactNode | React.ReactElement[]) => React.JSX.Element;
29
- /**
30
- * Get component props to be passed to the rendered component.
31
- * @param {PlaceholderProps} placeholderProps current placeholder props
32
- * @param {ComponentRendering} componentRendering rendering to be rendered
33
- * @param {string} renderingKey unique key to pass over to rendering props
34
- * @returns {RenderedProps} props to be passed to the rendered component
35
- */
36
- export declare const getRenderedComponentProps: (placeholderProps: PlaceholderProps, componentRendering: ComponentRendering, renderingKey: string) => RenderedProps;
37
- /**
38
- * Merge placeholder and component field and params content props.
39
- * @param {BasePlaceholderProps} placeholderProps placeholder props
40
- * @param {ComponentRendering} componentRendering component rendering
41
- * @returns {ComponentProps} merged props
42
- */
43
- export declare function getAppComponentProps<T extends BasePlaceholderProps>(placeholderProps: T, componentRendering: ComponentRendering): AppComponentProps;
44
- /**
45
- * Get component implemenation from the component map based on the rendering definition.
46
- * @param {ComponentRendering} renderingDefinition rendering data
47
- * @param {string} placeholderName name of current placeholder
48
- * @param {ComponentMap} componentMap component map for the current app
49
- * @param {React.ComponentClass} [hiddenRenderingComponent] fallback implementation in to be rendered if the rendering is hidden
50
- * @param {React.ComponentClass} [missingComponentComponent] fallback implementation in case no component is found in the component map
51
- * @returns {ContentSDKComponet | null} component implementation or null if no component map is provided
52
- */
53
- export declare const getComponentForRendering: (renderingDefinition: ComponentRendering, placeholderName: string, componentMap?: ComponentMap, hiddenRenderingComponent?: React.ComponentClass | React.FC, missingComponentComponent?: React.ComponentClass | React.FC) => ComponentForRendering;
1
+ import React from 'react';
2
+ import { ComponentMap } from '../sharedTypes';
3
+ import { ComponentRendering, RouteData } from '@sitecore-content-sdk/core/layout';
4
+ import { AppComponentProps, BasePlaceholderProps, ComponentForRendering, PlaceholderProps, RenderedProps } from './models';
5
+ /**
6
+ * Get the renderings for the specified placeholder from the rendering data.
7
+ * @param {ComponentRendering | RouteData } rendering rendering data
8
+ * @param {string} name placeholder name
9
+ * @param {boolean} isEditing whether components should be rendered in editing mode
10
+ * @returns {ComponentRendering[]} array of component renderings
11
+ */
12
+ export declare const getPlaceholderRenderings: (rendering: ComponentRendering | RouteData, name: string, isEditing: boolean) => ComponentRendering<import("@sitecore-content-sdk/core/layout").ComponentFields>[];
13
+ /**
14
+ * Get SXA specific params from Sitecore rendering params
15
+ * @param {ComponentRendering} rendering rendering object
16
+ * @returns {object} converted SXA params
17
+ */
18
+ export declare const getSXAParams: (rendering: ComponentRendering) => "" | {
19
+ styles: string;
20
+ };
21
+ /**
22
+ * Renders the placeholder when it is empty. The required CSS styles are applied to the placeholder in edit mode.
23
+ * @param {React.ReactNode | React.ReactElement[]} node react node
24
+ * @returns react node
25
+ */
26
+ export declare const renderEmptyPlaceholder: (node: React.ReactNode | React.ReactElement[]) => React.JSX.Element;
27
+ /**
28
+ * Get component props to be passed to the rendered component.
29
+ * @param {PlaceholderProps} placeholderProps current placeholder props
30
+ * @param {ComponentRendering} componentRendering rendering to be rendered
31
+ * @param {string} renderingKey unique key to pass over to rendering props
32
+ * @returns {RenderedProps} props to be passed to the rendered component
33
+ */
34
+ export declare const getRenderedComponentProps: (placeholderProps: PlaceholderProps, componentRendering: ComponentRendering, renderingKey: string) => RenderedProps;
35
+ /**
36
+ * Merge placeholder and component field and params content props.
37
+ * @param {BasePlaceholderProps} placeholderProps placeholder props
38
+ * @param {ComponentRendering} componentRendering component rendering
39
+ * @returns {ComponentProps} merged props
40
+ */
41
+ export declare function getAppComponentProps<T extends BasePlaceholderProps>(placeholderProps: T, componentRendering: ComponentRendering): AppComponentProps;
42
+ /**
43
+ * Get component implemenation from the component map based on the rendering definition.
44
+ * @param {ComponentRendering} renderingDefinition rendering data
45
+ * @param {string} placeholderName name of current placeholder
46
+ * @param {ComponentMap} componentMap component map for the current app
47
+ * @param {React.ComponentClass} [hiddenRenderingComponent] fallback implementation in to be rendered if the rendering is hidden
48
+ * @param {React.ComponentClass} [missingComponentComponent] fallback implementation in case no component is found in the component map
49
+ * @returns {ContentSDKComponet | null} component implementation or null if no component map is provided
50
+ */
51
+ export declare const getComponentForRendering: (renderingDefinition: ComponentRendering, placeholderName: string, componentMap?: ComponentMap, hiddenRenderingComponent?: React.ComponentClass | React.FC, missingComponentComponent?: React.ComponentClass | React.FC) => ComponentForRendering;
52
+ //# sourceMappingURL=placeholder-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder-utils.d.ts","sourceRoot":"","sources":["../../../src/components/Placeholder/placeholder-utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAuD,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,kBAAkB,EAClB,SAAS,EAGV,MAAM,mCAAmC,CAAC;AAa3C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACd,MAAM,UAAU,CAAC;AAElB;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GACnC,WAAW,kBAAkB,GAAG,SAAS,EACzC,MAAM,MAAM,EACZ,WAAW,OAAO,sFA2CnB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,kBAAkB;;CAUzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,sBAElF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACpC,kBAAkB,gBAAgB,EAClC,oBAAoB,kBAAkB,EACtC,cAAc,MAAM,KACnB,aAeF,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,oBAAoB,EACjE,gBAAgB,EAAE,CAAC,EACnB,kBAAkB,EAAE,kBAAkB,GACrC,iBAAiB,CAYnB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GACnC,qBAAqB,kBAAkB,EACvC,iBAAiB,MAAM,EACvB,eAAe,YAAY,EAC3B,2BAA2B,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,EAAE,EAC1D,4BAA4B,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,EAAE,KAC1D,qBA0GF,CAAC"}
@@ -1,17 +1,31 @@
1
- import React from 'react';
2
- import { EditableFieldProps } from './sharedTypes';
3
- import { FieldMetadata } from '@sitecore-content-sdk/core/layout';
4
- export interface RichTextField extends FieldMetadata {
5
- value?: string;
6
- }
7
- export interface RichTextProps extends EditableFieldProps<RichTextProps> {
8
- [htmlAttributes: string]: unknown;
9
- /** The rich text field data. */
10
- field?: RichTextField;
11
- /**
12
- * The HTML element that will wrap the contents of the field.
13
- * @default <div />
14
- */
15
- tag?: string;
16
- }
17
- export declare const RichText: React.FC<RichTextProps>;
1
+ import React from 'react';
2
+ import { EditableFieldProps } from './sharedTypes';
3
+ import { FieldMetadata } from '@sitecore-content-sdk/core/layout';
4
+ /**
5
+ * The interface for the RichText field.
6
+ * @public
7
+ */
8
+ export interface RichTextField extends FieldMetadata {
9
+ value?: string;
10
+ }
11
+ /**
12
+ * The interface for the RichText component props.
13
+ * @public
14
+ */
15
+ export interface RichTextProps extends EditableFieldProps<RichTextProps> {
16
+ [htmlAttributes: string]: unknown;
17
+ /** The rich text field data. */
18
+ field?: RichTextField;
19
+ /**
20
+ * The HTML element that will wrap the contents of the field.
21
+ * @default <div />
22
+ */
23
+ tag?: string;
24
+ }
25
+ /**
26
+ * The RichText component.
27
+ * @param {RichTextProps} props component props
28
+ * @public
29
+ */
30
+ export declare const RichText: React.FC<RichTextProps>;
31
+ //# sourceMappingURL=RichText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../src/components/RichText.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAIxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAqB,MAAM,mCAAmC,CAAC;AAErF;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,kBAAkB,CAAC,aAAa,CAAC;IACtE,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,gCAAgC;IAChC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA0B5C,CAAC"}
@@ -1,48 +1,68 @@
1
- import React from 'react';
2
- import { Page } from '@sitecore-content-sdk/core/client';
3
- import { SitecoreConfig } from '@sitecore-content-sdk/core/config';
4
- import { ComponentMap } from './sharedTypes';
5
- export interface SitecoreProviderProps {
6
- /**
7
- * The API configuration defined in the `SitecoreConfig`.
8
- */
9
- api: SitecoreConfig['api'];
10
- /**
11
- * The component map to use for rendering components.
12
- */
13
- componentMap: ComponentMap;
14
- /**
15
- * The page data.
16
- */
17
- page: Page;
18
- children: React.ReactNode;
19
- }
20
- export interface SitecoreProviderState {
21
- /**
22
- * Method to set the page.
23
- * @param {Page} value New page value.
24
- * @returns {void}
25
- */
26
- setPage: (value: Page) => void;
27
- /**
28
- * The current page.
29
- */
30
- page: Page;
31
- /**
32
- * The API configuration defined in the `SitecoreConfig`.
33
- */
34
- api?: SitecoreProviderProps['api'];
35
- }
36
- export declare const SitecoreProviderReactContext: React.Context<SitecoreProviderState>;
37
- export declare const ComponentMapReactContext: React.Context<ComponentMap>;
38
- export declare class SitecoreProvider extends React.Component<SitecoreProviderProps, SitecoreProviderState> {
39
- static displayName: string;
40
- constructor(props: SitecoreProviderProps);
41
- componentDidUpdate(prevProps: SitecoreProviderProps): void;
42
- /**
43
- * Update page state.
44
- * @param {Page} value New page value
45
- */
46
- setPage: (value: Page) => void;
47
- render(): React.JSX.Element;
48
- }
1
+ import React from 'react';
2
+ import { Page } from '@sitecore-content-sdk/core/client';
3
+ import { SitecoreConfig } from '@sitecore-content-sdk/core/config';
4
+ import { ComponentMap } from './sharedTypes';
5
+ import { ImportMapImport } from './DesignLibrary/models';
6
+ export interface SitecoreProviderProps {
7
+ /**
8
+ * The API configuration defined in the `SitecoreConfig`.
9
+ */
10
+ api: SitecoreConfig['api'];
11
+ /**
12
+ * The component map to use for rendering components.
13
+ */
14
+ componentMap: ComponentMap;
15
+ /**
16
+ * The page data.
17
+ */
18
+ page: Page;
19
+ /**
20
+ * The dynamic import for import map to be used in variant generation mode.
21
+ * Currently it's optional but it will be required in the next major version.
22
+ */
23
+ loadImportMap?: () => Promise<ImportMapImport>;
24
+ children: React.ReactNode;
25
+ }
26
+ /**
27
+ * The state for the SitecoreProvider component.
28
+ * @public
29
+ */
30
+ export interface SitecoreProviderState {
31
+ /**
32
+ * Method to set the page.
33
+ * @param {Page} value New page value.
34
+ * @returns {void}
35
+ */
36
+ setPage: (value: Page) => void;
37
+ /**
38
+ * The current page.
39
+ */
40
+ page: Page;
41
+ /**
42
+ * The API configuration defined in the `SitecoreConfig`.
43
+ */
44
+ api?: SitecoreProviderProps['api'];
45
+ }
46
+ /**
47
+ * The context for the SitecoreProvider component.
48
+ * @public
49
+ */
50
+ export declare const SitecoreProviderReactContext: React.Context<SitecoreProviderState>;
51
+ export declare const ComponentMapReactContext: React.Context<ComponentMap>;
52
+ export declare const ImportMapReactContext: React.Context<(() => Promise<ImportMapImport>) | undefined>;
53
+ /**
54
+ * The SitecoreProvider component.
55
+ * @public
56
+ */
57
+ export declare class SitecoreProvider extends React.Component<SitecoreProviderProps, SitecoreProviderState> {
58
+ static displayName: string;
59
+ constructor(props: SitecoreProviderProps);
60
+ componentDidUpdate(prevProps: SitecoreProviderProps): void;
61
+ /**
62
+ * Update page state.
63
+ * @param {Page} value New page value
64
+ */
65
+ setPage: (value: Page) => void;
66
+ render(): React.JSX.Element;
67
+ }
68
+ //# sourceMappingURL=SitecoreProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SitecoreProvider.d.ts","sourceRoot":"","sources":["../../src/components/SitecoreProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3B;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,GAAG,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,sCAExC,CAAC;AAEF,eAAO,MAAM,wBAAwB,6BAA+C,CAAC;AAErF,eAAO,MAAM,qBAAqB,uBACzB,OAAO,CAAC,eAAe,CAAC,cACrB,CAAC;AAEb;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,SAAS,CACnD,qBAAqB,EACrB,qBAAqB,CACtB;IACC,MAAM,CAAC,WAAW,SAAsB;gBAE5B,KAAK,EAAE,qBAAqB;IAyBxC,kBAAkB,CAAC,SAAS,EAAE,qBAAqB;IAUnD;;;OAGG;IACH,OAAO,GAAI,OAAO,IAAI,UAIpB;IAEF,MAAM;CAWP"}