@zengenti/contensis-react-base 3.0.2-beta.30 → 3.0.2-beta.32

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-eefb5b8f.js → App-21a7d836.js} +29 -61
  2. package/cjs/App-21a7d836.js.map +1 -0
  3. package/cjs/{ContensisDeliveryApi-e2b3ce60.js → ContensisDeliveryApi-c079b03a.js} +35 -68
  4. package/cjs/ContensisDeliveryApi-c079b03a.js.map +1 -0
  5. package/cjs/{RouteLoader-85bee645.js → RouteLoader-7f0d107a.js} +5 -9
  6. package/cjs/RouteLoader-7f0d107a.js.map +1 -0
  7. package/cjs/{ToJs-29de3c36.js → ToJs-6e9cfa69.js} +2 -2
  8. package/cjs/ToJs-6e9cfa69.js.map +1 -0
  9. package/cjs/_commonjsHelpers-b3309d7b.js +11 -0
  10. package/cjs/_commonjsHelpers-b3309d7b.js.map +1 -0
  11. package/cjs/client.js +11 -15
  12. package/cjs/client.js.map +1 -1
  13. package/cjs/contensis-react-base.js +350 -28
  14. package/cjs/contensis-react-base.js.map +1 -1
  15. package/cjs/forms.js +3057 -1046
  16. package/cjs/forms.js.map +1 -1
  17. package/cjs/{ChangePassword.container-7306be55.js → login-2a6b5be0.js} +84 -247
  18. package/cjs/login-2a6b5be0.js.map +1 -0
  19. package/cjs/redux.js +3 -3
  20. package/cjs/routing.js +3 -5
  21. package/cjs/routing.js.map +1 -1
  22. package/cjs/{selectors-a6eac513.js → selectors-bcca60f4.js} +9 -5
  23. package/cjs/selectors-bcca60f4.js.map +1 -0
  24. package/cjs/user.js +159 -34
  25. package/cjs/user.js.map +1 -1
  26. package/cjs/util.js +3 -7
  27. package/cjs/util.js.map +1 -1
  28. package/cjs/{version-9edb5540.js → version-4077e706.js} +2 -2
  29. package/cjs/{version-9edb5540.js.map → version-4077e706.js.map} +1 -1
  30. package/cjs/{version-d3b5fbde.js → version-fe28099e.js} +3 -3
  31. package/cjs/{version-d3b5fbde.js.map → version-fe28099e.js.map} +1 -1
  32. package/esm/{App-2db3d689.js → App-2af18a99.js} +24 -55
  33. package/esm/App-2af18a99.js.map +1 -0
  34. package/esm/{ContensisDeliveryApi-50b8fd7c.js → ContensisDeliveryApi-5660ee0e.js} +36 -67
  35. package/esm/ContensisDeliveryApi-5660ee0e.js.map +1 -0
  36. package/esm/{RouteLoader-3e77f6a4.js → RouteLoader-6eac364e.js} +5 -9
  37. package/esm/RouteLoader-6eac364e.js.map +1 -0
  38. package/esm/{ToJs-e533a70a.js → ToJs-9b30636a.js} +2 -2
  39. package/esm/ToJs-9b30636a.js.map +1 -0
  40. package/esm/_commonjsHelpers-1789f0cf.js +8 -0
  41. package/esm/_commonjsHelpers-1789f0cf.js.map +1 -0
  42. package/esm/client.js +12 -16
  43. package/esm/client.js.map +1 -1
  44. package/esm/contensis-react-base.js +350 -27
  45. package/esm/contensis-react-base.js.map +1 -1
  46. package/esm/forms.js +3058 -1047
  47. package/esm/forms.js.map +1 -1
  48. package/esm/{ChangePassword.container-54b4011d.js → login-71ff3fcb.js} +78 -230
  49. package/esm/login-71ff3fcb.js.map +1 -0
  50. package/esm/redux.js +6 -6
  51. package/esm/routing.js +3 -5
  52. package/esm/routing.js.map +1 -1
  53. package/esm/{selectors-5061d7c8.js → selectors-74de49a3.js} +10 -5
  54. package/esm/selectors-74de49a3.js.map +1 -0
  55. package/esm/user.js +151 -22
  56. package/esm/user.js.map +1 -1
  57. package/esm/util.js +3 -5
  58. package/esm/util.js.map +1 -1
  59. package/esm/{version-7550d14d.js → version-b15807c5.js} +3 -3
  60. package/esm/{version-7550d14d.js.map → version-b15807c5.js.map} +1 -1
  61. package/esm/{version-1ef42ad1.js → version-ef107106.js} +2 -2
  62. package/esm/{version-1ef42ad1.js.map → version-ef107106.js.map} +1 -1
  63. package/models/client/client.d.ts +1 -1
  64. package/models/config.d.ts +4 -4
  65. package/models/redux/appstate.d.ts +1 -1
  66. package/models/routing/redux/actions.d.ts +6 -10
  67. package/models/routing/redux/selectors.d.ts +3 -3
  68. package/models/routing/redux/types.d.ts +1 -0
  69. package/models/routing/routes.d.ts +17 -20
  70. package/models/search/models/Queries.d.ts +10 -8
  71. package/models/search/models/Search.d.ts +24 -24
  72. package/models/search/models/SearchActions.d.ts +33 -33
  73. package/models/search/models/SearchState.d.ts +11 -11
  74. package/models/search/models/SearchUtil.d.ts +1 -1
  75. package/models/search/models/WithSearch.d.ts +1 -1
  76. package/models/search/redux/actions.d.ts +4 -4
  77. package/models/search/redux/selectors.d.ts +27 -27
  78. package/models/search/redux/util.d.ts +1 -1
  79. package/models/search/search/expressions.d.ts +4 -4
  80. package/models/search/search/util.d.ts +2 -2
  81. package/models/search/transformations/state-to-queryparams.mapper.d.ts +1 -1
  82. package/models/server/features/linkdepth-api/LinkDepthSearchService.d.ts +1 -1
  83. package/models/server/features/linkdepth-api/search.d.ts +2 -2
  84. package/models/server/internalServer.d.ts +5 -7
  85. package/models/server/util/bundles.d.ts +2 -2
  86. package/models/server/util/handleExceptions.d.ts +1 -1
  87. package/models/testImmer/redux/reducer.d.ts +1 -1
  88. package/models/user/components/Login.d.ts +3 -2
  89. package/models/user/containers/ChangePassword.container.d.ts +2 -2
  90. package/models/user/containers/ForgotPassword.container.d.ts +2 -2
  91. package/models/user/containers/Login.container.d.ts +2 -2
  92. package/models/user/containers/Registration.container.d.ts +2 -2
  93. package/models/user/hocs/withLogin.d.ts +11 -5
  94. package/models/user/hocs/withRegistration.d.ts +8 -2
  95. package/models/user/redux/actions.d.ts +2 -2
  96. package/models/user/redux/sagas/login.d.ts +8 -9
  97. package/models/user/redux/selectors.d.ts +4 -4
  98. package/models/user/util/CookieHelper.class.d.ts +3 -15
  99. package/models/user/util/LoginHelper.class.d.ts +23 -27
  100. package/models/util/ContensisDeliveryApi.d.ts +14 -21
  101. package/models/util/ToJs.d.ts +1 -1
  102. package/models/util/index.d.ts +1 -1
  103. package/models/util/json-mapper.d.ts +1 -1
  104. package/package.json +10 -9
  105. package/cjs/App-eefb5b8f.js.map +0 -1
  106. package/cjs/ChangePassword.container-7306be55.js.map +0 -1
  107. package/cjs/ContensisDeliveryApi-e2b3ce60.js.map +0 -1
  108. package/cjs/CookieConstants-000427db.js +0 -10
  109. package/cjs/CookieConstants-000427db.js.map +0 -1
  110. package/cjs/CookieHelper.class-daeb09dd.js +0 -52
  111. package/cjs/CookieHelper.class-daeb09dd.js.map +0 -1
  112. package/cjs/RouteLoader-85bee645.js.map +0 -1
  113. package/cjs/ToJs-29de3c36.js.map +0 -1
  114. package/cjs/selectors-a6eac513.js.map +0 -1
  115. package/esm/App-2db3d689.js.map +0 -1
  116. package/esm/ChangePassword.container-54b4011d.js.map +0 -1
  117. package/esm/ContensisDeliveryApi-50b8fd7c.js.map +0 -1
  118. package/esm/CookieConstants-3d3b6531.js +0 -6
  119. package/esm/CookieConstants-3d3b6531.js.map +0 -1
  120. package/esm/CookieHelper.class-4d6ee27b.js +0 -49
  121. package/esm/CookieHelper.class-4d6ee27b.js.map +0 -1
  122. package/esm/RouteLoader-3e77f6a4.js.map +0 -1
  123. package/esm/ToJs-e533a70a.js.map +0 -1
  124. package/esm/selectors-5061d7c8.js.map +0 -1
  125. package/models/user/util/CookieConstants.d.ts +0 -7
