@sitecore-cloudsdk/search 0.5.0 → 0.5.1

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 (169) hide show
  1. package/dist/cjs/package.json +4 -4
  2. package/dist/cjs/src/lib/consts.d.ts +1 -0
  3. package/dist/cjs/src/lib/consts.js +2 -1
  4. package/dist/cjs/src/lib/events/base-widget-event.d.ts +38 -0
  5. package/dist/cjs/src/lib/events/base-widget-event.js +48 -0
  6. package/dist/cjs/src/lib/events/entity-view-event.d.ts +8 -8
  7. package/dist/cjs/src/lib/events/entity-view-event.js +10 -20
  8. package/dist/cjs/src/lib/events/interfaces.d.ts +20 -40
  9. package/dist/cjs/src/lib/events/widget-facet-click-event.d.ts +17 -8
  10. package/dist/cjs/src/lib/events/widget-facet-click-event.js +19 -20
  11. package/dist/cjs/src/lib/events/widget-item-click-event.d.ts +7 -8
  12. package/dist/cjs/src/lib/events/widget-item-click-event.js +9 -20
  13. package/dist/cjs/src/lib/events/widget-navigation-click-event.d.ts +7 -8
  14. package/dist/cjs/src/lib/events/widget-navigation-click-event.js +9 -20
  15. package/dist/cjs/src/lib/events/widget-suggestion-click-event.d.ts +15 -8
  16. package/dist/cjs/src/lib/events/widget-suggestion-click-event.js +17 -20
  17. package/dist/cjs/src/lib/events/widget-view-event.d.ts +15 -8
  18. package/dist/cjs/src/lib/events/widget-view-event.js +17 -20
  19. package/dist/cjs/src/lib/initializer/browser/initializer.d.ts +6 -0
  20. package/dist/cjs/src/lib/initializer/browser/initializer.js +7 -0
  21. package/dist/cjs/src/lib/initializer/server/initializer.d.ts +4 -0
  22. package/dist/cjs/src/lib/initializer/server/initializer.js +4 -0
  23. package/dist/cjs/src/lib/request-entities/context/context.d.ts +24 -24
  24. package/dist/cjs/src/lib/request-entities/context/context.js +24 -24
  25. package/dist/cjs/src/lib/request-entities/filters/base-filter.d.ts +1 -1
  26. package/dist/cjs/src/lib/request-entities/filters/base-filter.js +1 -1
  27. package/dist/cjs/src/lib/request-entities/filters/comparison-filter.d.ts +2 -2
  28. package/dist/cjs/src/lib/request-entities/filters/comparison-filter.js +2 -2
  29. package/dist/cjs/src/lib/request-entities/filters/facet/comparison-facet-filter.d.ts +2 -2
  30. package/dist/cjs/src/lib/request-entities/filters/facet/comparison-facet-filter.js +2 -2
  31. package/dist/cjs/src/lib/request-entities/filters/facet/list-facet-filter.d.ts +3 -3
  32. package/dist/cjs/src/lib/request-entities/filters/facet/list-facet-filter.js +3 -3
  33. package/dist/cjs/src/lib/request-entities/filters/facet/logical-facet-filter.d.ts +3 -3
  34. package/dist/cjs/src/lib/request-entities/filters/facet/logical-facet-filter.js +3 -3
  35. package/dist/cjs/src/lib/request-entities/filters/facet/not-facet-filter.d.ts +7 -0
  36. package/dist/cjs/src/lib/request-entities/filters/facet/not-facet-filter.js +7 -0
  37. package/dist/cjs/src/lib/request-entities/filters/geo-filter.d.ts +7 -2
  38. package/dist/cjs/src/lib/request-entities/filters/geo-filter.js +7 -2
  39. package/dist/cjs/src/lib/request-entities/filters/geo-within-filter.d.ts +8 -2
  40. package/dist/cjs/src/lib/request-entities/filters/geo-within-filter.js +8 -2
  41. package/dist/cjs/src/lib/request-entities/filters/list-filter.d.ts +3 -3
  42. package/dist/cjs/src/lib/request-entities/filters/list-filter.js +3 -3
  43. package/dist/cjs/src/lib/request-entities/filters/logical-filter.d.ts +3 -2
  44. package/dist/cjs/src/lib/request-entities/filters/logical-filter.js +3 -2
  45. package/dist/cjs/src/lib/request-entities/widgets/interfaces.d.ts +2 -0
  46. package/dist/cjs/src/lib/request-entities/widgets/questions-answers-widget-item.d.ts +22 -6
  47. package/dist/cjs/src/lib/request-entities/widgets/questions-answers-widget-item.js +22 -6
  48. package/dist/cjs/src/lib/request-entities/widgets/recommendation-widget-item.d.ts +10 -4
  49. package/dist/cjs/src/lib/request-entities/widgets/recommendation-widget-item.js +10 -4
  50. package/dist/cjs/src/lib/request-entities/widgets/results-widget-item.d.ts +11 -5
  51. package/dist/cjs/src/lib/request-entities/widgets/results-widget-item.js +11 -5
  52. package/dist/cjs/src/lib/request-entities/widgets/rule-widget-item.d.ts +35 -0
  53. package/dist/cjs/src/lib/request-entities/widgets/rule-widget-item.js +35 -0
  54. package/dist/cjs/src/lib/request-entities/widgets/search-widget-item.d.ts +70 -28
  55. package/dist/cjs/src/lib/request-entities/widgets/search-widget-item.js +77 -28
  56. package/dist/cjs/src/lib/request-entities/widgets/utils.d.ts +1 -1
  57. package/dist/cjs/src/lib/request-entities/widgets/utils.js +1 -1
  58. package/dist/cjs/src/lib/request-entities/widgets/widget-item.d.ts +20 -5
  59. package/dist/cjs/src/lib/request-entities/widgets/widget-item.js +20 -5
  60. package/dist/cjs/src/lib/request-entities/widgets/widget-request-data.d.ts +6 -1
  61. package/dist/cjs/src/lib/request-entities/widgets/widget-request-data.js +6 -1
  62. package/dist/cjs/src/lib/requests/browser/get-page-widget-data.d.ts +5 -4
  63. package/dist/cjs/src/lib/requests/browser/get-page-widget-data.js +5 -0
  64. package/dist/cjs/src/lib/requests/browser/get-widget-data.d.ts +1 -1
  65. package/dist/cjs/src/lib/requests/browser/get-widget-data.js +1 -1
  66. package/dist/cjs/src/lib/requests/post-request.d.ts +10 -6
  67. package/dist/cjs/src/lib/requests/post-request.js +2 -1
  68. package/dist/cjs/src/lib/requests/server/entity-view-event-server.d.ts +1 -1
  69. package/dist/cjs/src/lib/requests/server/entity-view-event-server.js +1 -1
  70. package/dist/cjs/src/lib/requests/server/get-page-widget-data-server.d.ts +3 -3
  71. package/dist/cjs/src/lib/requests/server/get-page-widget-data-server.js +5 -0
  72. package/dist/cjs/src/lib/requests/server/get-widget-data-server.d.ts +1 -1
  73. package/dist/cjs/src/lib/requests/server/get-widget-data-server.js +1 -1
  74. package/dist/cjs/src/lib/requests/server/widget-facet-click-event-server.d.ts +1 -1
  75. package/dist/cjs/src/lib/requests/server/widget-facet-click-event-server.js +1 -1
  76. package/dist/cjs/src/lib/requests/server/widget-item-click-event-server.d.ts +1 -1
  77. package/dist/cjs/src/lib/requests/server/widget-item-click-event-server.js +1 -1
  78. package/dist/cjs/src/lib/requests/server/widget-navigation-click-event-server.d.ts +1 -1
  79. package/dist/cjs/src/lib/requests/server/widget-navigation-click-event-server.js +1 -1
  80. package/dist/cjs/src/lib/requests/server/widget-suggestion-click-event-server.d.ts +1 -1
  81. package/dist/cjs/src/lib/requests/server/widget-suggestion-click-event-server.js +1 -1
  82. package/dist/cjs/src/lib/requests/server/widget-view-event-server.d.ts +1 -1
  83. package/dist/cjs/src/lib/requests/server/widget-view-event-server.js +1 -1
  84. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  85. package/dist/esm/package.json +4 -4
  86. package/dist/esm/src/lib/consts.d.ts +1 -0
  87. package/dist/esm/src/lib/consts.js +1 -0
  88. package/dist/esm/src/lib/events/base-widget-event.d.ts +38 -0
  89. package/dist/esm/src/lib/events/base-widget-event.js +44 -0
  90. package/dist/esm/src/lib/events/entity-view-event.d.ts +8 -8
  91. package/dist/esm/src/lib/events/entity-view-event.js +10 -20
  92. package/dist/esm/src/lib/events/interfaces.d.ts +20 -40
  93. package/dist/esm/src/lib/events/widget-facet-click-event.d.ts +17 -8
  94. package/dist/esm/src/lib/events/widget-facet-click-event.js +19 -20
  95. package/dist/esm/src/lib/events/widget-item-click-event.d.ts +7 -8
  96. package/dist/esm/src/lib/events/widget-item-click-event.js +9 -20
  97. package/dist/esm/src/lib/events/widget-navigation-click-event.d.ts +7 -8
  98. package/dist/esm/src/lib/events/widget-navigation-click-event.js +9 -20
  99. package/dist/esm/src/lib/events/widget-suggestion-click-event.d.ts +15 -8
  100. package/dist/esm/src/lib/events/widget-suggestion-click-event.js +17 -20
  101. package/dist/esm/src/lib/events/widget-view-event.d.ts +15 -8
  102. package/dist/esm/src/lib/events/widget-view-event.js +17 -20
  103. package/dist/esm/src/lib/initializer/browser/initializer.d.ts +6 -0
  104. package/dist/esm/src/lib/initializer/browser/initializer.js +8 -1
  105. package/dist/esm/src/lib/initializer/server/initializer.d.ts +4 -0
  106. package/dist/esm/src/lib/initializer/server/initializer.js +4 -0
  107. package/dist/esm/src/lib/request-entities/context/context.d.ts +24 -24
  108. package/dist/esm/src/lib/request-entities/context/context.js +24 -24
  109. package/dist/esm/src/lib/request-entities/filters/base-filter.d.ts +1 -1
  110. package/dist/esm/src/lib/request-entities/filters/base-filter.js +1 -1
  111. package/dist/esm/src/lib/request-entities/filters/comparison-filter.d.ts +2 -2
  112. package/dist/esm/src/lib/request-entities/filters/comparison-filter.js +2 -2
  113. package/dist/esm/src/lib/request-entities/filters/facet/comparison-facet-filter.d.ts +2 -2
  114. package/dist/esm/src/lib/request-entities/filters/facet/comparison-facet-filter.js +2 -2
  115. package/dist/esm/src/lib/request-entities/filters/facet/list-facet-filter.d.ts +3 -3
  116. package/dist/esm/src/lib/request-entities/filters/facet/list-facet-filter.js +3 -3
  117. package/dist/esm/src/lib/request-entities/filters/facet/logical-facet-filter.d.ts +3 -3
  118. package/dist/esm/src/lib/request-entities/filters/facet/logical-facet-filter.js +3 -3
  119. package/dist/esm/src/lib/request-entities/filters/facet/not-facet-filter.d.ts +7 -0
  120. package/dist/esm/src/lib/request-entities/filters/facet/not-facet-filter.js +7 -0
  121. package/dist/esm/src/lib/request-entities/filters/geo-filter.d.ts +7 -2
  122. package/dist/esm/src/lib/request-entities/filters/geo-filter.js +7 -2
  123. package/dist/esm/src/lib/request-entities/filters/geo-within-filter.d.ts +8 -2
  124. package/dist/esm/src/lib/request-entities/filters/geo-within-filter.js +8 -2
  125. package/dist/esm/src/lib/request-entities/filters/list-filter.d.ts +3 -3
  126. package/dist/esm/src/lib/request-entities/filters/list-filter.js +3 -3
  127. package/dist/esm/src/lib/request-entities/filters/logical-filter.d.ts +3 -2
  128. package/dist/esm/src/lib/request-entities/filters/logical-filter.js +3 -2
  129. package/dist/esm/src/lib/request-entities/widgets/interfaces.d.ts +2 -0
  130. package/dist/esm/src/lib/request-entities/widgets/questions-answers-widget-item.d.ts +22 -6
  131. package/dist/esm/src/lib/request-entities/widgets/questions-answers-widget-item.js +22 -6
  132. package/dist/esm/src/lib/request-entities/widgets/recommendation-widget-item.d.ts +10 -4
  133. package/dist/esm/src/lib/request-entities/widgets/recommendation-widget-item.js +10 -4
  134. package/dist/esm/src/lib/request-entities/widgets/results-widget-item.d.ts +11 -5
  135. package/dist/esm/src/lib/request-entities/widgets/results-widget-item.js +11 -5
  136. package/dist/esm/src/lib/request-entities/widgets/rule-widget-item.d.ts +35 -0
  137. package/dist/esm/src/lib/request-entities/widgets/rule-widget-item.js +35 -0
  138. package/dist/esm/src/lib/request-entities/widgets/search-widget-item.d.ts +70 -28
  139. package/dist/esm/src/lib/request-entities/widgets/search-widget-item.js +77 -28
  140. package/dist/esm/src/lib/request-entities/widgets/utils.d.ts +1 -1
  141. package/dist/esm/src/lib/request-entities/widgets/utils.js +1 -1
  142. package/dist/esm/src/lib/request-entities/widgets/widget-item.d.ts +20 -5
  143. package/dist/esm/src/lib/request-entities/widgets/widget-item.js +20 -5
  144. package/dist/esm/src/lib/request-entities/widgets/widget-request-data.d.ts +6 -1
  145. package/dist/esm/src/lib/request-entities/widgets/widget-request-data.js +6 -1
  146. package/dist/esm/src/lib/requests/browser/get-page-widget-data.d.ts +5 -4
  147. package/dist/esm/src/lib/requests/browser/get-page-widget-data.js +5 -0
  148. package/dist/esm/src/lib/requests/browser/get-widget-data.d.ts +1 -1
  149. package/dist/esm/src/lib/requests/browser/get-widget-data.js +1 -1
  150. package/dist/esm/src/lib/requests/post-request.d.ts +10 -6
  151. package/dist/esm/src/lib/requests/post-request.js +2 -1
  152. package/dist/esm/src/lib/requests/server/entity-view-event-server.d.ts +1 -1
  153. package/dist/esm/src/lib/requests/server/entity-view-event-server.js +1 -1
  154. package/dist/esm/src/lib/requests/server/get-page-widget-data-server.d.ts +3 -3
  155. package/dist/esm/src/lib/requests/server/get-page-widget-data-server.js +5 -0
  156. package/dist/esm/src/lib/requests/server/get-widget-data-server.d.ts +1 -1
  157. package/dist/esm/src/lib/requests/server/get-widget-data-server.js +1 -1
  158. package/dist/esm/src/lib/requests/server/widget-facet-click-event-server.d.ts +1 -1
  159. package/dist/esm/src/lib/requests/server/widget-facet-click-event-server.js +1 -1
  160. package/dist/esm/src/lib/requests/server/widget-item-click-event-server.d.ts +1 -1
  161. package/dist/esm/src/lib/requests/server/widget-item-click-event-server.js +1 -1
  162. package/dist/esm/src/lib/requests/server/widget-navigation-click-event-server.d.ts +1 -1
  163. package/dist/esm/src/lib/requests/server/widget-navigation-click-event-server.js +1 -1
  164. package/dist/esm/src/lib/requests/server/widget-suggestion-click-event-server.d.ts +1 -1
  165. package/dist/esm/src/lib/requests/server/widget-suggestion-click-event-server.js +1 -1
  166. package/dist/esm/src/lib/requests/server/widget-view-event-server.d.ts +1 -1
  167. package/dist/esm/src/lib/requests/server/widget-view-event-server.js +1 -1
  168. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  169. package/package.json +4 -4
