@zengenti/contensis-react-base 3.3.2-beta.1 → 4.0.0-beta.10

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 (125) hide show
  1. package/cjs/{App-B2ohFzUt.js → App-vZrUfVgQ.js} +7 -20
  2. package/cjs/{App-B2ohFzUt.js.map → App-vZrUfVgQ.js.map} +1 -1
  3. package/cjs/{ChangePassword.container-Dup9_na7.js → ChangePassword.container-ECjEXixF.js} +2 -2
  4. package/cjs/{ChangePassword.container-Dup9_na7.js.map → ChangePassword.container-ECjEXixF.js.map} +1 -1
  5. package/cjs/CookieHelper.class-C3Eqoze9.js +471 -0
  6. package/cjs/CookieHelper.class-C3Eqoze9.js.map +1 -0
  7. package/cjs/{RouteLoader-De-dhkg-.js → RouteLoader-D5Yg7EB5.js} +143 -44
  8. package/cjs/RouteLoader-D5Yg7EB5.js.map +1 -0
  9. package/cjs/{SSRContext-DpnwQ2te.js → SSRContext-DVj_QAC1.js} +23 -9
  10. package/cjs/SSRContext-DVj_QAC1.js.map +1 -0
  11. package/cjs/ToJs-C9jwV7YB.js.map +1 -1
  12. package/cjs/VersionInfo-B_dKCubg.js +204 -0
  13. package/cjs/VersionInfo-B_dKCubg.js.map +1 -0
  14. package/cjs/client.js +53 -20
  15. package/cjs/client.js.map +1 -1
  16. package/cjs/contensis-react-base.js +409 -134
  17. package/cjs/contensis-react-base.js.map +1 -1
  18. package/cjs/fromJSLeaveImmer-Blvlk4t2.js.map +1 -1
  19. package/cjs/redux.js +3 -3
  20. package/cjs/routing.js +8 -7
  21. package/cjs/routing.js.map +1 -1
  22. package/cjs/{sagas-Ekfrk7xA.js → sagas-BVX4Ps1e.js} +326 -130
  23. package/cjs/sagas-BVX4Ps1e.js.map +1 -0
  24. package/cjs/search.js +3 -194
  25. package/cjs/search.js.map +1 -1
  26. package/cjs/selectors-wCs5fHD4.js.map +1 -1
  27. package/cjs/{store-BihH67lI.js → store-D07FOXvM.js} +6 -9
  28. package/cjs/store-D07FOXvM.js.map +1 -0
  29. package/cjs/user.js +2 -2
  30. package/cjs/user.js.map +1 -1
  31. package/cjs/util.js +17 -182
  32. package/cjs/util.js.map +1 -1
  33. package/cjs/{version-Cg79mdPg.js → version-B7XFkBhY.js} +2 -2
  34. package/{esm/version-BnnERhzW.js.map → cjs/version-B7XFkBhY.js.map} +1 -1
  35. package/cjs/version-CM-bJ62L.js.map +1 -1
  36. package/esm/{App-BPsH6nHc.js → App-DLZweVSp.js} +10 -23
  37. package/esm/{App-BPsH6nHc.js.map → App-DLZweVSp.js.map} +1 -1
  38. package/esm/{ChangePassword.container-Bcpef423.js → ChangePassword.container-BgzIy8dA.js} +5 -5
  39. package/esm/{ChangePassword.container-Bcpef423.js.map → ChangePassword.container-BgzIy8dA.js.map} +1 -1
  40. package/esm/CookieHelper.class-FTURFpz3.js +464 -0
  41. package/esm/CookieHelper.class-FTURFpz3.js.map +1 -0
  42. package/esm/{RouteLoader-CipkGOgr.js → RouteLoader-xeQBXywk.js} +143 -49
  43. package/esm/RouteLoader-xeQBXywk.js.map +1 -0
  44. package/esm/{SSRContext-3TvaCDn0.js → SSRContext-BE8ElZ3X.js} +26 -12
  45. package/esm/SSRContext-BE8ElZ3X.js.map +1 -0
  46. package/esm/{ToJs-B4MH53fx.js → ToJs-CNzfvyxJ.js} +3 -3
  47. package/esm/{ToJs-B4MH53fx.js.map → ToJs-CNzfvyxJ.js.map} +1 -1
  48. package/esm/VersionInfo-Cno7K0OA.js +193 -0
  49. package/esm/VersionInfo-Cno7K0OA.js.map +1 -0
  50. package/esm/client.js +57 -25
  51. package/esm/client.js.map +1 -1
  52. package/esm/contensis-react-base.js +407 -132
  53. package/esm/contensis-react-base.js.map +1 -1
  54. package/esm/fromJSLeaveImmer-C_YACmOf.js.map +1 -1
  55. package/esm/redux.js +8 -8
  56. package/esm/routing.js +7 -9
  57. package/esm/routing.js.map +1 -1
  58. package/esm/{sagas-Cd05ZBBH.js → sagas-JI51CS37.js} +311 -115
  59. package/esm/sagas-JI51CS37.js.map +1 -0
  60. package/esm/search.js +21 -212
  61. package/esm/search.js.map +1 -1
  62. package/esm/{selectors-BRzliwbK.js → selectors-DO2ocdOp.js} +2 -2
  63. package/esm/selectors-DO2ocdOp.js.map +1 -0
  64. package/esm/{store-f0WxNWUu.js → store-3u0RzHZ0.js} +7 -9
  65. package/esm/store-3u0RzHZ0.js.map +1 -0
  66. package/esm/user.js +6 -6
  67. package/esm/user.js.map +1 -1
  68. package/esm/util.js +14 -177
  69. package/esm/util.js.map +1 -1
  70. package/esm/{version-BnnERhzW.js → version-BlsI7hX2.js} +3 -3
  71. package/{cjs/version-Cg79mdPg.js.map → esm/version-BlsI7hX2.js.map} +1 -1
  72. package/esm/{version-78jjDnHU.js → version-wnf-TITV.js} +2 -2
  73. package/esm/{version-78jjDnHU.js.map → version-wnf-TITV.js.map} +1 -1
  74. package/models/app/App.d.ts +2 -2
  75. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +7 -2
  76. package/models/models/AppState.d.ts +4 -5
  77. package/models/models/GetRouteActionArgs.d.ts +2 -2
  78. package/models/models/MatchedRoute.d.ts +4 -0
  79. package/models/models/SSRContext.d.ts +23 -0
  80. package/models/models/StaticRoute.d.ts +8 -4
  81. package/models/models/config/AppConfig.d.ts +1 -0
  82. package/models/models/config/ServerConfig.d.ts +1 -0
  83. package/models/models/config/StateType.d.ts +1 -0
  84. package/models/models/index.d.ts +1 -0
  85. package/models/redux/store/history.d.ts +2 -2
  86. package/models/redux/store/injectors.d.ts +4 -4
  87. package/models/redux/store/store.d.ts +1 -1
  88. package/models/routing/components/Redirect.d.ts +5 -0
  89. package/models/routing/components/RouteLoader.d.ts +2 -2
  90. package/models/routing/components/StaticRouteLoader.d.ts +6 -0
  91. package/models/routing/httpContext.d.ts +7 -0
  92. package/models/routing/index.d.ts +3 -0
  93. package/models/routing/redux/actions.d.ts +2 -3
  94. package/models/search/containers/withListing.d.ts +4 -1
  95. package/models/search/containers/withSearch.d.ts +4 -1
  96. package/models/server/features/response-handler/render-stream.d.ts +26 -0
  97. package/models/server/util/html.d.ts +23 -0
  98. package/models/server/util/jsx.d.ts +55 -0
  99. package/models/user/hocs/withRegistration.d.ts +6 -3
  100. package/models/util/ContensisDeliveryApi.d.ts +1 -2
  101. package/models/util/SSRContext.d.ts +17 -6
  102. package/models/util/mergeStaticRoutes.d.ts +1 -0
  103. package/package.json +25 -30
  104. package/cjs/CookieHelper.class-CxeVo9EP.js +0 -489
  105. package/cjs/CookieHelper.class-CxeVo9EP.js.map +0 -1
  106. package/cjs/RouteLoader-De-dhkg-.js.map +0 -1
  107. package/cjs/SSRContext-DpnwQ2te.js.map +0 -1
  108. package/cjs/forms.js +0 -5673
  109. package/cjs/forms.js.map +0 -1
  110. package/cjs/sagas-Ekfrk7xA.js.map +0 -1
  111. package/cjs/store-BihH67lI.js.map +0 -1
  112. package/cjs/urls-DVIwGZmd.js +0 -25
  113. package/cjs/urls-DVIwGZmd.js.map +0 -1
  114. package/esm/CookieHelper.class-W_NNNJKT.js +0 -482
  115. package/esm/CookieHelper.class-W_NNNJKT.js.map +0 -1
  116. package/esm/RouteLoader-CipkGOgr.js.map +0 -1
  117. package/esm/SSRContext-3TvaCDn0.js.map +0 -1
  118. package/esm/forms.js +0 -5661
  119. package/esm/forms.js.map +0 -1
  120. package/esm/sagas-Cd05ZBBH.js.map +0 -1
  121. package/esm/selectors-BRzliwbK.js.map +0 -1
  122. package/esm/store-f0WxNWUu.js.map +0 -1
  123. package/esm/urls-DfCisos-.js +0 -22
  124. package/esm/urls-DfCisos-.js.map +0 -1
  125. package/models/forms/index.d.ts +0 -1
package/esm/search.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo, useEffect } from 'react';
2
2
  import { connect, useDispatch, useSelector } from 'react-redux';
3
- import { g as getCurrentFacet, a as getPageIndex$2, b as getCurrentTab$1, c as getFacet$1, d as getTabFacets$1, e as getFacetsTotalCount$1, f as getFacetTitles$1, h as getFeaturedResults$2, i as getRenderableFilters$2, j as getIsLoading$2, k as getPaging, l as getPageIsLoading$2, m as getResults, n as getSearchTerm$2, o as getSearchTotalCount$1, p as getSelectedFilters, q as getQueryParameter$2, r as getTabsAndFacets$1, s as getTotalCount$1, w as withMappers, t as clearFilters, u as updateCurrentFacet, v as updateCurrentTab, x as updatePageIndex, y as updatePageSize, z as updateSearchTerm, A as updateSelectedFilters, B as updateSortOrder, C as selectListing, D as mapStateToSearchUri, E as Context$1, F as selectFacets, G as triggerSearch, H as getFilters, U as UPDATE_SORT_ORDER, I as toArray, J as UPDATE_SELECTED_FILTERS, K as UPDATE_SEARCH_TERM, L as UPDATE_PAGE_SIZE, M as UPDATE_PAGE_INDEX, S as SET_SEARCH_FILTERS, N as SET_SEARCH_ENTRIES, O as SET_ROUTE_FILTERS, P as LOAD_FILTERS_COMPLETE, Q as LOAD_FILTERS_ERROR, R as LOAD_FILTERS, T as EXECUTE_SEARCH_ERROR, V as EXECUTE_SEARCH, W as CLEAR_FILTERS, X as APPLY_CONFIG } from './sagas-Cd05ZBBH.js';
4
- export { Y as actions, a1 as doSearch, $ as expressions, a0 as queries, a7 as routeParams, a3 as sagas, Z as selectors, a2 as setRouteFilters, a4 as triggerListingSsr, a5 as triggerMinilistSsr, a6 as triggerSearchSsr, _ as types } from './sagas-Cd05ZBBH.js';
3
+ import { w as withMappers, g as getTotalCount, a as getTabsAndFacets, b as getQueryParameter, c as getSelectedFilters, d as getSearchTotalCount, e as getSearchTerm, f as getResults, h as getPageIsLoading, i as getPaging, j as getIsLoading, k as getRenderableFilters, l as getFeaturedResults, m as getFacetTitles, n as getFacetsTotalCount, o as getTabFacets, p as getFacet, q as getCurrentTab, r as getPageIndex, s as getCurrentFacet, u as updateSortOrder, t as updateSelectedFilters, v as updateSearchTerm, x as updatePageSize, y as updatePageIndex, z as updateCurrentTab, A as updateCurrentFacet, B as clearFilters, C as selectListing, D as triggerSearch, E as Context$1, F as getFilters, U as UPDATE_SORT_ORDER, G as toArray, H as UPDATE_SELECTED_FILTERS, I as UPDATE_SEARCH_TERM, J as UPDATE_PAGE_SIZE, K as UPDATE_PAGE_INDEX, S as SET_SEARCH_FILTERS, L as SET_SEARCH_ENTRIES, M as SET_ROUTE_FILTERS, N as LOAD_FILTERS_COMPLETE, O as LOAD_FILTERS_ERROR, P as LOAD_FILTERS, Q as EXECUTE_SEARCH_ERROR, R as EXECUTE_SEARCH, T as CLEAR_FILTERS, V as APPLY_CONFIG } from './sagas-JI51CS37.js';
4
+ export { W as actions, a1 as doSearch, Z as expressions, _ as queries, a7 as routeParams, a3 as sagas, X as selectors, a2 as setRouteFilters, a4 as triggerListingSsr, a5 as triggerMinilistSsr, a6 as triggerSearchSsr, Y as types, $ as useFacets, a0 as useListing } from './sagas-JI51CS37.js';
5
5
  import { createSelector } from 'reselect';
