@zengenti/contensis-react-base 3.0.0-beta.2 → 3.0.0-beta.20

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 (123) hide show
  1. package/README.md +4 -4
  2. package/cjs/{App-581b6653.js → App-7ecf6d63.js} +43 -27
  3. package/cjs/App-7ecf6d63.js.map +1 -0
  4. package/cjs/{RouteLoader-282c03ab.js → RouteLoader-fb056e9e.js} +44 -30
  5. package/cjs/RouteLoader-fb056e9e.js.map +1 -0
  6. package/cjs/ToJs-5da8a85e.js +124 -0
  7. package/cjs/ToJs-5da8a85e.js.map +1 -0
  8. package/cjs/{actions-12871aca.js → actions-43f4daa4.js} +6 -6
  9. package/cjs/{actions-12871aca.js.map → actions-43f4daa4.js.map} +1 -1
  10. package/cjs/client.js +43 -22
  11. package/cjs/client.js.map +1 -1
  12. package/cjs/contensis-react-base.js +42 -46
  13. package/cjs/contensis-react-base.js.map +1 -1
  14. package/cjs/forms.js +275 -275
  15. package/cjs/forms.js.map +1 -1
  16. package/cjs/fromJSLeaveImmer-65d26804.js +28 -0
  17. package/cjs/fromJSLeaveImmer-65d26804.js.map +1 -0
  18. package/cjs/{login-81d7f9ef.js → login-5e3972d3.js} +28 -31
  19. package/cjs/login-5e3972d3.js.map +1 -0
  20. package/cjs/{reducers-fde41d6b.js → reducers-60dafd94.js} +2 -2
  21. package/cjs/reducers-60dafd94.js.map +1 -0
  22. package/cjs/redux.js +13 -14
  23. package/cjs/redux.js.map +1 -1
  24. package/cjs/routing.js +9 -8
  25. package/cjs/routing.js.map +1 -1
  26. package/cjs/search.js +172 -147
  27. package/cjs/search.js.map +1 -1
  28. package/cjs/{selectors-ed26ed97.js → selectors-2c1b1183.js} +8 -4
  29. package/cjs/selectors-2c1b1183.js.map +1 -0
  30. package/cjs/user.js +16 -16
  31. package/cjs/user.js.map +1 -1
  32. package/cjs/util.js +36 -40
  33. package/cjs/util.js.map +1 -1
  34. package/cjs/{version-f061e409.js → version-6f8f4530.js} +54 -45
  35. package/cjs/version-6f8f4530.js.map +1 -0
  36. package/cjs/{version-0c190929.js → version-dcfdafd9.js} +5 -5
  37. package/cjs/{version-0c190929.js.map → version-dcfdafd9.js.map} +1 -1
  38. package/esm/{App-122f28a3.js → App-3642ea1a.js} +24 -27
  39. package/esm/App-3642ea1a.js.map +1 -0
  40. package/esm/{RouteLoader-c2faac87.js → RouteLoader-c8565e6e.js} +37 -23
  41. package/esm/RouteLoader-c8565e6e.js.map +1 -0
  42. package/esm/ToJs-1f2e6395.js +93 -0
  43. package/esm/ToJs-1f2e6395.js.map +1 -0
  44. package/esm/{actions-3cc39599.js → actions-1e19267f.js} +5 -5
  45. package/esm/{actions-3cc39599.js.map → actions-1e19267f.js.map} +1 -1
  46. package/esm/client.js +22 -20
  47. package/esm/client.js.map +1 -1
  48. package/esm/contensis-react-base.js +24 -28
  49. package/esm/contensis-react-base.js.map +1 -1
  50. package/esm/forms.js +5 -5
  51. package/esm/forms.js.map +1 -1
  52. package/esm/fromJSLeaveImmer-e2f0f331.js +26 -0
  53. package/esm/fromJSLeaveImmer-e2f0f331.js.map +1 -0
  54. package/esm/{login-92db44d1.js → login-1b08ac1a.js} +12 -12
  55. package/esm/login-1b08ac1a.js.map +1 -0
  56. package/esm/{reducers-d6c0edb1.js → reducers-6f6801ed.js} +2 -2
  57. package/esm/reducers-6f6801ed.js.map +1 -0
  58. package/esm/redux.js +14 -13
  59. package/esm/redux.js.map +1 -1
  60. package/esm/routing.js +9 -8
  61. package/esm/routing.js.map +1 -1
  62. package/esm/search.js +142 -135
  63. package/esm/search.js.map +1 -1
  64. package/esm/{selectors-82e71d8e.js → selectors-65f0f31c.js} +9 -6
  65. package/esm/selectors-65f0f31c.js.map +1 -0
  66. package/esm/user.js +15 -15
  67. package/esm/user.js.map +1 -1
  68. package/esm/util.js +5 -5
  69. package/esm/util.js.map +1 -1
  70. package/esm/version-696796d7.js +15 -0
  71. package/esm/{version-59c8f9be.js.map → version-696796d7.js.map} +1 -1
  72. package/esm/{version-cb9cd09d.js → version-eca1e4ca.js} +34 -24
  73. package/esm/version-eca1e4ca.js.map +1 -0
  74. package/models/redux/appstate.d.ts +0 -1
  75. package/models/redux/reducers/navigation.d.ts +1 -6
  76. package/models/redux/reducers/version.d.ts +1 -5
  77. package/models/routing/redux/reducers.d.ts +1 -21
  78. package/models/routing/redux/selectors.d.ts +1 -1
  79. package/models/search/hooks/useMinilist.hook.d.ts +2 -15
  80. package/models/search/models/Queries.d.ts +8 -5
  81. package/models/search/models/Search.d.ts +9 -8
  82. package/models/search/models/SearchProps.d.ts +16 -2
  83. package/models/search/models/SearchState.d.ts +3 -0
  84. package/models/search/models/index.d.ts +2 -2
  85. package/models/search/redux/reducers.d.ts +226 -314
  86. package/models/search/redux/selectors.d.ts +4 -10
  87. package/models/search/search/expressions.d.ts +2 -6
  88. package/models/search/transformations/filter-to-filterexpression.mapper.d.ts +6 -0
  89. package/models/search/transformations/filters-to-filterexpressions.mapper.d.ts +3 -0
  90. package/models/testImmer/redux/reducer.d.ts +1 -7
  91. package/models/user/hocs/withLogin.d.ts +2 -2
  92. package/models/user/hooks/useChangePassword.d.ts +5 -5
  93. package/models/user/hooks/useForgotPassword.d.ts +6 -6
  94. package/models/user/hooks/useLogin.d.ts +7 -45
  95. package/models/user/hooks/useRegistration.d.ts +4 -4
  96. package/models/user/redux/reducers.d.ts +1 -27
  97. package/models/user/redux/selectors.d.ts +28 -71
  98. package/models/util/merge.d.ts +1 -0
  99. package/package-lock.json +1893 -4633
  100. package/package.json +46 -47
  101. package/cjs/App-581b6653.js.map +0 -1
  102. package/cjs/RouteLoader-282c03ab.js.map +0 -1
  103. package/cjs/ToJs-87edc45d.js +0 -230
  104. package/cjs/ToJs-87edc45d.js.map +0 -1
  105. package/cjs/fromJSLeaveImmer-9b550c8e.js +0 -40
  106. package/cjs/fromJSLeaveImmer-9b550c8e.js.map +0 -1
  107. package/cjs/login-81d7f9ef.js.map +0 -1
  108. package/cjs/reducers-fde41d6b.js.map +0 -1
  109. package/cjs/selectors-ed26ed97.js.map +0 -1
  110. package/cjs/version-f061e409.js.map +0 -1
  111. package/esm/App-122f28a3.js.map +0 -1
  112. package/esm/RouteLoader-c2faac87.js.map +0 -1
  113. package/esm/ToJs-52fee252.js +0 -199
  114. package/esm/ToJs-52fee252.js.map +0 -1
  115. package/esm/fromJSLeaveImmer-e44d1a91.js +0 -38
  116. package/esm/fromJSLeaveImmer-e44d1a91.js.map +0 -1
  117. package/esm/login-92db44d1.js.map +0 -1
  118. package/esm/reducers-d6c0edb1.js.map +0 -1
  119. package/esm/selectors-82e71d8e.js.map +0 -1
  120. package/esm/version-59c8f9be.js +0 -15
  121. package/esm/version-cb9cd09d.js.map +0 -1
  122. package/models/search/transformations/filters-to-filterexpression.d.ts +0 -1
  123. package/models/search/transformations/filters-to-filterexpression.mapper.d.ts +0 -2