@@ -7,8 +7,14 @@ export class SearchWidgetItem extends ResultsWidgetItem {
7
7
  * Creates and holds the functionality of a search widget item.
8
8
  * @param entity - The widget's item entity.
9
9
  * @param widgetId - The widget's item id.
10
- * @param searchOptions - The widget's search options object.
11
- *
10
+ * @param searchOptions - The widget's {@link SearchOptions} object.
11
+ * @throws - {@link ErrorMessages.IV_0008} | {@link ErrorMessages.IV_0009};
12
+ * @throws - {@link ErrorMessages.IV_0014} | {@link ErrorMessages.IV_0016};
13
+ * @throws - {@link ErrorMessages.IV_0017} | {@link ErrorMessages.IV_0018};
14
+ * @throws - {@link ErrorMessages.IV_0019} | {@link ErrorMessages.IV_0020};
15
+ * @throws - {@link ErrorMessages.IV_0021} | {@link ErrorMessages.IV_0026};
16
+ * @throws - {@link ErrorMessages.IV_0029} | {@link ErrorMessages.IV_0030};
17
+ * @throws - {@link ErrorMessages.IV_0031}
12
18
  */
13
19
  constructor(entity, widgetId, searchOptions) {
14
20
  super(entity, widgetId, {
@@ -39,16 +45,17 @@ export class SearchWidgetItem extends ResultsWidgetItem {
39
45
  this._sort = searchOptions.sort;
40
46
  this._validateSuggestion(searchOptions.suggestion);
41
47
  this._suggestion = searchOptions.suggestion;
48
+ this._disableGrouping = searchOptions.disableGrouping;
42
49
  }
43
50
  /**
44
- * @param personalization - the object of the `personalization` param
51
+ * @param personalization - the object {@link SearchPersonalizationOptions} of the `personalization` param
45
52
  */
46
53
  set personalization(personalization) {
47
54
  this._validatePersonalization(personalization);
48
55
  this._personalization = personalization;
49
56
  }
50
57
  /**
51
- * @returns the `personalization` property of the SearchWidgetItem
58
+ * @returns the {@link SearchPersonalizationOptions} `personalization` property of the SearchWidgetItem
52
59
  */
53
60
  get personalization() {
54
61
  return this._personalization;
@@ -62,8 +69,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
62
69
  /**
63
70
  *
64
71
  * @param personalization - the object of the `personalization` property
65
- * @throws IV_0030 if `personalization.attributes` contains an empty or whitespace string
66
- * @throws IV_0031 if `personalization.ids` contains an empty string
72
+ * @throws - {@link ErrorMessages.IV_0030} | {@link ErrorMessages.IV_0031};
67
73
  */
68
74
  _validatePersonalization(personalization) {
69
75
  if (!personalization)
@@ -78,7 +84,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
78
84
  }
79
85
  /**
80
86
  *
81
- * @returns The personalization property in its DTO format.
87
+ * @returns The personalization property in its DTO format {@link SearchPersonalizationOptionsDto}.
82
88
  */
83
89
  _personalizationToDTO() {
84
90
  if (!this._personalization)
@@ -87,14 +93,14 @@ export class SearchWidgetItem extends ResultsWidgetItem {
87
93
  return { fields: attributes, ...rest };
88
94
  }
89
95
  /**
90
- * @param ranking - the object of the `ranking` param
96
+ * @param ranking - the object {@link SearchRankingOptions}[] of the `ranking` param
91
97
  */
92
98
  set ranking(ranking) {
93
99
  this._validateRanking(ranking);
94
100
  this._ranking = ranking;
95
101
  }
96
102
  /**
97
- * @returns the `ranking` property of the SearchWidgetItem
103
+ * @returns the {@link SearchRankingOptions}[] `ranking` property of the SearchWidgetItem
98
104
  */
99
105
  get ranking() {
100
106
  return this._ranking;
@@ -107,9 +113,8 @@ export class SearchWidgetItem extends ResultsWidgetItem {
107
113
  }
108
114
  /**
109
115
  *
110
- * @param ranking - the object of the `ranking` property
111
- * @throws IV_0016 if `ranking.name` contains an empty string
112
- * @throws IV_0016 if `ranking.weight` is outside of range 1 ~ 100
116
+ * @param ranking - the object {@link SearchRankingOptions}[] of the `ranking` property
117
+ * @throws - {@link ErrorMessages.IV_0016} | {@link ErrorMessages.IV_0029};
113
118
  */
114
119
  _validateRanking(ranking) {
115
120
  ranking?.forEach((rank) => {
@@ -121,18 +126,24 @@ export class SearchWidgetItem extends ResultsWidgetItem {
121
126
  * Sets the search query for the SearchWidgetItem.
122
127
  * This method updates the `query` property of the search configuration within the SearchWidgetItem instance.
123
128
  * The query is used to define specific search criteria.
124
- * @param query - The operator that specifies the search criteria.
129
+ * @param query - The {@link QueryOptions} operator that specifies the search criteria.
130
+ * @throws - {@link ErrorMessages.IV_0008}
125
131
  */
126
132
  set query(query) {
127
133
  this._validateQuery(query);
128
134
  this._query = query;
129
135
  }
130
136
  /**
131
- * @returns The query property of the SearchWidgetItem.
137
+ * @returns The {@link QueryOptions} `query` property of the SearchWidgetItem.
132
138
  */
133
139
  get query() {
134
140
  return this._query;
135
141
  }
142
+ /**
143
+ *
144
+ * @param query - {@link QueryOptions}
145
+ * @throws - {@link ErrorMessages.IV_0009}
146
+ */
136
147
  _validateQuery(query) {
137
148
  this._validateStringLengthInRange1To100(ErrorMessages.IV_0009, query.keyphrase);
138
149
  }
@@ -147,7 +158,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
147
158
  * This method updates the `facet` property of the search configuration within the SearchWidgetItem instance.
148
159
  *
149
160
  * @param facet - The object to set as the search facet.
150
- * @throws Error If the max is less than 1 or greater than 100, indicating an invalid range.
161
+ * @throws - {@link ErrorMessages.IV_0014}
151
162
  */
152
163
  set facet(facet) {
153
164
  this._validateNumberInRange1To100(ErrorMessages.IV_0014, facet.max);
@@ -155,7 +166,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
155
166
  this._facet = facet;
156
167
  }
157
168
  /**
158
- * @returns The facet property of the SearchWidgetItem.
169
+ * @returns The {@link FacetOptions} `facet` property of the SearchWidgetItem.
159
170
  */
160
171
  get facet() {
161
172
  return this._facet;
@@ -170,7 +181,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
170
181
  * Sets the search offset for the WidgetItem.
171
182
  * Updates the offset property to manage pagination. Throws an error if the offset value is less than 0.
172
183
  * @param offset - The non-negative integer to set as the search offset.
173
- * @throws Error If the offset is less than 0.
184
+ * @throws - {@link ErrorMessages.IV_0008}
174
185
  */
175
186
  set offset(offset) {
176
187
  this._validatePositiveInteger(ErrorMessages.IV_0008, offset);
@@ -188,28 +199,50 @@ export class SearchWidgetItem extends ResultsWidgetItem {
188
199
  resetOffset() {
189
200
  this._offset = undefined;
190
201
  }
202
+ /**
203
+ * Sets the disable grouping property of the SearchWidgetItem.
204
+ * @param disableGrouping - A boolean indicating if grouping has been enabled in Sitecore Search.
205
+ */
206
+ set disableGrouping(disableGrouping) {
207
+ this._disableGrouping = disableGrouping;
208
+ }
209
+ /**
210
+ * @returns The disableGrouping property of the SearchWidgetItem.
211
+ */
212
+ get disableGrouping() {
213
+ return this._disableGrouping;
214
+ }
215
+ /**
216
+ * Sets the `disableGrouping` property to undefined.
217
+ */
218
+ resetDisableGrouping() {
219
+ this._disableGrouping = undefined;
220
+ }
191
221
  /**
192
222
  * Sets the suggestion property for SearchWidgetItem
193
- * @param suggestion - the <array>array of objects for the suggestion param
194
- * @throws error if <SearchSuggestionOptions>.<suggestion>.name property is an empty string or contains spaces
195
- * @throws error if <SearchSuggestionOptions>.<suggestion>.max property is not between the range 1 ~ 100
223
+ * @param suggestion - the {@link SearchSuggestionOptions}[] of objects for the suggestion param
224
+ * @throws - {@link ErrorMessages.IV_0014} | {@link ErrorMessages.IV_0016}
196
225
  */
197
226
  set suggestion(suggestion) {
198
227
  this._validateSuggestion(suggestion);
199
228
  this._suggestion = suggestion;
200
229
  }
201
230
  /**
202
- * @returns The suggestion property of the SearchWidgetItem.
231
+ * @returns The {@link SearchSuggestionOptions} `suggestion` property of the SearchWidgetItem.
203
232
  */
204
233
  get suggestion() {
205
234
  return this._suggestion;
206
235
  }
207
236
  /**
208
- * Sets the suggestion property to undefined.
237
+ * Sets the `suggestion` property to undefined.
209
238
  */
210
239
  resetSuggestion() {
211
240
  this._suggestion = undefined;
212
241
  }
242
+ /**
243
+ *
244
+ * @returns the `suggestion` property in its DTO format. {@link SearchSuggestionOptionsDTO}[]
245
+ */
213
246
  _suggestionToDTO() {
214
247
  if (!this._suggestion)
215
248
  return undefined;
@@ -219,8 +252,9 @@ export class SearchWidgetItem extends ResultsWidgetItem {
219
252
  });
220
253
  }
221
254
  /**
222
- * Validates the suggestion property. Throws error if provided with incorrect values.
223
- * @param suggestion - the <array> of objects for the suggestion param
255
+ * Validates the `suggestion` property. Throws error if provided with incorrect values.
256
+ * @param suggestion - the {@link SearchSuggestionOptions}[] of objects for the `suggestion` param
257
+ * @throws - {@link ErrorMessages.IV_0014} | {@link ErrorMessages.IV_0016}
224
258
  */
225
259
  _validateSuggestion(suggestion) {
226
260
  suggestion?.forEach((suggestionItem) => {
@@ -231,7 +265,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
231
265
  /**
232
266
  * Sets the search sort property for SearchWidgetItem
233
267
  * Throws an error if one of the values under sort have an empty `name`
234
- * @param sort - the object for the sort param
268
+ * @param sort - the object {@link SearchSortOptions} for the `sort` param
235
269
  * @throws error if <SearchSortOptions>.<SortValue>.name(s) property is an empty string
236
270
  */
237
271
  set sort(sort) {
@@ -239,19 +273,21 @@ export class SearchWidgetItem extends ResultsWidgetItem {
239
273
  this._sort = sort;
240
274
  }
241
275
  /**
242
- * @returns The sort property of the SearchWidgetItem.
276
+ * @returns The sort {@link SearchSortOptions} `property` of the SearchWidgetItem.
243
277
  */
244
278
  get sort() {
245
279
  return this._sort;
246
280
  }
247
281
  /**
248
- * Sets the sort data to undefined
282
+ * Sets the `sort` property to undefined
249
283
  */
250
284
  resetSort() {
251
285
  this._sort = undefined;
252
286
  }
253
287
  /**
254
288
  * Validates the sort field. Throws an error if incorrect values are provided.
289
+ * @param sort - {@link SearchSortOptions}
290
+ * @throws - {@link ErrorMessages.IV_0026}
255
291
  */
256
292
  _validateSort(sort) {
257
293
  sort?.value?.forEach((sortValueItem) => {
@@ -260,6 +296,10 @@ export class SearchWidgetItem extends ResultsWidgetItem {
260
296
  }
261
297
  /**
262
298
  * Validates the facet type fields. Throws an errors if incorrect values are provided.
299
+ * @param types - {@link FacetTypeOptions}[]
300
+ * @throws - {@link ErrorMessages.IV_0016} | {@link ErrorMessages.IV_0017}
301
+ * @throws - {@link ErrorMessages.IV_0018} | {@link ErrorMessages.IV_0019}
302
+ * @throws - {@link ErrorMessages.IV_0020} | {@link ErrorMessages.IV_0021}
263
303
  */
264
304
  _validateFacetTypes(types) {
265
305
  if (!types)
@@ -277,6 +317,10 @@ export class SearchWidgetItem extends ResultsWidgetItem {
277
317
  }
278
318
  });
279
319
  }
320
+ /**
321
+ * @param type - {@link FacetTypeOptions}
322
+ * @returns the `filter` property in a DTO format.
323
+ */
280
324
  _filterToDTO(type) {
281
325
  if (!type.filter)
282
326
  return undefined;
@@ -286,6 +330,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
286
330
  }
287
331
  /**
288
332
  * Builds the sort piece of the DTO.
333
+ * @param type - {@link FacetTypeOptions}
289
334
  */
290
335
  _facetSortToDTO(type) {
291
336
  if (type.sort)
@@ -296,7 +341,9 @@ export class SearchWidgetItem extends ResultsWidgetItem {
296
341
  return {};
297
342
  }
298
343
  /**
299
- * Builds the filtering options array.
344
+ * Builds the filtering options array in its DTO format.
345
+ * @param filteringOptions - {@link FilteringOptions}
346
+ * @returns - {@link FilteringOptionsDTO}
300
347
  */
301
348
  _filteringOptionsToDTO(filteringOptions) {
302
349
  if (!filteringOptions)
@@ -309,6 +356,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
309
356
  }
310
357
  /**
311
358
  * Maps the search widget item to its DTO format.
359
+ * @returns - {@link SearchWidgetItemDTO}
312
360
  */
313
361
  toDTO() {
314
362
  const baseDTO = super.toDTO();
@@ -338,6 +386,7 @@ export class SearchWidgetItem extends ResultsWidgetItem {
338
386
  ...{ ranking: this._ranking },
339
387
  ...{ suggestion: this._suggestionToDTO() },
340
388
  ...{ sort: this._sort },
389
+ ...{ disable_grouping: this._disableGrouping },
341
390
  ...resultsDTO
342
391
  };
343
392
  const dto = {
@@ -2,7 +2,7 @@ import type { ArrayOfAtLeastOne } from '../filters/interfaces';
2
2
  import type { FacetFilter } from './interfaces';
3
3
  /**
4
4
  * Checks if the provided filters are facet filters.
5
- * @param filters - The filters to check.
5
+ * @param filters - The {@link FacetFilter}[] | string[] to check.
6
6
  * @returns True if the filters are facet filters, false otherwise.
7
7
  */
8
8
  export declare function isFacetFilter(filters: ArrayOfAtLeastOne<string> | ArrayOfAtLeastOne<FacetFilter>): filters is ArrayOfAtLeastOne<FacetFilter>;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Checks if the provided filters are facet filters.
3
- * @param filters - The filters to check.
3
+ * @param filters - The {@link FacetFilter}[] | string[] to check.
4
4
  * @returns True if the filters are facet filters, false otherwise.
5
5
  */
6
6
  export function isFacetFilter(filters) {
@@ -21,26 +21,41 @@ export declare class WidgetItem {
21
21
  * @returns The entity property of the WidgetItem.
22
22
  */
23
23
  get entity(): string;
24
+ /**
25
+ *
26
+ * @param entity - the string to validate
27
+ * @throws - {@link ErrorMessages.MV_0010}
28
+ */
24
29
  private _validateEntity;
25
30
  /**
26
31
  * Sets the id for the WidgetItem.
27
32
  * This method updates the `widgetId` property of WidgetItem instance.
28
33
  *
29
- * @param widgetId - The entity to set.
34
+ * @param widgetId - The widgetId to set.
35
+ * @throws - {@link ErrorMessages.MV_0011}
30
36
  */
31
37
  set widgetId(widgetId: string);
32
38
  /**
33
39
  * @returns The id property of the WidgetItem.
34
40
  */
35
41
  get widgetId(): string;
42
+ /**
43
+ *
44
+ * @param widgetId - the string to validate
45
+ * @throws - {@link ErrorMessages.MV_0011}
46
+ */
36
47
  private _validateWidgetId;
48
+ /**
49
+ *
50
+ * @param errorMessage - {@link ErrorMessages}
51
+ * @param num - the number to validate
52
+ */
37
53
  protected _validateNumberInRange1To100(errorMessage: ErrorMessages, num?: number): void;
38
54
  /**
39
55
  *
40
- * @param errorMessage - The error message
56
+ * @param errorMessage - The error message {@link ErrorMessages}
41
57
  * @param range - min and max range
42
58
  * @param num - number to test
43
- * @returns void
44
59
  */
45
60
  protected _validateNumberInRange(errorMessage: ErrorMessages, range: {
46
61
  min: number;
@@ -51,14 +66,14 @@ export declare class WidgetItem {
51
66
  protected _validateNonEmptyString(errorMessage: ErrorMessages, str?: string): void;
52
67
  /**
53
68
  * Tests if passed string is defined, is not empty string and does not contain whitespaces.
54
- * @param errorMessage - Error Message
69
+ * @param errorMessage - Error Message {@link ErrorMessages}
55
70
  * @param string - the string to test
56
71
  * @returns void
57
72
  * @throws Error when failed
58
73
  */
59
74
  protected _validateNonEmptyNoWhitespaceString(errorMessage: ErrorMessages, string?: string): void;
60
75
  /**
61
- * Maps the widget item to its DTO format.
76
+ * Maps the widget item to its DTO format {@link WidgetItemDTO}.
62
77
  */
63
78
  toDTO(): WidgetItemDTO;
64
79
  }
@@ -29,6 +29,11 @@ export class WidgetItem {
29
29
  get entity() {
30
30
  return this._entity;
31
31
  }
32
+ /**
33
+ *
34
+ * @param entity - the string to validate
35
+ * @throws - {@link ErrorMessages.MV_0010}
36
+ */
32
37
  _validateEntity(entity) {
33
38
  if (!entity || entity.trim().length === 0)
34
39
  throw new Error(ErrorMessages.MV_0010);
@@ -37,7 +42,8 @@ export class WidgetItem {
37
42
  * Sets the id for the WidgetItem.
38
43
  * This method updates the `widgetId` property of WidgetItem instance.
39
44
  *
40
- * @param widgetId - The entity to set.
45
+ * @param widgetId - The widgetId to set.
46
+ * @throws - {@link ErrorMessages.MV_0011}
41
47
  */
42
48
  set widgetId(widgetId) {
43
49
  this._validateWidgetId(widgetId);
@@ -49,10 +55,20 @@ export class WidgetItem {
49
55
  get widgetId() {
50
56
  return this._widgetId;
51
57
  }
58
+ /**
59
+ *
60
+ * @param widgetId - the string to validate
61
+ * @throws - {@link ErrorMessages.MV_0011}
62
+ */
52
63
  _validateWidgetId(widgetId) {
53
64
  if (!widgetId || widgetId.trim().length === 0)
54
65
  throw new Error(ErrorMessages.MV_0011);
55
66
  }
67
+ /**
68
+ *
69
+ * @param errorMessage - {@link ErrorMessages}
70
+ * @param num - the number to validate
71
+ */
56
72
  _validateNumberInRange1To100(errorMessage, num) {
57
73
  if (num === undefined || (num >= 1 && num <= 100))
58
74
  return;
@@ -60,10 +76,9 @@ export class WidgetItem {
60
76
  }
61
77
  /**
62
78
  *
63
- * @param errorMessage - The error message
79
+ * @param errorMessage - The error message {@link ErrorMessages}
64
80
  * @param range - min and max range
65
81
  * @param num - number to test
66
- * @returns void
67
82
  */
68
83
  _validateNumberInRange(errorMessage, range, num) {
69
84
  if (num === undefined || (num >= range.min && num <= range.max))
@@ -87,7 +102,7 @@ export class WidgetItem {
87
102
  }
88
103
  /**
89
104
  * Tests if passed string is defined, is not empty string and does not contain whitespaces.
90
- * @param errorMessage - Error Message
105
+ * @param errorMessage - Error Message {@link ErrorMessages}
91
106
  * @param string - the string to test
92
107
  * @returns void
93
108
  * @throws Error when failed
@@ -98,7 +113,7 @@ export class WidgetItem {
98
113
  throw new Error(errorMessage);
99
114
  }
100
115
  /**
101
- * Maps the widget item to its DTO format.
116
+ * Maps the widget item to its DTO format {@link WidgetItemDTO}.
102
117
  */
103
118
  toDTO() {
104
119
  return {
@@ -7,9 +7,14 @@ export declare class WidgetRequestData {
7
7
  * @param widgetItems - Array of {@link WidgetItem} instances.
8
8
  */
9
9
  constructor(widgetItems: WidgetItem[]);
10
+ /**
11
+ *
12
+ * @param widgetItems - the widget items.
13
+ * @throws - {@link ErrorMessages.MV_0012}
14
+ */
10
15
  private _validateWidgetItems;
11
16
  /**
12
- * Maps the widget items to their DTO format.
17
+ * Maps the widget items to their DTO format {@link WidgetDTO}.
13
18
  */
14
19
  toDTO(): WidgetDTO;
15
20
  }
@@ -9,12 +9,17 @@ export class WidgetRequestData {
9
9
  this._validateWidgetItems(widgetItems);
10
10
  this._widgetItems = widgetItems;
11
11
  }
12
+ /**
13
+ *
14
+ * @param widgetItems - the widget items.
15
+ * @throws - {@link ErrorMessages.MV_0012}
16
+ */
12
17
  _validateWidgetItems(widgetItems) {
13
18
  if (widgetItems.length === 0)
14
19
  throw new Error(ErrorMessages.MV_0012);
15
20
  }
16
21
  /**
17
- * Maps the widget items to their DTO format.
22
+ * Maps the widget items to their DTO format {@link WidgetDTO}.
18
23
  */
19
24
  toDTO() {
20
25
  return {
@@ -3,13 +3,14 @@ import type { Pathname } from '../../types';
3
3
  import type { SearchEndpointResponse } from '../post-request';
4
4
  /**
5
5
  * This function requests widget data for a page.
6
- * @param pathname - The path of the URL.
7
- * @returns The response object.
6
+ * @param pathname - The {@link Pathname} of the URL.
7
+ * @returns The response object promise:{@link SearchEndpointResponse} | null.
8
8
  */
9
9
  export declare function getPageWidgetData(pathname: Pathname): Promise<SearchEndpointResponse | null>;
10
10
  /**
11
11
  * This function requests widget data for a page.
12
- * @param context - The context.
13
- * @returns The response object.
12
+ * @param context - The {@link Context}.
13
+ * @returns The response object promise:{@link SearchEndpointResponse} | null.
14
+ *
14
15
  */
15
16
  export declare function getPageWidgetData(context: Context): Promise<SearchEndpointResponse | null>;
@@ -4,6 +4,11 @@ import { ErrorMessages } from '../../consts';
4
4
  import { awaitInit } from '../../initializer/browser/initializer';
5
5
  import { Context } from '../../request-entities/context/context';
6
6
  import { sendPostRequest } from '../post-request';
7
+ /**
8
+ *
9
+ * @param param - {@link Pathname} | {@link Context}
10
+ * @returns The response object promise:{@link SearchEndpointResponse} | null.
11
+ */
7
12
  export async function getPageWidgetData(param) {
8
13
  await awaitInit();
9
14
  const settings = getCloudSDKSettings();
@@ -4,6 +4,6 @@ import type { SearchEndpointResponse } from '../post-request';
4
4
  /**
5
5
  * This function requests widget data.
6
6
  * @param widgetRequestData - An instance of {@link WidgetRequestData}.
7
- * @returns The response object.
7
+ * @returns The response object promise: {@link SearchEndpointResponse} | null.
8
8
  */
9
9
  export declare function getWidgetData(widgetRequestData: WidgetRequestData, contextRequestData?: Context): Promise<SearchEndpointResponse | null>;
@@ -6,7 +6,7 @@ import { sendPostRequest } from '../post-request';
6
6
  /**
7
7
  * This function requests widget data.
8
8
  * @param widgetRequestData - An instance of {@link WidgetRequestData}.
9
- * @returns The response object.
9
+ * @returns The response object promise: {@link SearchEndpointResponse} | null.
10
10
  */
11
11
  export async function getWidgetData(widgetRequestData, contextRequestData) {
12
12
  await awaitInit();
@@ -2,13 +2,21 @@ import type { BrowserSettings, ServerSettings } from '../types';
2
2
  /**
3
3
  * This function sends a post request to Sitecore EP
4
4
  * @param body - A stringified version of the body to send
5
- * @param settings - The global settings
5
+ * @param settings - The global settings {@link BrowserSettings} | {@link ServerSettings}
6
+ * @returns promise: {@link SearchEndpointResponse}
6
7
  */
7
8
  export declare function sendPostRequest(body: string, settings: BrowserSettings | ServerSettings): Promise<SearchEndpointResponse | null>;
9
+ interface FacetResponse {
10
+ name: string;
11
+ label: string;
12
+ value: FacetValueResponse[];
13
+ }
8
14
  interface FacetValueResponse {
9
15
  id: string;
10
16
  text: string;
11
17
  count: number;
18
+ min?: number;
19
+ max?: number;
12
20
  }
13
21
  interface SortingResponse {
14
22
  choices: Array<{
@@ -39,11 +47,7 @@ export interface SearchEndpointResponse {
39
47
  type: string;
40
48
  used_in: string;
41
49
  entity: string;
42
- facet?: {
43
- name: string;
44
- label: string;
45
- value: FacetValueResponse[];
46
- };
50
+ facet?: FacetResponse[];
47
51
  content?: Array<unknown>;
48
52
  sort?: SortingResponse;
49
53
  total_item?: number;
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * This function sends a post request to Sitecore EP
3
3
  * @param body - A stringified version of the body to send
4
- * @param settings - The global settings
4
+ * @param settings - The global settings {@link BrowserSettings} | {@link ServerSettings}
5
+ * @returns promise: {@link SearchEndpointResponse}
5
6
  */
6
7
  export async function sendPostRequest(body, settings) {
7
8
  const url = `${settings.sitecoreEdgeUrl}/v1/search?sitecoreContextId=${settings.sitecoreEdgeContextId}`;
@@ -2,7 +2,7 @@ import type { Request } from '@sitecore-cloudsdk/utils';
2
2
  import type { EntityViewEventParams } from '../../events/interfaces';
3
3
  /**
4
4
  * This function sends an entity view event from server.
5
- * @param httpRequest - An http request object. Either HttpRequest or MiddlewareRequest.
5
+ * @param httpRequest - An http {@link Request} object. Either HttpRequest or MiddlewareRequest.
6
6
  * @param entityViewEventParams - An object containing conversion event params from {@link EntityViewEventParams}
7
7
  */
8
8
  export declare function entityViewServer(httpRequest: Request, entityViewEventParams: EntityViewEventParams): Promise<import("@sitecore-cloudsdk/core/internal").EPResponse | null>;
@@ -4,7 +4,7 @@ import { EntityViewEvent } from '../../events/entity-view-event';
4
4
  import { verifySearchPackageExistence } from '../../initializer/server/initializer';
5
5
  /**
6
6
  * This function sends an entity view event from server.
7
- * @param httpRequest - An http request object. Either HttpRequest or MiddlewareRequest.
7
+ * @param httpRequest - An http {@link Request} object. Either HttpRequest or MiddlewareRequest.
8
8
  * @param entityViewEventParams - An object containing conversion event params from {@link EntityViewEventParams}
9
9
  */
10
10
  export async function entityViewServer(httpRequest, entityViewEventParams) {
@@ -3,13 +3,13 @@ import type { Pathname } from '../../types';
3
3
  import type { SearchEndpointResponse } from '../post-request';
4
4
  /**
5
5
  * This function requests widget data for a page from server side.
6
- * @param pathname - The path of the URL.
6
+ * @param pathname - The {@link Pathname} of the URL.
7
7
  * @returns The response object.
8
8
  */
9
9
  export declare function getPageWidgetDataServer(pathname: Pathname): Promise<SearchEndpointResponse | null>;
10
10
  /**
11
11
  * This function requests widget data for a page from server side.
12
- * @param context - The context.
13
- * @returns The response object.
12
+ * @param context - The {@link Context}.
13
+ * @returns The response object promise: {@link SearchEndpointResponse} | null.
14
14
  */
15
15
  export declare function getPageWidgetDataServer(context: Context): Promise<SearchEndpointResponse | null>;
@@ -4,6 +4,11 @@ import { ErrorMessages } from '../../consts';
4
4
  import { verifySearchPackageExistence } from '../../initializer/server/initializer';
5
5
  import { Context } from '../../request-entities/context/context';
6
6
  import { sendPostRequest } from '../post-request';
7
+ /**
8
+ * This function requests widget data for a page from server side.
9
+ * @param param - The {@link Context} | {@link Context}
10
+ * @returns The response object promise: {@link SearchEndpointResponse} | null.
11
+ */
7
12
  export async function getPageWidgetDataServer(param) {
8
13
  verifySearchPackageExistence();
9
14
  const settings = getCloudSDKSettings();
@@ -3,6 +3,6 @@ import type { SearchEndpointResponse } from '../post-request';
3
3
  /**
4
4
  * This function requests widget data from server side.
5
5
  * @param widgetRequestData - An instance of {@link WidgetRequestData}.
6
- * @returns The response object.
6
+ * @returns The response object promise: {@link SearchEndpointResponse} | null.
7
7
  */
8
8
  export declare function getWidgetDataServer(widgetRequestData: WidgetRequestData): Promise<SearchEndpointResponse | null>;
@@ -5,7 +5,7 @@ import { sendPostRequest } from '../post-request';
5
5
  /**
6
6
  * This function requests widget data from server side.
7
7
  * @param widgetRequestData - An instance of {@link WidgetRequestData}.
8
- * @returns The response object.
8
+ * @returns The response object promise: {@link SearchEndpointResponse} | null.
9
9
  */
10
10
  export async function getWidgetDataServer(widgetRequestData) {
11
11
  verifySearchPackageExistence();
@@ -2,7 +2,7 @@ import type { Request } from '@sitecore-cloudsdk/utils';
2
2
  import type { WidgetFacetClickEventParams } from '../../events/interfaces';
3
3
  /**
4
4
  * This function sends a widget facet click event from server.
5
- * @param httpRequest - An http request object. Either HttpRequest or MiddlewareRequest.
5
+ * @param httpRequest - An http {@link Request} object. Either HttpRequest or MiddlewareRequest.
6
6
  * @param widgetFacetClickEventParams - An object containing widget facet click event params
7
7
  * from {@link WidgetFacetClickEventParams}
8
8
  */