@panneau/core 1.0.0-alpha.19 → 1.0.0-alpha.193

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/contexts.js CHANGED
@@ -10,13 +10,13 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
10
  import isObject from 'lodash/isObject';
11
11
  import { getJSON } from '@folklore/fetch';
12
12
  import { loadGoogleApi, loadGoogleMaps } from '@folklore/services';
13
+ import { useIntl } from 'react-intl';
13
14
  import { getDisplayName } from '@panneau/core/utils';
14
15
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
15
16
  import { generatePath, useHistory } from 'react-router';
16
17
  import { TrackingContext, TrackingContainer } from '@folklore/tracking';
17
18
  export { TrackingContext } from '@folklore/tracking';
18
19
  import { v1 } from 'uuid';
19
- import { useIntl } from 'react-intl';
20
20
 
21
21
  var MODALS_NAMESPACE = 'modals';
22
22
  var FIELDS_NAMESPACE = 'fields';
@@ -244,6 +244,7 @@ var routes = PropTypes.shape({
244
244
  'resources.show': PropTypes.string.isRequired,
245
245
  'resources.edit': PropTypes.string.isRequired,
246
246
  'resources.update': PropTypes.string.isRequired,
247
+ 'resources.delete': PropTypes.string.isRequired,
247
248
  'resources.destroy': PropTypes.string.isRequired
248
249
  });