@@ -1,23 +1,13 @@
1
1
  import { Client } from 'contensis-delivery-api';
2
2
  import { parse } from 'query-string';
3
- import { A as selectCurrentHostname, w as selectCurrentPath, o as selectCurrentSearch, B as setSurrogateKeys } from './selectors-5061d7c8.js';
4
- import { r as reduxStore } from './version-1ef42ad1.js';
5
- import { f as findLoginCookies } from './CookieConstants-3d3b6531.js';
6
- import { m as mapCookieHeader } from './CookieHelper.class-4d6ee27b.js';
3
+ import { A as setSurrogateKeys } from './selectors-74de49a3.js';
4
+ import { r as reduxStore } from './version-ef107106.js';
7
5
 
8
- const getSsrReferer = () => {
9
- if (typeof window === 'undefined') {
10
- const state = reduxStore.getState();
11
- const referer = `${selectCurrentHostname(state)}${selectCurrentPath(state)}${selectCurrentSearch(state)}`;
12
- return referer;
13
- }
14
- return '';
15
- };
16
6
  const storeSurrogateKeys = response => {
17
7
  const keys = response.headers.get ? response.headers.get('surrogate-key') : response.headers.map['surrogate-key'];
18
8
  if (keys) reduxStore === null || reduxStore === void 0 ? void 0 : reduxStore.dispatch(setSurrogateKeys(keys, response.url));
19
9
  };
20
- const getClientConfig = (project, cookies) => {
10
+ const getClientConfig = project => {
21
11
  let config = DELIVERY_API_CONFIG; /* global DELIVERY_API_CONFIG */
22
12
  config.responseHandler = {};
23
13
  if (project) {
@@ -26,12 +16,9 @@ const getClientConfig = (project, cookies) => {
26
16
 
27
17
  // we only want the surrogate key header in a server context
28
18
  if (typeof window === 'undefined') {
29
- config.defaultHeaders = Object.assign(config.defaultHeaders || {}, {
30
- referer: getSsrReferer(),
31
- 'x-require-surrogate-key': true,
32
- 'x-crb-ssr': true // add this for support tracing
33
- });
34
-
19
+ config.defaultHeaders = {
20
+ 'x-require-surrogate-key': true
21
+ };
35
22
  config.responseHandler[200] = storeSurrogateKeys;
36
23
  }
37
24
  if (typeof window !== 'undefined' && PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */) {
@@ -39,19 +26,10 @@ const getClientConfig = (project, cookies) => {
39
26
  config.rootUrl = '';
40
27
  config.responseHandler[404] = () => null;
41
28
  }
42
- if (cookies) {
43
- const cookieHeader = mapCookieHeader(findLoginCookies(cookies));
44
- if (cookieHeader) {
45
- config.defaultHeaders = Object.assign(config.defaultHeaders || {}, {
46
- Cookie: cookieHeader
47
- });
48
- }
49
- }
50
29
  return config;
51
30
  };
52
31
  class DeliveryApi {
53
- constructor(cookies) {
54
- this.cookies = void 0;
32
+ constructor() {
55
33
  this.getClientSideVersionStatus = () => {
56
34
  if (typeof window !== 'undefined') {
57
35
  // Allow overriding versionStatus with the querystring
@@ -91,17 +69,17 @@ class DeliveryApi {
91
69
  }
92
70
  return 'published';
93
71
  };
94
- this.search = (query, linkDepth, project) => {
95
- const client = Client.create(getClientConfig(project, this.cookies));
72
+ this.search = (query, linkDepth, project, env) => {
73
+ const client = Client.create(getClientConfig(project));
96
74
  return client.entries.search(query, typeof linkDepth !== 'undefined' ? linkDepth : 1);
97
75
  };
98
- this.getClient = (deliveryApiStatus = 'published', project) => {
99
- const baseConfig = getClientConfig(project, this.cookies);
76
+ this.getClient = (deliveryApiStatus = 'published', project, env) => {
77
+ const baseConfig = getClientConfig(project);
100
78
  baseConfig.versionStatus = deliveryApiStatus;
101
79
  return Client.create(baseConfig);
102
80
  };
103
- this.getEntry = (id, linkDepth = 0, deliveryApiStatus = 'published', project) => {
104
- const baseConfig = getClientConfig(project, this.cookies);
81
+ this.getEntry = (id, linkDepth = 0, deliveryApiStatus = 'published', project, env) => {
82
+ const baseConfig = getClientConfig(project);
105
83
  baseConfig.versionStatus = deliveryApiStatus;
106
84
  const client = Client.create(baseConfig);
107
85
  // return client.entries.get(id, linkDepth);
@@ -110,11 +88,9 @@ class DeliveryApi {
110
88
  linkDepth
111
89
  });
112
90
  };
113
- this.cookies = cookies;
114
91
  }
115
92
  }
116
93
  const deliveryApi = new DeliveryApi();
117
- const deliveryApiWithCookies = cookies => new DeliveryApi(cookies);
118
94
  class CacheNode {
119
95
  constructor(key, value) {
120
96
  this.key = key;
@@ -185,62 +161,56 @@ class LruCache {
185
161
  this.size--;
186
162
  }
187
163
  }
188
-
189
- // CachedSearch does not cache results in SSR by design
190
164
  class CachedSearch {
191
- constructor(cookies) {
165
+ constructor() {
192
166
  this.cache = new LruCache();
193
- this.cookies = void 0;
194
167
  this.taxonomyLookup = {};
195
- this.getClient = new DeliveryApi(this.cookies).getClient;
196
- this.cookies = cookies;
197
168
  }
198
- search(query, linkDepth, project) {
199
- const client = Client.create(getClientConfig(project, this.cookies));
169
+ search(query, linkDepth, project, env) {
170
+ const client = Client.create(getClientConfig(project));
200
171
  return this.request(project + JSON.stringify(query) + linkDepth.toString(), () => client.entries.search(query, linkDepth));
201
172
  }
202
- searchUsingPost(query, linkDepth = 0, project = '') {
203
- const client = Client.create(getClientConfig(project, this.cookies));
173
+ searchUsingPost(query, linkDepth = 0, project = '', env) {
174
+ const client = Client.create(getClientConfig(project));
204
175
  return this.request(project + JSON.stringify(query) + linkDepth.toString(), () => client.entries.searchUsingPost(query, linkDepth));
205
176
  }
206
- get(id, linkDepth, versionStatus, project) {
207
- const client = Client.create(getClientConfig(project, this.cookies));
177
+ get(id, linkDepth, versionStatus, project, env) {
178
+ const client = Client.create(getClientConfig(project));
208
179
  client.clientConfig.versionStatus = versionStatus;
209
180
  return this.request(id, () => client.entries.get({
210
181
  id,
211
182
  linkDepth
212
183
  }));
213
184
  }
214
- getContentType(id, project) {
215
- const client = Client.create(getClientConfig(project, this.cookies));
185
+ getContentType(id, project, env) {
186
+ const client = Client.create(getClientConfig(project));
216
187
  return this.request(`[CONTENT TYPE] ${id} ${project}`, () => client.contentTypes.get(id));
217
188
  }
218
- getTaxonomyNode(key, project) {
219
- const client = Client.create(getClientConfig(project, this.cookies));
189
+ getTaxonomyNode(key, project, env) {
190
+ const client = Client.create(getClientConfig(project));
220
191
  return this.request(`[TAXONOMY NODE] ${key}`, () => client.taxonomy.resolveChildren(key).then(node => this.extendTaxonomyNode(node)));
221
192
  }
222
- getRootNode(options, project) {
223
- const client = Client.create(getClientConfig(project, this.cookies));
193
+ getRootNode(options, project, env) {
194
+ const client = Client.create(getClientConfig(project));
224
195
  return this.request(`${project} / ${JSON.stringify(options)}`, () => client.nodes.getRoot(options));
225
196
  }
226
- getNode(options, project) {
227
- const client = Client.create(getClientConfig(project, this.cookies));
197
+ getNode(options, project, env) {
198
+ const client = Client.create(getClientConfig(project));
228
199
  return this.request(`${project} ${options && options.path || options} ${JSON.stringify(options)}`, () => client.nodes.get(options));
229
200
  }
230
- getAncestors(options, project) {
231
- const client = Client.create(getClientConfig(project, this.cookies));
201
+ getAncestors(options, project, env) {
202
+ const client = Client.create(getClientConfig(project));
232
203
  return this.request(`${project} [A] ${options && options.id || options} ${JSON.stringify(options)}`, () => client.nodes.getAncestors(options));
233
204
  }
234
- getChildren(options, project) {
235
- const client = Client.create(getClientConfig(project, this.cookies));
205
+ getChildren(options, project, env) {
206
+ const client = Client.create(getClientConfig(project));
236
207
  return this.request(`${project} [C] ${options && options.id || options} ${JSON.stringify(options)}`, () => client.nodes.getChildren(options));
237
208
  }
238
- getSiblings(options, project) {
239
- const client = Client.create(getClientConfig(project, this.cookies));
209
+ getSiblings(options, project, env) {
210
+ const client = Client.create(getClientConfig(project));
240
211
  return this.request(`${project} [S] ${options && options.id || options} ${JSON.stringify(options)}`, () => client.nodes.getSiblings(options));
241
212
  }
242
213
  request(key, execute) {
243
- // do not cache results in SSR
244
214
  if (!this.cache.get(key) || typeof window == 'undefined') {
245
215
  let promise = execute();
246
216
  this.cache.set(key, promise);
@@ -252,7 +222,6 @@ class CachedSearch {
252
222
  }
253
223
  }
254
224
  const cachedSearch = new CachedSearch();
255
- const cachedSearchWithCookies = cookies => new CachedSearch(cookies);
256
225
 
257
- export { cachedSearchWithCookies as a, deliveryApiWithCookies as b, cachedSearch as c, deliveryApi as d, getClientConfig as g };
258
- //# sourceMappingURL=ContensisDeliveryApi-50b8fd7c.js.map
226
+ export { cachedSearch as c, deliveryApi as d, getClientConfig as g };
227
+ //# sourceMappingURL=ContensisDeliveryApi-5660ee0e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContensisDeliveryApi-5660ee0e.js","sources":["../src/util/ContensisDeliveryApi.js"],"sourcesContent":["import { Client } from 'contensis-delivery-api';\nimport { parse } from 'query-string';\nimport { setSurrogateKeys } from '../routing/redux/actions';\nimport { reduxStore } from '~/redux/store/store';\n\nconst storeSurrogateKeys = response => {\n const keys = response.headers.get\n ? response.headers.get('surrogate-key')\n : response.headers.map['surrogate-key'];\n if (keys) reduxStore?.dispatch(setSurrogateKeys(keys, response.url));\n};\n\nexport const getClientConfig = project => {\n let config = DELIVERY_API_CONFIG; /* global DELIVERY_API_CONFIG */\n config.responseHandler = {};\n\n if (project) {\n config.projectId = project;\n }\n\n // we only want the surrogate key header in a server context\n if (typeof window === 'undefined') {\n config.defaultHeaders = {\n 'x-require-surrogate-key': true,\n };\n config.responseHandler[200] = storeSurrogateKeys;\n }\n\n if (\n typeof window !== 'undefined' &&\n PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n ) {\n // ensure a relative url is used to bypass the need for CORS (separate OPTIONS calls)\n config.rootUrl = '';\n config.responseHandler[404] = () => null;\n }\n return config;\n};\n\nexport * from 'contensis-delivery-api';\n\nclass DeliveryApi {\n getClientSideVersionStatus = () => {\n if (typeof window !== 'undefined') {\n // Allow overriding versionStatus with the querystring\n const { versionStatus } = parse(window.location.search);\n if (versionStatus) return versionStatus;\n // Client-side we will have a global variable set if rendered by SSR in production\n if (typeof window.versionStatus !== 'undefined')\n return window.versionStatus;\n // For localhost development we can only work out versionStatus from the current hostname\n const currentHostname = window.location.hostname;\n return this.getVersionStatusFromHostname(currentHostname);\n }\n return null;\n };\n getServerSideVersionStatus = request =>\n request.query.versionStatus ||\n deliveryApi.getVersionStatusFromHeaders(request.headers) ||\n deliveryApi.getVersionStatusFromHostname(request.hostname);\n getVersionStatusFromHeaders = headers => {\n const versionStatusHeader = headers['x-entry-versionstatus'];\n if (typeof versionStatusHeader !== 'undefined') return versionStatusHeader;\n return null;\n };\n getVersionStatusFromHostname = currentHostname => {\n if (currentHostname.indexOf('localhost') > -1) return 'latest';\n\n if (currentHostname.endsWith('contensis.cloud')) {\n if (currentHostname.indexOf('preview.') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n if (currentHostname.endsWith('cloud.contensis.com')) {\n if (currentHostname.indexOf('preview-') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n return 'published';\n };\n search = (query, linkDepth, project, env) => {\n const client = Client.create(getClientConfig(project, env));\n return client.entries.search(\n query,\n typeof linkDepth !== 'undefined' ? linkDepth : 1\n );\n };\n getClient = (deliveryApiStatus = 'published', project, env) => {\n const baseConfig = getClientConfig(project, env);\n baseConfig.versionStatus = deliveryApiStatus;\n return Client.create(baseConfig);\n };\n getEntry = (\n id,\n linkDepth = 0,\n deliveryApiStatus = 'published',\n project,\n env\n ) => {\n const baseConfig = getClientConfig(project, env);\n baseConfig.versionStatus = deliveryApiStatus;\n const client = Client.create(baseConfig);\n // return client.entries.get(id, linkDepth);\n return client.entries.get({ id, linkDepth });\n };\n}\n\nexport const deliveryApi = new DeliveryApi();\n\nclass CacheNode {\n constructor(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n}\n\nclass LruCache {\n constructor(limit = 100) {\n this.map = {};\n this.head = null;\n this.tail = null;\n this.limit = limit || 100;\n this.size = 0;\n }\n\n get(key) {\n if (this.map[key]) {\n let value = this.map[key].value;\n let node = new CacheNode(key, value);\n this.remove(key);\n this.setHead(node);\n return value;\n }\n }\n\n set(key, value) {\n let node = new CacheNode(key, value);\n if (this.map[key]) {\n this.remove(key);\n } else {\n if (this.size >= this.limit) {\n delete this.map[this.tail.key];\n this.size--;\n this.tail = this.tail.prev;\n this.tail.next = null;\n }\n }\n this.setHead(node);\n }\n\n setHead(node) {\n node.next = this.head;\n node.prev = null;\n if (this.head) {\n this.head.prev = node;\n }\n this.head = node;\n if (!this.tail) {\n this.tail = node;\n }\n this.size++;\n this.map[node.key] = node;\n }\n\n remove(key) {\n let node = this.map[key];\n if (!node) return; // This is sometimes null and crashes the container without this check\n\n if (node.prev) {\n node.prev.next = node.next;\n } else {\n this.head = node.next;\n }\n if (node.next) {\n node.next.prev = node.prev;\n } else {\n this.tail = node.prev;\n }\n delete this.map[key];\n this.size--;\n }\n}\n\nclass CachedSearch {\n cache = new LruCache();\n taxonomyLookup = {};\n\n search(query, linkDepth, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.search(query, linkDepth)\n );\n }\n\n searchUsingPost(query, linkDepth = 0, project = '', env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.searchUsingPost(query, linkDepth)\n );\n }\n\n get(id, linkDepth, versionStatus, project, env) {\n const client = Client.create(getClientConfig(project, env));\n client.clientConfig.versionStatus = versionStatus;\n return this.request(id, () => client.entries.get({ id, linkDepth }));\n }\n\n getContentType(id, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(`[CONTENT TYPE] ${id} ${project}`, () =>\n client.contentTypes.get(id)\n );\n }\n\n getTaxonomyNode(key, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(`[TAXONOMY NODE] ${key}`, () =>\n client.taxonomy\n .resolveChildren(key)\n .then(node => this.extendTaxonomyNode(node))\n );\n }\n\n getRootNode(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(`${project} / ${JSON.stringify(options)}`, () =>\n client.nodes.getRoot(options)\n );\n }\n\n getNode(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n `${project} ${(options && options.path) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.get(options)\n );\n }\n\n getAncestors(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n `${project} [A] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getAncestors(options)\n );\n }\n\n getChildren(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n `${project} [C] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getChildren(options)\n );\n }\n\n getSiblings(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n `${project} [S] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getSiblings(options)\n );\n }\n\n request(key, execute) {\n if (!this.cache.get(key) || typeof window == 'undefined') {\n let promise = execute();\n this.cache.set(key, promise);\n promise.catch(() => {\n this.cache.remove(key);\n });\n }\n return this.cache.get(key);\n }\n}\n\nexport const cachedSearch = new CachedSearch();\n"],"names":["storeSurrogateKeys","response","keys","headers","get","map","reduxStore","dispatch","setSurrogateKeys","url","getClientConfig","project","config","DELIVERY_API_CONFIG","responseHandler","projectId","window","defaultHeaders","PROXY_DELIVERY_API","rootUrl","DeliveryApi","constructor","getClientSideVersionStatus","versionStatus","parse","location","search","currentHostname","hostname","getVersionStatusFromHostname","getServerSideVersionStatus","request","query","deliveryApi","getVersionStatusFromHeaders","versionStatusHeader","indexOf","endsWith","linkDepth","env","client","Client","create","entries","getClient","deliveryApiStatus","baseConfig","getEntry","id","CacheNode","key","value","next","prev","LruCache","limit","head","tail","size","node","remove","setHead","set","CachedSearch","cache","taxonomyLookup","JSON","stringify","toString","searchUsingPost","clientConfig","getContentType","contentTypes","getTaxonomyNode","taxonomy","resolveChildren","then","extendTaxonomyNode","getRootNode","options","nodes","getRoot","getNode","path","getAncestors","getChildren","getSiblings","execute","promise","catch","cachedSearch"],"mappings":"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"}
@@ -1,13 +1,11 @@
1
1
  import React, { useCallback, useEffect } from 'react';
2
- import { useCookies } from 'react-cookie';
3
2
  import { connect } from 'react-redux';
4
3
  import { hot } from 'react-hot-loader';
5
4
  import { Route, useLocation, Redirect } from 'react-router-dom';
6
5
  import { matchRoutes, renderRoutes } from 'react-router-config';
7
6
  import { createSelector } from 'reselect';
8
- import { r as selectRouteEntryContentTypeId, a as selectRouteEntry, t as selectRouteIsError, u as selectIsNotFound, v as selectRouteLoading, k as selectMappedEntry, b as selectCurrentProject, w as selectCurrentPath, x as selectRouteStatusCode, y as selectRouteErrorMessage, z as setNavigationPath } from './selectors-5061d7c8.js';
9
- import { a as selectUserIsAuthenticated, b as selectUserGroups, t as toJS, m as matchUserGroup } from './ToJs-e533a70a.js';
10
- import { C as CookieHelper } from './CookieHelper.class-4d6ee27b.js';
7
+ import { r as selectRouteEntryContentTypeId, a as selectRouteEntry, t as selectRouteIsError, u as selectIsNotFound, v as selectRouteLoading, k as selectMappedEntry, b as selectCurrentProject, w as selectCurrentPath, x as selectRouteStatusCode, y as selectRouteErrorMessage, z as setNavigationPath } from './selectors-74de49a3.js';
8
+ import { a as selectUserIsAuthenticated, b as selectUserGroups, t as toJS, m as matchUserGroup } from './ToJs-9b30636a.js';
11
9
 
12
10
  const NotFound = ({
13
11
  statusCode,
@@ -73,14 +71,13 @@ const RouteLoader = ({
73
71
  trailingSlashRedirectCode = 302
74
72
  }) => {
75
73
  const location = useLocation();
76
- const cookies = new CookieHelper(...useCookies());
77
74
  // Always ensure paths are trimmed of trailing slashes so urls are always unique
78
75
  const trimmedPath = getTrimmedPath(location.pathname);
79
76
 
80
77
  // Match any Static Routes a developer has defined
81
78
  const matchedStaticRoute = () => matchRoutes(routes.StaticRoutes, location.pathname);
82
79
  const isStaticRoute = () => matchedStaticRoute().length > 0;
83
- const staticRoute = isStaticRoute() ? matchedStaticRoute()[0] : undefined;
80
+ const staticRoute = isStaticRoute() && matchedStaticRoute()[0];
84
81
  const routeRequiresLogin = staticRoute && staticRoute.route.requireLogin;
85
82
  const setPath = useCallback(() => {
86
83
  // Use serverPath to control the path we send to siteview node api to resolve a route
@@ -111,7 +108,7 @@ const RouteLoader = ({
111
108
  serverPath = (_route$path2 = route.path) === null || _route$path2 === void 0 ? void 0 : _route$path2.split('/').filter(p => !p.startsWith(':')).join('/');
112
109
  }
113
110
  }
114
- setNavigationPath(serverPath || trimmedPath, location, staticRoute, withEvents, statePath, routes, cookies);
111
+ setNavigationPath(serverPath || trimmedPath, location, staticRoute, withEvents, statePath, routes);
115
112
  // eslint-disable-next-line react-hooks/exhaustive-deps
116
113
  }, [setNavigationPath,
117
114
  // staticRoute,
@@ -165,7 +162,6 @@ const RouteLoader = ({
165
162
  }
166
163
  const NotFoundComponent = notFoundComponent ? notFoundComponent : NotFound;
167
164
  if (isNotFound || isError) {
168
- console.info(`RouteLoader rendering NotFound component: statusCode ${statusCode}, isNotFound ${isNotFound}, isError ${isError}`);
169
165
  return /*#__PURE__*/React.createElement(Status, {
170
166
  code: statusCode
171
167
  }, /*#__PURE__*/React.createElement(NotFoundComponent, {
@@ -195,4 +191,4 @@ const mapDispatchToProps = {
195
191
  var RouteLoader$1 = hot(module)(connect(mapStateToPropsMemoized, mapDispatchToProps)(toJS(RouteLoader)));
196
192
 
197
193
  export { RouteLoader$1 as R };
198
- //# sourceMappingURL=RouteLoader-3e77f6a4.js.map
194
+ //# sourceMappingURL=RouteLoader-6eac364e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteLoader-6eac364e.js","sources":["../src/routing/components/NotFound.tsx","../src/routing/components/Status.tsx","../src/routing/components/RouteLoader.tsx"],"sourcesContent":["import React from 'react';\n\nconst NotFound = ({\n statusCode,\n statusText,\n}: {\n statusCode: number;\n statusText: string;\n}) => (\n <>\n <header>\n <h1>{statusCode || '404'} Page Not Found</h1>\n {statusText && (\n <h2\n style={{\n background: '#eee',\n color: '#666',\n fontSize: '100%',\n padding: '10px',\n }}\n >\n {statusText}\n </h2>\n )}\n </header>\n </>\n);\n\nexport default NotFound;\n","import React, { PropsWithChildren } from 'react';\nimport { Route } from 'react-router-dom';\n\nexport const Status = ({\n code,\n children,\n}: PropsWithChildren<{ code: number }>) => {\n return (\n <Route\n render={({ staticContext }) => {\n if (staticContext) staticContext.statusCode = code;\n return children;\n }}\n />\n );\n};\n","import React, { useEffect, useCallback } from 'react';\nimport { connect } from 'react-redux';\nimport { hot } from 'react-hot-loader';\nimport { Redirect, useLocation } from 'react-router-dom';\nimport { renderRoutes, matchRoutes, RouteConfig } from 'react-router-config';\nimport { createSelector } from 'reselect';\n\nimport NotFound from './NotFound';\nimport { Status } from './Status';\n\nimport {\n selectCurrentPath,\n selectCurrentProject,\n selectIsNotFound,\n selectMappedEntry,\n selectRouteEntry,\n selectRouteEntryContentTypeId,\n selectRouteErrorMessage,\n selectRouteIsError,\n selectRouteLoading,\n selectRouteStatusCode,\n} from '../redux/selectors';\nimport { setNavigationPath } from '../redux/actions';\n\nimport {\n selectUserGroups,\n selectUserIsAuthenticated,\n} from '~/user/redux/selectors';\nimport { matchUserGroup } from '~/user/util/matchGroups';\n\nimport { toJS } from '~/util/ToJs';\nimport { Entry } from 'contensis-delivery-api/lib/models';\nimport { AppRootProps, RouteComponentProps, RouteLoaderProps } from '../routes';\n\nconst replaceDoubleSlashRecursive = (path: string) => {\n const nextPath = path.replace(/\\/\\//, '/');\n\n if (nextPath.match(/\\/\\//)) {\n return replaceDoubleSlashRecursive(nextPath);\n }\n\n return nextPath;\n};\n\nconst getTrimmedPath = path => {\n if (path !== '/') {\n const nextPath = replaceDoubleSlashRecursive(path);\n const lastChar = nextPath[nextPath.length - 1];\n if (lastChar === '/') {\n return nextPath.substring(0, nextPath.length - 1);\n }\n }\n return path;\n};\n\ninterface IReduxProps {\n contentTypeId: string | null;\n entry: Entry | null;\n isError: boolean;\n isNotFound: boolean;\n isLoading: boolean;\n isLoggedIn: boolean;\n mappedEntry: any;\n projectId: string;\n setNavigationPath: typeof setNavigationPath;\n statePath: string;\n statusCode: any;\n statusText: string;\n userGroups: any;\n}\n\nconst RouteLoader = ({\n contentTypeId,\n entry,\n isError,\n isLoading,\n isLoggedIn,\n isNotFound,\n loadingComponent,\n mappedEntry,\n notFoundComponent,\n projectId,\n routes,\n setNavigationPath,\n statePath,\n statusCode,\n statusText,\n userGroups,\n withEvents,\n trailingSlashRedirectCode = 302,\n}: AppRootProps & RouteLoaderProps & IReduxProps) => {\n const location = useLocation();\n // Always ensure paths are trimmed of trailing slashes so urls are always unique\n const trimmedPath = getTrimmedPath(location.pathname);\n\n // Match any Static Routes a developer has defined\n const matchedStaticRoute = () =>\n matchRoutes(routes.StaticRoutes as RouteConfig[], location.pathname);\n const isStaticRoute = () => matchedStaticRoute().length > 0;\n\n const staticRoute = isStaticRoute() && matchedStaticRoute()[0];\n const routeRequiresLogin = staticRoute && staticRoute.route.requireLogin;\n\n const setPath = useCallback(() => {\n // Use serverPath to control the path we send to siteview node api to resolve a route\n let serverPath = '';\n if (staticRoute && staticRoute.match && staticRoute.match.isExact) {\n const { match, route } = staticRoute;\n\n if (route.path?.includes('*')) {\n // Send the whole url to api if we have matched route containing wildcard\n serverPath = match.url;\n } else if (typeof route.fetchNodeLevel === 'number') {\n // Send all url parts to a specified level to api\n serverPath = match.url\n .split('/')\n .splice(0, route.fetchNodeLevel + 1)\n .join('/');\n } else if (route.fetchNode?.params) {\n const fetchNodeParams: string[] = route.fetchNode.params;\n const routeParams: { [key: string]: string } = match.params;\n\n const regexExp = new RegExp(\n Object.keys(routeParams)\n .map(p => `:${p}`)\n .join('|'),\n 'g'\n );\n\n serverPath = match.path\n .replace(/\\?/g, '')\n .replace(regexExp, matched => {\n const param = matched.replace(':', '');\n if (fetchNodeParams.includes(param)) return routeParams[param];\n else return '';\n })\n .replace(/\\/$/, '');\n } else {\n // Send all non-parameterised url parts to api\n serverPath = (route.path as string)\n ?.split('/')\n .filter(p => !p.startsWith(':'))\n .join('/');\n }\n }\n\n setNavigationPath(\n serverPath || trimmedPath,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n setNavigationPath,\n // staticRoute,\n withEvents,\n location,\n routes,\n // statePath,\n trimmedPath,\n ]);\n\n if (typeof window == 'undefined') setPath();\n\n useEffect(() => {\n setPath();\n }, [location, setPath]);\n\n // Need to redirect when url endswith a /\n if (location.pathname.length > trimmedPath.length) {\n return (\n <Status code={trailingSlashRedirectCode}>\n <Redirect to={`${trimmedPath}${location.search}${location.hash}`} />\n </Status>\n );\n }\n\n // Render any Static Routes a developer has defined\n if (isStaticRoute() && !(!isLoggedIn && routeRequiresLogin)) {\n if (matchUserGroup(userGroups, routeRequiresLogin))\n return renderRoutes(\n routes.StaticRoutes as RouteConfig[],\n {\n projectId,\n contentTypeId,\n entry,\n mappedEntry,\n isLoggedIn,\n } as RouteComponentProps\n );\n }\n\n // Render a supplied Loading component if the route\n // is not a static route and is in a loading state\n if (isLoading && !isNotFound && loadingComponent) {\n const LoadingComponent = loadingComponent;\n return <LoadingComponent />;\n }\n\n // Match any defined Content Type Mappings\n if (contentTypeId && !(!isLoggedIn && routeRequiresLogin)) {\n const MatchedComponent = routes.ContentTypeMappings.find(\n item => item.contentTypeID === contentTypeId\n );\n\n if (MatchedComponent && !(MatchedComponent.requireLogin && !isLoggedIn)) {\n if (matchUserGroup(userGroups, MatchedComponent.requireLogin))\n return (\n <MatchedComponent.component\n projectId={projectId}\n contentTypeId={contentTypeId}\n entry={entry}\n mappedEntry={mappedEntry}\n isLoggedIn={isLoggedIn}\n />\n );\n }\n }\n\n const NotFoundComponent = notFoundComponent ? notFoundComponent : NotFound;\n if (isNotFound || isError) {\n return (\n <Status code={statusCode}>\n <NotFoundComponent statusCode={statusCode} statusText={statusText} />\n </Status>\n );\n }\n\n return null;\n};\nconst mapStateToPropsMemoized = createSelector(\n selectRouteEntryContentTypeId,\n selectRouteEntry,\n selectRouteIsError,\n selectIsNotFound,\n selectRouteLoading,\n selectUserIsAuthenticated,\n selectMappedEntry,\n selectCurrentProject,\n selectCurrentPath,\n selectRouteStatusCode,\n selectRouteErrorMessage,\n selectUserGroups,\n (\n contentTypeId,\n entry,\n isError,\n isNotFound,\n isLoading,\n isLoggedIn,\n mappedEntry,\n projectId,\n statePath,\n statusCode,\n statusText,\n userGroups\n ) => ({\n contentTypeId,\n entry,\n isError,\n isNotFound,\n isLoading,\n isLoggedIn,\n mappedEntry,\n projectId,\n statePath,\n statusCode,\n statusText,\n userGroups,\n })\n);\n\nconst mapDispatchToProps = {\n setNavigationPath,\n};\n\nexport default hot(module)(\n connect(mapStateToPropsMemoized, mapDispatchToProps)(toJS(RouteLoader))\n) as unknown as (props: AppRootProps & RouteLoaderProps) => JSX.Element;\n"],"names":["NotFound","statusCode","statusText","React","createElement","Fragment","style","background","color","fontSize","padding","Status","code","children","Route","render","staticContext","replaceDoubleSlashRecursive","path","nextPath","replace","match","getTrimmedPath","lastChar","length","substring","RouteLoader","contentTypeId","entry","isError","isLoading","isLoggedIn","isNotFound","loadingComponent","mappedEntry","notFoundComponent","projectId","routes","setNavigationPath","statePath","userGroups","withEvents","trailingSlashRedirectCode","location","useLocation","trimmedPath","pathname","matchedStaticRoute","matchRoutes","StaticRoutes","isStaticRoute","staticRoute","routeRequiresLogin","route","requireLogin","setPath","useCallback","serverPath","isExact","_route$path","_route$fetchNode","includes","url","fetchNodeLevel","split","splice","join","fetchNode","params","fetchNodeParams","routeParams","regexExp","RegExp","Object","keys","map","p","matched","param","_route$path2","filter","startsWith","window","useEffect","Redirect","to","search","hash","matchUserGroup","renderRoutes","LoadingComponent","MatchedComponent","ContentTypeMappings","find","item","contentTypeID","component","NotFoundComponent","mapStateToPropsMemoized","createSelector","selectRouteEntryContentTypeId","selectRouteEntry","selectRouteIsError","selectIsNotFound","selectRouteLoading","selectUserIsAuthenticated","selectMappedEntry","selectCurrentProject","selectCurrentPath","selectRouteStatusCode","selectRouteErrorMessage","selectUserGroups","mapDispatchToProps","hot","module","connect","toJS"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { g as getImmutableOrJS } from './selectors-5061d7c8.js';
1
+ import { g as getImmutableOrJS } from './selectors-74de49a3.js';
2
2
  import React from 'react';
3
3
 
4
4
  const selectUserIsLoading = state => getImmutableOrJS(state, ['user', 'authenticationState', 'isLoading']);
@@ -95,4 +95,4 @@ const toJS = WrappedComponent => wrappedComponentProps => {
95
95
  };
96
96
 
97
97
  export { selectUserIsAuthenticated as a, selectUserGroups as b, selectUserErrorMessage as c, selectUserIsAuthenticationError as d, selectUserIsError as e, selectUserIsLoading as f, selectUser as g, selectUserRegistrationError as h, selectUserRegistrationIsLoading as i, selectUserRegistrationIsSuccess as j, selectUserRegistration as k, selectPasswordResetRequestSending as l, matchUserGroup as m, selectPasswordResetRequestSent as n, selectPasswordResetRequestError as o, selectResetPasswordSending as p, selectResetPasswordSent as q, selectResetPasswordError as r, selectClientCredentials as s, toJS as t, selectChangePasswordSending as u, selectChangePasswordSent as v, selectUserGuid as w, selectChangePasswordError as x, selectors as y };
98
- //# sourceMappingURL=ToJs-e533a70a.js.map
98
+ //# sourceMappingURL=ToJs-9b30636a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToJs-9b30636a.js","sources":["../src/user/redux/selectors.ts","../src/user/util/matchGroups.ts","../src/util/ToJs.tsx"],"sourcesContent":["import { StateType } from '~/config';\nimport { AppState } from '~/redux/appstate';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const selectUserIsLoading = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isLoading']);\n\nexport const selectUserIsAuthenticated = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticated']);\n\nexport const selectUserIsAuthenticationError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticationError']);\n\nexport const selectUserIsError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isError']);\n\n/**\n * DEPRECATED 12/2021 - use selectUserErrorMessage instead\n * @param state AppState\n * @returns string\n */\nexport const selectUserAuthenticationErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectUserErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectClientCredentials = (\n state: AppState,\n returnType?: StateType\n) =>\n getIn(\n state,\n ['user', 'authenticationState', 'clientCredentials'],\n {},\n returnType\n );\n\nexport const selectUser = (state: AppState, returnType?: StateType) =>\n getIn(state, 'user', {}, returnType);\n\nexport const selectUserIsZengentiStaff = (state: AppState) =>\n getIn(state, ['user', 'isZengentiStaff']);\n\nexport const selectUserGuid = (state: AppState) => getIn(state, ['user', 'id']);\n\nexport const selectUsername = (state: AppState) =>\n getIn(state, ['user', 'username']);\n\nexport const selectUserEmail = (state: AppState) =>\n getIn(state, ['user', 'email']);\n\nexport const selectUserGroups = (state: AppState, returnType?: StateType) =>\n getIn(state, ['user', 'groups'], [], returnType);\n\nexport const selectUserSecurityToken = (state: AppState) =>\n getIn(state, [\n 'user',\n 'authenticationState',\n 'clientCredentials',\n 'contensisClassicToken',\n ]);\n\nexport const selectUserRegistration = (\n state: AppState,\n returnType?: StateType\n) => getIn(state, ['user', 'registration'], {}, returnType);\n\nexport const selectUserRegistrationError = (state: AppState) =>\n getIn(state, ['user', 'registration', 'error'], false);\n\nexport const selectUserRegistrationIsLoading = (state: AppState) =>\n getIn(state, ['user', 'registration', 'isLoading'], false);\n\nexport const selectUserRegistrationIsSuccess = (state: AppState) =>\n getIn(state, ['user', 'registration', 'success'], false);\n\nexport const selectPasswordResetRequestSending = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'isSending']);\n\nexport const selectPasswordResetRequestSent = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'sent']);\n\nexport const selectPasswordResetRequestError = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'error']);\n\nexport const selectResetPasswordSending = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'isSending']);\n\nexport const selectResetPasswordSent = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'sent']);\n\nexport const selectResetPasswordError = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'error']);\n\nexport const selectChangePasswordSending = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'isSending']);\n\nexport const selectChangePasswordSent = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'sent']);\n\nexport const selectChangePasswordError = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'error']);\n","import { Group } from 'contensis-management-api/lib/models';\nimport { RequireLogin } from '~/routing/routes';\n\nexport const matchUserGroup = (\n userGroups: Group[] = [],\n requiredGroups: RequireLogin = []\n) => {\n if (\n !Array.isArray(requiredGroups) ||\n (Array.isArray(requiredGroups) && requiredGroups.length === 0)\n )\n return true;\n\n const groupMatch = requiredGroups.some(requiredGroup => {\n return userGroups.some(userGroup => {\n if (requiredGroup.id === userGroup.id) {\n return true;\n }\n if (requiredGroup.name === userGroup.name) {\n return true;\n }\n });\n });\n return groupMatch;\n};\n","/* eslint-disable react/display-name */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: React.ComponentType<Props>\n ): React.ComponentType<Props> =>\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"],"names":["selectUserIsLoading","state","getIn","selectUserIsAuthenticated","selectUserIsAuthenticationError","selectUserIsError","selectUserAuthenticationErrorMessage","selectUserErrorMessage","selectClientCredentials","returnType","selectUser","selectUserIsZengentiStaff","selectUserGuid","selectUsername","selectUserEmail","selectUserGroups","selectUserSecurityToken","selectUserRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","selectUserRegistrationIsSuccess","selectPasswordResetRequestSending","selectPasswordResetRequestSent","selectPasswordResetRequestError","selectResetPasswordSending","selectResetPasswordSent","selectResetPasswordError","selectChangePasswordSending","selectChangePasswordSent","selectChangePasswordError","matchUserGroup","userGroups","requiredGroups","Array","isArray","length","groupMatch","some","requiredGroup","userGroup","id","name","toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue","React","createElement"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2
+
3
+ function getDefaultExportFromCjs (x) {
4
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
+ }
6
+
7
+ export { commonjsGlobal as c, getDefaultExportFromCjs as g };
8
+ //# sourceMappingURL=_commonjsHelpers-1789f0cf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers-1789f0cf.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
package/esm/client.js CHANGED
@@ -7,12 +7,12 @@ import { Router } from 'react-router-dom';
7
7
  import { loadableReady } from '@loadable/component';
8
8
  import { parse } from 'query-string';
9
9
  import { CookiesProvider } from 'react-cookie';
10
- import { c as createStore, s as selectVersionStatus } from './version-1ef42ad1.js';
11
- import { s as setVersionStatus } from './version-7550d14d.js';
12
- import { b as browserHistory, r as rootSaga, p as pickProject } from './App-2db3d689.js';
13
- export { A as ReactApp } from './App-2db3d689.js';
14
- import { c as setCurrentProject } from './selectors-5061d7c8.js';
15
- import { d as deliveryApi } from './ContensisDeliveryApi-50b8fd7c.js';
10
+ import { c as createStore, s as selectVersionStatus } from './version-ef107106.js';
11
+ import { s as setVersionStatus } from './version-b15807c5.js';
12
+ import { b as browserHistory, r as rootSaga, p as pickProject } from './App-2af18a99.js';
13
+ export { A as ReactApp } from './App-2af18a99.js';
14
+ import { c as setCurrentProject } from './selectors-74de49a3.js';
15
+ import { d as deliveryApi } from './ContensisDeliveryApi-5660ee0e.js';
16
16
  import 'redux';
17
17
  import 'redux-thunk';
18
18
  import 'redux-saga';
@@ -23,20 +23,16 @@ import './reducers-3d5c37d1.js';
23
23
  import '@redux-saga/core/effects';
24
24
  import 'history';
25
25
  import 'loglevel';
26
- import 'await-to-js';
27
- import './ChangePassword.container-54b4011d.js';
28
- import './ToJs-e533a70a.js';
26
+ import './login-71ff3fcb.js';
27
+ import './ToJs-9b30636a.js';
29
28
  import 'jsonpath-mapper';
30
- import './CookieConstants-3d3b6531.js';
31
- import './CookieHelper.class-4d6ee27b.js';
29
+ import 'await-to-js';
30
+ import 'js-cookie';
32
31
  import 'contensis-delivery-api';
33
- import './RouteLoader-3e77f6a4.js';
32
+ import './RouteLoader-6eac364e.js';
34
33
  import 'react-router-config';
35
34
  import 'reselect';
36
35
 
37
- // Fix TS2769 error No overload matches this call
38
- const Container = AppContainer; // as typeof AppContainer;
39
-
40
36
  class ClientApp {
41
37
  constructor(ReactApp, config) {
42
38
  const documentRoot = document.getElementById('root');
@@ -48,7 +44,7 @@ class ClientApp {
48
44
  withEvents
49
45
  } = config;
50
46
  const GetClientJSX = store => {
51
- const ClientJsx = /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(CookiesProvider, null, /*#__PURE__*/React.createElement(Provider, {
47
+ const ClientJsx = /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(CookiesProvider, null, /*#__PURE__*/React.createElement(Provider, {
52
48
  store: store
53
49
  }, /*#__PURE__*/React.createElement(Router, {
54
50
  history: browserHistory
package/esm/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../src/client/client.tsx"],"sourcesContent":["import 'isomorphic-fetch';\nimport React from 'react';\nimport { render, hydrate } from 'react-dom';\nimport { AppContainer } from 'react-hot-loader';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { Router } from 'react-router-dom';\nimport { loadableReady } from '@loadable/component';\nimport { parse } from 'query-string';\nimport { CookiesProvider } from 'react-cookie';\n\nimport { selectVersionStatus } from '~/redux/selectors/version';\nimport { setVersionStatus } from '~/redux/actions/version';\nimport rootSaga from '~/redux/sagas';\nimport { browserHistory as history } from '~/redux/store/history';\nimport createStore from '~/redux/store/store';\n\nimport { setCurrentProject } from '~/routing/redux/actions';\n\nimport { deliveryApi } from '~/util/ContensisDeliveryApi';\nimport pickProject from '~/util/pickProject';\n\nimport { AppConfig } from '~/config';\n\ndeclare let window: typeof globalThis & {\n isDynamic;\n REDUX_DATA;\n};\n\ntype ReactAppProps = { routes: any; withEvents: any };\n\n// Fix TS2769 error No overload matches this call\nconst Container = AppContainer as any; // as typeof AppContainer;\n\nclass ClientApp {\n constructor(ReactApp: React.ComponentType<ReactAppProps>, config: AppConfig) {\n const documentRoot = document.getElementById('root');\n\n const {\n stateType = 'immutable',\n routes,\n withReducers,\n withSagas,\n withEvents,\n } = config;\n\n const GetClientJSX = store => {\n const ClientJsx = (\n <Container>\n <CookiesProvider>\n <ReduxProvider store={store}>\n <Router history={history}>\n <ReactApp routes={routes} withEvents={withEvents} />\n </Router>\n </ReduxProvider>\n </CookiesProvider>\n </Container>\n );\n return ClientJsx;\n };\n\n const isProduction = !(process.env.NODE_ENV !== 'production');\n\n /**\n * Webpack HMR Setup.\n */\n const HMRRenderer = Component => {\n if (isProduction)\n loadableReady(\n () => {\n hydrate(Component, documentRoot);\n },\n { namespace: 'modern' }\n );\n else render(Component, documentRoot);\n };\n\n const hmr = store => {\n // webpack Hot Module Replacement API\n if (module.hot) {\n module.hot.accept(ReactApp as unknown as string, () => {\n // if you are using harmony modules ({modules:false})\n HMRRenderer(GetClientJSX(store));\n });\n }\n };\n\n const qs = parse(window.location.search);\n const versionStatus = deliveryApi.getClientSideVersionStatus();\n\n if (\n window.isDynamic ||\n window.REDUX_DATA ||\n process.env.NODE_ENV !== 'production'\n ) {\n createStore(withReducers, window.REDUX_DATA, history, stateType).then(\n store => {\n const state = store.getState();\n const ssrVersionStatus = selectVersionStatus(state);\n if (!ssrVersionStatus)\n store.dispatch(setVersionStatus(versionStatus));\n\n /* eslint-disable no-console */\n console.log('Hydrating from inline Redux');\n /* eslint-enable no-console */\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(window.location.hostname, qs),\n [],\n window.location.hostname\n )\n );\n\n delete window.REDUX_DATA;\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n }\n );\n } else {\n fetch(`${window.location.pathname}?redux=true`)\n .then(response => response.json())\n .then(data => {\n const ssRedux = JSON.parse(data);\n createStore(withReducers, ssRedux, history, stateType).then(store => {\n store.dispatch(setVersionStatus(versionStatus));\n\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(window.location.hostname, qs),\n [],\n window.location.hostname\n )\n );\n\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n });\n });\n }\n }\n}\n\nexport default ClientApp;\n"],"names":["Container","AppContainer","ClientApp","constructor","ReactApp","config","documentRoot","document","getElementById","stateType","routes","withReducers","withSagas","withEvents","GetClientJSX","store","ClientJsx","React","createElement","CookiesProvider","ReduxProvider","Router","history","isProduction","process","env","NODE_ENV","HMRRenderer","Component","loadableReady","hydrate","namespace","render","hmr","module","hot","accept","qs","parse","window","location","search","versionStatus","deliveryApi","getClientSideVersionStatus","isDynamic","REDUX_DATA","createStore","then","state","getState","ssrVersionStatus","selectVersionStatus","dispatch","setVersionStatus","console","log","runSaga","rootSaga","setCurrentProject","pickProject","hostname","fetch","pathname","response","json","data","ssRedux","JSON"],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sources":["../src/client/client.tsx"],"sourcesContent":["import 'isomorphic-fetch';\nimport React from 'react';\nimport { render, hydrate } from 'react-dom';\nimport { AppContainer } from 'react-hot-loader';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { Router } from 'react-router-dom';\nimport { loadableReady } from '@loadable/component';\nimport { parse } from 'query-string';\nimport { CookiesProvider } from 'react-cookie';\n\nimport { selectVersionStatus } from '~/redux/selectors/version';\nimport { setVersionStatus } from '~/redux/actions/version';\nimport rootSaga from '~/redux/sagas';\nimport { browserHistory as history } from '~/redux/store/history';\nimport createStore from '~/redux/store/store';\n\nimport { setCurrentProject } from '~/routing/redux/actions';\n\nimport { deliveryApi } from '~/util/ContensisDeliveryApi';\nimport pickProject from '~/util/pickProject';\n\nimport { AppConfig } from '~/config';\n\ndeclare let window: typeof globalThis & {\n isDynamic;\n REDUX_DATA;\n};\n\ntype ReactAppProps = { routes: any; withEvents: any };\n\nclass ClientApp {\n constructor(ReactApp: React.ComponentType<ReactAppProps>, config: AppConfig) {\n const documentRoot = document.getElementById('root');\n\n const {\n stateType = 'immutable',\n routes,\n withReducers,\n withSagas,\n withEvents,\n } = config;\n\n const GetClientJSX = store => {\n const ClientJsx = (\n <AppContainer>\n <CookiesProvider>\n <ReduxProvider store={store}>\n <Router history={history}>\n <ReactApp routes={routes} withEvents={withEvents} />\n </Router>\n </ReduxProvider>\n </CookiesProvider>\n </AppContainer>\n );\n return ClientJsx;\n };\n\n const isProduction = !(process.env.NODE_ENV !== 'production');\n\n /**\n * Webpack HMR Setup.\n */\n const HMRRenderer = Component => {\n if (isProduction)\n loadableReady(\n () => {\n hydrate(Component, documentRoot);\n },\n { namespace: 'modern' }\n );\n else render(Component, documentRoot);\n };\n\n const hmr = store => {\n // webpack Hot Module Replacement API\n if (module.hot) {\n module.hot.accept(ReactApp as unknown as string, () => {\n // if you are using harmony modules ({modules:false})\n HMRRenderer(GetClientJSX(store));\n });\n }\n };\n\n const qs = parse(window.location.search);\n const versionStatus = deliveryApi.getClientSideVersionStatus();\n\n if (\n window.isDynamic ||\n window.REDUX_DATA ||\n process.env.NODE_ENV !== 'production'\n ) {\n createStore(withReducers, window.REDUX_DATA, history, stateType).then(\n store => {\n const state = store.getState();\n const ssrVersionStatus = selectVersionStatus(state);\n if (!ssrVersionStatus)\n store.dispatch(setVersionStatus(versionStatus));\n\n /* eslint-disable no-console */\n console.log('Hydrating from inline Redux');\n /* eslint-enable no-console */\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(window.location.hostname, qs),\n [],\n window.location.hostname\n )\n );\n\n delete window.REDUX_DATA;\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n }\n );\n } else {\n fetch(`${window.location.pathname}?redux=true`)\n .then(response => response.json())\n .then(data => {\n const ssRedux = JSON.parse(data);\n createStore(withReducers, ssRedux, history, stateType).then(store => {\n store.dispatch(setVersionStatus(versionStatus));\n\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(window.location.hostname, qs),\n [],\n window.location.hostname\n )\n );\n\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n });\n });\n }\n }\n}\n\nexport default ClientApp;\n"],"names":["ClientApp","constructor","ReactApp","config","documentRoot","document","getElementById","stateType","routes","withReducers","withSagas","withEvents","GetClientJSX","store","ClientJsx","React","createElement","AppContainer","CookiesProvider","ReduxProvider","Router","history","isProduction","process","env","NODE_ENV","HMRRenderer","Component","loadableReady","hydrate","namespace","render","hmr","module","hot","accept","qs","parse","window","location","search","versionStatus","deliveryApi","getClientSideVersionStatus","isDynamic","REDUX_DATA","createStore","then","state","getState","ssrVersionStatus","selectVersionStatus","dispatch","setVersionStatus","console","log","runSaga","rootSaga","setCurrentProject","pickProject","hostname","fetch","pathname","response","json","data","ssRedux","JSON"],"mappings":"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"}