@zengenti/contensis-react-base 3.0.0-beta.9 → 3.0.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/README.md +128 -1
  2. package/cjs/{App-5d20127f.js → App-c5698b06.js} +229 -182
  3. package/cjs/App-c5698b06.js.map +1 -0
  4. package/cjs/{RouteLoader-df3de0cb.js → RouteLoader-3aa6456e.js} +47 -28
  5. package/cjs/RouteLoader-3aa6456e.js.map +1 -0
  6. package/cjs/{ToJs-697ace9f.js → ToJs-a9a8522b.js} +39 -34
  7. package/cjs/ToJs-a9a8522b.js.map +1 -0
  8. package/cjs/{actions-a24bf46e.js → actions-8dc9e8de.js} +5 -4
  9. package/cjs/actions-8dc9e8de.js.map +1 -0
  10. package/cjs/client.js +22 -44
  11. package/cjs/client.js.map +1 -1
  12. package/cjs/contensis-react-base.js +3956 -136
  13. package/cjs/contensis-react-base.js.map +1 -1
  14. package/cjs/forms.js +547 -580
  15. package/cjs/forms.js.map +1 -1
  16. package/cjs/{fromJSLeaveImmer-65d26804.js → fromJSLeaveImmer-e74c673c.js} +2 -2
  17. package/cjs/fromJSLeaveImmer-e74c673c.js.map +1 -0
  18. package/cjs/{login-bc55ee33.js → login-6b9de6a1.js} +92 -55
  19. package/cjs/login-6b9de6a1.js.map +1 -0
  20. package/cjs/{reducers-fde41d6b.js → reducers-3a4f8971.js} +26 -25
  21. package/cjs/reducers-3a4f8971.js.map +1 -0
  22. package/cjs/redux.js +6 -5
  23. package/cjs/redux.js.map +1 -1
  24. package/cjs/routing.js +5 -4
  25. package/cjs/routing.js.map +1 -1
  26. package/cjs/sagas-594b5ecd.js +2090 -0
  27. package/cjs/sagas-594b5ecd.js.map +1 -0
  28. package/cjs/search.js +296 -1915
  29. package/cjs/search.js.map +1 -1
  30. package/cjs/{selectors-0ec95076.js → selectors-656da4b7.js} +8 -3
  31. package/cjs/selectors-656da4b7.js.map +1 -0
  32. package/cjs/setCachingHeaders-ee619bdf.js +12 -0
  33. package/cjs/setCachingHeaders-ee619bdf.js.map +1 -0
  34. package/cjs/user.js +21 -12
  35. package/cjs/user.js.map +1 -1
  36. package/cjs/util.js +17 -17
  37. package/cjs/util.js.map +1 -1
  38. package/cjs/{version-bf00e6d7.js → version-78dfc3bd.js} +35 -23
  39. package/cjs/version-78dfc3bd.js.map +1 -0
  40. package/cjs/{version-be0c7b7a.js → version-eba6d09b.js} +2 -2
  41. package/{esm/version-ad2ec52c.js.map → cjs/version-eba6d09b.js.map} +1 -1
  42. package/esm/{App-4224ba21.js → App-069378e0.js} +229 -183
  43. package/esm/App-069378e0.js.map +1 -0
  44. package/esm/{RouteLoader-027215f2.js → RouteLoader-5171c63f.js} +47 -28
  45. package/esm/RouteLoader-5171c63f.js.map +1 -0
  46. package/esm/{ToJs-46761960.js → ToJs-4e02a04d.js} +38 -32
  47. package/esm/ToJs-4e02a04d.js.map +1 -0
  48. package/esm/{actions-b949ef5c.js → actions-180948dd.js} +5 -4
  49. package/esm/actions-180948dd.js.map +1 -0
  50. package/esm/client.js +24 -27
  51. package/esm/client.js.map +1 -1
  52. package/esm/contensis-react-base.js +3954 -135
  53. package/esm/contensis-react-base.js.map +1 -1
  54. package/esm/forms.js +547 -583
  55. package/esm/forms.js.map +1 -1
  56. package/esm/{fromJSLeaveImmer-e2f0f331.js → fromJSLeaveImmer-0114ffcf.js} +2 -2
  57. package/esm/fromJSLeaveImmer-0114ffcf.js.map +1 -0
  58. package/esm/{login-6eab4c94.js → login-508cac0f.js} +92 -55
  59. package/esm/login-508cac0f.js.map +1 -0
  60. package/esm/{reducers-d6c0edb1.js → reducers-8e5d6232.js} +26 -25
  61. package/esm/reducers-8e5d6232.js.map +1 -0
  62. package/esm/redux.js +8 -7
  63. package/esm/redux.js.map +1 -1
  64. package/esm/routing.js +5 -4
  65. package/esm/routing.js.map +1 -1
  66. package/esm/sagas-1f2b2aa0.js +2000 -0
  67. package/esm/sagas-1f2b2aa0.js.map +1 -0
  68. package/esm/search.js +252 -1856
  69. package/esm/search.js.map +1 -1
  70. package/esm/{selectors-8fca7fb2.js → selectors-a5e5835b.js} +9 -6
  71. package/esm/selectors-a5e5835b.js.map +1 -0
  72. package/esm/setCachingHeaders-d49060e1.js +10 -0
  73. package/esm/setCachingHeaders-d49060e1.js.map +1 -0
  74. package/esm/user.js +23 -14
  75. package/esm/user.js.map +1 -1
  76. package/esm/util.js +17 -17
  77. package/esm/util.js.map +1 -1
  78. package/esm/{version-ad2ec52c.js → version-2485e2fb.js} +2 -2
  79. package/{cjs/version-be0c7b7a.js.map → esm/version-2485e2fb.js.map} +1 -1
  80. package/esm/{version-3b4fe08d.js → version-e3a5ec66.js} +34 -23
  81. package/esm/version-e3a5ec66.js.map +1 -0
  82. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -1
  83. package/models/forms/index.d.ts +3 -1
  84. package/models/index.d.ts +1 -0
  85. package/models/redux/appstate.d.ts +5 -10
  86. package/models/redux/sagas/navigation.d.ts +1 -1
  87. package/models/redux/selectors/navigation.d.ts +2 -1
  88. package/models/routing/components/RouteLoader.d.ts +2 -19
  89. package/models/routing/redux/actions.d.ts +1 -1
  90. package/models/routing/redux/selectors.d.ts +1 -1
  91. package/models/routing/routes.d.ts +22 -4
  92. package/models/routing/util/expressions.d.ts +3 -2
  93. package/models/routing/util/queries.d.ts +1 -1
  94. package/models/search/containers/withListing.d.ts +1 -1
  95. package/models/search/containers/withSearch.d.ts +1 -1
  96. package/models/search/hooks/useFacets.hook.d.ts +3 -0
  97. package/models/search/hooks/useListing.hook.d.ts +3 -0
  98. package/models/search/hooks/useMinilist.hook.d.ts +2 -9
  99. package/models/search/index.d.ts +6 -2
  100. package/models/search/models/Queries.d.ts +8 -5
  101. package/models/search/models/Search.d.ts +60 -28
  102. package/models/search/models/SearchActions.d.ts +9 -5
  103. package/models/search/models/SearchProps.d.ts +52 -7
  104. package/models/search/models/SearchState.d.ts +5 -1
  105. package/models/search/models/index.d.ts +3 -1
  106. package/models/search/redux/actions.d.ts +5 -2
  107. package/models/search/redux/reducers.d.ts +230 -314
  108. package/models/search/redux/sagas.d.ts +11 -7
  109. package/models/search/redux/selectors.d.ts +21 -24
  110. package/models/search/redux/util.d.ts +1 -0
  111. package/models/search/search/ContensisDeliveryApi.d.ts +1 -0
  112. package/models/search/search/expressions.d.ts +5 -8
  113. package/models/search/{redux → search}/queries.d.ts +0 -0
  114. package/models/search/search/util.d.ts +14 -0
  115. package/models/search/transformations/entry-to-filteritem.mapper.d.ts +2 -1
  116. package/models/search/transformations/filter-to-filterexpression.mapper.d.ts +6 -0
  117. package/models/search/transformations/filters-to-filterexpressions.mapper.d.ts +3 -0
  118. package/models/search/transformations/index.d.ts +3 -0
  119. package/models/search/transformations/queryParams-to-customapi.mapper.d.ts +3 -0
  120. package/models/search/transformations/state-to-searchuri.d.ts +2 -13
  121. package/models/server/features/linkdepth-api/LinkDepthSearchService.d.ts +24 -0
  122. package/models/server/features/linkdepth-api/QueryLevelResults.d.ts +50 -0
  123. package/models/server/features/linkdepth-api/api.d.ts +12 -0
  124. package/models/server/features/linkdepth-api/events-api.config.d.ts +37 -0
  125. package/models/server/features/linkdepth-api/search.d.ts +31 -0
  126. package/models/server/features/linkdepth-api/util.d.ts +11 -0
  127. package/models/server/middleware/bundleManipulation.d.ts +2 -1
  128. package/models/server/util/bundles.d.ts +17 -21
  129. package/models/server/util/getVersionInfo.d.ts +1 -0
  130. package/models/server/util/headers.d.ts +3 -2
  131. package/models/user/components/Login.d.ts +1 -2
  132. package/models/user/components/LoginForm.d.ts +1 -2
  133. package/models/user/hocs/withLogin.d.ts +4 -2
  134. package/models/user/hocs/withRegistration.d.ts +2 -0
  135. package/models/user/hooks/useLogin.d.ts +5 -3
  136. package/models/user/redux/reducers.d.ts +4 -5
  137. package/models/user/redux/sagas/login.d.ts +11 -8
  138. package/models/user/redux/selectors.d.ts +12 -6
  139. package/models/user/util/LoginHelper.class.d.ts +4 -3
  140. package/models/util/ContensisDeliveryApi.d.ts +4 -4
  141. package/models/util/json-mapper.d.ts +9 -3
  142. package/models/util/merge.d.ts +1 -0
  143. package/package.json +61 -56
  144. package/CHANGELOG.md +0 -293
  145. package/cjs/App-5d20127f.js.map +0 -1
  146. package/cjs/RouteLoader-df3de0cb.js.map +0 -1
  147. package/cjs/ToJs-697ace9f.js.map +0 -1
  148. package/cjs/actions-a24bf46e.js.map +0 -1
  149. package/cjs/fromJSLeaveImmer-65d26804.js.map +0 -1
  150. package/cjs/login-bc55ee33.js.map +0 -1
  151. package/cjs/reducers-fde41d6b.js.map +0 -1
  152. package/cjs/selectors-0ec95076.js.map +0 -1
  153. package/cjs/version-bf00e6d7.js.map +0 -1
  154. package/esm/App-4224ba21.js.map +0 -1
  155. package/esm/RouteLoader-027215f2.js.map +0 -1
  156. package/esm/ToJs-46761960.js.map +0 -1
  157. package/esm/actions-b949ef5c.js.map +0 -1
  158. package/esm/fromJSLeaveImmer-e2f0f331.js.map +0 -1
  159. package/esm/login-6eab4c94.js.map +0 -1
  160. package/esm/reducers-d6c0edb1.js.map +0 -1
  161. package/esm/selectors-8fca7fb2.js.map +0 -1
  162. package/esm/version-3b4fe08d.js.map +0 -1
  163. package/models/search/transformations/filters-to-filterexpression.d.ts +0 -1
  164. package/models/search/transformations/filters-to-filterexpression.mapper.d.ts +0 -2
  165. package/models/server/features/caching/cacheHashing.d.ts +0 -1
  166. package/package-lock.json +0 -14093
@@ -1,12 +1,13 @@
1
- import { g as getImmutableOrJS, p as action } from './selectors-8fca7fb2.js';
1
+ import { g as getImmutableOrJS, t as action } from './selectors-a5e5835b.js';
2
2
  import { all } from '@redux-saga/core/effects';
3
3
  import { compose, applyMiddleware, createStore as createStore$1, combineReducers } from 'redux';
4
4
  import thunkMiddleware from 'redux-thunk';
5
5
  import createSagaMiddleware, { END } from 'redux-saga';
6
6
  import { createInjectorsEnhancer } from 'redux-injectors';
7
7
  import { produce } from 'immer';
8
- import { h as SET_TARGET_PROJECT, i as SET_SURROGATE_KEYS, e as SET_SIBLINGS, b as SET_ROUTE, S as SET_NAVIGATION_PATH, U as UPDATE_LOADING_STATE, c as SET_ENTRY, d as SET_ANCESTORS } from './actions-b949ef5c.js';
9
- import { U as UserReducer } from './reducers-d6c0edb1.js';
8
+ import merge from 'deepmerge';
9
+ import { h as SET_TARGET_PROJECT, i as SET_SURROGATE_KEYS, e as SET_SIBLINGS, b as SET_ROUTE, S as SET_NAVIGATION_PATH, U as UPDATE_LOADING_STATE, c as SET_ENTRY, d as SET_ANCESTORS } from './actions-180948dd.js';
10
+ import { U as UserReducer } from './reducers-8e5d6232.js';
10
11
 
