@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/esm/search.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import React, { useMemo, useEffect } from 'react';
2
2
  import { connect, useDispatch, useSelector } from 'react-redux';
3
3
  import mapJson, { jpath } from 'jsonpath-mapper';
4
- import { produce } from 'immer';
4
+ import * as log from 'loglevel';
5
5
  import { takeEvery, select, put, call, all } from '@redux-saga/core/effects';
6
6
  import { Client } from 'contensis-delivery-api';
7
- import queryString from 'query-string';
8
- import { error } from 'loglevel';
9
- import { createSelector } from 'reselect';
7
+ import { stringify, parse } from 'query-string';
10
8
  import { Op, OrderBy, Query } from 'contensis-core-api';
11
9
  import merge from 'deepmerge';
10
+ import { createSelector } from 'reselect';
11
+ import { produce } from 'immer';
12
12
  import equals from 'deep-equal';
13
13
 
14
14
  /* eslint-disable import/default */
15
- const toJS = WrappedComponent => wrappedComponentProps => {
15
+ const toJS$1 = WrappedComponent => wrappedComponentProps => {
16
16
  const KEY = 0;
17
17
  const VALUE = 1;
18
18
  const propsJS = Object.entries(wrappedComponentProps).reduce((newProps, wrappedComponentProp) => {
@@ -121,30 +121,30 @@ const navigate = (path, state) => {
121
121
  state
122
122
  };
123
123
  };
124
- const clearFilters = () => {
124
+ const clearFilters$1 = () => {
125
125
  return {
126
126
  type: CLEAR_FILTERS
127
127
  };
128
128
  };
129
- const updatePageIndex = pageIndex => {
129
+ const updatePageIndex$1 = pageIndex => {
130
130
  return {
131
131
  type: UPDATE_PAGE_INDEX,
132
132
  pageIndex
133
133
  };
134
134
  };
135
- const updateCurrentFacet = facet => {
135
+ const updateCurrentFacet$1 = facet => {
136
136
  return {
137
137
  type: UPDATE_CURRENT_FACET,
138
138
  facet
139
139
  };
140
140
  };
141
- const updateCurrentTab = id => {
141
+ const updateCurrentTab$1 = id => {
142
142
  return {
143
143
  type: UPDATE_CURRENT_TAB,
144
144
  id
145
145
  };
146
146
  };
147
- const updateSearchTerm = term => {
147
+ const updateSearchTerm$1 = term => {
148
148
  return {
149
149
  type: UPDATE_SEARCH_TERM,
150
150
  term
@@ -157,7 +157,7 @@ const updateSelectedFilters = (filter, key) => {
157
157
  key
158
158
  };
159
159
  };
160
- const updateSortOrder = (orderBy, facet) => {
160
+ const updateSortOrder$1 = (orderBy, facet) => {
161
161
  return {
162
162
  type: UPDATE_SORT_ORDER,
163
163
  orderBy,
@@ -171,22 +171,22 @@ var actions = /*#__PURE__*/Object.freeze({
171
171
  triggerSearch: triggerSearch,
172
172
  initListing: initListing,
173
173
  navigate: navigate,
174
- clearFilters: clearFilters,
175
- updatePageIndex: updatePageIndex,
176
- updateCurrentFacet: updateCurrentFacet,
177
- updateCurrentTab: updateCurrentTab,
178
- updateSearchTerm: updateSearchTerm,
174
+ clearFilters: clearFilters$1,
175
+ updatePageIndex: updatePageIndex$1,
176
+ updateCurrentFacet: updateCurrentFacet$1,
177
+ updateCurrentTab: updateCurrentTab$1,
178
+ updateSearchTerm: updateSearchTerm$1,
179
179
  updateSelectedFilters: updateSelectedFilters,
180
- updateSortOrder: updateSortOrder
180
+ updateSortOrder: updateSortOrder$1
181
181
  });
182
182
 
183
- let Context; // export type Context = 'facets' | 'listings' | 'minilist';
183
+ let Context$1; // export type Context = 'facets' | 'listings' | 'minilist';
184
184
 
185
185
  (function (Context) {
186
186
  Context["facets"] = "facets";
187
187
  Context["listings"] = "listings";
188
188
  Context["minilist"] = "minilist";
189
- })(Context || (Context = {}));
189
+ })(Context$1 || (Context$1 = {}));
190
190
 
191
191
  // or replace with a stub function for non-immutable gets
192
192
 
@@ -217,12 +217,12 @@ const getImmutableOrJS = (state, stateKey, fallbackValue, returnType = globalThi
217
217
  return result;
218
218
  };
219
219
 
220
- const getSearchContext = state => getImmutableOrJS(state, ['search', 'context'], Context.facets);
221
- const getCurrent = (state, context = Context.facets) => context === Context.facets ? getCurrentFacet(state) : getCurrentListing(state);
220
+ const getSearchContext = state => getImmutableOrJS(state, ['search', 'context'], Context$1.facets);
221
+ const getCurrent = (state, context = Context$1.facets) => context === Context$1.facets ? getCurrentFacet(state) : getCurrentListing(state);
222
222
  const getCurrentFacet = state => getImmutableOrJS(state, ['search', 'currentFacet']);
223
223
  const getCurrentListing = state => getImmutableOrJS(state, ['search', 'currentListing']);
224
- const getCurrentTab = state => getImmutableOrJS(state, ['search', Context.facets, getCurrentFacet(state), 'tabId'], 0);
225
- const getFacets = (state, returnType) => getImmutableOrJS(state, ['search', Context.facets], {}, returnType);
224
+ const getCurrentTab = state => getImmutableOrJS(state, ['search', Context$1.facets, getCurrentFacet(state), 'tabId'], 0);
225
+ const getFacets = (state, returnType) => getImmutableOrJS(state, ['search', Context$1.facets], {}, returnType);
226
226
  const getTabFacets = state => Object.fromEntries(Object.entries(getFacets(state, 'js')).filter(([key]) => getImmutableOrJS(getFacets(state), [key, 'tabId'], 0) === getCurrentTab(state)));
227
227
  const getFacetTitles = state => Object.entries(getFacets(state, 'js')).map(([key, facet = {}]) => {
228
228
  var _facet$pagingInfo;
@@ -233,19 +233,19 @@ const getFacetTitles = state => Object.entries(getFacets(state, 'js')).map(([key
233
233
  totalCount: (_facet$pagingInfo = facet.pagingInfo) === null || _facet$pagingInfo === void 0 ? void 0 : _facet$pagingInfo.totalCount
234
234
  };
235
235
  });
236
- const getFacet = (state, facetName = '', context = Context.facets, returnType) => {
236
+ const getFacet = (state, facetName = '', context = Context$1.facets, returnType) => {
237
237
  const currentFacet = facetName || getCurrentFacet(state);
238
238
  return getImmutableOrJS(state, ['search', context, currentFacet], {}, returnType);
239
239
  };
240
240
  const getListing = (state, listing = '') => {
241
241
  const currentListing = listing || getCurrentListing(state);
242
- return getImmutableOrJS(state, ['search', Context.listings, currentListing], {});
242
+ return getImmutableOrJS(state, ['search', Context$1.listings, currentListing], {});
243
243
  };
244
- const getFilters = (state, facet, context = Context.facets, returnType) => {
244
+ const getFilters = (state, facet, context = Context$1.facets, returnType) => {
245
245
  return getImmutableOrJS(state, ['search', context, facet || getCurrent(state, context), 'filters'], {}, returnType);
246
246
  };
247
- 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));
248
- const getFiltersToLoad = (state, facet, context = Context.facets, returnType) => {
247
+ 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));
248
+ const getFiltersToLoad = (state, facet, context = Context$1.facets, returnType) => {
249
249
  const filters = getFilters(state, facet, context, returnType);
250
250
  const loadedFilters = Object.entries(filters).map(([key, f = {}]) => [key, (f.items || []).filter(i => {
251
251
  const title = i === null || i === void 0 ? void 0 : i.title;
@@ -254,7 +254,7 @@ const getFiltersToLoad = (state, facet, context = Context.facets, returnType) =>
254
254
  return loadedFilters.map(([filterKey, isLoaded]) => !isLoaded ? filterKey : null).filter(f => !!f);
255
255
  }; // We lowercase the filter key unless it's an ISO date string where the T must be uppercase
256
256
 
257
- const getSelectedFilters = (state, facet = '', context = Context.facets, returnType) => {
257
+ const getSelectedFilters = (state, facet = '', context = Context$1.facets, returnType) => {
258
258
  const filters = getFilters(state, facet, context, 'js');
259
259
  const isoDateRegex = RegExp(/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d/);
260
260
  const selectedFilters = Object.fromEntries(Object.entries(filters).map(([key, filter = {}]) => [key, (filter.items || []).filter(item => !!(item.isSelected || false)).map(item => {
@@ -265,56 +265,56 @@ const getSelectedFilters = (state, facet = '', context = Context.facets, returnT
265
265
  const fromJS = makeFromJS(returnType);
266
266
  return fromJS(selectedFilters);
267
267
  };
268
- const getResults = (state, current = '', context = Context.facets, returnType) => {
268
+ const getResults = (state, current = '', context = Context$1.facets, returnType) => {
269
269
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'results'], [], returnType);
270
270
  };
271
- const getIsInternalPaging = (state, current, context = Context.facets) => {
271
+ const getIsInternalPaging = (state, current, context = Context$1.facets) => {
272
272
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'queryParams', 'internalPaging'], false);
273
273
  };
274
- const getIsLoaded = (state, context = Context.facets, facet) => {
274
+ const getIsLoaded = (state, context = Context$1.facets, facet) => {
275
275
  return !!getImmutableOrJS(state, ['search', context, facet || getCurrent(state, context), 'queryDuration'], 0);
276
276
  };
277
- const getIsLoading = (state, context = Context.facets, facet) => {
277
+ const getIsLoading = (state, context = Context$1.facets, facet) => {
278
278
  return getImmutableOrJS(state, ['search', context, facet || getCurrent(state, context), 'entries', 'isLoading']);
279
279
  };
280
280
  const getIsSsr = state => getImmutableOrJS(state, ['search', 'config', 'ssr'], false);
281
- const getFeaturedResults = (state, current = '', context = Context.facets) => {
281
+ const getFeaturedResults = (state, current = '', context = Context$1.facets) => {
282
282
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'featuredResults'], []);
283
283
  };
284
- const getPaging = (state, current = '', context = Context.facets, returnType) => {
284
+ const getPaging = (state, current = '', context = Context$1.facets, returnType) => {
285
285
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo'], {}, returnType);
286
286
  };
287
- const getPageIndex = (state, current = '', context = Context.facets) => {
287
+ const getPageIndex = (state, current = '', context = Context$1.facets) => {
288
288
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'pageIndex']);
289
289
  };
290
- const getPrevPageIndex = (state, current = '', context = Context.facets) => {
290
+ const getPrevPageIndex = (state, current = '', context = Context$1.facets) => {
291
291
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'prevPageIndex']);
292
292
  };
293
- const getPageIsLoading = (state, current = '', context = Context.facets) => {
293
+ const getPageIsLoading = (state, current = '', context = Context$1.facets) => {
294
294
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'isLoading']);
295
295
  };
296
- const getPagesLoaded = (state, current = '', context = Context.facets) => {
296
+ const getPagesLoaded = (state, current = '', context = Context$1.facets) => {
297
297
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'pagesLoaded'], [], 'js');
298
298
  };
299
- const getTotalCount = (state, current = '', context = Context.facets) => {
299
+ const getTotalCount = (state, current = '', context = Context$1.facets) => {
300
300
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'pagingInfo', 'totalCount']);
301
301
  };
302
302
  const getSearchTerm = state => getImmutableOrJS(state, ['search', 'term']);
303
303
  const getSearchTabs = (state, returnType) => getImmutableOrJS(state, ['search', 'tabs'], [], returnType);
304
- const getQueryParams = (state, current = '', context = Context.facets) => {
304
+ const getQueryParams = (state, current = '', context = Context$1.facets) => {
305
305
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'queryParams'], {}, 'js');
306
306
  };
307
307
  const getQueryParameter = ({
308
308
  state,
309
309
  facet,
310
- context = Context.facets
310
+ context = Context$1.facets
311
311
  }, key, ifnull = null) => {
312
312
  return getImmutableOrJS(getQueryParams(state, facet, context), key, ifnull, 'js');
313
313
  };
314
- const getCustomApi = (state, current, context = Context.facets, returnType) => {
314
+ const getCustomApi = (state, current, context = Context$1.facets, returnType) => {
315
315
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'customApi'], null, returnType);
316
316
  };
317
- const getCustomEnv = (state, current, context = Context.facets) => {
317
+ const getCustomEnv = (state, current, context = Context$1.facets) => {
318
318
  return getImmutableOrJS(state, ['search', context, current || getCurrent(state, context), 'env']);
319
319
  };
320
320
  const getTabsAndFacets = (state, returnType) => {
@@ -330,7 +330,7 @@ const getTabsAndFacets = (state, returnType) => {
330
330
  return 0;
331
331
  }).reduce((a, b) => a + b, 0);
332
332
  return { ...tab,
333
- [Context.facets]: Object.fromEntries(thisTabFacets),
333
+ [Context$1.facets]: Object.fromEntries(thisTabFacets),
334
334
  totalCount: thisTabTotal
335
335
  };
336
336
  });
@@ -370,14 +370,14 @@ const selectFacets = {
370
370
  getPageIsLoading,
371
371
  getPagesLoaded,
372
372
  getPaging,
373
- getQueryParams: (state, facet) => getQueryParams(state, facet, Context.facets),
373
+ getQueryParams: (state, facet) => getQueryParams(state, facet, Context$1.facets),
374
374
  getQueryParameter: ({
375
375
  state,
376
376
  facet
377
377
  }, key, ifnull) => getQueryParameter({
378
378
  state,
379
379
  facet,
380
- context: Context.facets
380
+ context: Context$1.facets
381
381
  }, key, ifnull),
382
382
  getRenderableFilters,
383
383
  getResults,
@@ -392,30 +392,30 @@ const selectFacets = {
392
392
 
393
393
  const selectListing = {
394
394
  getCurrent: getCurrentListing,
395
- getFeaturedResults: (state, listing = '') => getFeaturedResults(state, listing, Context.listings),
396
- getFilters: (state, listing = '') => getFilters(state, listing, Context.listings),
397
- getFiltersToLoad: (state, listing = '') => getFiltersToLoad(state, listing, Context.listings),
395
+ getFeaturedResults: (state, listing = '') => getFeaturedResults(state, listing, Context$1.listings),
396
+ getFilters: (state, listing = '') => getFilters(state, listing, Context$1.listings),
397
+ getFiltersToLoad: (state, listing = '') => getFiltersToLoad(state, listing, Context$1.listings),
398
398
  getListing,
399
- getIsLoaded: state => getIsLoaded(state, Context.listings),
400
- getIsLoading: state => getIsLoading(state, Context.listings),
401
- getPageIndex: (state, listing = '') => getPageIndex(state, listing, Context.listings),
402
- getPaging: (state, listing = '') => getPaging(state, listing, Context.listings),
403
- getPageIsLoading: (state, listing = '') => getPageIsLoading(state, listing, Context.listings),
404
- getPagesLoaded: (state, listing = '') => getPagesLoaded(state, listing, Context.listings),
405
- getQueryParams: (state, listing = '') => getQueryParams(state, listing, Context.listings),
399
+ getIsLoaded: state => getIsLoaded(state, Context$1.listings),
400
+ getIsLoading: state => getIsLoading(state, Context$1.listings),
401
+ getPageIndex: (state, listing = '') => getPageIndex(state, listing, Context$1.listings),
402
+ getPaging: (state, listing = '') => getPaging(state, listing, Context$1.listings),
403
+ getPageIsLoading: (state, listing = '') => getPageIsLoading(state, listing, Context$1.listings),
404
+ getPagesLoaded: (state, listing = '') => getPagesLoaded(state, listing, Context$1.listings),
405
+ getQueryParams: (state, listing = '') => getQueryParams(state, listing, Context$1.listings),
406
406
  getQueryParameter: ({
407
407
  state,
408
408
  facet
409
409
  }, key, ifnull) => getQueryParameter({
410
410
  state,
411
411
  facet,
412
- context: Context.listings
412
+ context: Context$1.listings
413
413
  }, key, ifnull),
414
- getRenderableFilters: (state, listing = '') => getRenderableFilters(state, listing, Context.listings),
415
- getResults: (state, listing = '') => getResults(state, listing, Context.listings),
414
+ getRenderableFilters: (state, listing = '') => getRenderableFilters(state, listing, Context$1.listings),
415
+ getResults: (state, listing = '') => getResults(state, listing, Context$1.listings),
416
416
  getSearchTerm,
417
- getTotalCount: (state, listing = '') => getTotalCount(state, listing, Context.listings),
418
- getSelectedFilters: (state, listing = '') => getSelectedFilters(state, listing, Context.listings)
417
+ getTotalCount: (state, listing = '') => getTotalCount(state, listing, Context$1.listings),
418
+ getSelectedFilters: (state, listing = '') => getSelectedFilters(state, listing, Context$1.listings)
419
419
  };
420
420
  const selectCurrentPath = state => getImmutableOrJS(state, ['routing', 'currentPath']);
421
421
  const selectVersionStatus = state => getImmutableOrJS(state, ['version', 'contensisVersionStatus']);
@@ -500,16 +500,16 @@ const withSearch = mappers => SearchComponent => {
500
500
  };
501
501
 
502
502
  const mapDispatchToProps = {
503
- clearFilters: () => withMappers(clearFilters(), mappers),
504
- updateCurrentFacet: facet => withMappers(updateCurrentFacet(facet), mappers),
505
- updateCurrentTab: id => withMappers(updateCurrentTab(id), mappers),
506
- updatePageIndex: pageIndex => withMappers(updatePageIndex(pageIndex), mappers),
507
- updateSearchTerm: term => withMappers(updateSearchTerm(term), mappers),
503
+ clearFilters: () => withMappers(clearFilters$1(), mappers),
504
+ updateCurrentFacet: facet => withMappers(updateCurrentFacet$1(facet), mappers),
505
+ updateCurrentTab: id => withMappers(updateCurrentTab$1(id), mappers),
506
+ updatePageIndex: pageIndex => withMappers(updatePageIndex$1(pageIndex), mappers),
507
+ updateSearchTerm: term => withMappers(updateSearchTerm$1(term), mappers),
508
508
  updateSelectedFilters: (filter, key) => withMappers(updateSelectedFilters(filter, key), mappers),
509
- updateSortOrder: orderBy => withMappers(updateSortOrder(orderBy), mappers)
509
+ updateSortOrder: orderBy => withMappers(updateSortOrder$1(orderBy), mappers)
510
510
  };
511
511
  const connector = connect(mapStateToProps, mapDispatchToProps);
512
- return connector(toJS(Wrapper));
512
+ return connector(toJS$1(Wrapper));
513
513
  };
514
514
 
515
515
  /* eslint-disable @typescript-eslint/naming-convention */
@@ -552,14 +552,14 @@ const withListing = mappers => ListingComponent => {
552
552
  };
553
553
 
554
554
  const mapDispatchToProps = {
555
- clearFilters: () => withMappers(clearFilters(), mappers),
556
- updateCurrentFacet: facet => withMappers(updateCurrentFacet(facet), mappers),
557
- updatePageIndex: pageIndex => withMappers(updatePageIndex(pageIndex), mappers),
558
- updateSearchTerm: term => withMappers(updateSearchTerm(term), mappers),
555
+ clearFilters: () => withMappers(clearFilters$1(), mappers),
556
+ updateCurrentFacet: facet => withMappers(updateCurrentFacet$1(facet), mappers),
557
+ updatePageIndex: pageIndex => withMappers(updatePageIndex$1(pageIndex), mappers),
558
+ updateSearchTerm: term => withMappers(updateSearchTerm$1(term), mappers),
559
559
  updateSelectedFilters: (filter, key) => withMappers(updateSelectedFilters(filter, key), mappers),
560
- updateSortOrder: orderBy => withMappers(updateSortOrder(orderBy), mappers)
560
+ updateSortOrder: orderBy => withMappers(updateSortOrder$1(orderBy), mappers)
561
561
  };
562
- return connect(mapStateToProps, mapDispatchToProps)(toJS(Wrapper));
562
+ return connect(mapStateToProps, mapDispatchToProps)(toJS$1(Wrapper));
563
563
  };
564
564
 
565
565
  const getClientConfig = (project, env) => {
@@ -768,7 +768,7 @@ const extractQuotedPhrases = searchTerm => {
768
768
  return (searchTerm.match(pattern) || []).map(match => match.replace(/"/g, ''));
769
769
  };
770
770
  const buildUrl = (route, params) => {
771
- const qs = queryString.stringify(params);
771
+ const qs = stringify(params);
772
772
  const path = qs ? `${route}?${qs}` : route;
773
773
  return path;
774
774
  };
@@ -873,8 +873,17 @@ const contentTypeIdExpression = (contentTypeIds, webpageTemplates, assetTypes) =
873
873
  const filterExpressions = filters => {
874
874
  if (!filters) return [];
875
875
  const expressions = [];
876
- filters.map(param => {
877
- expressions.push(...fieldExpression(param.key, param.value, param.operator || 'in'));
876
+ filters.map(selectedFilter => {
877
+ if (selectedFilter.logicOperator === 'and') // using 'and' logic operator we loop through each filter
878
+ // and loop through all values to add an expression for each filter value
879
+ selectedFilter.values.forEach(value => expressions.push(...fieldExpression(selectedFilter.key, value, selectedFilter.fieldOperator || 'equalTo')));else if (selectedFilter.logicOperator === 'not') {
880
+ const fieldExpressions = fieldExpression(selectedFilter.key, selectedFilter.values, selectedFilter.fieldOperator || 'in');
881
+ fieldExpressions.forEach(expr => {
882
+ expressions.push(Op.not(expr));
883
+ });
884
+ } // using 'or' logic operator we loop over each filter
885
+ // and simply add the array of values to an expression with an 'in' operator
886
+ else expressions.push(...fieldExpression(selectedFilter.key, selectedFilter.values, selectedFilter.fieldOperator || 'in'));
878
887
  });
879
888
  return expressions;
880
889
  };
@@ -891,8 +900,8 @@ const dataFormatExpression = (contentTypeIds, dataFormat = DataFormats.entry) =>
891
900
  const withExpr = fieldExpression(Fields.sys.contentTypeId, withContentTypeIds)[0];
892
901
  const notExpr = Op.not(fieldExpression(Fields.sys.contentTypeId, notContentTypeIds)[0]);
893
902
  andExpr.add(dataFormatExpr);
894
- if (withContentTypeIds.length > 0) andExpr.add(withExpr);
895
- if (notContentTypeIds.length > 0) andExpr.add(notExpr);
903
+ if (withContentTypeIds.length > 0 && withExpr) andExpr.add(withExpr);
904
+ if (notContentTypeIds.length > 0 && notExpr) andExpr.add(notExpr);
896
905
  return [andExpr];
897
906
  }
898
907
 
@@ -948,8 +957,8 @@ const equalToOrIn = (field, value, operator = 'equalTo') => {
948
957
  if (value.length === 0) return [];
949
958
 
950
959
  if (Array.isArray(value)) {
951
- if (value.length === 1) return [Op[operator](field, value[0], undefined, undefined)];
952
- return [Op.in(field, ...value)];
960
+ if (operator === 'equalTo') return [Op.in(field, ...value)];
961
+ return [Op.or(...value.map(innerValue => Op[operator](field, innerValue, undefined, undefined)))];
953
962
  }
954
963
 
955
964
  return [];
@@ -1029,7 +1038,7 @@ const customWhereExpressions = where => {
1029
1038
  if (idx === 1 && // operator !== 'and' &&
1030
1039
  // operator !== 'or' &&
1031
1040
  operator !== 'between' && operator !== 'distanceWithin') {
1032
- expression = operator === 'freeText' || operator === 'contains' ? Op[operator](field, value) : operator === 'in' ? Op[operator](field, ...value) : Op[operator](field, value);
1041
+ expression = operator === 'freeText' || operator === 'contains' ? Op[operator](field, value) : operator === 'in' ? Op[operator](field, ...value) : operator === 'exists' ? Op[operator](field, value) : Op[operator](field, value);
1033
1042
  if (typeof weight === 'number') expression = expression.weight(weight);
1034
1043
  }
1035
1044
  });
@@ -1142,7 +1151,7 @@ const searchUriTemplate = {
1142
1151
  facet,
1143
1152
  pageIndex
1144
1153
  }) => {
1145
- const currentFacet = getSearchContext(state) !== Context.listings && (facet || getCurrentFacet(state));
1154
+ const currentFacet = getSearchContext(state) !== Context$1.listings && (facet || getCurrentFacet(state));
1146
1155
  const currentPath = selectCurrentPath(state) || '/search';
1147
1156
  const newPath = currentFacet ? `${currentPath}/${currentFacet}` : currentPath;
1148
1157
  if (pageIndex) return `${newPath}/${pageIndex + 1}`;
@@ -1159,7 +1168,7 @@ const searchUriTemplate = {
1159
1168
 
1160
1169
  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(',')]));
1161
1170
  const currentSearch = !term && getImmutableOrJS(state, ['routing', 'location', 'search']);
1162
- const currentQs = removeEmptyAttributes(queryString.parse(currentSearch));
1171
+ const currentQs = removeEmptyAttributes(parse(currentSearch));
1163
1172
  if (orderBy) currentQs.orderBy = orderBy;
1164
1173
  const searchTerm = getSearchTerm(state); // Use Immutable's merge to merge the stateFilters with any current Qs
1165
1174
  // to build the new Qs.
@@ -1167,7 +1176,7 @@ const searchUriTemplate = {
1167
1176
  const mergedSearch = removeEmptyAttributes({ ...merge(currentQs, stateFilters),
1168
1177
  term: searchTerm
1169
1178
  });
1170
- return queryString.stringify(mergedSearch);
1179
+ return stringify(mergedSearch);
1171
1180
  },
1172
1181
  hash: {
1173
1182
  $path: 'state',
@@ -1317,14 +1326,15 @@ const filterTemplate = {
1317
1326
  const filterExpressionMapper = {
1318
1327
  // Expression type: so we can identify how to build the query
1319
1328
  expressionType: ({
1320
- filter
1321
- }) => filter.contentTypeId ? FilterExpressionTypes.contentType : FilterExpressionTypes.field,
1329
+ contentTypeId
1330
+ }) => contentTypeId ? FilterExpressionTypes.contentType : FilterExpressionTypes.field,
1322
1331
  // Key: so we can target the query to a specific field
1323
- key: 'filter.fieldId',
1332
+ key: 'fieldId',
1324
1333
  // Value: so we can filter a specific field by an array of values
1325
1334
  // e.g. taxonomy key or contentTypeId array
1326
- value: 'selectedValue',
1327
- operator: 'filter.fieldOperator'
1335
+ values: 'selectedValues',
1336
+ fieldOperator: 'fieldOperator',
1337
+ logicOperator: 'logicOperator'
1328
1338
  };
1329
1339
 
1330
1340
  const mapFilterToFilterExpression = filter => mapJson(filter, filterExpressionMapper);
@@ -1334,18 +1344,15 @@ const mapFiltersToFilterExpression = (filters, selectedFilters) => {
1334
1344
  const filterExpressions = []; // Iterate through the keys in selectedFilters and locate
1335
1345
  // the items that are selected and queryable
1336
1346
 
1337
- Object.entries(selectedFilters).map(([fkey, selectedValue]) => {
1347
+ Object.entries(selectedFilters).map(([fkey, selectedValues]) => {
1338
1348
  const filter = filters[fkey];
1339
1349
 
1340
- if (selectedValue && filter) {
1341
- const selectedItems = filter.items && filter.items.filter(itm => itm.isSelected) || []; // Where we have a value for a selectedFilter
1350
+ if (selectedValues && filter) {
1351
+ // Where we have a value for a selectedFilter
1342
1352
  // and a filter is found for the current key
1343
1353
  // map the filter to a filterExpression object
1344
-
1345
- const expr = mapFilterToFilterExpression({
1346
- filter,
1347
- selectedItems,
1348
- selectedValue
1354
+ const expr = mapFilterToFilterExpression({ ...filter,
1355
+ selectedValues
1349
1356
  });
1350
1357
  filterExpressions.push(expr);
1351
1358
  }
@@ -1426,7 +1433,7 @@ const queryParamsTemplate = {
1426
1433
 
1427
1434
  return (_getFacet = getFacet(state, facet, context)) === null || _getFacet === void 0 ? void 0 : _getFacet.projectId;
1428
1435
  },
1429
- searchTerm: root => root.context !== Context.minilist || getQueryParameter(root, 'useSearchTerm', false) ? getSearchTerm(root.state) : '',
1436
+ searchTerm: root => root.context !== Context$1.minilist || getQueryParameter(root, 'useSearchTerm', false) ? getSearchTerm(root.state) : '',
1430
1437
  selectedFilters: ({
1431
1438
  state,
1432
1439
  facet,
@@ -1489,7 +1496,7 @@ const runSearch = (action, state, queryParams) => {
1489
1496
  stateParams.pageIndex = getPageIndex(ogState, facet, context);
1490
1497
  stateParams.searchTerm = getSearchTerm(ogState);
1491
1498
 
1492
- if (context === Context.facets && ssr || // context === Context.minilist ||
1499
+ if (context === Context$1.facets && ssr || // context === Context.minilist ||
1493
1500
  preload || !facetIsLoaded || filterParamsChanged(action) || defaultLang) {
1494
1501
  willRun = true;
1495
1502
  } else {
@@ -1526,7 +1533,7 @@ const filterParamsChanged = (action, state) => {
1526
1533
  params,
1527
1534
  ogState = state
1528
1535
  } = action;
1529
- const selectedFilters = getSelectedFilters(ogState, facet, context);
1536
+ const selectedFilters = getSelectedFilters(ogState, facet, context, 'js');
1530
1537
  const paramsChanged = Object.entries(selectedFilters).map(([filterKey, selectedValues]) => {
1531
1538
  const inboundValues = params && params[filterKey] && params[filterKey].split(',') || [];
1532
1539
  if (!areArraysEqualSets(selectedValues, inboundValues)) return true;
@@ -1542,7 +1549,7 @@ const debugExecuteSearch = (action, state) => {
1542
1549
  stateParams.pageIndex = getPageIndex(action.ogState || state, action.facet, action.context);
1543
1550
  stateParams.searchTerm = getSearchTerm(action.ogState || state);
1544
1551
  console.log(stateParams, queryParams);
1545
- console.log('getSelectedFilters', getSelectedFilters(action.ogState || state, action.facet, action.context), 'params', action.params);
1552
+ console.log('getSelectedFilters', getSelectedFilters(action.ogState || state, action.facet, action.context, 'js'), 'params', action.params);
1546
1553
  };
1547
1554
 
1548
1555
  // Base mapping, fields that are the same across all mappings
@@ -1570,9 +1577,9 @@ const mapEntriesToFilterItems = entries => {
1570
1577
  });
1571
1578
  };
1572
1579
 
1573
- const searchSagas = [takeEvery(CLEAR_FILTERS, clearFilters$1), takeEvery(DO_SEARCH, doSearch), takeEvery(SET_ROUTE_FILTERS, loadFilters), takeEvery(SET_SEARCH_ENTRIES, preloadOtherFacets), takeEvery(UPDATE_CURRENT_FACET, updateCurrentFacet$1), takeEvery(UPDATE_CURRENT_TAB, updateCurrentTab$1), takeEvery(UPDATE_PAGE_INDEX, updatePageIndex$1), takeEvery(UPDATE_SEARCH_TERM, updateSearchTerm$1), takeEvery(UPDATE_SORT_ORDER, updateSortOrder$1), takeEvery(UPDATE_SELECTED_FILTERS, applySearchFilter)];
1580
+ const searchSagas = [takeEvery(CLEAR_FILTERS, clearFilters), takeEvery(DO_SEARCH, doSearch), takeEvery(SET_ROUTE_FILTERS, loadFilters), takeEvery(SET_SEARCH_ENTRIES, preloadOtherFacets), takeEvery(UPDATE_CURRENT_FACET, updateCurrentFacet), takeEvery(UPDATE_CURRENT_TAB, updateCurrentTab), takeEvery(UPDATE_PAGE_INDEX, updatePageIndex), takeEvery(UPDATE_SEARCH_TERM, updateSearchTerm), takeEvery(UPDATE_SORT_ORDER, updateSortOrder), takeEvery(UPDATE_SELECTED_FILTERS, applySearchFilter)];
1574
1581
 
1575
- const toJS$1 = obj => obj && 'toJS' in obj && typeof obj.toJS === 'function' ? obj.toJS() : obj;
1582
+ const toJS = obj => obj && 'toJS' in obj && typeof obj.toJS === 'function' ? obj.toJS() : obj;
1576
1583
 
1577
1584
  function* setRouteFilters(action) {
1578
1585
  const {
@@ -1582,8 +1589,8 @@ function* setRouteFilters(action) {
1582
1589
  defaultLang,
1583
1590
  debug
1584
1591
  } = action;
1585
- const context = listingType ? Context.listings : Context.facets;
1586
- const state = toJS$1(yield select());
1592
+ const context = listingType ? Context$1.listings : Context$1.facets;
1593
+ const state = toJS(yield select());
1587
1594
  const ssr = getIsSsr(state); // Get current facet from params or state
1588
1595
 
1589
1596
  let currentFacet = params && params.facet || listingType; // Pick the default facet from initialState
@@ -1613,7 +1620,7 @@ function* setRouteFilters(action) {
1613
1620
  });
1614
1621
  }
1615
1622
  function* doSearch(action) {
1616
- const state = toJS$1(yield select());
1623
+ const state = toJS(yield select());
1617
1624
 
1618
1625
  if (action.config) {
1619
1626
  // If the action contains a config object, we can add this to the
@@ -1746,9 +1753,9 @@ function* ensureSearch(action) {
1746
1753
  debug
1747
1754
  });
1748
1755
  }
1749
- } catch (error$1) {
1756
+ } catch (error) {
1750
1757
  // eslint-disable-next-line import/namespace
1751
- error(...['Error running search saga:', error$1, error$1.stack]);
1758
+ log.error(...['Error running search saga:', error, error.stack]);
1752
1759
  }
1753
1760
  }
1754
1761
 
@@ -1797,9 +1804,9 @@ function* executeSearch(action) {
1797
1804
  };
1798
1805
  const nextAction = mapJson(createStateFrom, facetTemplate);
1799
1806
  yield put(nextAction);
1800
- } catch (error$1) {
1807
+ } catch (error) {
1801
1808
  // eslint-disable-next-line import/namespace
1802
- error(...['Error running search saga:', error$1, error$1.stack]);
1809
+ log.error(...['Error running search saga:', error, error.stack]);
1803
1810
  }
1804
1811
  }
1805
1812
 
@@ -1813,7 +1820,7 @@ function* preloadOtherFacets(action) {
1813
1820
  const state = yield select();
1814
1821
  const currentFacet = getCurrentFacet(state);
1815
1822
 
1816
- if (!preload && facet === currentFacet && context !== Context.listings) {
1823
+ if (!preload && facet === currentFacet && context !== Context$1.listings) {
1817
1824
  const allFacets = getFacets(state, 'js');
1818
1825
  const otherFacets = Object.keys(allFacets).filter(f => f !== currentFacet);
1819
1826
  yield all(otherFacets.map((preloadFacet = '') => {
@@ -1833,7 +1840,7 @@ function* preloadOtherFacets(action) {
1833
1840
  }
1834
1841
  }
1835
1842
 
1836
- function* updateCurrentTab$1(action) {
1843
+ function* updateCurrentTab(action) {
1837
1844
  const {
1838
1845
  id,
1839
1846
  mappers
@@ -1852,10 +1859,10 @@ function* updateCurrentTab$1(action) {
1852
1859
 
1853
1860
 
1854
1861
  if (!nextFacet) nextFacet = Object.entries(facets).filter(([, f]) => f.tabId === id)[0][0];
1855
- yield put(withMappers(updateCurrentFacet(nextFacet), mappers));
1862
+ yield put(withMappers(updateCurrentFacet$1(nextFacet), mappers));
1856
1863
  }
1857
1864
 
1858
- function* clearFilters$1(action) {
1865
+ function* clearFilters(action) {
1859
1866
  const {
1860
1867
  mappers
1861
1868
  } = action;
@@ -1863,7 +1870,7 @@ function* clearFilters$1(action) {
1863
1870
  yield put(navigate(uri));
1864
1871
  }
1865
1872
 
1866
- function* updateCurrentFacet$1(action) {
1873
+ function* updateCurrentFacet(action) {
1867
1874
  const {
1868
1875
  facet,
1869
1876
  mappers
@@ -1876,7 +1883,7 @@ function* updateCurrentFacet$1(action) {
1876
1883
  yield put(navigate(uri));
1877
1884
  }
1878
1885
 
1879
- function* updateSearchTerm$1(action) {
1886
+ function* updateSearchTerm(action) {
1880
1887
  const {
1881
1888
  term,
1882
1889
  mappers
@@ -1887,7 +1894,7 @@ function* updateSearchTerm$1(action) {
1887
1894
  yield put(navigate(uri));
1888
1895
  }
1889
1896
 
1890
- function* updateSortOrder$1(action) {
1897
+ function* updateSortOrder(action) {
1891
1898
  const {
1892
1899
  orderBy,
1893
1900
  facet,
@@ -1900,7 +1907,7 @@ function* updateSortOrder$1(action) {
1900
1907
  yield put(navigate(uri));
1901
1908
  }
1902
1909
 
1903
- function* updatePageIndex$1(action) {
1910
+ function* updatePageIndex(action) {
1904
1911
  const {
1905
1912
  pageIndex,
1906
1913
  mappers
@@ -1939,11 +1946,11 @@ function* buildUri({
1939
1946
  }
1940
1947
 
1941
1948
  const makeSelectMinilistProps = () => createSelector(state => state, (_, id) => id, (state, id) => ({
1942
- facet: getFacet(state, id, Context.minilist, 'js'),
1943
- filters: getFilters(state, id, Context.minilist, 'js'),
1944
- isLoading: getIsLoading(state, Context.minilist, id),
1945
- pagingInfo: getPaging(state, id, Context.minilist, 'js'),
1946
- results: getResults(state, id, Context.minilist, 'js'),
1949
+ facet: getFacet(state, id, Context$1.minilist, 'js'),
1950
+ filters: getFilters(state, id, Context$1.minilist, 'js'),
1951
+ isLoading: getIsLoading(state, Context$1.minilist, id),
1952
+ pagingInfo: getPaging(state, id, Context$1.minilist, 'js'),
1953
+ results: getResults(state, id, Context$1.minilist, 'js'),
1947
1954
  searchTerm: getSearchTerm(state)
1948
1955
  }));
1949
1956
 
@@ -1981,7 +1988,7 @@ const useMinilist = ({
1981
1988
  if (id && (mapper || mappers && mappers.results)) {
1982
1989
  dispatch(triggerSearch({
1983
1990
  config,
1984
- context: Context.minilist,
1991
+ context: Context$1.minilist,
1985
1992
  defaultLang,
1986
1993
  facet: id,
1987
1994
  mapper,
@@ -2196,9 +2203,9 @@ var reducers = (config => {
2196
2203
  // Add facets from SearchConfig to initialState
2197
2204
  const initState = { ...initialState,
2198
2205
  tabs: config.tabs,
2199
- facets: generateSearchFacets(Context.facets, config),
2200
- listings: generateSearchFacets(Context.listings, config),
2201
- minilist: generateSearchFacets(Context.minilist, config)
2206
+ facets: generateSearchFacets(Context$1.facets, config),
2207
+ listings: generateSearchFacets(Context$1.listings, config),
2208
+ minilist: generateSearchFacets(Context$1.minilist, config)
2202
2209
  };
2203
2210
  return produce((state = initState, action) => {
2204
2211
  const context = state.context;
@@ -2325,7 +2332,7 @@ var reducers = (config => {
2325
2332
  }));
2326
2333
  state.context = context;
2327
2334
  state[context] = nextFacets;
2328
- state[action.context === Context.facets ? 'currentFacet' : 'currentListing'] = facet;
2335
+ state[action.context === Context$1.facets ? 'currentFacet' : 'currentListing'] = facet;
2329
2336
  state.term = term;
2330
2337
  state.tabs[tabId].currentFacet = facet;
2331
2338
  state[context][facet].pagingInfo.pageIndex = Number(pageIndex) - 1 || (state[context][facet].queryParams.loadMorePaging ? state[context][facet].pagingInfo.pageIndex || 0 : 0);
@@ -2358,9 +2365,9 @@ var reducers = (config => {
2358
2365
  isCurrentFacet: true
2359
2366
  }, state);
2360
2367
  const term = action === null || action === void 0 ? void 0 : (_action$params = action.params) === null || _action$params === void 0 ? void 0 : _action$params.term;
2361
- const useSearchTerm = state[action.context || Context.minilist][action.facet].queryParams.useSearchTerm || false;
2362
- state[action.context || Context.minilist][action.facet].filters = filters;
2363
- state[action.context || Context.minilist][action.facet].queryParams.excludeIds = action.excludeIds;
2368
+ const useSearchTerm = state[action.context || Context$1.minilist][action.facet].queryParams.useSearchTerm || false;
2369
+ state[action.context || Context$1.minilist][action.facet].filters = filters;
2370
+ state[action.context || Context$1.minilist][action.facet].queryParams.excludeIds = action.excludeIds;
2364
2371
  state.term = useSearchTerm ? term : state.term;
2365
2372
  state.config.ssr = typeof window === 'undefined';
2366
2373
  return;
@@ -2433,11 +2440,11 @@ var reducers = (config => {
2433
2440
  });
2434
2441
 
2435
2442
  // eslint-disable-next-line @typescript-eslint/naming-convention
2436
- const Context$1 = {
2443
+ const Context = {
2437
2444
  facets: 'facets',
2438
2445
  listings: 'listings',
2439
2446
  minilist: 'minilist'
2440
2447
  };
2441
2448
 
2442
- export { Context$1 as Context, actions, doSearch, queries, reducers as reducer, searchSagas as sagas, schema, selectors, setRouteFilters, types, useMinilist, withListing, withSearch };
2449
+ export { Context, actions, doSearch, queries, reducers as reducer, searchSagas as sagas, schema, selectors, setRouteFilters, types, useMinilist, withListing, withSearch };
2443
2450
  //# sourceMappingURL=search.js.map