249
250
  var intl = PropTypes.shape({
@@ -258,8 +259,9 @@ var pages = PropTypes.objectOf(page);
258
259
  var field = PropTypes.shape({
259
260
  // type: PropTypes.string.isRequired,
260
261
  name: PropTypes.isRequired,
261
- component: PropTypes.string.isRequired,
262
- label: PropTypes.isRequired
262
+ type: PropTypes.string,
263
+ component: PropTypes.string,
264
+ label: PropTypes.node
263
265
  });
264
266
  var fields = PropTypes.arrayOf(field);
265
267
  var form = PropTypes.shape({
@@ -270,11 +272,10 @@ var form = PropTypes.shape({
270
272
  PropTypes.arrayOf(form);
271
273
  var resource = PropTypes.shape({
272
274
  id: PropTypes.string.isRequired,
273
- label: PropTypes.string.isRequired,
275
+ name: PropTypes.string.isRequired,
274
276
  intl: intl,
275
277
  fields: fields,
276
278
  forms: PropTypes.shape({}),
277
- has_routes: PropTypes.bool,
278
279
  shows_in_navbar: PropTypes.bool
279
280
  });
280
281
  var resources = PropTypes.arrayOf(resource);
@@ -311,6 +312,11 @@ var formError = PropTypes.shape({
311
312
  message: PropTypes.string
312
313
  });
313
314
  PropTypes.arrayOf(formError);
315
+ PropTypes.shape({
316
+ tus: PropTypes.object
317
+ }); // eslint-disable-line
318
+
319
+ PropTypes.string;
314
320
 
315
321
  /* eslint-disable react/jsx-props-no-spreading */
316
322
  var DefinitionContext = /*#__PURE__*/React.createContext(null);
@@ -343,11 +349,11 @@ var FieldsContext = /*#__PURE__*/React.createContext(null);
343
349
  var useFieldsManager = function useFieldsManager() {
344
350
  return useContext(FieldsContext);
345
351
  };
346
- var useFieldDefinition = function useFieldDefinition(id) {
352
+ var useField = function useField(id) {
347
353
  var manager = useFieldsManager();
348
354
  return manager.getDefinition(id);
349
355
  };
350
- var useFieldDefinitions = function useFieldDefinitions() {
356
+ var useFields = function useFields() {
351
357
  var manager = useFieldsManager();
352
358
  return manager.getDefinitions();
353
359
  };
@@ -709,41 +715,43 @@ GoogleMapsClientProvider.propTypes = propTypes$8;
709
715
  GoogleMapsClientProvider.defaultProps = defaultProps$8;
710
716
 
711
717
  /* eslint-disable react/jsx-props-no-spreading */
712
- var LocalesContext = /*#__PURE__*/React.createContext(null);
713
- var useLocalesContext = function useLocalesContext() {
714
- return useContext(LocalesContext);
715
- };
716
- var useLocale = function useLocale() {
717
- var _useLocalesContext = useLocalesContext(),
718
- _useLocalesContext$lo = _useLocalesContext.locale,
719
- locale = _useLocalesContext$lo === void 0 ? null : _useLocalesContext$lo;
720
-
721
- return locale;
722
- };
718
+ var defaultLocales = ['en', 'fr'];
719
+ var LocalesContext = /*#__PURE__*/React.createContext({
720
+ locales: defaultLocales
721
+ });
723
722
  var useLocales = function useLocales() {
724
- var _useLocalesContext2 = useLocalesContext(),
725
- _useLocalesContext2$l = _useLocalesContext2.locales,
726
- locales = _useLocalesContext2$l === void 0 ? [] : _useLocalesContext2$l;
723
+ var _useContext = useContext(LocalesContext),
724
+ locales = _useContext.locales;
727
725
 
728
726
  return locales;
729
727
  };
728
+ var useOtherLocales = function useOtherLocales() {
729
+ var _useLocales = useLocales(),
730
+ locales = _useLocales.locales;
731
+
732
+ var _useIntl = useIntl(),
733
+ locale = _useIntl.locale;
734
+
735
+ var otherLocales = useMemo(function () {
736
+ return locales.filter(function (it) {
737
+ return it !== locale;
738
+ });
739
+ }, [locales, locale]);
740
+ return otherLocales;
741
+ };
730
742
  var propTypes$7 = {
731
743
  locales: PropTypes.arrayOf(PropTypes.string),
732
- locale: PropTypes.string,
733
744
  children: PropTypes.node.isRequired
734
745
  };
735
746
  var defaultProps$7 = {
736
- locales: [],
737
- locale: 'fr'
747
+ locales: []
738
748
  };
739
749
  var LocalesProvider = function LocalesProvider(_ref) {
740
750
  var locales = _ref.locales,
741
- locale = _ref.locale,
742
751
  children = _ref.children;
743
752
  return /*#__PURE__*/React.createElement(LocalesContext.Provider, {
744
753
  value: {
745
- locales: locales,
746
- locale: locale
754
+ locales: locales
747
755
  }
748
756
  }, children);
749
757
  };
@@ -1247,70 +1255,6 @@ var useUppyLocale = function useUppyLocale(locale) {
1247
1255
 
1248
1256
  var packagesCache$1 = {};
1249
1257
  var defaultPackagesMap$1 = {
1250
- transloadit: function transloadit() {
1251
- return import('@uppy/transloadit');
1252
- },
1253
- tus: function tus() {
1254
- return import('@uppy/tus');
1255
- },
1256
- xhr: function xhr() {
1257
- return import('@uppy/xhr-upload');
1258
- }
1259
- };
1260
-
1261
- var useUppyTransport = function useUppyTransport(transport) {
1262
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1263
- _ref$packagesMap = _ref.packagesMap,
1264
- packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$1 : _ref$packagesMap;
1265
-
1266
- // transport
1267
- var _useState = useState({
1268
- "package": packagesCache$1[transport] || null
1269
- }),
1270
- _useState2 = _slicedToArray(_useState, 2),
1271
- loadedPackage = _useState2[0]["package"],
1272
- setLoadedPackage = _useState2[1];
1273
-
1274
- var packageLoader = packagesMap[transport] || null;
1275
- useEffect(function () {
1276
- var canceled = false;
1277
-
1278
- if (loadedPackage !== null || packageLoader === null) {
1279
- return function () {
1280
- canceled = true;
1281
- };
1282
- }
1283
-
1284
- packageLoader().then(function (_ref2) {
1285
- var pack = _ref2["default"],
1286
- others = _objectWithoutProperties(_ref2, ["default"]);
1287
-
1288
- var dep = Object.keys(others).reduce(function (map, key) {
1289
- map[key] = others[key]; // eslint-disable-line no-param-reassign
1290
-
1291
- return map;
1292
- }, pack);
1293
- packagesCache$1[transport] = dep;
1294
-
1295
- if (!canceled) {
1296
- setLoadedPackage({
1297
- "package": dep
1298
- });
1299
- }
1300
- });
1301
- return function () {
1302
- canceled = true;
1303
- };
1304
- }, [packageLoader, loadedPackage, setLoadedPackage]);
1305
- return loadedPackage;
1306
- };
1307
-
1308
- /**
1309
- * Locale loader
1310
- */
1311
-
1312
- var packagesCache = {};
1313
- var defaultPackagesMap = {
1314
1258
  webcam: function webcam() {
1315
1259
  return import('@uppy/webcam');
1316
1260
  },
@@ -1331,12 +1275,12 @@ var defaultPackagesMap = {
1331
1275
  var useUppySources = function useUppySources(sources) {
1332
1276
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1333
1277
  _ref$packagesMap = _ref.packagesMap,
1334
- packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap : _ref$packagesMap;
1278
+ packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$1 : _ref$packagesMap;
1335
1279
 
1336
1280
  // transport
1337
1281
  var _useState = useState({
1338
1282
  packages: sources.reduce(function (map, source) {
1339
- var sourcePackage = packagesCache[source] || null;
1283
+ var sourcePackage = packagesCache$1[source] || null;
1340
1284
 
1341
1285
  if (sourcePackage === null) {
1342
1286
  return map;
@@ -1386,7 +1330,7 @@ var useUppySources = function useUppySources(sources) {
1386
1330
  return otherMap;
1387
1331
  }, pack)));
1388
1332
  }, {});
1389
- packagesCache = _objectSpread(_objectSpread({}, packagesCache), newLoadedPackages);
1333
+ packagesCache$1 = _objectSpread(_objectSpread({}, packagesCache$1), newLoadedPackages);
1390
1334
 
1391
1335
  if (!canceled) {
1392
1336
  setLoadedPackages({
@@ -1401,6 +1345,70 @@ var useUppySources = function useUppySources(sources) {
1401
1345
  return sourcesToLoad.length === 0 ? loadedPackages : null;
1402
1346
  };
1403
1347
 
1348
+ /**
1349
+ * Locale loader
1350
+ */
1351
+
1352
+ var packagesCache = {};
1353
+ var defaultPackagesMap = {
1354
+ transloadit: function transloadit() {
1355
+ return import('@uppy/transloadit');
1356
+ },
1357
+ tus: function tus() {
1358
+ return import('@uppy/tus');
1359
+ },
1360
+ xhr: function xhr() {
1361
+ return import('@uppy/xhr-upload');
1362
+ }
1363
+ };
1364
+
1365
+ var useUppyTransport = function useUppyTransport(transport) {
1366
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1367
+ _ref$packagesMap = _ref.packagesMap,
1368
+ packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap : _ref$packagesMap;
1369
+
1370
+ // transport
1371
+ var _useState = useState({
1372
+ "package": packagesCache[transport] || null
1373
+ }),
1374
+ _useState2 = _slicedToArray(_useState, 2),
1375
+ loadedPackage = _useState2[0]["package"],
1376
+ setLoadedPackage = _useState2[1];
1377
+
1378
+ var packageLoader = packagesMap[transport] || null;
1379
+ useEffect(function () {
1380
+ var canceled = false;
1381
+
1382
+ if (loadedPackage !== null || packageLoader === null) {
1383
+ return function () {
1384
+ canceled = true;
1385
+ };
1386
+ }
1387
+
1388
+ packageLoader().then(function (_ref2) {
1389
+ var pack = _ref2["default"],
1390
+ others = _objectWithoutProperties(_ref2, ["default"]);
1391
+
1392
+ var dep = Object.keys(others).reduce(function (map, key) {
1393
+ map[key] = others[key]; // eslint-disable-line no-param-reassign
1394
+
1395
+ return map;
1396
+ }, pack);
1397
+ packagesCache[transport] = dep;
1398
+
1399
+ if (!canceled) {
1400
+ setLoadedPackage({
1401
+ "package": dep
1402
+ });
1403
+ }
1404
+ });
1405
+ return function () {
1406
+ canceled = true;
1407
+ };
1408
+ }, [packageLoader, loadedPackage, setLoadedPackage]);
1409
+ return loadedPackage;
1410
+ };
1411
+
1404
1412
  var convertToMedia = function convertToMedia(it) {
1405
1413
  // console.log('upload', it);
1406
1414
  var type = it.data.type.split('/')[0];
@@ -1456,13 +1464,36 @@ var useUppy = function useUppy() {
1456
1464
  var _ref2$extension = _ref2.extension,
1457
1465
  extension = _ref2$extension === void 0 ? null : _ref2$extension;
1458
1466
  return "".concat(v1()).concat(extension !== null ? ".".concat(extension) : '');
1459
- } : _ref$getFileName;
1467
+ } : _ref$getFileName,
1468
+ _ref$meta = _ref.meta,
1469
+ meta = _ref$meta === void 0 ? null : _ref$meta,
1470
+ _ref$allowMultipleUpl = _ref.allowMultipleUploads,
1471
+ allowMultipleUploads = _ref$allowMultipleUpl === void 0 ? false : _ref$allowMultipleUpl,
1472
+ _ref$maxNumberOfFiles = _ref.maxNumberOfFiles,
1473
+ maxNumberOfFiles = _ref$maxNumberOfFiles === void 0 ? 1 : _ref$maxNumberOfFiles,
1474
+ _ref$allowedFileTypes = _ref.allowedFileTypes,
1475
+ allowedFileTypes = _ref$allowedFileTypes === void 0 ? null : _ref$allowedFileTypes,
1476
+ _ref$autoProceed = _ref.autoProceed,
1477
+ autoProceed = _ref$autoProceed === void 0 ? false : _ref$autoProceed,
1478
+ _ref$debug = _ref.debug,
1479
+ debug = _ref$debug === void 0 ? false : _ref$debug;
1460
1480
 
1461
1481
  var _ref3 = useContext(UppyContext) || null,
1462
- _ref3$uppy = _ref3.uppy,
1463
- uppy = _ref3$uppy === void 0 ? null : _ref3$uppy,
1482
+ buildUppy = _ref3.buildUppy,
1464
1483
  transport = _ref3.transport;
1465
1484
 
1485
+ var uppy = useMemo(function () {
1486
+ return buildUppy !== null ? buildUppy({
1487
+ meta: meta,
1488
+ allowMultipleUploads: allowMultipleUploads,
1489
+ restrictions: {
1490
+ maxNumberOfFiles: maxNumberOfFiles,
1491
+ allowedFileTypes: allowedFileTypes
1492
+ },
1493
+ autoProceed: autoProceed,
1494
+ debug: debug
1495
+ }) : null;
1496
+ }, [buildUppy, meta, allowMultipleUploads, debug, maxNumberOfFiles, allowedFileTypes, autoProceed]);
1466
1497
  useEffect(function () {
1467
1498
  if (uppy === null) {
1468
1499
  return function () {};
@@ -1514,6 +1545,13 @@ var useUppy = function useUppy() {
1514
1545
  uppy.off('upload', onUpload);
1515
1546
  };
1516
1547
  }, [uppy]);
1548
+ useEffect(function () {
1549
+ return function () {
1550
+ if (uppy !== null) {
1551
+ uppy.close();
1552
+ }
1553
+ };
1554
+ }, [uppy]);
1517
1555
  return uppy;
1518
1556
  };
1519
1557
  var propTypes = {
@@ -1521,11 +1559,6 @@ var propTypes = {
1521
1559
  transport: PropTypes.oneOf(['xhr', 'transloadit', 'tus']),
1522
1560
  locale: PropTypes.string,
1523
1561
  sources: PropTypes.arrayOf(PropTypes.oneOf(['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'])),
1524
- meta: PropTypes.object,
1525
- // eslint-disable-line react/forbid-prop-types
1526
- maxNumberOfFiles: PropTypes.number,
1527
- allowedFileTypes: PropTypes.arrayOf(PropTypes.string),
1528
- autoProceed: PropTypes.bool,
1529
1562
  transloadit: PropTypes.shape({
1530
1563
  key: PropTypes.string.isRequired,
1531
1564
  templateId: PropTypes.string,
@@ -1543,13 +1576,9 @@ var propTypes = {
1543
1576
  })])
1544
1577
  };
1545
1578
  var defaultProps = {
1546
- transport: 'xhr',
1579
+ transport: null,
1547
1580
  locale: null,
1548
- sources: ['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'],
1549
- meta: null,
1550
- maxNumberOfFiles: 30,
1551
- allowedFileTypes: null,
1552
- autoProceed: false,
1581
+ sources: null,
1553
1582
  transloadit: null,
1554
1583
  companion: null,
1555
1584
  tus: null,
@@ -1557,113 +1586,133 @@ var defaultProps = {
1557
1586
  };
1558
1587
  var UppyProvider = function UppyProvider(_ref5) {
1559
1588
  var children = _ref5.children,
1560
- transport = _ref5.transport,
1561
- locale = _ref5.locale,
1562
- sources = _ref5.sources,
1563
- meta = _ref5.meta,
1564
- maxNumberOfFiles = _ref5.maxNumberOfFiles,
1565
- allowedFileTypes = _ref5.allowedFileTypes,
1566
- autoProceed = _ref5.autoProceed,
1567
- transloadit = _ref5.transloadit,
1568
- companion = _ref5.companion,
1569
- tus = _ref5.tus,
1570
- xhr = _ref5.xhr;
1571
- var previousUppyContext = useContext(UppyContext) || null;
1572
- var uppyAlreadyExists = previousUppyContext !== null;
1573
- var Uppy = useUppyCore();
1574
- var uppyTransport = useUppyTransport(transport);
1575
- var uppySources = useUppySources(sources);
1589
+ providedTransport = _ref5.transport,
1590
+ providedLocale = _ref5.locale,
1591
+ providedSources = _ref5.sources,
1592
+ providedTransloadit = _ref5.transloadit,
1593
+ providedCompanion = _ref5.companion,
1594
+ providedTus = _ref5.tus,
1595
+ providedXhr = _ref5.xhr;
1576
1596
 
1577
1597
  var _useIntl = useIntl(),
1578
1598
  intlLocale = _useIntl.locale;
1579
1599
 
1600
+ var _ref6 = useContext(UppyContext) || {},
1601
+ _ref6$transport = _ref6.transport,
1602
+ contextTransport = _ref6$transport === void 0 ? null : _ref6$transport,
1603
+ _ref6$locale = _ref6.locale,
1604
+ contextLocale = _ref6$locale === void 0 ? null : _ref6$locale,
1605
+ _ref6$sources = _ref6.sources,
1606
+ contextSources = _ref6$sources === void 0 ? null : _ref6$sources,
1607
+ _ref6$transloadit = _ref6.transloadit,
1608
+ contextTransloadit = _ref6$transloadit === void 0 ? null : _ref6$transloadit,
1609
+ _ref6$companion = _ref6.companion,
1610
+ contextCompanion = _ref6$companion === void 0 ? null : _ref6$companion,
1611
+ _ref6$tus = _ref6.tus,
1612
+ contextTus = _ref6$tus === void 0 ? null : _ref6$tus,
1613
+ _ref6$xhr = _ref6.xhr,
1614
+ contextXhr = _ref6$xhr === void 0 ? null : _ref6$xhr;
1615
+
1616
+ var transport = providedTransport || contextTransport || 'xhr';
1617
+ var locale = providedLocale || contextLocale || intlLocale;
1618
+ var sources = providedSources || contextSources || ['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'];
1619
+ var transloadit = providedTransloadit || contextTransloadit;
1620
+ var companion = providedCompanion || contextCompanion;
1621
+ var tus = providedTus || contextTus;
1622
+ var xhr = providedXhr || contextXhr;
1623
+ var Uppy = useUppyCore();
1624
+ var uppyTransport = useUppyTransport(transport);
1625
+ var uppySources = useUppySources(sources);
1580
1626
  var uppyLocale = useUppyLocale(locale || intlLocale);
1581
- var uppy = useMemo(function () {
1582
- if (uppyAlreadyExists || Uppy === null || uppyLocale === null || uppyTransport === null || uppySources === null) {
1627
+ var buildUppy = useMemo(function () {
1628
+ if (Uppy === null || uppyLocale === null || uppyTransport === null || uppySources === null) {
1583
1629
  return null;
1584
1630
  }
1585
1631
 
1586
- var newUppy = new Uppy({
1587
- meta: meta,
1588
- restrictions: {
1589
- maxNumberOfFiles: maxNumberOfFiles,
1590
- allowedFileTypes: allowedFileTypes
1591
- },
1592
- autoProceed: autoProceed,
1593
- locale: uppyLocale
1594
- });
1595
-
1596
- if (transport === 'transloadit') {
1597
- var key = transloadit.key,
1598
- templateId = transloadit.templateId,
1599
- _transloadit$waitForE = transloadit.waitForEncoding,
1600
- waitForEncoding = _transloadit$waitForE === void 0 ? true : _transloadit$waitForE,
1601
- opts = _objectWithoutProperties(transloadit, ["key", "templateId", "waitForEncoding"]);
1602
-
1603
- newUppy.use(uppyTransport, {
1604
- params: _objectSpread({
1605
- auth: {
1606
- key: key
1607
- },
1608
- template_id: templateId
1609
- }, opts),
1610
- waitForEncoding: waitForEncoding
1611
- });
1612
- } else if (transport === 'tus') {
1613
- newUppy.use(uppyTransport, _objectSpread({
1614
- endpoint: '/tus',
1615
- resume: true,
1616
- retryDelays: [0, 1000, 3000, 5000]
1617
- }, tus));
1618
- } else if (transport === 'xhr') {
1619
- newUppy.use(uppyTransport, _objectSpread({
1620
- endpoint: isString(xhr) ? xhr : '/upload'
1621
- }, isObject(xhr) ? xhr : null));
1622
- }
1632
+ return function () {
1633
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1634
+
1635
+ var _ref7 = opts || {},
1636
+ _ref7$sources = _ref7.sources,
1637
+ customSources = _ref7$sources === void 0 ? sources : _ref7$sources,
1638
+ uppyOpts = _objectWithoutProperties(_ref7, ["sources"]);
1639
+
1640
+ var newUppy = new Uppy(_objectSpread({
1641
+ locale: uppyLocale
1642
+ }, uppyOpts));
1643
+
1644
+ if (transport === 'transloadit') {
1645
+ var key = transloadit.key,
1646
+ templateId = transloadit.templateId,
1647
+ _transloadit$waitForE = transloadit.waitForEncoding,
1648
+ waitForEncoding = _transloadit$waitForE === void 0 ? true : _transloadit$waitForE,
1649
+ transloaditOpts = _objectWithoutProperties(transloadit, ["key", "templateId", "waitForEncoding"]);
1650
+
1651
+ newUppy.use(uppyTransport, {
1652
+ params: _objectSpread({
1653
+ auth: {
1654
+ key: key
1655
+ },
1656
+ template_id: templateId
1657
+ }, transloaditOpts),
1658
+ waitForEncoding: waitForEncoding
1659
+ });
1660
+ } else if (transport === 'tus') {
1661
+ newUppy.use(uppyTransport, _objectSpread({
1662
+ endpoint: '/tus',
1663
+ resume: true,
1664
+ retryDelays: [0, 1000, 3000, 5000]
1665
+ }, tus));
1666
+ } else if (transport === 'xhr') {
1667
+ newUppy.use(uppyTransport, _objectSpread({
1668
+ endpoint: isString(xhr) ? xhr : '/upload'
1669
+ }, isObject(xhr) ? xhr : null));
1670
+ }
1623
1671
 
1624
- if (transport === 'transloadit' || companion !== null) {
1625
- newUppy = sources.reduce(function (currentUppy, sourceId) {
1626
- var source = uppySources[sourceId] || null;
1672
+ if (transport === 'transloadit' || companion !== null) {
1673
+ return customSources.reduce(function (currentUppy, sourceId) {
1674
+ var source = uppySources[sourceId] || null;
1627
1675
 
1628
- if (source === null) {
1629
- return currentUppy;
1630
- }
1676
+ if (source === null) {
1677
+ return currentUppy;
1678
+ }
1631
1679
 
1632
- var _ref6 = companion || {
1633
- url: uppyTransport.COMPANION || null,
1634
- allowedHosts: uppyTransport.COMPANION_PATTERN || null
1635
- },
1636
- companionUrl = _ref6.url,
1637
- companionAllowedHosts = _ref6.allowedHosts;
1638
-
1639
- return newUppy.use(source, {
1640
- id: sourceId,
1641
- companionUrl: companionUrl,
1642
- companionAllowedHosts: companionAllowedHosts
1643
- });
1644
- }, newUppy);
1645
- }
1680
+ var _ref8 = companion || {
1681
+ url: uppyTransport.COMPANION || null,
1682
+ allowedHosts: uppyTransport.COMPANION_PATTERN || null
1683
+ },
1684
+ companionUrl = _ref8.url,
1685
+ companionAllowedHosts = _ref8.allowedHosts;
1646
1686
 
1647
- return newUppy;
1648
- }, [uppyAlreadyExists, Uppy, uppyLocale, uppyTransport, uppySources, meta, maxNumberOfFiles, allowedFileTypes, autoProceed, transport, transloadit, tus, companion, sources]);
1649
- useEffect(function () {
1650
- return function () {
1651
- if (uppy !== null) {
1652
- uppy.close();
1687
+ return newUppy.use(source, {
1688
+ id: sourceId,
1689
+ companionUrl: companionUrl,
1690
+ companionAllowedHosts: companionAllowedHosts
1691
+ });
1692
+ }, newUppy);
1653
1693
  }
1694
+
1695
+ return newUppy;
1654
1696
  };
1655
- }, [uppy]);
1656
- var finalUppyContext = useMemo(function () {
1657
- return previousUppyContext || {
1658
- uppy: uppy,
1659
- transport: transport
1660
- };
1661
- }, [previousUppyContext, uppy, transport]);
1697
+ }, [Uppy, uppyLocale, uppyTransport, uppySources, transport, sources, transloadit, companion, tus, xhr]);
1662
1698
  return /*#__PURE__*/React.createElement(UppyContext.Provider, {
1663
- value: finalUppyContext
1699
+ value: {
1700
+ transport: transport,
1701
+ locale: locale,
1702
+ sources: sources,
1703
+ transloadit: transloadit,
1704
+ companion: companion,
1705
+ tus: tus,
1706
+ xhr: xhr,
1707
+ Uppy: Uppy,
1708
+ uppyTransport: uppyTransport,
1709
+ uppySources: uppySources,
1710
+ uppyLocale: uppyLocale,
1711
+ buildUppy: buildUppy
1712
+ }
1664
1713
  }, children);
1665
1714
  };
1666
1715
  UppyProvider.propTypes = propTypes;
1667
1716
  UppyProvider.defaultProps = defaultProps;
1668
1717
 
1669
- export { APP_NAMESPACE, ComponentsContext, ComponentsProvider, DISPLAYS_NAMESPACE, DefinitionProvider, FIELDS_NAMESPACE, FILTERS_NAMESPACE, FORMS_NAMESPACE, FieldsContext, FieldsProvider, FontsContext, FontsProvider, FormProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, LISTS_NAMESPACE, LocalesProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PanneauProvider, ResourceProvider, RoutesContext, RoutesProvider, TrackingProvider, UppyContext, UppyProvider, useAppComponent, useAppComponents, useAppComponentsManager, useComponent, useComponents, useComponentsManager, useDefinition, useDefinitionContext, useDisplayComponent, useDisplaysComponents, useDisplaysComponentsManager, useFieldComponent, useFieldDefinition, useFieldDefinitions, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFilterComponent, useFiltersComponents, useFiltersComponentsManager, useFonts, useForm, useFormComponent, useFormSetValue, useFormValue, useFormsComponents, useFormsComponentsManager, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useListComponent, useListsComponents, useListsComponentsManager, useLocale, useLocales, useLocalesContext, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, usePanneau, usePanneauAuth, usePanneauColorScheme, usePanneauComponent, usePanneauComponents, usePanneauResource, usePanneauResources, usePanneauSettings, useResource, useRouteBack, useRoutePush, useRoutes, useTracking, useUppy, useUrlGenerator, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
1718
+ export { APP_NAMESPACE, ComponentsContext, ComponentsProvider, DISPLAYS_NAMESPACE, DefinitionProvider, FIELDS_NAMESPACE, FILTERS_NAMESPACE, FORMS_NAMESPACE, FieldsContext, FieldsProvider, FontsContext, FontsProvider, FormProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, LISTS_NAMESPACE, LocalesContext, LocalesProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PanneauProvider, ResourceProvider, RoutesContext, RoutesProvider, TrackingProvider, UppyContext, UppyProvider, useAppComponent, useAppComponents, useAppComponentsManager, useComponent, useComponents, useComponentsManager, useDefinition, useDefinitionContext, useDisplayComponent, useDisplaysComponents, useDisplaysComponentsManager, useField, useFieldComponent, useFields, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFilterComponent, useFiltersComponents, useFiltersComponentsManager, useFonts, useForm, useFormComponent, useFormSetValue, useFormValue, useFormsComponents, useFormsComponentsManager, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useListComponent, useListsComponents, useListsComponentsManager, useLocales, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, useOtherLocales, usePanels, usePanneau, usePanneauAuth, usePanneauColorScheme, usePanneauComponent, usePanneauComponents, usePanneauResource, usePanneauResources, usePanneauSettings, useResource, useRouteBack, useRoutePush, useRoutes, useTracking, useUppy, useUrlGenerator, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };