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

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 (233) hide show
  1. package/README.md +11 -11
  2. package/dist/cjs/components/ClientEditingChromesUpdate.js +53 -52
  3. package/dist/cjs/components/Date.js +49 -45
  4. package/dist/cjs/components/DefaultEmptyFieldEditingComponents.js +32 -22
  5. package/dist/cjs/components/{DesignLibrary.js → DesignLibrary/DesignLibrary.js} +161 -202
  6. package/dist/cjs/components/DesignLibrary/DesignLibraryApp.js +31 -0
  7. package/dist/cjs/components/DesignLibrary/DesignLibraryClientEvents.js +123 -0
  8. package/dist/cjs/components/DesignLibrary/DesignLibraryErrorBoundary.js +65 -0
  9. package/dist/cjs/components/DesignLibrary/DesignLibraryServer.js +193 -0
  10. package/dist/cjs/components/DesignLibrary/index.js +7 -0
  11. package/dist/cjs/components/DesignLibrary/models.js +2 -0
  12. package/dist/cjs/components/EditingScripts.js +44 -43
  13. package/dist/cjs/components/ErrorBoundary.js +101 -92
  14. package/dist/cjs/components/FEaaS/BYOCServerWrapper.js +25 -28
  15. package/dist/cjs/components/FEaaS/BYOCWrapper.js +133 -122
  16. package/dist/cjs/components/FEaaS/FEaaSSeverWrapper.js +26 -34
  17. package/dist/cjs/components/FEaaS/FEaaSWrapper.js +84 -78
  18. package/dist/cjs/components/FEaaS/feaas-utils.js +130 -144
  19. package/dist/cjs/components/FEaaS/index.js +21 -21
  20. package/dist/cjs/components/FEaaS/models.js +7 -7
  21. package/dist/cjs/components/FieldMetadata.js +29 -29
  22. package/dist/cjs/components/File.js +43 -38
  23. package/dist/cjs/components/Form.js +100 -92
  24. package/dist/cjs/components/HiddenRendering.js +23 -23
  25. package/dist/cjs/components/Image.js +71 -66
  26. package/dist/cjs/components/Link.js +91 -86
  27. package/dist/cjs/components/MissingComponent.js +28 -28
  28. package/dist/cjs/components/Placeholder/AppPlaceholder.js +79 -76
  29. package/dist/cjs/components/Placeholder/ClientComponentWrapper.js +21 -21
  30. package/dist/cjs/components/Placeholder/Placeholder.js +144 -110
  31. package/dist/cjs/components/Placeholder/PlaceholderMetadata.js +68 -63
  32. package/dist/cjs/components/Placeholder/index.js +25 -25
  33. package/dist/cjs/components/Placeholder/models.js +18 -18
  34. package/dist/cjs/components/Placeholder/placeholder-utils.js +226 -226
  35. package/dist/cjs/components/RichText.js +75 -70
  36. package/dist/cjs/components/SitecoreProvider.js +62 -52
  37. package/dist/cjs/components/Text.js +69 -65
  38. package/dist/cjs/components/sharedTypes/components.js +7 -7
  39. package/dist/cjs/components/sharedTypes/index.js +18 -18
  40. package/dist/cjs/components/sharedTypes/props.js +2 -2
  41. package/dist/cjs/enhancers/withAppPlaceholder.js +21 -21
  42. package/dist/cjs/enhancers/withComponentMap.js +24 -24
  43. package/dist/cjs/enhancers/withDatasourceCheck.js +31 -30
  44. package/dist/cjs/enhancers/withEditorChromes.js +29 -24
  45. package/dist/cjs/enhancers/withEmptyFieldEditingComponent.js +71 -70
  46. package/dist/cjs/enhancers/withFieldMetadata.js +68 -67
  47. package/dist/cjs/enhancers/withLoadImportMap.js +53 -0
  48. package/dist/cjs/enhancers/withPlaceholder.js +64 -65
  49. package/dist/cjs/enhancers/withSitecore.js +47 -45
  50. package/dist/cjs/index.js +86 -85
  51. package/dist/cjs/rsc-utils/no-rsc.js +5 -5
  52. package/dist/cjs/rsc-utils/rsc.js +5 -5
  53. package/dist/cjs/search/index.js +7 -0
  54. package/dist/cjs/search/useInfiniteSearch.js +136 -0
  55. package/dist/cjs/search/useSearch.js +107 -0
  56. package/dist/cjs/search/utils.js +35 -0
  57. package/dist/cjs/server-actions/update-server-component-action.js +18 -0
  58. package/dist/cjs/utils.js +38 -38
  59. package/dist/esm/components/ClientEditingChromesUpdate.js +16 -15
  60. package/dist/esm/components/Date.js +43 -39
  61. package/dist/esm/components/DefaultEmptyFieldEditingComponents.js +24 -14
  62. package/dist/esm/components/{DesignLibrary.js → DesignLibrary/DesignLibrary.js} +124 -164
  63. package/dist/esm/components/DesignLibrary/DesignLibraryApp.js +24 -0
  64. package/dist/esm/components/DesignLibrary/DesignLibraryClientEvents.js +84 -0
  65. package/dist/esm/components/DesignLibrary/DesignLibraryErrorBoundary.js +28 -0
  66. package/dist/esm/components/DesignLibrary/DesignLibraryServer.js +150 -0
  67. package/dist/esm/components/DesignLibrary/index.js +2 -0
  68. package/dist/esm/components/DesignLibrary/models.js +1 -0
  69. package/dist/esm/components/EditingScripts.js +37 -36
  70. package/dist/esm/components/ErrorBoundary.js +64 -57
  71. package/dist/esm/components/FEaaS/BYOCServerWrapper.js +18 -21
  72. package/dist/esm/components/FEaaS/BYOCWrapper.js +91 -81
  73. package/dist/esm/components/FEaaS/FEaaSSeverWrapper.js +19 -27
  74. package/dist/esm/components/FEaaS/FEaaSWrapper.js +43 -37
  75. package/dist/esm/components/FEaaS/feaas-utils.js +91 -105
  76. package/dist/esm/components/FEaaS/index.js +6 -6
  77. package/dist/esm/components/FEaaS/models.js +4 -4
  78. package/dist/esm/components/FieldMetadata.js +22 -22
  79. package/dist/esm/components/File.js +36 -31
  80. package/dist/esm/components/Form.js +62 -54
  81. package/dist/esm/components/HiddenRendering.js +16 -16
  82. package/dist/esm/components/Image.js +65 -60
  83. package/dist/esm/components/Link.js +55 -50
  84. package/dist/esm/components/MissingComponent.js +21 -21
  85. package/dist/esm/components/Placeholder/AppPlaceholder.js +72 -69
  86. package/dist/esm/components/Placeholder/ClientComponentWrapper.js +14 -14
  87. package/dist/esm/components/Placeholder/Placeholder.js +104 -103
  88. package/dist/esm/components/Placeholder/PlaceholderMetadata.js +61 -56
  89. package/dist/esm/components/Placeholder/index.js +4 -4
  90. package/dist/esm/components/Placeholder/models.js +15 -15
  91. package/dist/esm/components/Placeholder/placeholder-utils.js +214 -214
  92. package/dist/esm/components/RichText.js +39 -34
  93. package/dist/esm/components/SitecoreProvider.js +55 -45
  94. package/dist/esm/components/Text.js +63 -59
  95. package/dist/esm/components/sharedTypes/components.js +4 -4
  96. package/dist/esm/components/sharedTypes/index.js +2 -2
  97. package/dist/esm/components/sharedTypes/props.js +1 -1
  98. package/dist/esm/enhancers/withAppPlaceholder.js +14 -14
  99. package/dist/esm/enhancers/withComponentMap.js +18 -18
  100. package/dist/esm/enhancers/withDatasourceCheck.js +23 -22
  101. package/dist/esm/enhancers/withEditorChromes.js +22 -17
  102. package/dist/esm/enhancers/withEmptyFieldEditingComponent.js +35 -34
  103. package/dist/esm/enhancers/withFieldMetadata.js +32 -31
  104. package/dist/esm/enhancers/withLoadImportMap.js +17 -0
  105. package/dist/esm/enhancers/withPlaceholder.js +58 -59
  106. package/dist/esm/enhancers/withSitecore.js +40 -38
  107. package/dist/esm/index.js +29 -29
  108. package/dist/esm/rsc-utils/no-rsc.js +2 -2
  109. package/dist/esm/rsc-utils/rsc.js +2 -2
  110. package/dist/esm/search/index.js +2 -0
  111. package/dist/esm/search/useInfiniteSearch.js +132 -0
  112. package/dist/esm/search/useSearch.js +103 -0
  113. package/dist/esm/search/utils.js +30 -0
  114. package/dist/esm/server-actions/update-server-component-action.js +15 -0
  115. package/dist/esm/utils.js +33 -33
  116. package/global.d.ts +17 -0
  117. package/package.json +27 -11
  118. package/search.d.ts +1 -0
  119. package/types/components/ClientEditingChromesUpdate.d.ts +8 -6
  120. package/types/components/ClientEditingChromesUpdate.d.ts.map +1 -0
  121. package/types/components/Date.d.ts +25 -16
  122. package/types/components/Date.d.ts.map +1 -0
  123. package/types/components/DefaultEmptyFieldEditingComponents.d.ts +20 -9
  124. package/types/components/DefaultEmptyFieldEditingComponents.d.ts.map +1 -0
  125. package/types/components/DesignLibrary/DesignLibrary.d.ts +20 -0
  126. package/types/components/DesignLibrary/DesignLibrary.d.ts.map +1 -0
  127. package/types/components/DesignLibrary/DesignLibraryApp.d.ts +14 -0
  128. package/types/components/DesignLibrary/DesignLibraryApp.d.ts.map +1 -0
  129. package/types/components/DesignLibrary/DesignLibraryClientEvents.d.ts +21 -0
  130. package/types/components/DesignLibrary/DesignLibraryClientEvents.d.ts.map +1 -0
  131. package/types/components/DesignLibrary/DesignLibraryErrorBoundary.d.ts +19 -0
  132. package/types/components/DesignLibrary/DesignLibraryErrorBoundary.d.ts.map +1 -0
  133. package/types/components/DesignLibrary/DesignLibraryServer.d.ts +38 -0
  134. package/types/components/DesignLibrary/DesignLibraryServer.d.ts.map +1 -0
  135. package/types/components/DesignLibrary/index.d.ts +3 -0
  136. package/types/components/DesignLibrary/index.d.ts.map +1 -0
  137. package/types/components/DesignLibrary/models.d.ts +67 -0
  138. package/types/components/DesignLibrary/models.d.ts.map +1 -0
  139. package/types/components/EditingScripts.d.ts +9 -7
  140. package/types/components/EditingScripts.d.ts.map +1 -0
  141. package/types/components/ErrorBoundary.d.ts +29 -17
  142. package/types/components/ErrorBoundary.d.ts.map +1 -0
  143. package/types/components/FEaaS/BYOCServerWrapper.d.ts +10 -3
  144. package/types/components/FEaaS/BYOCServerWrapper.d.ts.map +1 -0
  145. package/types/components/FEaaS/BYOCWrapper.d.ts +29 -25
  146. package/types/components/FEaaS/BYOCWrapper.d.ts.map +1 -0
  147. package/types/components/FEaaS/FEaaSSeverWrapper.d.ts +10 -8
  148. package/types/components/FEaaS/FEaaSSeverWrapper.d.ts.map +1 -0
  149. package/types/components/FEaaS/FEaaSWrapper.d.ts +14 -7
  150. package/types/components/FEaaS/FEaaSWrapper.d.ts.map +1 -0
  151. package/types/components/FEaaS/feaas-utils.d.ts +24 -21
  152. package/types/components/FEaaS/feaas-utils.d.ts.map +1 -0
  153. package/types/components/FEaaS/index.d.ts +7 -6
  154. package/types/components/FEaaS/index.d.ts.map +1 -0
  155. package/types/components/FEaaS/models.d.ts +136 -125
  156. package/types/components/FEaaS/models.d.ts.map +1 -0
  157. package/types/components/FieldMetadata.d.ts +18 -17
  158. package/types/components/FieldMetadata.d.ts.map +1 -0
  159. package/types/components/File.d.ts +28 -18
  160. package/types/components/File.d.ts.map +1 -0
  161. package/types/components/Form.d.ts +35 -29
  162. package/types/components/Form.d.ts.map +1 -0
  163. package/types/components/HiddenRendering.d.ts +3 -2
  164. package/types/components/HiddenRendering.d.ts.map +1 -0
  165. package/types/components/Image.d.ts +70 -48
  166. package/types/components/Image.d.ts.map +1 -0
  167. package/types/components/Link.d.ts +45 -27
  168. package/types/components/Link.d.ts.map +1 -0
  169. package/types/components/MissingComponent.d.ts +9 -8
  170. package/types/components/MissingComponent.d.ts.map +1 -0
  171. package/types/components/Placeholder/AppPlaceholder.d.ts +12 -10
  172. package/types/components/Placeholder/AppPlaceholder.d.ts.map +1 -0
  173. package/types/components/Placeholder/ClientComponentWrapper.d.ts +10 -9
  174. package/types/components/Placeholder/ClientComponentWrapper.d.ts.map +1 -0
  175. package/types/components/Placeholder/Placeholder.d.ts +33 -28
  176. package/types/components/Placeholder/Placeholder.d.ts.map +1 -0
  177. package/types/components/Placeholder/PlaceholderMetadata.d.ts +35 -28
  178. package/types/components/Placeholder/PlaceholderMetadata.d.ts.map +1 -0
  179. package/types/components/Placeholder/index.d.ts +6 -5
  180. package/types/components/Placeholder/index.d.ts.map +1 -0
  181. package/types/components/Placeholder/models.d.ts +149 -140
  182. package/types/components/Placeholder/models.d.ts.map +1 -0
  183. package/types/components/Placeholder/placeholder-utils.d.ts +52 -53
  184. package/types/components/Placeholder/placeholder-utils.d.ts.map +1 -0
  185. package/types/components/RichText.d.ts +31 -17
  186. package/types/components/RichText.d.ts.map +1 -0
  187. package/types/components/SitecoreProvider.d.ts +68 -48
  188. package/types/components/SitecoreProvider.d.ts.map +1 -0
  189. package/types/components/Text.d.ts +29 -20
  190. package/types/components/Text.d.ts.map +1 -0
  191. package/types/components/sharedTypes/components.d.ts +50 -38
  192. package/types/components/sharedTypes/components.d.ts.map +1 -0
  193. package/types/components/sharedTypes/index.d.ts +3 -2
  194. package/types/components/sharedTypes/index.d.ts.map +1 -0
  195. package/types/components/sharedTypes/props.d.ts +15 -14
  196. package/types/components/sharedTypes/props.d.ts.map +1 -0
  197. package/types/enhancers/withAppPlaceholder.d.ts +16 -15
  198. package/types/enhancers/withAppPlaceholder.d.ts.map +1 -0
  199. package/types/enhancers/withComponentMap.d.ts +13 -12
  200. package/types/enhancers/withComponentMap.d.ts.map +1 -0
  201. package/types/enhancers/withDatasourceCheck.d.ts +23 -21
  202. package/types/enhancers/withDatasourceCheck.d.ts.map +1 -0
  203. package/types/enhancers/withEditorChromes.d.ts +8 -2
  204. package/types/enhancers/withEditorChromes.d.ts.map +1 -0
  205. package/types/enhancers/withEmptyFieldEditingComponent.d.ts +29 -27
  206. package/types/enhancers/withEmptyFieldEditingComponent.d.ts.map +1 -0
  207. package/types/enhancers/withFieldMetadata.d.ts +18 -16
  208. package/types/enhancers/withFieldMetadata.d.ts.map +1 -0
  209. package/types/enhancers/withLoadImportMap.d.ts +22 -0
  210. package/types/enhancers/withLoadImportMap.d.ts.map +1 -0
  211. package/types/enhancers/withPlaceholder.d.ts +37 -35
  212. package/types/enhancers/withPlaceholder.d.ts.map +1 -0
  213. package/types/enhancers/withSitecore.d.ts +63 -48
  214. package/types/enhancers/withSitecore.d.ts.map +1 -0
  215. package/types/index.d.ts +31 -30
  216. package/types/index.d.ts.map +1 -0
  217. package/types/rsc-utils/no-rsc.d.ts +2 -1
  218. package/types/rsc-utils/no-rsc.d.ts.map +1 -0
  219. package/types/rsc-utils/rsc.d.ts +2 -1
  220. package/types/rsc-utils/rsc.d.ts.map +1 -0
  221. package/types/search/index.d.ts +4 -0
  222. package/types/search/index.d.ts.map +1 -0
  223. package/types/search/useInfiniteSearch.d.ts +116 -0
  224. package/types/search/useInfiniteSearch.d.ts.map +1 -0
  225. package/types/search/useSearch.d.ts +107 -0
  226. package/types/search/useSearch.d.ts.map +1 -0
  227. package/types/search/utils.d.ts +19 -0
  228. package/types/search/utils.d.ts.map +1 -0
  229. package/types/server-actions/update-server-component-action.d.ts +25 -0
  230. package/types/server-actions/update-server-component-action.d.ts.map +1 -0
  231. package/types/utils.d.ts +18 -17
  232. package/types/utils.d.ts.map +1 -0
  233. package/types/components/DesignLibrary.d.ts +0 -26