6
6
  import { produce } from 'immer';
7
7
  import equals from 'deep-equal';
@@ -35,27 +35,27 @@ const withSearch = mappers => SearchComponent => {
35
35
  const mapStateToProps = state => {
36
36
  return {
37
37
  currentFacet: getCurrentFacet(state),
38
- currentPageIndex: getPageIndex$2(state),
39
- currentTabIndex: getCurrentTab$1(state),
40
- facet: getFacet$1(state),
41
- facets: getTabFacets$1(state),
42
- facetsTotalCount: getFacetsTotalCount$1(state),
43
- facetTitles: getFacetTitles$1(state),
44
- featuredResults: getFeaturedResults$2(state),
45
- filters: getRenderableFilters$2(state),
46
- isLoading: getIsLoading$2(state),
38
+ currentPageIndex: getPageIndex(state),
39
+ currentTabIndex: getCurrentTab(state),
40
+ facet: getFacet(state),
41
+ facets: getTabFacets(state),
42
+ facetsTotalCount: getFacetsTotalCount(state),
43
+ facetTitles: getFacetTitles(state),
44
+ featuredResults: getFeaturedResults(state),
45
+ filters: getRenderableFilters(state),
46
+ isLoading: getIsLoading(state),
47
47
  paging: getPaging(state),
48
- pageIsLoading: getPageIsLoading$2(state),
48
+ pageIsLoading: getPageIsLoading(state),
49
49
  results: getResults(state),
50
50
  resultsInfo: (mappers === null || mappers === void 0 ? void 0 : mappers.resultsInfo) && mappers.resultsInfo(state),
51
- searchTerm: getSearchTerm$2(state),
52
- searchTotalCount: getSearchTotalCount$1(state),
51
+ searchTerm: getSearchTerm(state),
52
+ searchTotalCount: getSearchTotalCount(state),
53
53
  selectedFilters: getSelectedFilters(state),
54
- sortOrder: getQueryParameter$2({
54
+ sortOrder: getQueryParameter({
55
55
  state
56
56
  }, 'dynamicOrderBy', []),
57
- tabsAndFacets: getTabsAndFacets$1(state),
58
- totalCount: getTotalCount$1(state)
57
+ tabsAndFacets: getTabsAndFacets(state),
58
+ totalCount: getTotalCount(state)
59
59
  };
60
60
  };
61
61
  const mapDispatchToProps = {
@@ -120,204 +120,13 @@ const withListing = mappers => ListingComponent => {
120
120
  return connect(mapStateToProps, mapDispatchToProps)(toJS(Wrapper));
121
121
  };
122
122
 
123
- var defaultMappers = {
124
- results: entries => entries,
125
- navigate: mapStateToSearchUri
126
- };
127
-
128
- const {
129
- getCurrent: getCurrent$1,
130
- getCurrentTab,
131
- getFacet,
132
- getFacetsTotalCount,
133
- getFacetTitles,
134
- getFeaturedResults: getFeaturedResults$1,
135
- getIsLoading: getIsLoading$1,
136
- getPageIndex: getPageIndex$1,
137
- getPageIsLoading: getPageIsLoading$1,
138
- getQueryParameter: getQueryParameter$1,
139
- getRenderableFilters: getRenderableFilters$1,
140
- getSearchTerm: getSearchTerm$1,
141
- getSearchTotalCount,
142
- getTabFacets,
143
- getTabsAndFacets,
144
- getTotalCount
145
- } = selectFacets;
146
- const makeSelectFacetsProps = () => createSelector(state => state, (_, mappers) => mappers, (state, mappers) => ({
147
- currentFacet: getCurrent$1(state),
148
- currentPageIndex: getPageIndex$1(state),
149
- currentTabIndex: getCurrentTab(state),
150
- facet: getFacet(state),
151
- facetTitles: getFacetTitles(state),
152
- facets: getTabFacets(state),
153
- facetsTotalCount: getFacetsTotalCount(state),
154
- featured: getFeaturedResults$1(state),
155
- filters: getRenderableFilters$1(state),
156
- isLoading: getIsLoading$1(state),
157
- pageIsLoading: getPageIsLoading$1(state),
158
- paging: getPaging(state, '', Context$1.facets, 'js'),
159
- results: getResults(state, '', Context$1.facets, 'js'),
160
- resultsInfo: mappers && typeof mappers.resultsInfo === 'function' && mappers.resultsInfo(state),
161
- searchTerm: getSearchTerm$1(state),
162
- searchTotalCount: getSearchTotalCount(state),
163
- selectedFilters: getSelectedFilters(state, '', Context$1.facets, 'js'),
164
- sortOrder: getQueryParameter$1({
165
- state
166
- }, 'dynamicOrderBy', []),
167
- tabsAndFacets: getTabsAndFacets(state),
168
- totalCount: getTotalCount(state)
169
- }));
170
- const useFacets = ({
171
- mappers
172
- } = {
173
- id: ''
174
- }) => {
175
- const dispatch = useDispatch();
176
- const m = mappers || defaultMappers;
177
- const selectListingProps = useMemo(makeSelectFacetsProps, [m]);
178
- const dispatchProps = {
179
- clearFilters: filterKey => dispatch(withMappers(clearFilters(filterKey), m)),
180
- updateCurrentFacet: facet => dispatch(withMappers(updateCurrentFacet(facet), m)),
181
- updateCurrentTab: id => withMappers(updateCurrentTab(id), m),
182
- updatePageIndex: (pageIndex, scrollToElement) => dispatch(withMappers(updatePageIndex(pageIndex, scrollToElement), m)),
183
- updatePageSize: (pageSize, scrollToElement) => dispatch(withMappers(updatePageSize(pageSize, scrollToElement), m)),
184
- updateSearchTerm: term => dispatch(withMappers(updateSearchTerm(term), m)),
185
- updateSelectedFilters: (filter, key, isUnknownItem = false, scrollToElement) => dispatch(withMappers(updateSelectedFilters(filter, key, isUnknownItem, scrollToElement), m)),
186
- updateSortOrder: orderBy => dispatch(withMappers(updateSortOrder(orderBy), m))
187
- };
188
- const {
189
- currentFacet,
190
- currentPageIndex,
191
- currentTabIndex,
192
- facet,
193
- facets,
194
- facetsTotalCount,
195
- facetTitles,
196
- featured,
197
- filters,
198
- isLoading,
199
- paging,
200
- pageIsLoading,
201
- results,
202
- resultsInfo,
203
- searchTerm,
204
- searchTotalCount,
205
- selectedFilters,
206
- sortOrder,
207
- tabsAndFacets,
208
- totalCount
209
- } = useSelector(state => selectListingProps(state, m));
210
- return {
211
- currentFacet,
212
- currentPageIndex,
213
- currentTabIndex,
214
- facet,
215
- facets,
216
- facetsTotalCount,
217
- facetTitles,
218
- featured,
219
- filters,
220
- isLoading,
221
- paging,
222
- pageIsLoading,
223
- results,
224
- resultsInfo,
225
- searchTerm,
226
- searchTotalCount,
227
- selectedFilters,
228
- sortOrder,
229
- tabsAndFacets,
230
- totalCount,
231
- ...dispatchProps
232
- };
233
- };
234
-
235
- const {
236
- getCurrent,
237
- getFeaturedResults,
238
- getIsLoading,
239
- getListing,
240
- getPageIndex,
241
- getPageIsLoading,
242
- getQueryParameter,
243
- getRenderableFilters,
244
- getSearchTerm
245
- } = selectListing;
246
- const makeSelectListingProps = () => createSelector(state => state, (_, mappers) => mappers, (state, mappers) => ({
247
- currentListing: getCurrent(state),
248
- currentPageIndex: getPageIndex(state),
249
- listing: getListing(state),
250
- featured: getFeaturedResults(state),
251
- filters: getRenderableFilters(state),
252
- isLoading: getIsLoading(state),
253
- pageIsLoading: getPageIsLoading(state),
254
- paging: getPaging(state, '', Context$1.listings, 'js'),
255
- results: getResults(state, '', Context$1.listings, 'js'),
256
- resultsInfo: mappers && typeof mappers.resultsInfo === 'function' && mappers.resultsInfo(state),
257
- searchTerm: getSearchTerm(state),
258
- selectedFilters: getSelectedFilters(state, '', Context$1.listings, 'js'),
259
- sortOrder: getQueryParameter({
260
- state
261
- }, 'dynamicOrderBy', [])
262
- }));
263
- const useListing = ({
264
- mappers
265
- } = {
266
- id: ''
267
- }) => {
268
- const dispatch = useDispatch();
269
- const m = mappers || defaultMappers;
270
- const selectListingProps = useMemo(makeSelectListingProps, [m]);
271
- const dispatchProps = {
272
- clearFilters: filterKey => dispatch(withMappers(clearFilters(filterKey), m)),
273
- updateCurrentFacet: facet => dispatch(withMappers(updateCurrentFacet(facet), m)),
274
- updatePageIndex: (pageIndex, scrollToElement) => dispatch(withMappers(updatePageIndex(pageIndex, scrollToElement), m)),
275
- updatePageSize: (pageSize, scrollToElement) => dispatch(withMappers(updatePageSize(pageSize, scrollToElement), m)),
276
- updateSearchTerm: term => dispatch(withMappers(updateSearchTerm(term), m)),
277
- updateSelectedFilters: (filter, key, isUnknownItem = false, scrollToElement) => dispatch(withMappers(updateSelectedFilters(filter, key, isUnknownItem, scrollToElement), m)),
278
- updateSortOrder: orderBy => dispatch(withMappers(updateSortOrder(orderBy), m))
279
- };
280
- const {
281
- currentListing,
282
- currentPageIndex,
283
- featured,
284
- filters,
285
- isLoading,
286
- listing,
287
- paging,
288
- pageIsLoading,
289
- results,
290
- resultsInfo,
291
- searchTerm,
292
- selectedFilters,
293
- sortOrder
294
- } = useSelector(state => selectListingProps(state, m));
295
- return {
296
- currentListing,
297
- currentPageIndex,
298
- featured,
299
- filters,
300
- isLoading,
301
- listing,
302
- pageIsLoading,
303
- paging,
304
- results,
305
- resultsInfo,
306
- searchTerm,
307
- selectedFilters,
308
- sortOrder,
309
- title: listing.title,
310
- ...dispatchProps
311
- };
312
- };
313
-
314
123
  const makeSelectMinilistProps = () => createSelector(state => state, (_, id) => id, (state, id) => id ? {
315
- facet: getFacet$1(state, id, Context$1.minilist, 'js'),
124
+ facet: getFacet(state, id, Context$1.minilist, 'js'),
316
125
  filters: getFilters(state, id, Context$1.minilist, 'js'),
317
- isLoading: getIsLoading$2(state, Context$1.minilist, id),
126
+ isLoading: getIsLoading(state, Context$1.minilist, id),
318
127
  pagingInfo: getPaging(state, id, Context$1.minilist, 'js'),
319
128
  results: getResults(state, id, Context$1.minilist, 'js'),
320
- searchTerm: getSearchTerm$2(state)
129
+ searchTerm: getSearchTerm(state)
321
130
  } : null);
322
131
  const useMinilist = ({
323
132
  id,
@@ -861,5 +670,5 @@ const Context = {
861
670
  minilist: 'minilist'
862
671
  };
863
672
 
864
- export { Context, reducers as reducer, schema, useFacets, useListing, useMinilist, withListing, withSearch };
673
+ export { Context, reducers as reducer, schema, useMinilist, withListing, withSearch };
865
674
  //# sourceMappingURL=search.js.map
package/esm/search.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sources":["../src/search/search/ToJs.tsx","../src/search/containers/withSearch.tsx","../src/search/containers/withListing.tsx","../src/search/transformations/index.ts","../src/search/hooks/useFacets.hook.tsx","../src/search/hooks/useListing.hook.tsx","../src/search/hooks/useMinilist.hook.tsx","../src/search/redux/schema.ts","../src/search/redux/reducers.ts","../src/search/index.ts"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: (props: Props) => React.JSX.Element\n ) =>\n (wrappedComponentProps: Props) => {\n const KEY = 0;\n const VALUE = 1;\n\n const propsJS = Object.entries(wrappedComponentProps).reduce<Props>(\n (newProps: any, wrappedComponentProp) => {\n const propKey = wrappedComponentProp[KEY];\n const propValue = wrappedComponentProp[VALUE];\n newProps[propKey] =\n propValue && typeof propValue === 'object' && 'toJS' in propValue\n ? propValue.toJS()\n : propValue;\n return newProps as Props;\n },\n {} as Props\n );\n\n return <WrappedComponent {...propsJS} />;\n };\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport { toJS } from '../search/ToJs';\nimport {\n clearFilters,\n updateCurrentFacet,\n updateCurrentTab,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport {\n getCurrentFacet,\n getCurrentTab,\n getFacet,\n getFacetTitles,\n getFacetsTotalCount,\n getFeaturedResults,\n getIsLoading,\n getPageIndex,\n getPageIsLoading,\n getPaging,\n getQueryParameter,\n getRenderableFilters,\n getResults,\n getSearchTerm,\n getSearchTotalCount,\n getSelectedFilters,\n getTabFacets,\n getTabsAndFacets,\n getTotalCount,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nimport { SearchProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\n\nconst withSearch =\n (mappers: Mappers) =>\n <Props extends Record<string, any>>(\n SearchComponent: React.ComponentType<Props>\n ) => {\n const Wrapper = (props: Props & SearchProps<any>) => {\n return <SearchComponent {...props} />;\n };\n\n Wrapper.displayName = `withSearch(${\n SearchComponent.displayName || SearchComponent.name\n })`;\n\n const mapStateToProps = (state: AppState) => {\n return {\n currentFacet: getCurrentFacet(state),\n currentPageIndex: getPageIndex(state),\n currentTabIndex: getCurrentTab(state),\n facet: getFacet(state),\n facets: getTabFacets(state),\n facetsTotalCount: getFacetsTotalCount(state),\n facetTitles: getFacetTitles(state),\n featuredResults: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n paging: getPaging(state),\n pageIsLoading: getPageIsLoading(state),\n results: getResults(state),\n resultsInfo: mappers?.resultsInfo && mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n searchTotalCount: getSearchTotalCount(state),\n selectedFilters: getSelectedFilters(state),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n tabsAndFacets: getTabsAndFacets(state),\n totalCount: getTotalCount(state),\n };\n };\n\n const mapDispatchToProps = {\n clearFilters: (filterKey?: string) =>\n withMappers(clearFilters(filterKey), mappers),\n updateCurrentFacet: (facet: string) =>\n withMappers(updateCurrentFacet(facet), mappers),\n updateCurrentTab: (id: number) =>\n withMappers(updateCurrentTab(id), mappers),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n withMappers(updatePageIndex(pageIndex, scrollToElement), mappers),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n withMappers(updatePageSize(pageSize, scrollToElement), mappers),\n updateSearchTerm: (term: string) =>\n withMappers(updateSearchTerm(term), mappers),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n mappers\n ),\n updateSortOrder: (orderBy: string) =>\n withMappers(updateSortOrder(orderBy), mappers),\n };\n\n const connector = connect(mapStateToProps, mapDispatchToProps);\n\n return connector(toJS(Wrapper) as any);\n };\n\nexport default withSearch;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { toJS } from '../search/ToJs';\nimport {\n clearFilters,\n updateCurrentFacet,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport { selectListing } from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nimport { AppState } from '../models/SearchState';\nimport { ListingProps } from '../models/SearchProps';\n\nconst withListing =\n (mappers: Mappers) =>\n <Props extends Record<string, any>>(ListingComponent: React.FC<Props>) => {\n const Wrapper = (props: Props & ListingProps<any>) => {\n return <ListingComponent {...props} />;\n };\n\n Wrapper.displayName = `withListing(${\n ListingComponent.displayName || ListingComponent.name\n })`;\n\n const {\n getCurrent,\n getFeaturedResults,\n getIsLoading,\n getListing,\n getPageIndex,\n getPaging,\n getQueryParameter,\n getRenderableFilters,\n getResults,\n getSearchTerm,\n getSelectedFilters,\n } = selectListing;\n\n const mapStateToProps = (state: AppState) => {\n return {\n currentListing: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n listing: getListing(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n paging: getPaging(state),\n results: getResults(state),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n selectedFilters: getSelectedFilters(state),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n };\n };\n\n const mapDispatchToProps = {\n clearFilters: (filterKey?: string) =>\n withMappers(clearFilters(filterKey), mappers),\n updateCurrentFacet: (facet: string) =>\n withMappers(updateCurrentFacet(facet), mappers),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n withMappers(updatePageIndex(pageIndex, scrollToElement), mappers),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n withMappers(updatePageSize(pageSize, scrollToElement), mappers),\n updateSearchTerm: (term: string) =>\n withMappers(updateSearchTerm(term), mappers),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n mappers\n ),\n updateSortOrder: (orderBy: string) =>\n withMappers(updateSortOrder(orderBy), mappers),\n };\n\n return connect(mapStateToProps, mapDispatchToProps)(toJS(Wrapper) as any);\n };\n\nexport default withListing;\n","import { Mappers } from '../models/Search';\nimport mapStateToSearchUri from './state-to-searchuri';\n\nexport default {\n results: entries => entries,\n navigate: mapStateToSearchUri,\n} as Mappers;\n","import { useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\nimport {\n clearFilters,\n updateCurrentFacet,\n updateCurrentTab,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport defaultMappers from '../transformations';\nimport { Context } from '../models/Enums';\nimport { SearchProps, UseFacetsProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\nimport {\n getPaging,\n getResults,\n getSelectedFilters,\n selectFacets,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nconst {\n getCurrent,\n getCurrentTab,\n getFacet,\n getFacetsTotalCount,\n getFacetTitles,\n getFeaturedResults,\n getIsLoading,\n getPageIndex,\n getPageIsLoading,\n getQueryParameter,\n getRenderableFilters,\n getSearchTerm,\n getSearchTotalCount,\n getTabFacets,\n getTabsAndFacets,\n getTotalCount,\n} = selectFacets;\n\nconst makeSelectFacetsProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, mappers: Mappers) => mappers,\n (state: AppState, mappers: Mappers) => ({\n currentFacet: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n currentTabIndex: getCurrentTab(state),\n facet: getFacet(state),\n facetTitles: getFacetTitles(state),\n facets: getTabFacets(state),\n facetsTotalCount: getFacetsTotalCount(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n pageIsLoading: getPageIsLoading(state),\n paging: getPaging(state, '', Context.facets, 'js'),\n results: getResults(state, '', Context.facets, 'js'),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n searchTotalCount: getSearchTotalCount(state),\n selectedFilters: getSelectedFilters(state, '', Context.facets, 'js'),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n tabsAndFacets: getTabsAndFacets(state),\n totalCount: getTotalCount(state),\n })\n );\n\nconst useFacets = <SearchResults extends Record<string, any>>(\n { mappers }: UseFacetsProps = {\n id: '',\n }\n) => {\n const dispatch = useDispatch();\n\n const m = mappers || defaultMappers;\n\n const selectListingProps = useMemo(makeSelectFacetsProps, [m]);\n\n const dispatchProps = {\n clearFilters: (filterKey?: string) =>\n dispatch(withMappers(clearFilters(filterKey), m)),\n updateCurrentFacet: (facet: string) =>\n dispatch(withMappers(updateCurrentFacet(facet), m)),\n updateCurrentTab: (id: number) => withMappers(updateCurrentTab(id), m),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n dispatch(withMappers(updatePageIndex(pageIndex, scrollToElement), m)),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n dispatch(withMappers(updatePageSize(pageSize, scrollToElement), m)),\n updateSearchTerm: (term: string) =>\n dispatch(withMappers(updateSearchTerm(term), m)),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n dispatch(\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n m\n )\n ),\n updateSortOrder: (orderBy: string) =>\n dispatch(withMappers(updateSortOrder(orderBy), m)),\n };\n\n const {\n currentFacet,\n currentPageIndex,\n currentTabIndex,\n facet,\n facets,\n facetsTotalCount,\n facetTitles,\n featured,\n filters,\n isLoading,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n searchTotalCount,\n selectedFilters,\n sortOrder,\n tabsAndFacets,\n totalCount,\n } = useSelector((state: AppState) => selectListingProps(state, m));\n\n return {\n currentFacet,\n currentPageIndex,\n currentTabIndex,\n facet,\n facets,\n facetsTotalCount,\n facetTitles,\n featured,\n filters,\n isLoading,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n searchTotalCount,\n selectedFilters,\n sortOrder,\n tabsAndFacets,\n totalCount,\n ...dispatchProps,\n } as SearchProps<SearchResults>;\n};\n\nexport default useFacets;\n","import { useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\nimport {\n clearFilters,\n updateCurrentFacet,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport defaultMappers from '../transformations';\nimport { Context } from '../models/Enums';\nimport { ListingProps, UseListingProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\nimport {\n getPaging,\n getResults,\n getSelectedFilters,\n selectListing,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nconst {\n getCurrent,\n getFeaturedResults,\n getIsLoading,\n getListing,\n getPageIndex,\n getPageIsLoading,\n getQueryParameter,\n getRenderableFilters,\n getSearchTerm,\n} = selectListing;\n\nconst makeSelectListingProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, mappers: Mappers) => mappers,\n (state: AppState, mappers: Mappers) => ({\n currentListing: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n listing: getListing(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n pageIsLoading: getPageIsLoading(state),\n paging: getPaging(state, '', Context.listings, 'js'),\n results: getResults(state, '', Context.listings, 'js'),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n selectedFilters: getSelectedFilters(state, '', Context.listings, 'js'),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n })\n );\n\nconst useListing = <SearchResults extends Record<string, any>>(\n { mappers }: UseListingProps = {\n id: '',\n }\n) => {\n const dispatch = useDispatch();\n\n const m = mappers || defaultMappers;\n\n const selectListingProps = useMemo(makeSelectListingProps, [m]);\n\n const dispatchProps = {\n clearFilters: (filterKey?: string) =>\n dispatch(withMappers(clearFilters(filterKey), m)),\n updateCurrentFacet: (facet: string) =>\n dispatch(withMappers(updateCurrentFacet(facet), m)),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n dispatch(withMappers(updatePageIndex(pageIndex, scrollToElement), m)),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n dispatch(withMappers(updatePageSize(pageSize, scrollToElement), m)),\n updateSearchTerm: (term: string) =>\n dispatch(withMappers(updateSearchTerm(term), m)),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n dispatch(\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n m\n )\n ),\n updateSortOrder: (orderBy: string) =>\n dispatch(withMappers(updateSortOrder(orderBy), m)),\n };\n\n const {\n currentListing,\n currentPageIndex,\n featured,\n filters,\n isLoading,\n listing,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n selectedFilters,\n sortOrder,\n } = useSelector((state: AppState) => selectListingProps(state, m));\n\n return {\n currentListing,\n currentPageIndex,\n featured,\n filters,\n isLoading,\n listing,\n pageIsLoading,\n paging,\n results,\n resultsInfo,\n searchTerm,\n selectedFilters,\n sortOrder,\n title: listing.title,\n ...dispatchProps,\n } as ListingProps<SearchResults>;\n};\n\nexport default useListing;\n","import { useEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\n\nimport { Context } from '../models/Enums';\nimport { MinilistProps, UseMinilistProps } from '../models/SearchProps';\nimport { AppState, Facet, Filters } from '../models/SearchState';\n\nimport { triggerSearch } from '../redux/actions';\nimport {\n getResults,\n getIsLoading,\n getFacet,\n getPaging,\n getSearchTerm,\n getFilters,\n} from '../redux/selectors';\n\nconst makeSelectMinilistProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, id: string) => id,\n (state: AppState, id: string) =>\n id\n ? {\n facet: getFacet(state, id, Context.minilist, 'js'),\n filters: getFilters(state, id, Context.minilist, 'js'),\n isLoading: getIsLoading(state, Context.minilist, id),\n pagingInfo: getPaging(state, id, Context.minilist, 'js'),\n results: getResults(state, id, Context.minilist, 'js'),\n searchTerm: getSearchTerm(state),\n }\n : null\n );\n\nconst useMinilist = <SearchResults extends Record<string, any>>(\n {\n id,\n config,\n excludeIds,\n mapper,\n mappers,\n params,\n defaultLang,\n debug,\n }: UseMinilistProps = { id: '' }\n) => {\n const dispatch = useDispatch();\n\n const selectMinilistProps = useMemo(makeSelectMinilistProps, [id]);\n\n const { facet, filters, isLoading, pagingInfo, results, searchTerm } =\n useSelector((state: AppState) => selectMinilistProps(state, id)) || {\n facet: {} as Facet,\n filters: {} as Filters,\n isLoading: false,\n pagingInfo: {} as Facet['pagingInfo'],\n results: [] as SearchResults[],\n searchTerm: '',\n };\n // useSelector((state: AppState) => ({\n // facet: getFacet(state, id, Context.minilist).toJS(),\n // filters: getFilters(state, id, Context.minilist).toJS(),\n // isLoading: getIsLoading(state, Context.minilist, id),\n // pagingInfo: getPaging(state, id, Context.minilist).toJS(),\n // results: getResults(state, id, Context.minilist).toJS(),\n // searchTerm: getSearchTerm(state),\n // }));\n\n useEffect(() => {\n if (id && (mapper || mappers?.results)) {\n dispatch(\n triggerSearch({\n config,\n context: Context.minilist,\n defaultLang,\n facet: id,\n mapper,\n mappers,\n params,\n excludeIds,\n debug,\n })\n );\n }\n }, [dispatch, excludeIds, id, defaultLang, params]);\n\n return {\n filters,\n isLoading,\n paging: pagingInfo,\n results,\n searchTerm,\n title: facet.title,\n } as MinilistProps<SearchResults>;\n};\n\nexport default useMinilist;\n","import { CustomWhereClause } from '../models/Search';\nimport { Filter, FilterItem, SearchState } from '../models/SearchState';\n\nexport const entries = {\n isLoading: false,\n isError: false,\n items: [],\n};\n\nexport const pagingInfo = {\n isLoading: false,\n pageCount: 0,\n pageIndex: 0,\n pageSize: 0,\n pagesLoaded: [],\n prevPageIndex: 0,\n totalCount: 0,\n};\n\nexport const searchFacet = {\n title: null,\n featuredEntries: entries,\n featuredResults: [],\n entries,\n results: [],\n queryParams: {},\n filters: {},\n queryDuration: 0,\n pagingInfo,\n projectId: '',\n};\n\nexport const searchTab = {\n currentFacet: undefined,\n facets: {},\n id: 0,\n label: undefined,\n totalCount: '',\n};\n\nexport const filtering = {\n isLoading: false,\n isError: false,\n isGrouped: false,\n title: undefined,\n contentTypeId: undefined,\n customWhere: [],\n fieldId: undefined,\n items: [],\n} as Omit<Filter, 'customWhere' | 'items'> & {\n customWhere?: CustomWhereClause[];\n items?: FilterItem[];\n};\n\nexport const filterItem = {\n key: '',\n type: undefined,\n title: undefined,\n path: undefined,\n isSelected: false,\n} as FilterItem;\n\nconst config = {\n isLoaded: false,\n isError: false,\n};\n\nconst searchState: SearchState = {\n context: 'facets',\n currentFacet: '',\n currentListing: '',\n facets: {},\n listings: {},\n minilist: {},\n term: '',\n tabs: [],\n config,\n};\n\nexport const initialState = searchState;\n","import { Draft, produce } from 'immer';\nimport equals from 'deep-equal';\nimport merge from 'deepmerge';\n\nimport {\n entries,\n filterItem,\n pagingInfo,\n searchFacet,\n initialState,\n} from './schema';\nimport {\n APPLY_CONFIG,\n CLEAR_FILTERS,\n EXECUTE_SEARCH,\n EXECUTE_SEARCH_ERROR,\n LOAD_FILTERS,\n LOAD_FILTERS_COMPLETE,\n LOAD_FILTERS_ERROR,\n SET_ROUTE_FILTERS,\n SET_SEARCH_FILTERS,\n SET_SEARCH_ENTRIES,\n UPDATE_SEARCH_TERM,\n UPDATE_SELECTED_FILTERS,\n UPDATE_SORT_ORDER,\n UPDATE_PAGE_INDEX,\n UPDATE_PAGE_SIZE,\n} from './types';\nimport { toArray } from '../search/util';\nimport {\n ConfigTypes,\n SearchFacet,\n Listing,\n SearchConfig,\n} from '../models/Search';\nimport { Context } from '../models/Enums';\nimport {\n Facet,\n Facets,\n SearchState,\n Filter,\n Filters,\n FilterItem,\n} from '../models/SearchState';\n\nconst addConfigToState = (state: SearchState, action: any) => {\n const { context, facet, config } = action as {\n context: keyof typeof Context;\n facet: string;\n config: any;\n };\n // Adding or changing the config of a single facet, listing or minilist\n if (context && facet && config) {\n state[context][facet] = { ...searchFacet, ...config };\n } else if (config) {\n // Changing the entire search config\n state = { ...config, config: initialState.config };\n }\n return state;\n};\n\nconst generateSearchFacets = (context: Context, config: SearchConfig) => {\n const facets = {} as Facets;\n if (config) {\n const thisConfig: ConfigTypes = config[context] || {};\n if (Object.keys(thisConfig).length > 0) {\n Object.entries(thisConfig).map(\n ([facetName, facet]: [string, SearchFacet | Listing]) => {\n const newFacet = merge(searchFacet, facet);\n if (!('isDisabled' in facet) || facet.isDisabled !== true)\n facets[facetName] = newFacet;\n }\n );\n }\n }\n return facets;\n};\n\nconst generateFiltersState = (\n {\n facet,\n params,\n context,\n isCurrentFacet,\n }: {\n facet: string;\n params: { [k: string]: string };\n context: keyof typeof Context;\n isCurrentFacet: boolean;\n },\n state: SearchState\n) => {\n // Remove filters we know about from params\n const filterParams = {\n ...params,\n facet: undefined,\n orderBy: undefined,\n pageIndex: undefined,\n term: undefined,\n } as { [k: string]: string | undefined };\n\n // Get any existing filters and normalise the items[]\n // so we can start off with isSelected is false\n let filters: [string, Filter][] = Object.entries(\n (state[context][facet].filters || []) as Filters\n ).map(([key, filter]: [string, Filter]) => {\n if (isCurrentFacet || filter.isGrouped) {\n return [\n key,\n {\n ...filter,\n items: filter.items?.map(item => ({ ...item, isSelected: false })),\n } as Filter,\n ];\n }\n return [key, filter];\n });\n\n const addFilterItem = (\n filters: [string, Filter][],\n paramKey: string,\n paramValue: string\n ) =>\n // Iterate through all filters within the facet,\n // if the paramKey matches the filter key\n // get the existing items list, and see if that filter\n // already exists, if so set isSelected to true,\n // if not create a new filterItem, setting the key only\n // so we can match this key later on when we load the filters\n filters.map<[string, Filter]>(([key, filter]) => {\n if (paramKey !== key || (!isCurrentFacet && !filter.isGrouped)) {\n return [key, filter];\n } else {\n const items = (filter.items || []) as FilterItem[];\n const itemIndex = items.findIndex(item => item?.key === paramValue);\n if (items.length > 0 && itemIndex !== -1) {\n items[itemIndex].isSelected = true;\n } else {\n items.push({\n ...filterItem,\n key: paramValue,\n isSelected: true,\n });\n }\n\n return [\n key,\n {\n ...filter,\n items,\n } as Filter,\n ];\n }\n });\n\n // For each value found in filterParams\n // we are looking to split that value into multiple by any comma\n // and then either set isSelected for an existing filterItem\n // or push an item to the filters.{ key }.items[] array\n // giving it only the key (entry guid) that can be taken to filter\n // the search results during SSR without needing to fetch the filters first\n Object.entries(filterParams).map(([paramName = '', paramValue]) => {\n if (typeof paramValue === 'string')\n return paramValue\n .split(',')\n .map(pVal => (filters = addFilterItem(filters, paramName, pVal)));\n if (typeof paramValue === 'boolean')\n filters = addFilterItem(filters, paramName, paramValue);\n });\n\n return Object.fromEntries(filters) as Filters;\n};\n\nconst resetFacets = (state: SearchState, context: keyof typeof Context) =>\n Object.fromEntries(\n Object.entries(state[context] as Facets).map(([k, v]) => [k, resetFacet(v)])\n ) as Facets;\n\nconst resetFacet = (facet: Facet) => {\n facet.pagingInfo.pagesLoaded = [];\n facet.pagingInfo.pageIndex = 0;\n facet.queryDuration = 0;\n return facet;\n};\n\nexport default (config: SearchConfig) => {\n // Add facets from SearchConfig to initialState\n const initState: SearchState = {\n ...initialState,\n tabs: config.tabs as any,\n facets: generateSearchFacets(Context.facets, config),\n listings: generateSearchFacets(Context.listings, config),\n minilist: generateSearchFacets(Context.minilist, config),\n };\n\n return produce(\n (\n state: Draft<SearchState> = initState,\n action: {\n [key: string]: any;\n context: keyof typeof Context;\n facet: string;\n params: { [key: string]: string };\n }\n ) => {\n const context = state.context as keyof typeof Context;\n const current =\n context !== 'listings' ? state.currentFacet : state.currentListing;\n\n switch (action.type) {\n case APPLY_CONFIG: {\n state = addConfigToState(state, action);\n return state;\n }\n case CLEAR_FILTERS: {\n const currentFilters = state[context][current].filters as Filters;\n\n state[context][current].filters = Object.fromEntries(\n Object.entries(currentFilters).map(([filterKey, filter]) => {\n if (\n typeof action.filterKey === 'undefined' ||\n action.filterKey === filterKey\n ) {\n const filterItems = (filter.items || []) as FilterItem[];\n\n filter.items = filterItems.map(item => ({\n ...item,\n isSelected: false,\n })) as FilterItem[];\n }\n\n return [filterKey, filter];\n })\n );\n state[context][current].queryDuration = 0;\n state[context][current].pagingInfo.pagesLoaded = [];\n\n return;\n }\n case EXECUTE_SEARCH: {\n state[action.context][action.facet].entries = {\n ...(state[action.context][action.facet].entries || entries),\n isLoading: true,\n };\n return;\n }\n case EXECUTE_SEARCH_ERROR: {\n state[action.context][action.facet].entries = {\n ...entries,\n isError: true,\n error: action.error,\n };\n return;\n }\n case LOAD_FILTERS: {\n const { facetKey, filtersToLoad } = action;\n const filters = state[action.context][facetKey].filters as Filters;\n\n Object.entries(filters).map(([filterKey, filter]) => {\n if (filtersToLoad.find((f: string) => f === filterKey))\n return { ...filter, isLoading: true } as Filter;\n return filter;\n });\n\n state[action.context][facetKey].filters = Object.fromEntries(\n Object.entries(filters).map(([filterKey, filter]) => {\n if (filtersToLoad.find((f: string) => f === filterKey))\n return [filterKey, { ...filter, isLoading: true }];\n return [filterKey, filter];\n })\n );\n\n return;\n }\n case LOAD_FILTERS_ERROR:\n case LOAD_FILTERS_COMPLETE: {\n const { facetKey, filterKey, nextFilter } = action;\n const stateFilter = state[action.context][facetKey].filters[\n filterKey\n ] as Filter;\n\n if (\n !nextFilter.items?.length &&\n (stateFilter.items || []).length >= nextFilter.items.length\n ) {\n // Preserve items already in state\n state[action.context][facetKey].filters[filterKey] = {\n ...stateFilter,\n isLoading: false,\n isError: nextFilter.isError,\n };\n return;\n }\n\n state[action.context][facetKey].filters[filterKey] = merge(\n stateFilter,\n nextFilter,\n {\n arrayMerge: (source, inbound) => inbound,\n }\n );\n\n return;\n }\n case SET_ROUTE_FILTERS: {\n const { facet, params, context } = action;\n const { term = '', pageIndex, pageSize, orderBy } = params;\n\n const stateTerm = state.term;\n const tabId = state[context][facet].tabId || 0;\n\n // Reset the facet if the search term has changed, or if the any of\n // the filters have changed\n const resetAllFacets = stateTerm && term !== stateTerm;\n let resetCurrentFacet = false;\n\n // Add filter values in params to the matched filters in state for the current facet\n // causing unfetched filter items to be generated with isSelected: true\n // or existing filter items to be tagged with isSelected: true\n const nextFacets = Object.fromEntries(\n Object.entries(state[context] as Facets).map(\n ([facetName = '', stateFacet]) => {\n const isCurrentFacet = facetName === facet;\n const nextFilters = generateFiltersState(\n {\n facet: facetName,\n params,\n context,\n isCurrentFacet,\n },\n state\n );\n\n resetCurrentFacet =\n state.config.isLoaded === true &&\n !equals(nextFilters, stateFacet.filters);\n\n stateFacet = resetCurrentFacet\n ? resetFacet(stateFacet)\n : stateFacet;\n stateFacet.filters = nextFilters;\n stateFacet.queryParams.dynamicOrderBy = toArray(orderBy) || [];\n return [facetName, stateFacet];\n }\n )\n );\n\n state.context = context;\n state[context] = nextFacets;\n state[\n action.context === Context.facets\n ? 'currentFacet'\n : 'currentListing'\n ] = facet;\n state.term = term;\n state.tabs[tabId].currentFacet = facet;\n state[context][facet].pagingInfo = {\n ...(state[context][facet].pagingInfo || pagingInfo),\n pageIndex:\n Number(pageIndex) - 1 ||\n (state[context][facet].queryParams.loadMorePaging\n ? state[context][facet].pagingInfo?.pageIndex || 0\n : 0),\n pageSize:\n Number(pageSize) || state[context][facet].queryParams.pageSize,\n };\n state.config.isLoaded = true;\n state.config.ssr = typeof window === 'undefined';\n\n if (resetAllFacets) state[context] = resetFacets(state, context);\n\n return;\n }\n case SET_SEARCH_ENTRIES: {\n const thisContext = action.context || context;\n const currentFacet = state[thisContext][action.facet];\n\n // // Handle aggregations client-side where the filter items have loaded before the results containing the aggregations\n // for (const [filterKey, filter] of Object.entries(\n // currentFacet.filters\n // )) {\n // const aggregation = (action.nextFacet as Partial<Facet>)\n // .aggregations?.[convertKeyForAggregation(filterKey)];\n\n // for (const filterItem of filter.items || []) {\n // if (!aggregation) delete filterItem.aggregate;\n // else {\n // const aggregate = aggregation[filterItem.key.toLowerCase()];\n // if (typeof aggregate === 'number')\n // filterItem.aggregate = aggregate;\n // else delete filterItem.aggregate;\n // }\n // }\n // }\n\n state[thisContext][action.facet] = merge(\n currentFacet,\n action.nextFacet,\n {\n arrayMerge: (source, inbound) => inbound,\n }\n );\n return;\n }\n case SET_SEARCH_FILTERS: {\n // DO SEARCH then SET_SEARCH_FILTERS is for when we cannot use SET_ROUTE_FILTERS\n // for example in a minilist scenario where the route filters\n // are used for the primary page / listing navigation\n\n // Add filter values in params to the matched filters in state\n // causing unfetched filter items to be generated with isSelected: true\n const filters = generateFiltersState(\n { ...action, isCurrentFacet: true },\n state\n );\n\n const term = action?.params?.term;\n const useSearchTerm =\n state[action.context || Context.minilist][action.facet].queryParams\n .useSearchTerm || false;\n state[action.context || Context.minilist][action.facet].filters =\n filters;\n state[action.context || Context.minilist][\n action.facet\n ].queryParams.excludeIds = action.excludeIds;\n state.term = useSearchTerm ? term : state.term;\n state.config.ssr = typeof window === 'undefined';\n\n return;\n }\n case UPDATE_PAGE_INDEX: {\n const { pageIndex } = action;\n const internalPaging =\n state[context][current].queryParams.internalPaging || false;\n\n const currentPageIndex =\n state[context][current].pagingInfo.pageIndex || 0;\n\n state[context][current].pagingInfo.pageIndex = Number(pageIndex) || 0;\n state[context][current].pagingInfo.prevPageIndex = currentPageIndex;\n state[context][current].pagingInfo.isLoading = true;\n\n if (internalPaging) return;\n\n state[context][current].queryDuration = 0;\n return;\n }\n case UPDATE_PAGE_SIZE: {\n const { pageSize } = action;\n\n state[context][current].pagingInfo.pageSize = pageSize;\n state[context][current].pagingInfo.pageIndex = 0;\n state[context][current].pagingInfo.isLoading = true;\n state[context][current].queryDuration = 0;\n return;\n }\n case UPDATE_SEARCH_TERM: {\n state.term = action.term;\n state[context] = resetFacets(state, context);\n\n return;\n }\n case UPDATE_SELECTED_FILTERS: {\n const { filter, key, isUnknownItem } = action;\n\n const isSingleSelect =\n state[context][current].filters[filter].isSingleSelect || false;\n const isGrouped =\n state[context][current].filters[filter].isGrouped || false;\n\n const currentItems = state[context][current].filters[filter].items;\n if (isGrouped) state[context] = resetFacets(state, context);\n state[context][current] = resetFacet(state[context][current]);\n\n if (\n isUnknownItem &&\n currentItems?.findIndex(item => item?.key === key) === -1\n ) {\n currentItems?.push({\n key,\n isSelected: false,\n });\n }\n state[context][current].filters[filter].items = currentItems?.map(\n item => {\n if (item.key === key) {\n return { ...item, isSelected: !item.isSelected };\n }\n if (isSingleSelect) return { ...item, isSelected: false };\n return item;\n }\n );\n\n return;\n }\n case UPDATE_SORT_ORDER: {\n const { orderBy, facet } = action;\n state[context] = resetFacets(state, context);\n const currentFacet = facet || current;\n state[context][currentFacet].queryParams.dynamicOrderBy = orderBy\n ? toArray(orderBy) || []\n : [];\n\n return;\n }\n default:\n return;\n }\n },\n initState\n );\n};\n","export const Context = {\n facets: 'facets',\n listings: 'listings',\n minilist: 'minilist',\n};\nexport * from './models';\n\nexport { default as withSearch } from './containers/withSearch';\nexport { default as withListing } from './containers/withListing';\n\nexport { default as useFacets } from './hooks/useFacets.hook';\nexport { default as useListing } from './hooks/useListing.hook';\nexport { default as useMinilist } from './hooks/useMinilist.hook';\n\nexport * as actions from './redux/actions';\nexport {\n doSearch,\n setRouteFilters,\n searchSagas as sagas,\n triggerListingSsr,\n triggerMinilistSsr,\n triggerSearchSsr,\n} from './redux/sagas';\nexport { default as reducer } from './redux/reducers';\nexport * as schema from './redux/schema';\nexport * as selectors from './redux/selectors';\nexport * as types from './redux/types';\n\nexport * as expressions from './search/expressions';\nexport * as queries from './search/queries';\nexport { routeParams } from './search/util';\n"],"names":["toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue","React","createElement","withSearch","mappers","SearchComponent","Wrapper","props","displayName","name","mapStateToProps","state","currentFacet","getCurrentFacet","currentPageIndex","getPageIndex","currentTabIndex","getCurrentTab","facet","getFacet","facets","getTabFacets","facetsTotalCount","getFacetsTotalCount","facetTitles","getFacetTitles","featuredResults","getFeaturedResults","filters","getRenderableFilters","isLoading","getIsLoading","paging","getPaging","pageIsLoading","getPageIsLoading","results","getResults","resultsInfo","searchTerm","getSearchTerm","searchTotalCount","getSearchTotalCount","selectedFilters","getSelectedFilters","sortOrder","getQueryParameter","tabsAndFacets","getTabsAndFacets","totalCount","getTotalCount","mapDispatchToProps","clearFilters","filterKey","withMappers","updateCurrentFacet","updateCurrentTab","id","updatePageIndex","pageIndex","scrollToElement","updatePageSize","pageSize","updateSearchTerm","term","updateSelectedFilters","filter","key","isUnknownItem","updateSortOrder","orderBy","connector","connect","withListing","ListingComponent","getCurrent","getListing","selectListing","currentListing","listing","featured","navigate","mapStateToSearchUri","selectFacets","makeSelectFacetsProps","createSelector","_","Context","useFacets","dispatch","useDispatch","m","defaultMappers","selectListingProps","useMemo","dispatchProps","useSelector","makeSelectListingProps","listings","useListing","title","makeSelectMinilistProps","minilist","getFilters","pagingInfo","useMinilist","config","excludeIds","mapper","params","defaultLang","debug","selectMinilistProps","useEffect","triggerSearch","context","isError","items","pageCount","pagesLoaded","prevPageIndex","searchFacet","featuredEntries","queryParams","queryDuration","projectId","searchTab","undefined","label","filtering","isGrouped","contentTypeId","customWhere","fieldId","filterItem","type","path","isSelected","isLoaded","searchState","tabs","initialState","addConfigToState","action","generateSearchFacets","thisConfig","keys","length","map","facetName","newFacet","merge","isDisabled","generateFiltersState","isCurrentFacet","filterParams","_filter$items","item","addFilterItem","paramKey","paramValue","itemIndex","findIndex","push","paramName","split","pVal","fromEntries","resetFacets","k","v","resetFacet","initState","produce","current","APPLY_CONFIG","CLEAR_FILTERS","currentFilters","filterItems","EXECUTE_SEARCH","EXECUTE_SEARCH_ERROR","error","LOAD_FILTERS","facetKey","filtersToLoad","find","f","LOAD_FILTERS_ERROR","LOAD_FILTERS_COMPLETE","_nextFilter$items","nextFilter","stateFilter","arrayMerge","source","inbound","SET_ROUTE_FILTERS","_state$context$facet$","stateTerm","tabId","resetAllFacets","resetCurrentFacet","nextFacets","stateFacet","nextFilters","equals","dynamicOrderBy","toArray","Number","loadMorePaging","ssr","window","SET_SEARCH_ENTRIES","thisContext","nextFacet","SET_SEARCH_FILTERS","_action$params","useSearchTerm","UPDATE_PAGE_INDEX","internalPaging","UPDATE_PAGE_SIZE","UPDATE_SEARCH_TERM","UPDATE_SELECTED_FILTERS","isSingleSelect","currentItems","UPDATE_SORT_ORDER"],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sources":["../src/search/search/ToJs.tsx","../src/search/containers/withSearch.tsx","../src/search/containers/withListing.tsx","../src/search/hooks/useMinilist.hook.tsx","../src/search/redux/schema.ts","../src/search/redux/reducers.ts","../src/search/index.ts"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: (props: Props) => React.JSX.Element\n ) =>\n (wrappedComponentProps: Props) => {\n const KEY = 0;\n const VALUE = 1;\n\n const propsJS = Object.entries(wrappedComponentProps).reduce<Props>(\n (newProps: any, wrappedComponentProp) => {\n const propKey = wrappedComponentProp[KEY];\n const propValue = wrappedComponentProp[VALUE];\n newProps[propKey] =\n propValue && typeof propValue === 'object' && 'toJS' in propValue\n ? propValue.toJS()\n : propValue;\n return newProps as Props;\n },\n {} as Props\n );\n\n return <WrappedComponent {...propsJS} />;\n };\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport { toJS } from '../search/ToJs';\nimport {\n clearFilters,\n updateCurrentFacet,\n updateCurrentTab,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport {\n getCurrentFacet,\n getCurrentTab,\n getFacet,\n getFacetTitles,\n getFacetsTotalCount,\n getFeaturedResults,\n getIsLoading,\n getPageIndex,\n getPageIsLoading,\n getPaging,\n getQueryParameter,\n getRenderableFilters,\n getResults,\n getSearchTerm,\n getSearchTotalCount,\n getSelectedFilters,\n getTabFacets,\n getTabsAndFacets,\n getTotalCount,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nimport { SearchProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\n\nconst withSearch =\n (mappers: Mappers) =>\n <Props extends Record<string, any>>(\n SearchComponent: React.ComponentType<Props>\n ) => {\n const Wrapper = (props: Props & SearchProps<any>) => {\n return <SearchComponent {...props} />;\n };\n\n Wrapper.displayName = `withSearch(${\n SearchComponent.displayName || SearchComponent.name\n })`;\n\n const mapStateToProps = (state: AppState) => {\n return {\n currentFacet: getCurrentFacet(state),\n currentPageIndex: getPageIndex(state),\n currentTabIndex: getCurrentTab(state),\n facet: getFacet(state),\n facets: getTabFacets(state),\n facetsTotalCount: getFacetsTotalCount(state),\n facetTitles: getFacetTitles(state),\n featuredResults: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n paging: getPaging(state),\n pageIsLoading: getPageIsLoading(state),\n results: getResults(state),\n resultsInfo: mappers?.resultsInfo && mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n searchTotalCount: getSearchTotalCount(state),\n selectedFilters: getSelectedFilters(state),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n tabsAndFacets: getTabsAndFacets(state),\n totalCount: getTotalCount(state),\n };\n };\n\n const mapDispatchToProps = {\n clearFilters: (filterKey?: string) =>\n withMappers(clearFilters(filterKey), mappers),\n updateCurrentFacet: (facet: string) =>\n withMappers(updateCurrentFacet(facet), mappers),\n updateCurrentTab: (id: number) =>\n withMappers(updateCurrentTab(id), mappers),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n withMappers(updatePageIndex(pageIndex, scrollToElement), mappers),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n withMappers(updatePageSize(pageSize, scrollToElement), mappers),\n updateSearchTerm: (term: string) =>\n withMappers(updateSearchTerm(term), mappers),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n mappers\n ),\n updateSortOrder: (orderBy: string) =>\n withMappers(updateSortOrder(orderBy), mappers),\n };\n\n const connector = connect(mapStateToProps, mapDispatchToProps);\n\n return connector(toJS(Wrapper) as any);\n };\n\nexport default withSearch;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { toJS } from '../search/ToJs';\nimport {\n clearFilters,\n updateCurrentFacet,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport { selectListing } from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nimport { AppState } from '../models/SearchState';\nimport { ListingProps } from '../models/SearchProps';\n\nconst withListing =\n (mappers: Mappers) =>\n <Props extends Record<string, any>>(ListingComponent: React.FC<Props>) => {\n const Wrapper = (props: Props & ListingProps<any>) => {\n return <ListingComponent {...props} />;\n };\n\n Wrapper.displayName = `withListing(${\n ListingComponent.displayName || ListingComponent.name\n })`;\n\n const {\n getCurrent,\n getFeaturedResults,\n getIsLoading,\n getListing,\n getPageIndex,\n getPaging,\n getQueryParameter,\n getRenderableFilters,\n getResults,\n getSearchTerm,\n getSelectedFilters,\n } = selectListing;\n\n const mapStateToProps = (state: AppState) => {\n return {\n currentListing: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n listing: getListing(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n paging: getPaging(state),\n results: getResults(state),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n selectedFilters: getSelectedFilters(state),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n };\n };\n\n const mapDispatchToProps = {\n clearFilters: (filterKey?: string) =>\n withMappers(clearFilters(filterKey), mappers),\n updateCurrentFacet: (facet: string) =>\n withMappers(updateCurrentFacet(facet), mappers),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n withMappers(updatePageIndex(pageIndex, scrollToElement), mappers),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n withMappers(updatePageSize(pageSize, scrollToElement), mappers),\n updateSearchTerm: (term: string) =>\n withMappers(updateSearchTerm(term), mappers),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n mappers\n ),\n updateSortOrder: (orderBy: string) =>\n withMappers(updateSortOrder(orderBy), mappers),\n };\n\n return connect(mapStateToProps, mapDispatchToProps)(toJS(Wrapper) as any);\n };\n\nexport default withListing;\n","import { useEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\n\nimport { Context } from '../models/Enums';\nimport { MinilistProps, UseMinilistProps } from '../models/SearchProps';\nimport { AppState, Facet, Filters } from '../models/SearchState';\n\nimport { triggerSearch } from '../redux/actions';\nimport {\n getResults,\n getIsLoading,\n getFacet,\n getPaging,\n getSearchTerm,\n getFilters,\n} from '../redux/selectors';\n\nconst makeSelectMinilistProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, id: string) => id,\n (state: AppState, id: string) =>\n id\n ? {\n facet: getFacet(state, id, Context.minilist, 'js'),\n filters: getFilters(state, id, Context.minilist, 'js'),\n isLoading: getIsLoading(state, Context.minilist, id),\n pagingInfo: getPaging(state, id, Context.minilist, 'js'),\n results: getResults(state, id, Context.minilist, 'js'),\n searchTerm: getSearchTerm(state),\n }\n : null\n );\n\nconst useMinilist = <SearchResults extends Record<string, any>>(\n {\n id,\n config,\n excludeIds,\n mapper,\n mappers,\n params,\n defaultLang,\n debug,\n }: UseMinilistProps = { id: '' }\n) => {\n const dispatch = useDispatch();\n\n const selectMinilistProps = useMemo(makeSelectMinilistProps, [id]);\n\n const { facet, filters, isLoading, pagingInfo, results, searchTerm } =\n useSelector((state: AppState) => selectMinilistProps(state, id)) || {\n facet: {} as Facet,\n filters: {} as Filters,\n isLoading: false,\n pagingInfo: {} as Facet['pagingInfo'],\n results: [] as SearchResults[],\n searchTerm: '',\n };\n // useSelector((state: AppState) => ({\n // facet: getFacet(state, id, Context.minilist).toJS(),\n // filters: getFilters(state, id, Context.minilist).toJS(),\n // isLoading: getIsLoading(state, Context.minilist, id),\n // pagingInfo: getPaging(state, id, Context.minilist).toJS(),\n // results: getResults(state, id, Context.minilist).toJS(),\n // searchTerm: getSearchTerm(state),\n // }));\n\n useEffect(() => {\n if (id && (mapper || mappers?.results)) {\n dispatch(\n triggerSearch({\n config,\n context: Context.minilist,\n defaultLang,\n facet: id,\n mapper,\n mappers,\n params,\n excludeIds,\n debug,\n })\n );\n }\n }, [dispatch, excludeIds, id, defaultLang, params]);\n\n return {\n filters,\n isLoading,\n paging: pagingInfo,\n results,\n searchTerm,\n title: facet.title,\n } as MinilistProps<SearchResults>;\n};\n\nexport default useMinilist;\n","import { CustomWhereClause } from '../models/Search';\nimport { Filter, FilterItem, SearchState } from '../models/SearchState';\n\nexport const entries = {\n isLoading: false,\n isError: false,\n items: [],\n};\n\nexport const pagingInfo = {\n isLoading: false,\n pageCount: 0,\n pageIndex: 0,\n pageSize: 0,\n pagesLoaded: [],\n prevPageIndex: 0,\n totalCount: 0,\n};\n\nexport const searchFacet = {\n title: null,\n featuredEntries: entries,\n featuredResults: [],\n entries,\n results: [],\n queryParams: {},\n filters: {},\n queryDuration: 0,\n pagingInfo,\n projectId: '',\n};\n\nexport const searchTab = {\n currentFacet: undefined,\n facets: {},\n id: 0,\n label: undefined,\n totalCount: '',\n};\n\nexport const filtering = {\n isLoading: false,\n isError: false,\n isGrouped: false,\n title: undefined,\n contentTypeId: undefined,\n customWhere: [],\n fieldId: undefined,\n items: [],\n} as Omit<Filter, 'customWhere' | 'items'> & {\n customWhere?: CustomWhereClause[];\n items?: FilterItem[];\n};\n\nexport const filterItem = {\n key: '',\n type: undefined,\n title: undefined,\n path: undefined,\n isSelected: false,\n} as FilterItem;\n\nconst config = {\n isLoaded: false,\n isError: false,\n};\n\nconst searchState: SearchState = {\n context: 'facets',\n currentFacet: '',\n currentListing: '',\n facets: {},\n listings: {},\n minilist: {},\n term: '',\n tabs: [],\n config,\n};\n\nexport const initialState = searchState;\n","import { Draft, produce } from 'immer';\nimport equals from 'deep-equal';\nimport merge from 'deepmerge';\n\nimport {\n entries,\n filterItem,\n pagingInfo,\n searchFacet,\n initialState,\n} from './schema';\nimport {\n APPLY_CONFIG,\n CLEAR_FILTERS,\n EXECUTE_SEARCH,\n EXECUTE_SEARCH_ERROR,\n LOAD_FILTERS,\n LOAD_FILTERS_COMPLETE,\n LOAD_FILTERS_ERROR,\n SET_ROUTE_FILTERS,\n SET_SEARCH_FILTERS,\n SET_SEARCH_ENTRIES,\n UPDATE_SEARCH_TERM,\n UPDATE_SELECTED_FILTERS,\n UPDATE_SORT_ORDER,\n UPDATE_PAGE_INDEX,\n UPDATE_PAGE_SIZE,\n} from './types';\nimport { toArray } from '../search/util';\nimport {\n ConfigTypes,\n SearchFacet,\n Listing,\n SearchConfig,\n} from '../models/Search';\nimport { Context } from '../models/Enums';\nimport {\n Facet,\n Facets,\n SearchState,\n Filter,\n Filters,\n FilterItem,\n} from '../models/SearchState';\n\nconst addConfigToState = (state: SearchState, action: any) => {\n const { context, facet, config } = action as {\n context: keyof typeof Context;\n facet: string;\n config: any;\n };\n // Adding or changing the config of a single facet, listing or minilist\n if (context && facet && config) {\n state[context][facet] = { ...searchFacet, ...config };\n } else if (config) {\n // Changing the entire search config\n state = { ...config, config: initialState.config };\n }\n return state;\n};\n\nconst generateSearchFacets = (context: Context, config: SearchConfig) => {\n const facets = {} as Facets;\n if (config) {\n const thisConfig: ConfigTypes = config[context] || {};\n if (Object.keys(thisConfig).length > 0) {\n Object.entries(thisConfig).map(\n ([facetName, facet]: [string, SearchFacet | Listing]) => {\n const newFacet = merge(searchFacet, facet);\n if (!('isDisabled' in facet) || facet.isDisabled !== true)\n facets[facetName] = newFacet;\n }\n );\n }\n }\n return facets;\n};\n\nconst generateFiltersState = (\n {\n facet,\n params,\n context,\n isCurrentFacet,\n }: {\n facet: string;\n params: { [k: string]: string };\n context: keyof typeof Context;\n isCurrentFacet: boolean;\n },\n state: SearchState\n) => {\n // Remove filters we know about from params\n const filterParams = {\n ...params,\n facet: undefined,\n orderBy: undefined,\n pageIndex: undefined,\n term: undefined,\n } as { [k: string]: string | undefined };\n\n // Get any existing filters and normalise the items[]\n // so we can start off with isSelected is false\n let filters: [string, Filter][] = Object.entries(\n (state[context][facet].filters || []) as Filters\n ).map(([key, filter]: [string, Filter]) => {\n if (isCurrentFacet || filter.isGrouped) {\n return [\n key,\n {\n ...filter,\n items: filter.items?.map(item => ({ ...item, isSelected: false })),\n } as Filter,\n ];\n }\n return [key, filter];\n });\n\n const addFilterItem = (\n filters: [string, Filter][],\n paramKey: string,\n paramValue: string\n ) =>\n // Iterate through all filters within the facet,\n // if the paramKey matches the filter key\n // get the existing items list, and see if that filter\n // already exists, if so set isSelected to true,\n // if not create a new filterItem, setting the key only\n // so we can match this key later on when we load the filters\n filters.map<[string, Filter]>(([key, filter]) => {\n if (paramKey !== key || (!isCurrentFacet && !filter.isGrouped)) {\n return [key, filter];\n } else {\n const items = (filter.items || []) as FilterItem[];\n const itemIndex = items.findIndex(item => item?.key === paramValue);\n if (items.length > 0 && itemIndex !== -1) {\n items[itemIndex].isSelected = true;\n } else {\n items.push({\n ...filterItem,\n key: paramValue,\n isSelected: true,\n });\n }\n\n return [\n key,\n {\n ...filter,\n items,\n } as Filter,\n ];\n }\n });\n\n // For each value found in filterParams\n // we are looking to split that value into multiple by any comma\n // and then either set isSelected for an existing filterItem\n // or push an item to the filters.{ key }.items[] array\n // giving it only the key (entry guid) that can be taken to filter\n // the search results during SSR without needing to fetch the filters first\n Object.entries(filterParams).map(([paramName = '', paramValue]) => {\n if (typeof paramValue === 'string')\n return paramValue\n .split(',')\n .map(pVal => (filters = addFilterItem(filters, paramName, pVal)));\n if (typeof paramValue === 'boolean')\n filters = addFilterItem(filters, paramName, paramValue);\n });\n\n return Object.fromEntries(filters) as Filters;\n};\n\nconst resetFacets = (state: SearchState, context: keyof typeof Context) =>\n Object.fromEntries(\n Object.entries(state[context] as Facets).map(([k, v]) => [k, resetFacet(v)])\n ) as Facets;\n\nconst resetFacet = (facet: Facet) => {\n facet.pagingInfo.pagesLoaded = [];\n facet.pagingInfo.pageIndex = 0;\n facet.queryDuration = 0;\n return facet;\n};\n\nexport default (config: SearchConfig) => {\n // Add facets from SearchConfig to initialState\n const initState: SearchState = {\n ...initialState,\n tabs: config.tabs as any,\n facets: generateSearchFacets(Context.facets, config),\n listings: generateSearchFacets(Context.listings, config),\n minilist: generateSearchFacets(Context.minilist, config),\n };\n\n return produce(\n (\n state: Draft<SearchState> = initState,\n action: {\n [key: string]: any;\n context: keyof typeof Context;\n facet: string;\n params: { [key: string]: string };\n }\n ) => {\n const context = state.context as keyof typeof Context;\n const current =\n context !== 'listings' ? state.currentFacet : state.currentListing;\n\n switch (action.type) {\n case APPLY_CONFIG: {\n state = addConfigToState(state, action);\n return state;\n }\n case CLEAR_FILTERS: {\n const currentFilters = state[context][current].filters as Filters;\n\n state[context][current].filters = Object.fromEntries(\n Object.entries(currentFilters).map(([filterKey, filter]) => {\n if (\n typeof action.filterKey === 'undefined' ||\n action.filterKey === filterKey\n ) {\n const filterItems = (filter.items || []) as FilterItem[];\n\n filter.items = filterItems.map(item => ({\n ...item,\n isSelected: false,\n })) as FilterItem[];\n }\n\n return [filterKey, filter];\n })\n );\n state[context][current].queryDuration = 0;\n state[context][current].pagingInfo.pagesLoaded = [];\n\n return;\n }\n case EXECUTE_SEARCH: {\n state[action.context][action.facet].entries = {\n ...(state[action.context][action.facet].entries || entries),\n isLoading: true,\n };\n return;\n }\n case EXECUTE_SEARCH_ERROR: {\n state[action.context][action.facet].entries = {\n ...entries,\n isError: true,\n error: action.error,\n };\n return;\n }\n case LOAD_FILTERS: {\n const { facetKey, filtersToLoad } = action;\n const filters = state[action.context][facetKey].filters as Filters;\n\n Object.entries(filters).map(([filterKey, filter]) => {\n if (filtersToLoad.find((f: string) => f === filterKey))\n return { ...filter, isLoading: true } as Filter;\n return filter;\n });\n\n state[action.context][facetKey].filters = Object.fromEntries(\n Object.entries(filters).map(([filterKey, filter]) => {\n if (filtersToLoad.find((f: string) => f === filterKey))\n return [filterKey, { ...filter, isLoading: true }];\n return [filterKey, filter];\n })\n );\n\n return;\n }\n case LOAD_FILTERS_ERROR:\n case LOAD_FILTERS_COMPLETE: {\n const { facetKey, filterKey, nextFilter } = action;\n const stateFilter = state[action.context][facetKey].filters[\n filterKey\n ] as Filter;\n\n if (\n !nextFilter.items?.length &&\n (stateFilter.items || []).length >= nextFilter.items.length\n ) {\n // Preserve items already in state\n state[action.context][facetKey].filters[filterKey] = {\n ...stateFilter,\n isLoading: false,\n isError: nextFilter.isError,\n };\n return;\n }\n\n state[action.context][facetKey].filters[filterKey] = merge(\n stateFilter,\n nextFilter,\n {\n arrayMerge: (source, inbound) => inbound,\n }\n );\n\n return;\n }\n case SET_ROUTE_FILTERS: {\n const { facet, params, context } = action;\n const { term = '', pageIndex, pageSize, orderBy } = params;\n\n const stateTerm = state.term;\n const tabId = state[context][facet].tabId || 0;\n\n // Reset the facet if the search term has changed, or if the any of\n // the filters have changed\n const resetAllFacets = stateTerm && term !== stateTerm;\n let resetCurrentFacet = false;\n\n // Add filter values in params to the matched filters in state for the current facet\n // causing unfetched filter items to be generated with isSelected: true\n // or existing filter items to be tagged with isSelected: true\n const nextFacets = Object.fromEntries(\n Object.entries(state[context] as Facets).map(\n ([facetName = '', stateFacet]) => {\n const isCurrentFacet = facetName === facet;\n const nextFilters = generateFiltersState(\n {\n facet: facetName,\n params,\n context,\n isCurrentFacet,\n },\n state\n );\n\n resetCurrentFacet =\n state.config.isLoaded === true &&\n !equals(nextFilters, stateFacet.filters);\n\n stateFacet = resetCurrentFacet\n ? resetFacet(stateFacet)\n : stateFacet;\n stateFacet.filters = nextFilters;\n stateFacet.queryParams.dynamicOrderBy = toArray(orderBy) || [];\n return [facetName, stateFacet];\n }\n )\n );\n\n state.context = context;\n state[context] = nextFacets;\n state[\n action.context === Context.facets\n ? 'currentFacet'\n : 'currentListing'\n ] = facet;\n state.term = term;\n state.tabs[tabId].currentFacet = facet;\n state[context][facet].pagingInfo = {\n ...(state[context][facet].pagingInfo || pagingInfo),\n pageIndex:\n Number(pageIndex) - 1 ||\n (state[context][facet].queryParams.loadMorePaging\n ? state[context][facet].pagingInfo?.pageIndex || 0\n : 0),\n pageSize:\n Number(pageSize) || state[context][facet].queryParams.pageSize,\n };\n state.config.isLoaded = true;\n state.config.ssr = typeof window === 'undefined';\n\n if (resetAllFacets) state[context] = resetFacets(state, context);\n\n return;\n }\n case SET_SEARCH_ENTRIES: {\n const thisContext = action.context || context;\n const currentFacet = state[thisContext][action.facet];\n\n // // Handle aggregations client-side where the filter items have loaded before the results containing the aggregations\n // for (const [filterKey, filter] of Object.entries(\n // currentFacet.filters\n // )) {\n // const aggregation = (action.nextFacet as Partial<Facet>)\n // .aggregations?.[convertKeyForAggregation(filterKey)];\n\n // for (const filterItem of filter.items || []) {\n // if (!aggregation) delete filterItem.aggregate;\n // else {\n // const aggregate = aggregation[filterItem.key.toLowerCase()];\n // if (typeof aggregate === 'number')\n // filterItem.aggregate = aggregate;\n // else delete filterItem.aggregate;\n // }\n // }\n // }\n\n state[thisContext][action.facet] = merge(\n currentFacet,\n action.nextFacet,\n {\n arrayMerge: (source, inbound) => inbound,\n }\n );\n return;\n }\n case SET_SEARCH_FILTERS: {\n // DO SEARCH then SET_SEARCH_FILTERS is for when we cannot use SET_ROUTE_FILTERS\n // for example in a minilist scenario where the route filters\n // are used for the primary page / listing navigation\n\n // Add filter values in params to the matched filters in state\n // causing unfetched filter items to be generated with isSelected: true\n const filters = generateFiltersState(\n { ...action, isCurrentFacet: true },\n state\n );\n\n const term = action?.params?.term;\n const useSearchTerm =\n state[action.context || Context.minilist][action.facet].queryParams\n .useSearchTerm || false;\n state[action.context || Context.minilist][action.facet].filters =\n filters;\n state[action.context || Context.minilist][\n action.facet\n ].queryParams.excludeIds = action.excludeIds;\n state.term = useSearchTerm ? term : state.term;\n state.config.ssr = typeof window === 'undefined';\n\n return;\n }\n case UPDATE_PAGE_INDEX: {\n const { pageIndex } = action;\n const internalPaging =\n state[context][current].queryParams.internalPaging || false;\n\n const currentPageIndex =\n state[context][current].pagingInfo.pageIndex || 0;\n\n state[context][current].pagingInfo.pageIndex = Number(pageIndex) || 0;\n state[context][current].pagingInfo.prevPageIndex = currentPageIndex;\n state[context][current].pagingInfo.isLoading = true;\n\n if (internalPaging) return;\n\n state[context][current].queryDuration = 0;\n return;\n }\n case UPDATE_PAGE_SIZE: {\n const { pageSize } = action;\n\n state[context][current].pagingInfo.pageSize = pageSize;\n state[context][current].pagingInfo.pageIndex = 0;\n state[context][current].pagingInfo.isLoading = true;\n state[context][current].queryDuration = 0;\n return;\n }\n case UPDATE_SEARCH_TERM: {\n state.term = action.term;\n state[context] = resetFacets(state, context);\n\n return;\n }\n case UPDATE_SELECTED_FILTERS: {\n const { filter, key, isUnknownItem } = action;\n\n const isSingleSelect =\n state[context][current].filters[filter].isSingleSelect || false;\n const isGrouped =\n state[context][current].filters[filter].isGrouped || false;\n\n const currentItems = state[context][current].filters[filter].items;\n if (isGrouped) state[context] = resetFacets(state, context);\n state[context][current] = resetFacet(state[context][current]);\n\n if (\n isUnknownItem &&\n currentItems?.findIndex(item => item?.key === key) === -1\n ) {\n currentItems?.push({\n key,\n isSelected: false,\n });\n }\n state[context][current].filters[filter].items = currentItems?.map(\n item => {\n if (item.key === key) {\n return { ...item, isSelected: !item.isSelected };\n }\n if (isSingleSelect) return { ...item, isSelected: false };\n return item;\n }\n );\n\n return;\n }\n case UPDATE_SORT_ORDER: {\n const { orderBy, facet } = action;\n state[context] = resetFacets(state, context);\n const currentFacet = facet || current;\n state[context][currentFacet].queryParams.dynamicOrderBy = orderBy\n ? toArray(orderBy) || []\n : [];\n\n return;\n }\n default:\n return;\n }\n },\n initState\n );\n};\n","export const Context = {\n facets: 'facets',\n listings: 'listings',\n minilist: 'minilist',\n};\nexport * from './models';\n\nexport { default as withSearch } from './containers/withSearch';\nexport { default as withListing } from './containers/withListing';\n\nexport { default as useFacets } from './hooks/useFacets.hook';\nexport { default as useListing } from './hooks/useListing.hook';\nexport { default as useMinilist } from './hooks/useMinilist.hook';\n\nexport * as actions from './redux/actions';\nexport {\n doSearch,\n setRouteFilters,\n searchSagas as sagas,\n triggerListingSsr,\n triggerMinilistSsr,\n triggerSearchSsr,\n} from './redux/sagas';\nexport { default as reducer } from './redux/reducers';\nexport * as schema from './redux/schema';\nexport * as selectors from './redux/selectors';\nexport * as types from './redux/types';\n\nexport * as expressions from './search/expressions';\nexport * as queries from './search/queries';\nexport { routeParams } from './search/util';\n"],"names":["toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue","React","createElement","withSearch","mappers","SearchComponent","Wrapper","props","displayName","name","mapStateToProps","state","currentFacet","getCurrentFacet","currentPageIndex","getPageIndex","currentTabIndex","getCurrentTab","facet","getFacet","facets","getTabFacets","facetsTotalCount","getFacetsTotalCount","facetTitles","getFacetTitles","featuredResults","getFeaturedResults","filters","getRenderableFilters","isLoading","getIsLoading","paging","getPaging","pageIsLoading","getPageIsLoading","results","getResults","resultsInfo","searchTerm","getSearchTerm","searchTotalCount","getSearchTotalCount","selectedFilters","getSelectedFilters","sortOrder","getQueryParameter","tabsAndFacets","getTabsAndFacets","totalCount","getTotalCount","mapDispatchToProps","clearFilters","filterKey","withMappers","updateCurrentFacet","updateCurrentTab","id","updatePageIndex","pageIndex","scrollToElement","updatePageSize","pageSize","updateSearchTerm","term","updateSelectedFilters","filter","key","isUnknownItem","updateSortOrder","orderBy","connector","connect","withListing","ListingComponent","getCurrent","getListing","selectListing","currentListing","listing","featured","makeSelectMinilistProps","createSelector","_","Context","minilist","getFilters","pagingInfo","useMinilist","config","excludeIds","mapper","params","defaultLang","debug","dispatch","useDispatch","selectMinilistProps","useMemo","useSelector","useEffect","triggerSearch","context","title","isError","items","pageCount","pagesLoaded","prevPageIndex","searchFacet","featuredEntries","queryParams","queryDuration","projectId","searchTab","undefined","label","filtering","isGrouped","contentTypeId","customWhere","fieldId","filterItem","type","path","isSelected","isLoaded","searchState","listings","tabs","initialState","addConfigToState","action","generateSearchFacets","thisConfig","keys","length","map","facetName","newFacet","merge","isDisabled","generateFiltersState","isCurrentFacet","filterParams","_filter$items","item","addFilterItem","paramKey","paramValue","itemIndex","findIndex","push","paramName","split","pVal","fromEntries","resetFacets","k","v","resetFacet","initState","produce","current","APPLY_CONFIG","CLEAR_FILTERS","currentFilters","filterItems","EXECUTE_SEARCH","EXECUTE_SEARCH_ERROR","error","LOAD_FILTERS","facetKey","filtersToLoad","find","f","LOAD_FILTERS_ERROR","LOAD_FILTERS_COMPLETE","_nextFilter$items","nextFilter","stateFilter","arrayMerge","source","inbound","SET_ROUTE_FILTERS","_state$context$facet$","stateTerm","tabId","resetAllFacets","resetCurrentFacet","nextFacets","stateFacet","nextFilters","equals","dynamicOrderBy","toArray","Number","loadMorePaging","ssr","window","SET_SEARCH_ENTRIES","thisContext","nextFacet","SET_SEARCH_FILTERS","_action$params","useSearchTerm","UPDATE_PAGE_INDEX","internalPaging","UPDATE_PAGE_SIZE","UPDATE_SEARCH_TERM","UPDATE_SELECTED_FILTERS","isSingleSelect","currentItems","UPDATE_SORT_ORDER"],"mappings":"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"}
@@ -392,5 +392,5 @@ var routing = /*#__PURE__*/Object.freeze({
392
392
  selectSurrogateKeys: selectSurrogateKeys
393
393
  });
394
394
 
395
- export { LOGIN_USER as $, SET_ENTRY as A, SET_ANCESTORS as B, selectCurrentNode as C, selectCurrentAncestors as D, selectCurrentSiblings as E, selectRouteEntryEntryId as F, selectRouteEntryLanguage as G, REGISTER_USER_SUCCESS as H, REGISTER_USER_FAILED as I, queryParams as J, selectCurrentSearch as K, setRoute as L, REQUEST_USER_PASSWORD_RESET as M, RESET_USER_PASSWORD as N, CHANGE_USER_PASSWORD as O, REQUEST_USER_PASSWORD_RESET_SENDING as P, REQUEST_USER_PASSWORD_RESET_SUCCESS as Q, REGISTER_USER as R, SET_TARGET_PROJECT as S, REQUEST_USER_PASSWORD_RESET_ERROR as T, UserReducer as U, RESET_USER_PASSWORD_SENDING as V, RESET_USER_PASSWORD_SUCCESS as W, RESET_USER_PASSWORD_ERROR as X, CHANGE_USER_PASSWORD_ERROR as Y, CHANGE_USER_PASSWORD_SENDING as Z, CHANGE_USER_PASSWORD_SUCCESS as _, routing$1 as a, LOGOUT_USER as a0, VALIDATE_USER as a1, SET_AUTHENTICATION_STATE as a2, selectSurrogateKeys as a3, selectSsrApiCalls as a4, routing as b, action as c, selectRouteEntryContentTypeId as d, selectRouteEntry as e, selectRouteIsError as f, getImmutableOrJS as g, selectIsNotFound as h, initialUserState as i, selectRouteLoading as j, selectMappedEntry as k, selectCurrentProject as l, selectCurrentPath as m, selectRouteStatusCode as n, selectRouteErrorMessage as o, setNavigationPath as p, setSurrogateKeys as q, routing$2 as r, setCurrentProject as s, types as t, getJS as u, SET_SURROGATE_KEYS as v, SET_SIBLINGS as w, SET_ROUTE as x, SET_NAVIGATION_PATH as y, UPDATE_LOADING_STATE as z };
396
- //# sourceMappingURL=selectors-BRzliwbK.js.map
395
+ export { LOGIN_USER as $, SET_ENTRY as A, SET_ANCESTORS as B, selectCurrentNode as C, selectCurrentAncestors as D, selectCurrentSiblings as E, selectRouteEntryEntryId as F, selectRouteEntryLanguage as G, REGISTER_USER_SUCCESS as H, REGISTER_USER_FAILED as I, queryParams as J, selectCurrentSearch as K, setRoute as L, REQUEST_USER_PASSWORD_RESET as M, RESET_USER_PASSWORD as N, CHANGE_USER_PASSWORD as O, REQUEST_USER_PASSWORD_RESET_SENDING as P, REQUEST_USER_PASSWORD_RESET_SUCCESS as Q, REGISTER_USER as R, SET_TARGET_PROJECT as S, REQUEST_USER_PASSWORD_RESET_ERROR as T, UserReducer as U, RESET_USER_PASSWORD_SENDING as V, RESET_USER_PASSWORD_SUCCESS as W, RESET_USER_PASSWORD_ERROR as X, CHANGE_USER_PASSWORD_ERROR as Y, CHANGE_USER_PASSWORD_SENDING as Z, CHANGE_USER_PASSWORD_SUCCESS as _, routing$1 as a, LOGOUT_USER as a0, VALIDATE_USER as a1, SET_AUTHENTICATION_STATE as a2, selectSurrogateKeys as a3, selectSsrApiCalls as a4, routing as b, action as c, setCurrentProject as d, getJS as e, selectRouteEntryContentTypeId as f, getImmutableOrJS as g, selectRouteEntry as h, initialUserState as i, selectRouteIsError as j, selectIsNotFound as k, selectRouteLoading as l, selectMappedEntry as m, selectCurrentProject as n, selectCurrentPath as o, selectRouteStatusCode as p, selectRouteErrorMessage as q, routing$2 as r, setSurrogateKeys as s, types as t, setNavigationPath as u, SET_SURROGATE_KEYS as v, SET_SIBLINGS as w, SET_ROUTE as x, SET_NAVIGATION_PATH as y, UPDATE_LOADING_STATE as z };
396
+ //# sourceMappingURL=selectors-DO2ocdOp.js.map