@panneau/core 1.0.1-alpha.0 → 1.0.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/contexts.js +1 -1
  2. package/es/contexts.js +1740 -0
  3. package/es/hooks.js +1116 -0
  4. package/es/index.js +991 -9
  5. package/es/utils.js +329 -1
  6. package/hooks.js +1 -0
  7. package/lib/contexts.js +1871 -0
  8. package/lib/hooks.js +1167 -0
  9. package/lib/index.js +1003 -44
  10. package/lib/utils.js +371 -12
  11. package/package.json +79 -49
  12. package/utils.js +1 -1
  13. package/components.js +0 -1
  14. package/es/components/Button.js +0 -157
  15. package/es/components/ButtonGroup.js +0 -87
  16. package/es/components/Errors.js +0 -33
  17. package/es/components/Label.js +0 -32
  18. package/es/components/Loading.js +0 -56
  19. package/es/components/index.js +0 -6
  20. package/es/contexts/Components.js +0 -52
  21. package/es/contexts/Definition.js +0 -21
  22. package/es/contexts/UrlGenerator.js +0 -33
  23. package/es/contexts/index.js +0 -3
  24. package/es/lib/ComponentsCollection.js +0 -107
  25. package/es/lib/Definition.js +0 -134
  26. package/es/lib/PropTypes.js +0 -75
  27. package/es/lib/Resource.js +0 -93
  28. package/es/lib/ResourceApi.js +0 -139
  29. package/es/lib/UrlGenerator.js +0 -66
  30. package/es/lib/requests.js +0 -165
  31. package/es/lib/useResourceApi.js +0 -19
  32. package/es/lib/utils.js +0 -19
  33. package/es/requests.js +0 -1
  34. package/lib/components/Button.js +0 -182
  35. package/lib/components/ButtonGroup.js +0 -104
  36. package/lib/components/Errors.js +0 -49
  37. package/lib/components/Label.js +0 -47
  38. package/lib/components/Loading.js +0 -70
  39. package/lib/components/index.js +0 -47
  40. package/lib/contexts/Components.js +0 -78
  41. package/lib/contexts/Definition.js +0 -45
  42. package/lib/contexts/UrlGenerator.js +0 -53
  43. package/lib/contexts/index.js +0 -73
  44. package/lib/lib/ComponentsCollection.js +0 -117
  45. package/lib/lib/Definition.js +0 -145
  46. package/lib/lib/PropTypes.js +0 -152
  47. package/lib/lib/Resource.js +0 -104
  48. package/lib/lib/ResourceApi.js +0 -154
  49. package/lib/lib/UrlGenerator.js +0 -76
  50. package/lib/lib/requests.js +0 -206
  51. package/lib/lib/useResourceApi.js +0 -33
  52. package/lib/lib/utils.js +0 -35
  53. package/lib/requests.js +0 -17
  54. package/requests.js +0 -1
  55. package/src/components/Button.jsx +0 -186
  56. package/src/components/ButtonGroup.jsx +0 -98
  57. package/src/components/Errors.jsx +0 -46
  58. package/src/components/Label.jsx +0 -32
  59. package/src/components/Loading.jsx +0 -51
  60. package/src/components/index.js +0 -7
  61. package/src/contexts/Components.jsx +0 -49
  62. package/src/contexts/Definition.jsx +0 -21
  63. package/src/contexts/UrlGenerator.jsx +0 -35
  64. package/src/contexts/index.js +0 -12
  65. package/src/index.js +0 -8
  66. package/src/lib/ComponentsCollection.js +0 -81
  67. package/src/lib/Definition.js +0 -87
  68. package/src/lib/PropTypes.js +0 -117
  69. package/src/lib/Resource.js +0 -65
  70. package/src/lib/ResourceApi.js +0 -114
  71. package/src/lib/UrlGenerator.js +0 -55
  72. package/src/lib/requests.js +0 -120
  73. package/src/lib/useResourceApi.jsx +0 -20
  74. package/src/lib/utils.js +0 -13
  75. package/src/requests.js +0 -1
  76. package/src/styles/components/button-group.scss +0 -10
  77. package/src/styles/components/errors.scss +0 -5
  78. package/src/styles/components/loading.scss +0 -36
  79. package/src/styles/variables.scss +0 -5
  80. package/src/utils.js +0 -1