@@ -1,25 +1,25 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.AppPlaceholder = exports.PlaceholderMetadata = exports.PlaceholderComponent = exports.Placeholder = void 0;
18
- var Placeholder_1 = require("./Placeholder");
19
- Object.defineProperty(exports, "Placeholder", { enumerable: true, get: function () { return Placeholder_1.Placeholder; } });
20
- Object.defineProperty(exports, "PlaceholderComponent", { enumerable: true, get: function () { return Placeholder_1.PlaceholderComponent; } });
21
- var PlaceholderMetadata_1 = require("./PlaceholderMetadata");
22
- Object.defineProperty(exports, "PlaceholderMetadata", { enumerable: true, get: function () { return PlaceholderMetadata_1.PlaceholderMetadata; } });
23
- var AppPlaceholder_1 = require("./AppPlaceholder");
24
- Object.defineProperty(exports, "AppPlaceholder", { enumerable: true, get: function () { return AppPlaceholder_1.AppPlaceholder; } });
25
- __exportStar(require("./placeholder-utils"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.AppPlaceholder = exports.PlaceholderMetadata = exports.PlaceholderComponent = exports.Placeholder = void 0;
18
+ var Placeholder_1 = require("./Placeholder");
19
+ Object.defineProperty(exports, "Placeholder", { enumerable: true, get: function () { return Placeholder_1.Placeholder; } });
20
+ Object.defineProperty(exports, "PlaceholderComponent", { enumerable: true, get: function () { return Placeholder_1.PlaceholderComponent; } });
21
+ var PlaceholderMetadata_1 = require("./PlaceholderMetadata");
22
+ Object.defineProperty(exports, "PlaceholderMetadata", { enumerable: true, get: function () { return PlaceholderMetadata_1.PlaceholderMetadata; } });
23
+ var AppPlaceholder_1 = require("./AppPlaceholder");
24
+ Object.defineProperty(exports, "AppPlaceholder", { enumerable: true, get: function () { return AppPlaceholder_1.AppPlaceholder; } });
25
+ __exportStar(require("./placeholder-utils"), exports);
@@ -1,18 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nonSerializedPlaceholderProps = void 0;
4
- /**
5
- * Prop names from placeholder that cannot be serialized and passed from server to client side components
6
- */
7
- exports.nonSerializedPlaceholderProps = [
8
- 'renderEmpty',
9
- 'render',
10
- 'renderEach',
11
- 'errorComponent',
12
- 'componentLoadingMessage',
13
- 'modifyComponentProps',
14
- 'componentMap',
15
- 'page',
16
- 'missingComponentComponent',
17
- 'hiddenRenderingComponent',
18
- ];
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nonSerializedPlaceholderProps = void 0;
4
+ /**
5
+ * Prop names from placeholder that cannot be serialized and passed from server to client side components
6
+ */
7
+ exports.nonSerializedPlaceholderProps = [
8
+ 'renderEmpty',
9
+ 'render',
10
+ 'renderEach',
11
+ 'errorComponent',
12
+ 'componentLoadingMessage',
13
+ 'modifyComponentProps',
14
+ 'componentMap',
15
+ 'page',
16
+ 'missingComponentComponent',
17
+ 'hiddenRenderingComponent',
18
+ ];
@@ -1,226 +1,226 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.getComponentForRendering = exports.getRenderedComponentProps = exports.renderEmptyPlaceholder = exports.getSXAParams = exports.getPlaceholderRenderings = void 0;
18
- exports.getAppComponentProps = getAppComponentProps;
19
- const react_1 = __importDefault(require("react"));
20
- const MissingComponent_1 = require("../MissingComponent");
21
- const sharedTypes_1 = require("../sharedTypes");
22
- const layout_1 = require("@sitecore-content-sdk/core/layout");
23
- const core_1 = require("@sitecore-content-sdk/core");
24
- const HiddenRendering_1 = require("../HiddenRendering");
25
- const FEaaS_1 = require("../FEaaS");
26
- /**
27
- * Get the renderings for the specified placeholder from the rendering data.
28
- * @param {ComponentRendering | RouteData } rendering rendering data
29
- * @param {string} name placeholder name
30
- * @param {boolean} isEditing whether components should be rendered in editing mode
31
- * @returns {ComponentRendering[]} array of component renderings
32
- */
33
- const getPlaceholderRenderings = (rendering, name, isEditing) => {
34
- let result;
35
- let phName = name.slice();
36
- /**
37
- * Process (SXA) dynamic placeholders
38
- * Find and replace the matching dynamic placeholder e.g 'nameOfContainer-{*}' with the requested e.g. 'nameOfContainer-1'.
39
- * For Metadata EditMode, we need to keep the raw placeholder name in place.
40
- */
41
- if (rendering === null || rendering === void 0 ? void 0 : rendering.placeholders) {
42
- Object.keys(rendering.placeholders).forEach((placeholder) => {
43
- const patternPlaceholder = (0, layout_1.isDynamicPlaceholder)(placeholder)
44
- ? (0, layout_1.getDynamicPlaceholderPattern)(placeholder)
45
- : null;
46
- if (patternPlaceholder && patternPlaceholder.test(phName)) {
47
- if (isEditing) {
48
- phName = placeholder;
49
- }
50
- else {
51
- rendering.placeholders[phName] = rendering.placeholders[placeholder];
52
- delete rendering.placeholders[placeholder];
53
- }
54
- }
55
- });
56
- }
57
- if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {
58
- result = rendering.placeholders[phName];
59
- }
60
- else {
61
- result = null;
62
- }
63
- if (!result) {
64
- console.warn(`Placeholder '${phName}' was not found in the current rendering data`, JSON.stringify(rendering, null, 2));
65
- return [];
66
- }
67
- return result;
68
- };
69
- exports.getPlaceholderRenderings = getPlaceholderRenderings;
70
- /**
71
- * Get SXA specific params from Sitecore rendering params
72
- * @param {ComponentRendering} rendering rendering object
73
- * @returns {object} converted SXA params
74
- */
75
- const getSXAParams = (rendering) => {
76
- if (!rendering.params)
77
- return {};
78
- const { GridParameters, Styles } = rendering.params;
79
- return ((GridParameters || Styles) && {
80
- styles: `${GridParameters || ''} ${Styles || ''}`,
81
- });
82
- };
83
- exports.getSXAParams = getSXAParams;
84
- /**
85
- * Renders the placeholder when it is empty. The required CSS styles are applied to the placeholder in edit mode.
86
- * @param {React.ReactNode | React.ReactElement[]} node react node
87
- * @returns react node
88
- */
89
- const renderEmptyPlaceholder = (node) => {
90
- return react_1.default.createElement("div", { className: "sc-jss-empty-placeholder" }, node);
91
- };
92
- exports.renderEmptyPlaceholder = renderEmptyPlaceholder;
93
- /**
94
- * Get component props to be passed to the rendered component.
95
- * @param {PlaceholderProps} placeholderProps current placeholder props
96
- * @param {ComponentRendering} componentRendering rendering to be rendered
97
- * @param {string} renderingKey unique key to pass over to rendering props
98
- * @returns {RenderedProps} props to be passed to the rendered component
99
- */
100
- const getRenderedComponentProps = (placeholderProps, componentRendering, renderingKey) => {
101
- // eslint-disable-next-line no-unused-vars
102
- const { fields, params: placeholderParams } = placeholderProps, passThroughProps = __rest(placeholderProps, ["fields", "params"]);
103
- delete passThroughProps.missingComponentComponent;
104
- delete passThroughProps.hiddenRenderingComponent;
105
- delete passThroughProps.name;
106
- const mergedContentProps = getAppComponentProps(placeholderProps, componentRendering);
107
- return Object.assign(Object.assign(Object.assign({ key: renderingKey }, passThroughProps), mergedContentProps), { rendering: componentRendering });
108
- };
109
- exports.getRenderedComponentProps = getRenderedComponentProps;
110
- /**
111
- * Merge placeholder and component field and params content props.
112
- * @param {BasePlaceholderProps} placeholderProps placeholder props
113
- * @param {ComponentRendering} componentRendering component rendering
114
- * @returns {ComponentProps} merged props
115
- */
116
- function getAppComponentProps(placeholderProps, componentRendering) {
117
- const fields = Object.assign(Object.assign({}, (placeholderProps.fields || {})), (componentRendering.fields || {}));
118
- const params = Object.assign(Object.assign({}, (placeholderProps.params || {})), (componentRendering.params || {}));
119
- return {
120
- fields,
121
- params: Object.assign(Object.assign({}, params), (0, exports.getSXAParams)(componentRendering)),
122
- rendering: componentRendering,
123
- };
124
- }
125
- /**
126
- * Get component implemenation from the component map based on the rendering definition.
127
- * @param {ComponentRendering} renderingDefinition rendering data
128
- * @param {string} placeholderName name of current placeholder
129
- * @param {ComponentMap} componentMap component map for the current app
130
- * @param {React.ComponentClass} [hiddenRenderingComponent] fallback implementation in to be rendered if the rendering is hidden
131
- * @param {React.ComponentClass} [missingComponentComponent] fallback implementation in case no component is found in the component map
132
- * @returns {ContentSDKComponet | null} component implementation or null if no component map is provided
133
- */
134
- const getComponentForRendering = (renderingDefinition, placeholderName, componentMap, hiddenRenderingComponent, missingComponentComponent) => {
135
- var _a, _b;
136
- const logUnknownComponentError = (variant) => {
137
- console.error(`Placeholder ${placeholderName} contains unknown component ${renderingDefinition.componentName}${variant ? ` (${variant})` : ''}. Ensure that a React component exists for it, and that it is registered in your component-map file.`);
138
- };
139
- if (renderingDefinition.componentName === core_1.constants.HIDDEN_RENDERING_NAME) {
140
- return {
141
- component: hiddenRenderingComponent !== null && hiddenRenderingComponent !== void 0 ? hiddenRenderingComponent : HiddenRendering_1.HiddenRendering,
142
- isEmpty: true,
143
- componentType: 'universal',
144
- };
145
- }
146
- else if (!renderingDefinition.componentName) {
147
- return {
148
- component: () => react_1.default.createElement(react_1.default.Fragment, null),
149
- isEmpty: true,
150
- componentType: 'universal',
151
- };
152
- }
153
- let component = null;
154
- if (!componentMap || componentMap.size === 0) {
155
- console.warn(`No components were available in component map to service request for component ${renderingDefinition}`);
156
- }
157
- else {
158
- component = componentMap.get(renderingDefinition.componentName);
159
- }
160
- if (!component) {
161
- // Fallback/defaults for Sitecore Component renderings (in case not defined in component map)
162
- if (renderingDefinition.componentName === FEaaS_1.FEAAS_COMPONENT_RENDERING_NAME) {
163
- return {
164
- component: FEaaS_1.FEaaSComponent,
165
- isEmpty: false,
166
- componentType: 'universal',
167
- };
168
- }
169
- else if (renderingDefinition.componentName === FEaaS_1.FEAAS_WRAPPER_RENDERING_NAME) {
170
- return {
171
- component: FEaaS_1.FEaaSWrapper,
172
- isEmpty: false,
173
- componentType: 'universal',
174
- };
175
- }
176
- else if (renderingDefinition.componentName === FEaaS_1.BYOC_COMPONENT_RENDERING_NAME) {
177
- return {
178
- component: FEaaS_1.BYOCComponent,
179
- isEmpty: false,
180
- componentType: 'universal',
181
- };
182
- }
183
- else if (renderingDefinition.componentName === FEaaS_1.BYOC_WRAPPER_RENDERING_NAME) {
184
- // wrapping with error boundary could cause problems in case where parent component uses withPlaceholder HOC and tries to access its children props
185
- // that's why we need to mark BYOC wrapper dynamic
186
- return {
187
- component: FEaaS_1.BYOCWrapper,
188
- dynamic: true,
189
- componentType: 'universal',
190
- isEmpty: false,
191
- };
192
- }
193
- logUnknownComponentError();
194
- return {
195
- component: missingComponentComponent !== null && missingComponentComponent !== void 0 ? missingComponentComponent : MissingComponent_1.MissingComponent,
196
- isEmpty: true,
197
- componentType: 'universal',
198
- };
199
- }
200
- // Render SXA Rendering Variant if available
201
- const exportName = (_a = renderingDefinition.params) === null || _a === void 0 ? void 0 : _a.FieldNames;
202
- const renderedComponent = exportName && exportName !== sharedTypes_1.DEFAULT_EXPORT_NAME
203
- ? component[exportName]
204
- : component.default ||
205
- component.Default ||
206
- component;
207
- if (!renderedComponent) {
208
- logUnknownComponentError(exportName !== sharedTypes_1.DEFAULT_EXPORT_NAME ? exportName : undefined);
209
- return {
210
- component: missingComponentComponent !== null && missingComponentComponent !== void 0 ? missingComponentComponent : MissingComponent_1.MissingComponent,
211
- isEmpty: true,
212
- componentType: 'universal',
213
- };
214
- }
215
- const dynamic = !!((_b = renderedComponent.render) === null || _b === void 0 ? void 0 : _b.preload) ||
216
- renderingDefinition.componentName === FEaaS_1.BYOC_WRAPPER_RENDERING_NAME;
217
- // all dynamic elements will have a separate render prop
218
- return {
219
- component: renderedComponent,
220
- dynamic,
221
- componentType: component
222
- .componentType,
223
- isEmpty: false,
224
- };
225
- };
226
- exports.getComponentForRendering = getComponentForRendering;
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getComponentForRendering = exports.getRenderedComponentProps = exports.renderEmptyPlaceholder = exports.getSXAParams = exports.getPlaceholderRenderings = void 0;
18
+ exports.getAppComponentProps = getAppComponentProps;
19
+ const react_1 = __importDefault(require("react"));
20
+ const MissingComponent_1 = require("../MissingComponent");
21
+ const sharedTypes_1 = require("../sharedTypes");
22
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
23
+ const core_1 = require("@sitecore-content-sdk/core");
24
+ const HiddenRendering_1 = require("../HiddenRendering");
25
+ const FEaaS_1 = require("../FEaaS");
26
+ /**
27
+ * Get the renderings for the specified placeholder from the rendering data.
28
+ * @param {ComponentRendering | RouteData } rendering rendering data
29
+ * @param {string} name placeholder name
30
+ * @param {boolean} isEditing whether components should be rendered in editing mode
31
+ * @returns {ComponentRendering[]} array of component renderings
32
+ */
33
+ const getPlaceholderRenderings = (rendering, name, isEditing) => {
34
+ let result;
35
+ let phName = name.slice();
36
+ /**
37
+ * Process (SXA) dynamic placeholders
38
+ * Find and replace the matching dynamic placeholder e.g 'nameOfContainer-{*}' with the requested e.g. 'nameOfContainer-1'.
39
+ * For Metadata EditMode, we need to keep the raw placeholder name in place.
40
+ */
41
+ if (rendering === null || rendering === void 0 ? void 0 : rendering.placeholders) {
42
+ Object.entries(rendering.placeholders).forEach(([key, value]) => {
43
+ const patternPlaceholder = (0, layout_1.isDynamicPlaceholder)(key)
44
+ ? (0, layout_1.getDynamicPlaceholderPattern)(key)
45
+ : null;
46
+ if (patternPlaceholder && patternPlaceholder.test(phName)) {
47
+ if (isEditing) {
48
+ phName = key;
49
+ }
50
+ else {
51
+ rendering.placeholders[phName] = value;
52
+ delete rendering.placeholders[key];
53
+ }
54
+ }
55
+ });
56
+ }
57
+ if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {
58
+ result = rendering.placeholders[phName];
59
+ }
60
+ else {
61
+ result = null;
62
+ }
63
+ if (!result) {
64
+ console.warn(`Placeholder '${phName}' was not found in the current rendering data`, JSON.stringify(rendering, null, 2));
65
+ return [];
66
+ }
67
+ return result;
68
+ };
69
+ exports.getPlaceholderRenderings = getPlaceholderRenderings;
70
+ /**
71
+ * Get SXA specific params from Sitecore rendering params
72
+ * @param {ComponentRendering} rendering rendering object
73
+ * @returns {object} converted SXA params
74
+ */
75
+ const getSXAParams = (rendering) => {
76
+ if (!rendering.params)
77
+ return { styles: '' };
78
+ const { GridParameters, Styles } = rendering.params;
79
+ return ((GridParameters || Styles) && {
80
+ styles: `${GridParameters || ''} ${Styles || ''}`,
81
+ });
82
+ };
83
+ exports.getSXAParams = getSXAParams;
84
+ /**
85
+ * Renders the placeholder when it is empty. The required CSS styles are applied to the placeholder in edit mode.
86
+ * @param {React.ReactNode | React.ReactElement[]} node react node
87
+ * @returns react node
88
+ */
89
+ const renderEmptyPlaceholder = (node) => {
90
+ return react_1.default.createElement("div", { className: "sc-jss-empty-placeholder" }, node);
91
+ };
92
+ exports.renderEmptyPlaceholder = renderEmptyPlaceholder;
93
+ /**
94
+ * Get component props to be passed to the rendered component.
95
+ * @param {PlaceholderProps} placeholderProps current placeholder props
96
+ * @param {ComponentRendering} componentRendering rendering to be rendered
97
+ * @param {string} renderingKey unique key to pass over to rendering props
98
+ * @returns {RenderedProps} props to be passed to the rendered component
99
+ */
100
+ const getRenderedComponentProps = (placeholderProps, componentRendering, renderingKey) => {
101
+ // eslint-disable-next-line no-unused-vars
102
+ const { fields, params: placeholderParams } = placeholderProps, passThroughProps = __rest(placeholderProps, ["fields", "params"]);
103
+ delete passThroughProps.missingComponentComponent;
104
+ delete passThroughProps.hiddenRenderingComponent;
105
+ delete passThroughProps.name;
106
+ const mergedContentProps = getAppComponentProps(placeholderProps, componentRendering);
107
+ return Object.assign(Object.assign(Object.assign({ key: renderingKey }, passThroughProps), mergedContentProps), { rendering: componentRendering });
108
+ };
109
+ exports.getRenderedComponentProps = getRenderedComponentProps;
110
+ /**
111
+ * Merge placeholder and component field and params content props.
112
+ * @param {BasePlaceholderProps} placeholderProps placeholder props
113
+ * @param {ComponentRendering} componentRendering component rendering
114
+ * @returns {ComponentProps} merged props
115
+ */
116
+ function getAppComponentProps(placeholderProps, componentRendering) {
117
+ const fields = Object.assign(Object.assign({}, (placeholderProps.fields || {})), (componentRendering.fields || {}));
118
+ const params = Object.assign(Object.assign({}, (placeholderProps.params || {})), (componentRendering.params || {}));
119
+ return {
120
+ fields,
121
+ params: Object.assign(Object.assign({}, params), (0, exports.getSXAParams)(componentRendering)),
122
+ rendering: componentRendering,
123
+ };
124
+ }
125
+ /**
126
+ * Get component implemenation from the component map based on the rendering definition.
127
+ * @param {ComponentRendering} renderingDefinition rendering data
128
+ * @param {string} placeholderName name of current placeholder
129
+ * @param {ComponentMap} componentMap component map for the current app
130
+ * @param {React.ComponentClass} [hiddenRenderingComponent] fallback implementation in to be rendered if the rendering is hidden
131
+ * @param {React.ComponentClass} [missingComponentComponent] fallback implementation in case no component is found in the component map
132
+ * @returns {ContentSDKComponet | null} component implementation or null if no component map is provided
133
+ */
134
+ const getComponentForRendering = (renderingDefinition, placeholderName, componentMap, hiddenRenderingComponent, missingComponentComponent) => {
135
+ var _a, _b;
136
+ const logUnknownComponentError = (variant) => {
137
+ console.error(`Placeholder ${placeholderName} contains unknown component ${renderingDefinition.componentName}${variant ? ` (${variant})` : ''}. Ensure that a React component exists for it, and that it is registered in your component-map file.`);
138
+ };
139
+ if (renderingDefinition.componentName === core_1.constants.HIDDEN_RENDERING_NAME) {
140
+ return {
141
+ component: hiddenRenderingComponent !== null && hiddenRenderingComponent !== void 0 ? hiddenRenderingComponent : HiddenRendering_1.HiddenRendering,
142
+ isEmpty: true,
143
+ componentType: 'universal',
144
+ };
145
+ }
146
+ else if (!renderingDefinition.componentName) {
147
+ return {
148
+ component: () => react_1.default.createElement(react_1.default.Fragment, null),
149
+ isEmpty: true,
150
+ componentType: 'universal',
151
+ };
152
+ }
153
+ let component = null;
154
+ if (!componentMap || componentMap.size === 0) {
155
+ console.warn(`No components were available in component map to service request for component ${renderingDefinition}`);
156
+ }
157
+ else {
158
+ component = componentMap.get(renderingDefinition.componentName);
159
+ }
160
+ if (!component) {
161
+ // Fallback/defaults for Sitecore Component renderings (in case not defined in component map)
162
+ if (renderingDefinition.componentName === FEaaS_1.FEAAS_COMPONENT_RENDERING_NAME) {
163
+ return {
164
+ component: FEaaS_1.FEaaSComponent,
165
+ isEmpty: false,
166
+ componentType: 'universal',
167
+ };
168
+ }
169
+ else if (renderingDefinition.componentName === FEaaS_1.FEAAS_WRAPPER_RENDERING_NAME) {
170
+ return {
171
+ component: FEaaS_1.FEaaSWrapper,
172
+ isEmpty: false,
173
+ componentType: 'universal',
174
+ };
175
+ }
176
+ else if (renderingDefinition.componentName === FEaaS_1.BYOC_COMPONENT_RENDERING_NAME) {
177
+ return {
178
+ component: FEaaS_1.BYOCComponent,
179
+ isEmpty: false,
180
+ componentType: 'universal',
181
+ };
182
+ }
183
+ else if (renderingDefinition.componentName === FEaaS_1.BYOC_WRAPPER_RENDERING_NAME) {
184
+ // wrapping with error boundary could cause problems in case where parent component uses withPlaceholder HOC and tries to access its children props
185
+ // that's why we need to mark BYOC wrapper dynamic
186
+ return {
187
+ component: FEaaS_1.BYOCWrapper,
188
+ dynamic: true,
189
+ componentType: 'universal',
190
+ isEmpty: false,
191
+ };
192
+ }
193
+ logUnknownComponentError();
194
+ return {
195
+ component: missingComponentComponent !== null && missingComponentComponent !== void 0 ? missingComponentComponent : MissingComponent_1.MissingComponent,
196
+ isEmpty: true,
197
+ componentType: 'universal',
198
+ };
199
+ }
200
+ // Render SXA Rendering Variant if available
201
+ const exportName = (_a = renderingDefinition.params) === null || _a === void 0 ? void 0 : _a.FieldNames;
202
+ const renderedComponent = exportName && exportName !== sharedTypes_1.DEFAULT_EXPORT_NAME
203
+ ? component[exportName]
204
+ : component.default ||
205
+ component.Default ||
206
+ component;
207
+ if (!renderedComponent) {
208
+ logUnknownComponentError(exportName !== sharedTypes_1.DEFAULT_EXPORT_NAME ? exportName : undefined);
209
+ return {
210
+ component: missingComponentComponent !== null && missingComponentComponent !== void 0 ? missingComponentComponent : MissingComponent_1.MissingComponent,
211
+ isEmpty: true,
212
+ componentType: 'universal',
213
+ };
214
+ }
215
+ const dynamic = !!((_b = renderedComponent.render) === null || _b === void 0 ? void 0 : _b.preload) ||
216
+ renderingDefinition.componentName === FEaaS_1.BYOC_WRAPPER_RENDERING_NAME;
217
+ // all dynamic elements will have a separate render prop
218
+ return {
219
+ component: renderedComponent,
220
+ dynamic,
221
+ componentType: component
222
+ .componentType,
223
+ isEmpty: false,
224
+ };
225
+ };
226
+ exports.getComponentForRendering = getComponentForRendering;