@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
package/dist/cjs/index.js CHANGED
@@ -1,85 +1,86 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultEmptyFieldEditingComponentText = exports.EditingScripts = exports.withEmptyFieldEditingComponent = exports.withFieldMetadata = exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecore = exports.withSitecore = exports.SitecoreProviderReactContext = exports.SitecoreProvider = exports.File = exports.Link = exports.DesignLibrary = exports.BYOCServerWrapper = exports.FEaaSServerWrapper = exports.FEaaSClientWrapper = exports.FEaaSWrapper = exports.BYOCClientWrapper = exports.BYOCWrapper = exports.fetchBYOCComponentServerProps = exports.BYOCComponent = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.DateField = exports.Text = exports.RichText = exports.Image = exports.AppPlaceholder = exports.Placeholder = exports.Form = exports.mediaApi = exports.ErrorPage = exports.GraphQLRequestClient = exports.DefaultRetryStrategy = exports.DictionaryService = exports.EditMode = exports.getFieldValue = exports.getChildPlaceholder = exports.LayoutService = exports.LayoutServicePageState = exports.getDesignLibraryStylesheetLinks = exports.getContentStylesheetLink = exports.resetEditorChromes = exports.isEditorActive = exports.NativeDataFetcher = exports.MemoryCacheClient = exports.ClientError = exports.enableDebug = exports.constants = void 0;
4
- exports.SitePathService = exports.ClientEditingChromesUpdate = exports.DefaultEmptyFieldEditingComponentImage = void 0;
5
- var core_1 = require("@sitecore-content-sdk/core");
6
- Object.defineProperty(exports, "constants", { enumerable: true, get: function () { return core_1.constants; } });
7
- Object.defineProperty(exports, "enableDebug", { enumerable: true, get: function () { return core_1.enableDebug; } });
8
- Object.defineProperty(exports, "ClientError", { enumerable: true, get: function () { return core_1.ClientError; } });
9
- Object.defineProperty(exports, "MemoryCacheClient", { enumerable: true, get: function () { return core_1.MemoryCacheClient; } });
10
- Object.defineProperty(exports, "NativeDataFetcher", { enumerable: true, get: function () { return core_1.NativeDataFetcher; } });
11
- var editing_1 = require("@sitecore-content-sdk/core/editing");
12
- Object.defineProperty(exports, "isEditorActive", { enumerable: true, get: function () { return editing_1.isEditorActive; } });
13
- Object.defineProperty(exports, "resetEditorChromes", { enumerable: true, get: function () { return editing_1.resetEditorChromes; } });
14
- var layout_1 = require("@sitecore-content-sdk/core/layout");
15
- Object.defineProperty(exports, "getContentStylesheetLink", { enumerable: true, get: function () { return layout_1.getContentStylesheetLink; } });
16
- Object.defineProperty(exports, "getDesignLibraryStylesheetLinks", { enumerable: true, get: function () { return layout_1.getDesignLibraryStylesheetLinks; } });
17
- Object.defineProperty(exports, "LayoutServicePageState", { enumerable: true, get: function () { return layout_1.LayoutServicePageState; } });
18
- Object.defineProperty(exports, "LayoutService", { enumerable: true, get: function () { return layout_1.LayoutService; } });
19
- Object.defineProperty(exports, "getChildPlaceholder", { enumerable: true, get: function () { return layout_1.getChildPlaceholder; } });
20
- Object.defineProperty(exports, "getFieldValue", { enumerable: true, get: function () { return layout_1.getFieldValue; } });
21
- Object.defineProperty(exports, "EditMode", { enumerable: true, get: function () { return layout_1.EditMode; } });
22
- var i18n_1 = require("@sitecore-content-sdk/core/i18n");
23
- Object.defineProperty(exports, "DictionaryService", { enumerable: true, get: function () { return i18n_1.DictionaryService; } });
24
- var client_1 = require("@sitecore-content-sdk/core/client");
25
- Object.defineProperty(exports, "DefaultRetryStrategy", { enumerable: true, get: function () { return client_1.DefaultRetryStrategy; } });
26
- Object.defineProperty(exports, "GraphQLRequestClient", { enumerable: true, get: function () { return client_1.GraphQLRequestClient; } });
27
- Object.defineProperty(exports, "ErrorPage", { enumerable: true, get: function () { return client_1.ErrorPage; } });
28
- var media_1 = require("@sitecore-content-sdk/core/media");
29
- Object.defineProperty(exports, "mediaApi", { enumerable: true, get: function () { return media_1.mediaApi; } });
30
- var Form_1 = require("./components/Form");
31
- Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return Form_1.Form; } });
32
- var Placeholder_1 = require("./components/Placeholder");
33
- Object.defineProperty(exports, "Placeholder", { enumerable: true, get: function () { return Placeholder_1.Placeholder; } });
34
- Object.defineProperty(exports, "AppPlaceholder", { enumerable: true, get: function () { return Placeholder_1.AppPlaceholder; } });
35
- var Image_1 = require("./components/Image");
36
- Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return Image_1.Image; } });
37
- var RichText_1 = require("./components/RichText");
38
- Object.defineProperty(exports, "RichText", { enumerable: true, get: function () { return RichText_1.RichText; } });
39
- var Text_1 = require("./components/Text");
40
- Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return Text_1.Text; } });
41
- var Date_1 = require("./components/Date");
42
- Object.defineProperty(exports, "DateField", { enumerable: true, get: function () { return Date_1.DateField; } });
43
- var FEaaS_1 = require("./components/FEaaS");
44
- Object.defineProperty(exports, "FEaaSComponent", { enumerable: true, get: function () { return FEaaS_1.FEaaSComponent; } });
45
- Object.defineProperty(exports, "fetchFEaaSComponentServerProps", { enumerable: true, get: function () { return FEaaS_1.fetchFEaaSComponentServerProps; } });
46
- Object.defineProperty(exports, "BYOCComponent", { enumerable: true, get: function () { return FEaaS_1.BYOCComponent; } });
47
- Object.defineProperty(exports, "fetchBYOCComponentServerProps", { enumerable: true, get: function () { return FEaaS_1.fetchBYOCComponentServerProps; } });
48
- // leaving original names for backward compatibility
49
- Object.defineProperty(exports, "BYOCWrapper", { enumerable: true, get: function () { return FEaaS_1.BYOCWrapper; } });
50
- Object.defineProperty(exports, "BYOCClientWrapper", { enumerable: true, get: function () { return FEaaS_1.BYOCWrapper; } });
51
- Object.defineProperty(exports, "FEaaSWrapper", { enumerable: true, get: function () { return FEaaS_1.FEaaSWrapper; } });
52
- Object.defineProperty(exports, "FEaaSClientWrapper", { enumerable: true, get: function () { return FEaaS_1.FEaaSWrapper; } });
53
- Object.defineProperty(exports, "FEaaSServerWrapper", { enumerable: true, get: function () { return FEaaS_1.FEaaSServerWrapper; } });
54
- Object.defineProperty(exports, "BYOCServerWrapper", { enumerable: true, get: function () { return FEaaS_1.BYOCServerWrapper; } });
55
- var DesignLibrary_1 = require("./components/DesignLibrary");
56
- Object.defineProperty(exports, "DesignLibrary", { enumerable: true, get: function () { return DesignLibrary_1.DesignLibrary; } });
57
- var Link_1 = require("./components/Link");
58
- Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return Link_1.Link; } });
59
- var File_1 = require("./components/File");
60
- Object.defineProperty(exports, "File", { enumerable: true, get: function () { return File_1.File; } });
61
- var SitecoreProvider_1 = require("./components/SitecoreProvider");
62
- Object.defineProperty(exports, "SitecoreProvider", { enumerable: true, get: function () { return SitecoreProvider_1.SitecoreProvider; } });
63
- Object.defineProperty(exports, "SitecoreProviderReactContext", { enumerable: true, get: function () { return SitecoreProvider_1.SitecoreProviderReactContext; } });
64
- var withSitecore_1 = require("./enhancers/withSitecore");
65
- Object.defineProperty(exports, "withSitecore", { enumerable: true, get: function () { return withSitecore_1.withSitecore; } });
66
- Object.defineProperty(exports, "useSitecore", { enumerable: true, get: function () { return withSitecore_1.useSitecore; } });
67
- var withEditorChromes_1 = require("./enhancers/withEditorChromes");
68
- Object.defineProperty(exports, "withEditorChromes", { enumerable: true, get: function () { return withEditorChromes_1.withEditorChromes; } });
69
- var withPlaceholder_1 = require("./enhancers/withPlaceholder");
70
- Object.defineProperty(exports, "withPlaceholder", { enumerable: true, get: function () { return withPlaceholder_1.withPlaceholder; } });
71
- var withDatasourceCheck_1 = require("./enhancers/withDatasourceCheck");
72
- Object.defineProperty(exports, "withDatasourceCheck", { enumerable: true, get: function () { return withDatasourceCheck_1.withDatasourceCheck; } });
73
- var withFieldMetadata_1 = require("./enhancers/withFieldMetadata");
74
- Object.defineProperty(exports, "withFieldMetadata", { enumerable: true, get: function () { return withFieldMetadata_1.withFieldMetadata; } });
75
- var withEmptyFieldEditingComponent_1 = require("./enhancers/withEmptyFieldEditingComponent");
76
- Object.defineProperty(exports, "withEmptyFieldEditingComponent", { enumerable: true, get: function () { return withEmptyFieldEditingComponent_1.withEmptyFieldEditingComponent; } });
77
- var EditingScripts_1 = require("./components/EditingScripts");
78
- Object.defineProperty(exports, "EditingScripts", { enumerable: true, get: function () { return EditingScripts_1.EditingScripts; } });
79
- var DefaultEmptyFieldEditingComponents_1 = require("./components/DefaultEmptyFieldEditingComponents");
80
- Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentText", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentText; } });
81
- Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentImage", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentImage; } });
82
- var ClientEditingChromesUpdate_1 = require("./components/ClientEditingChromesUpdate");
83
- Object.defineProperty(exports, "ClientEditingChromesUpdate", { enumerable: true, get: function () { return ClientEditingChromesUpdate_1.ClientEditingChromesUpdate; } });
84
- var site_1 = require("@sitecore-content-sdk/core/site");
85
- Object.defineProperty(exports, "SitePathService", { enumerable: true, get: function () { return site_1.SitePathService; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EditingScripts = exports.withEmptyFieldEditingComponent = exports.withFieldMetadata = exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecore = exports.withSitecore = exports.SitecoreProviderReactContext = exports.SitecoreProvider = exports.File = exports.Link = exports.DesignLibraryApp = exports.DesignLibrary = exports.BYOCServerWrapper = exports.FEaaSServerWrapper = exports.FEaaSClientWrapper = exports.FEaaSWrapper = exports.BYOCClientWrapper = exports.BYOCWrapper = exports.fetchBYOCComponentServerProps = exports.BYOCComponent = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.DateField = exports.Text = exports.RichText = exports.Image = exports.AppPlaceholder = exports.Placeholder = exports.Form = exports.mediaApi = exports.ErrorPage = exports.GraphQLRequestClient = exports.DefaultRetryStrategy = exports.DictionaryService = exports.EditMode = exports.getFieldValue = exports.getChildPlaceholder = exports.LayoutService = exports.LayoutServicePageState = exports.getDesignLibraryStylesheetLinks = exports.getContentStylesheetLink = exports.resetEditorChromes = exports.isEditorActive = exports.NativeDataFetcher = exports.MemoryCacheClient = exports.ClientError = exports.enableDebug = exports.constants = void 0;
4
+ exports.SitePathService = exports.ClientEditingChromesUpdate = exports.DefaultEmptyFieldEditingComponentImage = exports.DefaultEmptyFieldEditingComponentText = void 0;
5
+ var core_1 = require("@sitecore-content-sdk/core");
6
+ Object.defineProperty(exports, "constants", { enumerable: true, get: function () { return core_1.constants; } });
7
+ Object.defineProperty(exports, "enableDebug", { enumerable: true, get: function () { return core_1.enableDebug; } });
8
+ Object.defineProperty(exports, "ClientError", { enumerable: true, get: function () { return core_1.ClientError; } });
9
+ Object.defineProperty(exports, "MemoryCacheClient", { enumerable: true, get: function () { return core_1.MemoryCacheClient; } });
10
+ Object.defineProperty(exports, "NativeDataFetcher", { enumerable: true, get: function () { return core_1.NativeDataFetcher; } });
11
+ var editing_1 = require("@sitecore-content-sdk/core/editing");
12
+ Object.defineProperty(exports, "isEditorActive", { enumerable: true, get: function () { return editing_1.isEditorActive; } });
13
+ Object.defineProperty(exports, "resetEditorChromes", { enumerable: true, get: function () { return editing_1.resetEditorChromes; } });
14
+ var layout_1 = require("@sitecore-content-sdk/core/layout");
15
+ Object.defineProperty(exports, "getContentStylesheetLink", { enumerable: true, get: function () { return layout_1.getContentStylesheetLink; } });
16
+ Object.defineProperty(exports, "getDesignLibraryStylesheetLinks", { enumerable: true, get: function () { return layout_1.getDesignLibraryStylesheetLinks; } });
17
+ Object.defineProperty(exports, "LayoutServicePageState", { enumerable: true, get: function () { return layout_1.LayoutServicePageState; } });
18
+ Object.defineProperty(exports, "LayoutService", { enumerable: true, get: function () { return layout_1.LayoutService; } });
19
+ Object.defineProperty(exports, "getChildPlaceholder", { enumerable: true, get: function () { return layout_1.getChildPlaceholder; } });
20
+ Object.defineProperty(exports, "getFieldValue", { enumerable: true, get: function () { return layout_1.getFieldValue; } });
21
+ Object.defineProperty(exports, "EditMode", { enumerable: true, get: function () { return layout_1.EditMode; } });
22
+ var i18n_1 = require("@sitecore-content-sdk/core/i18n");
23
+ Object.defineProperty(exports, "DictionaryService", { enumerable: true, get: function () { return i18n_1.DictionaryService; } });
24
+ var client_1 = require("@sitecore-content-sdk/core/client");
25
+ Object.defineProperty(exports, "DefaultRetryStrategy", { enumerable: true, get: function () { return client_1.DefaultRetryStrategy; } });
26
+ Object.defineProperty(exports, "GraphQLRequestClient", { enumerable: true, get: function () { return client_1.GraphQLRequestClient; } });
27
+ Object.defineProperty(exports, "ErrorPage", { enumerable: true, get: function () { return client_1.ErrorPage; } });
28
+ var media_1 = require("@sitecore-content-sdk/core/media");
29
+ Object.defineProperty(exports, "mediaApi", { enumerable: true, get: function () { return media_1.mediaApi; } });
30
+ var Form_1 = require("./components/Form");
31
+ Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return Form_1.Form; } });
32
+ var Placeholder_1 = require("./components/Placeholder");
33
+ Object.defineProperty(exports, "Placeholder", { enumerable: true, get: function () { return Placeholder_1.Placeholder; } });
34
+ Object.defineProperty(exports, "AppPlaceholder", { enumerable: true, get: function () { return Placeholder_1.AppPlaceholder; } });
35
+ var Image_1 = require("./components/Image");
36
+ Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return Image_1.Image; } });
37
+ var RichText_1 = require("./components/RichText");
38
+ Object.defineProperty(exports, "RichText", { enumerable: true, get: function () { return RichText_1.RichText; } });
39
+ var Text_1 = require("./components/Text");
40
+ Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return Text_1.Text; } });
41
+ var Date_1 = require("./components/Date");
42
+ Object.defineProperty(exports, "DateField", { enumerable: true, get: function () { return Date_1.DateField; } });
43
+ var FEaaS_1 = require("./components/FEaaS");
44
+ Object.defineProperty(exports, "FEaaSComponent", { enumerable: true, get: function () { return FEaaS_1.FEaaSComponent; } });
45
+ Object.defineProperty(exports, "fetchFEaaSComponentServerProps", { enumerable: true, get: function () { return FEaaS_1.fetchFEaaSComponentServerProps; } });
46
+ Object.defineProperty(exports, "BYOCComponent", { enumerable: true, get: function () { return FEaaS_1.BYOCComponent; } });
47
+ Object.defineProperty(exports, "fetchBYOCComponentServerProps", { enumerable: true, get: function () { return FEaaS_1.fetchBYOCComponentServerProps; } });
48
+ // leaving original names for backward compatibility
49
+ Object.defineProperty(exports, "BYOCWrapper", { enumerable: true, get: function () { return FEaaS_1.BYOCWrapper; } });
50
+ Object.defineProperty(exports, "BYOCClientWrapper", { enumerable: true, get: function () { return FEaaS_1.BYOCWrapper; } });
51
+ Object.defineProperty(exports, "FEaaSWrapper", { enumerable: true, get: function () { return FEaaS_1.FEaaSWrapper; } });
52
+ Object.defineProperty(exports, "FEaaSClientWrapper", { enumerable: true, get: function () { return FEaaS_1.FEaaSWrapper; } });
53
+ Object.defineProperty(exports, "FEaaSServerWrapper", { enumerable: true, get: function () { return FEaaS_1.FEaaSServerWrapper; } });
54
+ Object.defineProperty(exports, "BYOCServerWrapper", { enumerable: true, get: function () { return FEaaS_1.BYOCServerWrapper; } });
55
+ var DesignLibrary_1 = require("./components/DesignLibrary");
56
+ Object.defineProperty(exports, "DesignLibrary", { enumerable: true, get: function () { return DesignLibrary_1.DesignLibrary; } });
57
+ Object.defineProperty(exports, "DesignLibraryApp", { enumerable: true, get: function () { return DesignLibrary_1.DesignLibraryApp; } });
58
+ var Link_1 = require("./components/Link");
59
+ Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return Link_1.Link; } });
60
+ var File_1 = require("./components/File");
61
+ Object.defineProperty(exports, "File", { enumerable: true, get: function () { return File_1.File; } });
62
+ var SitecoreProvider_1 = require("./components/SitecoreProvider");
63
+ Object.defineProperty(exports, "SitecoreProvider", { enumerable: true, get: function () { return SitecoreProvider_1.SitecoreProvider; } });
64
+ Object.defineProperty(exports, "SitecoreProviderReactContext", { enumerable: true, get: function () { return SitecoreProvider_1.SitecoreProviderReactContext; } });
65
+ var withSitecore_1 = require("./enhancers/withSitecore");
66
+ Object.defineProperty(exports, "withSitecore", { enumerable: true, get: function () { return withSitecore_1.withSitecore; } });
67
+ Object.defineProperty(exports, "useSitecore", { enumerable: true, get: function () { return withSitecore_1.useSitecore; } });
68
+ var withEditorChromes_1 = require("./enhancers/withEditorChromes");
69
+ Object.defineProperty(exports, "withEditorChromes", { enumerable: true, get: function () { return withEditorChromes_1.withEditorChromes; } });
70
+ var withPlaceholder_1 = require("./enhancers/withPlaceholder");
71
+ Object.defineProperty(exports, "withPlaceholder", { enumerable: true, get: function () { return withPlaceholder_1.withPlaceholder; } });
72
+ var withDatasourceCheck_1 = require("./enhancers/withDatasourceCheck");
73
+ Object.defineProperty(exports, "withDatasourceCheck", { enumerable: true, get: function () { return withDatasourceCheck_1.withDatasourceCheck; } });
74
+ var withFieldMetadata_1 = require("./enhancers/withFieldMetadata");
75
+ Object.defineProperty(exports, "withFieldMetadata", { enumerable: true, get: function () { return withFieldMetadata_1.withFieldMetadata; } });
76
+ var withEmptyFieldEditingComponent_1 = require("./enhancers/withEmptyFieldEditingComponent");
77
+ Object.defineProperty(exports, "withEmptyFieldEditingComponent", { enumerable: true, get: function () { return withEmptyFieldEditingComponent_1.withEmptyFieldEditingComponent; } });
78
+ var EditingScripts_1 = require("./components/EditingScripts");
79
+ Object.defineProperty(exports, "EditingScripts", { enumerable: true, get: function () { return EditingScripts_1.EditingScripts; } });
80
+ var DefaultEmptyFieldEditingComponents_1 = require("./components/DefaultEmptyFieldEditingComponents");
81
+ Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentText", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentText; } });
82
+ Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentImage", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentImage; } });
83
+ var ClientEditingChromesUpdate_1 = require("./components/ClientEditingChromesUpdate");
84
+ Object.defineProperty(exports, "ClientEditingChromesUpdate", { enumerable: true, get: function () { return ClientEditingChromesUpdate_1.ClientEditingChromesUpdate; } });
85
+ var site_1 = require("@sitecore-content-sdk/core/site");
86
+ Object.defineProperty(exports, "SitePathService", { enumerable: true, get: function () { return site_1.SitePathService; } });
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rsc = void 0;
4
- // Always false constant to import in the non-RSC contexts using conditional imports
5
- exports.rsc = false;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rsc = void 0;
4
+ // Always false constant to import in the non-RSC contexts using conditional imports
5
+ exports.rsc = false;
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rsc = void 0;
4
- // Always true constant to import in the RSC environment using conditional imports
5
- exports.rsc = true;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rsc = void 0;
4
+ // Always true constant to import in the RSC environment using conditional imports
5
+ exports.rsc = true;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useInfiniteSearch = exports.useSearch = void 0;
4
+ var useSearch_1 = require("./useSearch");
5
+ Object.defineProperty(exports, "useSearch", { enumerable: true, get: function () { return useSearch_1.useSearch; } });
6
+ var useInfiniteSearch_1 = require("./useInfiniteSearch");
7
+ Object.defineProperty(exports, "useInfiniteSearch", { enumerable: true, get: function () { return useInfiniteSearch_1.useInfiniteSearch; } });
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useInfiniteSearch = void 0;
4
+ /* eslint-disable no-unused-vars */
5
+ const react_1 = require("react");
6
+ const utils_1 = require("./utils");
7
+ /**
8
+ * React hook for performing infinite search queries.
9
+ * @param {UseInfiniteSearchOptions} options - Configuration options for the infinite search hook.
10
+ * @returns {UseInfiniteSearchState} The infinite search state.
11
+ * @throws {Error} if the search index ID is not provided.
12
+ * @public
13
+ */
14
+ const useInfiniteSearch = (options) => {
15
+ const { query, searchIndexId, pageSize = utils_1.DEFAULT_PAGE_SIZE, sort, enabled = true } = options;
16
+ const [state, setState] = (0, react_1.useState)(() => {
17
+ const error = !searchIndexId
18
+ ? new Error('useInfiniteSearch: searchIndexId is required when initializing the hook')
19
+ : null;
20
+ const status = !searchIndexId ? 'error' : 'idle';
21
+ return {
22
+ results: [],
23
+ total: 0,
24
+ totalPages: 0,
25
+ error,
26
+ offset: 0,
27
+ status,
28
+ loadMoreStatus: 'idle',
29
+ };
30
+ });
31
+ const hasNextPage = (0, react_1.useMemo)(() => state.results.length < state.total, [state.results.length, state.total]);
32
+ const searchService = (0, utils_1.useSearchService)();
33
+ const abortControllerRef = (0, react_1.useRef)(null);
34
+ const search = (0, react_1.useCallback)(async (offset, isLoadingMore = false) => {
35
+ if (!searchService || !searchIndexId) {
36
+ return;
37
+ }
38
+ abortControllerRef.current = new AbortController();
39
+ const signal = abortControllerRef.current.signal;
40
+ if (isLoadingMore) {
41
+ setState((prev) => (Object.assign(Object.assign({}, prev), { error: null, loadMoreStatus: 'loading' })));
42
+ }
43
+ else {
44
+ setState({
45
+ results: [],
46
+ total: 0,
47
+ totalPages: 0,
48
+ error: null,
49
+ offset: 0,
50
+ status: 'loading',
51
+ loadMoreStatus: 'idle',
52
+ });
53
+ }
54
+ try {
55
+ const searchParams = {
56
+ searchIndexId,
57
+ keyphrase: query,
58
+ limit: pageSize,
59
+ offset,
60
+ sort,
61
+ };
62
+ const { results: searchResults, total: totalResults } = await searchService.search(searchParams, { signal });
63
+ if (signal.aborted) {
64
+ return;
65
+ }
66
+ setState((prev) => {
67
+ const results = isLoadingMore ? [...prev.results, ...searchResults] : searchResults;
68
+ const totalPages = Math.ceil(totalResults / pageSize);
69
+ return {
70
+ results,
71
+ error: null,
72
+ offset,
73
+ status: 'success',
74
+ loadMoreStatus: 'idle',
75
+ total: totalResults,
76
+ totalPages,
77
+ };
78
+ });
79
+ }
80
+ catch (err) {
81
+ // Don't set error if request was aborted
82
+ if (signal.aborted) {
83
+ return;
84
+ }
85
+ const errorMessage = err instanceof Error ? err : new Error(JSON.stringify(err));
86
+ // Don't clean up existing results if appending results
87
+ if (isLoadingMore) {
88
+ setState((prev) => (Object.assign(Object.assign({}, prev), { error: errorMessage, loadMoreStatus: 'error' })));
89
+ }
90
+ else {
91
+ setState({
92
+ results: [],
93
+ total: 0,
94
+ totalPages: 0,
95
+ error: errorMessage,
96
+ offset: 0,
97
+ status: 'error',
98
+ loadMoreStatus: 'idle',
99
+ });
100
+ }
101
+ }
102
+ }, [searchService, pageSize, sort, query, searchIndexId]);
103
+ (0, react_1.useEffect)(() => {
104
+ if (enabled) {
105
+ search(0, false);
106
+ }
107
+ return () => {
108
+ var _a;
109
+ (_a = abortControllerRef.current) === null || _a === void 0 ? void 0 : _a.abort();
110
+ };
111
+ }, [search, enabled]);
112
+ const loadMore = (0, react_1.useCallback)(() => {
113
+ // Don't load more if already loading or no more pages
114
+ if (state.loadMoreStatus === 'loading' || !hasNextPage) {
115
+ return;
116
+ }
117
+ const nextOffset = state.offset + pageSize;
118
+ search(nextOffset, true);
119
+ }, [search, pageSize, state.offset, hasNextPage, state.loadMoreStatus]);
120
+ return (0, react_1.useMemo)(() => ({
121
+ results: state.results,
122
+ status: state.status,
123
+ loadMoreStatus: state.loadMoreStatus,
124
+ total: state.total,
125
+ totalPages: state.totalPages,
126
+ error: state.error,
127
+ loadMore,
128
+ hasNextPage,
129
+ isLoading: state.status === 'loading',
130
+ isSuccess: state.status === 'success',
131
+ isError: state.status === 'error',
132
+ isLoadingMore: state.loadMoreStatus === 'loading',
133
+ isLoadingMoreError: state.loadMoreStatus === 'error',
134
+ }), [state, loadMore, hasNextPage]);
135
+ };
136
+ exports.useInfiniteSearch = useInfiniteSearch;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSearch = void 0;
4
+ const react_1 = require("react");
5
+ const utils_1 = require("./utils");
6
+ /**
7
+ * React hook for performing search queries with pagination.
8
+ * @param {UseSearchOptions} options - Configuration options for the search hook.
9
+ * @returns {UseSearchState} The search state.
10
+ * @throws {Error} if the search index ID is not provided.
11
+ * @public
12
+ */
13
+ const useSearch = (options) => {
14
+ const { query, page = 1, searchIndexId, pageSize = utils_1.DEFAULT_PAGE_SIZE, sort, enabled = true, keepPreviousData = false, } = options;
15
+ const [state, setState] = (0, react_1.useState)(() => {
16
+ const error = !searchIndexId
17
+ ? new Error('useSearch: searchIndexId is required when initializing the hook')
18
+ : null;
19
+ const status = !searchIndexId ? 'error' : 'idle';
20
+ return {
21
+ results: [],
22
+ total: 0,
23
+ totalPages: 0,
24
+ error,
25
+ status,
26
+ previousStatus: 'idle',
27
+ };
28
+ });
29
+ const searchService = (0, utils_1.useSearchService)();
30
+ const abortControllerRef = (0, react_1.useRef)(null);
31
+ const search = (0, react_1.useCallback)(async () => {
32
+ if (!searchService || !searchIndexId) {
33
+ return;
34
+ }
35
+ abortControllerRef.current = new AbortController();
36
+ const signal = abortControllerRef.current.signal;
37
+ setState((prev) => ({
38
+ results: keepPreviousData ? prev.results : [],
39
+ status: 'loading',
40
+ total: keepPreviousData ? prev.total : 0,
41
+ totalPages: keepPreviousData ? prev.totalPages : 0,
42
+ error: null,
43
+ previousStatus: prev.status,
44
+ }));
45
+ try {
46
+ const offset = (0, utils_1.getOffset)(page, pageSize);
47
+ const searchParams = {
48
+ searchIndexId,
49
+ keyphrase: query,
50
+ limit: pageSize,
51
+ offset,
52
+ sort,
53
+ };
54
+ const { results: searchResults, total } = await searchService.search(searchParams, {
55
+ signal,
56
+ });
57
+ if (signal.aborted) {
58
+ return;
59
+ }
60
+ const totalPages = Math.ceil(total / pageSize);
61
+ setState({
62
+ results: searchResults,
63
+ total,
64
+ totalPages,
65
+ status: 'success',
66
+ error: null,
67
+ previousStatus: 'success',
68
+ });
69
+ }
70
+ catch (err) {
71
+ // Don't set error if request was aborted
72
+ if (signal.aborted) {
73
+ return;
74
+ }
75
+ const errorMessage = err instanceof Error ? err : new Error(JSON.stringify(err));
76
+ setState({
77
+ results: [],
78
+ total: 0,
79
+ totalPages: 0,
80
+ status: 'error',
81
+ error: errorMessage,
82
+ previousStatus: 'error',
83
+ });
84
+ }
85
+ }, [searchService, searchIndexId, page, pageSize, sort, query, keepPreviousData]);
86
+ (0, react_1.useEffect)(() => {
87
+ if (enabled) {
88
+ search();
89
+ }
90
+ return () => {
91
+ var _a;
92
+ (_a = abortControllerRef.current) === null || _a === void 0 ? void 0 : _a.abort();
93
+ };
94
+ }, [search, enabled]);
95
+ return (0, react_1.useMemo)(() => ({
96
+ error: state.error,
97
+ results: state.results,
98
+ total: state.total,
99
+ totalPages: state.totalPages,
100
+ status: state.status,
101
+ isLoading: state.status === 'loading',
102
+ isSuccess: state.status === 'success',
103
+ isError: state.status === 'error',
104
+ isPreviousData: keepPreviousData && state.previousStatus === 'success' && state.status === 'loading',
105
+ }), [state, keepPreviousData]);
106
+ };
107
+ exports.useSearch = useSearch;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOffset = exports.DEFAULT_PAGE_SIZE = void 0;
4
+ exports.useSearchService = useSearchService;
5
+ const search_1 = require("@sitecore-content-sdk/search");
6
+ const react_1 = require("react");
7
+ const withSitecore_1 = require("../enhancers/withSitecore");
8
+ exports.DEFAULT_PAGE_SIZE = 10;
9
+ /**
10
+ * Hook to initialize and manage SearchService.
11
+ */
12
+ function useSearchService() {
13
+ var _a, _b;
14
+ const { api } = (0, withSitecore_1.useSitecore)();
15
+ return (0, react_1.useMemo)(() => {
16
+ var _a;
17
+ if (!((_a = api === null || api === void 0 ? void 0 : api.edge) === null || _a === void 0 ? void 0 : _a.clientContextId)) {
18
+ return null;
19
+ }
20
+ return new search_1.SearchService({
21
+ contextId: api.edge.clientContextId,
22
+ edgeUrl: api.edge.edgeUrl,
23
+ });
24
+ }, [(_a = api === null || api === void 0 ? void 0 : api.edge) === null || _a === void 0 ? void 0 : _a.clientContextId, (_b = api === null || api === void 0 ? void 0 : api.edge) === null || _b === void 0 ? void 0 : _b.edgeUrl]);
25
+ }
26
+ /**
27
+ * Calculates the number of items to skip before returning results.
28
+ * @param {number} page - The current page number (1-indexed).
29
+ * @param {number} pageSize - The number of results per page.
30
+ * @returns The number of items to skip before returning results.
31
+ */
32
+ const getOffset = (page, pageSize) => {
33
+ return page === 1 ? 0 : pageSize * (page - 1);
34
+ };
35
+ exports.getOffset = getOffset;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ 'use server';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.updateServerComponentAction = updateServerComponentAction;
5
+ const core_1 = require("@sitecore-content-sdk/core");
6
+ const utils_1 = require("@sitecore-content-sdk/core/utils");
7
+ const editing_1 = require("@sitecore-content-sdk/core/editing");
8
+ /**
9
+ * Server action to update global cache with the provided component updates received from Design Library.
10
+ * Stores the given {@link ComponentUpdateModel} in the global cache using a key based on the component UID.
11
+ * This enables dynamic rendering of server components inside Design Library
12
+ * @param {ComponentUpdateModel} componentUpdate - The component update model containing the UID and optional updated or preview component data.
13
+ * @returns A Promise that resolves when the cache has been updated.
14
+ */
15
+ async function updateServerComponentAction(componentUpdate) {
16
+ core_1.debug.editing(`Updating server component cache for Component: ${componentUpdate.uid}`);
17
+ (0, utils_1.setCache)(`${editing_1.COMPONENT_UPDATE_CACHE_KEY_PREFIX}${componentUpdate.uid}`, componentUpdate);
18
+ }
package/dist/cjs/utils.js CHANGED
@@ -1,38 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDataFromFields = exports.addClassName = void 0;
4
- const layout_1 = require("@sitecore-content-sdk/core/layout");
5
- /**
6
- * "class" property will be transformed into or appended to "className" instead.
7
- * @param {string} otherAttrs all other props included on the image component
8
- * @returns {void}
9
- */
10
- const addClassName = (otherAttrs) => {
11
- if (otherAttrs.class) {
12
- // if any classes are defined properly already
13
- if (otherAttrs.className) {
14
- let className = otherAttrs.className;
15
- className += ` ${otherAttrs.class}`;
16
- otherAttrs.className = className;
17
- }
18
- else {
19
- otherAttrs.className = otherAttrs.class;
20
- }
21
- delete otherAttrs.class;
22
- }
23
- };
24
- exports.addClassName = addClassName;
25
- /**
26
- * Used in FEAAS and BYOC implementations to convert datasource item field values into component props
27
- * @param {ComponentFields} fields field collection from Sitecore
28
- * @returns JSON object that can be used as props
29
- */
30
- const getDataFromFields = (fields) => {
31
- let data = {};
32
- data = Object.entries(fields).reduce((acc, [key]) => {
33
- acc[key] = (0, layout_1.getFieldValue)(fields, key);
34
- return acc;
35
- }, data);
36
- return data;
37
- };
38
- exports.getDataFromFields = getDataFromFields;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDataFromFields = exports.addClassName = void 0;
4
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
5
+ /**
6
+ * "class" property will be transformed into or appended to "className" instead.
7
+ * @param {string} otherAttrs all other props included on the image component
8
+ * @returns {void}
9
+ */
10
+ const addClassName = (otherAttrs) => {
11
+ if (otherAttrs.class) {
12
+ // if any classes are defined properly already
13
+ if (otherAttrs.className) {
14
+ let className = otherAttrs.className;
15
+ className += ` ${otherAttrs.class}`;
16
+ otherAttrs.className = className;
17
+ }
18
+ else {
19
+ otherAttrs.className = otherAttrs.class;
20
+ }
21
+ delete otherAttrs.class;
22
+ }
23
+ };
24
+ exports.addClassName = addClassName;
25
+ /**
26
+ * Used in FEAAS and BYOC implementations to convert datasource item field values into component props
27
+ * @param {ComponentFields} fields field collection from Sitecore
28
+ * @returns JSON object that can be used as props
29
+ */
30
+ const getDataFromFields = (fields) => {
31
+ let data = {};
32
+ data = Object.entries(fields).reduce((acc, [key]) => {
33
+ acc[key] = (0, layout_1.getFieldValue)(fields, key);
34
+ return acc;
35
+ }, data);
36
+ return data;
37
+ };
38
+ exports.getDataFromFields = getDataFromFields;
@@ -1,15 +1,16 @@
1
- 'use client';
2
- import { isEditorActive, resetEditorChromes } from '@sitecore-content-sdk/core/editing';
3
- import React, { useEffect } from 'react';
4
- /**
5
- * Updates editing chromes in app router / RSC context.
6
- * This ensures all the relevant Pages editing markup is applied once all client components are loaded.
7
- */
8
- export const ClientEditingChromesUpdate = () => {
9
- useEffect(() => {
10
- if (isEditorActive()) {
11
- resetEditorChromes();
12
- }
13
- }, []);
14
- return React.createElement(React.Fragment, null);
15
- };
1
+ 'use client';
2
+ import { isEditorActive, resetEditorChromes } from '@sitecore-content-sdk/core/editing';
3
+ import React, { useEffect } from 'react';
4
+ /**
5
+ * Updates editing chromes in app router / RSC context.
6
+ * This ensures all the relevant Pages editing markup is applied once all client components are loaded.
7
+ * @public
8
+ */
9
+ export const ClientEditingChromesUpdate = () => {
10
+ useEffect(() => {
11
+ if (isEditorActive()) {
12
+ resetEditorChromes();
13
+ }
14
+ }, []);
15
+ return React.createElement(React.Fragment, null);
16
+ };