@@ -0,0 +1,1871 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
+ var React = require('react');
7
+ var PropTypes = require('prop-types');
8
+ var isString = require('lodash/isString');
9
+ var core = require('@panneau/core');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
12
+ var uniqBy = require('lodash/uniqBy');
13
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
14
+ var isObject = require('lodash/isObject');
15
+ var fetch = require('@folklore/fetch');
16
+ var services = require('@folklore/services');
17
+ var reactIntl = require('react-intl');
18
+ var utils = require('@panneau/core/utils');
19
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
20
+ var reactRouter = require('react-router');
21
+ var tracking = require('@folklore/tracking');
22
+ var uuid = require('uuid');
23
+
24
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
+
26
+ function _interopNamespace(e) {
27
+ if (e && e.__esModule) return e;
28
+ var n = Object.create(null);
29
+ if (e) {
30
+ Object.keys(e).forEach(function (k) {
31
+ if (k !== 'default') {
32
+ var d = Object.getOwnPropertyDescriptor(e, k);
33
+ Object.defineProperty(n, k, d.get ? d : {
34
+ enumerable: true,
35
+ get: function () { return e[k]; }
36
+ });
37
+ }
38
+ });
39
+ }
40
+ n["default"] = e;
41
+ return Object.freeze(n);
42
+ }
43
+
44
+ var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
45
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
46
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
47
+ var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
48
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
49
+ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
50
+ var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
51
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
52
+ var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
53
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
54
+
55
+ var MODALS_NAMESPACE = 'modals';
56
+ var FIELDS_NAMESPACE = 'fields';
57
+ var FORMS_NAMESPACE = 'forms';
58
+ var FILTERS_NAMESPACE = 'filters';
59
+ var LISTS_NAMESPACE = 'lists';
60
+ var DISPLAYS_NAMESPACE = 'displays';
61
+ var APP_NAMESPACE = 'app';
62
+ var ComponentsContext = /*#__PURE__*/React__default["default"].createContext(null);
63
+ /**
64
+ * Hooks
65
+ */
66
+
67
+ var useComponentsManager = function useComponentsManager() {
68
+ var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
69
+ var manager = React.useContext(ComponentsContext);
70
+ var finalManager = React.useMemo(function () {
71
+ return namespace !== null ? new core.ComponentsManager(manager.getComponents(namespace)) : manager;
72
+ }, [manager, namespace]);
73
+ return finalManager;
74
+ };
75
+ var useComponents = function useComponents() {
76
+ var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
77
+ var defaultComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
78
+ var manager = useComponentsManager();
79
+ return manager.getComponents(namespace) || defaultComponents;
80
+ };
81
+ var useComponent = function useComponent(name) {
82
+ var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
83
+ var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
84
+
85
+ if (!isString__default["default"](name)) {
86
+ return name || defaultComponent;
87
+ }
88
+
89
+ var manager = useComponentsManager(namespace);
90
+ return React.useMemo(function () {
91
+ return manager.getComponent(name) || defaultComponent;
92
+ }, [manager, name, defaultComponent]);
93
+ };
94
+ /**
95
+ * Fields hooks
96
+ */
97
+
98
+ var useFieldsComponentsManager = function useFieldsComponentsManager() {
99
+ return useComponentsManager(FIELDS_NAMESPACE);
100
+ };
101
+ var useFieldsComponents = function useFieldsComponents() {
102
+ var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
103
+ return useComponents(FIELDS_NAMESPACE, defaultComponents);
104
+ };
105
+ var useFieldComponent = function useFieldComponent(name) {
106
+ var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
107
+ return useComponent(name, defaultComponent, FIELDS_NAMESPACE);
108
+ };
109
+ /**
110
+ * Forms hooks
111
+ */
112
+
113
+ var useFormsComponentsManager = function useFormsComponentsManager() {
114
+ return useComponentsManager(FORMS_NAMESPACE);
115
+ };
116
+ var useFormsComponents = function useFormsComponents() {
117
+ var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
118
+ return useComponents(FORMS_NAMESPACE, defaultComponents);
119
+ };
120
+ var useFormComponent = function useFormComponent(name) {
121
+ var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
122
+ return useComponent(name, defaultComponent, FORMS_NAMESPACE);
123
+ };
124
+ /**
125
+ * Modals hooks
126
+ */
127
+
128
+ var useModalsComponentsManager = function useModalsComponentsManager() {
129
+ return useComponentsManager(MODALS_NAMESPACE);
130
+ };
131
+ var useModalsComponents = function useModalsComponents() {
132
+ var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
133
+ return useComponents(MODALS_NAMESPACE, defaultComponents);
134
+ };
135
+ var useModalComponent = function useModalComponent(name) {
136
+ var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
137
+ return useComponent(name, defaultComponent, MODALS_NAMESPACE);
138
+ };
139
+ /**
140
+ * Filters hooks
141
+ */
142
+
143
+ var useFiltersComponentsManager = function useFiltersComponentsManager() {
144
+ return useComponentsManager(FILTERS_NAMESPACE);
145
+ };
146
+ var useFiltersComponents = function useFiltersComponents() {
147
+ var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
148
+ return useComponents(FILTERS_NAMESPACE, defaultComponents);
149
+ };
150
+ var useFilterComponent = function useFilterComponent(name) {
151
+ var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
152
+ return useComponent(name, defaultComponent, FILTERS_NAMESPACE);
153
+ };
154
+ /**
155
+ * Lists hooks
156
+ */
157
+
158
+ var useListsComponentsManager = function useListsComponentsManager() {
159
+ return useComponentsManager(LISTS_NAMESPACE);
160
+ };
161
+ var useListsComponents = function useListsComponents() {
162
+ var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
163
+ return useComponents(LISTS_NAMESPACE, defaultComponents);
164
+ };
165
+ var useListComponent = function useListComponent(name) {
166
+ var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
167
+ return useComponent(name, defaultComponent, LISTS_NAMESPACE);
168
+ };
169
+ /**
170
+ * Displays hooks
171
+ */
172
+
173
+ var useDisplaysComponentsManager = function useDisplaysComponentsManager() {
174
+ return useComponentsManager(DISPLAYS_NAMESPACE);
175
+ };
176
+ var useDisplaysComponents = function useDisplaysComponents() {
177
+ var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
178
+ return useComponents(DISPLAYS_NAMESPACE, defaultComponents);
179
+ };
180
+ var useDisplayComponent = function useDisplayComponent(name) {
181
+ var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
182
+ return useComponent(name, defaultComponent, DISPLAYS_NAMESPACE);
183
+ };
184
+ /**
185
+ * App hooks
186
+ */
187
+
188
+ var useAppComponentsManager = function useAppComponentsManager() {
189
+ return useComponentsManager(APP_NAMESPACE);
190
+ };
191
+ var useAppComponents = function useAppComponents() {
192
+ var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
193
+ return useComponents(APP_NAMESPACE, defaultComponents);
194
+ };
195
+ var useAppComponent = function useAppComponent(name) {
196
+ var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
197
+ return useComponent(name, defaultComponent, APP_NAMESPACE);
198
+ };
199
+ /**
200
+ * Provider
201
+ */
202
+
203
+ var propTypes$f = {
204
+ children: PropTypes__default["default"].node.isRequired,
205
+ namespace: PropTypes__default["default"].string,
206
+ manager: PropTypes__default["default"].instanceOf(core.ComponentsManager),
207
+ components: PropTypes__default["default"].objectOf(PropTypes__default["default"].oneOfType([PropTypes__default["default"].object, PropTypes__default["default"].func]))
208
+ };
209
+ var defaultProps$f = {
210
+ namespace: null,
211
+ components: {},
212
+ manager: null
213
+ };
214
+ var ComponentsProvider = function ComponentsProvider(_ref) {
215
+ var components = _ref.components,
216
+ manager = _ref.manager,
217
+ namespace = _ref.namespace,
218
+ children = _ref.children;
219
+ var previousManager = useComponentsManager() || null;
220
+ var finalManager = React.useMemo(function () {
221
+ return new core.ComponentsManager(_objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, previousManager !== null ? previousManager.getComponents() : null), manager !== null ? manager.getComponents() : null), new core.ComponentsManager(components).addNamespace(namespace).getComponents()));
222
+ }, [previousManager, manager, components, namespace]);
223
+ return /*#__PURE__*/React__default["default"].createElement(ComponentsContext.Provider, {
224
+ value: finalManager
225
+ }, children);
226
+ };
227
+ ComponentsProvider.propTypes = propTypes$f;
228
+ ComponentsProvider.defaultProps = defaultProps$f;
229
+
230
+ var message = PropTypes__default["default"].shape({
231
+ id: PropTypes__default["default"].string.isRequired,
232
+ defaultMessage: PropTypes__default["default"].string
233
+ });
234
+ var label = PropTypes__default["default"].oneOfType([message, PropTypes__default["default"].node]);
235
+ PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]);
236
+ /**
237
+ * Core
238
+ */
239
+
240
+ var menuItem = PropTypes__default["default"].shape({
241
+ id: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
242
+ label: label,
243
+ url: PropTypes__default["default"].string,
244
+ external: PropTypes__default["default"].bool,
245
+ active: PropTypes__default["default"].bool
246
+ });
247
+ PropTypes__default["default"].arrayOf(menuItem);
248
+ var button = PropTypes__default["default"].shape({
249
+ id: PropTypes__default["default"].string,
250
+ label: label,
251
+ onClick: PropTypes__default["default"].func
252
+ });
253
+ PropTypes__default["default"].arrayOf(button);
254
+ PropTypes__default["default"].oneOf(['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark', null]);
255
+ PropTypes__default["default"].oneOf(['lg', 'sm', null]);
256
+ PropTypes__default["default"].oneOf(['button', 'submit']);
257
+ PropTypes__default["default"].oneOf(['start', 'end']);
258
+ PropTypes__default["default"].oneOf(['lg', 'sm', null]);
259
+ PropTypes__default["default"].oneOf(['loading', 'success', 'error', null]);
260
+ var fieldOption = PropTypes__default["default"].shape({
261
+ value: PropTypes__default["default"].string,
262
+ label: PropTypes__default["default"].string
263
+ });
264
+ PropTypes__default["default"].arrayOf(fieldOption);
265
+ var toggle = PropTypes__default["default"].shape({
266
+ key: PropTypes__default["default"].string,
267
+ label: PropTypes__default["default"].string
268
+ });
269
+ PropTypes__default["default"].arrayOf(toggle);
270
+ var tableColumn = PropTypes__default["default"].shape({
271
+ id: PropTypes__default["default"].string,
272
+ component: PropTypes__default["default"].string,
273
+ path: PropTypes__default["default"].string,
274
+ field: PropTypes__default["default"].string,
275
+ columnClassName: PropTypes__default["default"].string
276
+ });
277
+ PropTypes__default["default"].arrayOf(tableColumn);
278
+ /**
279
+ * Panneau Definitions
280
+ */
281
+
282
+ var routes = PropTypes__default["default"].shape({
283
+ 'resources.index': PropTypes__default["default"].string.isRequired,
284
+ 'resources.create': PropTypes__default["default"].string.isRequired,
285
+ 'resources.store': PropTypes__default["default"].string.isRequired,
286
+ 'resources.show': PropTypes__default["default"].string.isRequired,
287
+ 'resources.edit': PropTypes__default["default"].string.isRequired,
288
+ 'resources.update': PropTypes__default["default"].string.isRequired,
289
+ 'resources.delete': PropTypes__default["default"].string.isRequired,
290
+ 'resources.destroy': PropTypes__default["default"].string.isRequired
291
+ });
292
+ var intl = PropTypes__default["default"].shape({
293
+ locale: PropTypes__default["default"].string,
294
+ messages: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
295
+ values: PropTypes__default["default"].objectOf(PropTypes__default["default"].string)
296
+ });
297
+ var page = PropTypes__default["default"].shape({
298
+ component: PropTypes__default["default"].string.isRequired
299
+ });
300
+ var pages = PropTypes__default["default"].objectOf(page);
301
+ var field = PropTypes__default["default"].shape({
302
+ name: PropTypes__default["default"].string.isRequired,
303
+ type: PropTypes__default["default"].string,
304
+ component: PropTypes__default["default"].string,
305
+ label: PropTypes__default["default"].node
306
+ });
307
+ var fields = PropTypes__default["default"].arrayOf(field);
308
+ var form = PropTypes__default["default"].shape({
309
+ // type: PropTypes.string.isRequired,
310
+ title: PropTypes__default["default"].isRequired,
311
+ fields: fields
312
+ });
313
+ PropTypes__default["default"].arrayOf(form);
314
+ var resource = PropTypes__default["default"].shape({
315
+ id: PropTypes__default["default"].string.isRequired,
316
+ name: PropTypes__default["default"].string.isRequired,
317
+ intl: intl,
318
+ fields: fields,
319
+ forms: PropTypes__default["default"].shape({}),
320
+ shows_in_navbar: PropTypes__default["default"].bool
321
+ });
322
+ var resources = PropTypes__default["default"].arrayOf(resource);
323
+ var panneauDefinition = PropTypes__default["default"].shape({
324
+ name: PropTypes__default["default"].string,
325
+ resources: resources,
326
+ routes: routes,
327
+ pages: pages,
328
+ intl: intl // intl,
329
+
330
+ });
331
+ var definition = PropTypes__default["default"].shape({
332
+ name: PropTypes__default["default"].string // resources,
333
+ // routes,
334
+ // intl,
335
+
336
+ });
337
+ var item = PropTypes__default["default"].shape({
338
+ id: PropTypes__default["default"].string.isRequired
339
+ });
340
+ PropTypes__default["default"].arrayOf(item);
341
+ var user = PropTypes__default["default"].shape({
342
+ id: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string])
343
+ });
344
+ PropTypes__default["default"].arrayOf(user);
345
+ var selectOption = PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].shape({
346
+ value: PropTypes__default["default"].any,
347
+ // eslint-disable-line
348
+ label: label
349
+ })]);
350
+ PropTypes__default["default"].arrayOf(selectOption);
351
+ PropTypes__default["default"].oneOf(['valid', 'invalid', 'loading', null]);
352
+ var formError = PropTypes__default["default"].shape({
353
+ message: PropTypes__default["default"].string
354
+ });
355
+ PropTypes__default["default"].arrayOf(formError);
356
+ PropTypes__default["default"].shape({
357
+ tus: PropTypes__default["default"].object
358
+ }); // eslint-disable-line
359
+
360
+ PropTypes__default["default"].string;
361
+
362
+ /* eslint-disable react/jsx-props-no-spreading */
363
+ var DefinitionContext = /*#__PURE__*/React__default["default"].createContext(null);
364
+ var useDefinitionContext = function useDefinitionContext() {
365
+ return React.useContext(DefinitionContext);
366
+ };
367
+ var useDefinition = function useDefinition() {
368
+ var _useDefinitionContext = useDefinitionContext(),
369
+ _useDefinitionContext2 = _useDefinitionContext.definition,
370
+ definition = _useDefinitionContext2 === void 0 ? null : _useDefinitionContext2;
371
+
372
+ return definition;
373
+ };
374
+ var propTypes$e = {
375
+ definition: definition.isRequired,
376
+ children: PropTypes__default["default"].node.isRequired
377
+ };
378
+ var defaultProps$e = {};
379
+ var DefinitionProvider = function DefinitionProvider(_ref) {
380
+ var definition = _ref.definition,
381
+ children = _ref.children;
382
+ return /*#__PURE__*/React__default["default"].createElement(DefinitionContext.Provider, {
383
+ value: definition
384
+ }, children);
385
+ };
386
+ DefinitionProvider.propTypes = propTypes$e;
387
+ DefinitionProvider.defaultProps = defaultProps$e;
388
+
389
+ var FieldsContext = /*#__PURE__*/React__default["default"].createContext(null);
390
+ var useFieldsManager = function useFieldsManager() {
391
+ return React.useContext(FieldsContext);
392
+ };
393
+ var useField = function useField(id) {
394
+ var manager = useFieldsManager();
395
+ return manager.getDefinition(id);
396
+ };
397
+ var useFields = function useFields() {
398
+ var manager = useFieldsManager();
399
+ return manager.getDefinitions();
400
+ };
401
+ var propTypes$d = {
402
+ fields: core.PropTypes.fields,
403
+ manager: PropTypes__default["default"].instanceOf(core.FieldsManager),
404
+ children: PropTypes__default["default"].node.isRequired
405
+ };
406
+ var defaultProps$d = {
407
+ fields: null,
408
+ manager: null
409
+ };
410
+ var FieldsProvider = function FieldsProvider(_ref) {
411
+ var fields = _ref.fields,
412
+ manager = _ref.manager,
413
+ children = _ref.children;
414
+ var previousManager = useFieldsManager() || null;
415
+ var finalManager = React.useMemo(function () {
416
+ var newFields = uniqBy__default["default"]([].concat(_toConsumableArray__default["default"](fields || []), _toConsumableArray__default["default"](manager !== null ? manager.getDefinitions() : []), _toConsumableArray__default["default"](previousManager !== null ? previousManager.getDefinitions() : [])), function (_ref2) {
417
+ var id = _ref2.id;
418
+ return id;
419
+ }).reverse();
420
+ return new core.FieldsManager(newFields);
421
+ }, [previousManager, manager, fields]);
422
+ var components = React.useMemo(function () {
423
+ var newComponents = finalManager.getComponents();
424
+ return Object.keys(newComponents).reduce(function (map, id) {
425
+ var component = newComponents[id];
426
+ return isString__default["default"](component) ? map : _objectSpread__default["default"](_objectSpread__default["default"]({}, map), {}, _defineProperty__default["default"]({}, id, component));
427
+ }, {});
428
+ }, [finalManager]);
429
+ return /*#__PURE__*/React__default["default"].createElement(FieldsContext.Provider, {
430
+ value: finalManager
431
+ }, /*#__PURE__*/React__default["default"].createElement(ComponentsProvider, {
432
+ namespace: FIELDS_NAMESPACE,
433
+ components: components
434
+ }, children));
435
+ };
436
+ FieldsProvider.propTypes = propTypes$d;
437
+ FieldsProvider.defaultProps = defaultProps$d;
438
+
439
+ /* eslint-disable react/jsx-props-no-spreading */
440
+ var GoogleKeysContext = /*#__PURE__*/React__default["default"].createContext({
441
+ apiKey: null
442
+ });
443
+ var useGoogleKeys = function useGoogleKeys() {
444
+ return React.useContext(GoogleKeysContext);
445
+ };
446
+ var propTypes$c = {
447
+ children: PropTypes__default["default"].node.isRequired,
448
+ apiKey: PropTypes__default["default"].string // .isRequired,
449
+
450
+ };
451
+ var defaultProps$c = {
452
+ apiKey: null
453
+ };
454
+ var GoogleKeysProvider = function GoogleKeysProvider(_ref) {
455
+ var children = _ref.children,
456
+ apiKey = _ref.apiKey;
457
+
458
+ var _useGoogleKeys = useGoogleKeys(),
459
+ previousApiKey = _useGoogleKeys.apiKey;
460
+
461
+ return /*#__PURE__*/React__default["default"].createElement(GoogleKeysContext.Provider, {
462
+ value: {
463
+ apiKey: apiKey || previousApiKey
464
+ }
465
+ }, children);
466
+ };
467
+ GoogleKeysProvider.propTypes = propTypes$c;
468
+ GoogleKeysProvider.defaultProps = defaultProps$c;
469
+
470
+ var FontsContext = /*#__PURE__*/React__default["default"].createContext({
471
+ systemFonts: null,
472
+ googleFonts: null,
473
+ customFonts: null
474
+ });
475
+ var useGoogleFonts = function useGoogleFonts() {
476
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
477
+ _ref$disabled = _ref.disabled,
478
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
479
+ _ref$setFonts = _ref.setFonts,
480
+ setFonts = _ref$setFonts === void 0 ? null : _ref$setFonts;
481
+
482
+ var _useGoogleKeys = useGoogleKeys(),
483
+ apiKey = _useGoogleKeys.apiKey;
484
+
485
+ var _useState = React.useState(null),
486
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
487
+ googleFonts = _useState2[0],
488
+ setGoogleFonts = _useState2[1];
489
+
490
+ React.useEffect(function () {
491
+ var canceled = false;
492
+
493
+ if (apiKey !== null && !disabled) {
494
+ fetch.getJSON("https://www.googleapis.com/webfonts/v1/webfonts?key=".concat(apiKey, "&sort=popularity")).then(function (_ref2) {
495
+ var _ref2$items = _ref2.items,
496
+ items = _ref2$items === void 0 ? [] : _ref2$items;
497
+
498
+ if (!canceled) {
499
+ var newFonts = items.map(function (it) {
500
+ return {
501
+ type: 'google',
502
+ name: it.family,
503
+ variants: it.variants
504
+ };
505
+ });
506
+
507
+ if (setFonts !== null) {
508
+ setFonts(newFonts);
509
+ } else {
510
+ setGoogleFonts(newFonts);
511
+ }
512
+ }
513
+ });
514
+ }
515
+
516
+ return function () {
517
+ canceled = true;
518
+ };
519
+ }, [apiKey, disabled, setFonts, setGoogleFonts]);
520
+ return googleFonts;
521
+ };
522
+ var useFonts = function useFonts() {
523
+ var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
524
+ _ref3$withoutGoogleFo = _ref3.withoutGoogleFonts,
525
+ withoutGoogleFonts = _ref3$withoutGoogleFo === void 0 ? false : _ref3$withoutGoogleFo;
526
+
527
+ var _useContext = React.useContext(FontsContext),
528
+ _useContext$setGoogle = _useContext.setGoogleFonts,
529
+ setGoogleFonts = _useContext$setGoogle === void 0 ? null : _useContext$setGoogle,
530
+ _useContext$systemFon = _useContext.systemFonts,
531
+ systemFonts = _useContext$systemFon === void 0 ? null : _useContext$systemFon,
532
+ _useContext$googleFon = _useContext.googleFonts,
533
+ googleFonts = _useContext$googleFon === void 0 ? null : _useContext$googleFon,
534
+ _useContext$customFon = _useContext.customFonts,
535
+ customFonts = _useContext$customFon === void 0 ? null : _useContext$customFon;
536
+
537
+ useGoogleFonts({
538
+ disabled: withoutGoogleFonts || googleFonts !== null && googleFonts.length > 0,
539
+ setFonts: setGoogleFonts
540
+ });
541
+ var fonts = React.useMemo(function () {
542
+ return {
543
+ systemFonts: systemFonts,
544
+ googleFonts: googleFonts,
545
+ customFonts: customFonts
546
+ };
547
+ }, [systemFonts, googleFonts, customFonts]);
548
+ return fonts;
549
+ };
550
+ var propTypes$b = {
551
+ children: PropTypes__default["default"].node.isRequired,
552
+ systemFonts: core.PropTypes.fonts,
553
+ customFonts: core.PropTypes.fonts
554
+ };
555
+ var defaultProps$b = {
556
+ systemFonts: ['Arial', 'Courier', 'Georgia', 'Times New Roman', 'Verdana'],
557
+ customFonts: null
558
+ };
559
+ var FontsProvider = function FontsProvider(_ref4) {
560
+ var systemFonts = _ref4.systemFonts,
561
+ customFonts = _ref4.customFonts,
562
+ children = _ref4.children;
563
+
564
+ var _useFonts = useFonts(),
565
+ _useFonts$systemFonts = _useFonts.systemFonts,
566
+ previousSystemFonts = _useFonts$systemFonts === void 0 ? null : _useFonts$systemFonts,
567
+ _useFonts$googleFonts = _useFonts.googleFonts,
568
+ previousGoogleFonts = _useFonts$googleFonts === void 0 ? null : _useFonts$googleFonts,
569
+ previousCustomFonts = _useFonts.customFonts;
570
+
571
+ var _useState3 = React.useState(null),
572
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
573
+ googleFonts = _useState4[0],
574
+ setGoogleFonts = _useState4[1];
575
+
576
+ var fonts = React.useMemo(function () {
577
+ return {
578
+ systemFonts: uniqBy__default["default"]([].concat(_toConsumableArray__default["default"](previousSystemFonts || []), _toConsumableArray__default["default"](systemFonts || [])), function (font) {
579
+ return isObject__default["default"](font) ? font.name : font;
580
+ }),
581
+ googleFonts: uniqBy__default["default"]([].concat(_toConsumableArray__default["default"](previousGoogleFonts || []), _toConsumableArray__default["default"](googleFonts || [])), function (font) {
582
+ return isObject__default["default"](font) ? font.name : font;
583
+ }),
584
+ customFonts: uniqBy__default["default"]([].concat(_toConsumableArray__default["default"](previousCustomFonts || []), _toConsumableArray__default["default"](customFonts || [])), function (font) {
585
+ return isObject__default["default"](font) ? font.name : font;
586
+ }),
587
+ setGoogleFonts: setGoogleFonts
588
+ };
589
+ }, [previousSystemFonts, previousGoogleFonts, previousCustomFonts, customFonts, systemFonts, googleFonts, setGoogleFonts]);
590
+ return /*#__PURE__*/React__default["default"].createElement(FontsContext.Provider, {
591
+ value: fonts
592
+ }, children);
593
+ };
594
+ FontsProvider.propTypes = propTypes$b;
595
+ FontsProvider.defaultProps = defaultProps$b;
596
+
597
+ /* eslint-disable react/jsx-props-no-spreading */
598
+ var FormContext = /*#__PURE__*/React__default["default"].createContext(null);
599
+ var useForm = function useForm() {
600
+ return React.useContext(FormContext);
601
+ };
602
+ var useFormValue = function useFormValue() {
603
+ var _useForm = useForm(),
604
+ value = _useForm.value;
605
+
606
+ return value;
607
+ };
608
+ var useFormSetValue = function useFormSetValue() {
609
+ var _useForm2 = useForm(),
610
+ setValue = _useForm2.setValue;
611
+
612
+ return setValue;
613
+ };
614
+ var propTypes$a = {
615
+ value: PropTypes__default["default"].object.isRequired,
616
+ // eslint-disable-line react/forbid-prop-types
617
+ setValue: PropTypes__default["default"].func.isRequired,
618
+ children: PropTypes__default["default"].node.isRequired
619
+ };
620
+ var defaultProps$a = {};
621
+ var FormProvider = function FormProvider(_ref) {
622
+ var value = _ref.value,
623
+ setValue = _ref.setValue,
624
+ children = _ref.children;
625
+ return /*#__PURE__*/React__default["default"].createElement(FormContext.Provider, {
626
+ value: {
627
+ value: value,
628
+ setValue: setValue
629
+ }
630
+ }, children);
631
+ };
632
+ FormProvider.propTypes = propTypes$a;
633
+ FormProvider.defaultProps = defaultProps$a;
634
+
635
+ var GoogleApiClientContext = /*#__PURE__*/React__default["default"].createContext(null);
636
+ var useGoogleApiClient = function useGoogleApiClient() {
637
+ return React.useContext(GoogleApiClientContext);
638
+ };
639
+ var withGoogleApiClient = function withGoogleApiClient(WrappedComponent) {
640
+ var getDisplayName = function getDisplayName(_ref) {
641
+ var _ref$displayName = _ref.displayName,
642
+ displayName = _ref$displayName === void 0 ? null : _ref$displayName,
643
+ _ref$name = _ref.name,
644
+ name = _ref$name === void 0 ? null : _ref$name;
645
+ return displayName || name || 'Component';
646
+ };
647
+
648
+ var WithGoogleApiClientComponent = function WithGoogleApiClientComponent(props) {
649
+ return /*#__PURE__*/React__default["default"].createElement(GoogleApiClientContext.Consumer, null, function (client) {
650
+ return /*#__PURE__*/React__default["default"].createElement(WrappedComponent, Object.assign({
651
+ googleApiClient: client
652
+ }, props));
653
+ });
654
+ };
655
+
656
+ WithGoogleApiClientComponent.displayName = "WithGoogleApiClient(".concat(getDisplayName(WrappedComponent), ")");
657
+ return WithGoogleApiClientComponent;
658
+ };
659
+ var propTypes$9 = {
660
+ children: PropTypes__default["default"].node.isRequired
661
+ };
662
+ var defaultProps$9 = {};
663
+ var GoogleApiClientProvider = function GoogleApiClientProvider(_ref2) {
664
+ var children = _ref2.children;
665
+
666
+ var _useGoogleKeys = useGoogleKeys(),
667
+ apiKey = _useGoogleKeys.apiKey;
668
+
669
+ var _useState = React.useState(null),
670
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
671
+ client = _useState2[0],
672
+ setClient = _useState2[1];
673
+
674
+ React.useEffect(function () {
675
+ services.loadGoogleApi().then(function (gapi) {
676
+ return gapi.client.init({
677
+ apiKey: apiKey
678
+ }).then(function () {
679
+ return gapi;
680
+ });
681
+ }).then(function (gapi) {
682
+ return setClient(gapi);
683
+ });
684
+ }, [apiKey, setClient]);
685
+ return /*#__PURE__*/React__default["default"].createElement(GoogleApiClientContext.Provider, {
686
+ value: client
687
+ }, children);
688
+ };
689
+ GoogleApiClientProvider.propTypes = propTypes$9;
690
+ GoogleApiClientProvider.defaultProps = defaultProps$9;
691
+
692
+ var GoogleMapsClientContext = /*#__PURE__*/React__default["default"].createContext(null);
693
+ var useGoogleMapsClient = function useGoogleMapsClient() {
694
+ return React.useContext(GoogleMapsClientContext);
695
+ };
696
+ var withGoogleMapsClient = function withGoogleMapsClient(WrappedComponent) {
697
+ var getDisplayName = function getDisplayName(_ref) {
698
+ var _ref$displayName = _ref.displayName,
699
+ displayName = _ref$displayName === void 0 ? null : _ref$displayName,
700
+ _ref$name = _ref.name,
701
+ name = _ref$name === void 0 ? null : _ref$name;
702
+ return displayName || name || 'Component';
703
+ };
704
+
705
+ var WithGoogleMapsClientComponent = function WithGoogleMapsClientComponent(props) {
706
+ return /*#__PURE__*/React__default["default"].createElement(GoogleMapsClientContext.Consumer, null, function (client) {
707
+ return /*#__PURE__*/React__default["default"].createElement(WrappedComponent, Object.assign({
708
+ googleApiClient: client
709
+ }, props));
710
+ });
711
+ };
712
+
713
+ WithGoogleMapsClientComponent.displayName = "WithGoogleMapsClient(".concat(getDisplayName(WrappedComponent), ")");
714
+ return WithGoogleMapsClientComponent;
715
+ };
716
+ var propTypes$8 = {
717
+ children: PropTypes__default["default"].node.isRequired,
718
+ locale: PropTypes__default["default"].string,
719
+ libraries: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)
720
+ };
721
+ var defaultProps$8 = {
722
+ locale: 'fr',
723
+ libraries: null
724
+ };
725
+ var GoogleMapsClientProvider = function GoogleMapsClientProvider(_ref2) {
726
+ var children = _ref2.children,
727
+ locale = _ref2.locale,
728
+ libraries = _ref2.libraries;
729
+
730
+ var _useGoogleKeys = useGoogleKeys(),
731
+ apiKey = _useGoogleKeys.apiKey;
732
+
733
+ var exisitingClient = useGoogleMapsClient();
734
+
735
+ var _useState = React.useState(exisitingClient),
736
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
737
+ client = _useState2[0],
738
+ setClient = _useState2[1];
739
+
740
+ React.useEffect(function () {
741
+ if (exisitingClient === null) {
742
+ services.loadGoogleMaps({
743
+ apiKey: apiKey,
744
+ locale: locale,
745
+ libraries: libraries
746
+ }).then(function (newClient) {
747
+ setClient(newClient);
748
+ });
749
+ }
750
+ }, [apiKey, locale, libraries, setClient, exisitingClient]);
751
+ return /*#__PURE__*/React__default["default"].createElement(GoogleMapsClientContext.Provider, {
752
+ value: client
753
+ }, children);
754
+ };
755
+ GoogleMapsClientProvider.propTypes = propTypes$8;
756
+ GoogleMapsClientProvider.defaultProps = defaultProps$8;
757
+
758
+ /* eslint-disable react/jsx-props-no-spreading */
759
+ var defaultLocales = ['en', 'fr'];
760
+ var LocalesContext = /*#__PURE__*/React__default["default"].createContext({
761
+ locales: defaultLocales
762
+ });
763
+ var useLocales = function useLocales() {
764
+ var _useContext = React.useContext(LocalesContext),
765
+ locales = _useContext.locales;
766
+
767
+ return locales;
768
+ };
769
+ var useOtherLocales = function useOtherLocales() {
770
+ var _useLocales = useLocales(),
771
+ locales = _useLocales.locales;
772
+
773
+ var _useIntl = reactIntl.useIntl(),
774
+ locale = _useIntl.locale;
775
+
776
+ var otherLocales = React.useMemo(function () {
777
+ return locales.filter(function (it) {
778
+ return it !== locale;
779
+ });
780
+ }, [locales, locale]);
781
+ return otherLocales;
782
+ };
783
+ var propTypes$7 = {
784
+ locales: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
785
+ children: PropTypes__default["default"].node.isRequired
786
+ };
787
+ var defaultProps$7 = {
788
+ locales: []
789
+ };
790
+ var LocalesProvider = function LocalesProvider(_ref) {
791
+ var locales = _ref.locales,
792
+ children = _ref.children;
793
+ return /*#__PURE__*/React__default["default"].createElement(LocalesContext.Provider, {
794
+ value: {
795
+ locales: locales
796
+ }
797
+ }, children);
798
+ };
799
+ LocalesProvider.propTypes = propTypes$7;
800
+ LocalesProvider.defaultProps = defaultProps$7;
801
+
802
+ var ModalsContext = /*#__PURE__*/React__default["default"].createContext({
803
+ container: null
804
+ });
805
+ var useModals = function useModals() {
806
+ return React.useContext(ModalsContext) || {};
807
+ };
808
+ var withModals = function withModals(WrappedComponent) {
809
+ var WithModalsComponent = function WithModalsComponent(props) {
810
+ return /*#__PURE__*/React__default["default"].createElement(ModalsContext.Consumer, null, function (_ref) {
811
+ var modals = _ref.modals,
812
+ container = _ref.container,
813
+ setContainer = _ref.setContainer,
814
+ register = _ref.register,
815
+ unregister = _ref.unregister;
816
+ return /*#__PURE__*/React__default["default"].createElement(WrappedComponent, Object.assign({
817
+ modalsContainer: container,
818
+ setModalsContainer: setContainer,
819
+ modals: modals,
820
+ registerModal: register,
821
+ unregisterModal: unregister
822
+ }, props));
823
+ });
824
+ };
825
+
826
+ WithModalsComponent.displayName = "WithModals(".concat(utils.getDisplayName(WrappedComponent), ")");
827
+ return WithModalsComponent;
828
+ };
829
+ var propTypes$6 = {
830
+ children: PropTypes__default["default"].node.isRequired,
831
+ container: PropTypes__default["default"].object // eslint-disable-line
832
+
833
+ };
834
+ var defaultProps$6 = {
835
+ container: null
836
+ };
837
+ var ModalsProvider = function ModalsProvider(_ref2) {
838
+ var children = _ref2.children,
839
+ initialContainer = _ref2.container;
840
+
841
+ var _useState = React.useState(initialContainer),
842
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
843
+ container = _useState2[0],
844
+ setContainer = _useState2[1];
845
+
846
+ var _useState3 = React.useState([]),
847
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
848
+ modals = _useState4[0],
849
+ setModals = _useState4[1];
850
+
851
+ var modalsRef = React.useRef(modals);
852
+ var register = React.useCallback(function (id) {
853
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
854
+ var currentModals = modalsRef.current;
855
+ var newModals = [].concat(_toConsumableArray__default["default"](currentModals), [_objectSpread__default["default"]({
856
+ id: id
857
+ }, data)]);
858
+ setModals(newModals);
859
+ modalsRef.current = newModals;
860
+ }, [modals, setModals]);
861
+ var unregister = React.useCallback(function (id) {
862
+ var currentModals = modalsRef.current;
863
+ var foundIndex = currentModals.findIndex(function (_ref3) {
864
+ var modalId = _ref3.id;
865
+ return modalId === id;
866
+ });
867
+
868
+ if (foundIndex !== -1) {
869
+ var newModals = currentModals.filter(function (_ref4) {
870
+ var modalId = _ref4.id;
871
+ return modalId !== id;
872
+ });
873
+ setModals(newModals);
874
+ modalsRef.current = newModals;
875
+ }
876
+ }, [modals, setModals]);
877
+ return /*#__PURE__*/React__default["default"].createElement(ModalsContext.Provider, {
878
+ value: {
879
+ modals: modals,
880
+ container: container,
881
+ setContainer: setContainer,
882
+ register: register,
883
+ unregister: unregister
884
+ }
885
+ }, children);
886
+ };
887
+ ModalsProvider.propTypes = propTypes$6;
888
+ ModalsProvider.defaultProps = defaultProps$6;
889
+
890
+ var PanelsContext = /*#__PURE__*/React__default["default"].createContext({
891
+ container: null
892
+ });
893
+ var usePanels = function usePanels() {
894
+ return React.useContext(PanelsContext) || {};
895
+ };
896
+ var withPanels = function withPanels(WrappedComponent) {
897
+ var WithPanelsComponent = function WithPanelsComponent(props) {
898
+ return /*#__PURE__*/React__default["default"].createElement(PanelsContext.Consumer, null, function (_ref) {
899
+ var panels = _ref.panels,
900
+ setContainer = _ref.setContainer,
901
+ container = _ref.container,
902
+ register = _ref.register,
903
+ unregister = _ref.unregister;
904
+ return /*#__PURE__*/React__default["default"].createElement(WrappedComponent, Object.assign({
905
+ panelsContainer: container,
906
+ setPanelsContainer: setContainer,
907
+ panels: panels,
908
+ registerPanel: register,
909
+ unregisterPanel: unregister
910
+ }, props));
911
+ });
912
+ };
913
+
914
+ WithPanelsComponent.displayName = "WithPanels(".concat(utils.getDisplayName(WrappedComponent), ")");
915
+ return WithPanelsComponent;
916
+ };
917
+ var propTypes$5 = {
918
+ children: PropTypes__default["default"].node.isRequired,
919
+ container: PropTypes__default["default"].object // eslint-disable-line
920
+
921
+ };
922
+ var defaultProps$5 = {
923
+ container: null
924
+ };
925
+ var PanelsProvider = function PanelsProvider(_ref2) {
926
+ var children = _ref2.children,
927
+ initialContainer = _ref2.container;
928
+
929
+ var _useState = React.useState(initialContainer),
930
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
931
+ container = _useState2[0],
932
+ setContainer = _useState2[1];
933
+
934
+ var _useState3 = React.useState([]),
935
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
936
+ panels = _useState4[0],
937
+ setPanels = _useState4[1];
938
+
939
+ var panelsRef = React.useRef(panels);
940
+ var register = React.useCallback(function (id) {
941
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
942
+ var currentPanels = panelsRef.current;
943
+ var newPanels = [].concat(_toConsumableArray__default["default"](currentPanels), [_objectSpread__default["default"]({
944
+ id: id
945
+ }, data)]);
946
+ setPanels(newPanels);
947
+ panelsRef.current = newPanels;
948
+ }, [panels, setPanels]);
949
+ var unregister = React.useCallback(function (id) {
950
+ var currentPanels = panelsRef.current;
951
+ var foundIndex = currentPanels.findIndex(function (_ref3) {
952
+ var modalId = _ref3.id;
953
+ return modalId === id;
954
+ });
955
+
956
+ if (foundIndex !== -1) {
957
+ var newPanels = currentPanels.filter(function (_ref4) {
958
+ var modalId = _ref4.id;
959
+ return modalId !== id;
960
+ });
961
+ setPanels(newPanels);
962
+ panelsRef.current = newPanels;
963
+ }
964
+ }, [panels, setPanels]);
965
+ return /*#__PURE__*/React__default["default"].createElement(PanelsContext.Provider, {
966
+ value: {
967
+ panels: panels,
968
+ setContainer: setContainer,
969
+ container: container,
970
+ register: register,
971
+ unregister: unregister
972
+ }
973
+ }, children);
974
+ };
975
+ PanelsProvider.propTypes = propTypes$5;
976
+ PanelsProvider.defaultProps = defaultProps$5;
977
+
978
+ var _excluded$3 = ["component"];
979
+ var PanneauContext = /*#__PURE__*/React__default["default"].createContext(null);
980
+ var usePanneau = function usePanneau() {
981
+ return React.useContext(PanneauContext);
982
+ };
983
+ var usePanneauResources = function usePanneauResources() {
984
+ var _ref = usePanneau() || {},
985
+ _ref$resources = _ref.resources,
986
+ resources = _ref$resources === void 0 ? [] : _ref$resources;
987
+
988
+ return resources;
989
+ };
990
+ var usePanneauResource = function usePanneauResource(id) {
991
+ var resources = usePanneauResources();
992
+ return resources.find(function (it) {
993
+ return it.id === id;
994
+ }) || null;
995
+ };
996
+ var usePanneauColorScheme = function usePanneauColorScheme() {
997
+ var _ref2 = usePanneau() || {},
998
+ _ref2$theme = _ref2.theme,
999
+ theme = _ref2$theme === void 0 ? {} : _ref2$theme;
1000
+
1001
+ var _ref3 = theme || {},
1002
+ _ref3$colorScheme = _ref3.colorScheme,
1003
+ colorScheme = _ref3$colorScheme === void 0 ? 'light' : _ref3$colorScheme;
1004
+
1005
+ return colorScheme === 'dark' ? {
1006
+ background: 'dark',
1007
+ text: 'light'
1008
+ } : {
1009
+ background: 'light',
1010
+ text: 'dark'
1011
+ };
1012
+ };
1013
+ var usePanneauComponents = function usePanneauComponents() {
1014
+ var _ref4 = usePanneau() || {},
1015
+ _ref4$components = _ref4.components,
1016
+ components = _ref4$components === void 0 ? {} : _ref4$components;
1017
+
1018
+ return components;
1019
+ };
1020
+ var usePanneauComponent = function usePanneauComponent(namespace, name) {
1021
+ var _ref5 = usePanneau() || {},
1022
+ _ref5$components = _ref5.components,
1023
+ components = _ref5$components === void 0 ? {} : _ref5$components;
1024
+
1025
+ var path = namespace !== null ? "".concat(namespace, ".").concat(name) : name || null;
1026
+ var component = components[path] || null;
1027
+
1028
+ if (isString__default["default"](component)) {
1029
+ return component;
1030
+ }
1031
+
1032
+ if (isObject__default["default"](component) && isString__default["default"](component === null || component === void 0 ? void 0 : component.componnent)) {
1033
+ // eslint-disable-next-line no-unused-vars
1034
+ component.component;
1035
+ _objectWithoutProperties__default["default"](component, _excluded$3);
1036
+
1037
+ return component.component;
1038
+ }
1039
+
1040
+ return null;
1041
+ };
1042
+ var usePanneauAuth = function usePanneauAuth() {
1043
+ var _ref6 = usePanneau() || {},
1044
+ _ref6$auth = _ref6.auth,
1045
+ auth = _ref6$auth === void 0 ? {} : _ref6$auth;
1046
+
1047
+ return auth;
1048
+ };
1049
+ var usePanneauSettings = function usePanneauSettings() {
1050
+ var _ref7 = usePanneau() || {},
1051
+ _ref7$settings = _ref7.settings,
1052
+ settings = _ref7$settings === void 0 ? {} : _ref7$settings;
1053
+
1054
+ return settings;
1055
+ };
1056
+ var propTypes$4 = {
1057
+ definition: panneauDefinition.isRequired,
1058
+ children: PropTypes__default["default"].node.isRequired
1059
+ };
1060
+ var defaultProps$4 = {};
1061
+ var PanneauProvider = function PanneauProvider(_ref8) {
1062
+ var definition = _ref8.definition,
1063
+ children = _ref8.children;
1064
+ return /*#__PURE__*/React__default["default"].createElement(PanneauContext.Provider, {
1065
+ value: definition
1066
+ }, children);
1067
+ };
1068
+ PanneauProvider.propTypes = propTypes$4;
1069
+ PanneauProvider.defaultProps = defaultProps$4;
1070
+
1071
+ /* eslint-disable react/jsx-props-no-spreading */
1072
+ var ResourceContext = /*#__PURE__*/React__default["default"].createContext(null);
1073
+ var useResource = function useResource() {
1074
+ return React.useContext(ResourceContext);
1075
+ };
1076
+ var propTypes$3 = {
1077
+ resource: resource.isRequired,
1078
+ children: PropTypes__default["default"].node.isRequired
1079
+ };
1080
+ var defaultProps$3 = {};
1081
+ var ResourceProvider = function ResourceProvider(_ref) {
1082
+ var resource = _ref.resource,
1083
+ children = _ref.children;
1084
+ return /*#__PURE__*/React__default["default"].createElement(ResourceContext.Provider, {
1085
+ value: resource
1086
+ }, children);
1087
+ };
1088
+ ResourceProvider.propTypes = propTypes$3;
1089
+ ResourceProvider.defaultProps = defaultProps$3;
1090
+
1091
+ /* eslint-disable react/jsx-props-no-spreading */
1092
+ var RoutesContext = /*#__PURE__*/React__default["default"].createContext(null);
1093
+ var useRoutes = function useRoutes() {
1094
+ var _useContext = React.useContext(RoutesContext),
1095
+ routes = _useContext.routes;
1096
+
1097
+ return routes;
1098
+ };
1099
+ var useUrlGenerator = function useUrlGenerator() {
1100
+ var _useContext2 = React.useContext(RoutesContext),
1101
+ routes = _useContext2.routes,
1102
+ basePath = _useContext2.basePath;
1103
+
1104
+ var urlGenerator = React.useCallback(function (key, data) {
1105
+ var url = reactRouter.generatePath(routes[key], data); // console.log('urlGenerator', basePath, routes[key], url, data);
1106
+
1107
+ return basePath !== null ? "".concat(basePath.replace(/\/$/, ''), "/").concat(url.replace(/^\//, '')) : url;
1108
+ }, [reactRouter.generatePath, routes, basePath]);
1109
+ return urlGenerator;
1110
+ };
1111
+ var useRoutePush = function useRoutePush() {
1112
+ var url = useUrlGenerator();
1113
+ var navigate = reactRouter.useNavigate();
1114
+ var push = React.useCallback(function (route, data) {
1115
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
1116
+ args[_key - 2] = arguments[_key];
1117
+ }
1118
+
1119
+ if (isString__default["default"](route)) {
1120
+ var _history;
1121
+
1122
+ (_history = history).push.apply(_history, [url(route, data)].concat(args));
1123
+ } else {
1124
+ var _ref = route || {},
1125
+ _ref$pathname = _ref.pathname,
1126
+ pathname = _ref$pathname === void 0 ? null : _ref$pathname,
1127
+ _ref$search = _ref.search,
1128
+ search = _ref$search === void 0 ? null : _ref$search;
1129
+
1130
+ navigate.apply(void 0, [{
1131
+ pathname: url(pathname, data),
1132
+ search: search
1133
+ }].concat(args));
1134
+ }
1135
+ }, [navigate, url]);
1136
+ return push;
1137
+ };
1138
+ var useRouteBack = function useRouteBack() {
1139
+ var url = useUrlGenerator();
1140
+ var navigate = reactRouter.useNavigate();
1141
+ var back = React.useCallback(function () {
1142
+ return navigate(-1);
1143
+ }, [navigate, url]);
1144
+ return back;
1145
+ };
1146
+ var propTypes$2 = {
1147
+ children: PropTypes__default["default"].node.isRequired,
1148
+ routes: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
1149
+ // .isRequired,
1150
+ basePath: PropTypes__default["default"].string
1151
+ };
1152
+ var defaultProps$2 = {
1153
+ routes: null,
1154
+ basePath: null
1155
+ };
1156
+ var RoutesProvider = function RoutesProvider(_ref2) {
1157
+ var routes = _ref2.routes,
1158
+ basePath = _ref2.basePath,
1159
+ children = _ref2.children;
1160
+ return /*#__PURE__*/React__default["default"].createElement(RoutesContext.Provider, {
1161
+ value: {
1162
+ routes: routes,
1163
+ basePath: basePath
1164
+ }
1165
+ }, children);
1166
+ };
1167
+ RoutesProvider.propTypes = propTypes$2;
1168
+ RoutesProvider.defaultProps = defaultProps$2;
1169
+
1170
+ /* eslint-disable react/jsx-props-no-spreading */
1171
+ var useTracking = function useTracking() {
1172
+ return React.useContext(tracking.TrackingContext);
1173
+ };
1174
+ var propTypes$1 = {
1175
+ children: PropTypes__default["default"].node.isRequired,
1176
+ variables: core.PropTypes.trackingVariables
1177
+ };
1178
+ var defaultProps$1 = {
1179
+ variables: null
1180
+ };
1181
+ var TrackingProvider = function TrackingProvider(_ref) {
1182
+ var variables = _ref.variables,
1183
+ children = _ref.children;
1184
+ var contextTracking = useTracking() || null;
1185
+ var tracking$1 = React.useMemo(function () {
1186
+ if (contextTracking !== null) {
1187
+ contextTracking.setVariables(variables);
1188
+ return contextTracking;
1189
+ }
1190
+
1191
+ return new core.Tracking({
1192
+ variables: variables
1193
+ });
1194
+ }, [contextTracking, variables]);
1195
+ return /*#__PURE__*/React__default["default"].createElement(tracking.TrackingContainer, {
1196
+ tracking: tracking$1
1197
+ }, children);
1198
+ };
1199
+ TrackingProvider.propTypes = propTypes$1;
1200
+ TrackingProvider.defaultProps = defaultProps$1;
1201
+
1202
+ /**
1203
+ * Locale loader
1204
+ */
1205
+
1206
+ var packageCache = null;
1207
+
1208
+ var useUppyCore = function useUppyCore() {
1209
+ // transport
1210
+ var _useState = React.useState({
1211
+ "package": packageCache
1212
+ }),
1213
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
1214
+ loadedPackage = _useState2[0]["package"],
1215
+ setLoadedPackage = _useState2[1];
1216
+
1217
+ React.useEffect(function () {
1218
+ var canceled = false;
1219
+
1220
+ if (loadedPackage !== null) {
1221
+ return function () {
1222
+ canceled = true;
1223
+ };
1224
+ }
1225
+
1226
+ Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/core')); }).then(function (_ref) {
1227
+ var Uppy = _ref["default"];
1228
+ packageCache = Uppy;
1229
+
1230
+ if (!canceled) {
1231
+ setLoadedPackage({
1232
+ "package": Uppy
1233
+ });
1234
+ }
1235
+ });
1236
+ return function () {
1237
+ canceled = true;
1238
+ };
1239
+ }, [loadedPackage, setLoadedPackage]);
1240
+ return loadedPackage;
1241
+ };
1242
+
1243
+ /**
1244
+ * Locale loader
1245
+ */
1246
+
1247
+ var packagesCache$2 = {};
1248
+ var defaultPackagesMap$2 = {
1249
+ fr: function fr() {
1250
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/locales/lib/fr_FR')); });
1251
+ },
1252
+ en: function en() {
1253
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/locales/lib/en_US')); });
1254
+ }
1255
+ };
1256
+
1257
+ var useUppyLocale = function useUppyLocale(locale) {
1258
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1259
+ _ref$packagesMap = _ref.packagesMap,
1260
+ packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$2 : _ref$packagesMap;
1261
+
1262
+ var _useState = React.useState({
1263
+ "package": packagesCache$2[locale] || null
1264
+ }),
1265
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
1266
+ loadedPackage = _useState2[0]["package"],
1267
+ setLoadedPackage = _useState2[1];
1268
+
1269
+ var packageLoader = packagesMap[locale] || null;
1270
+ React.useEffect(function () {
1271
+ var canceled = false;
1272
+
1273
+ if (loadedPackage !== null || packageLoader === null) {
1274
+ return function () {
1275
+ canceled = true;
1276
+ };
1277
+ }
1278
+
1279
+ packageLoader().then(function (_ref2) {
1280
+ var dep = _ref2["default"];
1281
+
1282
+ // packagesCache[locale] = dep;
1283
+ if (!canceled) {
1284
+ setLoadedPackage({
1285
+ "package": dep
1286
+ });
1287
+ }
1288
+ });
1289
+ return function () {
1290
+ canceled = true;
1291
+ };
1292
+ }, [packageLoader, loadedPackage, setLoadedPackage]);
1293
+ return loadedPackage;
1294
+ };
1295
+
1296
+ var _excluded$2 = ["default"];
1297
+ /**
1298
+ * Locale loader
1299
+ */
1300
+
1301
+ var packagesCache$1 = {};
1302
+ var defaultPackagesMap$1 = {
1303
+ webcam: function webcam() {
1304
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/webcam')); });
1305
+ },
1306
+ facebook: function facebook() {
1307
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/facebook')); });
1308
+ },
1309
+ instagram: function instagram() {
1310
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/instagram')); });
1311
+ },
1312
+ dropbox: function dropbox() {
1313
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/dropbox')); });
1314
+ },
1315
+ 'google-drive': function googleDrive() {
1316
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/google-drive')); });
1317
+ }
1318
+ };
1319
+
1320
+ var useUppySources = function useUppySources(sources) {
1321
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1322
+ _ref$packagesMap = _ref.packagesMap,
1323
+ packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$1 : _ref$packagesMap;
1324
+
1325
+ // transport
1326
+ var _useState = React.useState({
1327
+ packages: sources.reduce(function (map, source) {
1328
+ var sourcePackage = packagesCache$1[source] || null;
1329
+
1330
+ if (sourcePackage === null) {
1331
+ return map;
1332
+ }
1333
+
1334
+ return _objectSpread__default["default"](_objectSpread__default["default"]({}, map), {}, _defineProperty__default["default"]({}, source, sourcePackage));
1335
+ }, null)
1336
+ }),
1337
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
1338
+ loadedPackages = _useState2[0].packages,
1339
+ setLoadedPackages = _useState2[1];
1340
+
1341
+ var sourcesToLoad = React.useMemo(function () {
1342
+ if (loadedPackages === null) {
1343
+ return sources;
1344
+ }
1345
+
1346
+ var sourcesLoaded = Object.keys(loadedPackages);
1347
+ return sources.filter(function (source) {
1348
+ return sourcesLoaded.indexOf(source) === -1;
1349
+ });
1350
+ }, [sources, loadedPackages]);
1351
+ React.useEffect(function () {
1352
+ var canceled = false;
1353
+
1354
+ if (sourcesToLoad.length === 0) {
1355
+ return function () {
1356
+ canceled = true;
1357
+ };
1358
+ }
1359
+
1360
+ Promise.all(sourcesToLoad.map(function (source) {
1361
+ return packagesMap[source] || null;
1362
+ }).filter(function (it) {
1363
+ return it !== null;
1364
+ }).map(function (promise) {
1365
+ return promise();
1366
+ })).then(function (packagesLoaded) {
1367
+ var newLoadedPackages = sourcesToLoad.reduce(function (map, source, index) {
1368
+ var _packagesLoaded$index = packagesLoaded[index],
1369
+ pack = _packagesLoaded$index["default"],
1370
+ others = _objectWithoutProperties__default["default"](_packagesLoaded$index, _excluded$2);
1371
+
1372
+ return _objectSpread__default["default"](_objectSpread__default["default"]({}, map), {}, _defineProperty__default["default"]({}, source, Object.keys(others).reduce(function (otherMap, key) {
1373
+ otherMap[key] = others[key]; // eslint-disable-line no-param-reassign
1374
+
1375
+ return otherMap;
1376
+ }, pack)));
1377
+ }, {});
1378
+ packagesCache$1 = _objectSpread__default["default"](_objectSpread__default["default"]({}, packagesCache$1), newLoadedPackages);
1379
+
1380
+ if (!canceled) {
1381
+ setLoadedPackages({
1382
+ packages: newLoadedPackages
1383
+ });
1384
+ }
1385
+ });
1386
+ return function () {
1387
+ canceled = true;
1388
+ };
1389
+ }, [sourcesToLoad, packagesMap, loadedPackages, setLoadedPackages]);
1390
+ return sourcesToLoad.length === 0 ? loadedPackages : null;
1391
+ };
1392
+
1393
+ var _excluded$1 = ["default"];
1394
+ /**
1395
+ * Locale loader
1396
+ */
1397
+
1398
+ var packagesCache = {};
1399
+ var defaultPackagesMap = {
1400
+ transloadit: function transloadit() {
1401
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/transloadit')); });
1402
+ },
1403
+ tus: function tus() {
1404
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/tus')); });
1405
+ },
1406
+ xhr: function xhr() {
1407
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/xhr-upload')); });
1408
+ }
1409
+ };
1410
+
1411
+ var useUppyTransport = function useUppyTransport(transport) {
1412
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1413
+ _ref$packagesMap = _ref.packagesMap,
1414
+ packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap : _ref$packagesMap;
1415
+
1416
+ // transport
1417
+ var _useState = React.useState({
1418
+ "package": packagesCache[transport] || null
1419
+ }),
1420
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
1421
+ loadedPackage = _useState2[0]["package"],
1422
+ setLoadedPackage = _useState2[1];
1423
+
1424
+ var packageLoader = packagesMap[transport] || null;
1425
+ React.useEffect(function () {
1426
+ var canceled = false;
1427
+
1428
+ if (loadedPackage !== null || packageLoader === null) {
1429
+ return function () {
1430
+ canceled = true;
1431
+ };
1432
+ }
1433
+
1434
+ packageLoader().then(function (_ref2) {
1435
+ var pack = _ref2["default"],
1436
+ others = _objectWithoutProperties__default["default"](_ref2, _excluded$1);
1437
+
1438
+ var dep = Object.keys(others).reduce(function (map, key) {
1439
+ map[key] = others[key]; // eslint-disable-line no-param-reassign
1440
+
1441
+ return map;
1442
+ }, pack);
1443
+ packagesCache[transport] = dep;
1444
+
1445
+ if (!canceled) {
1446
+ setLoadedPackage({
1447
+ "package": dep
1448
+ });
1449
+ }
1450
+ });
1451
+ return function () {
1452
+ canceled = true;
1453
+ };
1454
+ }, [packageLoader, loadedPackage, setLoadedPackage]);
1455
+ return loadedPackage;
1456
+ };
1457
+
1458
+ var convertToMedia = function convertToMedia(it) {
1459
+ // console.log('upload', it);
1460
+ var type = it.data.type.split('/')[0];
1461
+ var thumbnail = it.transloadit["".concat(type, "_thumbnail")] || null;
1462
+ var original = it.transloadit["".concat(type, "_original")] || null;
1463
+ return {
1464
+ handle: it.id,
1465
+ type: type,
1466
+ name: it.meta.name,
1467
+ mime: it.data.type,
1468
+ size: it.data.size,
1469
+ url: original !== null ? original.ssl_url || original.url : null,
1470
+ thumbnail_url: thumbnail !== null ? thumbnail.ssl_url || thumbnail.url : null,
1471
+ metadata: _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, original !== null ? original.meta || null : null), it.meta.user ? {
1472
+ user: it.meta.user
1473
+ } || null : null), {}, {
1474
+ filename: it.meta.filename,
1475
+ transloadit: it.transloadit.results || null
1476
+ })
1477
+ };
1478
+ };
1479
+
1480
+ var getTransloaditMediasFromResponse = function getTransloaditMediasFromResponse(response) {
1481
+ return response.successful.map(function (it) {
1482
+ var transloadit = response.transloadit.find(function (subIt) {
1483
+ return subIt.assembly_id === it.transloadit.assembly;
1484
+ }) || null;
1485
+ var results = transloadit !== null ? transloadit.results || null : null;
1486
+ return _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
1487
+ transloadit: results !== null ? Object.keys(results).reduce(function (map, resultKey) {
1488
+ var result = results[resultKey].find(function (itResult) {
1489
+ return itResult.name === it.name;
1490
+ });
1491
+ return result !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, map), {}, _defineProperty__default["default"]({}, resultKey, result)) : map;
1492
+ }, null) : null
1493
+ });
1494
+ }).filter(function (it) {
1495
+ return it.transloadit !== null;
1496
+ }).map(function (it) {
1497
+ return convertToMedia(it);
1498
+ });
1499
+ };
1500
+
1501
+ var _excluded = ["sources"],
1502
+ _excluded2 = ["key", "templateId", "waitForEncoding"];
1503
+ var UppyContext = /*#__PURE__*/React__default["default"].createContext(null);
1504
+ var useUppy = function useUppy() {
1505
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1506
+ _ref$onComplete = _ref.onComplete,
1507
+ onComplete = _ref$onComplete === void 0 ? null : _ref$onComplete,
1508
+ _ref$onFail = _ref.onFail,
1509
+ onFail = _ref$onFail === void 0 ? null : _ref$onFail,
1510
+ _ref$getFileName = _ref.getFileName,
1511
+ getFileName = _ref$getFileName === void 0 ? function (_ref2) {
1512
+ var _ref2$extension = _ref2.extension,
1513
+ extension = _ref2$extension === void 0 ? null : _ref2$extension;
1514
+ return "".concat(uuid.v1()).concat(extension !== null ? ".".concat(extension) : '');
1515
+ } : _ref$getFileName,
1516
+ _ref$meta = _ref.meta,
1517
+ meta = _ref$meta === void 0 ? null : _ref$meta,
1518
+ _ref$allowMultipleUpl = _ref.allowMultipleUploads,
1519
+ allowMultipleUploads = _ref$allowMultipleUpl === void 0 ? false : _ref$allowMultipleUpl,
1520
+ _ref$maxNumberOfFiles = _ref.maxNumberOfFiles,
1521
+ maxNumberOfFiles = _ref$maxNumberOfFiles === void 0 ? 1 : _ref$maxNumberOfFiles,
1522
+ _ref$allowedFileTypes = _ref.allowedFileTypes,
1523
+ allowedFileTypes = _ref$allowedFileTypes === void 0 ? null : _ref$allowedFileTypes,
1524
+ _ref$autoProceed = _ref.autoProceed,
1525
+ autoProceed = _ref$autoProceed === void 0 ? false : _ref$autoProceed,
1526
+ _ref$debug = _ref.debug,
1527
+ debug = _ref$debug === void 0 ? false : _ref$debug;
1528
+
1529
+ var _ref3 = React.useContext(UppyContext) || null,
1530
+ buildUppy = _ref3.buildUppy,
1531
+ transport = _ref3.transport;
1532
+
1533
+ var uppy = React.useMemo(function () {
1534
+ return buildUppy !== null ? buildUppy({
1535
+ meta: meta,
1536
+ allowMultipleUploads: allowMultipleUploads,
1537
+ restrictions: {
1538
+ maxNumberOfFiles: maxNumberOfFiles,
1539
+ allowedFileTypes: allowedFileTypes
1540
+ },
1541
+ autoProceed: autoProceed,
1542
+ debug: debug
1543
+ }) : null;
1544
+ }, [buildUppy, meta, allowMultipleUploads, debug, maxNumberOfFiles, allowedFileTypes, autoProceed]);
1545
+ React.useEffect(function () {
1546
+ if (uppy === null) {
1547
+ return function () {};
1548
+ }
1549
+
1550
+ var onUppyComplete = function onUppyComplete(response) {
1551
+ var _response$successful = response.successful,
1552
+ successful = _response$successful === void 0 ? [] : _response$successful,
1553
+ _response$failed = response.failed,
1554
+ failed = _response$failed === void 0 ? null : _response$failed;
1555
+ var finalSuccessful = transport === 'transloadit' ? getTransloaditMediasFromResponse(response) : successful;
1556
+
1557
+ if (onComplete !== null) {
1558
+ onComplete(finalSuccessful);
1559
+ }
1560
+
1561
+ if (onFail !== null) {
1562
+ onFail(failed);
1563
+ }
1564
+ };
1565
+
1566
+ uppy.on('complete', onUppyComplete);
1567
+ return function () {
1568
+ uppy.off('complete', onUppyComplete);
1569
+ };
1570
+ }, [uppy, transport, onComplete]);
1571
+ React.useEffect(function () {
1572
+ if (uppy === null) {
1573
+ return function () {};
1574
+ }
1575
+
1576
+ var onUpload = function onUpload(_ref4) {
1577
+ var _ref4$fileIDs = _ref4.fileIDs,
1578
+ ids = _ref4$fileIDs === void 0 ? [] : _ref4$fileIDs;
1579
+ ids.forEach(function (id) {
1580
+ var file = uppy.getFile(id);
1581
+ var newName = getFileName(file);
1582
+
1583
+ if (newName !== null) {
1584
+ uppy.setFileMeta(id, {
1585
+ name: newName
1586
+ });
1587
+ }
1588
+ });
1589
+ };
1590
+
1591
+ uppy.on('upload', onUpload);
1592
+ return function () {
1593
+ uppy.off('upload', onUpload);
1594
+ };
1595
+ }, [uppy]);
1596
+ React.useEffect(function () {
1597
+ return function () {
1598
+ if (uppy !== null) {
1599
+ uppy.close();
1600
+ }
1601
+ };
1602
+ }, [uppy]);
1603
+ return uppy;
1604
+ };
1605
+ var propTypes = {
1606
+ id: PropTypes__default["default"].string,
1607
+ children: PropTypes__default["default"].node.isRequired,
1608
+ transport: PropTypes__default["default"].oneOf(['xhr', 'transloadit', 'tus']),
1609
+ locale: PropTypes__default["default"].string,
1610
+ sources: PropTypes__default["default"].arrayOf(PropTypes__default["default"].oneOf(['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'])),
1611
+ transloadit: PropTypes__default["default"].shape({
1612
+ key: PropTypes__default["default"].string.isRequired,
1613
+ templateId: PropTypes__default["default"].string,
1614
+ waitForEncoding: PropTypes__default["default"].bool
1615
+ }),
1616
+ companion: PropTypes__default["default"].shape({
1617
+ url: PropTypes__default["default"].string.isRequired,
1618
+ allowedHosts: PropTypes__default["default"].string.isRequired
1619
+ }),
1620
+ tus: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].shape({
1621
+ endpoint: PropTypes__default["default"].string.isRequired
1622
+ })]),
1623
+ xhr: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].shape({
1624
+ endpoint: PropTypes__default["default"].string.isRequired
1625
+ })])
1626
+ };
1627
+ var defaultProps = {
1628
+ id: 'uppy',
1629
+ transport: null,
1630
+ locale: null,
1631
+ sources: null,
1632
+ transloadit: null,
1633
+ companion: null,
1634
+ tus: null,
1635
+ xhr: null
1636
+ };
1637
+ var UppyProvider = function UppyProvider(_ref5) {
1638
+ var id = _ref5.id,
1639
+ children = _ref5.children,
1640
+ providedTransport = _ref5.transport,
1641
+ providedLocale = _ref5.locale,
1642
+ providedSources = _ref5.sources,
1643
+ providedTransloadit = _ref5.transloadit,
1644
+ providedCompanion = _ref5.companion,
1645
+ providedTus = _ref5.tus,
1646
+ providedXhr = _ref5.xhr;
1647
+
1648
+ var _useIntl = reactIntl.useIntl(),
1649
+ intlLocale = _useIntl.locale;
1650
+
1651
+ var _ref6 = React.useContext(UppyContext) || {},
1652
+ _ref6$transport = _ref6.transport,
1653
+ contextTransport = _ref6$transport === void 0 ? null : _ref6$transport,
1654
+ _ref6$locale = _ref6.locale,
1655
+ contextLocale = _ref6$locale === void 0 ? null : _ref6$locale,
1656
+ _ref6$sources = _ref6.sources,
1657
+ contextSources = _ref6$sources === void 0 ? null : _ref6$sources,
1658
+ _ref6$transloadit = _ref6.transloadit,
1659
+ contextTransloadit = _ref6$transloadit === void 0 ? null : _ref6$transloadit,
1660
+ _ref6$companion = _ref6.companion,
1661
+ contextCompanion = _ref6$companion === void 0 ? null : _ref6$companion,
1662
+ _ref6$tus = _ref6.tus,
1663
+ contextTus = _ref6$tus === void 0 ? null : _ref6$tus,
1664
+ _ref6$xhr = _ref6.xhr,
1665
+ contextXhr = _ref6$xhr === void 0 ? null : _ref6$xhr;
1666
+
1667
+ var transport = providedTransport || contextTransport || 'xhr';
1668
+ var locale = providedLocale || contextLocale || intlLocale;
1669
+ var sources = providedSources || contextSources || ['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'];
1670
+ var transloadit = providedTransloadit || contextTransloadit;
1671
+ var companion = providedCompanion || contextCompanion;
1672
+ var tus = providedTus || contextTus;
1673
+ var xhr = providedXhr || contextXhr;
1674
+ var Uppy = useUppyCore();
1675
+ var uppyTransport = useUppyTransport(transport);
1676
+ var uppySources = useUppySources(sources);
1677
+ var uppyLocale = useUppyLocale(locale || intlLocale);
1678
+ var buildUppy = React.useMemo(function () {
1679
+ if (Uppy === null || uppyLocale === null || uppyTransport === null || uppySources === null) {
1680
+ return null;
1681
+ }
1682
+
1683
+ return function () {
1684
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1685
+
1686
+ var _ref7 = opts || {},
1687
+ _ref7$sources = _ref7.sources,
1688
+ customSources = _ref7$sources === void 0 ? sources : _ref7$sources,
1689
+ uppyOpts = _objectWithoutProperties__default["default"](_ref7, _excluded);
1690
+
1691
+ var newUppy = new Uppy(_objectSpread__default["default"]({
1692
+ id: id,
1693
+ locale: uppyLocale
1694
+ }, uppyOpts));
1695
+
1696
+ if (transport === 'transloadit') {
1697
+ var key = transloadit.key,
1698
+ templateId = transloadit.templateId,
1699
+ _transloadit$waitForE = transloadit.waitForEncoding,
1700
+ waitForEncoding = _transloadit$waitForE === void 0 ? true : _transloadit$waitForE,
1701
+ transloaditOpts = _objectWithoutProperties__default["default"](transloadit, _excluded2);
1702
+
1703
+ newUppy.use(uppyTransport, {
1704
+ params: _objectSpread__default["default"]({
1705
+ auth: {
1706
+ key: key
1707
+ },
1708
+ template_id: templateId
1709
+ }, transloaditOpts),
1710
+ waitForEncoding: waitForEncoding
1711
+ });
1712
+ } else if (transport === 'tus') {
1713
+ newUppy.use(uppyTransport, _objectSpread__default["default"]({
1714
+ endpoint: '/tus',
1715
+ resume: true,
1716
+ retryDelays: [0, 1000, 3000, 5000]
1717
+ }, tus));
1718
+ } else if (transport === 'xhr') {
1719
+ newUppy.use(uppyTransport, _objectSpread__default["default"]({
1720
+ endpoint: isString__default["default"](xhr) ? xhr : '/upload'
1721
+ }, isObject__default["default"](xhr) ? xhr : null));
1722
+ }
1723
+
1724
+ if (transport === 'transloadit' || companion !== null) {
1725
+ return customSources.reduce(function (currentUppy, sourceId) {
1726
+ var source = uppySources[sourceId] || null;
1727
+
1728
+ if (source === null) {
1729
+ return currentUppy;
1730
+ }
1731
+
1732
+ var _ref8 = companion || {
1733
+ url: uppyTransport.COMPANION || null,
1734
+ allowedHosts: uppyTransport.COMPANION_PATTERN || null
1735
+ },
1736
+ companionUrl = _ref8.url,
1737
+ companionAllowedHosts = _ref8.allowedHosts;
1738
+
1739
+ return newUppy.use(source, {
1740
+ id: sourceId,
1741
+ companionUrl: companionUrl,
1742
+ companionAllowedHosts: companionAllowedHosts
1743
+ });
1744
+ }, newUppy);
1745
+ }
1746
+
1747
+ return newUppy;
1748
+ };
1749
+ }, [id, Uppy, uppyLocale, uppyTransport, uppySources, transport, sources, transloadit, companion, tus, xhr]);
1750
+ var value = React.useMemo(function () {
1751
+ return {
1752
+ id: id,
1753
+ transport: transport,
1754
+ locale: locale,
1755
+ sources: sources,
1756
+ transloadit: transloadit,
1757
+ companion: companion,
1758
+ tus: tus,
1759
+ xhr: xhr,
1760
+ Uppy: Uppy,
1761
+ uppyTransport: uppyTransport,
1762
+ uppySources: uppySources,
1763
+ uppyLocale: uppyLocale,
1764
+ buildUppy: buildUppy
1765
+ };
1766
+ }, [id, transport, locale, sources, transloadit, companion, tus, xhr, Uppy, uppyTransport, uppySources, uppyLocale, buildUppy]);
1767
+ return /*#__PURE__*/React__default["default"].createElement(UppyContext.Provider, {
1768
+ value: value
1769
+ }, children);
1770
+ };
1771
+ UppyProvider.propTypes = propTypes;
1772
+ UppyProvider.defaultProps = defaultProps;
1773
+
1774
+ Object.defineProperty(exports, 'TrackingContext', {
1775
+ enumerable: true,
1776
+ get: function () { return tracking.TrackingContext; }
1777
+ });
1778
+ exports.APP_NAMESPACE = APP_NAMESPACE;
1779
+ exports.ComponentsContext = ComponentsContext;
1780
+ exports.ComponentsProvider = ComponentsProvider;
1781
+ exports.DISPLAYS_NAMESPACE = DISPLAYS_NAMESPACE;
1782
+ exports.DefinitionProvider = DefinitionProvider;
1783
+ exports.FIELDS_NAMESPACE = FIELDS_NAMESPACE;
1784
+ exports.FILTERS_NAMESPACE = FILTERS_NAMESPACE;
1785
+ exports.FORMS_NAMESPACE = FORMS_NAMESPACE;
1786
+ exports.FieldsContext = FieldsContext;
1787
+ exports.FieldsProvider = FieldsProvider;
1788
+ exports.FontsContext = FontsContext;
1789
+ exports.FontsProvider = FontsProvider;
1790
+ exports.FormProvider = FormProvider;
1791
+ exports.GoogleApiClientContext = GoogleApiClientContext;
1792
+ exports.GoogleApiClientProvider = GoogleApiClientProvider;
1793
+ exports.GoogleKeysContext = GoogleKeysContext;
1794
+ exports.GoogleKeysProvider = GoogleKeysProvider;
1795
+ exports.GoogleMapsClientContext = GoogleMapsClientContext;
1796
+ exports.GoogleMapsClientProvider = GoogleMapsClientProvider;
1797
+ exports.LISTS_NAMESPACE = LISTS_NAMESPACE;
1798
+ exports.LocalesContext = LocalesContext;
1799
+ exports.LocalesProvider = LocalesProvider;
1800
+ exports.MODALS_NAMESPACE = MODALS_NAMESPACE;
1801
+ exports.ModalsContext = ModalsContext;
1802
+ exports.ModalsProvider = ModalsProvider;
1803
+ exports.PanelsContext = PanelsContext;
1804
+ exports.PanelsProvider = PanelsProvider;
1805
+ exports.PanneauProvider = PanneauProvider;
1806
+ exports.ResourceProvider = ResourceProvider;
1807
+ exports.RoutesContext = RoutesContext;
1808
+ exports.RoutesProvider = RoutesProvider;
1809
+ exports.TrackingProvider = TrackingProvider;
1810
+ exports.UppyContext = UppyContext;
1811
+ exports.UppyProvider = UppyProvider;
1812
+ exports.useAppComponent = useAppComponent;
1813
+ exports.useAppComponents = useAppComponents;
1814
+ exports.useAppComponentsManager = useAppComponentsManager;
1815
+ exports.useComponent = useComponent;
1816
+ exports.useComponents = useComponents;
1817
+ exports.useComponentsManager = useComponentsManager;
1818
+ exports.useDefinition = useDefinition;
1819
+ exports.useDefinitionContext = useDefinitionContext;
1820
+ exports.useDisplayComponent = useDisplayComponent;
1821
+ exports.useDisplaysComponents = useDisplaysComponents;
1822
+ exports.useDisplaysComponentsManager = useDisplaysComponentsManager;
1823
+ exports.useField = useField;
1824
+ exports.useFieldComponent = useFieldComponent;
1825
+ exports.useFields = useFields;
1826
+ exports.useFieldsComponents = useFieldsComponents;
1827
+ exports.useFieldsComponentsManager = useFieldsComponentsManager;
1828
+ exports.useFieldsManager = useFieldsManager;
1829
+ exports.useFilterComponent = useFilterComponent;
1830
+ exports.useFiltersComponents = useFiltersComponents;
1831
+ exports.useFiltersComponentsManager = useFiltersComponentsManager;
1832
+ exports.useFonts = useFonts;
1833
+ exports.useForm = useForm;
1834
+ exports.useFormComponent = useFormComponent;
1835
+ exports.useFormSetValue = useFormSetValue;
1836
+ exports.useFormValue = useFormValue;
1837
+ exports.useFormsComponents = useFormsComponents;
1838
+ exports.useFormsComponentsManager = useFormsComponentsManager;
1839
+ exports.useGoogleApiClient = useGoogleApiClient;
1840
+ exports.useGoogleFonts = useGoogleFonts;
1841
+ exports.useGoogleKeys = useGoogleKeys;
1842
+ exports.useGoogleMapsClient = useGoogleMapsClient;
1843
+ exports.useListComponent = useListComponent;
1844
+ exports.useListsComponents = useListsComponents;
1845
+ exports.useListsComponentsManager = useListsComponentsManager;
1846
+ exports.useLocales = useLocales;
1847
+ exports.useModalComponent = useModalComponent;
1848
+ exports.useModals = useModals;
1849
+ exports.useModalsComponents = useModalsComponents;
1850
+ exports.useModalsComponentsManager = useModalsComponentsManager;
1851
+ exports.useOtherLocales = useOtherLocales;
1852
+ exports.usePanels = usePanels;
1853
+ exports.usePanneau = usePanneau;
1854
+ exports.usePanneauAuth = usePanneauAuth;
1855
+ exports.usePanneauColorScheme = usePanneauColorScheme;
1856
+ exports.usePanneauComponent = usePanneauComponent;
1857
+ exports.usePanneauComponents = usePanneauComponents;
1858
+ exports.usePanneauResource = usePanneauResource;
1859
+ exports.usePanneauResources = usePanneauResources;
1860
+ exports.usePanneauSettings = usePanneauSettings;
1861
+ exports.useResource = useResource;
1862
+ exports.useRouteBack = useRouteBack;
1863
+ exports.useRoutePush = useRoutePush;
1864
+ exports.useRoutes = useRoutes;
1865
+ exports.useTracking = useTracking;
1866
+ exports.useUppy = useUppy;
1867
+ exports.useUrlGenerator = useUrlGenerator;
1868
+ exports.withGoogleApiClient = withGoogleApiClient;
1869
+ exports.withGoogleMapsClient = withGoogleMapsClient;
1870
+ exports.withModals = withModals;
1871
+ exports.withPanels = withPanels;