@panneau/app 3.0.123 → 3.0.126
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.
- package/es/index.js +3 -2
- package/lib/index.js +1403 -246
- package/package.json +40 -39
package/lib/index.js
CHANGED
@@ -4,10 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
6
6
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
7
|
-
var
|
8
|
-
var PropTypes = require('prop-types');
|
7
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
9
8
|
var React = require('react');
|
10
|
-
var
|
9
|
+
var PropTypes = require('prop-types');
|
10
|
+
var pathToRegexp = require('path-to-regexp');
|
11
|
+
var mitt = require('mitt');
|
12
|
+
var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
|
13
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
14
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
15
|
+
var _toArray = require('@babel/runtime/helpers/toArray');
|
16
|
+
var regexparam = require('regexparam');
|
17
|
+
var index_js = require('use-sync-external-store/shim/index.js');
|
11
18
|
var auth = require('@panneau/auth');
|
12
19
|
var core = require('@panneau/core');
|
13
20
|
var contexts = require('@panneau/core/contexts');
|
@@ -20,13 +27,10 @@ var intl = require('@panneau/intl');
|
|
20
27
|
var ListsProvider = require('@panneau/lists');
|
21
28
|
var ModalsProvider = require('@panneau/modals');
|
22
29
|
var uppy = require('@panneau/uppy');
|
23
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
24
|
-
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
25
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
26
30
|
var isObject = require('lodash/isObject');
|
27
31
|
var classNames = require('classnames');
|
28
32
|
var isString = require('lodash/isString');
|
29
|
-
var
|
33
|
+
var _typeof = require('@babel/runtime/helpers/typeof');
|
30
34
|
var reactIntl = require('react-intl');
|
31
35
|
var hooks = require('@panneau/core/hooks');
|
32
36
|
var Alert = require('@panneau/element-alert');
|
@@ -43,50 +47,1203 @@ var ResourceForm$1 = require('@panneau/form-resource');
|
|
43
47
|
var utils = require('@panneau/core/utils');
|
44
48
|
var Filters = require('@panneau/filter-filters');
|
45
49
|
|
46
|
-
function
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
var
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
var
|
64
|
-
|
65
|
-
|
66
|
-
var
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
var
|
74
|
-
|
75
|
-
|
50
|
+
function _interopNamespaceDefault(e) {
|
51
|
+
var n = Object.create(null);
|
52
|
+
if (e) {
|
53
|
+
Object.keys(e).forEach(function (k) {
|
54
|
+
if (k !== 'default') {
|
55
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
56
|
+
Object.defineProperty(n, k, d.get ? d : {
|
57
|
+
enumerable: true,
|
58
|
+
get: function () { return e[k]; }
|
59
|
+
});
|
60
|
+
}
|
61
|
+
});
|
62
|
+
}
|
63
|
+
n.default = e;
|
64
|
+
return Object.freeze(n);
|
65
|
+
}
|
66
|
+
|
67
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
68
|
+
|
69
|
+
// React.useInsertionEffect is not available in React <18
|
70
|
+
var useEffect = React__namespace.useEffect,
|
71
|
+
useLayoutEffect = React__namespace.useLayoutEffect,
|
72
|
+
useRef = React__namespace.useRef,
|
73
|
+
useBuiltinInsertionEffect = React__namespace.useInsertionEffect;
|
74
|
+
|
75
|
+
// Copied from:
|
76
|
+
// https://github.com/facebook/react/blob/main/packages/shared/ExecutionEnvironment.js
|
77
|
+
var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined");
|
78
|
+
|
79
|
+
// Copied from:
|
80
|
+
// https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.ts
|
81
|
+
// "React currently throws a warning when using useLayoutEffect on the server.
|
82
|
+
// To get around it, we can conditionally useEffect on the server (no-op) and
|
83
|
+
// useLayoutEffect in the browser."
|
84
|
+
var useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;
|
85
|
+
|
86
|
+
// useInsertionEffect is already a noop on the server.
|
87
|
+
// See: https://github.com/facebook/react/blob/main/packages/react-server/src/ReactFizzHooks.js
|
88
|
+
var useInsertionEffect = useBuiltinInsertionEffect || useIsomorphicLayoutEffect;
|
89
|
+
|
90
|
+
// Userland polyfill while we wait for the forthcoming
|
91
|
+
// https://github.com/reactjs/rfcs/blob/useevent/text/0000-useevent.md
|
92
|
+
// Note: "A high-fidelity polyfill for useEvent is not possible because
|
93
|
+
// there is no lifecycle or Hook in React that we can use to switch
|
94
|
+
// .current at the right timing."
|
95
|
+
// So we will have to make do with this "close enough" approach for now.
|
96
|
+
var useEvent = function useEvent(fn) {
|
97
|
+
var ref = useRef([fn, function () {
|
98
|
+
return ref[0].apply(ref, arguments);
|
99
|
+
}]).current;
|
100
|
+
// Per Dan Abramov: useInsertionEffect executes marginally closer to the
|
101
|
+
// correct timing for ref synchronization than useLayoutEffect on React 18.
|
102
|
+
// See: https://github.com/facebook/react/pull/25881#issuecomment-1356244360
|
103
|
+
useInsertionEffect(function () {
|
104
|
+
ref[0] = fn;
|
105
|
+
});
|
106
|
+
return ref[1];
|
107
|
+
};
|
108
|
+
|
109
|
+
/**
|
110
|
+
* History API docs @see https://developer.mozilla.org/en-US/docs/Web/API/History
|
111
|
+
*/
|
112
|
+
var eventPopstate = "popstate";
|
113
|
+
var eventPushState = "pushState";
|
114
|
+
var eventReplaceState = "replaceState";
|
115
|
+
var eventHashchange = "hashchange";
|
116
|
+
var events = [eventPopstate, eventPushState, eventReplaceState, eventHashchange];
|
117
|
+
var subscribeToLocationUpdates = function subscribeToLocationUpdates(callback) {
|
118
|
+
for (var _i = 0, _events = events; _i < _events.length; _i++) {
|
119
|
+
var event = _events[_i];
|
120
|
+
addEventListener(event, callback);
|
121
|
+
}
|
122
|
+
return function () {
|
123
|
+
for (var _i2 = 0, _events2 = events; _i2 < _events2.length; _i2++) {
|
124
|
+
var _event = _events2[_i2];
|
125
|
+
removeEventListener(_event, callback);
|
126
|
+
}
|
127
|
+
};
|
128
|
+
};
|
129
|
+
var useLocationProperty = function useLocationProperty(fn, ssrFn) {
|
130
|
+
return index_js.useSyncExternalStore(subscribeToLocationUpdates, fn, ssrFn);
|
131
|
+
};
|
132
|
+
var currentSearch = function currentSearch() {
|
133
|
+
return location.search;
|
134
|
+
};
|
135
|
+
var useSearch$1 = function useSearch() {
|
136
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
137
|
+
_ref$ssrSearch = _ref.ssrSearch,
|
138
|
+
ssrSearch = _ref$ssrSearch === void 0 ? "" : _ref$ssrSearch;
|
139
|
+
return useLocationProperty(currentSearch, function () {
|
140
|
+
return ssrSearch;
|
141
|
+
});
|
142
|
+
};
|
143
|
+
var currentPathname = function currentPathname() {
|
144
|
+
return location.pathname;
|
145
|
+
};
|
146
|
+
var usePathname = function usePathname() {
|
147
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
148
|
+
ssrPath = _ref2.ssrPath;
|
149
|
+
return useLocationProperty(currentPathname, ssrPath ? function () {
|
150
|
+
return ssrPath;
|
151
|
+
} : currentPathname);
|
152
|
+
};
|
153
|
+
var navigate = function navigate(to) {
|
154
|
+
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
155
|
+
_ref3$replace = _ref3.replace,
|
156
|
+
replace = _ref3$replace === void 0 ? false : _ref3$replace,
|
157
|
+
_ref3$state = _ref3.state,
|
158
|
+
state = _ref3$state === void 0 ? null : _ref3$state;
|
159
|
+
return history[replace ? eventReplaceState : eventPushState](state, "", to);
|
160
|
+
};
|
161
|
+
|
162
|
+
// the 2nd argument of the `useBrowserLocation` return value is a function
|
163
|
+
// that allows to perform a navigation.
|
164
|
+
var useBrowserLocation = function useBrowserLocation() {
|
165
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
166
|
+
return [usePathname(opts), navigate];
|
167
|
+
};
|
168
|
+
var patchKey = Symbol["for"]("wouter_v3");
|
169
|
+
|
170
|
+
// While History API does have `popstate` event, the only
|
171
|
+
// proper way to listen to changes via `push/replaceState`
|
172
|
+
// is to monkey-patch these methods.
|
173
|
+
//
|
174
|
+
// See https://stackoverflow.com/a/4585031
|
175
|
+
if (typeof history !== "undefined" && typeof window[patchKey] === "undefined") {
|
176
|
+
var _loop = function _loop() {
|
177
|
+
var type = _arr[_i3];
|
178
|
+
var original = history[type];
|
179
|
+
// TODO: we should be using unstable_batchedUpdates to avoid multiple re-renders,
|
180
|
+
// however that will require an additional peer dependency on react-dom.
|
181
|
+
// See: https://github.com/reactwg/react-18/discussions/86#discussioncomment-1567149
|
182
|
+
history[type] = function () {
|
183
|
+
var result = original.apply(this, arguments);
|
184
|
+
var event = new Event(type);
|
185
|
+
event.arguments = arguments;
|
186
|
+
dispatchEvent(event);
|
187
|
+
return result;
|
188
|
+
};
|
189
|
+
};
|
190
|
+
for (var _i3 = 0, _arr = [eventPushState, eventReplaceState]; _i3 < _arr.length; _i3++) {
|
191
|
+
_loop();
|
192
|
+
}
|
193
|
+
|
194
|
+
// patch history object only once
|
195
|
+
// See: https://github.com/molefrog/wouter/issues/167
|
196
|
+
Object.defineProperty(window, patchKey, {
|
197
|
+
value: true
|
198
|
+
});
|
199
|
+
}
|
200
|
+
|
201
|
+
var _excluded$4 = ["children"],
|
202
|
+
_excluded2$1 = ["path", "nest", "match"],
|
203
|
+
_excluded3 = ["to", "href", "onClick", "asChild", "children", "replace", "state"];
|
204
|
+
|
205
|
+
/*
|
206
|
+
* Transforms `path` into its relative `base` version
|
207
|
+
* If base isn't part of the path provided returns absolute path e.g. `~/app`
|
208
|
+
*/
|
209
|
+
var relativePath = function relativePath() {
|
210
|
+
var base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
211
|
+
var path = arguments.length > 1 ? arguments[1] : undefined;
|
212
|
+
return !path.toLowerCase().indexOf(base.toLowerCase()) ? path.slice(base.length) || "/" : "~" + path;
|
213
|
+
};
|
214
|
+
var absolutePath = function absolutePath(to) {
|
215
|
+
var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
216
|
+
return to[0] === "~" ? to.slice(1) : base + to;
|
217
|
+
};
|
218
|
+
|
219
|
+
/*
|
220
|
+
* Removes leading question mark
|
221
|
+
*/
|
222
|
+
var stripQm = function stripQm(str) {
|
223
|
+
return str[0] === "?" ? str.slice(1) : str;
|
224
|
+
};
|
225
|
+
|
226
|
+
/*
|
227
|
+
* decodes escape sequences such as %20
|
228
|
+
*/
|
229
|
+
var unescape = function unescape(str) {
|
230
|
+
try {
|
231
|
+
return decodeURI(str);
|
232
|
+
} catch (_e) {
|
233
|
+
// fail-safe mode: if string can't be decoded do nothing
|
234
|
+
return str;
|
235
|
+
}
|
236
|
+
};
|
237
|
+
|
238
|
+
/*
|
239
|
+
* Router and router context. Router is a lightweight object that represents the current
|
240
|
+
* routing options: how location is managed, base path etc.
|
241
|
+
*
|
242
|
+
* There is a default router present for most of the use cases, however it can be overridden
|
243
|
+
* via the <Router /> component.
|
244
|
+
*/
|
245
|
+
|
246
|
+
var defaultRouter = {
|
247
|
+
hook: useBrowserLocation,
|
248
|
+
searchHook: useSearch$1,
|
249
|
+
parser: regexparam.parse,
|
250
|
+
base: "",
|
251
|
+
// this option is used to override the current location during SSR
|
252
|
+
ssrPath: undefined,
|
253
|
+
ssrSearch: undefined
|
254
|
+
};
|
255
|
+
var RouterCtx = React.createContext(defaultRouter);
|
256
|
+
|
257
|
+
// gets the closest parent router from the context
|
258
|
+
var useRouter = function useRouter() {
|
259
|
+
return React.useContext(RouterCtx);
|
260
|
+
};
|
261
|
+
|
262
|
+
/**
|
263
|
+
* Parameters context. Used by `useParams()` to get the
|
264
|
+
* matched params from the innermost `Route` component.
|
265
|
+
*/
|
266
|
+
|
267
|
+
var ParamsCtx = React.createContext({});
|
268
|
+
|
269
|
+
/*
|
270
|
+
* Part 1, Hooks API: useRoute and useLocation
|
271
|
+
*/
|
272
|
+
|
273
|
+
// Internal version of useLocation to avoid redundant useRouter calls
|
274
|
+
|
275
|
+
var useLocationFromRouter = function useLocationFromRouter(router) {
|
276
|
+
var _router$hook = router.hook(router),
|
277
|
+
_router$hook2 = _slicedToArray(_router$hook, 2),
|
278
|
+
location = _router$hook2[0],
|
279
|
+
navigate = _router$hook2[1];
|
280
|
+
|
281
|
+
// the function reference should stay the same between re-renders, so that
|
282
|
+
// it can be passed down as an element prop without any performance concerns.
|
283
|
+
// (This is achieved via `useEvent`.)
|
284
|
+
return [unescape(relativePath(router.base, location)), useEvent(function (to, navOpts) {
|
285
|
+
return navigate(absolutePath(to, router.base), navOpts);
|
286
|
+
})];
|
287
|
+
};
|
288
|
+
var useLocation = function useLocation() {
|
289
|
+
return useLocationFromRouter(useRouter());
|
290
|
+
};
|
291
|
+
var useSearch = function useSearch() {
|
292
|
+
var router = useRouter();
|
293
|
+
return unescape(stripQm(router.searchHook(router)));
|
294
|
+
};
|
295
|
+
var matchRoute = function matchRoute(parser, route, path, loose) {
|
296
|
+
// when parser is in "loose" mode, `$base` is equal to the
|
297
|
+
// first part of the route that matches the pattern
|
298
|
+
// (e.g. for pattern `/a/:b` and path `/a/1/2/3` the `$base` is `a/1`)
|
299
|
+
// we use this for route nesting
|
300
|
+
var _parser = parser(route || "*", loose),
|
301
|
+
pattern = _parser.pattern,
|
302
|
+
keys = _parser.keys;
|
303
|
+
var _ref = pattern.exec(path) || [],
|
304
|
+
_ref2 = _toArray(_ref),
|
305
|
+
$base = _ref2[0],
|
306
|
+
matches = _ref2.slice(1);
|
307
|
+
return $base !== undefined ? [true,
|
308
|
+
// an object with parameters matched, e.g. { foo: "bar" } for "/:foo"
|
309
|
+
// we "zip" two arrays here to construct the object
|
310
|
+
// ["foo"], ["bar"] → { foo: "bar" }
|
311
|
+
Object.fromEntries(keys.map(function (key, i) {
|
312
|
+
return [key, matches[i]];
|
313
|
+
}))].concat(_toConsumableArray(loose ? [$base] : [])) : [false, null];
|
314
|
+
};
|
315
|
+
|
316
|
+
/*
|
317
|
+
* Part 2, Low Carb Router API: Router, Route, Link, Switch
|
318
|
+
*/
|
319
|
+
|
320
|
+
var Router = function Router(_ref3) {
|
321
|
+
var children = _ref3.children,
|
322
|
+
props = _objectWithoutProperties(_ref3, _excluded$4);
|
323
|
+
// the router we will inherit from - it is the closest router in the tree,
|
324
|
+
// unless the custom `hook` is provided (in that case it's the default one)
|
325
|
+
var parent_ = useRouter();
|
326
|
+
var parent = props.hook ? defaultRouter : parent_;
|
327
|
+
|
328
|
+
// holds to the context value: the router object
|
329
|
+
var value = parent;
|
330
|
+
|
331
|
+
// what is happening below: to avoid unnecessary rerenders in child components,
|
332
|
+
// we ensure that the router object reference is stable, unless there are any
|
333
|
+
// changes that require reload (e.g. `base` prop changes -> all components that
|
334
|
+
// get the router from the context should rerender, even if the component is memoized).
|
335
|
+
// the expected behaviour is:
|
336
|
+
//
|
337
|
+
// 1) when the resulted router is no different from the parent, use parent
|
338
|
+
// 2) if the custom `hook` prop is provided, we always inherit from the
|
339
|
+
// default router instead. this resets all previously overridden options.
|
340
|
+
// 3) when the router is customized here, it should stay stable between renders
|
341
|
+
var ref = React.useRef({}),
|
342
|
+
prev = ref.current,
|
343
|
+
next = prev;
|
344
|
+
for (var k in parent) {
|
345
|
+
var option = k === "base" ? /* base is special case, it is appended to the parent's base */
|
346
|
+
parent[k] + (props[k] || "") : props[k] || parent[k];
|
347
|
+
if (prev === next && option !== next[k]) {
|
348
|
+
ref.current = next = _objectSpread({}, next);
|
349
|
+
}
|
350
|
+
next[k] = option;
|
351
|
+
|
352
|
+
// the new router is no different from the parent, use parent
|
353
|
+
if (option !== parent[k]) value = next;
|
354
|
+
}
|
355
|
+
return React.createElement(RouterCtx.Provider, {
|
356
|
+
value: value,
|
357
|
+
children: children
|
358
|
+
});
|
359
|
+
};
|
360
|
+
var h_route = function h_route(_ref4, params) {
|
361
|
+
var children = _ref4.children,
|
362
|
+
component = _ref4.component;
|
363
|
+
// React-Router style `component` prop
|
364
|
+
if (component) return React.createElement(component, {
|
365
|
+
params: params
|
366
|
+
});
|
367
|
+
|
368
|
+
// support render prop or plain children
|
369
|
+
return typeof children === "function" ? children(params) : children;
|
370
|
+
};
|
371
|
+
var Route = function Route(_ref5) {
|
372
|
+
var path = _ref5.path,
|
373
|
+
nest = _ref5.nest,
|
374
|
+
match = _ref5.match,
|
375
|
+
renderProps = _objectWithoutProperties(_ref5, _excluded2$1);
|
376
|
+
var router = useRouter();
|
377
|
+
var _useLocationFromRoute = useLocationFromRouter(router),
|
378
|
+
_useLocationFromRoute2 = _slicedToArray(_useLocationFromRoute, 1),
|
379
|
+
location = _useLocationFromRoute2[0];
|
380
|
+
var _ref6 = // `match` is a special prop to give up control to the parent,
|
381
|
+
// it is used by the `Switch` to avoid double matching
|
382
|
+
match !== null && match !== void 0 ? match : matchRoute(router.parser, path, location, nest),
|
383
|
+
_ref7 = _slicedToArray(_ref6, 3),
|
384
|
+
matches = _ref7[0],
|
385
|
+
params = _ref7[1],
|
386
|
+
base = _ref7[2];
|
387
|
+
if (!matches) return null;
|
388
|
+
var children = base ? React.createElement(Router, {
|
389
|
+
base: base
|
390
|
+
}, h_route(renderProps, params)) : h_route(renderProps, params);
|
391
|
+
return React.createElement(ParamsCtx.Provider, {
|
392
|
+
value: params,
|
393
|
+
children: children
|
394
|
+
});
|
395
|
+
};
|
396
|
+
React.forwardRef(function (props, ref) {
|
397
|
+
var router = useRouter();
|
398
|
+
var _useLocationFromRoute3 = useLocationFromRouter(router),
|
399
|
+
_useLocationFromRoute4 = _slicedToArray(_useLocationFromRoute3, 2),
|
400
|
+
navigate = _useLocationFromRoute4[1];
|
401
|
+
var to = props.to,
|
402
|
+
_props$href = props.href,
|
403
|
+
_href = _props$href === void 0 ? to : _props$href,
|
404
|
+
_onClick = props.onClick,
|
405
|
+
asChild = props.asChild,
|
406
|
+
children = props.children;
|
407
|
+
props.replace;
|
408
|
+
props.state;
|
409
|
+
var restProps = _objectWithoutProperties(props, _excluded3);
|
410
|
+
var onClick = useEvent(function (event) {
|
411
|
+
// ignores the navigation when clicked using right mouse button or
|
412
|
+
// by holding a special modifier key: ctrl, command, win, alt, shift
|
413
|
+
if (event.ctrlKey || event.metaKey || event.altKey || event.shiftKey || event.button !== 0) return;
|
414
|
+
_onClick && _onClick(event); // TODO: is it safe to use _onClick?.(event)
|
415
|
+
if (!event.defaultPrevented) {
|
416
|
+
event.preventDefault();
|
417
|
+
navigate(_href, props);
|
418
|
+
}
|
419
|
+
});
|
420
|
+
|
421
|
+
// handle nested routers and absolute paths
|
422
|
+
var href = _href[0] === "~" ? _href.slice(1) : router.base + _href;
|
423
|
+
return asChild && React.isValidElement(children) ? React.cloneElement(children, {
|
424
|
+
href: href,
|
425
|
+
onClick: onClick
|
426
|
+
}) : React.createElement("a", _objectSpread(_objectSpread({}, restProps), {}, {
|
427
|
+
href: href,
|
428
|
+
onClick: onClick,
|
429
|
+
children: children,
|
430
|
+
ref: ref
|
431
|
+
}));
|
432
|
+
});
|
433
|
+
var flattenChildren = function flattenChildren(children) {
|
434
|
+
var _ref8;
|
435
|
+
return Array.isArray(children) ? (_ref8 = []).concat.apply(_ref8, _toConsumableArray(children.map(function (c) {
|
436
|
+
return c && c.type === React.Fragment ? flattenChildren(c.props.children) : flattenChildren(c);
|
437
|
+
}))) : [children];
|
438
|
+
};
|
439
|
+
var Switch = function Switch(_ref9) {
|
440
|
+
var children = _ref9.children,
|
441
|
+
location = _ref9.location;
|
442
|
+
var router = useRouter();
|
443
|
+
var _useLocationFromRoute5 = useLocationFromRouter(router),
|
444
|
+
_useLocationFromRoute6 = _slicedToArray(_useLocationFromRoute5, 1),
|
445
|
+
originalLocation = _useLocationFromRoute6[0];
|
446
|
+
var _iterator = _createForOfIteratorHelper(flattenChildren(children)),
|
447
|
+
_step;
|
448
|
+
try {
|
449
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
450
|
+
var element = _step.value;
|
451
|
+
var match = 0;
|
452
|
+
if (React.isValidElement(element) &&
|
453
|
+
// we don't require an element to be of type Route,
|
454
|
+
// but we do require it to contain a truthy `path` prop.
|
455
|
+
// this allows to use different components that wrap Route
|
456
|
+
// inside of a switch, for example <AnimatedRoute />.
|
457
|
+
(match = matchRoute(router.parser, element.props.path, location || originalLocation, element.props.nest))[0]) return React.cloneElement(element, {
|
458
|
+
match: match
|
459
|
+
});
|
460
|
+
}
|
461
|
+
} catch (err) {
|
462
|
+
_iterator.e(err);
|
463
|
+
} finally {
|
464
|
+
_iterator.f();
|
465
|
+
}
|
466
|
+
return null;
|
467
|
+
};
|
468
|
+
var Redirect = function Redirect(props) {
|
469
|
+
var to = props.to,
|
470
|
+
_props$href2 = props.href,
|
471
|
+
href = _props$href2 === void 0 ? to : _props$href2;
|
472
|
+
var _useLocation = useLocation(),
|
473
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
474
|
+
navigate = _useLocation2[1];
|
475
|
+
var redirect = useEvent(function () {
|
476
|
+
return navigate(to || href, props);
|
477
|
+
});
|
478
|
+
|
479
|
+
// redirect is guaranteed to be stable since it is returned from useEvent
|
480
|
+
useIsomorphicLayoutEffect(function () {
|
481
|
+
redirect();
|
482
|
+
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
483
|
+
|
484
|
+
return null;
|
485
|
+
};
|
486
|
+
|
487
|
+
({
|
488
|
+
children: PropTypes.node.isRequired,
|
489
|
+
routes: PropTypes.objectOf(PropTypes.string).isRequired,
|
490
|
+
basePath: PropTypes.string
|
491
|
+
});
|
492
|
+
function parseLocation(location) {
|
493
|
+
var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
494
|
+
var hash = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
495
|
+
var _split = (location || '').split('?', 2),
|
496
|
+
_split2 = _slicedToArray(_split, 2),
|
497
|
+
pathname = _split2[0],
|
498
|
+
_split2$ = _split2[1],
|
499
|
+
searchFromPath = _split2$ === void 0 ? null : _split2$;
|
500
|
+
var _split3 = (searchFromPath || '').split('#', 2),
|
501
|
+
_split4 = _slicedToArray(_split3, 2),
|
502
|
+
searchWithoutHash = _split4[0],
|
503
|
+
_split4$ = _split4[1],
|
504
|
+
hashFromPath = _split4$ === void 0 ? null : _split4$;
|
505
|
+
return {
|
506
|
+
pathname: pathname !== '' ? pathname : '/',
|
507
|
+
search: search || searchWithoutHash || null,
|
508
|
+
hash: hash || hashFromPath || null
|
509
|
+
};
|
510
|
+
}
|
511
|
+
function useMemoryRouter() {
|
512
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
513
|
+
_ref3$path = _ref3.path,
|
514
|
+
path = _ref3$path === void 0 ? '/' : _ref3$path,
|
515
|
+
_ref3$static = _ref3["static"],
|
516
|
+
staticLocation = _ref3$static === void 0 ? false : _ref3$static;
|
517
|
+
_ref3.record;
|
518
|
+
var currentPath = parseLocation(path);
|
519
|
+
var emitter = mitt();
|
520
|
+
var navigateImplementation = function navigateImplementation(newPath) {
|
521
|
+
var newParsedPath = parseLocation(newPath);
|
522
|
+
currentPath = newParsedPath;
|
523
|
+
emitter.emit('navigate', path);
|
524
|
+
};
|
525
|
+
var navigate = !staticLocation ? navigateImplementation : function () {
|
526
|
+
return null;
|
527
|
+
};
|
528
|
+
var subscribe = function subscribe(cb) {
|
529
|
+
emitter.on('navigate', cb);
|
530
|
+
return function () {
|
531
|
+
return emitter.off('navigate', cb);
|
532
|
+
};
|
533
|
+
};
|
534
|
+
function reset() {
|
535
|
+
navigateImplementation(path);
|
536
|
+
}
|
537
|
+
var locationHook = function locationHook() {
|
538
|
+
return [React.useSyncExternalStore(subscribe, function () {
|
539
|
+
return currentPath.pathname;
|
540
|
+
}), navigate];
|
541
|
+
};
|
542
|
+
var searchHook = function searchHook() {
|
543
|
+
return React.useSyncExternalStore(subscribe, function () {
|
544
|
+
return currentPath.search || '';
|
545
|
+
});
|
546
|
+
};
|
547
|
+
return {
|
548
|
+
hook: locationHook,
|
549
|
+
searchHook: searchHook,
|
550
|
+
reset: reset,
|
551
|
+
navigate: navigate
|
552
|
+
};
|
553
|
+
}
|
554
|
+
function createPathToRegexpParser(opts) {
|
555
|
+
return function (path, loose) {
|
556
|
+
var keys = [];
|
557
|
+
var isWildcard = path.match(/(\/|^)\*$/) !== null;
|
558
|
+
var pattern = pathToRegexp.pathToRegexp(isWildcard ? path.replace(/(\/|^)\*$/, '$1(.*)') : path, keys, _objectSpread({
|
559
|
+
end: !loose && !isWildcard
|
560
|
+
}, opts));
|
561
|
+
return {
|
562
|
+
pattern: pattern,
|
563
|
+
// `pathToRegexp` returns some metadata about the keys,
|
564
|
+
// we want to strip it to just an array of keys
|
565
|
+
keys: keys.map(function (k) {
|
566
|
+
return k.name;
|
567
|
+
})
|
568
|
+
};
|
569
|
+
};
|
570
|
+
}
|
571
|
+
|
572
|
+
var token = '%[a-f0-9]{2}';
|
573
|
+
var singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');
|
574
|
+
var multiMatcher = new RegExp('(' + token + ')+', 'gi');
|
575
|
+
function decodeComponents(components, split) {
|
576
|
+
try {
|
577
|
+
// Try to decode the entire string first
|
578
|
+
return [decodeURIComponent(components.join(''))];
|
579
|
+
} catch (_unused) {
|
580
|
+
// Do nothing
|
581
|
+
}
|
582
|
+
if (components.length === 1) {
|
583
|
+
return components;
|
584
|
+
}
|
585
|
+
split = split || 1;
|
586
|
+
|
587
|
+
// Split the array in 2 parts
|
588
|
+
var left = components.slice(0, split);
|
589
|
+
var right = components.slice(split);
|
590
|
+
return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));
|
591
|
+
}
|
592
|
+
function decode$1(input) {
|
593
|
+
try {
|
594
|
+
return decodeURIComponent(input);
|
595
|
+
} catch (_unused2) {
|
596
|
+
var tokens = input.match(singleMatcher) || [];
|
597
|
+
for (var i = 1; i < tokens.length; i++) {
|
598
|
+
input = decodeComponents(tokens, i).join('');
|
599
|
+
tokens = input.match(singleMatcher) || [];
|
600
|
+
}
|
601
|
+
return input;
|
602
|
+
}
|
603
|
+
}
|
604
|
+
function customDecodeURIComponent(input) {
|
605
|
+
// Keep track of all the replacements and prefill the map with the `BOM`
|
606
|
+
var replaceMap = {
|
607
|
+
'%FE%FF': "\uFFFD\uFFFD",
|
608
|
+
'%FF%FE': "\uFFFD\uFFFD"
|
609
|
+
};
|
610
|
+
var match = multiMatcher.exec(input);
|
611
|
+
while (match) {
|
612
|
+
try {
|
613
|
+
// Decode as big chunks as possible
|
614
|
+
replaceMap[match[0]] = decodeURIComponent(match[0]);
|
615
|
+
} catch (_unused3) {
|
616
|
+
var result = decode$1(match[0]);
|
617
|
+
if (result !== match[0]) {
|
618
|
+
replaceMap[match[0]] = result;
|
619
|
+
}
|
620
|
+
}
|
621
|
+
match = multiMatcher.exec(input);
|
622
|
+
}
|
623
|
+
|
624
|
+
// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else
|
625
|
+
replaceMap['%C2'] = "\uFFFD";
|
626
|
+
var entries = Object.keys(replaceMap);
|
627
|
+
for (var _i = 0, _entries = entries; _i < _entries.length; _i++) {
|
628
|
+
var key = _entries[_i];
|
629
|
+
// Replace all decoded components
|
630
|
+
input = input.replace(new RegExp(key, 'g'), replaceMap[key]);
|
631
|
+
}
|
632
|
+
return input;
|
633
|
+
}
|
634
|
+
function decodeUriComponent(encodedURI) {
|
635
|
+
if (typeof encodedURI !== 'string') {
|
636
|
+
throw new TypeError('Expected `encodedURI` to be of type `string`, got `' + _typeof(encodedURI) + '`');
|
637
|
+
}
|
638
|
+
try {
|
639
|
+
// Try the built in decoder first
|
640
|
+
return decodeURIComponent(encodedURI);
|
641
|
+
} catch (_unused4) {
|
642
|
+
// Fallback to a more advanced decoder
|
643
|
+
return customDecodeURIComponent(encodedURI);
|
644
|
+
}
|
645
|
+
}
|
646
|
+
|
647
|
+
function splitOnFirst(string, separator) {
|
648
|
+
if (!(typeof string === 'string' && typeof separator === 'string')) {
|
649
|
+
throw new TypeError('Expected the arguments to be of type `string`');
|
650
|
+
}
|
651
|
+
if (string === '' || separator === '') {
|
652
|
+
return [];
|
653
|
+
}
|
654
|
+
var separatorIndex = string.indexOf(separator);
|
655
|
+
if (separatorIndex === -1) {
|
656
|
+
return [];
|
657
|
+
}
|
658
|
+
return [string.slice(0, separatorIndex), string.slice(separatorIndex + separator.length)];
|
659
|
+
}
|
660
|
+
|
661
|
+
function includeKeys(object, predicate) {
|
662
|
+
var result = {};
|
663
|
+
if (Array.isArray(predicate)) {
|
664
|
+
var _iterator = _createForOfIteratorHelper(predicate),
|
665
|
+
_step;
|
666
|
+
try {
|
667
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
668
|
+
var key = _step.value;
|
669
|
+
var descriptor = Object.getOwnPropertyDescriptor(object, key);
|
670
|
+
if (descriptor !== null && descriptor !== void 0 && descriptor.enumerable) {
|
671
|
+
Object.defineProperty(result, key, descriptor);
|
672
|
+
}
|
673
|
+
}
|
674
|
+
} catch (err) {
|
675
|
+
_iterator.e(err);
|
676
|
+
} finally {
|
677
|
+
_iterator.f();
|
678
|
+
}
|
679
|
+
} else {
|
680
|
+
// `Reflect.ownKeys()` is required to retrieve symbol properties
|
681
|
+
var _iterator2 = _createForOfIteratorHelper(Reflect.ownKeys(object)),
|
682
|
+
_step2;
|
683
|
+
try {
|
684
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
685
|
+
var _key = _step2.value;
|
686
|
+
var _descriptor = Object.getOwnPropertyDescriptor(object, _key);
|
687
|
+
if (_descriptor.enumerable) {
|
688
|
+
var value = object[_key];
|
689
|
+
if (predicate(_key, value, object)) {
|
690
|
+
Object.defineProperty(result, _key, _descriptor);
|
691
|
+
}
|
692
|
+
}
|
693
|
+
}
|
694
|
+
} catch (err) {
|
695
|
+
_iterator2.e(err);
|
696
|
+
} finally {
|
697
|
+
_iterator2.f();
|
698
|
+
}
|
699
|
+
}
|
700
|
+
return result;
|
701
|
+
}
|
702
|
+
|
703
|
+
const isNullOrUndefined = value => value === null || value === undefined;
|
704
|
+
|
705
|
+
// eslint-disable-next-line unicorn/prefer-code-point
|
706
|
+
const strictUriEncode = string => encodeURIComponent(string).replaceAll(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);
|
707
|
+
|
708
|
+
const encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');
|
709
|
+
|
710
|
+
function encoderForArrayFormat(options) {
|
711
|
+
switch (options.arrayFormat) {
|
712
|
+
case 'index': {
|
713
|
+
return key => (result, value) => {
|
714
|
+
const index = result.length;
|
715
|
+
|
716
|
+
if (
|
717
|
+
value === undefined
|
718
|
+
|| (options.skipNull && value === null)
|
719
|
+
|| (options.skipEmptyString && value === '')
|
720
|
+
) {
|
721
|
+
return result;
|
722
|
+
}
|
723
|
+
|
724
|
+
if (value === null) {
|
725
|
+
return [
|
726
|
+
...result, [encode(key, options), '[', index, ']'].join(''),
|
727
|
+
];
|
728
|
+
}
|
729
|
+
|
730
|
+
return [
|
731
|
+
...result,
|
732
|
+
[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),
|
733
|
+
];
|
734
|
+
};
|
735
|
+
}
|
736
|
+
|
737
|
+
case 'bracket': {
|
738
|
+
return key => (result, value) => {
|
739
|
+
if (
|
740
|
+
value === undefined
|
741
|
+
|| (options.skipNull && value === null)
|
742
|
+
|| (options.skipEmptyString && value === '')
|
743
|
+
) {
|
744
|
+
return result;
|
745
|
+
}
|
746
|
+
|
747
|
+
if (value === null) {
|
748
|
+
return [
|
749
|
+
...result,
|
750
|
+
[encode(key, options), '[]'].join(''),
|
751
|
+
];
|
752
|
+
}
|
753
|
+
|
754
|
+
return [
|
755
|
+
...result,
|
756
|
+
[encode(key, options), '[]=', encode(value, options)].join(''),
|
757
|
+
];
|
758
|
+
};
|
759
|
+
}
|
760
|
+
|
761
|
+
case 'colon-list-separator': {
|
762
|
+
return key => (result, value) => {
|
763
|
+
if (
|
764
|
+
value === undefined
|
765
|
+
|| (options.skipNull && value === null)
|
766
|
+
|| (options.skipEmptyString && value === '')
|
767
|
+
) {
|
768
|
+
return result;
|
769
|
+
}
|
770
|
+
|
771
|
+
if (value === null) {
|
772
|
+
return [
|
773
|
+
...result,
|
774
|
+
[encode(key, options), ':list='].join(''),
|
775
|
+
];
|
776
|
+
}
|
777
|
+
|
778
|
+
return [
|
779
|
+
...result,
|
780
|
+
[encode(key, options), ':list=', encode(value, options)].join(''),
|
781
|
+
];
|
782
|
+
};
|
783
|
+
}
|
784
|
+
|
785
|
+
case 'comma':
|
786
|
+
case 'separator':
|
787
|
+
case 'bracket-separator': {
|
788
|
+
const keyValueSeparator = options.arrayFormat === 'bracket-separator'
|
789
|
+
? '[]='
|
790
|
+
: '=';
|
791
|
+
|
792
|
+
return key => (result, value) => {
|
793
|
+
if (
|
794
|
+
value === undefined
|
795
|
+
|| (options.skipNull && value === null)
|
796
|
+
|| (options.skipEmptyString && value === '')
|
797
|
+
) {
|
798
|
+
return result;
|
799
|
+
}
|
800
|
+
|
801
|
+
// Translate null to an empty string so that it doesn't serialize as 'null'
|
802
|
+
value = value === null ? '' : value;
|
803
|
+
|
804
|
+
if (result.length === 0) {
|
805
|
+
return [[encode(key, options), keyValueSeparator, encode(value, options)].join('')];
|
806
|
+
}
|
807
|
+
|
808
|
+
return [[result, encode(value, options)].join(options.arrayFormatSeparator)];
|
809
|
+
};
|
810
|
+
}
|
811
|
+
|
812
|
+
default: {
|
813
|
+
return key => (result, value) => {
|
814
|
+
if (
|
815
|
+
value === undefined
|
816
|
+
|| (options.skipNull && value === null)
|
817
|
+
|| (options.skipEmptyString && value === '')
|
818
|
+
) {
|
819
|
+
return result;
|
820
|
+
}
|
821
|
+
|
822
|
+
if (value === null) {
|
823
|
+
return [
|
824
|
+
...result,
|
825
|
+
encode(key, options),
|
826
|
+
];
|
827
|
+
}
|
828
|
+
|
829
|
+
return [
|
830
|
+
...result,
|
831
|
+
[encode(key, options), '=', encode(value, options)].join(''),
|
832
|
+
];
|
833
|
+
};
|
834
|
+
}
|
835
|
+
}
|
836
|
+
}
|
837
|
+
|
838
|
+
function parserForArrayFormat(options) {
|
839
|
+
let result;
|
840
|
+
|
841
|
+
switch (options.arrayFormat) {
|
842
|
+
case 'index': {
|
843
|
+
return (key, value, accumulator) => {
|
844
|
+
result = /\[(\d*)]$/.exec(key);
|
845
|
+
|
846
|
+
key = key.replace(/\[\d*]$/, '');
|
847
|
+
|
848
|
+
if (!result) {
|
849
|
+
accumulator[key] = value;
|
850
|
+
return;
|
851
|
+
}
|
852
|
+
|
853
|
+
if (accumulator[key] === undefined) {
|
854
|
+
accumulator[key] = {};
|
855
|
+
}
|
856
|
+
|
857
|
+
accumulator[key][result[1]] = value;
|
858
|
+
};
|
859
|
+
}
|
860
|
+
|
861
|
+
case 'bracket': {
|
862
|
+
return (key, value, accumulator) => {
|
863
|
+
result = /(\[])$/.exec(key);
|
864
|
+
key = key.replace(/\[]$/, '');
|
865
|
+
|
866
|
+
if (!result) {
|
867
|
+
accumulator[key] = value;
|
868
|
+
return;
|
869
|
+
}
|
870
|
+
|
871
|
+
if (accumulator[key] === undefined) {
|
872
|
+
accumulator[key] = [value];
|
873
|
+
return;
|
874
|
+
}
|
875
|
+
|
876
|
+
accumulator[key] = [...accumulator[key], value];
|
877
|
+
};
|
878
|
+
}
|
879
|
+
|
880
|
+
case 'colon-list-separator': {
|
881
|
+
return (key, value, accumulator) => {
|
882
|
+
result = /(:list)$/.exec(key);
|
883
|
+
key = key.replace(/:list$/, '');
|
884
|
+
|
885
|
+
if (!result) {
|
886
|
+
accumulator[key] = value;
|
887
|
+
return;
|
888
|
+
}
|
889
|
+
|
890
|
+
if (accumulator[key] === undefined) {
|
891
|
+
accumulator[key] = [value];
|
892
|
+
return;
|
893
|
+
}
|
894
|
+
|
895
|
+
accumulator[key] = [...accumulator[key], value];
|
896
|
+
};
|
897
|
+
}
|
898
|
+
|
899
|
+
case 'comma':
|
900
|
+
case 'separator': {
|
901
|
+
return (key, value, accumulator) => {
|
902
|
+
const isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);
|
903
|
+
const isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));
|
904
|
+
value = isEncodedArray ? decode(value, options) : value;
|
905
|
+
const newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));
|
906
|
+
accumulator[key] = newValue;
|
907
|
+
};
|
908
|
+
}
|
909
|
+
|
910
|
+
case 'bracket-separator': {
|
911
|
+
return (key, value, accumulator) => {
|
912
|
+
const isArray = /(\[])$/.test(key);
|
913
|
+
key = key.replace(/\[]$/, '');
|
914
|
+
|
915
|
+
if (!isArray) {
|
916
|
+
accumulator[key] = value ? decode(value, options) : value;
|
917
|
+
return;
|
918
|
+
}
|
919
|
+
|
920
|
+
const arrayValue = value === null
|
921
|
+
? []
|
922
|
+
: value.split(options.arrayFormatSeparator).map(item => decode(item, options));
|
923
|
+
|
924
|
+
if (accumulator[key] === undefined) {
|
925
|
+
accumulator[key] = arrayValue;
|
926
|
+
return;
|
927
|
+
}
|
928
|
+
|
929
|
+
accumulator[key] = [...accumulator[key], ...arrayValue];
|
930
|
+
};
|
931
|
+
}
|
932
|
+
|
933
|
+
default: {
|
934
|
+
return (key, value, accumulator) => {
|
935
|
+
if (accumulator[key] === undefined) {
|
936
|
+
accumulator[key] = value;
|
937
|
+
return;
|
938
|
+
}
|
939
|
+
|
940
|
+
accumulator[key] = [...[accumulator[key]].flat(), value];
|
941
|
+
};
|
942
|
+
}
|
943
|
+
}
|
944
|
+
}
|
945
|
+
|
946
|
+
function validateArrayFormatSeparator(value) {
|
947
|
+
if (typeof value !== 'string' || value.length !== 1) {
|
948
|
+
throw new TypeError('arrayFormatSeparator must be single character string');
|
949
|
+
}
|
950
|
+
}
|
951
|
+
|
952
|
+
function encode(value, options) {
|
953
|
+
if (options.encode) {
|
954
|
+
return options.strict ? strictUriEncode(value) : encodeURIComponent(value);
|
955
|
+
}
|
956
|
+
|
957
|
+
return value;
|
958
|
+
}
|
959
|
+
|
960
|
+
function decode(value, options) {
|
961
|
+
if (options.decode) {
|
962
|
+
return decodeUriComponent(value);
|
963
|
+
}
|
964
|
+
|
965
|
+
return value;
|
966
|
+
}
|
967
|
+
|
968
|
+
function keysSorter(input) {
|
969
|
+
if (Array.isArray(input)) {
|
970
|
+
return input.sort();
|
971
|
+
}
|
972
|
+
|
973
|
+
if (typeof input === 'object') {
|
974
|
+
return keysSorter(Object.keys(input))
|
975
|
+
.sort((a, b) => Number(a) - Number(b))
|
976
|
+
.map(key => input[key]);
|
977
|
+
}
|
978
|
+
|
979
|
+
return input;
|
980
|
+
}
|
981
|
+
|
982
|
+
function removeHash(input) {
|
983
|
+
const hashStart = input.indexOf('#');
|
984
|
+
if (hashStart !== -1) {
|
985
|
+
input = input.slice(0, hashStart);
|
986
|
+
}
|
987
|
+
|
988
|
+
return input;
|
989
|
+
}
|
990
|
+
|
991
|
+
function getHash(url) {
|
992
|
+
let hash = '';
|
993
|
+
const hashStart = url.indexOf('#');
|
994
|
+
if (hashStart !== -1) {
|
995
|
+
hash = url.slice(hashStart);
|
996
|
+
}
|
997
|
+
|
998
|
+
return hash;
|
999
|
+
}
|
1000
|
+
|
1001
|
+
function parseValue(value, options) {
|
1002
|
+
if (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {
|
1003
|
+
value = Number(value);
|
1004
|
+
} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {
|
1005
|
+
value = value.toLowerCase() === 'true';
|
1006
|
+
}
|
1007
|
+
|
1008
|
+
return value;
|
1009
|
+
}
|
1010
|
+
|
1011
|
+
function extract(input) {
|
1012
|
+
input = removeHash(input);
|
1013
|
+
const queryStart = input.indexOf('?');
|
1014
|
+
if (queryStart === -1) {
|
1015
|
+
return '';
|
1016
|
+
}
|
1017
|
+
|
1018
|
+
return input.slice(queryStart + 1);
|
1019
|
+
}
|
1020
|
+
|
1021
|
+
function parse(query, options) {
|
1022
|
+
options = {
|
1023
|
+
decode: true,
|
1024
|
+
sort: true,
|
1025
|
+
arrayFormat: 'none',
|
1026
|
+
arrayFormatSeparator: ',',
|
1027
|
+
parseNumbers: false,
|
1028
|
+
parseBooleans: false,
|
1029
|
+
...options,
|
1030
|
+
};
|
1031
|
+
|
1032
|
+
validateArrayFormatSeparator(options.arrayFormatSeparator);
|
1033
|
+
|
1034
|
+
const formatter = parserForArrayFormat(options);
|
1035
|
+
|
1036
|
+
// Create an object with no prototype
|
1037
|
+
const returnValue = Object.create(null);
|
1038
|
+
|
1039
|
+
if (typeof query !== 'string') {
|
1040
|
+
return returnValue;
|
1041
|
+
}
|
1042
|
+
|
1043
|
+
query = query.trim().replace(/^[?#&]/, '');
|
1044
|
+
|
1045
|
+
if (!query) {
|
1046
|
+
return returnValue;
|
1047
|
+
}
|
1048
|
+
|
1049
|
+
for (const parameter of query.split('&')) {
|
1050
|
+
if (parameter === '') {
|
1051
|
+
continue;
|
1052
|
+
}
|
1053
|
+
|
1054
|
+
const parameter_ = options.decode ? parameter.replaceAll('+', ' ') : parameter;
|
1055
|
+
|
1056
|
+
let [key, value] = splitOnFirst(parameter_, '=');
|
1057
|
+
|
1058
|
+
if (key === undefined) {
|
1059
|
+
key = parameter_;
|
1060
|
+
}
|
1061
|
+
|
1062
|
+
// Missing `=` should be `null`:
|
1063
|
+
// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
|
1064
|
+
value = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));
|
1065
|
+
formatter(decode(key, options), value, returnValue);
|
1066
|
+
}
|
1067
|
+
|
1068
|
+
for (const [key, value] of Object.entries(returnValue)) {
|
1069
|
+
if (typeof value === 'object' && value !== null) {
|
1070
|
+
for (const [key2, value2] of Object.entries(value)) {
|
1071
|
+
value[key2] = parseValue(value2, options);
|
1072
|
+
}
|
1073
|
+
} else {
|
1074
|
+
returnValue[key] = parseValue(value, options);
|
1075
|
+
}
|
1076
|
+
}
|
1077
|
+
|
1078
|
+
if (options.sort === false) {
|
1079
|
+
return returnValue;
|
1080
|
+
}
|
1081
|
+
|
1082
|
+
// TODO: Remove the use of `reduce`.
|
1083
|
+
// eslint-disable-next-line unicorn/no-array-reduce
|
1084
|
+
return (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {
|
1085
|
+
const value = returnValue[key];
|
1086
|
+
result[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;
|
1087
|
+
return result;
|
1088
|
+
}, Object.create(null));
|
1089
|
+
}
|
1090
|
+
|
1091
|
+
function stringify(object, options) {
|
1092
|
+
if (!object) {
|
1093
|
+
return '';
|
1094
|
+
}
|
1095
|
+
|
1096
|
+
options = {
|
1097
|
+
encode: true,
|
1098
|
+
strict: true,
|
1099
|
+
arrayFormat: 'none',
|
1100
|
+
arrayFormatSeparator: ',',
|
1101
|
+
...options,
|
1102
|
+
};
|
1103
|
+
|
1104
|
+
validateArrayFormatSeparator(options.arrayFormatSeparator);
|
1105
|
+
|
1106
|
+
const shouldFilter = key => (
|
1107
|
+
(options.skipNull && isNullOrUndefined(object[key]))
|
1108
|
+
|| (options.skipEmptyString && object[key] === '')
|
1109
|
+
);
|
1110
|
+
|
1111
|
+
const formatter = encoderForArrayFormat(options);
|
1112
|
+
|
1113
|
+
const objectCopy = {};
|
1114
|
+
|
1115
|
+
for (const [key, value] of Object.entries(object)) {
|
1116
|
+
if (!shouldFilter(key)) {
|
1117
|
+
objectCopy[key] = value;
|
1118
|
+
}
|
1119
|
+
}
|
1120
|
+
|
1121
|
+
const keys = Object.keys(objectCopy);
|
1122
|
+
|
1123
|
+
if (options.sort !== false) {
|
1124
|
+
keys.sort(options.sort);
|
1125
|
+
}
|
1126
|
+
|
1127
|
+
return keys.map(key => {
|
1128
|
+
const value = object[key];
|
1129
|
+
|
1130
|
+
if (value === undefined) {
|
1131
|
+
return '';
|
1132
|
+
}
|
1133
|
+
|
1134
|
+
if (value === null) {
|
1135
|
+
return encode(key, options);
|
1136
|
+
}
|
1137
|
+
|
1138
|
+
if (Array.isArray(value)) {
|
1139
|
+
if (value.length === 0 && options.arrayFormat === 'bracket-separator') {
|
1140
|
+
return encode(key, options) + '[]';
|
1141
|
+
}
|
1142
|
+
|
1143
|
+
return value
|
1144
|
+
.reduce(formatter(key), [])
|
1145
|
+
.join('&');
|
1146
|
+
}
|
1147
|
+
|
1148
|
+
return encode(key, options) + '=' + encode(value, options);
|
1149
|
+
}).filter(x => x.length > 0).join('&');
|
1150
|
+
}
|
1151
|
+
|
1152
|
+
function parseUrl(url, options) {
|
1153
|
+
options = {
|
1154
|
+
decode: true,
|
1155
|
+
...options,
|
1156
|
+
};
|
1157
|
+
|
1158
|
+
let [url_, hash] = splitOnFirst(url, '#');
|
1159
|
+
|
1160
|
+
if (url_ === undefined) {
|
1161
|
+
url_ = url;
|
1162
|
+
}
|
1163
|
+
|
1164
|
+
return {
|
1165
|
+
url: url_?.split('?')?.[0] ?? '',
|
1166
|
+
query: parse(extract(url), options),
|
1167
|
+
...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),
|
1168
|
+
};
|
1169
|
+
}
|
1170
|
+
|
1171
|
+
function stringifyUrl(object, options) {
|
1172
|
+
options = {
|
1173
|
+
encode: true,
|
1174
|
+
strict: true,
|
1175
|
+
[encodeFragmentIdentifier]: true,
|
1176
|
+
...options,
|
1177
|
+
};
|
1178
|
+
|
1179
|
+
const url = removeHash(object.url).split('?')[0] || '';
|
1180
|
+
const queryFromUrl = extract(object.url);
|
1181
|
+
|
1182
|
+
const query = {
|
1183
|
+
...parse(queryFromUrl, {sort: false}),
|
1184
|
+
...object.query,
|
1185
|
+
};
|
1186
|
+
|
1187
|
+
let queryString = stringify(query, options);
|
1188
|
+
queryString &&= `?${queryString}`;
|
1189
|
+
|
1190
|
+
let hash = getHash(object.url);
|
1191
|
+
if (typeof object.fragmentIdentifier === 'string') {
|
1192
|
+
const urlObjectForFragmentEncode = new URL(url);
|
1193
|
+
urlObjectForFragmentEncode.hash = object.fragmentIdentifier;
|
1194
|
+
hash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;
|
1195
|
+
}
|
1196
|
+
|
1197
|
+
return `${url}${queryString}${hash}`;
|
1198
|
+
}
|
1199
|
+
|
1200
|
+
function pick(input, filter, options) {
|
1201
|
+
options = {
|
1202
|
+
parseFragmentIdentifier: true,
|
1203
|
+
[encodeFragmentIdentifier]: false,
|
1204
|
+
...options,
|
1205
|
+
};
|
1206
|
+
|
1207
|
+
const {url, query, fragmentIdentifier} = parseUrl(input, options);
|
1208
|
+
|
1209
|
+
return stringifyUrl({
|
1210
|
+
url,
|
1211
|
+
query: includeKeys(query, filter),
|
1212
|
+
fragmentIdentifier,
|
1213
|
+
}, options);
|
1214
|
+
}
|
1215
|
+
|
1216
|
+
function exclude(input, filter, options) {
|
1217
|
+
const exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);
|
1218
|
+
|
1219
|
+
return pick(input, exclusionFilter, options);
|
1220
|
+
}
|
1221
|
+
|
1222
|
+
var queryString = /*#__PURE__*/Object.freeze({
|
1223
|
+
__proto__: null,
|
1224
|
+
exclude: exclude,
|
1225
|
+
extract: extract,
|
1226
|
+
parse: parse,
|
1227
|
+
parseUrl: parseUrl,
|
1228
|
+
pick: pick,
|
1229
|
+
stringify: stringify,
|
1230
|
+
stringifyUrl: stringifyUrl
|
1231
|
+
});
|
76
1232
|
|
77
1233
|
/* eslint-disable react/jsx-props-no-spreading */
|
1234
|
+
// import PropTypes from 'prop-types';
|
78
1235
|
|
79
1236
|
// Kept for backward compatibility with exports
|
80
1237
|
var ResourceFormWrapper = function ResourceFormWrapper(props) {
|
81
|
-
return /*#__PURE__*/
|
1238
|
+
return /*#__PURE__*/React.createElement(ResourceForm$1, props);
|
82
1239
|
};
|
83
1240
|
var ResourceForm = ResourceFormWrapper;
|
84
1241
|
|
85
1242
|
var propTypes$j = {
|
86
|
-
withAccountForm:
|
87
|
-
className:
|
88
|
-
itemClassName:
|
89
|
-
linkClassName:
|
1243
|
+
withAccountForm: PropTypes.bool,
|
1244
|
+
className: PropTypes.string,
|
1245
|
+
itemClassName: PropTypes.string,
|
1246
|
+
linkClassName: PropTypes.string
|
90
1247
|
};
|
91
1248
|
var defaultProps$i = {
|
92
1249
|
withAccountForm: false,
|
@@ -109,7 +1266,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
109
1266
|
var items = React.useMemo(function () {
|
110
1267
|
return user !== null ? [{
|
111
1268
|
id: 'account',
|
112
|
-
label: /*#__PURE__*/
|
1269
|
+
label: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
113
1270
|
id: "IuqEHB",
|
114
1271
|
defaultMessage: [{
|
115
1272
|
"type": 0,
|
@@ -117,8 +1274,8 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
117
1274
|
}]
|
118
1275
|
}),
|
119
1276
|
href: route('account'),
|
120
|
-
dropdown: [].concat(
|
121
|
-
label: /*#__PURE__*/
|
1277
|
+
dropdown: [].concat(_toConsumableArray(withAccountForm ? [{
|
1278
|
+
label: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
122
1279
|
id: "V7Us0a",
|
123
1280
|
defaultMessage: [{
|
124
1281
|
"type": 0,
|
@@ -127,7 +1284,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
127
1284
|
}),
|
128
1285
|
href: route('account')
|
129
1286
|
}] : []), [{
|
130
|
-
label: /*#__PURE__*/
|
1287
|
+
label: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
131
1288
|
id: "REIcPg",
|
132
1289
|
defaultMessage: [{
|
133
1290
|
"type": 0,
|
@@ -138,7 +1295,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
138
1295
|
onClick: onClickLogout
|
139
1296
|
}])
|
140
1297
|
}] : [{
|
141
|
-
label: /*#__PURE__*/
|
1298
|
+
label: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
142
1299
|
id: "d0g58T",
|
143
1300
|
defaultMessage: [{
|
144
1301
|
"type": 0,
|
@@ -148,7 +1305,7 @@ var AccountMenu = function AccountMenu(_ref) {
|
|
148
1305
|
href: route('auth.login')
|
149
1306
|
}];
|
150
1307
|
}, [user, route, onClickLogout, withAccountForm]);
|
151
|
-
return items !== null ? /*#__PURE__*/
|
1308
|
+
return items !== null ? /*#__PURE__*/React.createElement(Menu, {
|
152
1309
|
className: className,
|
153
1310
|
itemClassName: itemClassName,
|
154
1311
|
linkClassName: linkClassName,
|
@@ -161,9 +1318,9 @@ AccountMenu.defaultProps = defaultProps$i;
|
|
161
1318
|
var AccountMenu$1 = AccountMenu;
|
162
1319
|
|
163
1320
|
var propTypes$i = {
|
164
|
-
className:
|
165
|
-
itemClassName:
|
166
|
-
linkClassName:
|
1321
|
+
className: PropTypes.string,
|
1322
|
+
itemClassName: PropTypes.string,
|
1323
|
+
linkClassName: PropTypes.string
|
167
1324
|
};
|
168
1325
|
var defaultProps$h = {
|
169
1326
|
className: null,
|
@@ -174,8 +1331,8 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
174
1331
|
var className = _ref.className,
|
175
1332
|
itemClassName = _ref.itemClassName,
|
176
1333
|
linkClassName = _ref.linkClassName;
|
177
|
-
var _useLocation =
|
178
|
-
_useLocation2 =
|
1334
|
+
var _useLocation = useLocation(),
|
1335
|
+
_useLocation2 = _slicedToArray(_useLocation, 1),
|
179
1336
|
pathname = _useLocation2[0];
|
180
1337
|
var resources = contexts.usePanneauResources();
|
181
1338
|
var resourceRoute = hooks.useResourceUrlGenerator();
|
@@ -196,7 +1353,7 @@ var ResourcesMenu = function ResourcesMenu(_ref) {
|
|
196
1353
|
};
|
197
1354
|
});
|
198
1355
|
}, [resources, pathname, resourceRoute]);
|
199
|
-
return /*#__PURE__*/
|
1356
|
+
return /*#__PURE__*/React.createElement(Menu, {
|
200
1357
|
items: items,
|
201
1358
|
className: className,
|
202
1359
|
itemClassName: itemClassName,
|
@@ -227,11 +1384,11 @@ var MainNavbar = function MainNavbar(props) {
|
|
227
1384
|
var menuItems = (user !== null ? main : guest) || [];
|
228
1385
|
var hasResources = menuItems.indexOf('resources') !== -1;
|
229
1386
|
var hasAccount = menuItems.indexOf('account') !== -1;
|
230
|
-
return [!hasResources && user !== null ? 'resources' : null].concat(
|
1387
|
+
return [!hasResources && user !== null ? 'resources' : null].concat(_toConsumableArray(menuItems), [!hasAccount && menuItems.indexOf('separator') === -1 ? 'separator' : null, !hasAccount ? 'account' : null]).filter(function (it) {
|
231
1388
|
return it !== null;
|
232
1389
|
}).reduce(function (currentItems, item, index) {
|
233
1390
|
if (item === 'resources') {
|
234
|
-
return [].concat(
|
1391
|
+
return [].concat(_toConsumableArray(currentItems), [/*#__PURE__*/React.createElement(ResourcesMenu$1, {
|
235
1392
|
key: "menu-item-resource-".concat(index + 1),
|
236
1393
|
className: "navbar-nav",
|
237
1394
|
itemClassName: "nav-item",
|
@@ -239,7 +1396,7 @@ var MainNavbar = function MainNavbar(props) {
|
|
239
1396
|
})]);
|
240
1397
|
}
|
241
1398
|
if (item === 'account') {
|
242
|
-
return [].concat(
|
1399
|
+
return [].concat(_toConsumableArray(currentItems), [/*#__PURE__*/React.createElement(AccountMenu$1, {
|
243
1400
|
key: "menu-item-account-".concat(index + 1),
|
244
1401
|
className: "navbar-nav",
|
245
1402
|
itemClassName: "nav-item",
|
@@ -247,15 +1404,15 @@ var MainNavbar = function MainNavbar(props) {
|
|
247
1404
|
})]);
|
248
1405
|
}
|
249
1406
|
if (item === 'separator') {
|
250
|
-
return [].concat(
|
1407
|
+
return [].concat(_toConsumableArray(currentItems), [/*#__PURE__*/React.createElement("span", {
|
251
1408
|
key: "menu-item-spacer-".concat(index + 1),
|
252
1409
|
className: "ms-auto"
|
253
1410
|
})]);
|
254
1411
|
}
|
255
1412
|
var lastItem = currentItems.length > 0 ? currentItems[currentItems.length - 1] : null;
|
256
|
-
return
|
1413
|
+
return isArray(lastItem) ? [].concat(_toConsumableArray(currentItems.slice(0, currentItems.length - 1)), [[].concat(_toConsumableArray(lastItem), [item])]) : [].concat(_toConsumableArray(currentItems), [[item]]);
|
257
1414
|
}, []).map(function (it, index) {
|
258
|
-
return
|
1415
|
+
return isArray(it) ? /*#__PURE__*/React.createElement(Menu, {
|
259
1416
|
items: it,
|
260
1417
|
key: "submenu-item-".concat(index + 1),
|
261
1418
|
className: "navbar-nav",
|
@@ -264,9 +1421,9 @@ var MainNavbar = function MainNavbar(props) {
|
|
264
1421
|
}) : it;
|
265
1422
|
});
|
266
1423
|
}, [main]);
|
267
|
-
return /*#__PURE__*/
|
1424
|
+
return /*#__PURE__*/React.createElement(Navbar, Object.assign({
|
268
1425
|
theme: background
|
269
|
-
}, props), name !== null ? /*#__PURE__*/
|
1426
|
+
}, props), name !== null ? /*#__PURE__*/React.createElement(Link, {
|
270
1427
|
href: route('home'),
|
271
1428
|
className: "navbar-brand"
|
272
1429
|
}, name) : null, items);
|
@@ -278,8 +1435,8 @@ var MainNavbar$1 = MainNavbar;
|
|
278
1435
|
var styles$1 = {};
|
279
1436
|
|
280
1437
|
var propTypes$g = {
|
281
|
-
children:
|
282
|
-
fullscreen:
|
1438
|
+
children: PropTypes.node.isRequired,
|
1439
|
+
fullscreen: PropTypes.bool
|
283
1440
|
};
|
284
1441
|
var defaultProps$f = {
|
285
1442
|
fullscreen: false
|
@@ -294,16 +1451,16 @@ var MainLayout = function MainLayout(_ref) {
|
|
294
1451
|
background = _usePanneauColorSchem3 === void 0 ? null : _usePanneauColorSchem3,
|
295
1452
|
_usePanneauColorSchem4 = _usePanneauColorSchem.text,
|
296
1453
|
text = _usePanneauColorSchem4 === void 0 ? null : _usePanneauColorSchem4;
|
297
|
-
return /*#__PURE__*/
|
298
|
-
className:
|
1454
|
+
return /*#__PURE__*/React.createElement("div", {
|
1455
|
+
className: classNames([styles$1.container, 'd-flex', 'flex-column', 'min-vh-100']),
|
299
1456
|
"data-bs-theme": theme !== null ? theme : null
|
300
|
-
}, /*#__PURE__*/
|
301
|
-
className:
|
302
|
-
}), /*#__PURE__*/
|
303
|
-
className:
|
1457
|
+
}, /*#__PURE__*/React.createElement(MainNavbar$1, {
|
1458
|
+
className: classNames(['border-bottom', 'sticky-top', 'px-3'])
|
1459
|
+
}), /*#__PURE__*/React.createElement("div", {
|
1460
|
+
className: classNames(['flex-grow-1', _defineProperty(_defineProperty({
|
304
1461
|
'd-flex flex-column': fullscreen
|
305
1462
|
}, "bg-".concat(background), background !== null), "text-".concat(text), text !== null)])
|
306
|
-
}, children), /*#__PURE__*/
|
1463
|
+
}, children), /*#__PURE__*/React.createElement(elementModal.Modals, null));
|
307
1464
|
};
|
308
1465
|
MainLayout.propTypes = propTypes$g;
|
309
1466
|
MainLayout.defaultProps = defaultProps$f;
|
@@ -311,10 +1468,10 @@ var MainLayout$1 = MainLayout;
|
|
311
1468
|
|
312
1469
|
var propTypes$f = {
|
313
1470
|
title: core.PropTypes.label,
|
314
|
-
actions:
|
315
|
-
small:
|
316
|
-
className:
|
317
|
-
children:
|
1471
|
+
actions: PropTypes.node,
|
1472
|
+
small: PropTypes.bool,
|
1473
|
+
className: PropTypes.string,
|
1474
|
+
children: PropTypes.node
|
318
1475
|
};
|
319
1476
|
var defaultProps$e = {
|
320
1477
|
title: null,
|
@@ -335,22 +1492,22 @@ var PageHeader = function PageHeader(_ref) {
|
|
335
1492
|
var _usePanneauColorSchem = contexts.usePanneauColorScheme(),
|
336
1493
|
text = _usePanneauColorSchem.text,
|
337
1494
|
background = _usePanneauColorSchem.background;
|
338
|
-
var inner = /*#__PURE__*/
|
1495
|
+
var inner = /*#__PURE__*/React.createElement("div", {
|
339
1496
|
className: "d-flex align-items-center flex-wrap"
|
340
|
-
}, title !== null ? /*#__PURE__*/
|
341
|
-
className:
|
1497
|
+
}, title !== null ? /*#__PURE__*/React.createElement("h1", {
|
1498
|
+
className: classNames(['mb-0', {
|
342
1499
|
h2: small
|
343
1500
|
}])
|
344
|
-
}, /*#__PURE__*/
|
1501
|
+
}, /*#__PURE__*/React.createElement(Label, null, title)) : null, actions !== null ? /*#__PURE__*/React.createElement("div", {
|
345
1502
|
className: "ms-auto"
|
346
1503
|
}, actions) : null);
|
347
|
-
return /*#__PURE__*/
|
348
|
-
className:
|
349
|
-
}, /*#__PURE__*/
|
1504
|
+
return /*#__PURE__*/React.createElement("div", {
|
1505
|
+
className: classNames(['py-4', _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "bg-".concat(background), background !== null), "text-".concat(text), text !== null), "border-bottom", background || text !== null), className, className !== null)])
|
1506
|
+
}, /*#__PURE__*/React.createElement("div", {
|
350
1507
|
className: "container-sm"
|
351
|
-
}, small ? /*#__PURE__*/
|
1508
|
+
}, small ? /*#__PURE__*/React.createElement("div", {
|
352
1509
|
className: "row justify-content-center"
|
353
|
-
}, /*#__PURE__*/
|
1510
|
+
}, /*#__PURE__*/React.createElement("div", {
|
354
1511
|
className: "col-12 col-md-8 col-lg-7"
|
355
1512
|
}, inner)) : inner), children);
|
356
1513
|
};
|
@@ -364,13 +1521,13 @@ var propTypes$e = {
|
|
364
1521
|
var defaultProps$d = {};
|
365
1522
|
var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
366
1523
|
var resource = _ref.resource;
|
367
|
-
var _useLocation =
|
368
|
-
_useLocation2 =
|
1524
|
+
var _useLocation = useLocation(),
|
1525
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
369
1526
|
navigate = _useLocation2[1];
|
370
|
-
var search =
|
1527
|
+
var search = useSearch();
|
371
1528
|
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
372
1529
|
var _useMemo = React.useMemo(function () {
|
373
|
-
return
|
1530
|
+
return queryString.parse(search, {
|
374
1531
|
arrayFormat: 'bracket'
|
375
1532
|
});
|
376
1533
|
}, [search]),
|
@@ -381,10 +1538,10 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
381
1538
|
var onSuccess = React.useCallback(function () {
|
382
1539
|
navigate("".concat(resourceRoute('index'), "?created=true"));
|
383
1540
|
}, [navigate, resourceRoute]);
|
384
|
-
return /*#__PURE__*/
|
1541
|
+
return /*#__PURE__*/React.createElement(contexts.ResourceProvider, {
|
385
1542
|
resource: resource
|
386
|
-
}, /*#__PURE__*/
|
387
|
-
title: /*#__PURE__*/
|
1543
|
+
}, /*#__PURE__*/React.createElement(MainLayout$1, null, /*#__PURE__*/React.createElement(PageHeader$1, {
|
1544
|
+
title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
388
1545
|
values: resourceValues,
|
389
1546
|
id: "6viUpq",
|
390
1547
|
defaultMessage: [{
|
@@ -394,17 +1551,17 @@ var ResourceCreatePage = function ResourceCreatePage(_ref) {
|
|
394
1551
|
"type": 1,
|
395
1552
|
"value": "a_singular"
|
396
1553
|
}]
|
397
|
-
}), typeName !== null ? /*#__PURE__*/
|
1554
|
+
}), typeName !== null ? /*#__PURE__*/React.createElement("span", {
|
398
1555
|
className: "text-body-secondary"
|
399
1556
|
}, " (", typeName, ")") : null),
|
400
1557
|
small: true
|
401
|
-
}), /*#__PURE__*/
|
1558
|
+
}), /*#__PURE__*/React.createElement("div", {
|
402
1559
|
className: "container-sm py-4"
|
403
|
-
}, /*#__PURE__*/
|
1560
|
+
}, /*#__PURE__*/React.createElement("div", {
|
404
1561
|
className: "row justify-content-center"
|
405
|
-
}, /*#__PURE__*/
|
1562
|
+
}, /*#__PURE__*/React.createElement("div", {
|
406
1563
|
className: "col-12 col-md-8 col-lg-7"
|
407
|
-
}, /*#__PURE__*/
|
1564
|
+
}, /*#__PURE__*/React.createElement(ResourceForm, {
|
408
1565
|
resource: resource,
|
409
1566
|
type: type,
|
410
1567
|
onSuccess: onSuccess
|
@@ -415,15 +1572,15 @@ ResourceCreatePage.defaultProps = defaultProps$d;
|
|
415
1572
|
var ResourceCreate = ResourceCreatePage;
|
416
1573
|
|
417
1574
|
var propTypes$d = {
|
418
|
-
itemId:
|
1575
|
+
itemId: PropTypes.string.isRequired,
|
419
1576
|
resource: core.PropTypes.resource.isRequired
|
420
1577
|
};
|
421
1578
|
var defaultProps$c = {};
|
422
1579
|
var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
423
1580
|
var itemId = _ref.itemId,
|
424
1581
|
resource = _ref.resource;
|
425
|
-
var _useLocation =
|
426
|
-
_useLocation2 =
|
1582
|
+
var _useLocation = useLocation(),
|
1583
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
427
1584
|
navigate = _useLocation2[1];
|
428
1585
|
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
429
1586
|
var _useResourceItem = data.useResourceItem(resource, itemId),
|
@@ -436,10 +1593,10 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
436
1593
|
var onSuccess = React.useCallback(function () {
|
437
1594
|
return navigate("".concat(resourceRoute('index'), "?deleted=true"));
|
438
1595
|
}, [navigate, resourceRoute]);
|
439
|
-
return /*#__PURE__*/
|
1596
|
+
return /*#__PURE__*/React.createElement(contexts.ResourceProvider, {
|
440
1597
|
resource: resource
|
441
|
-
}, /*#__PURE__*/
|
442
|
-
title: /*#__PURE__*/
|
1598
|
+
}, /*#__PURE__*/React.createElement(MainLayout$1, null, /*#__PURE__*/React.createElement(PageHeader$1, {
|
1599
|
+
title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
443
1600
|
values: resourceValues,
|
444
1601
|
id: "zN5N/Q",
|
445
1602
|
defaultMessage: [{
|
@@ -449,17 +1606,17 @@ var ResourceDeletePage = function ResourceDeletePage(_ref) {
|
|
449
1606
|
"type": 1,
|
450
1607
|
"value": "a_singular"
|
451
1608
|
}]
|
452
|
-
}), typeName !== null ? /*#__PURE__*/
|
1609
|
+
}), typeName !== null ? /*#__PURE__*/React.createElement("span", {
|
453
1610
|
className: "text-body-secondary"
|
454
1611
|
}, " (", typeName, ")") : null),
|
455
1612
|
small: true
|
456
|
-
}), /*#__PURE__*/
|
1613
|
+
}), /*#__PURE__*/React.createElement("div", {
|
457
1614
|
className: "container-sm py-4"
|
458
|
-
}, /*#__PURE__*/
|
1615
|
+
}, /*#__PURE__*/React.createElement("div", {
|
459
1616
|
className: "row justify-content-center"
|
460
|
-
}, /*#__PURE__*/
|
1617
|
+
}, /*#__PURE__*/React.createElement("div", {
|
461
1618
|
className: "col-12 col-md-8 col-lg-7"
|
462
|
-
}, item !== null ? /*#__PURE__*/
|
1619
|
+
}, item !== null ? /*#__PURE__*/React.createElement(ResourceForm, {
|
463
1620
|
resource: resource,
|
464
1621
|
item: item,
|
465
1622
|
onSuccess: onSuccess,
|
@@ -471,7 +1628,7 @@ ResourceDeletePage.defaultProps = defaultProps$c;
|
|
471
1628
|
var ResourceDelete = ResourceDeletePage;
|
472
1629
|
|
473
1630
|
var propTypes$c = {
|
474
|
-
itemId:
|
1631
|
+
itemId: PropTypes.string.isRequired,
|
475
1632
|
resource: core.PropTypes.resource.isRequired
|
476
1633
|
};
|
477
1634
|
var defaultProps$b = {};
|
@@ -484,7 +1641,7 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
484
1641
|
_ref2$type = _ref2.type,
|
485
1642
|
type = _ref2$type === void 0 ? null : _ref2$type;
|
486
1643
|
var _useState = React.useState(item),
|
487
|
-
_useState2 =
|
1644
|
+
_useState2 = _slicedToArray(_useState, 2),
|
488
1645
|
editItem = _useState2[0],
|
489
1646
|
setEditItem = _useState2[1];
|
490
1647
|
var typeName = hooks.useResourceTypeName(resource, type);
|
@@ -495,10 +1652,10 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
495
1652
|
setEditItem(item);
|
496
1653
|
}, [item, setEditItem]);
|
497
1654
|
var resourceValues = intl.useResourceValues(resource);
|
498
|
-
return /*#__PURE__*/
|
1655
|
+
return /*#__PURE__*/React.createElement(contexts.ResourceProvider, {
|
499
1656
|
resource: resource
|
500
|
-
}, /*#__PURE__*/
|
501
|
-
title: /*#__PURE__*/
|
1657
|
+
}, /*#__PURE__*/React.createElement(MainLayout$1, null, /*#__PURE__*/React.createElement(PageHeader$1, {
|
1658
|
+
title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
502
1659
|
values: resourceValues,
|
503
1660
|
id: "mCfzkJ",
|
504
1661
|
defaultMessage: [{
|
@@ -508,17 +1665,17 @@ var ResourceEditPage = function ResourceEditPage(_ref) {
|
|
508
1665
|
"type": 1,
|
509
1666
|
"value": "a_singular"
|
510
1667
|
}]
|
511
|
-
}), typeName !== null ? /*#__PURE__*/
|
1668
|
+
}), typeName !== null ? /*#__PURE__*/React.createElement("span", {
|
512
1669
|
className: "text-body-secondary"
|
513
1670
|
}, " (", typeName, ")") : null),
|
514
1671
|
small: true
|
515
|
-
}), /*#__PURE__*/
|
1672
|
+
}), /*#__PURE__*/React.createElement("div", {
|
516
1673
|
className: "container-sm py-4"
|
517
|
-
}, /*#__PURE__*/
|
1674
|
+
}, /*#__PURE__*/React.createElement("div", {
|
518
1675
|
className: "row justify-content-center"
|
519
|
-
}, /*#__PURE__*/
|
1676
|
+
}, /*#__PURE__*/React.createElement("div", {
|
520
1677
|
className: "col-12 col-md-8 col-lg-7"
|
521
|
-
}, editItem !== null ? /*#__PURE__*/
|
1678
|
+
}, editItem !== null ? /*#__PURE__*/React.createElement(ResourceForm, {
|
522
1679
|
resource: resource,
|
523
1680
|
item: editItem,
|
524
1681
|
type: type,
|
@@ -531,7 +1688,7 @@ var ResourceEdit = ResourceEditPage;
|
|
531
1688
|
|
532
1689
|
var propTypes$b = {
|
533
1690
|
resource: core.PropTypes.resource.isRequired,
|
534
|
-
className:
|
1691
|
+
className: PropTypes.string
|
535
1692
|
};
|
536
1693
|
var defaultProps$a = {
|
537
1694
|
className: null
|
@@ -545,7 +1702,7 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
545
1702
|
var resourceRoute = hooks.useResourceUrlGenerator(resource);
|
546
1703
|
var resourceValues = intl.useResourceValues(resource);
|
547
1704
|
var _useState = React.useState(false),
|
548
|
-
_useState2 =
|
1705
|
+
_useState2 = _slicedToArray(_useState, 2),
|
549
1706
|
dropdownOpened = _useState2[0],
|
550
1707
|
setDropdownOpened = _useState2[1];
|
551
1708
|
var onClickDropdown = React.useCallback(function (e) {
|
@@ -566,15 +1723,15 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
566
1723
|
setDropdownOpened(false);
|
567
1724
|
}
|
568
1725
|
}, [setDropdownOpened, dropdownOpened]);
|
569
|
-
var button = /*#__PURE__*/
|
1726
|
+
var button = /*#__PURE__*/React.createElement(Button, {
|
570
1727
|
href: !hasMultipleTypes ? "".concat(resourceRoute('create')).concat(finalTypes !== null && finalTypes.length === 1 ? "?type=".concat(finalTypes[0].id) : '') : '#',
|
571
1728
|
size: "lg",
|
572
1729
|
theme: "primary",
|
573
|
-
className:
|
1730
|
+
className: classNames([_defineProperty({
|
574
1731
|
'dropdown-toggle': hasMultipleTypes
|
575
1732
|
}, className, className !== null)]),
|
576
1733
|
onClick: hasMultipleTypes ? onClickDropdown : null
|
577
|
-
}, /*#__PURE__*/
|
1734
|
+
}, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
578
1735
|
values: resourceValues,
|
579
1736
|
id: "l+ddDH",
|
580
1737
|
defaultMessage: [{
|
@@ -585,11 +1742,11 @@ var ResourceCreateButtom = function ResourceCreateButtom(_ref) {
|
|
585
1742
|
"value": "a_singular"
|
586
1743
|
}]
|
587
1744
|
}));
|
588
|
-
return hasMultipleTypes ? /*#__PURE__*/
|
589
|
-
className:
|
1745
|
+
return hasMultipleTypes ? /*#__PURE__*/React.createElement("div", {
|
1746
|
+
className: classNames(['dropdown', {
|
590
1747
|
show: dropdownOpened
|
591
1748
|
}])
|
592
|
-
}, button, /*#__PURE__*/
|
1749
|
+
}, button, /*#__PURE__*/React.createElement(Dropdown, {
|
593
1750
|
items: finalTypes.map(function (it) {
|
594
1751
|
return {
|
595
1752
|
id: it.id,
|
@@ -608,21 +1765,21 @@ var ResourceCreateButton = ResourceCreateButtom;
|
|
608
1765
|
|
609
1766
|
var _excluded$3 = ["resource"];
|
610
1767
|
var propTypes$a = {
|
611
|
-
resource:
|
612
|
-
id:
|
1768
|
+
resource: PropTypes.oneOfType([PropTypes.string, PropTypes.shape({
|
1769
|
+
id: PropTypes.string
|
613
1770
|
})]).isRequired
|
614
1771
|
};
|
615
1772
|
|
616
1773
|
// Kept for backward compatibility with exports
|
617
1774
|
var ResourceItemsList = function ResourceItemsList(_ref) {
|
618
1775
|
var resource = _ref.resource,
|
619
|
-
props =
|
620
|
-
var _ref2 =
|
1776
|
+
props = _objectWithoutProperties(_ref, _excluded$3);
|
1777
|
+
var _ref2 = isObject(resource) ? resource : {
|
621
1778
|
id: resource
|
622
1779
|
},
|
623
1780
|
_ref2$id = _ref2.id,
|
624
1781
|
finalResource = _ref2$id === void 0 ? null : _ref2$id;
|
625
|
-
return /*#__PURE__*/
|
1782
|
+
return /*#__PURE__*/React.createElement(ResourceList, Object.assign({
|
626
1783
|
resource: finalResource
|
627
1784
|
}, props));
|
628
1785
|
};
|
@@ -632,7 +1789,7 @@ var ResourceItemsList$1 = ResourceItemsList;
|
|
632
1789
|
var _excluded$2 = ["id", "component"];
|
633
1790
|
var propTypes$9 = {
|
634
1791
|
resource: core.PropTypes.resource.isRequired,
|
635
|
-
defaultActions:
|
1792
|
+
defaultActions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object])) // eslint-disable-line react/forbid-prop-types
|
636
1793
|
};
|
637
1794
|
var defaultProps$9 = {
|
638
1795
|
defaultActions: ['create']
|
@@ -670,12 +1827,12 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
670
1827
|
}, [canCreate, actions]);
|
671
1828
|
var resourceValues = intl.useResourceValues(resource);
|
672
1829
|
var componentsManager = contexts.useComponentsManager();
|
673
|
-
var _useLocation =
|
674
|
-
_useLocation2 =
|
1830
|
+
var _useLocation = useLocation(),
|
1831
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
675
1832
|
navigate = _useLocation2[1];
|
676
|
-
var search =
|
1833
|
+
var search = useSearch();
|
677
1834
|
var query = React.useMemo(function () {
|
678
|
-
return
|
1835
|
+
return queryString.parse(search, {
|
679
1836
|
arrayFormat: 'bracket'
|
680
1837
|
});
|
681
1838
|
}, [search]);
|
@@ -692,14 +1849,14 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
692
1849
|
var onQueryChange = React.useCallback(function (submitQuery) {
|
693
1850
|
var newQuery = submitQuery !== null ? Object.keys(submitQuery).reduce(function (currentQuery, key) {
|
694
1851
|
var value = submitQuery[key];
|
695
|
-
return value !== null ?
|
1852
|
+
return value !== null ? _objectSpread(_objectSpread({}, currentQuery), {}, _defineProperty({}, key, value)) : currentQuery;
|
696
1853
|
}, null) : null;
|
697
|
-
navigate("".concat(url).concat(newQuery !== null ? "?".concat(
|
1854
|
+
navigate("".concat(url).concat(newQuery !== null ? "?".concat(queryString.stringify(newQuery, {
|
698
1855
|
arrayFormat: 'bracket'
|
699
1856
|
})) : ''));
|
700
1857
|
}, [navigate, url, query, paginated]);
|
701
1858
|
var onQueryReset = React.useCallback(function () {
|
702
|
-
var resetQuery =
|
1859
|
+
var resetQuery = queryString.stringify(null, {
|
703
1860
|
arrayFormat: 'bracket'
|
704
1861
|
});
|
705
1862
|
navigate("".concat(url, "?").concat(resetQuery));
|
@@ -709,32 +1866,32 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
709
1866
|
replace: true
|
710
1867
|
});
|
711
1868
|
}, [navigate, url]);
|
712
|
-
return /*#__PURE__*/
|
1869
|
+
return /*#__PURE__*/React.createElement(contexts.ResourceProvider, {
|
713
1870
|
resource: resource
|
714
|
-
}, /*#__PURE__*/
|
1871
|
+
}, /*#__PURE__*/React.createElement(MainLayout$1, null, /*#__PURE__*/React.createElement(PageHeader$1, {
|
715
1872
|
title: name,
|
716
|
-
actions: finalActions.length > 0 ? /*#__PURE__*/
|
1873
|
+
actions: finalActions.length > 0 ? /*#__PURE__*/React.createElement("div", {
|
717
1874
|
className: "d-flex align-items-center"
|
718
1875
|
}, finalActions.map(function (_ref5) {
|
719
1876
|
var id = _ref5.id,
|
720
1877
|
_ref5$component = _ref5.component,
|
721
|
-
component = _ref5$component === void 0 ?
|
722
|
-
actionProps =
|
723
|
-
var ActionComponent =
|
724
|
-
return ActionComponent !== null ? /*#__PURE__*/
|
1878
|
+
component = _ref5$component === void 0 ? Button : _ref5$component,
|
1879
|
+
actionProps = _objectWithoutProperties(_ref5, _excluded$2);
|
1880
|
+
var ActionComponent = isString(component) ? componentsManager.getComponent(component) : component;
|
1881
|
+
return ActionComponent !== null ? /*#__PURE__*/React.createElement(ActionComponent, Object.assign({
|
725
1882
|
key: "action-".concat(id)
|
726
|
-
}, actionProps, ActionComponent !==
|
1883
|
+
}, actionProps, ActionComponent !== Button ? {
|
727
1884
|
resource: resource,
|
728
1885
|
query: query,
|
729
1886
|
onQueryChange: onQueryChange
|
730
1887
|
} : {})) : null;
|
731
1888
|
})) : null
|
732
|
-
}), /*#__PURE__*/
|
733
|
-
className:
|
734
|
-
}, created ? /*#__PURE__*/
|
1889
|
+
}), /*#__PURE__*/React.createElement("div", {
|
1890
|
+
className: classNames(['container-sm py-4'])
|
1891
|
+
}, created ? /*#__PURE__*/React.createElement(Alert, {
|
735
1892
|
className: "mb-4",
|
736
1893
|
onClose: onClickCloseAlert
|
737
|
-
}, /*#__PURE__*/
|
1894
|
+
}, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
738
1895
|
values: resourceValues,
|
739
1896
|
id: "bfP/d8",
|
740
1897
|
defaultMessage: [{
|
@@ -744,10 +1901,10 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
744
1901
|
"type": 0,
|
745
1902
|
"value": " has been created."
|
746
1903
|
}]
|
747
|
-
})) : null, deleted ? /*#__PURE__*/
|
1904
|
+
})) : null, deleted ? /*#__PURE__*/React.createElement(Alert, {
|
748
1905
|
className: "mb-4",
|
749
1906
|
onClose: onClickCloseAlert
|
750
|
-
}, /*#__PURE__*/
|
1907
|
+
}, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
751
1908
|
values: resourceValues,
|
752
1909
|
id: "dkRdks",
|
753
1910
|
defaultMessage: [{
|
@@ -757,7 +1914,7 @@ var ResourceIndexPage = function ResourceIndexPage(_ref) {
|
|
757
1914
|
"type": 0,
|
758
1915
|
"value": " has been deleted."
|
759
1916
|
}]
|
760
|
-
})) : null, /*#__PURE__*/
|
1917
|
+
})) : null, /*#__PURE__*/React.createElement(ResourceItemsList$1, {
|
761
1918
|
resource: resource,
|
762
1919
|
baseUrl: url,
|
763
1920
|
query: listQuery,
|
@@ -773,7 +1930,7 @@ var ResourceIndex = ResourceIndexPage;
|
|
773
1930
|
|
774
1931
|
var propTypes$8 = {
|
775
1932
|
resource: core.PropTypes.resource.isRequired,
|
776
|
-
itemId:
|
1933
|
+
itemId: PropTypes.string.isRequired
|
777
1934
|
};
|
778
1935
|
var defaultProps$8 = {};
|
779
1936
|
var ResourceShowPage = function ResourceShowPage(_ref) {
|
@@ -785,18 +1942,18 @@ var ResourceShowPage = function ResourceShowPage(_ref) {
|
|
785
1942
|
var _ref2 = item || {},
|
786
1943
|
_ref2$type = _ref2.type,
|
787
1944
|
type = _ref2$type === void 0 ? null : _ref2$type;
|
788
|
-
return /*#__PURE__*/
|
1945
|
+
return /*#__PURE__*/React.createElement(contexts.ResourceProvider, {
|
789
1946
|
resource: resource
|
790
|
-
}, /*#__PURE__*/
|
1947
|
+
}, /*#__PURE__*/React.createElement(MainLayout$1, null, /*#__PURE__*/React.createElement(PageHeader$1, {
|
791
1948
|
title: "".concat(name, " #").concat(itemId),
|
792
1949
|
small: true
|
793
|
-
}), /*#__PURE__*/
|
1950
|
+
}), /*#__PURE__*/React.createElement("div", {
|
794
1951
|
className: "container-sm py-4"
|
795
|
-
}, /*#__PURE__*/
|
1952
|
+
}, /*#__PURE__*/React.createElement("div", {
|
796
1953
|
className: "row justify-content-center"
|
797
|
-
}, /*#__PURE__*/
|
1954
|
+
}, /*#__PURE__*/React.createElement("div", {
|
798
1955
|
className: "col-12 col-md-8 col-lg-7"
|
799
|
-
}, /*#__PURE__*/
|
1956
|
+
}, /*#__PURE__*/React.createElement(ResourceForm, {
|
800
1957
|
resource: resource,
|
801
1958
|
item: item,
|
802
1959
|
type: type,
|
@@ -820,19 +1977,19 @@ var HomePage = function HomePage() {
|
|
820
1977
|
hideInNavbar = _ref$settings2$hideIn === void 0 ? false : _ref$settings2$hideIn;
|
821
1978
|
return !hideInNavbar;
|
822
1979
|
});
|
823
|
-
return /*#__PURE__*/
|
1980
|
+
return /*#__PURE__*/React.createElement(MainLayout$1, null, /*#__PURE__*/React.createElement("div", {
|
824
1981
|
className: "container-sm py-4"
|
825
1982
|
}, visibleResources.map(function (resource) {
|
826
1983
|
var _ref2 = resource || {},
|
827
1984
|
resourceId = _ref2.id;
|
828
1985
|
var resourceValues = intl.useResourceValues(resource);
|
829
|
-
return /*#__PURE__*/
|
1986
|
+
return /*#__PURE__*/React.createElement(Link, {
|
830
1987
|
className: "d-block my-2",
|
831
1988
|
key: "resource-link-".concat(resourceId),
|
832
1989
|
href: route('resources.index', {
|
833
1990
|
resource: resourceId
|
834
1991
|
})
|
835
|
-
}, /*#__PURE__*/
|
1992
|
+
}, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
836
1993
|
values: resourceValues,
|
837
1994
|
id: "FntHPK",
|
838
1995
|
defaultMessage: [{
|
@@ -852,7 +2009,7 @@ var HomePage$1 = HomePage;
|
|
852
2009
|
var propTypes$6 = {};
|
853
2010
|
var defaultProps$6 = {};
|
854
2011
|
var AccountPage = function AccountPage() {
|
855
|
-
return /*#__PURE__*/
|
2012
|
+
return /*#__PURE__*/React.createElement(MainLayout$1, null, /*#__PURE__*/React.createElement("div", {
|
856
2013
|
className: "container-sm py-4"
|
857
2014
|
}, "Account page"));
|
858
2015
|
};
|
@@ -862,8 +2019,8 @@ var AccountPage$1 = AccountPage;
|
|
862
2019
|
|
863
2020
|
/* eslint-disable react/jsx-props-no-spreading */
|
864
2021
|
var propTypes$5 = {
|
865
|
-
className:
|
866
|
-
onSuccess:
|
2022
|
+
className: PropTypes.string,
|
2023
|
+
onSuccess: PropTypes.func
|
867
2024
|
};
|
868
2025
|
var defaultProps$5 = {
|
869
2026
|
className: null,
|
@@ -882,12 +2039,12 @@ var LoginForm = function LoginForm(_ref) {
|
|
882
2039
|
}, [login]);
|
883
2040
|
var FormComponents = contexts.useFormsComponents();
|
884
2041
|
var FormComponent = utils.getComponentFromName('login', FormComponents);
|
885
|
-
return FormComponent !== null ? /*#__PURE__*/
|
2042
|
+
return FormComponent !== null ? /*#__PURE__*/React.createElement(FormComponent, {
|
886
2043
|
action: url('auth.login'),
|
887
2044
|
postForm: postForm,
|
888
2045
|
onComplete: onSuccess,
|
889
2046
|
className: className,
|
890
|
-
submitButtonLabel: /*#__PURE__*/
|
2047
|
+
submitButtonLabel: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
891
2048
|
id: "g6qbbX",
|
892
2049
|
defaultMessage: [{
|
893
2050
|
"type": 0,
|
@@ -903,8 +2060,8 @@ var LoginForm$1 = LoginForm;
|
|
903
2060
|
var styles = {};
|
904
2061
|
|
905
2062
|
var propTypes$4 = {
|
906
|
-
children:
|
907
|
-
fullscreen:
|
2063
|
+
children: PropTypes.node.isRequired,
|
2064
|
+
fullscreen: PropTypes.bool
|
908
2065
|
};
|
909
2066
|
var defaultProps$4 = {
|
910
2067
|
fullscreen: false
|
@@ -919,19 +2076,19 @@ var GuestLayout = function GuestLayout(_ref) {
|
|
919
2076
|
background = _usePanneauColorSchem3 === void 0 ? null : _usePanneauColorSchem3,
|
920
2077
|
_usePanneauColorSchem4 = _usePanneauColorSchem.text,
|
921
2078
|
text = _usePanneauColorSchem4 === void 0 ? null : _usePanneauColorSchem4;
|
922
|
-
return /*#__PURE__*/
|
923
|
-
className:
|
2079
|
+
return /*#__PURE__*/React.createElement("div", {
|
2080
|
+
className: classNames([styles.container, {
|
924
2081
|
'd-flex flex-column min-vh-100': fullscreen
|
925
2082
|
}]),
|
926
2083
|
"data-bs-theme": theme !== null ? theme : null
|
927
|
-
}, /*#__PURE__*/
|
928
|
-
className:
|
929
|
-
}), /*#__PURE__*/
|
930
|
-
className:
|
2084
|
+
}, /*#__PURE__*/React.createElement(MainNavbar$1, {
|
2085
|
+
className: classNames(['sticky-top', 'px-3'])
|
2086
|
+
}), /*#__PURE__*/React.createElement("div", {
|
2087
|
+
className: classNames(_defineProperty(_defineProperty({
|
931
2088
|
'd-flex flex-column flex-grow-1': fullscreen
|
932
2089
|
}, "bg-".concat(background), background !== null), "text-".concat(text), text !== null))
|
933
|
-
}, /*#__PURE__*/
|
934
|
-
className:
|
2090
|
+
}, /*#__PURE__*/React.createElement("div", {
|
2091
|
+
className: classNames({
|
935
2092
|
'w-100 my-auto': fullscreen
|
936
2093
|
})
|
937
2094
|
}, children)));
|
@@ -950,23 +2107,23 @@ var LoginPage = function LoginPage() {
|
|
950
2107
|
var onSuccess = React.useCallback(function () {
|
951
2108
|
window.location.href = route('home');
|
952
2109
|
}, [route]);
|
953
|
-
return /*#__PURE__*/
|
2110
|
+
return /*#__PURE__*/React.createElement(GuestLayout$1, {
|
954
2111
|
fullscreen: true
|
955
|
-
}, /*#__PURE__*/
|
2112
|
+
}, /*#__PURE__*/React.createElement("div", {
|
956
2113
|
className: "container-sm py-4"
|
957
|
-
}, /*#__PURE__*/
|
2114
|
+
}, /*#__PURE__*/React.createElement("div", {
|
958
2115
|
className: "row justify-content-center"
|
959
|
-
}, /*#__PURE__*/
|
2116
|
+
}, /*#__PURE__*/React.createElement("div", {
|
960
2117
|
className: "col-12 col-sm-8 col-md-6"
|
961
|
-
}, /*#__PURE__*/
|
2118
|
+
}, /*#__PURE__*/React.createElement("h1", {
|
962
2119
|
className: "mb-4"
|
963
|
-
}, /*#__PURE__*/
|
2120
|
+
}, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
964
2121
|
id: "AeOZq+",
|
965
2122
|
defaultMessage: [{
|
966
2123
|
"type": 0,
|
967
2124
|
"value": "Login"
|
968
2125
|
}]
|
969
|
-
})), /*#__PURE__*/
|
2126
|
+
})), /*#__PURE__*/React.createElement(LoginForm$1, {
|
970
2127
|
onSuccess: onSuccess
|
971
2128
|
})))));
|
972
2129
|
};
|
@@ -1075,15 +2232,15 @@ var defaultProps$2 = {
|
|
1075
2232
|
};
|
1076
2233
|
var ErrorPage = function ErrorPage(_ref) {
|
1077
2234
|
var statusCode = _ref.statusCode;
|
1078
|
-
return /*#__PURE__*/
|
2235
|
+
return /*#__PURE__*/React.createElement(GuestLayout$1, {
|
1079
2236
|
fullscreen: true
|
1080
|
-
}, /*#__PURE__*/
|
2237
|
+
}, /*#__PURE__*/React.createElement("div", {
|
1081
2238
|
className: "container-sm py-4"
|
1082
|
-
}, /*#__PURE__*/
|
2239
|
+
}, /*#__PURE__*/React.createElement("div", {
|
1083
2240
|
className: "row justify-content-center"
|
1084
|
-
}, /*#__PURE__*/
|
2241
|
+
}, /*#__PURE__*/React.createElement("div", {
|
1085
2242
|
className: "col-12 col-sm-8 col-md-6"
|
1086
|
-
}, /*#__PURE__*/
|
2243
|
+
}, /*#__PURE__*/React.createElement("h1", null, /*#__PURE__*/React.createElement(Label, null, messages["title".concat(statusCode || 404)])), /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement(Label, null, messages["description".concat(statusCode || 404)]))))));
|
1087
2244
|
};
|
1088
2245
|
ErrorPage.propTypes = propTypes$2;
|
1089
2246
|
ErrorPage.defaultProps = defaultProps$2;
|
@@ -1129,17 +2286,17 @@ var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
|
1129
2286
|
var ResourceCreateComponent = componentsManager.getComponent(resourceCreatePage === null || resourceCreatePage === void 0 ? void 0 : resourceCreatePage.component) || componentsManager.getComponent(createPage === null || createPage === void 0 ? void 0 : createPage.component) || ResourceCreate;
|
1130
2287
|
var ResourceEditComponent = componentsManager.getComponent(resourceEditPage === null || resourceEditPage === void 0 ? void 0 : resourceEditPage.component) || componentsManager.getComponent(editPage === null || editPage === void 0 ? void 0 : editPage.component) || ResourceEdit;
|
1131
2288
|
var ResourceDeleteComponent = componentsManager.getComponent(resourceDeletePage === null || resourceDeletePage === void 0 ? void 0 : resourceDeletePage.component) || componentsManager.getComponent(deletePage === null || deletePage === void 0 ? void 0 : deletePage.component) || ResourceDelete;
|
1132
|
-
return [/*#__PURE__*/
|
2289
|
+
return [/*#__PURE__*/React.createElement(Route, {
|
1133
2290
|
key: "".concat(resourceId, "-create"),
|
1134
2291
|
path: route('resources.create', {
|
1135
2292
|
resource: resourceId
|
1136
2293
|
}),
|
1137
2294
|
exact: true
|
1138
2295
|
}, function () {
|
1139
|
-
return /*#__PURE__*/
|
2296
|
+
return /*#__PURE__*/React.createElement(ResourceCreateComponent, {
|
1140
2297
|
resource: resource
|
1141
2298
|
});
|
1142
|
-
}), /*#__PURE__*/
|
2299
|
+
}), /*#__PURE__*/React.createElement(Route, {
|
1143
2300
|
key: "".concat(resourceId, "-show"),
|
1144
2301
|
path: route('resources.show', {
|
1145
2302
|
resource: resourceId,
|
@@ -1148,11 +2305,11 @@ var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
|
1148
2305
|
}, function (_ref4) {
|
1149
2306
|
var _ref4$id = _ref4.id,
|
1150
2307
|
id = _ref4$id === void 0 ? null : _ref4$id;
|
1151
|
-
return /*#__PURE__*/
|
2308
|
+
return /*#__PURE__*/React.createElement(ResourceShowComponent, {
|
1152
2309
|
itemId: id,
|
1153
2310
|
resource: resource
|
1154
2311
|
});
|
1155
|
-
}), /*#__PURE__*/
|
2312
|
+
}), /*#__PURE__*/React.createElement(Route, {
|
1156
2313
|
key: "".concat(resourceId, "-edit"),
|
1157
2314
|
path: route('resources.edit', {
|
1158
2315
|
resource: resourceId,
|
@@ -1161,11 +2318,11 @@ var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
|
1161
2318
|
}, function (_ref5) {
|
1162
2319
|
var _ref5$id = _ref5.id,
|
1163
2320
|
id = _ref5$id === void 0 ? null : _ref5$id;
|
1164
|
-
return /*#__PURE__*/
|
2321
|
+
return /*#__PURE__*/React.createElement(ResourceEditComponent, {
|
1165
2322
|
itemId: id,
|
1166
2323
|
resource: resource
|
1167
2324
|
});
|
1168
|
-
}), /*#__PURE__*/
|
2325
|
+
}), /*#__PURE__*/React.createElement(Route, {
|
1169
2326
|
key: "".concat(resourceId, "-delete"),
|
1170
2327
|
path: route('resources.delete', {
|
1171
2328
|
resource: resourceId,
|
@@ -1174,35 +2331,34 @@ var createResourceRoutes = function createResourceRoutes(resource, _ref) {
|
|
1174
2331
|
}, function (_ref6) {
|
1175
2332
|
var _ref6$id = _ref6.id,
|
1176
2333
|
id = _ref6$id === void 0 ? null : _ref6$id;
|
1177
|
-
return /*#__PURE__*/
|
2334
|
+
return /*#__PURE__*/React.createElement(ResourceDeleteComponent, {
|
1178
2335
|
itemId: id,
|
1179
2336
|
resource: resource
|
1180
2337
|
});
|
1181
|
-
})].concat(
|
2338
|
+
})].concat(_toConsumableArray(extraRoutes.map(function (_ref7) {
|
1182
2339
|
var path = _ref7.path,
|
1183
2340
|
component = _ref7.component,
|
1184
|
-
pageProps =
|
2341
|
+
pageProps = _objectWithoutProperties(_ref7, _excluded$1);
|
1185
2342
|
var RouteComponent = componentsManager.getComponent(component);
|
1186
|
-
return RouteComponent !== null ? /*#__PURE__*/
|
2343
|
+
return RouteComponent !== null ? /*#__PURE__*/React.createElement(Route, {
|
1187
2344
|
key: "route-".concat(path),
|
1188
2345
|
path: path
|
1189
2346
|
}, function () {
|
1190
|
-
return /*#__PURE__*/
|
2347
|
+
return /*#__PURE__*/React.createElement(RouteComponent, Object.assign({
|
1191
2348
|
resource: resource
|
1192
2349
|
}, pageProps));
|
1193
2350
|
}) : null;
|
1194
|
-
})), [/*#__PURE__*/
|
2351
|
+
})), [/*#__PURE__*/React.createElement(Route, {
|
1195
2352
|
key: "".concat(resourceId, "-index"),
|
1196
2353
|
path: route('resources.index', {
|
1197
2354
|
resource: resourceId
|
1198
2355
|
})
|
1199
2356
|
}, function () {
|
1200
|
-
return /*#__PURE__*/
|
2357
|
+
return /*#__PURE__*/React.createElement(ResourceIndexComponent, {
|
1201
2358
|
resource: resource
|
1202
2359
|
});
|
1203
2360
|
})]);
|
1204
2361
|
};
|
1205
|
-
var createResourceRoutes$1 = createResourceRoutes;
|
1206
2362
|
|
1207
2363
|
var _excluded = ["home", "login", "account", "error", "index", "show", "create", "edit", "delete"],
|
1208
2364
|
_excluded2 = ["path", "route", "component"];
|
@@ -1215,14 +2371,14 @@ var defaultProps$1 = {
|
|
1215
2371
|
var PanneauRoutes = function PanneauRoutes(_ref) {
|
1216
2372
|
var initialStatusCode = _ref.statusCode;
|
1217
2373
|
var routes = contexts.useRoutes();
|
1218
|
-
var _useLocation =
|
1219
|
-
_useLocation2 =
|
2374
|
+
var _useLocation = useLocation(),
|
2375
|
+
_useLocation2 = _slicedToArray(_useLocation, 1),
|
1220
2376
|
pathname = _useLocation2[0];
|
1221
2377
|
var _useState = React.useState({
|
1222
2378
|
statusCode: initialStatusCode,
|
1223
2379
|
pathname: pathname
|
1224
2380
|
}),
|
1225
|
-
_useState2 =
|
2381
|
+
_useState2 = _slicedToArray(_useState, 2),
|
1226
2382
|
_useState2$ = _useState2[0],
|
1227
2383
|
statusCode = _useState2$.statusCode,
|
1228
2384
|
lastPathname = _useState2$.pathname,
|
@@ -1259,16 +2415,16 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1259
2415
|
_ref2.create;
|
1260
2416
|
_ref2.edit;
|
1261
2417
|
_ref2["delete"];
|
1262
|
-
var otherPages =
|
2418
|
+
var otherPages = _objectWithoutProperties(_ref2, _excluded);
|
1263
2419
|
var customRoutes = React.useMemo(function () {
|
1264
|
-
return [].concat(
|
2420
|
+
return [].concat(_toConsumableArray(Object.keys(routesDefinition).filter(function (key) {
|
1265
2421
|
return key.match(/^(resources\.|auth\.)/) === null && key !== 'home' && key !== 'account';
|
1266
2422
|
}).filter(function (key) {
|
1267
2423
|
var routeDef = routesDefinition[key];
|
1268
|
-
return
|
2424
|
+
return isObject(routeDef) && typeof routeDef.component !== 'undefined' && typeof routeDef.path !== 'undefined';
|
1269
2425
|
}).map(function (key) {
|
1270
2426
|
return routesDefinition[key];
|
1271
|
-
})),
|
2427
|
+
})), _toConsumableArray(Object.keys(otherPages).map(function (key) {
|
1272
2428
|
return otherPages[key];
|
1273
2429
|
}).filter(function (_ref3) {
|
1274
2430
|
var _ref3$path = _ref3.path,
|
@@ -1285,66 +2441,66 @@ var PanneauRoutes = function PanneauRoutes(_ref) {
|
|
1285
2441
|
|
1286
2442
|
// If there is an error status code
|
1287
2443
|
if (statusCode !== null) {
|
1288
|
-
return /*#__PURE__*/
|
2444
|
+
return /*#__PURE__*/React.createElement(ErrorComponent, Object.assign({
|
1289
2445
|
statusCode: statusCode
|
1290
2446
|
}, errorPage));
|
1291
2447
|
}
|
1292
2448
|
|
1293
2449
|
// If user is unauthenticated
|
1294
2450
|
if (user === null) {
|
1295
|
-
return /*#__PURE__*/
|
2451
|
+
return /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {
|
1296
2452
|
path: routes['auth.login']
|
1297
|
-
}, /*#__PURE__*/
|
2453
|
+
}, /*#__PURE__*/React.createElement(LoginComponent, loginPage)), /*#__PURE__*/React.createElement(Route, null, /*#__PURE__*/React.createElement(Redirect, {
|
1298
2454
|
to: "".concat(route('auth.login'), "?next=").concat(encodeURIComponent(pathname))
|
1299
2455
|
})));
|
1300
2456
|
}
|
1301
2457
|
|
1302
2458
|
// Normal routes
|
1303
|
-
return /*#__PURE__*/
|
2459
|
+
return /*#__PURE__*/React.createElement(Switch, null, user !== null ? /*#__PURE__*/React.createElement(Route, {
|
1304
2460
|
path: routes['auth.login']
|
1305
|
-
}, /*#__PURE__*/
|
2461
|
+
}, /*#__PURE__*/React.createElement(Redirect, {
|
1306
2462
|
to: routes.home,
|
1307
2463
|
replace: true
|
1308
2464
|
})) : null, resources.map(function (resource) {
|
1309
2465
|
var _ref4 = resource || {},
|
1310
2466
|
resourceId = _ref4.id;
|
1311
|
-
return /*#__PURE__*/
|
2467
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
1312
2468
|
key: "resource-".concat(resourceId)
|
1313
|
-
}, createResourceRoutes
|
2469
|
+
}, createResourceRoutes(resource, {
|
1314
2470
|
route: route,
|
1315
2471
|
componentsManager: componentsManager,
|
1316
2472
|
pages: pages
|
1317
2473
|
}));
|
1318
|
-
}), /*#__PURE__*/
|
2474
|
+
}), /*#__PURE__*/React.createElement(Route, {
|
1319
2475
|
path: routes.account
|
1320
|
-
}, /*#__PURE__*/
|
2476
|
+
}, /*#__PURE__*/React.createElement(AccountComponent, accountPage)), customRoutes.map(function (_ref5) {
|
1321
2477
|
var _ref5$path = _ref5.path,
|
1322
2478
|
path = _ref5$path === void 0 ? null : _ref5$path,
|
1323
2479
|
_ref5$route = _ref5.route,
|
1324
2480
|
pageRoute = _ref5$route === void 0 ? null : _ref5$route,
|
1325
2481
|
component = _ref5.component,
|
1326
|
-
props =
|
2482
|
+
props = _objectWithoutProperties(_ref5, _excluded2);
|
1327
2483
|
var PageComponent = componentsManager.getComponent(component);
|
1328
2484
|
var finalPath = path || routes[pageRoute];
|
1329
|
-
return PageComponent !== null ? /*#__PURE__*/
|
2485
|
+
return PageComponent !== null ? /*#__PURE__*/React.createElement(Route, {
|
1330
2486
|
key: "custom-route-".concat(finalPath),
|
1331
2487
|
path: path || routes[pageRoute]
|
1332
|
-
}, /*#__PURE__*/
|
1333
|
-
}), /*#__PURE__*/
|
2488
|
+
}, /*#__PURE__*/React.createElement(PageComponent, props)) : null;
|
2489
|
+
}), /*#__PURE__*/React.createElement(Route, {
|
1334
2490
|
path: routes.home
|
1335
|
-
}, /*#__PURE__*/
|
2491
|
+
}, /*#__PURE__*/React.createElement(HomeComponent, homePage)), /*#__PURE__*/React.createElement(Route, null, /*#__PURE__*/React.createElement(ErrorComponent, null)));
|
1336
2492
|
};
|
1337
2493
|
PanneauRoutes.propTypes = propTypes$1;
|
1338
2494
|
PanneauRoutes.defaultProps = defaultProps$1;
|
1339
2495
|
var Routes = PanneauRoutes;
|
1340
2496
|
|
1341
|
-
var pathToRegexpParser =
|
2497
|
+
var pathToRegexpParser = createPathToRegexpParser();
|
1342
2498
|
var propTypes = {
|
1343
2499
|
definition: core.PropTypes.panneauDefinition.isRequired,
|
1344
|
-
components:
|
2500
|
+
components: PropTypes.oneOfType([PropTypes.objectOf(PropTypes.elementType), PropTypes.objectOf(PropTypes.objectOf(PropTypes.elementType))]),
|
1345
2501
|
user: core.PropTypes.user,
|
1346
|
-
memoryRouter:
|
1347
|
-
baseUrl:
|
2502
|
+
memoryRouter: PropTypes.bool,
|
2503
|
+
baseUrl: PropTypes.string,
|
1348
2504
|
uppy: core.PropTypes.uppy,
|
1349
2505
|
statusCode: core.PropTypes.statusCode
|
1350
2506
|
};
|
@@ -1371,7 +2527,7 @@ var Container = function Container(_ref) {
|
|
1371
2527
|
_definition$intl2$loc2 = _definition$intl2.locales,
|
1372
2528
|
locales = _definition$intl2$loc2 === void 0 ? [] : _definition$intl2$loc2,
|
1373
2529
|
_definition$routes = definition.routes,
|
1374
|
-
routes
|
2530
|
+
routes = _definition$routes === void 0 ? {} : _definition$routes,
|
1375
2531
|
_definition$settings = definition.settings,
|
1376
2532
|
_definition$settings2 = _definition$settings === void 0 ? {} : _definition$settings,
|
1377
2533
|
_definition$settings3 = _definition$settings2.memoryRouter,
|
@@ -1384,14 +2540,14 @@ var Container = function Container(_ref) {
|
|
1384
2540
|
messages = _definition$intl4$mes === void 0 ? null : _definition$intl4$mes,
|
1385
2541
|
_definition$resources = definition.resources,
|
1386
2542
|
resources = _definition$resources === void 0 ? [] : _definition$resources;
|
1387
|
-
return
|
2543
|
+
return _objectSpread(_objectSpread({}, messages), resources.reduce(function (allMessages, _ref2) {
|
1388
2544
|
var id = _ref2.id,
|
1389
2545
|
_ref2$intl = _ref2.intl,
|
1390
2546
|
_ref2$intl2 = _ref2$intl === void 0 ? {} : _ref2$intl,
|
1391
2547
|
_ref2$intl2$messages = _ref2$intl2.messages,
|
1392
2548
|
resourceMessages = _ref2$intl2$messages === void 0 ? {} : _ref2$intl2$messages;
|
1393
|
-
return
|
1394
|
-
return
|
2549
|
+
return _objectSpread(_objectSpread({}, allMessages), Object.keys(resourceMessages).reduce(function (allResourceMessages, key) {
|
2550
|
+
return _objectSpread(_objectSpread({}, allResourceMessages), {}, _defineProperty({}, "resources.".concat(id, ".").concat(key), resourceMessages[key]));
|
1395
2551
|
}, {}));
|
1396
2552
|
}, {}));
|
1397
2553
|
}, [definition]);
|
@@ -1401,30 +2557,30 @@ var Container = function Container(_ref) {
|
|
1401
2557
|
var onLogout = React.useCallback(function () {
|
1402
2558
|
window.location.reload();
|
1403
2559
|
}, [baseUrl]);
|
1404
|
-
var _useMemoryRouter =
|
2560
|
+
var _useMemoryRouter = useMemoryRouter(),
|
1405
2561
|
memoryLocationHook = _useMemoryRouter.hook,
|
1406
2562
|
memorySearchHook = _useMemoryRouter.searchHook;
|
1407
|
-
return /*#__PURE__*/
|
2563
|
+
return /*#__PURE__*/React.createElement(Router, {
|
1408
2564
|
hook: isMemoryRouter ? memoryLocationHook : null,
|
1409
2565
|
searchHook: isMemoryRouter ? memorySearchHook : null,
|
1410
2566
|
parser: pathToRegexpParser
|
1411
|
-
}, /*#__PURE__*/
|
2567
|
+
}, /*#__PURE__*/React.createElement(intl.IntlProvider, {
|
1412
2568
|
locale: locale,
|
1413
2569
|
locales: locales,
|
1414
2570
|
extraMessages: extraMessages
|
1415
|
-
}, /*#__PURE__*/
|
2571
|
+
}, /*#__PURE__*/React.createElement(contexts.PanneauProvider, {
|
1416
2572
|
definition: definition
|
1417
|
-
}, /*#__PURE__*/
|
1418
|
-
routes: routes
|
1419
|
-
}, /*#__PURE__*/
|
2573
|
+
}, /*#__PURE__*/React.createElement(uppy.UppyProvider, uppy$1, /*#__PURE__*/React.createElement(contexts.RoutesProvider, {
|
2574
|
+
routes: routes
|
2575
|
+
}, /*#__PURE__*/React.createElement(FieldsProvider, null, /*#__PURE__*/React.createElement(FormsProvider, null, /*#__PURE__*/React.createElement(ListsProvider, null, /*#__PURE__*/React.createElement(DisplaysProvider, null, /*#__PURE__*/React.createElement(FiltersProvider, null, /*#__PURE__*/React.createElement(contexts.ModalProvider, null, /*#__PURE__*/React.createElement(ModalsProvider, null, /*#__PURE__*/React.createElement(data.ApiProvider, {
|
1420
2576
|
baseUrl: baseUrl,
|
1421
2577
|
onUnauthorized: onUnauthorized
|
1422
|
-
}, /*#__PURE__*/
|
2578
|
+
}, /*#__PURE__*/React.createElement(auth.AuthProvider, {
|
1423
2579
|
user: user,
|
1424
2580
|
onLogout: onLogout
|
1425
|
-
}, /*#__PURE__*/
|
2581
|
+
}, /*#__PURE__*/React.createElement(contexts.ComponentsProvider, {
|
1426
2582
|
components: components
|
1427
|
-
}, /*#__PURE__*/
|
2583
|
+
}, /*#__PURE__*/React.createElement(Routes, {
|
1428
2584
|
statusCode: statusCode
|
1429
2585
|
}))))))))))))))));
|
1430
2586
|
};
|
@@ -1433,10 +2589,11 @@ Container.defaultProps = defaultProps;
|
|
1433
2589
|
var PanneauContainer = Container;
|
1434
2590
|
|
1435
2591
|
/* eslint-disable react/jsx-props-no-spreading */
|
2592
|
+
// import PropTypes from 'prop-types';
|
1436
2593
|
|
1437
2594
|
// Kept for backward compatibility with exports
|
1438
2595
|
var ResourceFilters = function ResourceFilters(props) {
|
1439
|
-
return /*#__PURE__*/
|
2596
|
+
return /*#__PURE__*/React.createElement(Filters, props);
|
1440
2597
|
};
|
1441
2598
|
var ResourceFilters$1 = ResourceFilters;
|
1442
2599
|
|
@@ -1446,4 +2603,4 @@ exports.PageHeader = PageHeader$1;
|
|
1446
2603
|
exports.ResourceFilters = ResourceFilters$1;
|
1447
2604
|
exports.ResourceForm = ResourceForm;
|
1448
2605
|
exports.ResourceItemsList = ResourceItemsList$1;
|
1449
|
-
exports
|
2606
|
+
exports.default = PanneauContainer;
|