package/cjs/search.js CHANGED
@@ -5,26 +5,44 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var reactRedux = require('react-redux');
7
7
  var mapJson = require('jsonpath-mapper');
8
- var immer = require('immer');
8
+ var log = require('loglevel');
9
9
  var effects = require('@redux-saga/core/effects');
10
10
  var contensisDeliveryApi = require('contensis-delivery-api');
11
11
  var queryString = require('query-string');
12
- var log = require('loglevel');
13
- var reselect = require('reselect');
14
12
  var contensisCoreApi = require('contensis-core-api');
15
13
  var merge = require('deepmerge');
14
+ var reselect = require('reselect');
15
+ var immer = require('immer');
16
16
  var equals = require('deep-equal');
17
17
 
18
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
19
 
20
+ function _interopNamespace(e) {
21
+ if (e && e.__esModule) return e;
22
+ var n = Object.create(null);
23
+ if (e) {
24
+ Object.keys(e).forEach(function (k) {
25
+ if (k !== 'default') {
26
+ var d = Object.getOwnPropertyDescriptor(e, k);
27
+ Object.defineProperty(n, k, d.get ? d : {
28
+ enumerable: true,
29
+ get: function () { return e[k]; }
30
+ });
31
+ }
32
+ });
33
+ }
34
+ n["default"] = e;
35
+ return Object.freeze(n);
36
+ }
37
+
20
38
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
39
  var mapJson__default = /*#__PURE__*/_interopDefaultLegacy(mapJson);
22
- var queryString__default = /*#__PURE__*/_interopDefaultLegacy(queryString);
40
+ var log__namespace = /*#__PURE__*/_interopNamespace(log);
23
41
  var merge__default = /*#__PURE__*/_interopDefaultLegacy(merge);
24
42
  var equals__default = /*#__PURE__*/_interopDefaultLegacy(equals);
25
43
 
26
44
  /* eslint-disable import/default */