11
12
  const ACTION_PREFIX = '@NAVIGATION/';
12
13
  const GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;
@@ -22,8 +23,10 @@ var navigation$1 = /*#__PURE__*/Object.freeze({
22
23
 
23
24
  const initialState$2 = {
24
25
  root: null,
25
- treeDepends: [],
26
- isError: false,
26
+ error: {
27
+ isError: false,
28
+ message: null
29
+ },
27
30
  isReady: false
28
31
  };
29
32
  var NavigationReducer = produce((state, action) => {
@@ -37,7 +40,8 @@ var NavigationReducer = produce((state, action) => {
37
40
 
38
41
  case GET_NODE_TREE_ERROR:
39
42
  {
40
- state.isError = true;
43
+ state.error.isError = true;
44
+ state.error.message = action.error || 'Unknown error occurred';
41
45
  return;
42
46
  }
43
47
 
@@ -46,23 +50,33 @@ var NavigationReducer = produce((state, action) => {
46
50
  }
47
51
  }, initialState$2);
48
52
 
53
+ const combineMerge = (target, source, options) => {
54
+ const destination = target.slice();
55
+ source.forEach((item, index) => {
56
+ if (typeof destination[index] === 'undefined') {
57
+ destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);
58
+ } else if (options.isMergeableObject(item)) {
59
+ destination[index] = merge(target[index], item, options);
60
+ } else if (target.indexOf(item) === -1) {
61
+ destination.push(item);
62
+ }
63
+ });
64
+ return destination;
65
+ };
66
+
49
67
  const initialState$1 = {
50
68
  currentHostname: null,
51
- contentTypeId: null,
52
69
  currentPath: '/',
53
70
  currentNode: {},
54
71
  currentNodeAncestors: [],
55
72
  currentProject: 'unknown',
56
73
  entryID: null,
57
74
  entry: null,
58
- currentTreeId: null,
59
- entryDepends: [],
60
75
  error: undefined,
61
76
  isError: false,
62
77
  isLoading: false,
63
78
  location: {},
64
79
  mappedEntry: null,
65
- nodeDepends: [],
66
80
  notFound: false,
67
81
  staticRoute: null,
68
82
  statusCode: 200
@@ -117,7 +131,6 @@ var RoutingReducer = produce((state, action) => {
117
131
  }
118
132
 
119
133
  if (!node) {
120
- state.nodeDepends = null;
121
134
  state.currentNode = null;
122
135
  } else {
123
136
  // On Set Node, we reset all dependants.
@@ -187,16 +200,11 @@ var RoutingReducer = produce((state, action) => {
187
200
  {
188
201
  // Can be null in some cases like the homepage.
189
202
  let currentNodeSiblingParent = null;
190
- let siblingIDs = [];
191
203
 
192
204
  if (action.siblings && action.siblings.length > 0) {
193
205
  currentNodeSiblingParent = action.siblings[0].parentId;
194
- siblingIDs = action.siblings.map(node => node.id);
195
206
  }
196
207
 
197
- const currentNodeDepends = state.nodeDepends;
198
- const allNodeDepends = [...new Set([...new Set(siblingIDs), currentNodeDepends])];
199
- state.nodeDepends = allNodeDepends;
200
208
  state.currentNodeSiblings = action.siblings;
201
209
  state.currentNodeSiblingsParent = currentNodeSiblingParent;
202
210
  return;
@@ -204,15 +212,16 @@ var RoutingReducer = produce((state, action) => {
204
212
 
205
213
  case SET_SURROGATE_KEYS:
206
214
  {
207
- state.surrogateKeys = action.keys;
215
+ // console.info(`SET_SURROGATE_KEYS: '${action.url}' keys: ${action.keys}`);
216
+ state.surrogateKeys = merge(state.surrogateKeys, (action.keys || '').split(' '), {
217
+ arrayMerge: combineMerge
218
+ });
208
219
  return;
209
220
  }
210
221
 
211
222
  case SET_TARGET_PROJECT:
212
223
  {
213
224
  state.currentProject = action.project;
214
- state.currentTreeId = ''; // getTreeID(action.project))
215
-
216
225
  state.allowedGroups = action.allowedGroups;
217
226
  state.currentHostname = action.hostname;
218
227
  return;
@@ -236,7 +245,7 @@ var version$1 = /*#__PURE__*/Object.freeze({
236
245
  const initialState = {
237
246
  commitRef: null,
238
247
  buildNo: null,
239
- contensisVersionStatus: 'published'
248
+ contensisVersionStatus: null
240
249
  };
241
250
  var VersionReducer = produce((state, action) => {
242
251
  switch (action.type) {
@@ -311,7 +320,7 @@ var createStore = (async (featureReducers, initialState, history, stateType) =>
311
320
  'immutable');
312
321
  fromJS = (await import(
313
322
  /* webpackChunkName: "from-js" */
314
- './fromJSLeaveImmer-e2f0f331.js')).default;
323
+ './fromJSLeaveImmer-0114ffcf.js')).default;
315
324
  combiner = (await import(
316
325
  /* webpackChunkName: "redux-immutable" */
317
326
  'redux-immutable')).combineReducers;
@@ -345,12 +354,14 @@ var createStore = (async (featureReducers, initialState, history, stateType) =>
345
354
 
346
355
  const hasNavigationTree = state => getImmutableOrJS(state, ['navigation', 'isReady']);
347
356
  const selectNavigationRoot = state => getImmutableOrJS(state, ['navigation', 'root']);
348
- const selectNavigationDepends = state => getImmutableOrJS(state, ['navigation', 'treeDepends']);
357
+ const selectNavigationChildren = state => getImmutableOrJS(state, ['navigation', 'root', 'children']);
358
+ const selectNavigationDepends = () => [];
349
359
 
350
360
  var navigation = /*#__PURE__*/Object.freeze({
351
361
  __proto__: null,
352
362
  hasNavigationTree: hasNavigationTree,
353
363
  selectNavigationRoot: selectNavigationRoot,
364
+ selectNavigationChildren: selectNavigationChildren,
354
365
  selectNavigationDepends: selectNavigationDepends
355
366
  });
356
367
 
@@ -426,4 +437,4 @@ var version = /*#__PURE__*/Object.freeze({
426
437
  });
427
438
 
428
439
  export { GET_NODE_TREE as G, SET_NODE_TREE as S, setVersion as a, GET_NODE_TREE_ERROR as b, createStore as c, version as d, navigation as e, convertSagaArray as f, injectReducer as g, hasNavigationTree as h, injectRedux as i, injectSaga as j, navigation$1 as n, reduxStore as r, setVersionStatus as s, useInjectRedux as u, version$1 as v };
429
- //# sourceMappingURL=version-3b4fe08d.js.map
440
+ //# sourceMappingURL=version-e3a5ec66.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-e3a5ec66.js","sources":["../src/redux/types/navigation.js","../src/redux/reducers/navigation.ts","../src/util/merge.ts","../src/routing/redux/reducers.ts","../src/redux/types/version.js","../src/redux/reducers/version.ts","../src/redux/store/routerMiddleware.js","../src/redux/store/store.ts","../src/redux/selectors/navigation.js","../src/redux/store/injectors.js","../src/redux/actions/version.js"],"sourcesContent":["const ACTION_PREFIX = '@NAVIGATION/';\nexport const GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;\nexport const SET_NODE_TREE = `${ACTION_PREFIX}_SET_NODE_TREE`;\nexport const GET_NODE_TREE_ERROR = `${ACTION_PREFIX}_GET_NODE_TREE_ERROR`;\n","import { Draft, produce } from 'immer';\nimport { SET_NODE_TREE, GET_NODE_TREE_ERROR } from '~/redux/types/navigation';\n\nconst initialState = {\n root: null,\n error: {\n isError: false,\n message: null,\n },\n isReady: false,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_NODE_TREE: {\n state.root = action.nodes;\n state.isReady = true;\n return;\n }\n case GET_NODE_TREE_ERROR: {\n state.error.isError = true;\n state.error.message = action.error || 'Unknown error occurred';\n return;\n }\n default:\n return;\n }\n}, initialState);\n","import merge from 'deepmerge';\n\nexport const combineMerge = (target: any, source: any, options: any) => {\n const destination = target.slice();\n\n source.forEach((item: any, index: any) => {\n if (typeof destination[index] === 'undefined') {\n destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);\n } else if (options.isMergeableObject(item)) {\n destination[index] = merge(target[index], item, options);\n } else if (target.indexOf(item) === -1) {\n destination.push(item);\n }\n });\n return destination;\n};\n","import { Draft, produce } from 'immer';\nimport merge from 'deepmerge';\n\nimport {\n SET_ENTRY,\n SET_NAVIGATION_PATH,\n SET_ANCESTORS,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SIBLINGS,\n SET_SURROGATE_KEYS,\n UPDATE_LOADING_STATE,\n} from './types';\nimport { combineMerge } from '~/util/merge';\n\nconst initialState = {\n currentHostname: null,\n currentPath: '/',\n currentNode: {},\n currentNodeAncestors: [],\n currentProject: 'unknown',\n entryID: null,\n entry: null,\n error: undefined,\n isError: false,\n isLoading: false,\n location: {},\n mappedEntry: null,\n notFound: false,\n staticRoute: null,\n statusCode: 200,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_ANCESTORS: {\n state.currentNodeAncestors = action.ancestors;\n return;\n }\n case SET_ENTRY: {\n const {\n entry,\n error,\n mappedEntry,\n node = {},\n isError = false,\n isLoading = false,\n notFound = false,\n statusCode,\n } = action;\n\n let defaultStatus = 200;\n if (notFound === true && isError === false) defaultStatus = 404;\n else if (isError === true) defaultStatus = statusCode || 500;\n\n if (!entry) {\n state.entryID = null;\n state.entry = null;\n state.error = error;\n state.mappedEntry = null;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n } else {\n state.entryID = action.id;\n state.entry = entry;\n state.error = error;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n\n if (mappedEntry && Object.keys(mappedEntry).length > 0) {\n state.mappedEntry = mappedEntry;\n state.entry = { sys: entry.sys };\n }\n }\n\n if (!node) {\n state.currentNode = null;\n } else {\n // On Set Node, we reset all dependants.\n state.currentNode = node;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { entry, ...nodeWithoutEntry } = node; // We have the entry stored elsewhere, so lets not keep it twice.\n state.currentNode = nodeWithoutEntry;\n }\n return;\n }\n case UPDATE_LOADING_STATE: {\n state.isLoading = action.isLoading;\n return;\n }\n case SET_NAVIGATION_PATH: {\n let staticRoute = {} as any;\n if (action.staticRoute) {\n staticRoute = { ...action.staticRoute };\n }\n if (action.path) {\n // Don't run a path update on initial load as we allready should have it in redux\n const entryUri = state?.entry?.sys?.uri;\n if (entryUri !== action.path) {\n state.currentPath = action.path;\n state.location = action.location;\n state.staticRoute = {\n ...staticRoute,\n route: { ...staticRoute.route, component: null },\n };\n\n state.isLoading = typeof window !== 'undefined';\n } else {\n state.location = action.location;\n state.staticRoute = {\n ...staticRoute,\n route: { ...staticRoute.route, component: null },\n };\n }\n }\n return;\n }\n case SET_ROUTE: {\n state.nextPath = action.path;\n return;\n }\n case SET_SIBLINGS: {\n // Can be null in some cases like the homepage.\n let currentNodeSiblingParent = null;\n if (action.siblings && action.siblings.length > 0) {\n currentNodeSiblingParent = action.siblings[0].parentId;\n }\n\n state.currentNodeSiblings = action.siblings;\n state.currentNodeSiblingsParent = currentNodeSiblingParent;\n return;\n }\n case SET_SURROGATE_KEYS: {\n // console.info(`SET_SURROGATE_KEYS: '${action.url}' keys: ${action.keys}`);\n state.surrogateKeys = merge(\n state.surrogateKeys,\n (action.keys || '').split(' '),\n { arrayMerge: combineMerge }\n );\n return;\n }\n case SET_TARGET_PROJECT: {\n state.currentProject = action.project;\n state.allowedGroups = action.allowedGroups;\n state.currentHostname = action.hostname;\n return;\n }\n default:\n return state;\n }\n}, initialState);\n","const VERSION_PREFIX = '@VERSION/';\nexport const SET_VERSION = `${VERSION_PREFIX}SET_VERSION`;\nexport const SET_VERSION_STATUS = `${VERSION_PREFIX}SET_VERSION_STATUS`;\n","import { Draft, produce } from 'immer';\nimport { SET_VERSION, SET_VERSION_STATUS } from '~/redux/types/version';\n\nconst initialState = {\n commitRef: null,\n buildNo: null,\n contensisVersionStatus: null as 'latest' | 'published' | null,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_VERSION_STATUS: {\n state.contensisVersionStatus = action.status;\n return;\n }\n case SET_VERSION: {\n state.commitRef = action.commitRef;\n state.buildNo = action.buildNo;\n return;\n }\n default:\n return;\n }\n}, initialState);\n","/**\n * This middleware captures 'CALL_HISTORY_METHOD' actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n/* eslint-disable no-unused-vars */\nconst routerMiddleware = history => store => next => action => {\n if (action.type !== 'CALL_HISTORY_METHOD') {\n return next(action);\n }\n\n const {\n payload: { method, args },\n } = action;\n history[method](...args);\n};\n\nexport default routerMiddleware;\n","import {\n applyMiddleware,\n combineReducers,\n compose,\n createStore,\n Action,\n Store,\n StoreEnhancer,\n} from 'redux';\nimport thunkMiddleware from 'redux-thunk';\nimport createSagaMiddleware, { END } from 'redux-saga';\nimport { createInjectorsEnhancer } from 'redux-injectors';\n\n// Core reducers\nimport NavigationReducer from '../reducers/navigation';\nimport RoutingReducer from '~/routing/redux/reducers';\nimport UserReducer from '~/user/redux/reducers';\nimport VersionReducer from '../reducers/version';\nimport routerMiddleware from './routerMiddleware';\nimport { AppState } from '../appstate';\nimport { History, MemoryHistory } from 'history';\nimport { StateType } from '~/config';\n\nexport let reduxStore;\n\n/* eslint-disable no-underscore-dangle */\ndeclare let window: Window &\n typeof globalThis & {\n __REDUX_DEVTOOLS_EXTENSION__: any;\n };\n\nexport default async (\n featureReducers: any,\n initialState: AppState,\n history: History | MemoryHistory,\n stateType: StateType\n) => {\n let reduxDevToolsMiddleware = f => f;\n\n if (typeof window != 'undefined') {\n reduxDevToolsMiddleware = window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\n : f => f;\n }\n\n const sagaMiddleware = createSagaMiddleware();\n\n const reducers = {\n navigation: NavigationReducer,\n routing: RoutingReducer,\n user: UserReducer,\n version: VersionReducer,\n ...featureReducers,\n };\n\n // Reassign the combiner and fromJS functions when\n // stateType is 'immutable' with dynamic imports\n let combiner = combineReducers;\n let fromJS: any = (obj: any) => obj;\n globalThis.STATE_TYPE = stateType;\n\n if (stateType === 'immutable') {\n globalThis.immutable = await import(\n /* webpackChunkName: \"immutable\" */ 'immutable'\n );\n\n fromJS = (\n await import(/* webpackChunkName: \"from-js\" */ '~/util/fromJSLeaveImmer')\n ).default;\n\n combiner = (\n await import(/* webpackChunkName: \"redux-immutable\" */ 'redux-immutable')\n ).combineReducers;\n }\n\n const createReducer = (injectedReducers = {}) => {\n const rootReducer = combiner<AppState>({\n ...injectedReducers,\n // other non-injected reducers go here\n ...reducers,\n });\n\n return rootReducer;\n };\n\n const store = (initialState: AppState) => {\n const runSaga = sagaMiddleware.run;\n\n const middleware: StoreEnhancer<\n {\n dispatch: unknown;\n },\n unknown\n > = compose(\n applyMiddleware(\n thunkMiddleware,\n sagaMiddleware,\n routerMiddleware(history)\n ),\n createInjectorsEnhancer({\n createReducer,\n runSaga,\n }),\n reduxDevToolsMiddleware\n );\n\n const store: Store<AppState, Action<any>> & {\n runSaga?: typeof runSaga;\n close?: () => void;\n } = createStore<AppState, Action<any>, unknown, unknown>(\n createReducer(),\n initialState,\n middleware\n );\n\n store.runSaga = runSaga;\n store.close = () => store.dispatch(END);\n\n return store;\n };\n\n reduxStore = store(fromJS(initialState));\n return reduxStore;\n};\n","import { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const hasNavigationTree = state =>\n getIn(state, ['navigation', 'isReady']);\n\nexport const selectNavigationRoot = state =>\n getIn(state, ['navigation', 'root']);\n\nexport const selectNavigationChildren = state =>\n getIn(state, ['navigation', 'root', 'children']);\n\nexport const selectNavigationDepends = () => [];\n","import { all } from 'redux-saga/effects';\nimport { reduxStore as DefaultStore } from './store';\n\nexport const convertSagaArray = sagas => {\n if (Array.isArray(sagas))\n return function* rootSaga() {\n yield all(sagas);\n };\n return sagas;\n};\n\nexport const injectReducer = ({ key, reducer }, store = DefaultStore) => {\n if (\n Reflect.has(store.injectedReducers, key) &&\n store.injectedReducers[key] === reducer\n )\n return;\n store.injectedReducers[key] = reducer;\n\n store.replaceReducer(store.createReducer(store.injectedReducers));\n};\n\nexport const injectSaga = ({ key, saga }, store = DefaultStore) => {\n const rootSaga = convertSagaArray(saga);\n let hasSaga = Reflect.has(store.injectedSagas, key);\n\n if (process.env.NODE_ENV !== 'production') {\n const oldDescriptor = store.injectedSagas[key]; // enable hot reloading of daemon and once-till-unmount sagas\n\n if (hasSaga && oldDescriptor.saga !== rootSaga) {\n oldDescriptor.task.cancel();\n hasSaga = false;\n }\n }\n console.info('injectSaga, key: ', key, 'hasSaga: ', hasSaga);\n\n if (!hasSaga) {\n store.injectedSagas[key] = {\n key,\n saga: rootSaga,\n task: store.runSaga(rootSaga),\n };\n }\n};\n\nexport const injectRedux = ({ key, reducer, saga }, store = DefaultStore) => {\n console.info('injectRedux, key: ', key);\n if (reducer) injectReducer({ key, reducer }, store);\n if (saga) injectSaga({ key, saga }, store);\n};\n\nexport const useInjectRedux = injectRedux;\n","import { action } from '../util';\nimport { SET_VERSION, SET_VERSION_STATUS } from '../types/version';\n\nexport const setVersion = (commitRef, buildNo) =>\n action(SET_VERSION, { commitRef, buildNo });\n\nexport const setVersionStatus = status =>\n action(SET_VERSION_STATUS, { status });\n"],"names":["ACTION_PREFIX","GET_NODE_TREE","SET_NODE_TREE","GET_NODE_TREE_ERROR","initialState","root","error","isError","message","isReady","produce","state","action","type","nodes","combineMerge","target","source","options","destination","slice","forEach","item","index","cloneUnlessOtherwiseSpecified","isMergeableObject","merge","indexOf","push","currentHostname","currentPath","currentNode","currentNodeAncestors","currentProject","entryID","entry","undefined","isLoading","location","mappedEntry","notFound","staticRoute","statusCode","SET_ANCESTORS","ancestors","SET_ENTRY","node","defaultStatus","id","Object","keys","length","sys","nodeWithoutEntry","UPDATE_LOADING_STATE","SET_NAVIGATION_PATH","path","entryUri","uri","route","component","window","SET_ROUTE","nextPath","SET_SIBLINGS","currentNodeSiblingParent","siblings","parentId","currentNodeSiblings","currentNodeSiblingsParent","SET_SURROGATE_KEYS","surrogateKeys","split","arrayMerge","SET_TARGET_PROJECT","project","allowedGroups","hostname","VERSION_PREFIX","SET_VERSION","SET_VERSION_STATUS","commitRef","buildNo","contensisVersionStatus","status","routerMiddleware","history","store","next","payload","method","args","reduxStore","featureReducers","stateType","reduxDevToolsMiddleware","f","__REDUX_DEVTOOLS_EXTENSION__","sagaMiddleware","createSagaMiddleware","reducers","navigation","NavigationReducer","routing","RoutingReducer","user","UserReducer","version","VersionReducer","combiner","combineReducers","fromJS","obj","globalThis","STATE_TYPE","immutable","default","createReducer","injectedReducers","rootReducer","runSaga","run","middleware","compose","applyMiddleware","thunkMiddleware","createInjectorsEnhancer","createStore","close","dispatch","END","hasNavigationTree","getIn","selectNavigationRoot","selectNavigationChildren","selectNavigationDepends","convertSagaArray","sagas","Array","isArray","rootSaga","all","injectReducer","key","reducer","DefaultStore","Reflect","has","replaceReducer","injectSaga","saga","hasSaga","injectedSagas","process","env","NODE_ENV","oldDescriptor","task","cancel","console","info","injectRedux","useInjectRedux","setVersion","setVersionStatus"],"mappings":"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"}
@@ -36,5 +36,5 @@ export interface IVersionInfoProps {
36
36
  };
37
37
  zenPackageVersions: string[];
38
38
  }
39
- declare const _default: import("react-redux").ConnectedComponent<({ deliveryApi, devEnv, disableSsrRedux, nodeEnv, packageDetail, project, projects, proxyDeliveryApi, publicUri, reverseProxyPaths, servers, uris, version, zenPackageVersions, }: IVersionInfoProps) => JSX.Element, import("react-redux").Omit<IVersionInfoProps, "version" | "disableSsrRedux" | "reverseProxyPaths" | "proxyDeliveryApi" | "packageDetail" | "uris" | "zenPackageVersions" | "deliveryApi" | "devEnv" | "nodeEnv" | "projects" | "publicUri" | "project" | "servers">>;
39
+ declare const _default: import("react-redux").ConnectedComponent<({ deliveryApi, devEnv, disableSsrRedux, nodeEnv, packageDetail, project, projects, proxyDeliveryApi, publicUri, reverseProxyPaths, servers, uris, version, zenPackageVersions, }: IVersionInfoProps) => JSX.Element, import("react-redux").Omit<IVersionInfoProps, "version" | "project" | "projects" | "disableSsrRedux" | "reverseProxyPaths" | "proxyDeliveryApi" | "packageDetail" | "uris" | "zenPackageVersions" | "deliveryApi" | "devEnv" | "nodeEnv" | "publicUri" | "servers">>;
40
40
  export default _default;
@@ -1 +1,3 @@
1
- export * from 'zengenti-forms-package';
1
+ export * from 'zengenti-forms-package/src/app/zengenti-forms-package';
2
+ import Form from 'zengenti-forms-package/src/app/zengenti-forms-package';
3
+ export default Form;
package/models/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./config";
2
2
  export * from "./routing/routes";
3
+ export { default as linkDepthApi } from "./server/features/linkdepth-api/api";
3
4
  import internalServer from "./server/internalServer";
4
5
  export { default as ReactApp } from "./app/App";
5
6
  export default internalServer;
@@ -6,13 +6,11 @@ import { StaticRoute } from "../routing/routes";
6
6
  export declare type AppState = {
7
7
  navigation: {
8
8
  root: Node | null;
9
- treeDepends: string[];
10
9
  isError: boolean;
11
10
  isReady: boolean;
12
11
  };
13
12
  routing: {
14
13
  currentHostname: null;
15
- contentTypeId: null;
16
14
  currentPath: string;
17
15
  currentNode: Node & {
18
16
  children: Node[];
@@ -22,7 +20,6 @@ export declare type AppState = {
22
20
  currentProject: string;
23
21
  entryID: string | null;
24
22
  entry: Entry | null;
25
- entryDepends: string[];
26
23
  error?: Error | any;
27
24
  isError: boolean;
28
25
  isLoading: boolean;
@@ -33,16 +30,12 @@ export declare type AppState = {
33
30
  key?: string;
34
31
  };
35
32
  mappedEntry: Record<string, any> | null;
36
- nodeDepends: string[];
37
33
  notFound: boolean;
38
34
  staticRoute: MatchedRoute<Record<string, any>, StaticRoute>;
39
35
  statusCode: number;
40
36
  };
41
37
  user: {
42
38
  authenticationState: {
43
- authenticated: boolean;
44
- authenticationError: boolean;
45
- authenticationErrorMessage: string | null;
46
39
  clientCredentials: {
47
40
  bearerToken: string;
48
41
  bearerTokenExpiryDate: Date;
@@ -50,15 +43,17 @@ export declare type AppState = {
50
43
  refreshTokenExpiryDate: Date;
51
44
  contensisClassicToken: string;
52
45
  } | null;
53
- error: boolean;
54
46
  errorMessage: string | null;
55
- loading: boolean;
47
+ isAuthenticated: boolean;
48
+ isAuthenticationError: boolean;
49
+ isError: boolean;
50
+ isLoading: boolean;
56
51
  };
57
52
  groups: Group[];
58
53
  isZengentiStaff?: boolean;
59
54
  registration?: {
60
55
  error: Error | null;
61
- loading: boolean;
56
+ isLoading: boolean;
62
57
  success: boolean;
63
58
  };
64
59
  passwordResetRequest?: {
@@ -1,4 +1,4 @@
1
- export function ensureNodeTreeSaga(action: any): Generator<import("redux-saga/effects").SelectEffect | Promise<import("contensis-delivery-api/lib/models").Node> | import("redux-saga/effects").PutEffect<{
1
+ export function ensureNodeTreeSaga(action: any): Generator<Promise<import("contensis-delivery-api/lib/models").Node> | import("redux-saga/effects").SelectEffect | import("redux-saga/effects").PutEffect<{
2
2
  type: string;
3
3
  }>, void, unknown>;
4
4
  export const navigationSagas: import("redux-saga/effects").ForkEffect<never>[];
@@ -1,3 +1,4 @@
1
1
  export function hasNavigationTree(state: any): any;
2
2
  export function selectNavigationRoot(state: any): any;
3
- export function selectNavigationDepends(state: any): any;
3
+ export function selectNavigationChildren(state: any): any;
4
+ export function selectNavigationDepends(): never[];
@@ -1,21 +1,4 @@
1
- import React from 'react';
2
- import { setNavigationPath } from '../redux/actions';
3
- import { Entry } from 'contensis-delivery-api/lib/models';
1
+ /// <reference types="react" />
4
2
  import { AppRootProps, RouteLoaderProps } from '../routes';
5
- interface IReduxProps {
6
- contentTypeId: string | null;
7
- entry: Entry | null;
8
- isError: boolean;
9
- isNotFound: boolean;
10
- isLoading: boolean;
11
- isLoggedIn: boolean;
12
- mappedEntry: any;
13
- projectId: string;
14
- setNavigationPath: typeof setNavigationPath;
15
- statePath: string;
16
- statusCode: any;
17
- statusText: string;
18
- userGroups: any;
19
- }
20
- declare const _default: import("react-redux").ConnectedComponent<React.ComponentType<AppRootProps & RouteLoaderProps & IReduxProps>, import("react-redux").Omit<AppRootProps & RouteLoaderProps & IReduxProps, "projectId" | "contentTypeId" | "entry" | "mappedEntry" | "isLoggedIn" | "isError" | "isLoading" | "statusCode" | "statusText" | "isNotFound" | "setNavigationPath" | "statePath" | "userGroups"> | import("react-redux").Omit<React.ClassAttributes<React.Component<AppRootProps & RouteLoaderProps & IReduxProps, any, any>> & AppRootProps & RouteLoaderProps & IReduxProps, "projectId" | "contentTypeId" | "entry" | "mappedEntry" | "isLoggedIn" | "isError" | "isLoading" | "statusCode" | "statusText" | "isNotFound" | "setNavigationPath" | "statePath" | "userGroups">>;
3
+ declare const _default: (props: AppRootProps & RouteLoaderProps) => JSX.Element;
21
4
  export default _default;
@@ -3,4 +3,4 @@ export declare const setNavigationPath: (path: any, location: any, staticRoute:
3
3
  export declare const setCurrentProject: (project: any, allowedGroups: any, hostname: any) => any;
4
4
  export declare const setRoute: (path: any, state: any) => any;
5
5
  export declare const setRouteEntry: (entry: any) => any;
6
- export declare const setSurrogateKeys: (keys: any) => any;
6
+ export declare const setSurrogateKeys: (keys: any, url: any) => any;
@@ -2,7 +2,7 @@ import { StateType } from "../../config";
2
2
  import { AppState } from "../../redux/appstate";
3
3
  export declare const selectRouteEntry: (state: AppState, returnType?: StateType | undefined) => any;
4
4
  export declare const selectMappedEntry: (state: AppState, returnType?: StateType | undefined) => any;
5
- export declare const selectNodeDepends: (state: AppState) => any;
5
+ export declare const selectSurrogateKeys: (state: AppState) => any;
6
6
  export declare const selectCurrentHostname: (state: AppState) => any;
7
7
  export declare const selectCurrentTreeID: (state: AppState) => any;
8
8
  export declare const selectRouteEntryEntryId: (state: AppState) => any;
@@ -1,8 +1,9 @@
1
1
  import { MatchedRoute, RouteConfig } from 'react-router-config';
2
2
  import { Entry, Node } from 'contensis-delivery-api/lib/models';
3
3
  import React from 'react';
4
+ import { AppState } from "../redux/appstate";
4
5
  declare type RouteComponent<Props> = React.ComponentType<Props>;
5
- declare type RouteNode = Node & {
6
+ export declare type RouteNode = Node & {
6
7
  ancestors: Node[];
7
8
  children: Node[];
8
9
  };
@@ -25,8 +26,9 @@ export declare type RouteComponentProps<P = any> = {
25
26
  export declare type RouteLoaderProps = {
26
27
  loadingComponent?: React.ComponentType;
27
28
  notFoundComponent?: React.ComponentType;
29
+ trailingSlashRedirectCode?: 301 | 302;
28
30
  };
29
- export declare type EntryMapper = (<MappedProps>(node: RouteNode, state?: any) => MappedProps | unknown) | (<MappedProps>(node: RouteNode, state?: any) => Promise<MappedProps | unknown>);
31
+ export declare type EntryMapper = (<MappedProps>(node: RouteNode, state?: AppState) => MappedProps | unknown) | (<MappedProps>(node: RouteNode, state?: AppState) => Promise<MappedProps | unknown>);
30
32
  export declare type ReduxInjector = () => Promise<{
31
33
  key: string;
32
34
  reducer: any;
@@ -46,15 +48,31 @@ export declare type ContentTypeMapping = {
46
48
  linkDepth?: number;
47
49
  nodeOptions?: {
48
50
  children?: {
51
+ depth: number;
49
52
  fields?: string[];
50
53
  linkDepth?: number;
51
- };
54
+ } | boolean;
55
+ siblings?: {
56
+ fields?: string[];
57
+ linkDepth?: number;
58
+ } | boolean;
52
59
  };
53
60
  requireLogin?: RequireLogin;
54
61
  };
55
62
  export declare type StaticRoute = Omit<RouteConfig, 'component'> & {
56
63
  component: RouteComponent<RouteComponentProps>;
57
- fetchNode?: boolean;
64
+ fetchNode?: boolean | {
65
+ /**
66
+ * Params[] allows you pass parameters into the site view query on your static node fetch
67
+ * If your route is `/authors/:author` and your params[] array has author
68
+ * `{ params: [ 'author' ] }`, this will grab the route params and replace it with it's value
69
+ * e.g `{` author: 'jane-doe' }`, your path would become `/authors/jane-doe`
70
+ */
71
+ params: string[];
72
+ linkDepth?: number;
73
+ fields?: string[];
74
+ entryMapper?: EntryMapper;
75
+ };
58
76
  fetchNodeLevel?: number;
59
77
  injectRedux?: ReduxInjector;
60
78
  requireLogin?: RequireLogin;
@@ -1,2 +1,3 @@
1
- export declare const fieldExpression: (field: any, value: any, operator?: string, weight?: null) => any[];
2
- export declare const defaultExpressions: (versionStatus: any) => import("contensis-core-api").IExpression[];
1
+ import { IExpression } from 'contensis-core-api';
2
+ export declare const fieldExpression: (field: string, value: string | string[], operator?: string, weight?: null) => any[];
3
+ export declare const defaultExpressions: (versionStatus: 'published' | 'latest') => IExpression[];
@@ -1,2 +1,2 @@
1
1
  import { Query } from "../../util/ContensisDeliveryApi";
2
- export declare const routeEntryByFieldsQuery: (id: string, language?: string, fields?: string[], versionStatus?: string) => Query;
2
+ export declare const routeEntryByFieldsQuery: (id: string, language?: string, fields?: string[], versionStatus?: 'published' | 'latest') => Query;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { Mappers } from '../models/Search';
3
- declare const withListing: (mappers: Mappers) => <Props extends Record<keyof Props, any>>(ListingComponent: React.FC<Props>) => import("react-redux").ConnectedComponent<any, import("react-redux").Omit<unknown, never>>;
3
+ declare const withListing: (mappers: Mappers) => <Props extends Record<string, any>>(ListingComponent: React.FC<Props>) => import("react-redux").ConnectedComponent<any, import("react-redux").Omit<unknown, never>>;
4
4
  export default withListing;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { Mappers } from '../models/Search';
3
- declare const withSearch: (mappers: Mappers) => <Props extends Record<keyof Props, any>>(SearchComponent: React.ComponentType<Props>) => import("react-redux").ConnectedComponent<any, import("react-redux").Omit<unknown, never>>;
3
+ declare const withSearch: (mappers: Mappers) => <Props extends Record<string, any>>(SearchComponent: React.ComponentType<Props>) => import("react-redux").ConnectedComponent<any, import("react-redux").Omit<unknown, never>>;
4
4
  export default withSearch;
@@ -0,0 +1,3 @@
1
+ import { SearchProps, UseFacetsProps } from '../models/SearchProps';
2
+ declare const useFacets: <SearchResults extends Record<string, any>>({ mappers }?: UseFacetsProps) => SearchProps<SearchResults>;
3
+ export default useFacets;
@@ -0,0 +1,3 @@
1
+ import { ListingProps, UseListingProps } from '../models/SearchProps';
2
+ declare const useListing: <SearchResults extends Record<string, any>>({ mappers }?: UseListingProps) => ListingProps<SearchResults>;
3
+ export default useListing;
@@ -1,10 +1,3 @@
1
- import { UseMinilistProps } from '../models/SearchProps';
2
- declare const useMinilist: ({ id, config, excludeIds, mapper, mappers, params, defaultLang, debug, }?: UseMinilistProps) => {
3
- filters: import("../models/SearchState").Filters;
4
- isLoading: boolean;
5
- pagingInfo: import("../models/SearchState").Paging;
6
- results: any[];
7
- searchTerm: string;
8
- title: string;
9
- };
1
+ import { MinilistProps, UseMinilistProps } from '../models/SearchProps';
2
+ declare const useMinilist: <SearchResults extends Record<string, any>>({ id, config, excludeIds, mapper, mappers, params, defaultLang, debug, }?: UseMinilistProps) => MinilistProps<SearchResults>;
10
3
  export default useMinilist;
@@ -6,11 +6,15 @@ export declare const Context: {
6
6
  export * from './models';
7
7
  export { default as withSearch } from './containers/withSearch';
8
8
  export { default as withListing } from './containers/withListing';
9
- export { doSearch, setRouteFilters, searchSagas as sagas } from './redux/sagas';
9
+ export { default as useFacets } from './hooks/useFacets.hook';
10
+ export { default as useListing } from './hooks/useListing.hook';
10
11
  export { default as useMinilist } from './hooks/useMinilist.hook';
11
12
  export * as actions from './redux/actions';
12
- export * as queries from './redux/queries';
13
+ export { doSearch, setRouteFilters, searchSagas as sagas, triggerListingSsr, triggerMinilistSsr, triggerSearchSsr, } from './redux/sagas';
13
14
  export { default as reducer } from './redux/reducers';
14
15
  export * as schema from './redux/schema';
15
16
  export * as selectors from './redux/selectors';
16
17
  export * as types from './redux/types';
18
+ export * as expressions from './search/expressions';
19
+ export * as queries from './search/queries';
20
+ export { routeParams } from './search/util';
@@ -3,6 +3,13 @@ import { VersionStatus } from 'contensis-core-api/lib/models';
3
3
  import { Operators } from 'contensis-delivery-api/lib/entries/query';
4
4
  import { CustomWhereClause, FeaturedResults, WeightedSearchField } from './Search';
5
5
  export declare type FieldOperators = Exclude<keyof Operators, 'and' | 'or' | 'not'>;
6
+ export declare type LogicOperators = 'and' | 'or' | 'not';
7
+ export declare type FilterExpression = {
8
+ key: string;
9
+ values: string[];
10
+ fieldOperator: FieldOperators;
11
+ logicOperator: LogicOperators;
12
+ };
6
13
  export declare type SearchQueryOptions = {
7
14
  assetTypes: string[];
8
15
  contentTypeIds: string[];
@@ -11,11 +18,7 @@ export declare type SearchQueryOptions = {
11
18
  excludeIds: string[];
12
19
  featuredResults: FeaturedResults;
13
20
  fields: string[];
14
- filters: {
15
- key: string;
16
- value: string;
17
- operator: FieldOperators;
18
- }[];
21
+ filters: FilterExpression[];
19
22
  includeInSearchFields: string[];
20
23
  languages: string[];
21
24
  pageSize: number;