@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,24 +1,29 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.withEditorChromes = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const __1 = require("..");
9
- const withEditorChromes = (WrappedComponent) => {
10
- class Enhancer extends react_1.default.Component {
11
- constructor() {
12
- super(...arguments);
13
- this.displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
14
- }
15
- componentDidUpdate() {
16
- (0, __1.resetEditorChromes)();
17
- }
18
- render() {
19
- return react_1.default.createElement(WrappedComponent, Object.assign({}, this.props));
20
- }
21
- }
22
- return Enhancer;
23
- };
24
- exports.withEditorChromes = withEditorChromes;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.withEditorChromes = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const __1 = require("..");
9
+ /**
10
+ * HOC to inject editor chromes reset on component update.
11
+ * @param {React.ComponentClass<unknown> | React.FC<unknown>} WrappedComponent - The component to wrap.
12
+ * @public
13
+ */
14
+ const withEditorChromes = (WrappedComponent) => {
15
+ class Enhancer extends react_1.default.Component {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
19
+ }
20
+ componentDidUpdate() {
21
+ (0, __1.resetEditorChromes)();
22
+ }
23
+ render() {
24
+ return react_1.default.createElement(WrappedComponent, Object.assign({}, this.props));
25
+ }
26
+ }
27
+ return Enhancer;
28
+ };
29
+ exports.withEditorChromes = withEditorChromes;
@@ -1,70 +1,71 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.withEmptyFieldEditingComponent = withEmptyFieldEditingComponent;
37
- const react_1 = __importStar(require("react"));
38
- const layout_1 = require("@sitecore-content-sdk/core/layout");
39
- /**
40
- * Returns the passed field component or default component in case field value is empty and edit mode is 'metadata'
41
- * @param {ComponentType<FieldComponentProps>} FieldComponent the field component
42
- * @param {WithEmptyFieldEditingComponentProps} options the options of the HOC;
43
- */
44
- function withEmptyFieldEditingComponent(FieldComponent, options) {
45
- const getEmptyFieldEditingComponent = (props) => {
46
- var _a;
47
- const { editable = true } = props;
48
- if (((_a = props.field) === null || _a === void 0 ? void 0 : _a.metadata) && editable && (0, layout_1.isFieldValueEmpty)(props.field)) {
49
- const Component = props.emptyFieldEditingComponent || options.defaultEmptyFieldEditingComponent;
50
- let resolvedProps = props;
51
- // If no custom empty field editing component is provided, we can omit unnecessary props
52
- // to do not insert them to html
53
- if (!props.emptyFieldEditingComponent) {
54
- resolvedProps = Object.assign(Object.assign({}, props), { editable: undefined, field: undefined });
55
- }
56
- return react_1.default.createElement(Component, Object.assign({}, resolvedProps));
57
- }
58
- return null;
59
- };
60
- if (options.isForwardRef) {
61
- return (0, react_1.forwardRef)((props, ref) => {
62
- const emptyFieldEditingComponent = getEmptyFieldEditingComponent(props);
63
- return (emptyFieldEditingComponent || (react_1.default.createElement(FieldComponent, Object.assign({}, props, { ref: ref }))));
64
- });
65
- }
66
- return (props) => {
67
- const emptyFieldEditingComponent = getEmptyFieldEditingComponent(props);
68
- return emptyFieldEditingComponent || react_1.default.createElement(FieldComponent, Object.assign({}, props));
69
- };
70
- }
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.withEmptyFieldEditingComponent = withEmptyFieldEditingComponent;
37
+ const react_1 = __importStar(require("react"));
38
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
39
+ /**
40
+ * Returns the passed field component or default component in case field value is empty and edit mode is 'metadata'
41
+ * @param {ComponentType<FieldComponentProps>} FieldComponent the field component
42
+ * @param {WithEmptyFieldEditingComponentProps} options the options of the HOC;
43
+ * @public
44
+ */
45
+ function withEmptyFieldEditingComponent(FieldComponent, options) {
46
+ const getEmptyFieldEditingComponent = (props) => {
47
+ var _a;
48
+ const { editable = true } = props;
49
+ if (((_a = props.field) === null || _a === void 0 ? void 0 : _a.metadata) && editable && (0, layout_1.isFieldValueEmpty)(props.field)) {
50
+ const Component = props.emptyFieldEditingComponent || options.defaultEmptyFieldEditingComponent;
51
+ let resolvedProps = props;
52
+ // If no custom empty field editing component is provided, we can omit unnecessary props
53
+ // to do not insert them to html
54
+ if (!props.emptyFieldEditingComponent) {
55
+ resolvedProps = Object.assign(Object.assign({}, props), { editable: undefined, field: undefined });
56
+ }
57
+ return react_1.default.createElement(Component, Object.assign({}, resolvedProps));
58
+ }
59
+ return null;
60
+ };
61
+ if (options.isForwardRef) {
62
+ return (0, react_1.forwardRef)((props, ref) => {
63
+ const emptyFieldEditingComponent = getEmptyFieldEditingComponent(props);
64
+ return (emptyFieldEditingComponent || (react_1.default.createElement(FieldComponent, Object.assign({}, props, { ref: ref }))));
65
+ });
66
+ }
67
+ return (props) => {
68
+ const emptyFieldEditingComponent = getEmptyFieldEditingComponent(props);
69
+ return emptyFieldEditingComponent || react_1.default.createElement(FieldComponent, Object.assign({}, props));
70
+ };
71
+ }
@@ -1,67 +1,68 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.withFieldMetadata = withFieldMetadata;
37
- const react_1 = __importStar(require("react"));
38
- const FieldMetadata_1 = require("../components/FieldMetadata");
39
- /**
40
- * Wraps the field component with metadata markup intended to be used for chromes hydration in Pages
41
- * @param {ComponentType<FieldComponentProps>} FieldComponent the field component
42
- * @param {boolean} isForwardRef set to 'true' if forward reference is needed
43
- */
44
- function withFieldMetadata(FieldComponent, isForwardRef = false) {
45
- if (isForwardRef) {
46
- return (0, react_1.forwardRef)((props, ref) => {
47
- var _a;
48
- const { editable = true } = props;
49
- const metadata = (_a = props.field) === null || _a === void 0 ? void 0 : _a.metadata;
50
- if (!metadata || !editable) {
51
- return react_1.default.createElement(FieldComponent, Object.assign({}, props, { ref: ref }));
52
- }
53
- return (react_1.default.createElement(FieldMetadata_1.FieldMetadata, { metadata: metadata },
54
- react_1.default.createElement(FieldComponent, Object.assign({}, props, { ref: ref }))));
55
- });
56
- }
57
- return (props) => {
58
- var _a;
59
- const { editable = true } = props;
60
- const metadata = (_a = props.field) === null || _a === void 0 ? void 0 : _a.metadata;
61
- if (!metadata || !editable) {
62
- return react_1.default.createElement(FieldComponent, Object.assign({}, props));
63
- }
64
- return (react_1.default.createElement(FieldMetadata_1.FieldMetadata, { metadata: metadata },
65
- react_1.default.createElement(FieldComponent, Object.assign({}, props))));
66
- };
67
- }
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.withFieldMetadata = withFieldMetadata;
37
+ const react_1 = __importStar(require("react"));
38
+ const FieldMetadata_1 = require("../components/FieldMetadata");
39
+ /**
40
+ * Wraps the field component with metadata markup intended to be used for chromes hydration in Pages
41
+ * @param {ComponentType<FieldComponentProps>} FieldComponent the field component
42
+ * @param {boolean} isForwardRef set to 'true' if forward reference is needed
43
+ * @public
44
+ */
45
+ function withFieldMetadata(FieldComponent, isForwardRef = false) {
46
+ if (isForwardRef) {
47
+ return (0, react_1.forwardRef)((props, ref) => {
48
+ var _a;
49
+ const { editable = true } = props;
50
+ const metadata = (_a = props.field) === null || _a === void 0 ? void 0 : _a.metadata;
51
+ if (!metadata || !editable) {
52
+ return react_1.default.createElement(FieldComponent, Object.assign({}, props, { ref: ref }));
53
+ }
54
+ return (react_1.default.createElement(FieldMetadata_1.FieldMetadata, { metadata: metadata },
55
+ react_1.default.createElement(FieldComponent, Object.assign({}, props, { ref: ref }))));
56
+ });
57
+ }
58
+ return (props) => {
59
+ var _a;
60
+ const { editable = true } = props;
61
+ const metadata = (_a = props.field) === null || _a === void 0 ? void 0 : _a.metadata;
62
+ if (!metadata || !editable) {
63
+ return react_1.default.createElement(FieldComponent, Object.assign({}, props));
64
+ }
65
+ return (react_1.default.createElement(FieldMetadata_1.FieldMetadata, { metadata: metadata },
66
+ react_1.default.createElement(FieldComponent, Object.assign({}, props))));
67
+ };
68
+ }
@@ -0,0 +1,53 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.withLoadImportMap = withLoadImportMap;
37
+ const react_1 = __importStar(require("react"));
38
+ const SitecoreProvider_1 = require("../components/SitecoreProvider");
39
+ /**
40
+ * Higher-order component that injects the loadImportMap function from context into component props.
41
+ * If the component already receives loadImportMap via props, the prop value takes precedence.
42
+ * @param {React.ComponentClass<T> | React.FC<T>} Component - The component to enhance.
43
+ * @returns {React.ComponentClass<T> | React.FC<T>} The enhanced component with loadImportMap injected.
44
+ */
45
+ function withLoadImportMap(Component) {
46
+ const WithLoadImportMap = (props) => {
47
+ const loadImportMapContext = (0, react_1.useContext)(SitecoreProvider_1.ImportMapReactContext);
48
+ const loadClientImportMap = props.loadImportMap || loadImportMapContext;
49
+ return react_1.default.createElement(Component, Object.assign({}, props, { loadImportMap: loadClientImportMap }));
50
+ };
51
+ WithLoadImportMap.displayName = `withLoadImportMap(${Component.displayName || Component.name || 'Component'})`;
52
+ return WithLoadImportMap;
53
+ }
@@ -1,65 +1,64 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.withPlaceholder = withPlaceholder;
7
- const react_1 = __importDefault(require("react"));
8
- const withComponentMap_1 = require("./withComponentMap");
9
- const withSitecore_1 = require("./withSitecore");
10
- const Placeholder_1 = require("../components/Placeholder");
11
- /**
12
- * HOC to provide client-side placeholder functionality to a component.
13
- * @param {WithPlaceholderSpec} placeholders
14
- * @param {WithPlaceholderOptions} [options]
15
- */
16
- function withPlaceholder(placeholders, options) {
17
- return (WrappedComponent) => {
18
- class WithPlaceholder extends Placeholder_1.PlaceholderComponent {
19
- constructor(props) {
20
- super(props);
21
- }
22
- render() {
23
- let childProps = Object.assign({}, this.props);
24
- delete childProps.componentMap;
25
- if (options && options.propsTransformer) {
26
- childProps = options.propsTransformer(childProps);
27
- }
28
- if (this.state.error) {
29
- if (childProps.errorComponent) {
30
- return react_1.default.createElement(childProps.errorComponent, { error: this.state.error });
31
- }
32
- return (react_1.default.createElement("div", { className: "sc-content-sdk-placeholder-error" },
33
- "A rendering error occurred: ",
34
- this.state.error.message,
35
- "."));
36
- }
37
- const renderingData = options && options.resolvePlaceholderDataFromProps
38
- ? options.resolvePlaceholderDataFromProps(childProps)
39
- : childProps.rendering;
40
- const definitelyArrayPlacholders = !Array.isArray(placeholders)
41
- ? [placeholders]
42
- : placeholders;
43
- definitelyArrayPlacholders.forEach((placeholder) => {
44
- let placeholderData;
45
- if (typeof placeholder !== 'string' && placeholder.placeholder && placeholder.prop) {
46
- placeholderData = (0, Placeholder_1.getPlaceholderRenderings)(renderingData, placeholder.placeholder, childProps.page.mode.isEditing);
47
- if (placeholderData) {
48
- childProps[placeholder.prop] =
49
- Placeholder_1.PlaceholderComponent.getRenderedComponents(this.props, placeholderData);
50
- }
51
- }
52
- else {
53
- placeholderData = (0, Placeholder_1.getPlaceholderRenderings)(renderingData, placeholder, childProps.page.mode.isEditing);
54
- if (placeholderData) {
55
- childProps[placeholder] =
56
- Placeholder_1.PlaceholderComponent.getRenderedComponents(this.props, placeholderData);
57
- }
58
- }
59
- });
60
- return react_1.default.createElement(WrappedComponent, Object.assign({}, childProps));
61
- }
62
- }
63
- return (0, withSitecore_1.withSitecore)()((0, withComponentMap_1.withComponentMap)(WithPlaceholder));
64
- };
65
- }
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.withPlaceholder = withPlaceholder;
7
+ const react_1 = __importDefault(require("react"));
8
+ const withComponentMap_1 = require("./withComponentMap");
9
+ const withSitecore_1 = require("./withSitecore");
10
+ const Placeholder_1 = require("../components/Placeholder");
11
+ const ErrorBoundary_1 = require("../components/ErrorBoundary");
12
+ /**
13
+ * HOC to provide client-side placeholder functionality to a component.
14
+ * @param {WithPlaceholderSpec} placeholders
15
+ * @param {WithPlaceholderOptions} [options]
16
+ * @public
17
+ */
18
+ function withPlaceholder(placeholders, options) {
19
+ return (WrappedComponent) => {
20
+ class WithPlaceholder extends Placeholder_1.PlaceholderComponent {
21
+ constructor(props) {
22
+ super(props);
23
+ }
24
+ render() {
25
+ let childProps = Object.assign({}, this.props);
26
+ delete childProps.componentMap;
27
+ if (options && options.propsTransformer) {
28
+ childProps = options.propsTransformer(childProps);
29
+ }
30
+ if (this.state.error) {
31
+ if (childProps.errorComponent) {
32
+ return react_1.default.createElement(childProps.errorComponent, { error: this.state.error });
33
+ }
34
+ return (react_1.default.createElement(ErrorBoundary_1.ErrorComponent, { message: `A rendering error occurred: ${this.state.error.message}.` }));
35
+ }
36
+ const renderingData = options && options.resolvePlaceholderDataFromProps
37
+ ? options.resolvePlaceholderDataFromProps(childProps)
38
+ : childProps.rendering;
39
+ const definitelyArrayPlacholders = !Array.isArray(placeholders)
40
+ ? [placeholders]
41
+ : placeholders;
42
+ definitelyArrayPlacholders.forEach((placeholder) => {
43
+ let placeholderData;
44
+ if (typeof placeholder !== 'string' && placeholder.placeholder && placeholder.prop) {
45
+ placeholderData = (0, Placeholder_1.getPlaceholderRenderings)(renderingData, placeholder.placeholder, childProps.page.mode.isEditing);
46
+ if (placeholderData) {
47
+ childProps[placeholder.prop] =
48
+ Placeholder_1.PlaceholderComponent.getRenderedComponents(this.props, placeholderData);
49
+ }
50
+ }
51
+ else {
52
+ placeholderData = (0, Placeholder_1.getPlaceholderRenderings)(renderingData, placeholder, childProps.page.mode.isEditing);
53
+ if (placeholderData) {
54
+ childProps[placeholder] =
55
+ Placeholder_1.PlaceholderComponent.getRenderedComponents(this.props, placeholderData);
56
+ }
57
+ }
58
+ });
59
+ return react_1.default.createElement(WrappedComponent, Object.assign({}, childProps));
60
+ }
61
+ }
62
+ return (0, withSitecore_1.withSitecore)()((0, withComponentMap_1.withComponentMap)(WithPlaceholder));
63
+ };
64
+ }
@@ -1,45 +1,47 @@
1
- "use strict";
2
- 'use client';
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.withSitecore = withSitecore;
8
- exports.useSitecore = useSitecore;
9
- const react_1 = __importDefault(require("react"));
10
- const SitecoreProvider_1 = require("../components/SitecoreProvider");
11
- /**
12
- * @param {WithSitecoreProviderOptions} [options]
13
- */
14
- function withSitecore(options) {
15
- return function withSitecoreProviderHoc(Component) {
16
- return function WithSitecoreProvider(props) {
17
- return (react_1.default.createElement(SitecoreProvider_1.SitecoreProviderReactContext.Consumer, null, (value) => (react_1.default.createElement(Component, Object.assign({}, props, { page: value.page, api: value.api, updatePage: options && options.updatable && value.setPage })))));
18
- };
19
- };
20
- }
21
- /**
22
- * This hook grants acсess to the current Sitecore page and api.
23
- * @param {WithSitecoreOptions} [options] hook options
24
- * @example
25
- * const EditMode = () => {
26
- * const { page } = useSitecore();
27
- * return <span>Edit Mode is {page.mode.isEditing ? 'active' : 'inactive'}</span>
28
- * }
29
- * @example
30
- * const EditMode = () => {
31
- * const { page, updatePage } = useSitecore({ updatable: true });
32
- * const onClick = () => updatePage({ itemId: '123' });
33
- * return <span onClick={onClick}>Item id is {page.itemId}</span>
34
- * }
35
- * @returns {object} { api, page, updatePage }
36
- */
37
- function useSitecore(options) {
38
- const reactContext = react_1.default.useContext(SitecoreProvider_1.SitecoreProviderReactContext);
39
- const updatable = options === null || options === void 0 ? void 0 : options.updatable;
40
- return {
41
- api: reactContext.api,
42
- page: reactContext.page,
43
- updatePage: updatable ? reactContext.setPage : undefined,
44
- };
45
- }
1
+ "use strict";
2
+ 'use client';
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.withSitecore = withSitecore;
8
+ exports.useSitecore = useSitecore;
9
+ const react_1 = __importDefault(require("react"));
10
+ const SitecoreProvider_1 = require("../components/SitecoreProvider");
11
+ /**
12
+ * @param {WithSitecoreProviderOptions} [options]
13
+ * @public
14
+ */
15
+ function withSitecore(options) {
16
+ return function withSitecoreProviderHoc(Component) {
17
+ return function WithSitecoreProvider(props) {
18
+ return (react_1.default.createElement(SitecoreProvider_1.SitecoreProviderReactContext.Consumer, null, (value) => (react_1.default.createElement(Component, Object.assign({}, props, { page: value.page, api: value.api, updatePage: options && options.updatable && value.setPage })))));
19
+ };
20
+ };
21
+ }
22
+ /**
23
+ * This hook grants acсess to the current Sitecore page and api.
24
+ * @param {WithSitecoreOptions} [options] hook options
25
+ * @example
26
+ * const EditMode = () => {
27
+ * const { page } = useSitecore();
28
+ * return <span>Edit Mode is {page.mode.isEditing ? 'active' : 'inactive'}</span>
29
+ * }
30
+ * @example
31
+ * const EditMode = () => {
32
+ * const { page, updatePage } = useSitecore({ updatable: true });
33
+ * const onClick = () => updatePage({ itemId: '123' });
34
+ * return <span onClick={onClick}>Item id is {page.itemId}</span>
35
+ * }
36
+ * @returns {object} { api, page, updatePage }
37
+ * @public
38
+ */
39
+ function useSitecore(options) {
40
+ const reactContext = react_1.default.useContext(SitecoreProvider_1.SitecoreProviderReactContext);
41
+ const updatable = options === null || options === void 0 ? void 0 : options.updatable;
42
+ return {
43
+ api: reactContext.api,
44
+ page: reactContext.page,
45
+ updatePage: updatable ? reactContext.setPage : undefined,
46
+ };
47
+ }