27
- const toJS = WrappedComponent => wrappedComponentProps => {
45
+ const toJS$1 = WrappedComponent => wrappedComponentProps => {
28
46
  const KEY = 0;
29
47
  const VALUE = 1;
30
48
  const propsJS = Object.entries(wrappedComponentProps).reduce((newProps, wrappedComponentProp) => {
@@ -33,7 +51,7 @@ const toJS = WrappedComponent => wrappedComponentProps => {
33
51
  newProps[propKey] = propValue && typeof propValue === 'object' && 'toJS' in propValue ? propValue.toJS() : propValue;
34
52
  return newProps;
35
53
  }, {});
36
- return /*#__PURE__*/React__default['default'].createElement(WrappedComponent, propsJS);
54
+ return /*#__PURE__*/React__default["default"].createElement(WrappedComponent, propsJS);
37
55
  };
38
56
 
39
57
  const ACTION_PREFIX = '@SEARCH/';
@@ -133,30 +151,30 @@ const navigate = (path, state) => {
133
151
  state
134
152
  };
135
153
  };
136
- const clearFilters = () => {
154
+ const clearFilters$1 = () => {
137
155
  return {
138
156
  type: CLEAR_FILTERS
139
157
  };
140
158
  };
141
- const updatePageIndex = pageIndex => {
159
+ const updatePageIndex$1 = pageIndex => {
142
160
  return {
143
161
  type: UPDATE_PAGE_INDEX,
144
162
  pageIndex
145
163
  };
146
164
  };
147
- const updateCurrentFacet = facet => {
165
+ const updateCurrentFacet$1 = facet => {
148
166
  return {
149
167
  type: UPDATE_CURRENT_FACET,
150
168
  facet
151
169
  };
152
170
  };
153
- const updateCurrentTab = id => {
171
+ const updateCurrentTab$1 = id => {
154
172
  return {
155
173
  type: UPDATE_CURRENT_TAB,
156
174
  id
157
175
  };
158
176
  };
159
- const updateSearchTerm = term => {
177
+ const updateSearchTerm$1 = term => {
160
178
  return {
161
179
  type: UPDATE_SEARCH_TERM,
162
180
  term
@@ -169,7 +187,7 @@ const updateSelectedFilters = (filter, key) => {
169
187
  key
170
188
  };
171
189
  };
172
- const updateSortOrder = (orderBy, facet) => {
190
+ const updateSortOrder$1 = (orderBy, facet) => {
173
191
  return {
174
192
  type: UPDATE_SORT_ORDER,
175
193
  orderBy,
@@ -183,22 +201,22 @@ var actions = /*#__PURE__*/Object.freeze({
183
201
  triggerSearch: triggerSearch,
184
202
  initListing: initListing,
185
203
  navigate: navigate,
186
- clearFilters: clearFilters,
187
- updatePageIndex: updatePageIndex,
188
- updateCurrentFacet: updateCurrentFacet,
189
- updateCurrentTab: updateCurrentTab,
190
- updateSearchTerm: updateSearchTerm,
204
+ clearFilters: clearFilters$1,
205
+ updatePageIndex: updatePageIndex$1,
206
+ updateCurrentFacet: updateCurrentFacet$1,
207
+ updateCurrentTab: updateCurrentTab$1,
208
+ updateSearchTerm: updateSearchTerm$1,
191
209
  updateSelectedFilters: updateSelectedFilters,
192
- updateSortOrder: updateSortOrder
210
+ updateSortOrder: updateSortOrder$1
193
211
  });
194
212
 
195
- let Context; // export type Context = 'facets' | 'listings' | 'minilist';
213
+ let Context$1; // export type Context = 'facets' | 'listings' | 'minilist';
196
214
 
197
215
  (function (Context) {
198
216
  Context["facets"] = "facets";
199
217
  Context["listings"] = "listings";
200
218
  Context["minilist"] = "minilist";
201
- })(Context || (Context = {}));
219
+ })(Context$1 || (Context$1 = {}));
202
220
 
203
221
  // or replace with a stub function for non-immutable gets
204
222
 
@@ -229,12 +247,12 @@ const getImmutableOrJS = (state, stateKey, fallbackValue, returnType = globalThi
229
247
  return result;
230
248
  };
231
249
 
232
- const getSearchContext = state => getImmutableOrJS(state, ['search', 'context'], Context.facets);
233
- const getCurrent = (state, context = Context.facets) => context === Context.facets ? getCurrentFacet(state) : getCurrentListing(state);
250
+ const getSearchContext = state => getImmutableOrJS(state, ['search', 'context'], Context$1.facets);
251
+ const getCurrent = (state, context = Context$1.facets) => context === Context$1.facets ? getCurrentFacet(state) : getCurrentListing(state);
234
252
  const getCurrentFacet = state => getImmutableOrJS(state, ['search', 'currentFacet']);
235
253
  const getCurrentListing = state => getImmutableOrJS(state, ['search', 'currentListing']);
236
- const getCurrentTab = state => getImmutableOrJS(state, ['search', Context.facets, getCurrentFacet(state), 'tabId'], 0);
237
- const getFacets = (state, returnType) => getImmutableOrJS(state, ['search', Context.facets], {}, returnType);
254
+ const getCurrentTab = state => getImmutableOrJS(state, ['search', Context$1.facets, getCurrentFacet(state), 'tabId'], 0);
255
+ const getFacets = (state, returnType) => getImmutableOrJS(state, ['search', Context$1.facets], {}, returnType);
238
256
  const getTabFacets = state => Object.fromEntries(Object.entries(getFacets(state, 'js')).filter(([key]) => getImmutableOrJS(getFacets(state), [key, 'tabId'], 0) === getCurrentTab(state)));
239
257
  const getFacetTitles = state => Object.entries(getFacets(state, 'js')).map(([key, facet = {}]) => {
240
258
  var _facet$pagingInfo;
@@ -245,19 +263,19 @@ const getFacetTitles = state => Object.entries(getFacets(state, 'js')).map(([key
245
263
  totalCount: (_facet$pagingInfo = facet.pagingInfo) === null || _facet$pagingInfo === void 0 ? void 0 : _facet$pagingInfo.totalCount
246
264
  };
247
265
  });
248
- const getFacet = (state, facetName = '', context = Context.facets, returnType) => {
266
+ const getFacet = (state, facetName = '', context = Context$1.facets, returnType) => {
249
267
  const currentFacet = facetName || getCurrentFacet(state);
250
268
  return getImmutableOrJS(state, ['search', context, currentFacet], {}, returnType);
251
269
  };
252
270
  const getListing = (state, listing = '') => {
253
271
  const currentListing = listing || getCurrentListing(state);
254
- return getImmutableOrJS(state, ['search', Context.listings, currentListing], {});
272
+ return getImmutableOrJS(state, ['search', Context$1.listings, currentListing], {});
255
273
  };
256
- const getFilters = (state, facet, context = Context.facets, returnType) => {
274
+ const getFilters = (state, facet, context = Context$1.facets, returnType) => {
257
275
  return getImmutableOrJS(state, ['search', context, facet || getCurrent(state, context), 'filters'], {}, returnType);
258
276
  };
259
- const getRenderableFilters = (state, facet = '', context = Context.facets) => Object.fromEntries(Object.entries(getFilters(state, facet, context, 'js')).filter(([, f = {}]) => typeof f.renderable !== 'boolean' ? true : f.renderable));
260
- const getFiltersToLoad = (state, facet, context = Context.facets, returnType) => {
277
+ const getRenderableFilters = (state, facet = '', context = Context$1.facets) => Object.fromEntries(Object.entries(getFilters(state, facet, context, 'js')).filter(([, f = {}]) => typeof f.renderable !== 'boolean' ? true : f.renderable));
278
+ const getFiltersToLoad = (state, facet, context = Context$1.facets, returnType) => {
261
279
  const filters = getFilters(state, facet, context, returnType);
262
280
  const loadedFilters = Object.entries(filters).map(([key, f = {}]) => [key, (f.items || []).filter(i => {
263
281
  const title = i === null || i === void 0 ? void 0 : i.title;
@@ -266,7 +284,7 @@ const getFiltersToLoad = (state, facet, context = Context.facets, returnType) =>
266
284
  return loadedFilters.map(([filterKey, isLoaded]) => !isLoaded ? filterKey : null).filter(f => !!f);
267
285
  }; // We lowercase the filter key unless it's an ISO date string where the T must be uppercase
268
286
 
269
- const getSelectedFilters = (state, facet = '', context = Context.facets, returnType) => {
287
+ const getSelectedFilters = (state, facet = '', context = Context$1.facets, returnType) => {
270
288
  const filters = getFilters(state, facet, context, 'js');
271
289
  const isoDateRegex = RegExp(/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d/);
272
290
  const selectedFilters = Object.fromEntries(Object.entries(filters).map(([key, filter = {}]) => [key, (filter.items || []).filter(item => !!(item.isSelected || false)).map(item => {
@@ -277,56 +295,56 @@ const getSelectedFilters = (state, facet = '', context = Context.facets, returnT
277
295
  const fromJS = makeFromJS(returnType);
278
296
  return fromJS(selectedFilters);
279
297
  };
280
- const getResults = (state, current = '', context = Context.facets, returnType) => {
298
+ const getResults = (state, current = '', context = Context$1.facets, returnType) => {
281
299
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'results'], [], returnType);
282
300
  };
283
- const getIsInternalPaging = (state, current, context = Context.facets) => {
301
+ const getIsInternalPaging = (state, current, context = Context$1.facets) => {
284
302
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'queryParams', 'internalPaging'], false);
285
303
  };
286
- const getIsLoaded = (state, context = Context.facets, facet) => {
304
+ const getIsLoaded = (state, context = Context$1.facets, facet) => {
287
305
  return !!getImmutableOrJS(state, ['search', context, facet || getCurrent(state, context), 'queryDuration'], 0);
288
306
  };
289
- const getIsLoading = (state, context = Context.facets, facet) => {
307
+ const getIsLoading = (state, context = Context$1.facets, facet) => {
290
308
  return getImmutableOrJS(state, ['search', context, facet || getCurrent(state, context), 'entries', 'isLoading']);
291
309
  };
292
310
  const getIsSsr = state => getImmutableOrJS(state, ['search', 'config', 'ssr'], false);
293
- const getFeaturedResults = (state, current = '', context = Context.facets) => {
311
+ const getFeaturedResults = (state, current = '', context = Context$1.facets) => {
294
312
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'featuredResults'], []);
295
313
  };
296
- const getPaging = (state, current = '', context = Context.facets, returnType) => {
314
+ const getPaging = (state, current = '', context = Context$1.facets, returnType) => {
297
315
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo'], {}, returnType);
298
316
  };
299
- const getPageIndex = (state, current = '', context = Context.facets) => {
317
+ const getPageIndex = (state, current = '', context = Context$1.facets) => {
300
318
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'pageIndex']);
301
319
  };
302
- const getPrevPageIndex = (state, current = '', context = Context.facets) => {
320
+ const getPrevPageIndex = (state, current = '', context = Context$1.facets) => {
303
321
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'prevPageIndex']);
304
322
  };
305
- const getPageIsLoading = (state, current = '', context = Context.facets) => {
323
+ const getPageIsLoading = (state, current = '', context = Context$1.facets) => {
306
324
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'isLoading']);
307
325
  };
308
- const getPagesLoaded = (state, current = '', context = Context.facets) => {
326
+ const getPagesLoaded = (state, current = '', context = Context$1.facets) => {
309
327
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'pagesLoaded'], [], 'js');
310
328
  };
311
- const getTotalCount = (state, current = '', context = Context.facets) => {
329
+ const getTotalCount = (state, current = '', context = Context$1.facets) => {
312
330
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'totalCount']);
313
331
  };
314
332
  const getSearchTerm = state => getImmutableOrJS(state, ['search', 'term']);
315
333
  const getSearchTabs = (state, returnType) => getImmutableOrJS(state, ['search', 'tabs'], [], returnType);
316
- const getQueryParams = (state, current = '', context = Context.facets) => {
334
+ const getQueryParams = (state, current = '', context = Context$1.facets) => {
317
335
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'queryParams'], {}, 'js');
318
336
  };
319
337
  const getQueryParameter = ({
320
338
  state,
321
339
  facet,
322
- context = Context.facets
340
+ context = Context$1.facets
323
341
  }, key, ifnull = null) => {
324
342
  return getImmutableOrJS(getQueryParams(state, facet, context), key, ifnull, 'js');
325
343
  };
326
- const getCustomApi = (state, current, context = Context.facets, returnType) => {
344
+ const getCustomApi = (state, current, context = Context$1.facets, returnType) => {
327
345
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'customApi'], null, returnType);
328
346
  };
329
- const getCustomEnv = (state, current, context = Context.facets) => {
347
+ const getCustomEnv = (state, current, context = Context$1.facets) => {
330
348
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'env']);
331
349
  };
332
350
  const getTabsAndFacets = (state, returnType) => {
@@ -342,7 +360,7 @@ const getTabsAndFacets = (state, returnType) => {
342
360
  return 0;
343
361
  }).reduce((a, b) => a + b, 0);
344
362
  return { ...tab,
345
- [Context.facets]: Object.fromEntries(thisTabFacets),
363
+ [Context$1.facets]: Object.fromEntries(thisTabFacets),
346
364
  totalCount: thisTabTotal
347
365
  };
348
366
  });
@@ -382,14 +400,14 @@ const selectFacets = {
382
400
  getPageIsLoading,
383
401
  getPagesLoaded,
384
402
  getPaging,
385
- getQueryParams: (state, facet) => getQueryParams(state, facet, Context.facets),
403
+ getQueryParams: (state, facet) => getQueryParams(state, facet, Context$1.facets),
386
404
  getQueryParameter: ({
387
405
  state,
388
406
  facet
389
407
  }, key, ifnull) => getQueryParameter({
390
408
  state,
391
409
  facet,
392
- context: Context.facets
410
+ context: Context$1.facets
393
411
  }, key, ifnull),
394
412
  getRenderableFilters,
395
413
  getResults,
@@ -404,30 +422,30 @@ const selectFacets = {
404
422
 
405
423
  const selectListing = {
406
424
  getCurrent: getCurrentListing,
407
- getFeaturedResults: (state, listing = '') => getFeaturedResults(state, listing, Context.listings),
408
- getFilters: (state, listing = '') => getFilters(state, listing, Context.listings),
409
- getFiltersToLoad: (state, listing = '') => getFiltersToLoad(state, listing, Context.listings),
425
+ getFeaturedResults: (state, listing = '') => getFeaturedResults(state, listing, Context$1.listings),
426
+ getFilters: (state, listing = '') => getFilters(state, listing, Context$1.listings),
427
+ getFiltersToLoad: (state, listing = '') => getFiltersToLoad(state, listing, Context$1.listings),
410
428
  getListing,
411
- getIsLoaded: state => getIsLoaded(state, Context.listings),
412
- getIsLoading: state => getIsLoading(state, Context.listings),
413
- getPageIndex: (state, listing = '') => getPageIndex(state, listing, Context.listings),
414
- getPaging: (state, listing = '') => getPaging(state, listing, Context.listings),
415
- getPageIsLoading: (state, listing = '') => getPageIsLoading(state, listing, Context.listings),
416
- getPagesLoaded: (state, listing = '') => getPagesLoaded(state, listing, Context.listings),
417
- getQueryParams: (state, listing = '') => getQueryParams(state, listing, Context.listings),
429
+ getIsLoaded: state => getIsLoaded(state, Context$1.listings),
430
+ getIsLoading: state => getIsLoading(state, Context$1.listings),
431
+ getPageIndex: (state, listing = '') => getPageIndex(state, listing, Context$1.listings),
432
+ getPaging: (state, listing = '') => getPaging(state, listing, Context$1.listings),
433
+ getPageIsLoading: (state, listing = '') => getPageIsLoading(state, listing, Context$1.listings),
434
+ getPagesLoaded: (state, listing = '') => getPagesLoaded(state, listing, Context$1.listings),
435
+ getQueryParams: (state, listing = '') => getQueryParams(state, listing, Context$1.listings),
418
436
  getQueryParameter: ({
419
437
  state,
420
438
  facet
421
439
  }, key, ifnull) => getQueryParameter({
422
440
  state,
423
441
  facet,
424
- context: Context.listings
442
+ context: Context$1.listings
425
443
  }, key, ifnull),
426
- getRenderableFilters: (state, listing = '') => getRenderableFilters(state, listing, Context.listings),
427
- getResults: (state, listing = '') => getResults(state, listing, Context.listings),
444
+ getRenderableFilters: (state, listing = '') => getRenderableFilters(state, listing, Context$1.listings),
445
+ getResults: (state, listing = '') => getResults(state, listing, Context$1.listings),
428
446
  getSearchTerm,
429
- getTotalCount: (state, listing = '') => getTotalCount(state, listing, Context.listings),
430
- getSelectedFilters: (state, listing = '') => getSelectedFilters(state, listing, Context.listings)
447
+ getTotalCount: (state, listing = '') => getTotalCount(state, listing, Context$1.listings),
448
+ getSelectedFilters: (state, listing = '') => getSelectedFilters(state, listing, Context$1.listings)
431
449
  };
432
450
  const selectCurrentPath = state => getImmutableOrJS(state, ['routing', 'currentPath']);
433
451
  const selectVersionStatus = state => getImmutableOrJS(state, ['version', 'contensisVersionStatus']);
@@ -480,7 +498,7 @@ var selectors = /*#__PURE__*/Object.freeze({
480
498
  /* eslint-disable @typescript-eslint/naming-convention */
481
499
  const withSearch = mappers => SearchComponent => {
482
500
  const Wrapper = props => {
483
- return /*#__PURE__*/React__default['default'].createElement(SearchComponent, props);
501
+ return /*#__PURE__*/React__default["default"].createElement(SearchComponent, props);
484
502
  };
485
503
 
486
504
  Wrapper.displayName = `withSearch(${SearchComponent.displayName || SearchComponent.name})`;
@@ -512,23 +530,23 @@ const withSearch = mappers => SearchComponent => {
512
530
  };
513
531
 
514
532
  const mapDispatchToProps = {
515
- clearFilters: () => withMappers(clearFilters(), mappers),
516
- updateCurrentFacet: facet => withMappers(updateCurrentFacet(facet), mappers),
517
- updateCurrentTab: id => withMappers(updateCurrentTab(id), mappers),
518
- updatePageIndex: pageIndex => withMappers(updatePageIndex(pageIndex), mappers),
519
- updateSearchTerm: term => withMappers(updateSearchTerm(term), mappers),
533
+ clearFilters: () => withMappers(clearFilters$1(), mappers),
534
+ updateCurrentFacet: facet => withMappers(updateCurrentFacet$1(facet), mappers),
535
+ updateCurrentTab: id => withMappers(updateCurrentTab$1(id), mappers),
536
+ updatePageIndex: pageIndex => withMappers(updatePageIndex$1(pageIndex), mappers),
537
+ updateSearchTerm: term => withMappers(updateSearchTerm$1(term), mappers),
520
538
  updateSelectedFilters: (filter, key) => withMappers(updateSelectedFilters(filter, key), mappers),
521
- updateSortOrder: orderBy => withMappers(updateSortOrder(orderBy), mappers)
539
+ updateSortOrder: orderBy => withMappers(updateSortOrder$1(orderBy), mappers)
522
540
  };
523
541
  const connector = reactRedux.connect(mapStateToProps, mapDispatchToProps);
524
- return connector(toJS(Wrapper));
542
+ return connector(toJS$1(Wrapper));
525
543
  };
526
544
 
527
545
  /* eslint-disable @typescript-eslint/naming-convention */
528
546
 
529
547
  const withListing = mappers => ListingComponent => {
530
548
  const Wrapper = props => {
531
- return /*#__PURE__*/React__default['default'].createElement(ListingComponent, props);
549
+ return /*#__PURE__*/React__default["default"].createElement(ListingComponent, props);
532
550
  };
533
551
 
534
552
  Wrapper.displayName = `withListing(${ListingComponent.displayName || ListingComponent.name})`;
@@ -564,14 +582,14 @@ const withListing = mappers => ListingComponent => {
564
582
  };
565
583
 
566
584
  const mapDispatchToProps = {
567
- clearFilters: () => withMappers(clearFilters(), mappers),
568
- updateCurrentFacet: facet => withMappers(updateCurrentFacet(facet), mappers),
569
- updatePageIndex: pageIndex => withMappers(updatePageIndex(pageIndex), mappers),
570
- updateSearchTerm: term => withMappers(updateSearchTerm(term), mappers),
585
+ clearFilters: () => withMappers(clearFilters$1(), mappers),
586
+ updateCurrentFacet: facet => withMappers(updateCurrentFacet$1(facet), mappers),
587
+ updatePageIndex: pageIndex => withMappers(updatePageIndex$1(pageIndex), mappers),
588
+ updateSearchTerm: term => withMappers(updateSearchTerm$1(term), mappers),
571
589
  updateSelectedFilters: (filter, key) => withMappers(updateSelectedFilters(filter, key), mappers),
572
- updateSortOrder: orderBy => withMappers(updateSortOrder(orderBy), mappers)
590
+ updateSortOrder: orderBy => withMappers(updateSortOrder$1(orderBy), mappers)
573
591
  };
574
- return reactRedux.connect(mapStateToProps, mapDispatchToProps)(toJS(Wrapper));
592
+ return reactRedux.connect(mapStateToProps, mapDispatchToProps)(toJS$1(Wrapper));
575
593
  };
576
594
 
577
595
  const getClientConfig = (project, env) => {
@@ -780,7 +798,7 @@ const extractQuotedPhrases = searchTerm => {
780
798
  return (searchTerm.match(pattern) || []).map(match => match.replace(/"/g, ''));
781
799
  };
782
800
  const buildUrl = (route, params) => {
783
- const qs = queryString__default['default'].stringify(params);
801
+ const qs = queryString.stringify(params);
784
802
  const path = qs ? `${route}?${qs}` : route;
785
803
  return path;
786
804
  };
@@ -885,8 +903,17 @@ const contentTypeIdExpression = (contentTypeIds, webpageTemplates, assetTypes) =
885
903
  const filterExpressions = filters => {
886
904
  if (!filters) return [];
887
905
  const expressions = [];
888
- filters.map(param => {
889
- expressions.push(...fieldExpression(param.key, param.value, param.operator || 'in'));
906
+ filters.map(selectedFilter => {
907
+ if (selectedFilter.logicOperator === 'and') // using 'and' logic operator we loop through each filter
908
+ // and loop through all values to add an expression for each filter value
909
+ selectedFilter.values.forEach(value => expressions.push(...fieldExpression(selectedFilter.key, value, selectedFilter.fieldOperator || 'equalTo')));else if (selectedFilter.logicOperator === 'not') {
910
+ const fieldExpressions = fieldExpression(selectedFilter.key, selectedFilter.values, selectedFilter.fieldOperator || 'in');
911
+ fieldExpressions.forEach(expr => {
912
+ expressions.push(contensisCoreApi.Op.not(expr));
913
+ });
914
+ } // using 'or' logic operator we loop over each filter
915
+ // and simply add the array of values to an expression with an 'in' operator
916
+ else expressions.push(...fieldExpression(selectedFilter.key, selectedFilter.values, selectedFilter.fieldOperator || 'in'));
890
917
  });
891
918
  return expressions;
892
919
  };
@@ -903,8 +930,8 @@ const dataFormatExpression = (contentTypeIds, dataFormat = DataFormats.entry) =>
903
930
  const withExpr = fieldExpression(Fields.sys.contentTypeId, withContentTypeIds)[0];
904
931
  const notExpr = contensisCoreApi.Op.not(fieldExpression(Fields.sys.contentTypeId, notContentTypeIds)[0]);
905
932
  andExpr.add(dataFormatExpr);
906
- if (withContentTypeIds.length > 0) andExpr.add(withExpr);
907
- if (notContentTypeIds.length > 0) andExpr.add(notExpr);
933
+ if (withContentTypeIds.length > 0 && withExpr) andExpr.add(withExpr);
934
+ if (notContentTypeIds.length > 0 && notExpr) andExpr.add(notExpr);
908
935
  return [andExpr];
909
936
  }
910
937
 
@@ -960,8 +987,8 @@ const equalToOrIn = (field, value, operator = 'equalTo') => {
960
987
  if (value.length === 0) return [];
961
988
 
962
989
  if (Array.isArray(value)) {
963
- if (value.length === 1) return [contensisCoreApi.Op[operator](field, value[0], undefined, undefined)];
964
- return [contensisCoreApi.Op.in(field, ...value)];
990
+ if (operator === 'equalTo') return [contensisCoreApi.Op.in(field, ...value)];
991
+ return [contensisCoreApi.Op.or(...value.map(innerValue => contensisCoreApi.Op[operator](field, innerValue, undefined, undefined)))];
965
992
  }
966
993
 
967
994
  return [];
@@ -1041,7 +1068,7 @@ const customWhereExpressions = where => {
1041
1068
  if (idx === 1 && // operator !== 'and' &&
1042
1069
  // operator !== 'or' &&
1043
1070
  operator !== 'between' && operator !== 'distanceWithin') {
1044
- expression = operator === 'freeText' || operator === 'contains' ? contensisCoreApi.Op[operator](field, value) : operator === 'in' ? contensisCoreApi.Op[operator](field, ...value) : contensisCoreApi.Op[operator](field, value);
1071
+ expression = operator === 'freeText' || operator === 'contains' ? contensisCoreApi.Op[operator](field, value) : operator === 'in' ? contensisCoreApi.Op[operator](field, ...value) : operator === 'exists' ? contensisCoreApi.Op[operator](field, value) : contensisCoreApi.Op[operator](field, value);
1045
1072
  if (typeof weight === 'number') expression = expression.weight(weight);
1046
1073
  }
1047
1074
  });
@@ -1154,7 +1181,7 @@ const searchUriTemplate = {
1154
1181
  facet,
1155
1182
  pageIndex
1156
1183
  }) => {
1157
- const currentFacet = getSearchContext(state) !== Context.listings && (facet || getCurrentFacet(state));
1184
+ const currentFacet = getSearchContext(state) !== Context$1.listings && (facet || getCurrentFacet(state));
1158
1185
  const currentPath = selectCurrentPath(state) || '/search';
1159
1186
  const newPath = currentFacet ? `${currentPath}/${currentFacet}` : currentPath;
1160
1187
  if (pageIndex) return `${newPath}/${pageIndex + 1}`;
@@ -1171,15 +1198,15 @@ const searchUriTemplate = {
1171
1198
 
1172
1199
  const stateFilters = term ? {} : Object.fromEntries(Object.entries(getSelectedFilters(state, facet, searchContext, 'js')).map(([key, f]) => [key, f === null || f === void 0 ? void 0 : f.join(',')]));
1173
1200
  const currentSearch = !term && getImmutableOrJS(state, ['routing', 'location', 'search']);
1174
- const currentQs = removeEmptyAttributes(queryString__default['default'].parse(currentSearch));
1201
+ const currentQs = removeEmptyAttributes(queryString.parse(currentSearch));
1175
1202
  if (orderBy) currentQs.orderBy = orderBy;
1176
1203
  const searchTerm = getSearchTerm(state); // Use Immutable's merge to merge the stateFilters with any current Qs
1177
1204
  // to build the new Qs.
1178
1205
 
1179
- const mergedSearch = removeEmptyAttributes({ ...merge__default['default'](currentQs, stateFilters),
1206
+ const mergedSearch = removeEmptyAttributes({ ...merge__default["default"](currentQs, stateFilters),
1180
1207
  term: searchTerm
1181
1208
  });
1182
- return queryString__default['default'].stringify(mergedSearch);
1209
+ return queryString.stringify(mergedSearch);
1183
1210
  },
1184
1211
  hash: {
1185
1212
  $path: 'state',
@@ -1187,7 +1214,7 @@ const searchUriTemplate = {
1187
1214
  }
1188
1215
  };
1189
1216
 
1190
- const mapStateToSearchUri = params => mapJson__default['default'](params, searchUriTemplate);
1217
+ const mapStateToSearchUri = params => mapJson__default["default"](params, searchUriTemplate);
1191
1218
 
1192
1219
  const mapEntriesToSearchResults = ({
1193
1220
  mappers,
@@ -1329,35 +1356,33 @@ const filterTemplate = {
1329
1356
  const filterExpressionMapper = {
1330
1357
  // Expression type: so we can identify how to build the query
1331
1358
  expressionType: ({
1332
- filter
1333
- }) => filter.contentTypeId ? FilterExpressionTypes.contentType : FilterExpressionTypes.field,
1359
+ contentTypeId
1360
+ }) => contentTypeId ? FilterExpressionTypes.contentType : FilterExpressionTypes.field,
1334
1361
  // Key: so we can target the query to a specific field
1335
- key: 'filter.fieldId',
1362
+ key: 'fieldId',
1336
1363
  // Value: so we can filter a specific field by an array of values
1337
1364
  // e.g. taxonomy key or contentTypeId array
1338
- value: 'selectedValue',
1339
- operator: 'filter.fieldOperator'
1365
+ values: 'selectedValues',
1366
+ fieldOperator: 'fieldOperator',
1367
+ logicOperator: 'logicOperator'
1340
1368
  };
1341
1369
 
1342
- const mapFilterToFilterExpression = filter => mapJson__default['default'](filter, filterExpressionMapper);
1370
+ const mapFilterToFilterExpression = filter => mapJson__default["default"](filter, filterExpressionMapper);
1343
1371
 
1344
1372
  const mapFiltersToFilterExpression = (filters, selectedFilters) => {
1345
1373
  if (!selectedFilters || Object.keys(selectedFilters).length === 0) return [];
1346
1374
  const filterExpressions = []; // Iterate through the keys in selectedFilters and locate
1347
1375
  // the items that are selected and queryable
1348
1376
 
1349
- Object.entries(selectedFilters).map(([fkey, selectedValue]) => {
1377
+ Object.entries(selectedFilters).map(([fkey, selectedValues]) => {
1350
1378
  const filter = filters[fkey];
1351
1379
 
1352
- if (selectedValue && filter) {
1353
- const selectedItems = filter.items && filter.items.filter(itm => itm.isSelected) || []; // Where we have a value for a selectedFilter
1380
+ if (selectedValues && filter) {
1381
+ // Where we have a value for a selectedFilter
1354
1382
  // and a filter is found for the current key
1355
1383
  // map the filter to a filterExpression object
1356
-
1357
- const expr = mapFilterToFilterExpression({
1358
- filter,
1359
- selectedItems,
1360
- selectedValue
1384
+ const expr = mapFilterToFilterExpression({ ...filter,
1385
+ selectedValues
1361
1386
  });
1362
1387
  filterExpressions.push(expr);
1363
1388
  }
@@ -1438,7 +1463,7 @@ const queryParamsTemplate = {
1438
1463
 
1439
1464
  return (_getFacet = getFacet(state, facet, context)) === null || _getFacet === void 0 ? void 0 : _getFacet.projectId;
1440
1465
  },
1441
- searchTerm: root => root.context !== Context.minilist || getQueryParameter(root, 'useSearchTerm', false) ? getSearchTerm(root.state) : '',
1466
+ searchTerm: root => root.context !== Context$1.minilist || getQueryParameter(root, 'useSearchTerm', false) ? getSearchTerm(root.state) : '',
1442
1467
  selectedFilters: ({
1443
1468
  state,
1444
1469
  facet,
@@ -1455,7 +1480,7 @@ const queryParamsTemplate = {
1455
1480
  webpageTemplates: root => getQueryParameter(root, 'webpageTemplates', [])
1456
1481
  };
1457
1482
 
1458
- const mapStateToQueryParams = sourceJson => mapJson__default['default'](sourceJson, queryParamsTemplate);
1483
+ const mapStateToQueryParams = sourceJson => mapJson__default["default"](sourceJson, queryParamsTemplate);
1459
1484
 
1460
1485
  /**
1461
1486
  * 1, Generates all the parameters required to run the search query.
@@ -1501,7 +1526,7 @@ const runSearch = (action, state, queryParams) => {
1501
1526
  stateParams.pageIndex = getPageIndex(ogState, facet, context);
1502
1527
  stateParams.searchTerm = getSearchTerm(ogState);
1503
1528
 
1504
- if (context === Context.facets && ssr || // context === Context.minilist ||
1529
+ if (context === Context$1.facets && ssr || // context === Context.minilist ||
1505
1530
  preload || !facetIsLoaded || filterParamsChanged(action) || defaultLang) {
1506
1531
  willRun = true;
1507
1532
  } else {
@@ -1538,7 +1563,7 @@ const filterParamsChanged = (action, state) => {
1538
1563
  params,
1539
1564
  ogState = state
1540
1565
  } = action;
1541
- const selectedFilters = getSelectedFilters(ogState, facet, context);
1566
+ const selectedFilters = getSelectedFilters(ogState, facet, context, 'js');
1542
1567
  const paramsChanged = Object.entries(selectedFilters).map(([filterKey, selectedValues]) => {
1543
1568
  const inboundValues = params && params[filterKey] && params[filterKey].split(',') || [];
1544
1569
  if (!areArraysEqualSets(selectedValues, inboundValues)) return true;
@@ -1554,7 +1579,7 @@ const debugExecuteSearch = (action, state) => {
1554
1579
  stateParams.pageIndex = getPageIndex(action.ogState || state, action.facet, action.context);
1555
1580
  stateParams.searchTerm = getSearchTerm(action.ogState || state);
1556
1581
  console.log(stateParams, queryParams);
1557
- console.log('getSelectedFilters', getSelectedFilters(action.ogState || state, action.facet, action.context), 'params', action.params);
1582
+ console.log('getSelectedFilters', getSelectedFilters(action.ogState || state, action.facet, action.context, 'js'), 'params', action.params);
1558
1583
  };
1559
1584
 
1560
1585
  // Base mapping, fields that are the same across all mappings
@@ -1575,16 +1600,16 @@ const mapEntriesToFilterItems = entries => {
1575
1600
  const template = base;
1576
1601
 
1577
1602
  if (template) {
1578
- return mapJson__default['default'](entry, template);
1603
+ return mapJson__default["default"](entry, template);
1579
1604
  }
1580
1605
 
1581
1606
  return entry;
1582
1607
  });
1583
1608
  };
1584
1609
 
1585
- const searchSagas = [effects.takeEvery(CLEAR_FILTERS, clearFilters$1), effects.takeEvery(DO_SEARCH, doSearch), effects.takeEvery(SET_ROUTE_FILTERS, loadFilters), effects.takeEvery(SET_SEARCH_ENTRIES, preloadOtherFacets), effects.takeEvery(UPDATE_CURRENT_FACET, updateCurrentFacet$1), effects.takeEvery(UPDATE_CURRENT_TAB, updateCurrentTab$1), effects.takeEvery(UPDATE_PAGE_INDEX, updatePageIndex$1), effects.takeEvery(UPDATE_SEARCH_TERM, updateSearchTerm$1), effects.takeEvery(UPDATE_SORT_ORDER, updateSortOrder$1), effects.takeEvery(UPDATE_SELECTED_FILTERS, applySearchFilter)];
1610
+ const searchSagas = [effects.takeEvery(CLEAR_FILTERS, clearFilters), effects.takeEvery(DO_SEARCH, doSearch), effects.takeEvery(SET_ROUTE_FILTERS, loadFilters), effects.takeEvery(SET_SEARCH_ENTRIES, preloadOtherFacets), effects.takeEvery(UPDATE_CURRENT_FACET, updateCurrentFacet), effects.takeEvery(UPDATE_CURRENT_TAB, updateCurrentTab), effects.takeEvery(UPDATE_PAGE_INDEX, updatePageIndex), effects.takeEvery(UPDATE_SEARCH_TERM, updateSearchTerm), effects.takeEvery(UPDATE_SORT_ORDER, updateSortOrder), effects.takeEvery(UPDATE_SELECTED_FILTERS, applySearchFilter)];
1586
1611
 
1587
- const toJS$1 = obj => obj && 'toJS' in obj && typeof obj.toJS === 'function' ? obj.toJS() : obj;
1612
+ const toJS = obj => obj && 'toJS' in obj && typeof obj.toJS === 'function' ? obj.toJS() : obj;
1588
1613
 
1589
1614
  function* setRouteFilters(action) {
1590
1615
  const {
@@ -1594,8 +1619,8 @@ function* setRouteFilters(action) {
1594
1619
  defaultLang,
1595
1620
  debug
1596
1621
  } = action;
1597
- const context = listingType ? Context.listings : Context.facets;
1598
- const state = toJS$1(yield effects.select());
1622
+ const context = listingType ? Context$1.listings : Context$1.facets;
1623
+ const state = toJS(yield effects.select());
1599
1624
  const ssr = getIsSsr(state); // Get current facet from params or state
1600
1625
 
1601
1626
  let currentFacet = params && params.facet || listingType; // Pick the default facet from initialState
@@ -1625,7 +1650,7 @@ function* setRouteFilters(action) {
1625
1650
  });
1626
1651
  }
1627
1652
  function* doSearch(action) {
1628
- const state = toJS$1(yield effects.select());
1653
+ const state = toJS(yield effects.select());
1629
1654
 
1630
1655
  if (action.config) {
1631
1656
  // If the action contains a config object, we can add this to the
@@ -1726,7 +1751,7 @@ function* loadFilter(action) {
1726
1751
  createStateFrom.error = error;
1727
1752
  }
1728
1753
 
1729
- const nextAction = mapJson__default['default'](createStateFrom, filterTemplate);
1754
+ const nextAction = mapJson__default["default"](createStateFrom, filterTemplate);
1730
1755
  yield effects.put(nextAction);
1731
1756
  }
1732
1757
 
@@ -1760,7 +1785,7 @@ function* ensureSearch(action) {
1760
1785
  }
1761
1786
  } catch (error) {
1762
1787
  // eslint-disable-next-line import/namespace
1763
- log.error(...['Error running search saga:', error, error.stack]);
1788
+ log__namespace.error(...['Error running search saga:', error, error.stack]);
1764
1789
  }
1765
1790
  }
1766
1791
 
@@ -1807,11 +1832,11 @@ function* executeSearch(action) {
1807
1832
  result,
1808
1833
  state
1809
1834
  };
1810
- const nextAction = mapJson__default['default'](createStateFrom, facetTemplate);
1835
+ const nextAction = mapJson__default["default"](createStateFrom, facetTemplate);
1811
1836
  yield effects.put(nextAction);
1812
1837
  } catch (error) {
1813
1838
  // eslint-disable-next-line import/namespace
1814
- log.error(...['Error running search saga:', error, error.stack]);
1839
+ log__namespace.error(...['Error running search saga:', error, error.stack]);
1815
1840
  }
1816
1841
  }
1817
1842
 
@@ -1825,7 +1850,7 @@ function* preloadOtherFacets(action) {
1825
1850
  const state = yield effects.select();
1826
1851
  const currentFacet = getCurrentFacet(state);
1827
1852
 
1828
- if (!preload && facet === currentFacet && context !== Context.listings) {
1853
+ if (!preload && facet === currentFacet && context !== Context$1.listings) {
1829
1854
  const allFacets = getFacets(state, 'js');
1830
1855
  const otherFacets = Object.keys(allFacets).filter(f => f !== currentFacet);
1831
1856
  yield effects.all(otherFacets.map((preloadFacet = '') => {
@@ -1845,7 +1870,7 @@ function* preloadOtherFacets(action) {
1845
1870
  }
1846
1871
  }
1847
1872
 
1848
- function* updateCurrentTab$1(action) {
1873
+ function* updateCurrentTab(action) {
1849
1874
  const {
1850
1875
  id,
1851
1876
  mappers
@@ -1864,10 +1889,10 @@ function* updateCurrentTab$1(action) {
1864
1889
 
1865
1890
 
1866
1891
  if (!nextFacet) nextFacet = Object.entries(facets).filter(([, f]) => f.tabId === id)[0][0];
1867
- yield effects.put(withMappers(updateCurrentFacet(nextFacet), mappers));
1892
+ yield effects.put(withMappers(updateCurrentFacet$1(nextFacet), mappers));
1868
1893
  }
1869
1894
 
1870
- function* clearFilters$1(action) {
1895
+ function* clearFilters(action) {
1871
1896
  const {
1872
1897
  mappers
1873
1898
  } = action;
@@ -1875,7 +1900,7 @@ function* clearFilters$1(action) {
1875
1900
  yield effects.put(navigate(uri));
1876
1901
  }
1877
1902
 
1878
- function* updateCurrentFacet$1(action) {
1903
+ function* updateCurrentFacet(action) {
1879
1904
  const {
1880
1905
  facet,
1881
1906
  mappers
@@ -1888,7 +1913,7 @@ function* updateCurrentFacet$1(action) {
1888
1913
  yield effects.put(navigate(uri));
1889
1914
  }
1890
1915
 
1891
- function* updateSearchTerm$1(action) {
1916
+ function* updateSearchTerm(action) {
1892
1917
  const {
1893
1918
  term,
1894
1919
  mappers
@@ -1899,7 +1924,7 @@ function* updateSearchTerm$1(action) {
1899
1924
  yield effects.put(navigate(uri));
1900
1925
  }
1901
1926
 
1902
- function* updateSortOrder$1(action) {
1927
+ function* updateSortOrder(action) {
1903
1928
  const {
1904
1929
  orderBy,
1905
1930
  facet,
@@ -1912,7 +1937,7 @@ function* updateSortOrder$1(action) {
1912
1937
  yield effects.put(navigate(uri));
1913
1938
  }
1914
1939
 
1915
- function* updatePageIndex$1(action) {
1940
+ function* updatePageIndex(action) {
1916
1941
  const {
1917
1942
  pageIndex,
1918
1943
  mappers
@@ -1951,11 +1976,11 @@ function* buildUri({
1951
1976
  }
1952
1977
 
1953
1978
  const makeSelectMinilistProps = () => reselect.createSelector(state => state, (_, id) => id, (state, id) => ({
1954
- facet: getFacet(state, id, Context.minilist, 'js'),
1955
- filters: getFilters(state, id, Context.minilist, 'js'),
1956
- isLoading: getIsLoading(state, Context.minilist, id),
1957
- pagingInfo: getPaging(state, id, Context.minilist, 'js'),
1958
- results: getResults(state, id, Context.minilist, 'js'),
1979
+ facet: getFacet(state, id, Context$1.minilist, 'js'),
1980
+ filters: getFilters(state, id, Context$1.minilist, 'js'),
1981
+ isLoading: getIsLoading(state, Context$1.minilist, id),
1982
+ pagingInfo: getPaging(state, id, Context$1.minilist, 'js'),
1983
+ results: getResults(state, id, Context$1.minilist, 'js'),
1959
1984
  searchTerm: getSearchTerm(state)
1960
1985
  }));
1961
1986
 
@@ -1993,7 +2018,7 @@ const useMinilist = ({
1993
2018
  if (id && (mapper || mappers && mappers.results)) {
1994
2019
  dispatch(triggerSearch({
1995
2020
  config,
1996
- context: Context.minilist,
2021
+ context: Context$1.minilist,
1997
2022
  defaultLang,
1998
2023
  facet: id,
1999
2024
  mapper,
@@ -2119,7 +2144,7 @@ const generateSearchFacets = (context, config) => {
2119
2144
 
2120
2145
  if (Object.keys(thisConfig).length > 0) {
2121
2146
  Object.entries(thisConfig).map(([facetName, facet]) => {
2122
- const newFacet = merge__default['default'](searchFacet, facet);
2147
+ const newFacet = merge__default["default"](searchFacet, facet);
2123
2148
  if (!('isDisabled' in facet) || facet.isDisabled !== true) facets[facetName] = newFacet;
2124
2149
  });
2125
2150
  }
@@ -2208,9 +2233,9 @@ var reducers = (config => {
2208
2233
  // Add facets from SearchConfig to initialState
2209
2234
  const initState = { ...initialState,
2210
2235
  tabs: config.tabs,
2211
- facets: generateSearchFacets(Context.facets, config),
2212
- listings: generateSearchFacets(Context.listings, config),
2213
- minilist: generateSearchFacets(Context.minilist, config)
2236
+ facets: generateSearchFacets(Context$1.facets, config),
2237
+ listings: generateSearchFacets(Context$1.listings, config),
2238
+ minilist: generateSearchFacets(Context$1.minilist, config)
2214
2239
  };
2215
2240
  return immer.produce((state = initState, action) => {
2216
2241
  const context = state.context;
@@ -2294,7 +2319,7 @@ var reducers = (config => {
2294
2319
  return;
2295
2320
  }
2296
2321
 
2297
- state[action.context][facetKey].filters[filterKey] = merge__default['default'](filter, nextFilter, {
2322
+ state[action.context][facetKey].filters[filterKey] = merge__default["default"](filter, nextFilter, {
2298
2323
  arrayMerge: (source, inbound) => inbound
2299
2324
  });
2300
2325
  return;
@@ -2329,7 +2354,7 @@ var reducers = (config => {
2329
2354
  context,
2330
2355
  isCurrentFacet
2331
2356
  }, state);
2332
- resetCurrentFacet = state.config.isLoaded === true && !equals__default['default'](nextFilters, stateFacet.filters);
2357
+ resetCurrentFacet = state.config.isLoaded === true && !equals__default["default"](nextFilters, stateFacet.filters);
2333
2358
  stateFacet = resetCurrentFacet ? resetFacet(stateFacet) : stateFacet;
2334
2359
  stateFacet.filters = nextFilters;
2335
2360
  stateFacet.queryParams.dynamicOrderBy = toArray(orderBy) || [];
@@ -2337,7 +2362,7 @@ var reducers = (config => {
2337
2362
  }));
2338
2363
  state.context = context;
2339
2364
  state[context] = nextFacets;
2340
- state[action.context === Context.facets ? 'currentFacet' : 'currentListing'] = facet;
2365
+ state[action.context === Context$1.facets ? 'currentFacet' : 'currentListing'] = facet;
2341
2366
  state.term = term;
2342
2367
  state.tabs[tabId].currentFacet = facet;
2343
2368
  state[context][facet].pagingInfo.pageIndex = Number(pageIndex) - 1 || (state[context][facet].queryParams.loadMorePaging ? state[context][facet].pagingInfo.pageIndex || 0 : 0);
@@ -2351,7 +2376,7 @@ var reducers = (config => {
2351
2376
  {
2352
2377
  const thisContext = action.context || context;
2353
2378
  const currentFacet = state[thisContext][action.facet];
2354
- state[thisContext][action.facet] = merge__default['default'](currentFacet, action.nextFacet, {
2379
+ state[thisContext][action.facet] = merge__default["default"](currentFacet, action.nextFacet, {
2355
2380
  arrayMerge: (source, inbound) => inbound
2356
2381
  });
2357
2382
  return;
@@ -2370,9 +2395,9 @@ var reducers = (config => {
2370
2395
  isCurrentFacet: true
2371
2396
  }, state);
2372
2397
  const term = action === null || action === void 0 ? void 0 : (_action$params = action.params) === null || _action$params === void 0 ? void 0 : _action$params.term;
2373
- const useSearchTerm = state[action.context || Context.minilist][action.facet].queryParams.useSearchTerm || false;
2374
- state[action.context || Context.minilist][action.facet].filters = filters;
2375
- state[action.context || Context.minilist][action.facet].queryParams.excludeIds = action.excludeIds;
2398
+ const useSearchTerm = state[action.context || Context$1.minilist][action.facet].queryParams.useSearchTerm || false;
2399
+ state[action.context || Context$1.minilist][action.facet].filters = filters;
2400
+ state[action.context || Context$1.minilist][action.facet].queryParams.excludeIds = action.excludeIds;
2376
2401
  state.term = useSearchTerm ? term : state.term;
2377
2402
  state.config.ssr = typeof window === 'undefined';
2378
2403
  return;
@@ -2445,13 +2470,13 @@ var reducers = (config => {
2445
2470
  });
2446
2471
 
2447
2472
  // eslint-disable-next-line @typescript-eslint/naming-convention
2448
- const Context$1 = {
2473
+ const Context = {
2449
2474
  facets: 'facets',
2450
2475
  listings: 'listings',
2451
2476
  minilist: 'minilist'
2452
2477
  };
2453
2478
 
2454
- exports.Context = Context$1;
2479
+ exports.Context = Context;
2455
2480
  exports.actions = actions;
2456
2481
  exports.doSearch = doSearch;
2457
2482
  exports.queries = queries;